diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..2cffb1ec3f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,40 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/php +{ + "name": "PHP", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/php:1-8.4-bullseye", + + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/github-cli:1": {}, + "ghcr.io/devcontainers/features/node:2": {} + }, + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + "extensions": [ + "DEVSENSE.composer-php-vscode", + "editorconfig.editorconfig", + "ms-vscode.makefile-tools" + ] + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [ + 8080 + ], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "sudo .devcontainer/post-create.sh && sudo chmod a+x \"$(pwd)\" && sudo ln -s \"$(pwd)\" /var/www/html", + "waitFor": "postCreateCommand", + "postAttachCommand": { + "Server": "apache2ctl start" + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh new file mode 100755 index 0000000000..c7161b9344 --- /dev/null +++ b/.devcontainer/post-create.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +test -f composer.json && composer install + +sed -i 's/Listen 80$//' /etc/apache2/ports.conf \ + && sed -i 's//ServerName 127.0.0.1\n/' /etc/apache2/sites-enabled/000-default.conf \ + && rm -rf /var/www/html diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..96497cb17d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.js] +indent_size = 2 +indent_style = space + +[*.yaml] +indent_size = 2 +indent_style = space + +[Makefile] +indent_size = 4 +indent_style = tab diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..0f4fe64008 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# iCalendar needs CRLF line endings, Git index and working tree will have CRLF +/backend/events/* -text diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..9919274261 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @saundefined @sy-records @sgolemon @derickr diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000000..28456451f9 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,166 @@ +# CONTRIBUTING + +Anybody who programs in PHP can be a contributing member of the community that +develops and deploys www.php.net; the task of deploying the www.php.net website is a never-ending one. + +You don't need any special access to download, debug and begin submitting +code, tests or documentation. + +## Index + +* [Pull requests](#pull-requests) +* [Filing bugs](#filing-bugs) +* [Feature requests](#feature-requests) +* [Writing tests](#writing-tests) +* [Getting help](#getting-help) +* [Checklist for submitting contribution](#checklist-for-submitting-contribution) +* [What happens after submitting contribution?](#what-happens-after-submitting-contribution) +* [What happens when your contribution is applied?](#what-happens-when-your-contribution-is-applied) +* [Git commit rules](#git-commit-rules) + +## Pull requests + +www.php.net welcomes pull requests to [add tests](#writing-tests), fix bugs and to +implement features. Please be sure to include tests as appropriate! + +If your pull request exhibits conflicts with the base branch, please resolve +them by using `git rebase` instead of `git merge`. + +Fork the official www.php.net repository and send a pull request. A notification will be +sent to the pull request mailing list. Sending a note to [PHP php.net internal infrastructure discussion](mailto:php-webmaster@lists.php.net) may help getting more feedback and quicker turnaround. + +## Filing bugs + +Bugs can be filed on [GitHub Issues](https://github.com/php/web-php/issues). + +Where possible, please include a self-contained reproduction case! + +## Feature requests + +Feature requests can be filed on [GitHub Issues](https://github.com/php/web-php/issues). + +## Writing tests + +We love getting new tests! www.php.net is a fairly old project and improving test coverage is +a huge win for every www.php.net user. + +[Our QA site includes a page detailing how to write test cases.](https://qa.php.net/write-test.php) + +Submitting test scripts helps us to understand what functionality has changed. +It is important for the stability and maintainability of www.php.net that tests are +comprehensive. + +## Getting help + +If you are having trouble contributing to www.php.net, or just want to talk to a human +about what you're working on, you can contact us via the +[PHP php.net internal infrastructure discussion](mailto:php-webmaster@lists.php.net). + +## Checklist for submitting contribution + +- Update git source just before running your final `diff` and before testing. +- Create test scripts. +- Run + + ```shell + make tests + ``` + + to check your change doesn't break other features. +- Run + + ```shell + make coding-standards + ``` + + to automatically fix coding standard issues. +- Run + + ```shell + make static-analysis + ``` + + to run a static analysis or, if applicable, run + + ```shell + make static-analysis-baseline + ``` + + to regenerate the baseline. +- Review the change once more just before submitting it. + +## What happens after submitting contribution? + +If your change is easy to review and obviously has no side-effects, it might be +committed relatively quickly. + +Because www.php.net is a volunteer-driven effort, more complex changes will require +patience on your side. If you do not receive feedback in a few days, consider +bumping. Before doing this think about these questions: + +- Did I send the patch to the right mailing list? +- Did I review the mailing list archives to see if these kind of changes had + been discussed before? +- Did I explain my change clearly? +- Is my change too hard to review? If so, why? + +## What happens when your contribution is applied? + +Your name will likely be included in the Git commit log. + +## Git commit rules + +This section refers to contributors that have Git push access and make commit +changes themselves. We'll assume you're basically familiar with Git, but feel +free to post your questions on the mailing list. Please have a look at the more +detailed [information on Git](https://git-scm.com/). + +www.php.net is developed through the efforts of a large number of people. Collaboration +is a Good Thing(tm), and Git lets us do this. Thus, following some basic rules +with regards to Git usage will: + +- Make everybody happier, especially those responsible for maintaining the website. +- Keep the changes consistently well documented and easily trackable. +- Prevent some of those 'Oops' moments. +- Increase the general level of good will on planet Earth. + +Having said that, here are the organizational rules: + +1. Respect other people working on the project. + +2. Discuss any significant changes on the list before committing. + +3. If you "strongly disagree" about something another person did, don't start + fighting publicly - take it up in private email. + +4. If you don't know how to do something, ask first! + +5. Test your changes before committing them. We mean it. Really. To do so use + + ```shell + make tests + ``` + +5. Fix coding standard issues before committing code. To do so use + + ```shell + make coding-standards + ``` + +6. Run + + ```shell + make static-analysis + ``` + +to run a static analysis or, if applicable, run + + ```shell + make static-analysis-baseline + ``` + +to regenerate the baseline. + +7. Use reasonable commit messages. + +Thank you for contributing to https://www.php.net! diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 0000000000..47076371cf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,62 @@ +name: "Bug Report" +description: "Report a bug to help us improve" +labels: ["Bug", "Status: Needs Triage"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + Please provide as much detail as possible. + + - type: input + id: page_url + attributes: + label: Affected Page URL + description: The exact page address where the bug occurs + placeholder: e.g. https://www.php.net/manual/en/function.date.php + validations: + required: true + + - type: textarea + id: bug_description + attributes: + label: "Describe the bug" + description: "A clear and concise description of what the bug is." + placeholder: "Describe the issue here..." + validations: + required: true + + - type: textarea + id: steps_to_reproduce + attributes: + label: "Steps to reproduce" + description: "Explain how to reproduce the behavior." + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + validations: + required: true + + - type: textarea + id: expected_behavior + attributes: + label: "Expected behavior" + description: "What did you expect to happen?" + placeholder: "A clear and concise description..." + validations: + required: true + + - type: textarea + id: screenshots + attributes: + label: "Screenshots" + description: "If applicable, add screenshots to help explain your problem." + + - type: textarea + id: additional_context + attributes: + label: "Additional context" + description: "Add any other context about the problem here." diff --git a/.github/ISSUE_TEMPLATE/download-page.yml b/.github/ISSUE_TEMPLATE/download-page.yml new file mode 100644 index 0000000000..f0df85e84b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/download-page.yml @@ -0,0 +1,37 @@ +name: "Download Page" +description: "Suggest an idea for the downloads page" +labels: ["Page: downloads"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest an improvement or idea for the **Downloads Page**. + Please provide as much detail as possible so we can understand your suggestion. + Please **do not** use this issue tracker for reporting issues with installing PHP, as + this is not a support forum. Instead head to [our support page](https://www.php.net/support.php). + + - type: input + id: summary + attributes: + label: Summary + description: A brief description of your idea + placeholder: e.g. Add a new section for legacy downloads + validations: + required: true + + - type: textarea + id: details + attributes: + label: Details + description: Explain your idea in detail. What problem does it solve? How should it look or work? + placeholder: Write your detailed suggestion here... + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Additional context + description: Add any other context, screenshots, or references about the idea here. + placeholder: e.g. Related links, mockups, etc. diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000000..fb8b26f5f1 --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,40 @@ +# https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 + +updates: + - package-ecosystem: "composer" + allow: + - dependency-type: "development" + commit-message: + include: "scope" + prefix: "composer" + directory: "/" + labels: + - "dependency" + open-pull-requests-limit: 10 + schedule: + interval: "weekly" + versioning-strategy: "increase" + + - package-ecosystem: "github-actions" + commit-message: + include: "scope" + prefix: "github-actions" + directory: "/" + labels: + - "dependency" + open-pull-requests-limit: 10 + schedule: + interval: "weekly" + + - package-ecosystem: "devcontainers" + commit-message: + include: "scope" + prefix: "devcontainers" + directory: "/" + labels: + - "dependency" + open-pull-requests-limit: 10 + schedule: + interval: "weekly" diff --git a/.github/workflows/close-needs-feedback.yml b/.github/workflows/close-needs-feedback.yml new file mode 100644 index 0000000000..27231303f1 --- /dev/null +++ b/.github/workflows/close-needs-feedback.yml @@ -0,0 +1,24 @@ +name: Close old issues that need feedback + +on: + schedule: + - cron: "0 0 * * *" + +permissions: + contents: read + +jobs: + build: + if: github.repository_owner == 'php' + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - name: Close old issues that need feedback + uses: dwieeb/needs-reply@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-label: "Status: Needs Feedback" + days-before-close: 14 + close-message: "No feedback was provided. The issue is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so. Thank you." diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml new file mode 100644 index 0000000000..42103b874c --- /dev/null +++ b/.github/workflows/integrate.yaml @@ -0,0 +1,203 @@ +# https://docs.github.com/en/actions + +name: "Integrate" + +on: + pull_request: null + push: + branches: + - "master" + +jobs: + code-coverage: + name: "Code Coverage" + + runs-on: "ubuntu-latest" + + strategy: + matrix: + php-version: + - "8.4" + + steps: + - name: "Checkout" + uses: "actions/checkout@v7" + + - name: "Set up PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "xdebug" + extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv" + php-version: "${{ matrix.php-version }}" + + - name: "Set up problem matchers for PHP" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" + + - name: "Set up problem matchers for phpunit/phpunit" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" + + - name: "Determine composer cache directory" + run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV" + + - name: "Cache dependencies installed with composer" + uses: "actions/cache@v6" + with: + path: "${{ env.COMPOSER_CACHE_DIR }}" + key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-composer-" + + - name: "Install dependencies with composer" + run: "composer install --ansi --no-interaction --no-progress" + + - name: "Collect code coverage from running unit tests with phpunit/phpunit" + env: + XDEBUG_MODE: "coverage" + run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --coverage-text --testsuite=unit" + + coding-standards: + name: "Coding Standards" + + runs-on: "ubuntu-latest" + + strategy: + matrix: + php-version: + - "8.4" + + steps: + - name: "Checkout" + uses: "actions/checkout@v7" + + - name: "Set up PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv" + php-version: "${{ matrix.php-version }}" + + - name: "Set up problem matchers for PHP" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" + + - name: "Validate composer.json and composer.lock" + run: "composer validate --ansi --strict" + + - name: "Determine composer cache directory" + run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV" + + - name: "Cache dependencies installed with composer" + uses: "actions/cache@v6" + with: + path: "${{ env.COMPOSER_CACHE_DIR }}" + key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-composer-" + + - name: "Install dependencies with composer" + run: "composer install --ansi --no-interaction --no-progress" + + - name: "Run friendsofphp/php-cs-fixer" + run: "vendor/bin/php-cs-fixer check --diff --show-progress=dots --verbose --ansi" + + - name: "Get libxml2-utils" + run: | + set -x + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update -y | true + sudo apt-get install -y libxml2-utils + + - name: "Validate XML files" + run: "for a in $(find . -name '*.xml'); do xmllint --quiet --noout $a; done" + + static-analysis: + name: "Static Analysis" + + runs-on: "ubuntu-latest" + + strategy: + matrix: + php-version: + - "8.4" + + dependencies: + - "locked" + + steps: + - name: "Checkout" + uses: "actions/checkout@v7" + + - name: "Set up PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv" + php-version: "${{ matrix.php-version }}" + + - name: "Set up problem matchers for PHP" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" + + - name: "Determine composer cache directory" + run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV" + + - name: "Cache dependencies installed with composer" + uses: "actions/cache@v6" + with: + path: "${{ env.COMPOSER_CACHE_DIR }}" + key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-composer-" + + - name: "Install dependencies with composer" + run: "composer install --ansi --no-interaction --no-progress" + + - name: "Run static analysis" + run: "vendor/bin/phpstan" + + tests: + name: "Tests" + + runs-on: "ubuntu-latest" + + strategy: + matrix: + php-version: + - "8.4" + + env: + HTTP_HOST: "localhost:8080" + + steps: + - name: "Checkout" + uses: "actions/checkout@v7" + + - name: "Set up PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv" + php-version: "${{ matrix.php-version }}" + + - name: "Set up problem matchers for PHP" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" + + - name: "Set up problem matchers for phpunit/phpunit" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" + + - name: "Determine composer cache directory" + run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV" + + - name: "Cache dependencies installed with composer" + uses: "actions/cache@v6" + with: + path: "${{ env.COMPOSER_CACHE_DIR }}" + key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-composer-" + + - name: "Install dependencies with composer" + run: "composer install --ansi --no-interaction --no-progress" + + - name: "Run unit tests with phpunit/phpunit" + run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --testsuite=unit" + +# - name: "Start built-in web server for PHP" +# run: "php -S ${{ env.HTTP_HOST }} .router.php &" + +# - name: "Run end-to-end tests with phpunit/phpunit" +# run: "vendor/bin/phpunit --colors=always --configuration=tests/phpunit.xml --testsuite=end-to-end" diff --git a/.github/workflows/pr-closed.yml b/.github/workflows/pr-closed.yml new file mode 100644 index 0000000000..44aa93c3cb --- /dev/null +++ b/.github/workflows/pr-closed.yml @@ -0,0 +1,18 @@ +name: Remove preview PR +on: + pull_request_target: + types: [ closed ] + +jobs: + build: + runs-on: "ubuntu-22.04" + if: github.repository_owner == 'php' + steps: + - uses: appleboy/ssh-action@v1.2.5 + with: + host: ${{ secrets.PREVIEW_REMOTE_HOST }} + username: ${{ secrets.PREVIEW_REMOTE_USER }} + key: ${{ secrets.PREVIEW_SSH_KEY }} + script: | + bash /home/thephpfoundation/scripts/pr_closed.sh web-php ${{ github.event.number }} + bash /home/thephpfoundation/scripts/pr_closed.sh web-php-regression-report ${{ github.event.number }} diff --git a/.github/workflows/preview-deploy.yml b/.github/workflows/preview-deploy.yml new file mode 100644 index 0000000000..e8745b8e2d --- /dev/null +++ b/.github/workflows/preview-deploy.yml @@ -0,0 +1,126 @@ +name: Preview Deploy +on: + workflow_run: + workflows: ["Preview Tests"] + types: + - completed + +# workflow_run needs explicit perms for PR comments. +permissions: + contents: read + issues: write + pull-requests: write + +jobs: + deploy: + runs-on: "ubuntu-22.04" + if: > + github.repository_owner == 'php' && + github.event.workflow_run.event == 'pull_request' + + steps: + - name: Download PR number + uses: actions/download-artifact@v8 + with: + name: pr-number.txt + path: ./pr-number-artifact/ + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + + - name: Set PR number + id: pr-number + run: | + PR_NUMBER=$(cat ./pr-number-artifact/pr-number.txt) + echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT + + - name: Download PR code as artifact + uses: actions/download-artifact@v8 + with: + name: pr-code + path: ./ + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + + - name: Deploy preview + uses: easingthemes/ssh-deploy@main + with: + REMOTE_HOST: ${{ secrets.PREVIEW_REMOTE_HOST }} + REMOTE_USER: ${{ secrets.PREVIEW_REMOTE_USER }} + SSH_PRIVATE_KEY: ${{ secrets.PREVIEW_SSH_KEY }} + SOURCE: "./" + TARGET: "/home/thephpfoundation/preview/web-php-pr-${{ steps.pr-number.outputs.pr_number }}/public" + SCRIPT_BEFORE: bash /home/thephpfoundation/scripts/pr_created_pre.sh web-php ${{ steps.pr-number.outputs.pr_number }} + SCRIPT_AFTER: bash /home/thephpfoundation/scripts/pr_created.sh web-php ${{ steps.pr-number.outputs.pr_number }} + + - name: Find existing preview comment + uses: peter-evans/find-comment@v4 + id: fc + with: + issue-number: ${{ steps.pr-number.outputs.pr_number }} + comment-author: 'github-actions[bot]' + body-includes: 'Preview for commit' + + - name: Create or update preview comment + uses: peter-evans/create-or-update-comment@v5 + with: + issue-number: ${{ steps.pr-number.outputs.pr_number }} + comment-id: ${{ steps.fc.outputs.comment-id }} + edit-mode: 'replace' + body: | + 🚀 Preview for commit ${{ github.event.workflow_run.head_sha }} is available at https://web-php-pr-${{ steps.pr-number.outputs.pr_number }}.preview.thephp.foundation + + deploy-regression-report: + runs-on: "ubuntu-22.04" + if: > + github.repository_owner == 'php' && + github.event.workflow_run.event == 'pull_request' + + steps: + - name: Download PR number + uses: actions/download-artifact@v8 + with: + name: pr-number.txt + path: ./pr-number-artifact/ + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + + - name: Set PR number + id: pr-number + run: | + PR_NUMBER=$(cat ./pr-number-artifact/pr-number.txt) + echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT + + - name: Download regression report + uses: actions/download-artifact@v8 + with: + name: playwright-report + path: ./playwright-report/ + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + + - name: Deploy regression report + uses: easingthemes/ssh-deploy@main + with: + REMOTE_HOST: ${{ secrets.PREVIEW_REMOTE_HOST }} + REMOTE_USER: ${{ secrets.PREVIEW_REMOTE_USER }} + SSH_PRIVATE_KEY: ${{ secrets.PREVIEW_SSH_KEY }} + SOURCE: "./playwright-report/" + TARGET: "/home/thephpfoundation/preview/web-php-regression-report-pr-${{ steps.pr-number.outputs.pr_number }}/public" + SCRIPT_BEFORE: bash /home/thephpfoundation/scripts/pr_created_pre.sh web-php-regression-report ${{ steps.pr-number.outputs.pr_number }} + + - name: Find regression report comment + uses: peter-evans/find-comment@v4 + id: snapshot + with: + issue-number: ${{ steps.pr-number.outputs.pr_number }} + comment-author: 'github-actions[bot]' + body-includes: 'Regression report for commit' + + - name: Create or update regression report comment + uses: peter-evans/create-or-update-comment@v5 + with: + issue-number: ${{ steps.pr-number.outputs.pr_number }} + comment-id: ${{ steps.snapshot.outputs.comment-id }} + edit-mode: 'replace' + body: | + 📊 Regression report for commit ${{ github.event.workflow_run.head_sha }} is at https://web-php-regression-report-pr-${{ steps.pr-number.outputs.pr_number }}.preview.thephp.foundation diff --git a/.github/workflows/preview-tests.yml b/.github/workflows/preview-tests.yml new file mode 100644 index 0000000000..f91b279128 --- /dev/null +++ b/.github/workflows/preview-tests.yml @@ -0,0 +1,89 @@ +name: Preview Tests +on: + pull_request: + types: [ labeled ] + +jobs: + tests_e2e: + name: "E2E Tests" + runs-on: "ubuntu-latest" + if: "github.repository_owner == 'php' && contains(github.event.pull_request.labels.*.name, 'Status: Preview Allowed')" + + strategy: + matrix: + php-version: + - "8.4" + node-version: + - "22.x" + + env: + HTTP_HOST: "localhost:8080" + + steps: + - uses: actions/checkout@v7 + with: + ref: "refs/pull/${{ github.event.number }}/merge" + + - name: Save PR number + run: echo ${{ github.event.number }} > pr-number.txt + + - name: Upload PR code as artifact + uses: actions/upload-artifact@v7 + with: + name: pr-code + path: ./ + retention-days: 1 + + - name: Upload PR number artifact + uses: actions/upload-artifact@v7 + with: + name: pr-number.txt + path: ./pr-number.txt + retention-days: 1 + + - uses: shivammathur/setup-php@v2 + with: + coverage: "none" + extensions: "none, curl, dom, json, mbstring, tokenizer, xml, xmlwriter, iconv" + php-version: "${{ matrix.php-version }}" + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v7 + with: + node-version: ${{ matrix.node-version }} + + - name: "Set up problem matchers for PHP" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" + + - name: "Set up problem matchers for phpunit/phpunit" + run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" + + - name: "Determine composer cache directory" + run: "echo \"COMPOSER_CACHE_DIR=$(composer config cache-dir)\" >> $GITHUB_ENV" + + - name: "Cache dependencies installed with composer" + uses: actions/cache@v6 + with: + path: "${{ env.COMPOSER_CACHE_DIR }}" + key: "php-${{ matrix.php-version }}-composer-${{ hashFiles('composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-composer-" + + - name: "Install dependencies with composer" + run: "composer install --ansi --no-interaction --no-progress" + + - name: "Install dependencies" + run: "yarn install" + + - name: "Install Playwright" + run: "npx playwright install" + + - name: "Run E2E tests" + run: "make tests_e2e" + + - name: Upload playwright report + uses: actions/upload-artifact@v7 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: ./playwright-report/ + retention-days: 7 diff --git a/.github/workflows/remove-needs-feedback.yml b/.github/workflows/remove-needs-feedback.yml new file mode 100644 index 0000000000..8d1ff3e0a0 --- /dev/null +++ b/.github/workflows/remove-needs-feedback.yml @@ -0,0 +1,24 @@ +name: Remove needs feedback label + +on: + issue_comment: + types: + - created + +permissions: + contents: read + +jobs: + build: + if: "github.repository_owner == 'php' && contains(github.event.issue.labels.*.name, 'Status: Needs Feedback') && github.event.issue.user.login == github.event.sender.login" + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions-ecosystem/action-remove-labels@v1 + with: + labels: "Status: Needs Feedback" + - uses: actions-ecosystem/action-add-labels@v1 + with: + labels: "Status: Needs Triage" diff --git a/.gitignore b/.gitignore index 8fe2aae325..f59a0e8c75 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,13 @@ +/.build/ +/.php-cs-fixer.php +/vendor/ + backend/mirror.gif backend/mirror.png backend/mirror.jpg -backend/mirror.jpg backend/GeoIP.dat +node_modules/ +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/.gitmodules b/.gitmodules index fb5c38b0cf..e69de29bb2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "distributions"] - path = distributions - url = https://git.php.net/repository/web/php-distributions.git diff --git a/.htaccess b/.htaccess deleted file mode 100644 index 912ca12580..0000000000 --- a/.htaccess +++ /dev/null @@ -1,4 +0,0 @@ - - Order allow,deny - Deny from all - diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 0000000000..49f50d793b --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,72 @@ +in(__DIR__); + +$config = new PhpCsFixer\Config(); + +$finder = $config->getFinder() + ->ignoreDotFiles(false) + ->in([ + __DIR__ . '/src', + __DIR__ . '/tests', + ]); + +$config + ->setCacheFile(__DIR__ . '/.build/php-cs-fixer/php-cs-fixer.cache') + ->setRiskyAllowed(true) + ->setRules([ + 'array_indentation' => true, + 'array_syntax' => true, + 'binary_operator_spaces' => true, + 'blank_line_after_namespace' => true, + 'blank_line_after_opening_tag' => true, + 'class_attributes_separation' => true, + 'class_definition' => true, + 'concat_space' => [ + 'spacing' => 'one', + ], + 'constant_case' => true, + 'elseif' => true, + 'function_declaration' => true, + 'include' => true, + 'increment_style' => [ + 'style' => 'post', + ], + 'indentation_type' => true, + 'is_null' => true, + 'line_ending' => true, + 'modifier_keywords' => true, + 'new_with_parentheses' => true, + 'no_extra_blank_lines' => true, + 'no_mixed_echo_print' => true, + 'no_singleline_whitespace_before_semicolons' => true, + 'no_spaces_after_function_name' => true, + 'no_superfluous_elseif' => true, + 'no_trailing_whitespace' => true, + 'ordered_class_elements' => true, + 'random_api_migration' => true, + 'single_space_around_construct' => [ + 'constructs_contain_a_single_space' => [ + 'yield_from', + ], + 'constructs_preceded_by_a_single_space' => [], + 'constructs_followed_by_a_single_space' => [], + ], + 'strict_param' => true, + 'switch_case_space' => true, + 'ternary_operator_spaces' => true, + 'trailing_comma_in_multiline' => [ + 'elements' => [ + 'arguments', + 'arrays', + 'match', + 'parameters', + ], + ], + 'trim_array_spaces' => true, + 'unary_operator_spaces' => true, + 'void_return' => true, + 'whitespace_after_comma_in_array' => true, + ]); + +return $config; diff --git a/ChangeLog-5.php b/ChangeLog-5.php deleted file mode 100644 index cf84c64015..0000000000 --- a/ChangeLog-5.php +++ /dev/null @@ -1,10484 +0,0 @@ - "docs", 'css' => array('changelog.css'))); -function bugfix($number) { echo "Fixed bug "; bugl($number); } -function bugl($number) { echo "#$number"; } -function peclbugfix($number) { echo "Fixed PECL bug "; bugl($number); } -function peclbugl($number) { echo "#$number"; } -?> - -

PHP 5 ChangeLog

- - -

Version 5.5.1

-18-Jul-2013 - - - - -

Version 5.3.27

-11-Jul-2013 - - - - -

Version 5.5.0

-20-Jun-2013 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.4.17

-04-Jul-2013 - - - - -

Version 5.4.16

-06-Jun-2013 - - - - -

Version 5.3.26

-06-Jun-2013 - - - - - -

Version 5.4.15

-09-May-2013 - - - - - -

Version 5.3.25

-09-May-2013 - - - - - -

Version 5.4.14

-11-April-2013 - - - - -

Version 5.3.24

-11-April-2013 - - - - -

Version 5.4.11

-17-January-2013 - - - - - - - - - - - - -

Version 5.3.21

-17-January-2013 - - - - - - - - -

Version 5.4.10

-20-December-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.20

-20-December-2012 - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.4.9

-22-November-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.19

-22-November-2012 - - - - - - - - - - - - - - - - - - - - - - -

Version 5.4.8

-18-October-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.18

-18-October-2012 - - - - - - - - - - - - - - -

Version 5.4.7

-13-September-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.17

-13-September-2012 - - - - - - - - - - - - - - - - - - - - -

Version 5.4.6

-16-August-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.16

-16-August-2012 - - - - - - - - - - - - - - - - - - -

Version 5.4.5

-19-July-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.15

-19-July-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.4.4

-06-June-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.14

-06-June-2012 - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.4.3

-08-May-2012 - - - - - -

Version 5.3.13

-08-May-2012 - - - - - -

Version 5.4.2

-03-May-2012 - - - - - -

Version 5.3.12

-03-May-2012 - - - - - -

Version 5.4.1

-26-Apr-2012 - - - - - - - - - - - - - - - - - -

Version 5.3.11

-26-Apr-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.4.0

-01-Mar-2012 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Version 5.3.10

-02-Feb-2012 - - - - - - - -

Version 5.3.9

-10-Jan-2012 - - - -
- - - -

Version 5.3.8

-23-Aug-2011 - - - -
- - - -

Version 5.3.7

-18-Aug-2011 - - - -
- - - -

Version 5.3.6

-17-Mar-2011 - - - -
- - - -

Version 5.3.5

-06-Jan-2011 - - -
- - - -

Version 5.2.17

-06-Jan-2011 - - -
- - - -

Version 5.2.16

-16-Dec-2010 - - -
- - - -

Version 5.3.4

-09-Dec-2010 - - - -
- - - -

Version 5.2.15

-08-Dec-2010 - - - - -
- -

Version 5.3.3

-22-Jul-2010 - - - - - - - -
- - - -

Version 5.2.14

-22-Jul-2010 - - - - - -
- - - -

Version 5.3.2

-04-Mar-2010 - -
- - - -

Version 5.2.13

-25-Feb-2010 - -
- - - -

Version 5.3.1

-19-Nov-2009 - -
- - - - -

Version 5.3.0

-30-Jun-2009 - - -
- - - - -

Version 5.2.12

-17-Dec-2009 - -
- - - - -

Version 5.2.11

-16-Sep-2009 - - -
- - - - -

Version 5.2.10

-18-Jun-2009 - -
- - - - -

Version 5.2.9

-26-Feb-2009 - - -
- - - - -

Version 5.2.8

-08-Dec-2008 - - -
- - - - -

Version 5.2.7

-04-Dec-2008 - - -
- - - - -

Version 5.2.6

-01-May-2008 - - - - - -

Version 5.2.5

-08-Nov-2007 - - -
- - - - -

Version 5.2.4

-30-Aug-2007 - - -
- - - - -

Version 5.2.3

-31-May-2007 - - -
- - - - -

Version 5.2.2

-03-May-2007 - - -
- - - - -

Version 5.2.1

-08-Feb-2007 - - -
- - - - -

Version 5.2.0

-02-Nov-2006 - - - -
- - - - -

Version 5.1.6

-24-Aug-2006 - - - - - -

Version 5.1.5

-17-Aug-2006 - - - - - -

Version 5.1.4

-04-May-2006 - - - - - -

Version 5.1.3

-02-May-2006 - - - - - -

Version 5.1.2

-12-Jan-2006 - - - - - -

Version 5.1.1

-28-Nov-2005 - - - - - -

Version 5.1.0

-24-Nov-2005 - - - - - -

Version 5.0.5

-05-Sep-2005 - - - - - -

Version 5.0.4

-31-Mar-2005 - - - - - -

Version 5.0.3

-15-Dec-2004 - - - - - -

Version 5.0.2

-23-Sep-2004 - - -
- - - - -

Version 5.0.1

-12-Aug-2004 - - -
- - - - -

Version 5.0.0

-13-Jul-2004 - - -
- - - - -

Version 5.0.0 Release Candidate 3

-8-Jun-2004 - - -
- - - - - -

Version 5.0.0 Release Candidate 2

-25-Apr-2004 - - -
- - - - -

Version 5.0.0 Release Candidate 1

-18-Mar-2004 - - -
- - - - -

Version 5.0.0 Beta 4

-12-Feb-2004 - - -
- - - - -

Version 5.0.0 Beta 3

-21-Dec-2003 - - -
- - - - -

Version 5.0.0 Beta 2

-30-Oct-2003 - - -
- - - - -

Version 5.0.0 Beta 1

-29-Jun-2003 - - - - - diff --git a/Entity/NewsItem.php b/Entity/NewsItem.php deleted file mode 100644 index 6f1db10fa6..0000000000 --- a/Entity/NewsItem.php +++ /dev/null @@ -1,158 +0,0 @@ -title = $title; - $this->permanentUrl = $permanentUrl; - $this->published = $published; - $this->updated = new DateTime($updated); - $this->category = $category; - $this->link = $link; - $this->content = $content; - $this->newsImage = $newsImage; - $this->intro = $intro; - } - - /** - * @return array - */ - public function getCategories() { - return $this->category; - } - - /** - * @return string - */ - public function getContent() { - return $this->content; - } - - /** - * @return string - */ - public function getId() { - return parse_url($this->getPermanentUrl(), PHP_URL_FRAGMENT); - } - - /** - * @return string - */ - public function getPermanentUrl() { - return $this->permanentUrl; - } - - /** - * @return array - */ - public function getLink() { - return $this->link; - } - - public function getNewsImage() { - return $this->newsImage; - } - - /** - * @return DateTime - */ - public function getPublishedDate() { - return new DateTime($this->published); - } - - /** - * @return string - */ - public function getPublishedString() { - return $this->published; - } - - /** - * @return mixed - */ - public function getTitle() { - return $this->title; - } - - /** - * @return DateTime - */ - public function getUpdatedDate() { - return $this->updated; - } - - /** - * @param $category - * @return bool - */ - public function hasCategory($category) { - foreach ($this->category as $cat) { - if ($cat['term'] === $category) { - return true; - } - } - return false; - } - - public function getIntroduction() { - return $this->intro; - } - -} diff --git a/Gateway/NewsFileSystemGateway.php b/Gateway/NewsFileSystemGateway.php deleted file mode 100644 index 6bc6bb2828..0000000000 --- a/Gateway/NewsFileSystemGateway.php +++ /dev/null @@ -1,72 +0,0 @@ -articles = array(); - - foreach ($NEWS_ENTRIES as $article) { - $this->articles[] = new NewsItem( - $article['title'], - $article['id'], - $article['published'], - $article['updated'], - $article['category'], - $article['link'], - $article['content'], - isset($article['newsImage']) ? $article['newsImage'] : NULL, - isset($article['intro']) ? $article['intro'] : $article['content'] - ); - } - - } - - /** - * @param int $max [optional] - * @return array - */ - public function getLatestArticles($max = 5) { - return array_slice($this->articles, 0, $max); - } - - /** - * @param array $categories - * @param int $limit - * @return array - */ - public function getArticlesForCategories(array $categories, $limit = 5) { - $result = array(); - - foreach ($this->articles as $item) { - /** - * @var NewsItem $item - */ - $articleCategories = array(); - - foreach ($categories as $category) { - if ($item->hasCategory($category)) { - $result[] = $item; - } - } - - } - - return array_slice($result, 0 , $limit); - - } - -} diff --git a/Gateway/NewsGateway.php b/Gateway/NewsGateway.php deleted file mode 100644 index 9af903aacb..0000000000 --- a/Gateway/NewsGateway.php +++ /dev/null @@ -1,20 +0,0 @@ - /dev/null) + +.PHONY: it +it: coding-standards static-analysis tests ## Runs all the targets + +.PHONY: code-coverage +code-coverage: vendor ## Collects code coverage from running unit tests with phpunit/phpunit + vendor/bin/phpunit --configuration=tests/phpunit.xml --coverage-text --testsuite=unit + +.PHONY: coding-standards +coding-standards: vendor ## Fixes code style issues with friendsofphp/php-cs-fixer + vendor/bin/php-cs-fixer fix --diff --show-progress=dots --verbose + +.PHONY: help +help: ## Displays this list of targets with descriptions + @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m%-30s\033[0m %s\n", $$1, $$2}' + +.PHONY: static-analysis +static-analysis: vendor ## Runs a static code analysis + vendor/bin/phpstan + +.PHONY: static-analysis-baseline +static-analysis-baseline: vendor ## Generates a baseline for static analysis + vendor/bin/phpstan --generate-baseline + +.PHONY: tests +tests: vendor ## Runs unit and end-to-end tests with phpunit/phpunit + vendor/bin/phpunit --configuration=tests/phpunit.xml --testsuite=unit + rm -rf tests/server.log + tests/server start; + vendor/bin/phpunit --configuration=tests/phpunit.xml --testsuite=end-to-end; + tests/server stop + +tests_e2e: + tests/server start; + npx playwright test + tests/server stop + +vendor: composer.json composer.lock + composer validate --strict + composer install --no-interaction --no-progress diff --git a/README.md b/README.md new file mode 100644 index 0000000000..2566481b53 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +[![Integrate](https://github.com/php/web-php/actions/workflows/integrate.yaml/badge.svg)](https://github.com/php/web-php/actions/workflows/integrate.yaml) + +## Local development + +This is the git repository for the official www.php.net website. + +To setup a local mirror of the website, clone the repository: + +``` +git clone https://github.com/php/web-php.git +``` + +Change into `web-php`: + +``` +cd web-php/public +``` + +Start the built-in web server: + +``` +php -S localhost:8080 .router.php +``` + +This repository includes most (generated) files that are required for normal +operation of this website, such as + + - News & events data + - Several manual pages (and a translation), see manual/{en,ja}/ + - User contributed notes for manual pages + - A "router" for the builtin PHP webserver + +How to set up a full local mirror is described in our Wiki: +https://wiki.php.net/web/mirror + +## Code requirements + +Code must function on a vanilla PHP 8.4 installation. +Please keep this in mind before filing a pull request. + +## Contributing + +Please have a look at [`CONTRIBUTING.md`](.github/CONTRIBUTING.md). diff --git a/View/HomepageNewsView.php b/View/HomepageNewsView.php deleted file mode 100644 index 0d982ca6bd..0000000000 --- a/View/HomepageNewsView.php +++ /dev/null @@ -1,95 +0,0 @@ -articles = $articles; - } - - public function render() { - - ob_start(); - ?> -
- articles as $article) : - /** - * @var NewsItem $article - */ - - $id = $article->getId(); - $title = $article->getTitle(); - - $publishedDate = $article->getPublishedString(); - $newsDate = $article->getPublishedDate()->format('d-M-Y'); - - $permanentLink = "#" .$id; - foreach($article->getLink() as $link) { - if ($link["rel"] === "via") { - $permanentLink = $link["href"]; - break; - } - } - - $content = $article->getContent(); - - $image = ""; - $newsImage = $article->getNewsImage(); - if(isset($newsImage["link"]) && $newsImage["content"]) { - $image = "" . $this->renderImage($newsImage) . ""; - } - - $event = ''; - if ($article->hasCategory('conferences') || $article->hasCategory('cfp')) { - $event = " vevent"; - } - echo "
-
{$image}
-

{$title}

-
- {$newsDate} - {$content} -
-
"; - endforeach; - ?> - -

More news »

- -
- - - = 4) { - $imageHtml .= $imageDetails[3]; - } - - $imageHtml .= "/>"; - - return $imageHtml; - } - -} diff --git a/archive/2009.php b/archive/2009.php deleted file mode 100644 index c2a593f684..0000000000 --- a/archive/2009.php +++ /dev/null @@ -1,971 +0,0 @@ - - -

News Archive - 2009

- -

- Here are the most important news items we have published in 2009 on PHP.net. -

- -
-
-
-

PHP 5.2.12 Released!

-
- [17-Dec-2009] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.2.12. This release focuses on improving the stability of - the PHP 5.2.x branch with over 60 bug fixes, some of which are security related. - All users of PHP 5.2 are encouraged to upgrade to this release. -

-

- Security Enhancements and Fixes in PHP 5.2.12: -

-
    -
  • Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. (CVE-2009-3557, Rasmus)
  • -
  • Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz Stachowiak. (CVE-2009-3558, Rasmus)
  • -
  • Added "max_file_uploads" INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion, identified by Bogdan Calin. (CVE-2009-4017, Ilia)
  • -
  • Added protection for $_SESSION from interrupt corruption and improved "session.save_path" check, identified by Stefan Esser. (CVE-2009-4143, Stas)
  • -
  • Fixed bug #49785 (insufficient input string validation of htmlspecialchars()). (CVE-2009-4142, Moriyoshi, hello at iwamot dot com)
  • -
- -

- Further details about the PHP 5.2.12 release can be found in the release announcement, and the full list of changes are available in the ChangeLog. -

-
- -
-
- -
-
-
-

PHP UK Conference 2010

-
- [09-Dec-2009] -
-

- PHP London are pleased to announce the date, venue and registration availability - of their 5th annual UK PHP conference, building on the success of previous events - and accommodating the continual growth of the PHP community and PHP development - industry. -

- -

- The event takes place on Friday 26th February 2010 - at the Business Design Centre in the Islington area of London. - Information on the venue is available on our - website. -

- -

- Registration is now available, with an early bird discount of £20 - putting the price at £100 (ex. UK VAT), available for the rest of December 2009, - increasing to £110 during January 2010, whilst the standard £120 price is - available now (for those that wish to significantly contribute towards the running - of the conference) until either the event takes place or we run out of places - so - register - as soon as you can to get the best price and secure your place. -

- -

- Feel free to create an - account on the PHP UK - Conference website at and sign-up for notifications of updates to the website. -

- -

- Important announcements will also be made to the PHP London announcement mailing - list - sign up at - http://lists.phplondon.org/cgi-bin/mailman/listinfo/phplondon-announce - - via which you may be receiving this message now, and you can also follow the - conference on Twitter (@phpukconference - - #phpuk2010) and be a fan on Facebook. -

- -

- We expect to announce the initial line up of talks and speakers before Christmas, - whilst potential sponsors/exhibitors can find information at - http://www.phpconference.co.uk/sponsors - and contact the conference committee using the form at - http://www.phpconference.co.uk/contact. -

- -

We hope to see you at the event in 2010!

- -
- -
-
- -
-
-
-

PHP 5.3.1 Released!

-
- [19-Nov-2009] -
-

The PHP development team would like to announce the immediate - availability of PHP 5.3.1. This release focuses on improving the - stability of the PHP 5.3.x branch with over 100 bug fixes, some of - which are security related. All users of PHP are encouraged to - upgrade to this release.

-

Security Enhancements and Fixes in PHP 5.3.1:

-
    -
  • Added "max_file_uploads" INI directive, which can be set to limit the number of file uploads per-request to 20 by default, to prevent possible DOS via temporary file exhaustion.
  • -
  • Added missing sanity checks around exif processing.
  • -
  • Fixed a safe_mode bypass in tempnam().
  • -
  • Fixed a open_basedir bypass in posix_mkfifo().
  • -
  • Fixed failing safe_mode_include_dir.
  • -
-

Further details about the PHP 5.3.1 release can be found in the release announcement, and the full list of changes are available in the ChangeLog.

-
- -
-
- -
-
-
-

International PHP Conference

-
- [21-Oct-2009] -
-

With its mixture of topics the International PHP Conference provides an ideal resource for all professionals and their successful daily routine within the whole PHP spectrum. Insights into current Web 2.0 technologies, Security, Best Practices for tools and components, Enterprise know-how, databases, architectures and more are presented at the International PHP Conference 2009.

-

More than 30 Experts explain current trends and demonstrate how to make the most of your code and your business. They will answer your questions not only in the 40+ sessions and panel discussions but also during personal meetings.

-

And for the very first time ever, on Sunday, 15th November, the PHP community will warm up with our free IPC Unconference. This is the place, where YOU decide about the sessions - just pick your favorite topics and get in touch with some of our speakers and other developers.

-

Make use of this opportunity and make yourself a part of the worldwide PHP community – at the International PHP Conference 2009.

-
- -
-
- -
-
-
-

PHP World Kongress

-
- [01-Oct-2009] -
-

- On 24th and 25th of November you should not miss the lectures of the top speakers of the PHP Industry on Professional Software Development with PHP at Munich Conference Center. -

-

- 10 international speakers offer you more than 20 hours of knowledge transfer in the topics "Development", "Tools & Technologies", "PHP 5 Certification", "TYPO3 Certification", "Search Engine Optimization" and "Design Patterns with PHP" on two days. -

-

- On November 24th, Pierre Joye from the PHP core team under Windows opens the congress with his keynote "PHP 5.3 and PHP 6". Amongst others topics include OOP, Web Application Security 2.0, SOAP in PHP and Zend Framework. -

-

- The 25th November is a workshop day aimed at expanding and deepening your knowledge in PHP 5 Certification, TYPO3 Certification, Search Engine Optimization and Design Patterns with PHP. -

-

- More detailed information is available on our website - Twitter or in our group on Facebook. -

-
- -
-
- -
-
-
-

PHP Barcelona Conference 2009

-
- [28-Sep-2009] -
-

The PHP Barcelona User Group is proud to announce that the PHP Barcelona Conference 2009 is here, and it is arriving bigger than ever! Two days, three parallel tracks of talks and workshops, and some of the biggest names and companies in the industry covering the hottest subjects to date.

-

Come to Barcelona (Citilab) to see Rasmus Lerdorf, Fabien Potencier, Derick Rethans, Sebastian Bergmann and many more open the hood and expose the secrets of PHP and PHP related technologies that make the Internet what it is today, and that power what the Internet will be tomorrow. Discover the newest evolution of the most popular scripting language and its intimate bonding with security, stability and scalability, and how its integration with cutting edge technology make it one of the most powerful and state of the art building blocks for robust applications.

-

For more information about PHP Barcelona Conference 2009 and to register, please visit http://phpconference.es

-
- -
-
- -
-
-
-

PHP 5.2.11 Released!

-
- [17-Sep-2009] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.2.11. This release focuses on improving the stability of - the PHP 5.2.x branch with over 75 bug fixes, some of which are security related. - All users of PHP 5.2 are encouraged to upgrade to this release. -

-

- Security Enhancements and Fixes in PHP 5.2.11: -

-
    -
  • Fixed certificate validation inside php_openssl_apply_verification_policy. (Ryan Sleevi, Ilia)
  • -
  • Fixed sanity check for the color index in imagecolortransparent(). (Pierre)
  • -
  • Added missing sanity checks around exif processing. (Ilia)
  • -
  • Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre)
  • -
-

- Further details about the PHP 5.2.11 release can be found in the release announcement, and the full list of changes are available in the ChangeLog. -

-
- -
-
- -
-
-
-

ZendCon 2009!

-
- [26-Aug-2009] -
-

- The Zend PHP Conference 2009 (ZendCon) is the largest event of the PHP - community and a unique opportunity to meet with PHP developers, web - experts and IT managers. This year's conference will be held - October 19- - 22, 2009 in - San Jose, California. It will bring together developers - and business managers from around the world for three days of - exceptional presentations and networking events. -

-

- At ZendCon 2009, sessions will focus on creating, deploying and managing - applications that take advantage of the speed, scalability and - simplicity of PHP. To find out more about ZendCon, see the full session - listing, and register, visit http://zendcon.com/. -

-
- -
-
- -
-
-
-

PHP TestFest 2009 Winners

-
- [30-Jul-2009] -
-

- A group of winners of PHP - elePHPhants - or TestFest mugs - have been picked at random from the people that contributed the - 887 tests - during the 2009 PHP TestFest. -

-

Winners of elePHPhants

-
    -
  • Mark Schaschke TestFest London May 2009
  • -
  • Patrick Allaert Belgian PHP Testfest 2009
  • -
  • Rafael Dohms testfest PHPSP on 2009-06-20
  • -
  • Guilherme Blanco testfest PHPSP on 2009-06-20
  • -
  • Fabio Fabbrucci Italian PHP TestFest 2009 Cesena 19-20-21 june
  • -
  • Rodrigo Moyle testfest PHPSP on 2009-06-20
  • -
  • Edgar Ferreira da Silva testfest PHPSP on 2009-06-20
  • -
  • Marco Fabbri PHPTestFest Cesena Italia on 2009-06-20
  • -
  • Jason Easter Testfest 2009 2009-06-20
  • -
  • Simon Westcott PHPNW Testfest 2009
  • -
- -

Winners of mugs

-
    -
  • Tim Eggert Testfest Berlin 2009-05-09
  • -
  • Till Klampaeckel TestFest 2009
  • -
  • Havard Eide Norway 2009-06-09 \o/
  • -
  • Å”lex Corretgé - Catalonia
  • -
  • Francesco Fullone TestFest Cesena Italia on 2009-06-20
  • -
  • Ivan Rosolen testfest PHPSP on 2009-06-20
  • -
  • Moritz Neuhaeuser Testfest Berlin 2009-05-10
  • -
  • Daniel Convissor TestFest 2009 NYPHP
  • -
  • Matt Raines testfest London 2009-05-09
  • -
- -

Winners will be contacted shortly.

-

- Once again a huge thank you! to everyone who helped to make - this year's TestFest such an outstanding success! -

-
- -
-
- -
-
-
-

PHP North West Conference

-
- [21-Jul-2009] -
-

- The PHP North West - Conference has announced its return for a second year, to be held - on Saturday 10th October 2009 in Manchester, UK. This is a one-day - conference aimed at developers from the local region and further - afield, with a deliberately low ticket price to ensure everyone who - wants to attend can do so. We combine experienced speakers with some - new local talent to bring an event that truly has something for - everyone and a great buzz. -

-

- The official conference is on the Saturday but there are social events - on Friday and Saturday and an informal schedule on Sunday, so come and - make a weekend of it with us in Manchester! All the venues are in - central Manchester and walkable from mainline public transport, so do - join us. -

-

- There is a call for papers which runs until 16th August 2009 and the - early bird ticket prices are fixed until September 10th. For more - information, to submit a paper, to buy tickets, or to contact the - organisers please visit the conference website. -

-
- -
-
- -
-
-
-

Subversion Migration Complete

-
- [16-Jul-2009] -
-

- The migration from CVS to Subversion is complete. The web interface is at - svn.php.net. You can read about it at - php.net/svn.php, - wiki.php.net/vcs/svnfaq. The - URL to feed to your svn client is http://svn.php.net/repository. -

-

- There is also a github mirror. Please - use that instead of trying to do a full git clone from the svn repository. See - the instructions at wiki.php.net/vcs/svnfaq#git -

-

- Many thanks to Gwynne who did the bulk of the work and also all the other folks who pitched in. - It was a major effort to move 14 years of CVS history to another RCS. -

-
- -
-
- -
-
-
-

2009 PHP TestFest

-
- [09-Jul-2009] -
-

- So finally we are at the end of the - 2009 PHP TestFest. - It has been an outstanding success with the - coverage increasing - by about 2.5% overall and 887 new tests contributed in the TestFest SVN - repository of which 637 have already been added to PHP CVS. -

-

- User groups from all - over the world have worked hard to make this happen and we thank - each and every one of you - for your contribution to PHP! - You really made a difference to the PHP5.3 release quality. -

-

- There still are few loose ends to tie up - the - TestFest SVN repository - will be closed for contributions later this week and the last few - tests will be moved into the main PHP repository. Finally, we have - 10 elePHPants - and 9 TestFest mugs - to give out. The winners of mugs and elePHPants - will be drawn at random from a list of people who wrote tests; - the winner's names will be announced later this month. -

-

- For those that would like to continue to make a difference by - writing tests there are two options. You can simply continue by - submitting new tests to the QA mailing list, - or, if you have written a significant number of tests you might - consider applying for your own - PHP CVS (or SVN) ID. - In your application you should reference the tests that you have - written in support of your application. -

-

- Last but not least, we would like to thank all of the - companies and institutions that sponsored TestFest. - These include Combell, Corretgé, Faculdade Impacta de Tecnologia, IBM, - iBuildings, Itera, Mayflower, Microsoft, Nexen (Alter Way Group), php|architect, - Redpill-Linpro, Steinigke Showtechnic, Verges Council and Zend. -

-
- -
-
- -
-
-
-

PHP 5.3.0 Released!

-
- [30-Jun-2009] -
-

- The PHP development team is proud to announce the immediate release of PHP - 5.3.0. - This release is a major improvement in the 5.X series, which includes a - large number of new features and bug fixes. -

- -

- Some of the key new features include: - namespaces, - late static binding, - closures, - optional garbage collection for cyclic references, - new extensions (like ext/phar, - ext/intl and - ext/fileinfo), - over 140 bug fixes and much more. -

- -

- For users upgrading from PHP 5.2 there is a - migration guide - available here, detailing the changes between those - releases and PHP 5.3.0. -

- -

- Further details about the - PHP 5.3.0 release - can be found in the - release announcement, - and the full list of changes are available in the - ChangeLog. -

- -
- -
-
- -
-
-
-

PHP'n Rio conference

-
- [21-Jun-2009] -
-

- The Rio de Janeiro PHP user group is pleased to announce - their first PHP'n Rio conference. It will be held July 3rd, 2009 at the - Infnet Institute, in Rio de Janeiro. It is a - one day mini conference aimed on providing experienced developers and - beginners a chance to learn more about PHP frameworks, web - applications built in PHP, and the art of testing code. -

-

- The keynote speaker is Jan Schneider, who will also - talk about the Horde project. In addition, we will - have sessions about other frameworks and include a - PHP TestFest. -

-

- PHP'n Rio sessions go from 6-9 pm. Then the PHP TestFest follows up - until 10 pm. No fees or subscription required. Participation is entirely - free! -

-

- Whether you live here or are around just enjoying the marvelous city, - come and join us :) For more information, please visit - http://www.phprio.org/phpnrio09 - (portuguese only). -

-
- -
-
- -
-
-
-

PHP 5.3.0RC4 Release Announcements

-
- [19-Jun-2009] -
-

- The PHP development team is proud to announce the fourth release - candidate of PHP 5.3.0 (PHP 5.3.0RC4). This RC focuses on bug fixes - and stability improvements, and we hope only minimal changes are required - for the next candidate or final stable releases. PHP 5.3.0 is a newly - developed version of PHP featuring long-awaited features like - namespaces, - late static binding, - closures and much more. -

-

- Please download and test these release candidates, and report any issues - found. A stable release is expected next week . In case of critical - issues we will continue producing weekly RCs. Downloads and further - information is available at qa.php.net. - See also the work in progress - 5.3 upgrade guide. -

-
- -
-
- -
-
-
-

PHP 5.2.10 Released!

-
- [18-Jun-2009] -
-

- The PHP development team would like to announce the immediate availability of PHP 5.2.10. - This release focuses on improving the stability of the PHP 5.2.x branch with over 100 bug fixes, - one of which is security related. All users of PHP are encouraged to upgrade to this release. -

-

- Security Enhancements and Fixes in PHP 5.2.10: -

-
    -
  • Fixed bug #48378 (exif_read_data() segfaults on certain corrupted .jpeg files). (Pierre)
  • -
-

- Further details about the PHP 5.2.10 release can be found in the - release announcement, and the full list of changes are - available in the ChangeLog. -

-
- -
-
- -
-
-
-

PHP 5.2.10RC2 and PHP 5.3.0RC3 Release Announcements

-
- [12-Jun-2009] -

The PHP development team is proud to announce the second release candidate of PHP 5.2.10 (PHP 5.2.10RC2) and the third release candidate of PHP 5.3.0 (PHP 5.3.0RC3). These RCs focuses on bug fixes and stability improvements, and we hope only minimal changes are required for the next candidate or final stable releases.

PHP 5.2.10 is a pure maintenance release for providing bugfixes and stability updates. PHP 5.3.0 is a newly developed version of PHP featuring long-awaited features like namespaces, late static binding, closures and much more.

Please download and test these release candidates, and report any issues found. Downloads and further information is available at qa.php.net. See also the work in progress 5.3 upgrade guide.

- -
-
- -
-
-
-

CodeWorks Conference

-
- [03-Jun-2009] -
-

CodeWorks 2009 is a series of two-day conferences for PHP developers and IT managers organized and run by the publishers of php|architect Magazine.

-

CodeWorks will travel to seven locations across the United States between September 22nd and October 5th included. Each two-day event includes a day of in-depth tutorials and a day of conference talks arranged across three different tracks, all presented by the best experts in the business.

-

These locations include: -

    -
  • San Francisco, CA (9/22-9/23)
  • -
  • Los Angeles, CA (9/24-9/25)
  • -
  • Dallas, TX (9/26-9/27)
  • -
  • Atlanta, GA (9/28-9/29)
  • -
  • Miami, FL (9/30-10/1)
  • -
  • Washington, DC/Baltimore Area (10/2-10/3)
  • -
  • New York, NY (10/4-10/5)
  • -
-

-

If PHP is your work, your passion or your hobby, CodeWorks is a great way to learn and connect with the greatest community of professionals in the world—and with prices as low as $99 and a generous discount program, a uniquely affordable opportunity for everyone.

-

Remember, each event is limited to 300 attendees and prices increase the closer we get to each event. Get your tickets today before we run out or the price goes up!

-

For more information, visit http://cw.mtacon.com.

-
- -
-
- -
-
-
-

Forum PHP Paris 2009

-
- [29-May-2009] -
-

- The AFUP (Association française des utilisateurs PHP) - organizes on November 11th and November 12th - at the Cité des Sciences in Paris, France, - the Forum PHP for its 9th edition. -

-

- The PHP Forum 2009 will welcome as a partner alongside the AFUP, - the association LeMug.fr (MySQL User Group). -

-

- On this occasion, AFUP decided to extend the pre-registration at preferential rates, and - also postpone the deadline for the call for speakers. -

-

- To monitor developments and press releases, visit the following link: - http://afup.org/pages/forumphp2009/ -

-
- -
-
- -
-
-
-

TestFest 2009

-
- [09-May-2009] -
-

- TestFest is upon us once again. For those who don't know, this is the - time of year where User Groups and individuals donate a little of their - time and effort to increasing the test coverage of PHP. -

-

- Hundreds of thousands of lines of code are working in concert to - assemble one of the simplest to learn and fastest running scripting - languages in the business. All this is achieved with the expectation - that very few bugs will make it into releases and the ones that do - will be stomped out quickly, efficiently and will never be heard from - again. This is a lofty goal and is only possible through a system of - tests designed to continuously evaluate the well-being of PHP. -

-

- This year the QA Team has been very busy implementing new features - and improvements to make the TestFest experience easier and more - enjoyable than ever before. Some these improvements include a - Subversion repository for test storage and tracking, a Virtual - Machine for simple test environment setup, and improved documentation - of testing procedures. -

-

- 2009 is looking to be the most successful TestFest event ever. Over - 20 User Groups spanning Belgium, Brazil, Catalonia, Canada, France, - Germany, Ireland, Italy, Netherlands, Norway, Peru, USA and the UK - have already registered. This is an incredible response and we still - have 2 months left to go. -

-

- Getting involved couldn't be simpler. Visit the - QA TestFest page to - find out how you can organize a TestFest event in your community. - We are looking forward to seeing your communities tests being - committed into PHP. -

-
- -
-
- -
-
-
-

PHP 5.3.0RC2 Release Announcement

-
- [07-May-2009] -
-

- The PHP development team is proud to announce the second release candidate of PHP 5.3.0 (PHP 5.3.0RC2). - This RC focuses on bug fixes and stability improvements, and we hope only minimal changes are required - for the next candidate (RC3). -

-

- Expect an RC3 in 2-3 weeks, although there will not be major changes so now is a good - time to start the final testing of PHP 5.3.0 before it gets released, in order to find - possible incompatibilities with your project. -

-

- Please download and test this release candidate, and report any issues found. - Downloads and further information is available at qa.php.net. - See also the work in progress 5.3 upgrade guide. -

-
- -
-
- -
-
-
-

phpDay Italy

-
- [17-Apr-2009] -
-

- The italian PHP user group (GrUSP), is organizing the 6th phpDay, - theitalian conference dedicated to the PHP world (http://www.phpday.it/). -

-

- This year's edition will be held in Verona on - May 15-16th - and "softwareintegration with PHP" is going to be the main theme of the event. -

-

- The phpDay will have three channels: -

    -
  • Developers: development approach and techniques
  • -
  • Community: focus on open source software and frameworks
  • -
  • Enterprise: real case studies for business and enterprises
  • -
-

-

- For the benefit of our international visitors, there will be an - entiretrack in english, so come and join us in the beautiful city of - Verona! -

-

- To subscribe to the event use our eventbrite page: - http://phpday2009.eventbrite.com/ -

-
- -
-
- -
-
-
-

PHP 5.2.9-2 (Windows) released

-
- [08-Apr-2009] -
-

The PHP Development Team would like to announce the availability of a new Windows build for PHP - PHP 5.2.9-2

-

This release focuses on fixing security flaws in the included OpenSSL library (CVE-2009-0590, CVE-2009-0591 and CVE-2009-0789). The security advisory is available here.

-

The OpenSSL library has been updated to 0.9.8k, which includes fixes for these flaws.

-

Note: Only the Windows binaries are affected. There are no changes to the PHP sources, therefore no source releases are necessary.

-

Updated 9th of April: Added the missing OCI8 DLL

-
- -
-
- -
-
-
-

DPC09

-
- [06-Apr-2009] -
-

- Tickets are now on sale for The Dutch PHP Conference 2009 and we want to invite - you to attend. This year's conference will be held from - June 11-June13, 2009. - DPC09, like it's predecessors, will be held in Amsterdam at the RAI Center. This - year we have expanded the conference to two days plus the tutorial day so that we - can deliver even more sessions, events and value for your conference budget. -

-

- Our speaker line up this year includes Andrei Zmievski, Marco Tabini, Derick - Rethans, Ben Ramsey, Michelangelo van Dam, and Paul Reinheimer, just to name a few. - This year's special keynote speakers are Andrei Zmievski and Owen Byrne as well as - a special closing keynote session by Marco Tabini, Ivo Jansch and Cal Evans. You - can see the full line up of speakers and sessions at - http://phpconference.nl/schedule/.

-

- Early Bird pricing is in effect till April 30th, 2009. Save €55-€100 on ticket - prices if you purchase before the deadline. -

-

- For full details on DPC09 and information on how to order your tickets, visit the - conference web site at http://phpconference.nl. -

-
- -
-
- -
-
-
-

Google Summer of Code 2009

-
- [27-Mar-2009] -
-

- Once again we are happy to announce our involvement with the Google Summer of Code project. - Be sure to check our program - at this years GSoC. -

-

- We invite everyone to look at the list of ideas for - this years GSoC, and get involved. Students are welcome to propose their own ideas, and we - will consider all applications that are received before the April 3rd deadline. So, thanks to - everyone involved and we look forward to seeing many students join us on this great adventure! -

-
- -
-
- -
-
-
-

PHP 5.3.0RC1 Release Announcement

-
- [24-Mar-2009] -
-

The PHP development team is proud to announce the availability of the first release candidate of PHP 5.3.0 (PHP 5.3.0RC1). This release marks the final phase in a major improvement in the 5.X series, which includes a large number of new features, bug fixes and security enhancements.

-

The key features of the PHP 5.3 branch include:

- -

This release also drops several extensions and unifies usage of internal APIs. Users should be aware of the following known backwards compatibility breaks:

- -

All users of PHP, especially those using earlier PHP 5 releases are advised to test this release as the final release of PHP 5.3.0 will eventually obsolete the 5.2 branch of PHP.

-

For users upgrading from previous PHP 5 releases there is an upgrading guide available here, detailing the changes between those releases and PHP 5.3.0.

-

Please also note that we are aware of issues surrounding float/integer handling in some edge cases (some of which have been introduced in PHP 5.2.0), as well as a crash bug in NSAPI, that will be fixed in PHP 5.3.0RC2. These issues however do not prevent wide spread testing of PHP 5.3.0RC1 as users can now rely on the feature set and implementation decisions no longer being changed.

-

For a full list of changes in PHP 5.3.0, see the CVS NEWS file.

-
- -
-
- -
-
-
-

5.2.9-1 (for Windows) released

-
- [10-Mar-2009] -
-

The PHP Development Team would like to announce the availability of a new Windows build of PHP - PHP 5.2.9-1

-

This release focuses on fixing a security flaw introduced by the cURL library (CVE-2009-0037). Please see the following for a full description: http://curl.haxx.se/docs/adv_20090303.html

-

Please note that the cURL related function is disabled when open_basedir or safe_mode enabled.

-

Note: Only the Windows packages are affected.

-
- -
-
- -
-
-
-

PHP 5.2.9 Released!

-
- [26-Feb-2009] -
-

The PHP development team would like to announce the immediate availability of PHP 5.2.9. This release focuses on improving the stability of the PHP 5.2.x branch with over 50 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

-

- Security Enhancements and Fixes in PHP 5.2.9: -

-
  • Fixed security issue in imagerotate(), background colour isn't validated correctly with a non truecolour image. Reported by Hamid Ebadi, APA Laboratory (Fixes CVE-2008-5498). (Scott)
  • Fixed a crash on extract in zip when files or directories entry names contain a relative path. (Pierre)
  • Fixed explode() behavior with empty string to respect negative limit. (Shire)
  • Fixed a segfault when malformed string is passed to json_decode(). (Scott)
-

Further details about the PHP 5.2.9 can be found in the release announcement for 5.2.9 the full list of changes is available in the ChangeLog for PHP 5.

-
- -
-
- -
-
-
-

php|tek 2009

-
- [20-Feb-2009] -
-

We are happy to invite you to this year's php|tek conference, to be held May 19-22, 2009 in Chicago, Illinois, and hosted (as always) by the folks at php|architect.

-

Join us to hear talks and tutorials on a variety of PHP subjects from PHP experts such as Ed Finkler, Sara Golemon, Chris Shiflett, Sebastian Bergmann, Derick Rethans, Stefan Priebsch, Christian Wenz and our mid-conference keynote by Andrei Zmievski on PHP6. You can see the full schedule at http://tek.mtacon.com/c/schedule - we guarantee you won't be disappointed.

-

This year we are also happy to invite you to our Unconference and Hack-a-thon which will be held in the early evenings, separate from the main schedule. You'll have a great time and won't miss a thing! This, coupled with our entertaining evening events and multiple networking opportunities will prove to make your trip to the conference an educational and memorable one!

-

Early bird pricing is in effect until February 28, 2009 so hurry to take advantage of this offer before it's too late!

-

For details on the conference, including registration and hotel information, please visit us at http://tek.mtacon.com/.

-
- -
-
- -
-
-
-

2009 PHP Quebec Conference

-
- [18-Feb-2009] -
-

- The seventh edition of the PHP Quebec Conference will take place in a few days, - between March 4th and 6th, 2009. It will be held in Montreal, Canada. -

-

- Don't miss out on this unique opportunity to learn more on latest development - techniques with PHP, RIA, Frameworks and project management. Meet with PHP - Community leaders such as: Zeev Suraski, Chris Shiflett, Andrei Zmievski, - Sara Golemon, John Coggeshall and many more. -

-

- With over 55 technical talks, 35 international speakers and multiple networking - activities you are guaranteed to take your career one step ahead in a friendly - environment. -

-

- Space is limited, register online before February 28th and secure your presence. - http://conf.phpquebec.com -

-
- -
-
-\(.*\)<\/a>//g */ -site_footer(); - diff --git a/archive/2010.php b/archive/2010.php deleted file mode 100644 index 832468c584..0000000000 --- a/archive/2010.php +++ /dev/null @@ -1,771 +0,0 @@ - - -

News Archive - 2010

- -

- Here are the most important news items we have published in 2010 on PHP.net. -

- -
-
-
-

PHP 5.2.16 Released!

-
- [16-Dec-2010] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.2.16. This release marks the end of support - for PHP 5.2. All users of PHP 5.2 are encouraged to upgrade to PHP 5.3. -

- -

- This release focuses on addressing a regression in open_basedir implementation - introduced in 5.2.15 in addition to fixing a crash inside PDO::pgsql - on data retrieval when the server is down. All users who have upgraded to 5.2.15 and are - utilizing open_basedir are strongly encouraged to upgrade to 5.2.16 or 5.3.4. -

- -

To prepare for upgrading to PHP 5.3, now that PHP 5.2's support ended, a - migration guide available on http://php.net/migration53, details the changes between - PHP 5.2 and PHP 5.3.

- -

For a full list of changes in PHP 5.2.16 see the ChangeLog at - http://www.php.net/ChangeLog-5.php#5.2.16.

-
- -
-
- -
-
-
-

PHP 5.3.4 Released!

-
- [10-Dec-2010] -
-

- The PHP development team is proud to announce the immediate release of PHP - 5.3.4. This is a maintenance release in the 5.3 series, which includes a - large number of bug fixes. -

- -

- Security Enhancements and Fixes in PHP 5.3.4: -

-
    -
  • Fixed crash in zip extract method (possible CWE-170).
  • -
  • Paths with NULL in them (foo\0bar.txt) are now considered as invalid (CVE-2006-7243).
  • -
  • Fixed a possible double free in imap extension (Identified by Mateusz - Kocielski). (CVE-2010-4150).
  • -
  • Fixed NULL pointer dereference in ZipArchive::getArchiveComment. - (CVE-2010-3709).
  • -
  • Fixed possible flaw in open_basedir (CVE-2010-3436).
  • -
  • Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950).
  • -
  • Fixed symbolic resolution support when the target is a DFS share.
  • -
  • Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with - large amount of data) (CVE-2010-3710).
  • -
- -

- Key Bug Fixes in PHP 5.3.4 include: -

-
    -
  • Added stat support for zip stream.
  • -
  • Added follow_location (enabled by default) option for the http stream - support.
  • -
  • Added a 3rd parameter to get_html_translation_table. It now takes a charset hint, like htmlentities et al.
  • -
  • Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect - zend multibyte at runtime.
  • -
  • Multiple improvements to the FPM SAPI.
  • -
  • Over 100 other bug fixes.
  • -
- -

- For users upgrading from PHP 5.2 there is a migration guide - available here, detailing - the changes between those releases and PHP 5.3. -

- -

- For a full list of changes in PHP 5.3.4, see the - ChangeLog. For source downloads - please visit our downloads page, Windows - binaries can be found on windows.php.net/download/. -

-
- -
-
- -
-
-
-

PHP 5.2.15 Released!

-
- [09-Dec-2010] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.2.15. This release marks the end of support - for PHP 5.2. All users of PHP 5.2 are encouraged to upgrade to PHP 5.3. -

- -

- This release focuses on improving the security and stability of the - PHP 5.2.x branch with a small number, of predominatly security fixes. -

- -

- Security Enhancements and Fixes in PHP 5.2.15: -

-
    -
  • Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE.
  • -
  • Fixed crash in zip extract method (possible CWE-170).
  • -
  • Fixed a possible double free in imap extension.
  • -
  • Fixed possible flaw in open_basedir (CVE-2010-3436).
  • -
  • Fixed NULL pointer dereference in ZipArchive::getArchiveComment. (CVE-2010-3709).
  • -
  • Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with large amount of data).
  • -
- -

- Key enhancements in PHP 5.2.15 include: -

-
    -
  • Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4).
  • -
  • Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapClient object).
  • -
- -

To prepare for upgrading to PHP 5.3, now that PHP 5.2's support ended, a - migration guide available on http://php.net/migration53, details the changes between - PHP 5.2 and PHP 5.3.

- -

For a full list of changes in PHP 5.2.15 see the ChangeLog at - http://www.php.net/ChangeLog-5.php#5.2.15.

-
- -
-
- -
-
-
-

Confoo

-
- [08-Nov-2010] -

- PHP Quebec is pleased to announce the 2011 edition of the http://confoo.ca/ Conference. - The Conference will take place in Montréal, Québec, Canada between March 9 and - 11th 2011. We are looking for speakers willing to share their expertise with - Canadian and United States PHP professionals programmers and managers. -

- -

- The Conference features technical one hour talks dedicated many aspects of - Web development such as mobile apps, security, databases, cloud, web standards, - accessibility, project management, agile methods, CMS & Frameworks, startups - and of course, PHP. -

- -

- Organizers will prioritize new and original topics in English or French. - For more information, visit the website: http://confoo.ca/ -

- -
-
- -
-
-
-

PHP'n Rio 10

-
- [02-Nov-2010] -

- The PHP Rio User Group - is pleased to announce their second edition of - the PHP'n Rio conference. It will be held on November 20th, - 2010, at the PUC Rio university, - Rio de Janeiro. It is a one day conference aimed on providing - experienced developers and beginners a chance to learn more about PHP - frameworks, web applications built in PHP, and the art of testing - code. -

- -

- No fees or subscription required. Participation is entirely free! -

- -

- Whether you live here or are around just enjoying the marvelous city, - come and join us :) For more information, please visit - - http://www.phprio.org/phpnrio10 - - (Portuguese only). -

- - -
-
- -
-
-
-

Zend / PHP Conference

-
- [30-Sep-2010] -
-

- The 6th Annual Zend/PHP Conference will bring together PHP developers and - IT managers from around the world to discuss PHP best practices and explore - new technologies. -

- -

- At ZendCon, you'll learn from a variety of technical sessions in 9 tracks, - renowned speakers, in-depth tutorials, an Exhibit Hall featuring industry - leaders and unique networking opportunities. -

- -
    -
  • - Learn PHP best practices for architecture, design and development -
  • -
  • - Discover new advances in the PHP language and how to best harness them -
  • -
  • - Gain insights from peers, PHP luminaries, community members and - thought-leaders -
  • -
  • - Discover how to deploy and scale large PHP applications -
  • -
  • - Explore new technologies like NoSQL and Cloud Computing -
  • -
  • - Learn how to effectively leverage Zend Framework and the changes coming - in Zend Framework 2.0 -
  • -
- -

- Register now so you don't miss out on the most popular tutorials and - savings. And join us at the 2010 Zend/PHP Conference - the largest - gathering of the PHP community! -

-
- -
-
- -
-
-
-

PHP Barcelona Conference 2010

-
- [25-Sep-2010] -
-

The PHP Barcelona User Group is pleased to announce the 4th edition of the PHP Barcelona Conference. Come to the shores of the Mediterranean for two fun-packed days of cutting edge PHP, Application Scalability, High Performance, Databases, Integration, Testing, Clouds (not in the sky, we hope) and many many more topics and surprises. The event will take place from the 29th to the 30th of October and will bring together Ilia Alshanetsky, Fabien Potencier, Stefan Priebsch, Lorenzo Alberton, Enrico Zimuel and many more of the shiniest names in the industry for 48 hours of intensive PHP and fiesta!

- -

For more information visit http://phpconference.es and book your spot now before tickets run out and don't lose out on one of the most appealing events on the PHP calendar :)

- -

See you in Barcelona!

-
- -
-
- -
-
-
-

International PHP Conference

-
- [25-Sep-2010] -
-

Not just another conference - this year has seen some high-valued - conferences (like our IPC Spring Edition in Berlin) and we are already - preparing the next big PHP conference. But this year makes a difference. - It's the 10th. anniversary of the International PHP Conference. Being in - business for ten years, we met some great people, made true fans and - encouraged PHP developers all over the world to commit their passion for - web-development to a growing community, that is behind some of the most - well-known websites today.

- -

Of course, a great event is nothing without great developers and we are very - happy to welcome the PHP community to our next International PHP Conference - 2010! Again, this conference is packed with workshops, sessions and keynotes - on some of the most trending topics in PHP and web development today. Wether - you are the developer dealing with core PHP features, the project lead that - is in continuous integration or the CTO looking for professional solutions, - this conference is the place to be. Not because of our 10 years of - experience in bringing together some of the most experienced heads in PHP - development - but because of this conference being one of Europe's leading - technology events that have been made possible by a really passionate - community. And that is ... by you.

-
- -
-
- -
-
-
-

PHPNW10

-
- [09-Sep-2010] -

- PHP North West is a PHP conference with a regional focus, bringing the best - of PHP speakers to the north-west of England on Saturday 9th October. A - full day of conference speakers over at least two tracks this should again - prove to be one of the best events for PHP user-led conferences in Europe. - We're also, as last year, having an informal half day of speakers on Sunday - 10th October, at the Museum of Science and Industry (MOSI) nearby. With a - weekend packed with all things PHP and a ticket price to suit business and - hobbyists alike there are no reasons to miss out - see you in Manchester :) -

- - -
-
- -
-
-
-

PHP 5.3.3 Released!

-
- [22-Jul-2010] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.3.3. This release focuses on improving the - stability and security of the PHP 5.3.x branch with over 100 bug - fixes, some of which are security related. All users are encouraged - to upgrade to this release. -

- -

- Backwards incompatible change: -

-
    -
  • Methods with the same name as the last element of a namespaced class name - will no longer be treated as constructor. This change doesn't affect - non-namespaced classes. - -

    <?php
    -namespace Foo;
    -class Bar {
    - public function Bar() {
    - // treated as constructor in PHP 5.3.0-5.3.2
    - // treated as regular method in PHP 5.3.3
    - }
    -}
    -?>

    -

    There is no impact on migration from 5.2.x because namespaces were only introduced in PHP 5.3.

  • -
-

- Security Enhancements and Fixes in PHP 5.3.3: -

-
    -
  • Rewrote var_export() to use smart_str rather than output buffering, prevents data disclosure if a fatal error occurs (CVE-2010-2531).
  • -
  • Fixed a possible resource destruction issues in shm_put_var().
  • -
  • Fixed a possible information leak because of interruption of XOR operator.
  • -
  • Fixed a possible memory corruption because of unexpected call-time pass by refernce and following memory clobbering through callbacks.
  • -
  • Fixed a possible memory corruption in ArrayObject::uasort().
  • -
  • Fixed a possible memory corruption in parse_str().
  • -
  • Fixed a possible memory corruption in pack().
  • -
  • Fixed a possible memory corruption in substr_replace().
  • -
  • Fixed a possible memory corruption in addcslashes().
  • -
  • Fixed a possible stack exhaustion inside fnmatch().
  • -
  • Fixed a possible dechunking filter buffer overflow.
  • -
  • Fixed a possible arbitrary memory access inside sqlite extension.
  • -
  • Fixed string format validation inside phar extension.
  • -
  • Fixed handling of session variable serialization on certain prefix characters.
  • -
  • Fixed a NULL pointer dereference when processing invalid XML-RPC requests (Fixes CVE-2010-0397, bug #51288).
  • -
  • Fixed SplObjectStorage unserialization problems (CVE-2010-2225).
  • -
  • Fixed possible buffer overflows in mysqlnd_list_fields, mysqlnd_change_user.
  • -
  • Fixed possible buffer overflows when handling error packets in mysqlnd.
  • -
- -

- Key enhancements in PHP 5.3.3 include: -

-
    -
  • Upgraded bundled sqlite to version 3.6.23.1.
  • -
  • Upgraded bundled PCRE to version 8.02.
  • -
  • Added FastCGI Process Manager (FPM) SAPI.
  • -
  • Added stream filter support to mcrypt extension.
  • -
  • Added full_special_chars filter to ext/filter.
  • -
  • Fixed a possible crash because of recursive GC invocation.
  • -
  • Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
  • -
  • Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function).
  • -
  • Fixed bug #52060 (Memory leak when passing a closure to method_exists()).
  • -
  • Fixed bug #52001 (Memory allocation problems after using variable variables).
  • -
  • Fixed bug #51723 (Content-length header is limited to 32bit integer with Apache2 on Windows).
  • -
  • Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3).
  • -
- -

- For users upgrading from PHP 5.2 there is a migration guide available on - http://php.net/migration53, detailing the changes between those - releases and PHP 5.3. -

-

- For a full list of changes in PHP 5.3.3, see the ChangeLog. -

- -
- -
-
- -
-
-
-

PHP 5.2.14 Released!

-
- [22-Jul-2010] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.2.14. This release focuses on improving the - stability of the PHP 5.2.x branch with over 60 bug fixes, some of which - are security related.

- -

- This release marks the end of the active support for PHP - 5.2. Following this release the PHP 5.2 series will receive no further - active bug maintenance. Security fixes for PHP 5.2 might be published on a - case by cases basis. All users of PHP 5.2 are encouraged to upgrade to - PHP 5.3.

- -

- Security Enhancements and Fixes in PHP 5.2.14: -

-
    - -
  • Rewrote var_export() to use smart_str rather than output buffering, prevents data disclosure if a fatal error occurs.
  • -
  • Fixed a possible interruption array leak in strrchr().(CVE-2010-2484)
  • -
  • Fixed a possible interruption array leak in strchr(), strstr(), substr(), chunk_split(), strtok(), addcslashes(), str_repeat(), trim().
  • -
  • Fixed a possible memory corruption in substr_replace().
  • -
  • Fixed SplObjectStorage unserialization problems (CVE-2010-2225).
  • -
  • Fixed a possible stack exaustion inside fnmatch().
  • -
  • Fixed a NULL pointer dereference when processing invalid XML-RPC requests (Fixes CVE-2010-0397, bug #51288).
  • -
  • Fixed handling of session variable serialization on certain prefix characters.
  • -
  • Fixed a possible arbitrary memory access inside sqlite extension. Reported by Mateusz Kocielski.
  • -
- -

- Key enhancements in PHP 5.2.14 include: -

-
    - -
  • Upgraded bundled PCRE to version 8.02.
  • -
  • Updated timezone database to version 2010.5.
  • -
  • Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).
  • -
  • Fixed bug #52237 (Crash when passing the reference of the property of a non-object).
  • -
  • Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function).
  • -
  • Fixed bug #51822 (Segfault with strange __destruct() for static class variables).
  • -
  • Fixed bug #51552 (debug_backtrace() causes segmentation fault and/or memory issues).
  • -
  • Fixed bug #49267 (Linking fails for iconv on MacOS: "Undefined symbols: _libiconv").
  • -
- -

To prepare for upgrading to PHP 5.3, now that PHP 5.2's support ended, a - migration guide available on http://php.net/migration53, details the changes between - PHP 5.2 and PHP 5.3.

-

For a full list of changes in PHP 5.2.14 see the ChangeLog at - http://www.php.net/ChangeLog-5.php#5.2.14.

-
- -
-
- -
-
-
-

TestFest 2010

-
- [23-Jun-2010] -
-

- PHP is proud to announce TestFest 2010. TestFest is PHP's annual campaign - to increase the overall code coverage of PHP through PHPT tests. During - TestFest, PHP User Groups and individuals around the world organize local - events where new tests are written and new contributors are introduced to - PHP's testing suite. -

-

- Last year was very successful with 887 tests submitted and a code coverage - increase of 2.5%. This year we hope to do better. -

-

- TestFest's own SVN repository and reporting tools are back online for this - year's event. New to TestFest this year are automated test environment build - tools as well as screencasts showing those build tools in action. -

-

- Please visit the TestFest - 2010 wiki page for all the details on events being organized in your area, - or find out how you can organize your own event. -

-
- -
-
- -
-
-
-

PHP | OSI Days 2010: Participate at the confluence of PHP's finest!

-
- [05-Jun-2010] -

PHP | OSI Days 2010 is the premier PHP conference being organised at - Asia's largest Open Source Conference - OSI Days 2010. We invite you to - come and lead a tutorial / session or participate in Panel Discussions - at OSI Days 2010 specifically for the PHP domain. The last date for - submitting a proposal for the conference is 15th June 2010. The - conference is scheduled for September 19-21, 2010 at Chennai, India. -

-

- Submit a proposal now! <http://osidays.com/node/add/proposal> -

-

If you are one of the following:

-
    -
  • Open Source Enthusiast
  • -
  • Developer/ Hacker/ Techie/ Geek
  • -
  • IT Manager/ CXO
  • -
  • Open Source Entrepreneur
  • -
  • Designer/ UI Expert
  • -
  • Open Source Trainer/ Educationist
  • -
-

We invite you to submit a proposal on one of the topics below:

-

-

    -
  • Cloud Computing: Tools and Platforms, Cloudnomics, Cloud for - Dummies & Others
  • -
  • PHP: PHP 5 & 6, PHP Security, Frameworks, Architecture / QA & Best - Practices
  • -
  • Drupal: Best Practices, Module Development, Theme Development, - Scaling/ Management/ Performance & Others
  • -
  • Databases: MySQL, NoSQL, CouchDB, PostgreSQL, Ingres, SQLite & Others
  • -
  • Java Script
  • -
  • Developer / Tools & Techniques
  • -
-

-

Types of Presentation

-
    -
  • 45 minute Session
  • -
  • minute Panel Discussion
  • -
  • Half Day tutorial / workshop
  • -
  • Full Day tutorial / workshop
  • -
-

Your proposals Should

-

-

    -
  • be Free of Marketing talks / self promotion / company promotion: - Please speak about ideas/ technology/ business and not about - yourself or your company. Talk about Open Source Projects/ - Products and not strictly commercial closed source products.
  • -
  • Clearly identify your target audience and what are the - pre-requisites while submitting the proposal
  • -
  • Have a clear title and limit the scope of your proposal to - something specific rather than trying to cover too much
  • -
-

-

Speaker Benefits

-

OSI Days offers its speakers tremendous opportunities for exposure and - recognition as an industry leader. Your session will attract many - technical & Business professionals interested in learning from your - example, expertise and experience. In appreciation of your contributions - as a Conference Speaker, we provide you many benefits, read them in full - detail. <http://osidays.com/speaker-benefit> -

-

Contact

-

For registration and more details visit: http://osidays.com or contact - Dhiraj Khare at dhiraj@osidays.com or call at +919811206582 -

- Team,
- OSI Days 2010 -

- -
-
- -
-
-
-

PHP 5.3.2 Released!

-
- [04-Mar-2010] -
-

- The PHP development team is proud to announce the immediate release of PHP - 5.3.2. This is a maintenance release in the 5.3 series, which includes a - large number of bug fixes. -

- -

- Security Enhancements and Fixes in PHP 5.3.2: -

-
    -
  • Improved LCG entropy. (Rasmus, Samy Kamkar)
  • -
  • Fixed safe_mode validation inside tempnam() when the directory path does not end with a /). (Martin Jansen)
  • -
  • Fixed a possible open_basedir/safe_mode bypass in the session extension identified by Grzegorz Stachowiak. (Ilia)
  • -
- -

- Key Bug Fixes in PHP 5.3.2 include: -

-
    -
  • Added support for SHA-256 and SHA-512 to php's crypt.
  • -
  • Added protection for $_SESSION from interrupt corruption and improved "session.save_path" check.
  • -
  • Fixed bug #51059 (crypt crashes when invalid salt are given).
  • -
  • Fixed bug #50940 Custom content-length set incorrectly in Apache sapis.
  • -
  • Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long).
  • -
  • Fixed bug #50723 (Bug in garbage collector causes crash).
  • -
  • Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16).
  • -
  • Fixed bug #50632 (filter_input() does not return default value if the variable does not exist).
  • -
  • Fixed bug #50540 (Crash while running ldap_next_reference test - cases).
  • -
  • Fixed bug #49851 (http wrapper breaks on 1024 char long headers).
  • -
  • Over 60 other bug fixes.
  • -
- -

- For users upgrading from PHP 5.2 there is a migration guide - available here, detailing - the changes between those releases and PHP 5.3. -

- -

- Further information and downloads: -

- -

- For a full list of changes in PHP 5.3.2, see the - ChangeLog. For source downloads - please visit our downloads page, Windows - binaries can be found on - windows.php.net/download/. -

- -
- -
-
- -
-
-
-

PHP 5.2.13 Released!

-
- [25-Feb-2010] -
-

- The PHP development team would like to announce the immediate - availability of PHP 5.2.13. This release focuses on improving the stability of - the PHP 5.2.x branch with over 40 bug fixes, some of which are security related. - All users of PHP 5.2 are encouraged to upgrade to this release. -

- -

- Security Enhancements and Fixes in PHP 5.2.13: -

-
    -
  • Fixed safe_mode validation inside tempnam() when the directory path does not end with a /). (Martin Jansen)
  • -
  • Fixed a possible open_basedir/safe_mode bypass in session extension identified by Grzegorz Stachowiak. (Ilia)
  • -
  • Improved LCG entropy. (Rasmus, Samy Kamkar)
  • -
- -

- Further details about the PHP 5.2.13 release can be found in the release announcement, and the full list of changes are available in the ChangeLog. -

-
- -
-
- -
-
-
-

Dutch PHP Conference

-
- [19-Feb-2010] -
-

- The Dutch PHP Conference is now in its 4th year and yet again promises - a varied and inspiring few days of - excellent technical content - including Sebastian Bergmann, Kevlin Henney, Chris Shiflett, Ilia Alshanetsky - and many other fascinating speakers and topics. -

-

- The event is held in Amsterdam from - 10th to - 12th June 2010, - for more information see the website at - http://phpconference.nl - - we hope you can join us in Amsterdam in June! -

-
- -
-
- -
-
-
-

ConFoo Web Techno Conference

-
- [16-Jan-2010] -
-

PHP Quebec and the ConFoo team is pleased to announce the schedule of - the ConFoo Web Techno Conference. - With over 130 presentations in 8 rooms, ConFoo brings you the best of - Web development. -

-

- The event will take place on March 8th to 12th in Montreal, at the - prestigious Hilton Bonaventure Hotel. -

-

- Over 100 specialists will be present at the conference to share their - knowledge during talks and training. Among them will be: - Rasmus Lerdorf, Terry Chay, Chris Shiflett and Morgan Tocker -

-

You would not want to miss the following presentations: - HTML5: Where Are We Now? (Mark Pilgrim), Andrei's Regex Clinic - (Andrei Zmievski), Security-Centered Design (Chris Shiflett) and Welcome - to the Wild Wild Web (Carl Mercier) -

-

- Register online before - January 22nd and save 200$! -
- Looking forward to see you at the conference. -

-
- -
-
- - -

News Archive - 2013

- -

- Here are the most important news items we have published in 2013 on PHP.net. -

- -
- - - - PHP.net news & announcements - - http://php.net/images/news/php-logo.gif - http://php.net/archive/index.php - - Webmaster - http://php.net/contact - php-webmaster@lists.php.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/archive/entries/2012-10-05-1.xml b/archive/entries/2012-10-05-1.xml deleted file mode 100644 index 96f4b849e8..0000000000 --- a/archive/entries/2012-10-05-1.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Midwest PHP Conference - http://www.php.net/archive/2012.php#id2012-10-05-1 - 2012-10-05T15:43:04-07:00 - 2012-10-05T15:43:04-07:00 - 2013-03-03 - - - rsz_midwestphpconference_customlogodesign_rl3.jpg - - -
-

- MidwestPHP (March 2 and 3rd, 2013 - St. Paul, MN, USA) - is a two-day conference in the heart of Minnesota featuring 40+ sessions covering a - wide range of topics ranging from PHP basics for newbies to advanced PHP concepts, - frameworks, databases, third party tools and components, and web development. -

-
-
-
diff --git a/archive/entries/2012-10-13-1.xml b/archive/entries/2012-10-13-1.xml deleted file mode 100644 index 1b17607c86..0000000000 --- a/archive/entries/2012-10-13-1.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Web Developer Conference (WDC) 2013 - http://www.php.net/archive/2012.php#id2012-10-13-1 - 2012-10-13T16:17:20-07:00 - 2012-10-13T16:17:20-07:00 - 2013-06-27 - - - Logo_WDC_2013.jpg - - -
-

- The Web Developer Conference (WDC) is the conference for web developers from the 24th – 27th - June 2013 in Nuremberg (Germany). The conference is addressed to developers of web applications, - content and online managers, agencies and webmasters. The WDC will be presented by the German - trade magazine "web & mobile developer". More information about the conference can be found on - the website via www.web-developer-conference.de. -

-
-
-
diff --git a/archive/entries/2012-11-02-1.xml b/archive/entries/2012-11-02-1.xml deleted file mode 100644 index 1706432e43..0000000000 --- a/archive/entries/2012-11-02-1.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - PHP UK Conference - http://www.php.net/archive/2012.php#id2012-11-02-1 - 2012-11-02T09:39:14-07:00 - 2013-01-19T14:02:30+00:00 - 2013-02-23 - - - phpuk2013.jpeg - - -
-

- PHP London are pleased to announce the 8th Annual PHP UK conference; - a 2-day event with 4 great tracks held at at The Brewery in the heart of the City of London on February 22nd- 23rd 2013. -

-

- With over 600 delegates, speakers, and sponsors, PHP UK conference aims to deliver fantastic up to date content about - PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities - to engage with international speakers and delegates, which makes the event one you won't want to miss. -

-

- Our call for papers is open until November the 22nd and we would love to hear from you! -

-
-
-
diff --git a/archive/entries/2012-11-03-1.xml b/archive/entries/2012-11-03-1.xml deleted file mode 100644 index df28d1e672..0000000000 --- a/archive/entries/2012-11-03-1.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - SunshinePHP Developer Conference - http://www.php.net/archive/2012.php#id2012-11-03-1 - 2012-11-03T13:04:07-07:00 - 2013-01-19T08:18:26-05:00 - 2013-02-08 - - - sunshine2013.png - - -
-

- SoFloPHP is excited to present the inaugural SunshinePHP Developer Conference in Miami, Florida - from February 8th - 9th, 2013. This 2 day event will feature 3 awesome tracks, with one track - dedicated to Symfony. We are also planning an Uncon, as well as a hack event, and many - opportunities to socialize with the PHP community. Please register soon to take advantage of - our early bird discounted rate before it ends. -

-

- In February when the rest of the world is cold and snowy, it is sunny and beautiful in - Florida. Come join us for some sun and learning. -

-
-
-
diff --git a/archive/entries/2012-11-15-1.xml b/archive/entries/2012-11-15-1.xml deleted file mode 100644 index 07714d4aff..0000000000 --- a/archive/entries/2012-11-15-1.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - PHP 5.5.0 Alpha1 released - http://www.php.net/archive/2012.php#id2012-11-15-1 - 2012-11-15T14:10:06+00:00 - 2012-11-15T14:10:06+00:00 - - - - - -
-

- The PHP development team announces the immediate availability of - PHP 5.5.0alpha1. This release marks the beginning of the PHP 5.5.0 release cycle. - All users of PHP are encouraged to test this version carefully, - and report any bugs in the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0 Alpha 1 comes with new features such as (incomplete list) : -

-
    -
  • support for Generators,
  • -
  • a new password hashing API,
  • -
  • support for finally in try/catch blocks
  • -
  • support for list() in foreach,
  • -
  • constant array/string dereferencing,
  • -
  • ext/intl improvement.
  • -
-

We also dropped support for Windows XP and 2003.

- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0 Alpha 1 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Thank you for helping us making PHP better. -

- -
-
-
diff --git a/archive/entries/2012-11-22-1.xml b/archive/entries/2012-11-22-1.xml deleted file mode 100644 index 08d9527c58..0000000000 --- a/archive/entries/2012-11-22-1.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - PHP 5.4.9 and PHP 5.3.19 released! - http://www.php.net/archive/2012.php#id2012-11-22-1 - 2012-11-22T17:54:29+01:00 - 2012-11-22T17:54:29+01:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP 5.4.9 and PHP 5.3.19. These releases fix over 15 bugs. All users of PHP are encouraged to upgrade to PHP 5.4.9, or at least 5.3.19.

-

For source downloads of PHP 5.4.9 and PHP 5.3.19 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

-

The list of changes are recorded in the ChangeLog.

-
-
-
diff --git a/archive/entries/2012-12-19-1.xml b/archive/entries/2012-12-19-1.xml deleted file mode 100644 index 32e109e3f4..0000000000 --- a/archive/entries/2012-12-19-1.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - php[tek] 2013 Conference - http://php.net/archive/2012.php#id2012-12-19-1 - 2012-12-19T14:57:57-08:00 - 2013-01-19T14:02:30+00:00 - 2013-05-14 - - - tek13_badge.png - - -
-

We are pleased to announce that tek13 will be taking place this - year again at it's traditional location in Chicago, IL. This year's - dates are from May 14th - 17th, 2013. It will again be a 3-track - conference with a focus on the community.

- -

The Call for - Papers has been announced and will be running until January 15th, - 2013. Conference registration will open on January 1st. We look - forward to seeing many of you there this year!

-
-
-
diff --git a/archive/entries/2012-12-20-1.xml b/archive/entries/2012-12-20-1.xml deleted file mode 100644 index fe2377650e..0000000000 --- a/archive/entries/2012-12-20-1.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - PHP 5.4.10 and PHP 5.3.20 released! - http://php.net/archive/2012.php#id2012-12-20-1 - 2012-12-20T11:38:49+00:00 - 2012-12-20T11:38:49+00:00 - - - - - -
-
-

The PHP development team announces the immediate availability of PHP 5.4.10 and PHP 5.3.20. These releases fix about 15 bugs. Please note that the PHP 5.3 series will enter an end of life cycle and receive only critical fixes as of March 2013. All users of PHP are encouraged to upgrade to PHP 5.4.

-

For source downloads of PHP 5.4.10 and PHP 5.3.20 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

-

The list of changes are recorded in the ChangeLog.

-
-
-
-
diff --git a/archive/entries/2012-12-20-2.xml b/archive/entries/2012-12-20-2.xml deleted file mode 100644 index 49e0399621..0000000000 --- a/archive/entries/2012-12-20-2.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - PHPBenelux Conference 2013 - http://php.net/archive/2012.php#id2012-12-20-2 - 2012-12-20T12:16:46-08:00 - 2012-12-20T12:16:46-08:00 - 2013-01-26 - - - phpbenelux_conference_logo-01-e1344277762627.png - - -
-

- After a very successful 2012 edition, we are proud to announce PHPBenelux - Conference 2013. This event will take place on Friday January 25th and - Saturday January 26th 2013 in Antwerp, Belgium. We organize a community - oriented conference that is built around an excellent lineup and awesome - socials. Our schedule has been announced and tickets are available. Go to - http://conference.phpbenelux.eu/2013/ for more information. -

-
-
-
diff --git a/archive/entries/2012-12-21-1.xml b/archive/entries/2012-12-21-1.xml deleted file mode 100644 index 5cd0587a65..0000000000 --- a/archive/entries/2012-12-21-1.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - PHP 5.5.0 Alpha2 released - http://php.net/archive/2012.php#id2012-12-21-1 - 2012-12-21T16:19:14+00:00 - 2012-12-21T16:19:14+00:00 - - - - - -
-

- The PHP development team announces the immediate availability of - PHP 5.5.0alpha2. This release adds new features and fix some bugs from alpha1. - All users of PHP are encouraged to test this version carefully, - and report any bugs in the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0 Alpha 2 comes with new features and improvements such as (incomplete list) : -

-
    -
  • Support for using empty() on the result of function calls and - other expressions, -
  • -
  • Systemtap support by enabling systemtap compatible dtrace probes on - linux, -
  • -
  • Optimized access to temporary and compiled VM variables. - 8% less memory reads. -
  • -
-

- Please, note that this alpha version also introduces the ext/mysql depreciation. -

- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0 Alpha 2 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Thank you for helping us making PHP better. -

-
-
-
diff --git a/archive/entries/2013-01-10-1.xml b/archive/entries/2013-01-10-1.xml deleted file mode 100644 index afe7f03968..0000000000 --- a/archive/entries/2013-01-10-1.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - PHP 5.5.0 Alpha3 released - http://php.net/archive/2013.php#id2013-01-10-1 - 2013-01-10T14:42:37+00:00 - 2013-01-10T14:42:37+00:00 - - - - - -
-

- The PHP development team announces the release of PHP 5.5.0alpha3. - This release adds few features and fix some bugs from alpha2. - All users of PHP are encouraged to test this version carefully, - and report any bugs in the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0 Alpha 3 comes with new features and improvements such as (incomplete list) : -

-
    -
  • Generator::throw() method, -
  • -
  • New cURL functions and options such as curl_escape(), curl_multi_setopt(), curl_multi_strerror(), - curl_pause(), curl_reset()... -
  • -
  • Max-Age attribute support in setcookie(), -
  • -
  • Few bug fixes in mysqlnd and core -
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0 Alpha 3 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Thank you for supporting PHP. -

-
-
-
diff --git a/archive/entries/2013-01-11-1.xml b/archive/entries/2013-01-11-1.xml deleted file mode 100644 index 493943c9ff..0000000000 --- a/archive/entries/2013-01-11-1.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - ConFoo: Last Chance to Save $145 - http://www.php.net/archive/2013.php#id2013-01-11-1 - 2013-01-11T21:31:28+00:00 - 2013-01-11T21:31:28+00:00 - 2013-02-25 - - - confoo-2013-php.jpg - - -
-

Save $145 on ConFoo tickets by purchasing before January 20th. Register online without delay. ConFoo 2013 will be held on February 27th through March 1st in Montreal, Canada and is loaded with PHP content.

- -

We gathered 100 speakers from around the world to talk about all aspects of web programming. The conference is preceeded by two training days. Places are very limited. Choose from 4 training topics:

- -
    -
  • Advanced PHP Training (Sebastian Bergmann, Arne Blankerts and Stefan Priebsch)
  • -
  • PHP Web Security: From Exploitation to Correction (Jonathan Marcil)
  • -
  • Practical Symfony2 (Hugo Hamon)
  • -
  • JavaScript Training (Laurent Villeneuve)
  • -
-
-
-
diff --git a/archive/entries/2013-01-17-1.xml b/archive/entries/2013-01-17-1.xml deleted file mode 100644 index d5bf89754a..0000000000 --- a/archive/entries/2013-01-17-1.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - PHP 5.4.11 and PHP 5.3.21 released! - http://php.net/archive/2013.php#id2013-01-17-1 - 2013-01-17T14:54:00+00:00 - 2013-01-17T14:54:00+00:00 - - - - - -
-
-

The PHP development team announces the immediate availability of PHP 5.4.11 and PHP 5.3.21. These releases fix about 10 bugs. All users of PHP are encouraged to upgrade to PHP 5.4.

-

For source downloads of PHP 5.4.11 and PHP 5.3.21 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

-

The list of changes are recorded in the ChangeLog.

-
-
-
-
diff --git a/archive/entries/2013-01-24-1.xml b/archive/entries/2013-01-24-1.xml deleted file mode 100644 index 5aa2756599..0000000000 --- a/archive/entries/2013-01-24-1.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - PHP 5.5.0alpha4 released - http://php.net/archive/2013.php#id2013-01-24-1 - 2013-01-24T10:28:02+00:00 - 2013-01-24T10:28:02+00:00 - - - - - -
-

- The PHP development team announces the release of PHP 5.5.0alpha4. - This release fixes some bugs from alpha3 and adds some new features. - All users of PHP are encouraged to test this version carefully, - and report any bugs in the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0alpha4 is shipped with new features and improvements such as (incomplete list): -

-
    -
  • Class Name Resolution as scalar via "class" keyword, -
  • -
  • Added DateTimeImmutable class, a variant of DateTime that only returns the - modified state instead of changing itself -
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0alpha4 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Alpha4 is the last alpha for PHP 5.5. We are now beginning the betas, and the first beta - is expected for February 7th. Betas won't add any new features but consolidate the source - code and fix found bugs. -

- -

- Thank you for supporting PHP. -

-
-
-
diff --git a/archive/entries/2013-02-07-1.xml b/archive/entries/2013-02-07-1.xml deleted file mode 100644 index 155d0fd2e3..0000000000 --- a/archive/entries/2013-02-07-1.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - php[tek] 2013: Schedule Posted - http://php.net/archive/2013.php#id2013-02-07-1 - 2013-02-07T17:45:52-08:00 - 2013-02-07T17:45:52-08:00 - 2013-05-17 - - - tek13_badge.png - - -
-

The conference - schedule & speaker selection for tek13 have now been posted online. - tek13 is taking place from May 14th - 17th, 2013 in it's traditional - Chicago, IL location. This year we've decided to expand the conference, - and it is now running 4 parallel tracks! Register - soon as the Early Bird discount rate expires on February 28th.

-
-
-
diff --git a/archive/entries/2013-02-12-1.xml b/archive/entries/2013-02-12-1.xml deleted file mode 100644 index f6dcdfee1a..0000000000 --- a/archive/entries/2013-02-12-1.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Lone Star PHP 2013 - http://php.net/archive/2013.php#id2013-02-12-1 - 2013-02-12T17:20:07-08:00 - 2013-02-12T17:20:07-08:00 - 2013-02-28 - - - logo-lonestarphp.png - - -
-

Lone Star PHP is back again for its 3rd year in Dallas, Texas from June 28th - 29th. This 2 day event will offer 2 tracks showcasing amazing speakers from all over the PHP community.

-

Come join more than 200 developers for 2 days of learning and networking. This year will be featuring a brand new focused 1 day track, PHP Fundamentals. -

-

Call for Papers are open until February 28th, 2013. Get your talk ideas in quick and join us in Dallas! Early bird registration opening soon!

-
-
-
diff --git a/archive/entries/2013-02-21-1.xml b/archive/entries/2013-02-21-1.xml deleted file mode 100644 index 9f1b79c4f2..0000000000 --- a/archive/entries/2013-02-21-1.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - PHP 5.4.12 and PHP 5.3.22 released! - http://php.net/archive/2013.php#id2013-02-21-1 - 2013-02-21T20:38:02+00:00 - 2013-02-21T20:38:02+00:00 - - - - - -
-
-
-

The PHP development team announces the immediate availability of PHP 5.4.12 and PHP 5.3.22. These releases fix about 10 bugs. All users of PHP are encouraged to upgrade to PHP 5.4.12.

- -

For source downloads of PHP 5.4.12 and PHP 5.3.22 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

-

The list of changes are recorded in the ChangeLog.

-
-
-
-
-
diff --git a/archive/entries/2013-02-21-2.xml b/archive/entries/2013-02-21-2.xml deleted file mode 100644 index 22a1a217b6..0000000000 --- a/archive/entries/2013-02-21-2.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - PHP 5.5.0alpha5 released - http://php.net/archive/2013.php#id2013-02-21-2 - 2013-02-21T13:33:25+00:00 - 2013-02-21T13:33:25+00:00 - - - - - -
-

- The PHP development team announces the release of PHP 5.5.0alpha5. - This release fixes some bugs from alpha4 and adds some new features. - All users of PHP are encouraged to test this version carefully, - and report any bugs in the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0alpha5 is shipped with new features and improvements. Here is an incomplete list: -

-
    -
  • Added the ability to change the tmp dir PHP will use during runtime, using a new php.ini - entry, -
  • -
  • Added mysqli_begin_transaction()/mysqli::begin_transaction(). Implemented all - options, per MySQL 5.6, which can be used with START TRANSACTION, COMMIT - and ROLLBACK through options to mysqli_commit()/mysqli_rollback() and their - respective OO counterparts. - These changes are reflected in the mysqlnd API as well, -
  • -
  • - Added recvmsg() and sendmsg() wrappers for ext/sockets -
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0alpha5 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Alpha5 is the last alpha for PHP 5.5. There has been a delay in alpha releases due to late coming new features. - We are now beginning the betas, and the first beta - is expected for March 7th. Betas won't add any new features, except the first one, but consolidate the source - code and fix found bugs. -

- -

- Thank you for supporting PHP. -

-
-
-
diff --git a/archive/entries/2013-02-24-1.xml b/archive/entries/2013-02-24-1.xml deleted file mode 100644 index 2af095d708..0000000000 --- a/archive/entries/2013-02-24-1.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - International PHP Conference - http://php.net/archive/2013.php#id2013-02-24-1 - 2013-02-24T15:16:20-08:00 - 2013-02-24T15:16:20-08:00 - 2013-06-05 - - - ipc2013.jpg - - -
-

International PHP Conference – June 2-5, 2013, Maritim proArte -

-

The International PHP Conference is a globally recognized event for PHP developers, webworkers, IT managers and everyone interested in web-technology.

-

Again, the conference will focus on main topics for developers and core-technologies for decision makers. We will show how to scale your applications, explain the details of Continuous Integration or evaluate different approaches to NoSQL. Attendees will have the opportunity to meet with speakers, core-developers and consultants, often there is a chance for an evaluation of your code. Community as well as enterprise projects profit from our international reputation and impulses given from the developer community.

-
-
-
diff --git a/archive/entries/2013-03-07-1.xml b/archive/entries/2013-03-07-1.xml deleted file mode 100644 index ca26121a88..0000000000 --- a/archive/entries/2013-03-07-1.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - PHP 5.5.0alpha6 released - http://php.net/archive/2013.php#id2013-03-07-1 - 2013-03-07T13:26:26+00:00 - 2013-03-07T13:26:26+00:00 - - - - - -
-

- The PHP development team announces the release of PHP 5.5.0alpha6. - This release fixes some bugs from alpha5. It also serves as a delay for our next release, beta1, - integrating ZendOptimizer+ OPCode cache which is not ready yet to be merged. - All users of PHP are encouraged to test this version carefully, - and report any bugs in the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0alpha6 is shipped with improvements. Here is an incomplete list: -

-
    -
  • Fixed a bug where uninitialized ++$foo->bar; does not cause a notice,
  • -
  • Updated bundled PCRE 8.32,
  • -
  • Fixed a bug in ext/sockets where sendmsg/recvmsg shutdown handler causes segfault
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0alpha6 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Our first beta should show up on 21st of March. -

- -

- Thank you for supporting PHP. -

- -
-
-
diff --git a/archive/entries/2013-03-14-1.xml b/archive/entries/2013-03-14-1.xml deleted file mode 100644 index 0c1a4d7131..0000000000 --- a/archive/entries/2013-03-14-1.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - PHP 5.4.13 and PHP 5.3.23 released! - http://php.net/archive/2013.php#id2013-03-14-1 - 2013-03-14T20:38:02+00:00 - 2013-03-14T20:38:02+00:00 - - - - - -
-
-
-

The PHP development team announces the immediate availability of PHP 5.4.13 and PHP 5.3.23. These releases fix about 15 bugs, including fixes for CVE-2013-1643 and CVE-2013-1635. All users of PHP are encouraged to upgrade to PHP 5.4.13.

- -

For source downloads of PHP 5.4.13 and PHP 5.3.23 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

-

The list of changes are recorded in the ChangeLog.

-
-
-
-
-
diff --git a/archive/entries/2013-03-21-1.xml b/archive/entries/2013-03-21-1.xml deleted file mode 100644 index 04934b35c6..0000000000 --- a/archive/entries/2013-03-21-1.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - PHP 5.5.0 beta1 available - http://php.net/archive/2013.php#id2013-03-21-1 - 2013-03-21T12:45:18+00:00 - 2013-03-21T12:45:18+00:00 - - - - - -
-

- The PHP development team announces the release of the first beta of PHP 5.5.0. - This release is the first to include the Zend OPCache. - Please help our efforts to provide a stable PHP version and test this version carefully - against several different applications, with Zend OPCache enabled and report any bug in - the bug tracking system. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0beta1 is shipped with improvements. Here is an incomplete list: -

-
    -
  • Added Zend Opcache extension (but disabled by ini setting),
  • -
  • Added array_column function which returns a column in a multidimensional - array,
  • -
  • Added support for non-scalar Iterator keys in foreach,
  • -
  • Added support for changing the process's title in CLI/CLI-Server SAPIs
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0beta1 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- This beta marks the beginning of the feature freeze. No new - features will be added to PHP 5.5 after this point. Please, - test and help us to roll out a stable release. Our next beta is - planned for April 4th. -

- -

- Thank you for supporting PHP. -

- -
-
-
diff --git a/archive/entries/2013-03-28-1.xml b/archive/entries/2013-03-28-1.xml deleted file mode 100644 index 5188cbb543..0000000000 --- a/archive/entries/2013-03-28-1.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - PHP 5.5 beta2 released - http://php.net/archive/2013.php#id2013-03-28-1 - 2013-03-28T08:55:45+00:00 - 2013-03-28T08:55:45+00:00 - - - - - -
-

- The PHP development team announces the release of the second beta of PHP 5.5.0. - This release fixes some bugs from beta one that could prevent the release from compiling. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0beta2 is shipped with some bug fixes. Here is an incomplete list: -

-
    -
  • Fixed a memoryleak when using the same variablename 2times in - function declaration.
  • -
  • Fixed a compilation fail with error: conflicting types for 'zendparse'
  • -
  • Fixed Debug backtrace changed behavior since 5.4.10 or 5.4.11
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0beta2 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Our next beta is expected for April 11th. -

- -

- Thank you for supporting PHP. -

- -
-
-
diff --git a/archive/entries/2013-04-06-1.xml b/archive/entries/2013-04-06-1.xml deleted file mode 100644 index 280cc7080e..0000000000 --- a/archive/entries/2013-04-06-1.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - Northeast PHP Technical Conference - http://php.net/archive/2013.php#id2013-04-06-1 - 2013-04-06T09:51:03-07:00 - 2013-04-06T09:51:03-07:00 - 2013-05-01 - - - NENA_logo_2013.png - - -
-

2nd Annual Northeast PHP Technical Conference Announced! -

-

Call for Papers and Workshops. -

-

- This year’s Northeast PHP Conference will once again be held in Boston, MA from August 16 to 18. The call for speakers is currently open and will close at the end of April, with speaker selection being determined by the end of May. This year we are adding a day to the front of the weekend for half-day workshops, so please feel free to make those proposals as well. For more information: -

-

http://www.nephp.org/

-
-
-
diff --git a/archive/entries/2013-04-11-1.xml b/archive/entries/2013-04-11-1.xml deleted file mode 100644 index c5d3411853..0000000000 --- a/archive/entries/2013-04-11-1.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - PHP 5.5 beta3 is available - http://php.net/archive/2013.php#id2013-04-11-1 - 2013-04-11T08:32:44+00:00 - 2013-04-11T08:32:44+00:00 - - - - - -
-

- The PHP development team announces the release of the 3rd beta of PHP 5.5.0. - This release fixes some bugs against beta 2. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0beta3 is shipped with some bug fixes and improvements. Here is an incomplete list: -

-
    -
  • Drop support for bison < 2.4 when building PHP from GIT source.
  • -
  • Fixed bug #54567 (DateTimeZone serialize/unserialize)
  • -
  • Fixed bug #64555 (foreach no longer copies keys if they are interned)
  • -
  • Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap)
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0beta3 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Our next beta is expected for April 25th. RC should follow. -

- -

- Thank you for supporting PHP. -

-
-
-
diff --git a/archive/entries/2013-04-11-2.xml b/archive/entries/2013-04-11-2.xml deleted file mode 100644 index 172ce883c9..0000000000 --- a/archive/entries/2013-04-11-2.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - PHP 5.4.14 and PHP 5.3.24 released! - http://php.net/archive/2013.php#id2013-04-11-2 - 2013-04-11T10:16:06+00:00 - 2013-04-11T10:16:06+00:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP 5.4.14 and PHP 5.3.24. These releases fix about 10 bugs aswell as upgrading the bundled PCRE library. All users of PHP are encouraged to upgrade to PHP 5.4.14.

- -

For source downloads of PHP 5.4.14 and PHP 5.3.24 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

- -

The list of changes are recorded in the ChangeLog.

-
-
-
diff --git a/archive/entries/2013-04-12-1.xml b/archive/entries/2013-04-12-1.xml deleted file mode 100644 index 60bcacbdf2..0000000000 --- a/archive/entries/2013-04-12-1.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - PHP South Africa 2013 - http://php.net/archive/2013.php#id2013-04-12-1 - 2013-04-12T05:59:41-07:00 - 2013-04-12T05:59:41-07:00 - 2013-10-05 - - - phpsafrica.png - - -
-

- PHPSouthAfrica is a 2 - day conference (October 4th & 5th) to be hosted in the most - beautiful city in the world, Cape Town South Africa. It is aimed - at proficient developers, new developers and people who care about - developers. -

-

- PHP is one of the most popular web programming languages used today - to power most websites. As the language continues to grow stronger, - PHP has now been linked with mobile powered applications. We are - noticing a migration from mobile language applications to web based - technologies (JavaScript, HTML5,CSS). -

-

- PHPSouthAfrica has been a long time coming. With the increased - demand for PHP programmers, not only locally but also - internationally, our vision is to marry the latest technologies - with international speakers. We are creating a conference that - will hone established developers, but also assist up and coming - programmers develop and learn new skills.With the conference - based in Cape Town, it gives us the opportunity to showcase - “The Mother City,†voted one of the top 10 places to visit and - home of Table Mountain- one of the New7Wonders of Nature. -

-

Come and experience our great wine, food, beaches and people.

-

We would like to welcome you.

-
-
-
diff --git a/archive/entries/2013-04-23-1.xml b/archive/entries/2013-04-23-1.xml deleted file mode 100644 index 3fad1a8923..0000000000 --- a/archive/entries/2013-04-23-1.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - Dutch PHP Conference 2013 - http://php.net/archive/2013.php#id2013-04-23-1 - 2013-04-23T11:56:47-07:00 - 2013-04-23T11:56:47-07:00 - 2013-06-08 - - - dpc_2013.png - - -
-

- Ibuildings is proud to organise the seventh Dutch PHP Conference on June 7 and - 8, plus a pre-conference tutorial day on June 6. Both programs will be - completely in English so the only Dutch thing about it is the location. -

- -

- This year we have 30+ speakers gathering in Amsterdam. The 3-track main - conference covers topics like PHP 5.5, software design, APIs, Zend Framework 2, - Symfony 2, security, scalability and more. Our Tutorial Day has an additional - 16 in-depth sessions to choose from. -

- -

- Your DPC ticket also lets you into the Dutch Mobile Conference: an additional - two tracks about cutting edge javascript and non-native application - development. This year features several side events: a bigger and better - unconference, a Zend sponsored hackathon, a social in downtown Amsterdam, and a - Symfony2 certification exam. -

- -

- The Early Bird special ends April 28th, so book right away for a 15% discount. - We look forward to seeing you in June! -

-
-
-
diff --git a/archive/entries/2013-04-25-1.xml b/archive/entries/2013-04-25-1.xml deleted file mode 100644 index deb5c98ca3..0000000000 --- a/archive/entries/2013-04-25-1.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - PHP 5.5 beta 4 is now available - http://php.net/archive/2013.php#id2013-04-25-1 - 2013-04-25T08:18:09+00:00 - 2013-04-25T08:18:09+00:00 - - - - - -
-

- The PHP development team announces the release of the 4th beta of PHP 5.5.0. - This release fixes some bugs against beta 3 and cleans up some features. -

- - THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! - -

- PHP 5.5.0beta4 is shipped with some bug fixes. Here is the list: -

-
    -
  • Fixed bug #64677, execution operator `` stealing surrounding arguments.
  • -
  • Fixed bug #64342, ZipArchive::addFile() has to check for file existence.
  • -
  • Fixed Windows x64 version of stream_socket_pair() and improved error handling.
  • -
  • Remove curl stream wrappers
  • -
- -

You can read the full list of changes in the - NEWS file contained - in the release archive. -

- -

- For source downloads of PHP 5.5.0beta4 please visit - the download page, Windows binaries - can be found on windows.php.net/qa/. -

- -

- Next step is Release Candidate. Our 1st RC is expected for May 9th. -

- -

- Thank you for supporting PHP. -

-
-
-
diff --git a/archive/entries/2013-05-06-1.xml b/archive/entries/2013-05-06-1.xml deleted file mode 100644 index 488c701d64..0000000000 --- a/archive/entries/2013-05-06-1.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - PHP Conference Argentina - http://php.net/archive/2013.php#id2013-05-06-1 - 2013-05-06T18:39:48-07:00 - 2013-05-06T18:39:48-07:00 - 2013-10-05 - - - logo-php-argentina.png - - -
-

- 4-5 OCTOBER 2013, Buenos Aires, ARGENTINA -

-

- This year we gathered the best of the programming world. With several - talks that cover a wide range of topics related to web development, - PHP Conference - Argentina is a conference no programmer wishes to miss - (whether or not they use PHP.) -

-
-
-
diff --git a/archive/entries/2013-05-07-1.xml b/archive/entries/2013-05-07-1.xml deleted file mode 100644 index c4bbc74444..0000000000 --- a/archive/entries/2013-05-07-1.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - DevConf 2013 - http://www.php.net/archive/2013.php#id2013-05-07-1 - 2013-05-07T05:20:52+00:00 - 2013-05-07T05:20:52+00:00 - 2013-06-14 - - - devconfru2012.png - - -
-

- DevConf 2013 in Moscow, Russia on Jun 14 -

-

- DevConf is the ultimate meeting place for russian-speaking web-developers, - combining several language-specific conferences under one roof. -

-

- This year DevConf will include the following sections: -

-
    -
  • DevConf::PHP();
  • -
  • DevConf::Ruby();
  • -
  • DevConf::Python();
  • -
  • DevConf::Javascript();
  • -
  • DevConf::Mobi();
  • -
-

- Each section will feature several talks from the active contributors/authors of the language. - Among the invited speakers are Dmitry Stogov (maintainer of Zend Engine and Zend OpCache and many more), - Chiu-Ki Chan (Google), Lennart Regebro, Andrey Aksyonov (author of Sphinx), Alexey Rybak (Badoo), - Alexander Makarov (one of the main contributors to Yii), Sergey Petrunya (of MariaDB fame), - and many others, see more details on the official website. -

-
-
-
diff --git a/archive/entries/2013-05-09-1.xml b/archive/entries/2013-05-09-1.xml deleted file mode 100644 index 5a445915fd..0000000000 --- a/archive/entries/2013-05-09-1.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - PHP 5.4.15 and PHP 5.3.25 released! - http://php.net/archive/2013.php#id2013-05-09-1 - 2013-05-09T00:05:05-07:00 - 2013-05-09T00:05:05-07:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP 5.4.15 and PHP 5.3.25. These releases fix about 10 bugs aswell as upgrading the bundled libmagic library. All users of PHP are encouraged to upgrade to PHP 5.4.15.

- -

For source downloads of PHP 5.4.15 and PHP 5.3.25 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

- -

The list of changes are recorded in the ChangeLog.

-
-
-
diff --git a/archive/entries/2013-05-09-2.xml b/archive/entries/2013-05-09-2.xml deleted file mode 100644 index 75a5d85a81..0000000000 --- a/archive/entries/2013-05-09-2.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - PHP 5.5.0RC1 is available - http://php.net/archive/2013.php#id2013-05-09-2 - 2013-05-09T09:12:44+00:00 - 2013-05-09T09:12:44+00:00 - - - - - -
-

- The PHP development team announces the availability of the first release candidate of PHP 5.5. - This release fixes some bugs as well as some possible leaks from our last beta. -

- THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! -

- You can find an incomplete changelog of PHP 5.5.0RC1 here : -

-
    -
  • Ignore QUERY_STRING when sent in SCRIPT_FILENAME in FPM SAPI.
  • -
  • Fix build with system libgd >= 2.1 which is now the minimal - version required (as build with previous version is broken). - No change when bundled libgd is used.
  • -
  • Fixed some bugs in SNMP
  • -
  • Fixed bug where stream_select() fails with pipes returned by proc_open() - on Windows x64).
  • -
-

- To get the full changelog, please, check the NEWS file attached to the archive. - For source downloads of PHP 5.5.0RC1 please visit the download page, - Windows binaries can be found on windows.php.net/qa/. -

-

- Note that our release candidate cycle is only meant to bug fixes, no more features will be added to PHP 5.5 from now. -

-

- Please help us to identify bugs in order to ensure that the release is solid and all things behave as expected. - Please test this release candidate against your code base and report any problems that you encounter to the - QA mailing list and/or the PHP bug tracker. -

-

- We would like to thank all people helping us making PHP better by testing it and reporting problems, as well as all its - contributors for their great work on this 5.5 version of PHP. -

-
-
-
diff --git a/archive/entries/2013-05-09-3.xml b/archive/entries/2013-05-09-3.xml deleted file mode 100644 index 8bf49be150..0000000000 --- a/archive/entries/2013-05-09-3.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Seriously: PHP 5.4.15 and PHP 5.3.25 really were released! - http://php.net/archive/2013.php#id2013-05-09-3 - 2013-05-09T13:14:43-05:00 - 2013-05-09T13:14:43-05:00 - - - - - -
- -

We weren't trying to pull an April Fool's Day joke in May. A temporary glitch caused the latest distributions of PHP to not properly propagate to the mirror servers. This has been fixed at the root level, and it's now being distributed to all of the mirrors. We'll take some bacon to go with the egg on our faces, please!

- -

If you continue to experience issues with downloading these versions after 21:00 UTC on 9 May, 2013, please drop us a line at php-mirrors@lists.php.net, telling us from which mirror you're trying to download, and we'll get it resolved.

- -

We apologize for the delays and confusion this may have caused, and thank you for using PHP.

- -
-
-
diff --git a/archive/entries/2013-05-23-1.xml b/archive/entries/2013-05-23-1.xml deleted file mode 100644 index 84af8bce04..0000000000 --- a/archive/entries/2013-05-23-1.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - PHP 5.5.0RC2 is available - http://php.net/archive/2013.php#id2013-05-23-1 - 2013-05-23T08:16:02+00:00 - 2013-05-23T08:16:02+00:00 - - - - - -
-

- The PHP development team announces the availability of the second release candidate of PHP 5.5. - This release fixes some bugs against RC1 and improves overall stability. -

- THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! -

- You can find an incomplete changelog of PHP 5.5.0RC2 here : -

-
    -
  • Fixed a bug related to segfault on memory exhaustion within function definition.
  • -
  • Fixed bug in mbstring PHPTs which would crash on Windows x64.
  • -
  • Fixed a bug where Custom Exceptions could crash when internal properties overridden.
  • -
-

- To get the full changelog, please, check the NEWS file attached to the archive. - For source downloads of PHP 5.5.0RC2 please visit the download page, - Windows binaries can be found on windows.php.net/qa/. -

-

- Please help us to identify bugs in order to ensure that the release is solid and all things behave as expected. - Please test this release candidate against your code base and report any problems that you encounter to the - QA mailing list and/or the PHP bug tracker. -

-

- Thanks to all people helping on the PHP project. -

-
-
-
diff --git a/archive/entries/2013-06-04-1.xml b/archive/entries/2013-06-04-1.xml deleted file mode 100644 index 80b380aae5..0000000000 --- a/archive/entries/2013-06-04-1.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - Shanghai PHP conference 2013 - http://php.net/archive/2013.php#id2013-06-04-1 - 2013-06-04T10:56:01-07:00 - 2013-06-04T10:56:01-07:00 - 2013-06-30 - - - thinklamp2013.jpg - - -
-

ThinkInLAMP is pleased to announce the first Shanghai PHP conference 2013. - This event will be held on Sunday June 30th 2013 in Shanghai, China. A - community oriented conference which is organized by an excellent line up - and socials.

-

This event will concentrate on PHP languages and web based technologies - used today; extension, latest dynamics and new applications within the - increased demand for developers and everyone who is interested in PHP - language.

-

There will be more than 500 developers owned over 3 year’s - experiences andsenior technical persons come for learning and networking. - Register soon as the Early Bird discount rate expires on May 30.

-

Go to http://php.thinkinlamp.com/2013 for more information, we are looking - forward to seeing you in June! -

-
-
-
diff --git a/archive/entries/2013-06-06-1.xml b/archive/entries/2013-06-06-1.xml deleted file mode 100644 index 1e458b3a6d..0000000000 --- a/archive/entries/2013-06-06-1.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - PHP 5.5 RC3 is available - http://php.net/archive/2013.php#id2013-06-06-1 - 2013-06-06T17:01:36+00:00 - 2013-06-06T17:01:36+00:00 - - - - - -
-

- The PHP development team announces the availability of PHP 5.5 RC3. - This release fixes some bugs against RC2. -

- THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION! -

- You can find an incomplete changelog of PHP 5.5.0RC3 here : -

-
    -
  • Fixed bug causing segfault in gc_zval_possible_root)
  • -
  • Fixed bug about a heap based buffer overflow in quoted_printable_encode
  • -
  • hash_pbkdf2() truncates data when using default length and hex output
  • -
-

- To get the full changelog, please, check the NEWS file attached to the archive. - For source downloads of PHP 5.5.0RC3 please visit the download page, - Windows binaries can be found on windows.php.net/qa/. -

-

- We were pleased if you could test this release candidate against your code base and report any problems that you encounter to the - QA mailing list and/or the PHP bug tracker. -

-

- Thanks you helping us making PHP better. -

-
-
-
diff --git a/archive/entries/2013-06-06-2.xml b/archive/entries/2013-06-06-2.xml deleted file mode 100644 index 6460f7fb85..0000000000 --- a/archive/entries/2013-06-06-2.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - PHP 5.4.16 and PHP 5.3.26 released! - http://php.net/archive/2013.php#id2013-06-06-2 - 2013-06-06T13:19:21-07:00 - 2013-06-06T13:19:21-07:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP 5.4.16 and PHP 5.3.26. These releases fix about 15 bugs, including CVE-2013-2110. All users of PHP are encouraged to upgrade to PHP 5.4.16.

- -

For source downloads of PHP 5.4.16 and PHP 5.3.26 please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

- -

The list of changes are recorded in the ChangeLog.

-
-
-
diff --git a/archive/entries/2013-06-10-1.xml b/archive/entries/2013-06-10-1.xml deleted file mode 100644 index 8df21be732..0000000000 --- a/archive/entries/2013-06-10-1.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - International PHP Conference - http://php.net/archive/2013.php#id2013-06-10-1 - 2013-06-10T14:57:56-07:00 - 2013-06-10T14:57:56-07:00 - 2013-10-27 - - - ipc_2013.jpg - - -
-

The International PHP Conference is a globally recognized event for PHP developers, webworkers, IT managers and everyone interested in web technology.

-

We are about to start planning the next conference and if you have some projects to talk about, you can submit your sessions here: http://phpconference.com/cfp

-
-
-
diff --git a/archive/entries/2013-06-20-1.xml b/archive/entries/2013-06-20-1.xml deleted file mode 100644 index 85e73232c1..0000000000 --- a/archive/entries/2013-06-20-1.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - PHP 5.5.0 released. - http://php.net/archive/2013.php#id2013-06-20-1 - 2013-06-20T16:20:26+00:00 - 2013-06-20T16:20:26+00:00 - - - - - -
-

The PHP development team is proud to announce the immediate availability of PHP 5.5.0. - This release includes a large number of new features and bug fixes. -

- -

- The key features of PHP 5.5.0 include: -

- - -

- Changes that affect compatibility: -

- -
    -
  • PHP logo GUIDs have been removed.
  • -
  • Windows XP and 2003 support dropped.
  • -
  • Case insensitivity is no longer locale specific. All case insensitive matching for function, class and constant names is now performed in a locale independent manner according to ASCII rules.
  • -
- -

- For users upgrading from PHP 5.4, - a migration guide is available - detailing the changes between 5.4 and 5.5.0. -

- -

- For a full list of changes in PHP 5.5.0, see the ChangeLog. -

-
-
-
diff --git a/archive/entries/2013-07-04-1.xml b/archive/entries/2013-07-04-1.xml deleted file mode 100644 index 1e372c9dc3..0000000000 --- a/archive/entries/2013-07-04-1.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - PHP 5.4.17 released! - http://php.net/archive/2013.php#id2013-07-04-1 - 2013-07-04T20:33:50-07:00 - 2013-07-04T20:33:50-07:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP - 5.4.17. About 20 bugs were fixed. All users of PHP are encouraged to upgrade to this release.

- -

For source downloads of PHP 5.4.17 please visit our downloads page, - Windows binaries can be found on windows.php.net/download/. - The list of changes is recorded in the ChangeLog. -

- -
-
-
diff --git a/archive/entries/2013-07-11-1.xml b/archive/entries/2013-07-11-1.xml deleted file mode 100644 index 0594e2f243..0000000000 --- a/archive/entries/2013-07-11-1.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - PHP 5.3.27 Released - PHP 5.3 Reaching End of Life - http://php.net/archive/2013.php#id2013-07-11-1 - 2013-07-11T15:10:59+00:00 - 2013-07-11T15:10:59+00:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP 5.3.27. About 10 bugs were fixed, including a security fix in the XML parser (Bug #65236).

- -

Please Note: This will be the last regular release of the PHP 5.3 series. All users of PHP are encouraged to upgrade to PHP 5.4 or PHP 5.5. The PHP 5.3 series will receive only security fixes for the next year.

- -

For source downloads of PHP 5.3.27 please visit our downloads page, - Windows binaries can be found on windows.php.net/download/. - The list of changes is recorded in the ChangeLog. -

-
-
-
diff --git a/archive/entries/2013-07-18-1.xml b/archive/entries/2013-07-18-1.xml deleted file mode 100644 index d30bb6212c..0000000000 --- a/archive/entries/2013-07-18-1.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - PHP 5.5.1 Released - http://php.net/archive/2013.php#id2013-07-18-1 - 2013-07-18T15:53:15+00:00 - 2013-07-18T15:53:15+00:00 - - - - - -
-

The PHP development team announces the immediate availability of PHP 5.5.1. About 20 bugs were fixed including a security fix in the XML parser (Bug #65236).

- -

For source downloads of PHP 5.5.1 please visit our downloads page, - Windows binaries can be found on windows.php.net/download/. - The list of changes is recorded in the ChangeLog. -

-
-
-
diff --git a/archive/entries/2013-07-19-1.xml b/archive/entries/2013-07-19-1.xml deleted file mode 100644 index 64951953eb..0000000000 --- a/archive/entries/2013-07-19-1.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - Northeast PHP Technical Conference - http://php.net/archive/2013.php#id2013-07-19-1 - 2013-07-19T11:53:40-07:00 - 2013-07-19T11:53:40-07:00 - 2013-08-18 - - - NENA_logo_2013.png - - -
-

- 2nd Annual Northeast PHP Technical Conference - August 16 to 18! -

-

- This year’s Northeast PHP Conference will once again be held in - Boston, MA from August 16 to 18. This year we are adding a day to the - front of the weekend for half-day workshops. -

-

We have 2 great Keynote speakers lined up as well:

-

Eli White

-

- Eli is a strong advocate for PHP and used it in every project he's - work on. He is currently a Founding Partner & CTO of Musketeers.me, - and the Managing Editor of php|architect magazine. He is also an avid - writer (blogs, articles and books), and has spoken at numerous - conferences. -

-

and Terry Chay

-

- Terry Chay is administrative overhead (Director of Features - Engineering) at the Wikimedia Foundation, maintainers of Wikipedia. - And when he isn’t doing that, he’s saying outrageous things on his - blog.

-

- For tickets and more information: - http://www.nephp.org/ -

-
-
-
diff --git a/archive/entries/2013-07-19-2.xml b/archive/entries/2013-07-19-2.xml deleted file mode 100644 index 6da7c4ab56..0000000000 --- a/archive/entries/2013-07-19-2.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - Ski PHP 2014 - http://php.net/archive/2013.php#id2013-07-19-2 - 2013-07-19T11:56:29-07:00 - 2013-07-19T11:56:29-07:00 - 2014-01-14 - - - ski-php.png - - -
-

- For those who like to do more than just code, we're pleased to - announce Ski PHP 2014, which will be held on January 17 and 18, - 2014. In the U.S., this is a 3-day weekend, so attendees will be - able to enjoy the skiing, snowboarding, snowmobiling, and other - activities that Utah has to offer after the conclusion of the - conference. -

-

- We are looking for presentations on a variety of topics, including - frameworks, security, front-end, and data. Interested presenters - should submit a CFP at - https://www.skiphp.com/speak/package. - A generous speaker package will be provided for accepted speakers. -

-
-
-
diff --git a/archive/index.php b/archive/index.php deleted file mode 100644 index 47f6d3447a..0000000000 --- a/archive/index.php +++ /dev/null @@ -1,15 +0,0 @@ - - -HTMLPre - -# HTMLHead defines HTML code to insert within the -# block, immediately after the line. Maximum line length -# is 80 characters, so use multiple lines if needed. - -#HTMLHead <META NAME="author" CONTENT="The Webalizer"> - -HTMLHead <?php site_header("Stats"); ?> - -# HTMLBody defined the HTML code to be inserted, starting with the -# <BODY> tag. If not specified, the default is shown below. If -# used, you MUST include your own <BODY> tag as the first line. -# Maximum line length is 80 char, use multiple lines if needed. - -#HTMLBody <BODY BGCOLOR="#E8E8E8" TEXT="#000000" LINK="#0000FF" VLINK="#FF0000"> - -HTMLBody <?php ?> - -# HTMLPost defines the HTML code to insert immediately before the -# first <HR> on the document, which is just after the title and -# "summary period"-"Generated on:" lines. If anything, this should -# be used to clean up in case an image was inserted with HTMLBody. -# As with HTMLHead, you can define as many of these as you want and -# they will be inserted in the output stream in order of apperance. -# Max string size is 80 characters. Use multiple lines if you need to. - -#HTMLPost <BR CLEAR="all"> - -# HTMLTail defines the HTML code to insert at the bottom of each -# HTML document, usually to include a link back to your home -# page or insert a small graphic. It is inserted as a table -# data element (ie: <TD> your code here </TD>) and is right -# alligned with the page. Max string size is 80 characters. - -#HTMLTail <IMG SRC="msfree.png" ALT="100% Micro$oft free!"> - -# HTMLEnd defines the HTML code to add at the very end of the -# generated files. It defaults to what is shown below. If -# used, you MUST specify the </BODY> and </HTML> closing tags -# as the last lines. Max string length is 80 characters. - -#HTMLEnd </BODY></HTML> - -HTMLEnd <?php site_footer(); ?> - -# The Quiet option suppresses output messages... Useful when run -# as a cron job to prevent bogus e-mails. Values can be either -# "yes" or "no". Default is "no". Note: this does not suppress -# warnings and errors (which are printed to stderr). - -#Quiet no - -# ReallyQuiet will supress all messages including errors and -# warnings. Values can be 'yes' or 'no' with 'no' being the -# default. If 'yes' is used here, it cannot be overriden from -# the command line, so use with caution. A value of 'no' has -# no effect. - -#ReallyQuiet no - -# TimeMe allows you to force the display of timing information -# at the end of processing. A value of 'yes' will force the -# timing information to be displayed. A value of 'no' has no -# effect. - -#TimeMe no - -# GMTTime allows reports to show GMT (UTC) time instead of local -# time. Default is to display the time the report was generated -# in the timezone of the local machine, such as EDT or PST. This -# keyword allows you to have times displayed in UTC instead. Use -# only if you really have a good reason, since it will probably -# screw up the reporting periods by however many hours your local -# time zone is off of GMT. - -#GMTTime no - -# Debug prints additional information for error messages. This -# will cause webalizer to dump bad records/fields instead of just -# telling you it found a bad one. As usual, the value can be -# either "yes" or "no". The default is "no". It shouldn't be -# needed unless you start getting a lot of Warning or Error -# messages and want to see why. (Note: warning and error messages -# are printed to stderr, not stdout like normal messages). - -#Debug no - -# FoldSeqErr forces the Webalizer to ignore sequence errors. -# This is useful for Netscape and other web servers that cache -# the writing of log records and do not guarentee that they -# will be in chronological order. The use of the FoldSeqErr -# option will cause out of sequence log records to be treated -# as if they had the same time stamp as the last valid record. -# Default is to ignore out of sequence log records. - -#FoldSeqErr no - -# VisitTimeout allows you to set the default timeout for a visit -# (sometimes called a 'session'). The default is 30 minutes, -# which should be fine for most sites. -# Visits are determined by looking at the time of the current -# request, and the time of the last request from the site. If -# the time difference is greater than the VisitTimeout value, it -# is considered a new visit, and visit totals are incremented. -# Value is the number of seconds to timeout (default=1800=30min) - -#VisitTimeout 1800 - -# IgnoreHist shouldn't be used in a config file, but it is here -# just because it might be usefull in certain situations. If the -# history file is ignored, the main "index.html" file will only -# report on the current log files contents. Usefull only when you -# want to reproduce the reports from scratch. USE WITH CAUTION! -# Valid values are "yes" or "no". Default is "no". - -#IgnoreHist no - -# Country Graph allows the usage by country graph to be disabled. -# Values can be 'yes' or 'no', default is 'yes'. - -#CountryGraph yes - -# DailyGraph and DailyStats allows the daily statistics graph -# and statistics table to be disabled (not displayed). Values -# may be "yes" or "no". Default is "yes". - -#DailyGraph yes -#DailyStats yes - -# HourlyGraph and HourlyStats allows the hourly statistics graph -# and statistics table to be disabled (not displayed). Values -# may be "yes" or "no". Default is "yes". - -#HourlyGraph yes -#HourlyStats yes - -# GraphLegend allows the color coded legends to be turned on or off -# in the graphs. The default is for them to be displayed. This only -# toggles the color coded legends, the other legends are not changed. -# If you think they are hideous and ugly, say 'no' here :) - -#GraphLegend yes - -# GraphLines allows you to have index lines drawn behind the graphs. -# I personally am not crazy about them, but a lot of people requested -# them and they weren't a big deal to add. The number represents the -# number of lines you want displayed. Default is 2, you can disable -# the lines by using a value of zero ('0'). [max is 20] -# Note, due to rounding errors, some values don't work quite right. -# The lower the better, with 1,2,3,4,6 and 10 producing nice results. - -#GraphLines 2 - -# The "Top" options below define the number of entries for each table. -# Defaults are Sites=30, URL's=30, Referrers=30 and Agents=15, and -# Countries=30. TopKSites and TopKURLs (by KByte tables) both default -# to 10, as do the top entry/exit tables (TopEntry/TopExit). The top -# search strings and usernames default to 20. Tables may be disabled -# by using zero (0) for the value. - -#TopSites 30 -#TopKSites 10 -#TopURLs 30 -#TopKURLs 10 -#TopReferrers 30 -#TopAgents 15 -#TopCountries 30 -#TopEntry 10 -#TopExit 10 -#TopSearch 20 -#TopUsers 20 - -# The All* keywords allow the display of all URL's, Sites, Referrers -# User Agents, Search Strings and Usernames. If enabled, a seperate -# HTML page will be created, and a link will be added to the bottom -# of the appropriate "Top" table. There are a couple of conditions -# for this to occur.. First, there must be more items than will fit -# in the "Top" table (otherwise it would just be duplicating what is -# already displayed). Second, the listing will only show those items -# that are normally visable, which means it will not show any hidden -# items. Grouped entries will be listed first, followed by individual -# items. The value for these keywords can be either 'yes' or 'no', -# with the default being 'no'. Please be aware that these pages can -# be quite large in size, particularly the sites page, and seperate -# pages are generated for each month, which can consume quite a lot -# of disk space depending on the traffic to your site. - -#AllSites no -#AllURLs no -#AllReferrers no -#AllAgents no -#AllSearchStr no -#AllUsers no - -# The Webalizer normally strips the string 'index.' off the end of -# URL's in order to consolidate URL totals. For example, the URL -# /somedir/index.html is turned into /somedir/ which is really the -# same URL. This option allows you to specify additional strings -# to treat in the same way. You don't need to specify 'index.' as -# it is always scanned for by The Webalizer, this option is just to -# specify _additional_ strings if needed. If you don't need any, -# don't specify any as each string will be scanned for in EVERY -# log record... A bunch of them will degrade performance. Also, -# the string is scanned for anywhere in the URL, so a string of -# 'home' would turn the URL /somedir/homepages/brad/home.html into -# just /somedir/ which is probably not what was intended. - -#IndexAlias home.htm -#IndexAlias homepage.htm - -# The Hide*, Group* and Ignore* and Include* keywords allow you to -# change the way Sites, URL's, Referrers, User Agents and Usernames -# are manipulated. The Ignore* keywords will cause The Webalizer to -# completely ignore records as if they didn't exist (and thus not -# counted in the main site totals). The Hide* keywords will prevent -# things from being displayed in the 'Top' tables, but will still be -# counted in the main totals. The Group* keywords allow grouping -# similar objects as if they were one. Grouped records are displayed -# in the 'Top' tables and can optionally be displayed in BOLD and/or -# shaded. Groups cannot be hidden, and are not counted in the main -# totals. The Group* options do not, by default, hide all the items -# that it matches. If you want to hide the records that match (so just -# the grouping record is displayed), follow with an identical Hide* -# keyword with the same value. (see example below) In addition, -# Group* keywords may have an optional label which will be displayed -# instead of the keywords value. The label should be seperated from -# the value by at least one 'white-space' character, such as a space -# or tab. -# -# The value can have either a leading or trailing '*' wildcard -# character. If no wildcard is found, a match can occur anywhere -# in the string. Given a string "www.yourmama.com", the values "your", -# "*mama.com" and "www.your*" will all match. - -# Your own site should be hidden -HideSite ca.php.net - -# Your own site gives most referrals -HideReferrer ca.php.net/ - -# This one hides non-referrers ("-" Direct requests) -#HideReferrer Direct Request - -# Usually you want to hide these -HideURL *.gif -HideURL *.GIF -HideURL *.jpg -HideURL *.JPG -HideURL *.png -HideURL *.PNG -HideURL *.ra -HideURL *.css - -# Hiding agents is kind of futile -#HideAgent RealPlayer - -# You can also hide based on authenticated username -#HideUser root -#HideUser admin - -# Grouping options -#GroupURL /cgi-bin/* CGI Scripts -#GroupURL /images/* Images - -#GroupSite *.aol.com -#GroupSite *.compuserve.com - -#GroupReferrer yahoo.com/ Yahoo! -#GroupReferrer excite.com/ Excite -#GroupReferrer infoseek.com/ InfoSeek -#GroupReferrer webcrawler.com/ WebCrawler - -#GroupUser root Admin users -#GroupUser admin Admin users -#GroupUser wheel Admin users - -# The following is a great way to get an overall total -# for browsers, and not display all the detail records. -# (You should use MangleAgent to refine further...) - -#GroupAgent MSIE Micro$oft Internet Exploder -#HideAgent MSIE -#GroupAgent Mozilla Netscape -#HideAgent Mozilla -#GroupAgent Lynx* Lynx -#HideAgent Lynx* - -# HideAllSites allows forcing individual sites to be hidden in the -# report. This is particularly useful when used in conjunction -# with the "GroupDomain" feature, but could be useful in other -# situations as well, such as when you only want to display grouped -# sites (with the GroupSite keywords...). The value for this -# keyword can be either 'yes' or 'no', with 'no' the default, -# allowing individual sites to be displayed. - -#HideAllSites no - -# The GroupDomains keyword allows you to group individual hostnames -# into their respective domains. The value specifies the level of -# grouping to perform, and can be thought of as 'the number of dots' -# that will be displayed. For example, if a visiting host is named -# cust1.tnt.mia.uu.net, a domain grouping of 1 will result in just -# "uu.net" being displayed, while a 2 will result in "mia.uu.net". -# The default value of zero disable this feature. Domains will only -# be grouped if they do not match any existing "GroupSite" records, -# which allows overriding this feature with your own if desired. - -#GroupDomains 0 - -# The GroupShading allows grouped rows to be shaded in the report. -# Useful if you have lots of groups and individual records that -# intermingle in the report, and you want to diferentiate the group -# records a little more. Value can be 'yes' or 'no', with 'yes' -# being the default. - -#GroupShading yes - -# GroupHighlight allows the group record to be displayed in BOLD. -# Can be either 'yes' or 'no' with the default 'yes'. - -#GroupHighlight yes - -# The Ignore* keywords allow you to completely ignore log records based -# on hostname, URL, user agent, referrer or username. I hessitated in -# adding these, since the Webalizer was designed to generate _accurate_ -# statistics about a web servers performance. By choosing to ignore -# records, the accuracy of reports become skewed, negating why I wrote -# this program in the first place. However, due to popular demand, here -# they are. Use the same as the Hide* keywords, where the value can have -# a leading or trailing wildcard '*'. Use at your own risk ;) - -#IgnoreSite bad.site.net -#IgnoreURL /test* -#IgnoreReferrer file:/* -#IgnoreAgent RealPlayer -#IgnoreUser root - -# The Include* keywords allow you to force the inclusion of log records -# based on hostname, URL, user agent, referrer or username. They take -# precidence over the Ignore* keywords. Note: Using Ignore/Include -# combinations to selectivly process parts of a web site is _extremely -# inefficent_!!! Avoid doing so if possible (ie: grep the records to a -# seperate file if you really want that kind of report). - -# Example: Only show stats on Joe User's pages... -#IgnoreURL * -#IncludeURL ~joeuser* - -# Or based on an authenticated username -#IgnoreUser * -#IncludeUser someuser - -# The MangleAgents allows you to specify how much, if any, The Webalizer -# should mangle user agent names. This allows several levels of detail -# to be produced when reporting user agent statistics. There are six -# levels that can be specified, which define different levels of detail -# supression. Level 5 shows only the browser name (MSIE or Mozilla) -# and the major version number. Level 4 adds the minor version number -# (single decimal place). Level 3 displays the minor version to two -# decimal places. Level 2 will add any sub-level designation (such -# as Mozilla/3.01Gold or MSIE 3.0b). Level 1 will attempt to also add -# the system type if it is specified. The default Level 0 displays the -# full user agent field without modification and produces the greatest -# amount of detail. User agent names that can't be mangled will be -# left unmodified. - -MangleAgents 3 - -# The SearchEngine keywords allow specification of search engines and -# their query strings on the URL. These are used to locate and report -# what search strings are used to find your site. The first word is -# a substring to match in the referrer field that identifies the search -# engine, and the second is the URL variable used by that search engine -# to define it's search terms. - -SearchEngine yahoo.com p= -SearchEngine altavista.com q= -SearchEngine google.com q= -SearchEngine eureka.com q= -SearchEngine lycos.com query= -SearchEngine hotbot.com MT= -SearchEngine msn.com MT= -SearchEngine infoseek.com qt= -SearchEngine webcrawler searchText= -SearchEngine excite search= -SearchEngine netscape.com search= -SearchEngine mamma.com query= -SearchEngine alltheweb.com query= -SearchEngine northernlight.com qr= - -# The Dump* keywords allow the dumping of Sites, URL's, Referrers -# User Agents, Usernames and Search strings to seperate tab delimited -# text files, suitable for import into most database or spreadsheet -# programs. - -# DumpPath specifies the path to dump the files. If not specified, -# it will default to the current output directory. Do not use a -# trailing slash ('/'). - -#DumpPath /var/lib/httpd/logs - -# The DumpHeader keyword specifies if a header record should be -# written to the file. A header record is the first record of the -# file, and contains the labels for each field written. Normally, -# files that are intended to be imported into a database system -# will not need a header record, while spreadsheets usually do. -# Value can be either 'yes' or 'no', with 'no' being the default. - -#DumpHeader no - -# DumpExtension allow you to specify the dump filename extension -# to use. The default is "tab", but some programs are pickey about -# the filenames they use, so you may change it here (for example, -# some people may prefer to use "csv"). - -#DumpExtension tab - -# These control the dumping of each individual table. The value -# can be either 'yes' or 'no'.. the default is 'no'. - -#DumpSites no -#DumpURLs no -#DumpReferrers no -#DumpAgents no -#DumpUsers no -#DumpSearchStr no - -# End of configuration file... Have a nice day! diff --git a/bin/arial.ttf b/bin/arial.ttf deleted file mode 100644 index b26484c0d6..0000000000 Binary files a/bin/arial.ttf and /dev/null differ diff --git a/bin/barchart.phl b/bin/barchart.phl deleted file mode 100644 index edfb907932..0000000000 --- a/bin/barchart.phl +++ /dev/null @@ -1,385 +0,0 @@ -<?php /* -*- C++ -*- */ -/* -** $Id$ -** $Source$ -** -** PHP Class for creating bar charts using the GD library functions. -** -** Authors: Bjørn Borud, <borud@guardian.no> -*/ - -class barchart { - /* minimum allowed maximum */ - var $min_allowed_max; - - /* Image data */ - var $im; - var $width, $height; - var $white, $black, $gray; - var $data; - var $colors; - var $legends; - - /* margins for drawing area */ - var $left = 60; - var $right = 200; - var $top = 70; - var $bottom = 70; - var $y_tick_padding = 10; - - /* drawing parameters */ - var $bar_width; - var $bar_padding = 5; /* space between bars */ - var $y_scale; - - /* legends, labels and titles */ - var $y_label = ""; - var $title = ""; - - /* drawing area (the graph without borders etc.) */ - var $d_width, $d_height; - - var $y_ticks; - var $y_data_max; - var $y_bar_max; - - var $num_bars, $bar_width, $num_parts; - - /* default fonts */ - var $legend_font = 2; - - - /* Compute the values for Y axis ticks */ - function get_y_ticks ($y_max) { - $order_y = floor(log10($y_max)); - $magnitude = pow(10, $order_y); - $fdig = ($y_max / $magnitude) * 10; - $top = ceil($fdig) * $magnitude * 0.1; - - /* Limit number of divisions to max 10*/ - if ($fdig < 50) { - $divs = 0.5; - } else { - $divs = 1.0; - } - - /* compute number of horizontal Y lines */ - - $tlines = $top / ($divs * $magnitude); - for ($i = 0; $i < $tlines; $i++) { - $retval[] = ($i + 1) * $divs * $magnitude; - } - - return($retval); - } - - - /* find the max sum of a bar */ - function get_max_value ($d) { - $bar_count = count($d); - $part_count = count($d[0]); - $max_value = 0; - - for ($i = 0; $i < $bar_count; $i++) { - $sum = 0; - for ($j = 0; $j < $part_count; $j++) { - $sum += $d[$i][$j]; - } - - if ($sum > $max_value) { - $max_value = $sum; - } - } - /* If max is too small, set it to something sane. */ - if ($max_value <= $this->min_allowed_max) { - $max_value = $this->min_allowed_max; - } - - return($max_value); - } - - - function init($x, $y, $d, $c, $l) { - $this->min_allowed_max = 5; - $this->im = ImageCreateTrueColor($x, $y); - $this->width = $x; - $this->height = $y; - - $this->data = $d; - $this->legends = $l; - - $this->num_bars = count($this->data); - $this->num_parts = count($this->data[0]); - - /* drawing area */ - $this->d_width = $this->width - $this->right - $this->left; - $this->d_height = $this->height - $this->top - $this->bottom; - - $this->y_data_max = $this->get_max_value($this->data); - $this->y_ticks = $this->get_y_ticks($this->y_data_max); - $this->y_bar_max = $this->y_ticks[count($this->y_ticks) - 1]; - - $this->bar_width = ($this->d_width / $this->num_bars); - - - /* if the bar width is real small then round to 1 */ - if ($this->bar_width < 1) { - $this->bar_width = 1; - $this->bar_padding = 0; - } - - $this->y_scale = $this->d_height / $this->y_bar_max; - - - $this->white = ImageColorAllocate($this->im, 255, 255, 255); - $this->black = ImageColorAllocate($this->im, 0, 0, 0); - $this->red = ImageColorAllocate($this->im, 190, 0, 0); - $this->green = ImageColorAllocate($this->im, 0, 190, 0); - $this->blue = ImageColorAllocate($this->im, 0, 0, 190); - $this->gray = ImageColorAllocate($this->im, 204, 204, 204); - - $num_colors = count($c); - - ImageAlphaBlending($this->im, false); - ImageFilledRectangle($this->im, 0, 0, $x, $y, $this->white); - ImageAlphaBlending($this->im, true); - - for ($i = 0; $i < $num_colors; $i++) { - if(count($c[$i])>3) { - $this->colors[] = ImageColorResolveAlpha($this->im, - $c[$i][0], - $c[$i][1], - $c[$i][2], - $c[$i][3]); - - } else { - $this->colors[] = ImageColorAllocate($this->im, - $c[$i][0], - $c[$i][1], - $c[$i][2]); - } - } - } - - - /* - ** remap a pair of coordinates. sort coordinates if we're - ** going to use them to draw a rectangle by setting the last - ** argument equal to 1 - */ - function remap_quad($x1, $y1, $x2, $y2, $rect) { - $tx1 = $x1 + $this->left; - $tx2 = $x2 + $this->left; - - $ty1 = $this->height - $this->bottom - $y1; - $ty2 = $this->height - $this->bottom - $y2; - - if ($rect == 1) { - if ($tx1 > $tx2) { $tmp = $tx1; $tx1 = $tx2; $tx2 = $tmp;} - if ($ty1 > $ty2) { $tmp = $ty1; $ty1 = $ty2; $ty2 = $tmp;} - } - - return(array($tx1, $ty1, $tx2, $ty2)); - } - - - function draw_point($x, $y) { - ImageLine($this->im, $x-4, $y-4, $x+4, $y+4, $this->black); - ImageLine($this->im, $x-4, $y+4, $x+4, $y-4, $this->black); - } - - - function draw_line($x1, $y1, $x2, $y2, $color) { - $c = $this->remap_quad($x1, $y1, $x2, $y2, 0); - ImageLine($this->im, $c[0], $c[1], $c[2], $c[3], $color); - } - - - function draw_filled_rect($x1, $y1, $x2, $y2, $color) { - $c = $this->remap_quad($x1, $y1, $x2, $y2, 1); - - ImageFilledRectangle($this->im, $c[0], $c[1], - $c[2], $c[3], $color); - } - - - function draw_string ($size, $x, $y, $s, $color) { - $c = $this->remap_quad($x, $y, 0, 0, 0); - ImageString($this->im, $size, $c[0], $c[1], $s, $color); - } - - - function draw_string_up($size, $x, $y, $s, $color) { - $c = $this->remap_quad($x, $y, 0, 0, 0); - ImageStringUp($this->im, $size, $c[0], $c[1], $s, $color); - } - - - function string_width ($s, $size) { - return(strlen($s) * ImageFontWidth($size)); - } - - - function draw_title($title, $fontsize) { - - $x = ($this->width - $this->string_width($title, $fontsize)) / 2; - $y = ($this->top - $this->yx[$fontsize]) / 3; - - ImageString($this->im, $fontsize, $x, $y, $title, $this->black); - } - - - function draw_x_labels ($labels, $fontsize) { - - /* how many lines of labels */ - $n_lines = count($labels); - - $y_offset = 10; - - /* y position of the first row of labels */ - $y = $this->height - $this->bottom + $y_offset; - - for ($i = 0; $i < $n_lines; $i++) { - - /* number of "columns" */ - $n_strings = count($labels[$i]); - $dx = $this->d_width / (double)$n_strings; - $half_padded_dx = ($dx - $this->bar_padding) / 2.0; - - for ($j = 0; $j < $n_strings; $j++) { - - $label_width = $this->string_width($labels[$i][$j], $fontsize); - - $x = $this->left + ($j * $dx) + $this->bar_padding + - $half_padded_dx - ($label_width / 2); - - ImageString($this->im, - $fontsize, - $x, - $y, - $labels[$i][$j], - $this->black); - } - $y += ImageFontHeight($fontsize) + 2; - - } - } - - - function draw_axis ($axis_color, $font_color, $fontsize) { - - $this->draw_line(0,-1,$this->d_width + 10 ,-1, $axis_color); - $this->draw_line(0,0,0,$this->d_height + 10, $axis_color); - - $num_y_lines = count($this->y_ticks); - - /* draw the zero */ - $this->draw_string($fontsize, - - (ImageFontWidth($fontsize) - + $this->y_tick_padding), - (ImageFontHeight($fontsize) * 0.5), - 0, - $font_color); - - /* draw the horizontal lines and their values */ - for ($i = 0; $i < $num_y_lines; $i++) { - $y = $this->y_scale * $this->y_ticks[$i]; - $this->draw_line(0, $y, $this->d_width, $y, $axis_color); - - $y_tick = (int) $this->y_ticks[$i]; - $x_pos = - ($this->string_width($y_tick, $fontsize) - + $this->y_tick_padding); - - $this->draw_string($fontsize, - $x_pos, - $y + (ImageFontHeight($fontsize) * 0.5), - $y_tick, - $font_color); - - } - } - - - function draw_legends ($fontsize) { - - $num_legends = count($this->legends); - - $y1 = 0; - for ($i = $num_legends -1; $i >= 0; $i--) { - - $x1 = $this->d_width + 20; - $y1 += ImageFontHeight($fontsize) * 2; - $x2 = $this->d_width + 20 + ImageFontHeight($fontsize); - $y2 = $y1 + ImageFontHeight($fontsize); - - - $this->draw_filled_rect($x1, $y1, $x2, $y2, $this->colors[$i]); - - $this->draw_string($fontsize, - $x2 + 10, - $y2, - $this->legends[$i], - $this->black); - - } - - /* Draw Y axis unit */ - $yaxisunit_font = 2; - $ycenterpos = ($this->d_height / 2) - ($this->string_width($yaxisunit_font, $this->y_label) / 2); - $this->draw_string_up($yaxisunit_font, -60, $ycenterpos, $this->y_label, $this->black); - - /* Draw graph title */ - $title_font = 5; - $xcenterpos = ($this->d_width / 2) - ($this->string_width($title_font, $this->title) / 2); - $this->draw_string($title_font, $xcenterpos, $this->d_height + 40, $this->title, $this->black); - } - - - function draw_bars() { - for ($i = 0; $i < $this->num_bars; $i++) { - - $x1 = $i * $this->bar_width + $this->bar_padding; - $x2 = $x1 + $this->bar_width - $this->bar_padding; - - $y1 = 0; - - for ($j = $this->num_parts-1; $j >= 0; $j--) { - - $y2 = $y1 + $this->data[$i][$j]; - $this->draw_filled_rect($x1, - $y1 * $this->y_scale, - $x2, - $y2 * $this->y_scale, - $this->colors[$j] ); - - $y1 += $this->data[$i][$j]; - } - - } - } - - - function display() { - - $this->draw_axis($this->black, $this->red, 2); - $this->draw_legends($this->legend_font); - $this->draw_bars(); - - ImagePNG($this->im); - } - - - function destroy() { - if ($this->im) { - ImageDestroy($this->im); - } - } -}; - - -/* - * Local Variables: - * tab-width: 3 - * End: - */ -?> diff --git a/bin/bumpRelease b/bin/bumpRelease index 7a4a50113c..f03c2c6da9 100755 --- a/bin/bumpRelease +++ b/bin/bumpRelease @@ -1,29 +1,42 @@ -#!/usr/local/bin/php +#!/usr/bin/env php <?php -PHP_SAPI == 'cli' or die("Please run this script using the cli sapi"); +(PHP_SAPI === 'cli') or die("Please run this script using the cli sapi"); -require "include/version.inc"; -require "include/releases.inc"; +require_once __DIR__ . "/../include/branches.inc"; +require_once __DIR__ . "/../include/version.inc"; +require_once __DIR__ . "/../include/releases.inc"; -$major = $argv[1]; -isset($RELEASES[$major]) or die("Unkown major version $major"); +if ($_SERVER['argc'] < 1) { + fwrite(STDERR, "Usage: {$_SERVER['argv'][0]} major_version [ minor_version ]\n"); + exit(1); +} + +$major = (int) $_SERVER['argv'][1]; +isset($RELEASES[$major]) or die("Unknown major version $major"); +$minor = isset($_SERVER['argv'][2]) ? (int) $_SERVER['argv'][2] : null; -list($k, $v) = each($RELEASES[$major]); +$version = get_current_release_for_branch($major, $minor); +$info = $RELEASES[$major][$version] ?? null; -$tmp = 'PHP_' .$major. '_DATE'; -$v["date"] = $$tmp; +if ($info === null) { + fwrite(STDERR, "Unable to find a current PHP release for {$major}.{$minor}\n"); + exit(1); +} -if (is_bool($v["announcement"]) && $v["announcement"]) { - $v["announcement"] = array("English" => "/releases/" . str_replace(".", "_", $k) . ".php"); +$info["museum"] = false; +if ($info["announcement"] === true) { + $info["announcement"] = array("English" => "/releases/" . str_replace(".", "_", $version) . ".php"); } -$v["museum"] = false; -$a = array_merge( - array($k => $v), - $OLDRELEASES[$major] + +$OLDRELEASES[$major] = array_merge( + array($version => $info), + $OLDRELEASES[$major] ?? [] ); -$OLDRELEASES[$major] = $a; -file_put_contents("include/releases.inc", array("<?php\n\$OLDRELEASES = ", var_export($OLDRELEASES, true), ";\n")); +file_put_contents(__DIR__ . "/../include/releases.inc", [ + "<?php\n\$OLDRELEASES = ", + var_export($OLDRELEASES, true), + ";\n", +]); echo "This was fun \o/\nI hope you remembered to run this script *before* updating include/version.inc... :)\n"; - diff --git a/bin/createNewsEntry b/bin/createNewsEntry index f639dac7c8..937330218a 100755 --- a/bin/createNewsEntry +++ b/bin/createNewsEntry @@ -1,123 +1,142 @@ #!/usr/bin/env php <?php PHP_SAPI == 'cli' or die("Please run this script using the cli sapi"); -$BASE = "http://php.net"; -function ce(DOMDocument $d, $name, $value, array $attrs = array(), DOMNode $to = null) { - if ($value) { - $n = $d->createElement($name, $value); - } else { - $n = $d->createElement($name); - } - foreach($attrs as $k => $v) { - $n->setAttribute($k, $v); - } - if ($to) { - return $to->appendChild($n); - } - return $n; +require_once __DIR__ . '/../src/autoload.php'; + +use phpweb\News\Entry; + +$imageRestriction = [ + 'width' => 400, + 'height' => 250 +]; + +// Create an entry! +if (!file_exists(Entry::ARCHIVE_FILE_ABS)) { + fwrite(STDERR, "Can't find " . Entry::ARCHIVE_FILE_REL . ", are you sure you are in phpweb/?\n"); + exit(1); } -$archivefile = "archive/archive.xml"; -file_exists($archivefile) or die("Can't find $archivefile, are you sure you are in phpweb/?\n"); +if ($_SERVER['argc'] > 1) { + // getopt based non-interactive mode + $entry = parseOptions(); +} else { + // Classic interactive prompts + $entry = getEntry(); +} -$filename = date("Y-m-d", $_SERVER["REQUEST_TIME"]); -$count = 0; -do { - ++$count; - $id = $filename. "-" . $count; - $basename = $id .".xml"; - $file = "archive/entries/" . $basename; - $xincluded = "entries/" . $basename; - fprintf(STDOUT, "Trying $file\n"); -} while (file_exists($file)); +$entry->save()->updateArchiveXML(); -$dom = new DOMDocument("1.0", "utf-8"); -$dom->formatOutput = true; -$dom->preserveWhiteSpace = false; +fwrite(STDOUT, "File saved.\nPlease git diff " . Entry::ARCHIVE_FILE_REL . " and sanity-check the changes before committing\n"); +fwrite(STDOUT, "NOTE: Remember to git add " . Entry::ARCHIVE_ENTRIES_REL . $entry->getId() . ".xml !!\n"); -$item = $dom->createElementNs("http://www.w3.org/2005/Atom", "entry"); +// Implementation functions -do { - fwrite(STDOUT, "Please type in the title: "); - $title = rtrim(fgets(STDIN)); -} while(strlen($title)<3); +function getEntry(): Entry { + $entry = new Entry; + $entry->setTitle(getTitle()); + $entry->setCategories(selectCategories()); + if ($entry->isConference()) { + $entry->setConfTime(getConfTime()); + } -ce($dom, "title", $title, array(), $item); + $image = getImage(); + $entry->setImage($image['path'] ?? '', $image['title'] ?? '', $image['link'] ?? ''); -$categories = array( - array("frontpage" => "PHP.net frontpage news"), - array("releases" => "New PHP release"), - array("conferences" => "Conference announcement"), - array("cfp" => "Call for Papers"), -); -$confs = array(2, 3); + $entry->setContent(getContent()); + + return $entry; +} + +function getTitle(): string { + do { + fwrite(STDOUT, "Please type in the title: "); + $title = rtrim(fgets(STDIN)); + } while(strlen($title)<3); + + return $title; +} + +function selectCategories(): array { for(;;) { + $ids = array_keys(Entry::CATEGORIES); -do { fwrite(STDOUT, "Categories:\n"); - foreach($categories as $n => $category) { - fprintf(STDOUT, "\t%d: %s\t [%s]\n", $n, key($category), current($category)); + foreach($ids as $n => $id) { + fprintf(STDOUT, "\t%d: %-11s\t [%s]\n", $n, Entry::CATEGORIES[$id], $id); } fwrite(STDOUT, "Please select appropriate categories, seperated with space: "); - $cat = explode(" ", rtrim(fgets(STDIN))); + // Filter to 0..n-1, then map to short names. + $cat = array_map( + function ($c) use ($ids) { + return $ids[$c]; + }, + array_filter( + explode(" ", rtrim(fgets(STDIN))), + function ($c) { + return is_numeric($c) && ($c >= 0) && ($c < count(Entry::CATEGORIES)); + }) + ); + + // Special case, we don't allow items in both 'cfp' and 'conferences'. + if (count(array_intersect($cat, ['cfp', 'conferences'])) >= 2) { + fwrite(STDERR, "Pick either a CfP OR a conference\n"); + continue; + } - if ($cat) { - break; + if (count($cat) == 0) { + fwrite(STDERR, "You have to pick at least one category\n"); + continue; } - fwrite(STDERR, "You have to pick at least one category\n"); -} while(1); + return $cat; +}} -$via = $archive = $BASE . "/archive/" .date("Y", $_SERVER["REQUEST_TIME"]).".php#id" .$id; +function getConfTime(): int { for(;;) { + fwrite(STDOUT, "When does the conference start/cfp end? (strtotime() compatible syntax): "); -ce($dom, "id", $archive, array(), $item); -ce($dom, "published", date(DATE_ATOM), array(), $item); -ce($dom, "updated", date(DATE_ATOM), array(), $item); + $t = strtotime(fgets(STDIN)); + if (!$t) { + fwrite(STDERR, "I told you I would run it through strtotime()!\n"); + continue; + } + return $t; +}} -$conf = false; -foreach($cat as $keys) { - if (in_array($keys, $confs)) { - $conf = true; - break; - } -} -if ($conf) { - /* /conferences news item */ - $href = $BASE . "/conferences/index.php"; +function getImage(): ?array { + global $imageRestriction; - do { - fwrite(STDOUT, "When does the conference start/cfp end? (strtotime() compatible syntax): "); - $t = strtotime(fgets(STDIN)); - if ($t) { - break; - } + fwrite(STDOUT, "Will a picture be accompanying this entry?(y/N) "); + $yn = fgets(STDIN); - fwrite(STDERR, "I told you I would run it through strtotime()!\n"); - } while(1); - $item->appendChild($dom->createElementNs("http://php.net/ns/news", "finalTeaserDate", date("Y-m-d", $t))); -} else { - $href = $BASE . "/index.php"; -} -foreach($cat as $n) { - if (isset($categories[$n])) { - ce($dom, "category", null, array("term" => key($categories[$n]), "label" => current($categories[$n])), $item); - } else { - fprintf(STDERR, "Unkown category %d\n", $n); + if (strtoupper($yn[0]) !== "Y") { + return NULL; } -} - -ce($dom, "link", null, array("href" => "$href#id$id", "rel" => "alternate", "type" => "text/html"), $item); -fwrite(STDOUT, "Will a picture be accompanying this entry? "); -$yn = fgets(STDIN); -if (strtoupper($yn[0]) == "Y") { - do { + for ($isValidImage = false; !$isValidImage;) { fwrite(STDOUT, "Enter the image name (note: the image has to exist in './images/news'): "); $path = basename(rtrim(fgets(STDIN))); - } while(!file_exists("./images/news/$path")); + + if (true === file_exists(Entry::PHPWEB . "/images/news/$path")) { + $isValidImage = true; + + if (extension_loaded('gd')) { + break; + } + + $imageSizes = getimagesize("./images/news/$path"); + + if (($imageSizes[0] > $imageRestriction['width']) || ($imageSizes[1] > $imageRestriction['height'])) { + fwrite(STDOUT, "Provided image has a higher size than recommended (" . implode(' by ', $imageRestriction) . "). Continue with this image?(y/N) "); + $ynImg = fgets(STDIN); + if (strtoupper($ynImg[0]) !== "Y") { + $isValidImage = false; + } + } + } + } fwrite(STDOUT, "Image title: "); $title = rtrim(fgets(STDIN)); @@ -125,49 +144,99 @@ if (strtoupper($yn[0]) == "Y") { fwrite(STDOUT, "Link (when clicked on the image): "); $via = rtrim(fgets(STDIN)); - $image = $item->appendChild($dom->createElementNs("http://php.net/ns/news", "newsImage", $path)); - $image->setAttribute("link", $via); - $image->setAttribute("title", $title); + return [ + 'title' => $title, + 'link' => $via, + 'path' => $path, + ]; } -ce($dom, "link", null, array("href" => $via, "rel" => "via", "type" => "text/html"), $item); -$content = ce($dom, "content", null, array(), $item); +function getContent(): string { + fwrite(STDOUT, "And at last; paste/write your news item here.\nTo end it, hit <enter>.<enter>\n"); + $news = "\n"; + while(($line = rtrim(fgets(STDIN))) != ".") { + $news .= " $line\n"; + } -fwrite(STDOUT, "And at last; paste/write your news item here.\nTo end it, hit <enter>.<enter>\n"); -$news = "\n"; -while(($line = rtrim(fgets(STDIN))) != ".") { - $news .= " $line\n"; + return $news; } -$tdoc = new DOMDocument("1.0", "utf-8"); -$tdoc->formatOutput = true; -if ($tdoc->loadXML('<div>'.$news.' </div>')) { - $content->setAttribute("type", "xhtml"); - $div = $content->appendChild($dom->createElement("div")); - $div->setAttribute("xmlns", "http://www.w3.org/1999/xhtml"); - foreach($tdoc->firstChild->childNodes as $node) { - $div->appendChild($dom->importNode($node, true)); +function parseOptions(): Entry { + $opts = getopt('h', [ + 'help', + 'title:', + 'category:', + 'conf-time:', + 'image-path:', + 'image-title:', + 'image-link:', + 'content:', + 'content-file:', + ]); + if (isset($opts['h']) || isset($opts['help'])) { + echo "Usage: {$_SERVER['argv'][0]} --title 'Name of event' --category cfp ( --content 'text' | --content-file '-') [...options]\n\n"; + echo " --title 'value' The title of the entry (required)\n"; + echo " --category 'value' 'frontpage', 'release', 'cfp', or 'conference' (required; may repeat)\n"; + echo " --conf-time 'value' When the event will be occurign (cfp and conference categories only)\n"; + echo " --content 'value' Text content for the entry, may include XHTML\n"; + echo " --content-file 'value' Name of file to load content from, may not be specified with --content\n"; + echo " --image-path 'value' Basename of image file in " . Entry::IMAGE_PATH_REL . "\n"; + echo " --image-title 'value' Title for the image provided\n"; + echo " --image-link 'value' URI to direct to when clicking the image\n"; + exit(0); } -} else { - fwrite(STDERR, "There is something wrong with your xhtml, falling back to html"); - $content->setAttribute("type", "html"); - $content->nodeValue = $news; -} -$dom->appendChild($item); -$dom->save($file); -$arch = new DOMDocument("1.0", "utf-8"); -$arch->formatOutput = true; -$arch->preserveWhiteSpace = false; -$arch->load("archive/archive.xml"); + $entry = new Entry; + if (!isset($opts['title'])) { + fwrite(STDERR, "--title required\n"); + exit(1); + } + $entry->setTitle($opts['title']); -$first = $arch->createElementNs("http://www.w3.org/2001/XInclude", "xi:include"); -$first->setAttribute("href", $xincluded); + if (empty($opts['category'])) { + fwrite(STDERR, "--category required\n"); + exit(1); + } + if (is_string($opts['category'])) { + $opts['category'] = [ $opts['category'] ]; + } + foreach ($opts['category'] as $cat) { + $entry->addCategory($cat); + } + if ($entry->isConference()) { + if (empty($opts['conf-time'])) { + fwrite(STDERR, "--conf-time required for conferences\n"); + exit(1); + } + $t = strtotime($opts['conf-time']); + if (!is_int($t)) { + fwrite(STDERR, "Error parsing --conf-time\n"); + exit(1); + } + $entry->setConfTime($t); + } elseif (!empty($opts['conf-time'])) { + fwrite(STDERR, "--conf-time not allowed with non-conference events\n"); + exit(1); + } -$second = $arch->getElementsByTagNameNs("http://www.w3.org/2001/XInclude", "include")->item(0); -$arch->documentElement->insertBefore($first, $second); -$arch->save("archive/archive.xml"); + $entry->setImage($opts['image-path'] ?? '', $opts['image-title'] ?? '', $opts['image-link'] ?? ''); -fwrite(STDOUT, "File saved.\nPlease git diff $archivefile sanity-check the changes before committing\n"); -fwrite(STDOUT, "NOTE: Remeber to git add $file && git commit $file && git push!!\n"); + if (isset($opts['content'])) { + if (isset($opts['content-file'])) { + fwrite(STDERR, "--content and --content-file may not be specified together\n"); + exit(1); + } + $entry->setContent($opts['content']); + } elseif (isset($opts['content-file'])) { + if ($opts['content-file'] === '-') { + $entry->setContent(stream_get_contents(STDIN)); + } else { + $entry->setContent(file_get_contents($opts['content-file'])); + } + } else { + fwrite(STDERR, "--content or --content-file required\n"); + exit(1); + } + return $entry; +} diff --git a/bin/createReleaseEntry b/bin/createReleaseEntry new file mode 100755 index 0000000000..b7b81bed6d --- /dev/null +++ b/bin/createReleaseEntry @@ -0,0 +1,74 @@ +#!/usr/bin/env php +<?php +PHP_SAPI == 'cli' or die("Please run this script using the cli sapi"); + +require_once __DIR__ . '/../src/autoload.php'; + +use phpweb\News\Entry; + +if (!file_exists(Entry::ARCHIVE_FILE_ABS)) { + fwrite(STDERR, "Can't find " . Entry::ARCHIVE_FILE_REL . ", are you sure you are in phpweb/?\n"); + exit(1); +} + +$opts = getopt('v:r',['security']); +if (!isset($opts['v'])) { + echo "Usage: {$_SERVER['argv'][0]} -v 8.0.8 [ -r ] [ --security ]\n"; + echo "Create a standard stable-release news entry in archive/entries/\n\n"; + echo " -v x.y.z Version of PHP being announced\n"; + echo " -r Create a matching releases/x_y_z.php file\n"; + echo " --security This is a security release (default: bug fix)\n"; + exit(0); +} +$version = $opts['v']; +if (!preg_match('/^(\d+)\.(\d+)\.\d+$/', $version, $matches)) { + fwrite(STDERR, "Unable to parse version identifier\n"); + exit(1); +} +$major = $matches[1]; +$branch = "{$major}.{$matches[2]}"; +$security = isset($opts['security']) ? 'security' : 'bug fix'; + +// Create content. +$template = <<<EOD +<p>The PHP development team announces the immediate availability of PHP $version. This is a $security release.</p> + +<p>All PHP $branch users are encouraged to upgrade to this version.</p> + +<p>For source downloads of PHP $version please visit our <a href="https://www.php.net/downloads.php">downloads page</a>, +Windows source and binaries can also be found <a href="https://www.php.net/downloads.php?os=windows&version={$branch}">there</a>. +The list of changes is recorded in the <a href="https://www.php.net/ChangeLog-{$major}.php#{$version}">ChangeLog</a>. +</p> +EOD; + +// Mint the news XML entry. +$entry = (new Entry) + ->setTitle("PHP $version Released!") + ->setCategories(['releases','frontpage']) + ->setContent($template); + +$entry->save()->updateArchiveXML(); +$addedFiles = [Entry::ARCHIVE_ENTRIES_REL . $entry->getId() . '.xml']; + +// Mint the releases/x_y_z.php archive. +const RELEASES_REL = 'releases/'; +const RELEASES_ABS = __DIR__ . '/../' . RELEASES_REL; +if (isset($opts['r'])) { + $release = strtr($version, '.', '_') . '.php'; + file_put_contents(RELEASES_ABS . $release, "<?php +\$_SERVER['BASE_PAGE'] = 'releases/$release'; +require_once __DIR__ . '/../../include/prepend.inc'; +site_header('PHP $version Release Announcement', ['cache' => true, 'cache_control' => 30 * 60]); +?> +<h1>PHP $version Release Announcement</h1> + +$template +<?php site_footer(); +"); + $addedFiles[] = RELEASES_REL . $release; +} + +echo "News entry created.\n"; +echo "Please sanity check changes to " . Entry::ARCHIVE_FILE_REL . " and add the newly created file(s):\ngit add"; +foreach ($addedFiles as $file) { echo " $file"; } +echo "\n"; diff --git a/bin/generate-netcraft-chart b/bin/generate-netcraft-chart deleted file mode 100755 index b53c81bf1f..0000000000 --- a/bin/generate-netcraft-chart +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/local/bin/php -q -<?php // -*- C++ -*- -include ("jpgraph.php"); -include ("jpgraph_line.php"); - -$stats = array( - /* numbers from http://www.netcraft.com/survey/Reports/200109/PHP.txt - 199806 => array(71360, 47329), - 199807 => array(81337, 53361), - 199808 => array(90641, 58078), - 199809 => array(108847, 66010), - 199810 => array(129757, 73063), - 199811 => array(220286, 81141), - 199812 => array(241924, 87273), - 199901 => array(278297, 90264), - 199902 => array(345549, 101140), - 199903 => array(409418, 143667), - 199904 => array(578221, 169135), - 199905 => array(406573, 182316), - 199906 => array(493294, 222304), - 199907 => array(574433, 239925), - 199908 => array(703212, 265380), - 199909 => array(795034, 289162), - 199910 => array(931122, 321128), - 199911 => array(1114021, 357481), - 199912 => array(1256216, 378301), -*/ - 200001 => array(1271060, 391876), - 200002 => array(1412822, 428840), - 200003 => array(1783626, 462510), - 200004 => array(2084312, 497866), - 200005 => array(2347532, 532591), - 200006 => array(2756002, 571610), - 200007 => array(3121918, 598213), - 200008 => array(3314634, 637746), - 200009 => array(3602795, 681637), - 200010 => array(3815440, 715283), - 200011 => array(4253488, 762493), - 200012 => array(4775580, 803889), - 200101 => array(5104536, 832457), - 200102 => array(5558363, 856543), - 200103 => array(5747237, 882439), - 200104 => array(6156321, 914146), - 200105 => array(6280233, 941419), - 200106 => array(6751394, 960954), - 200107 => array(6954476, 983273), - 200108 => array(6883004, 976593), - 200109 => array(6930758, 957249), - 200110 => array(6624340, 979572), - 200111 => array(7095691, 1046426), - 200112 => array(7261540, 1043328), - 200201 => array(7525142, 1079999), - 200202 => array(8586112, 1143239), - 200203 => array(8861195, 1142955), - 200204 => array(9091908, 1192687), - 200205 => array(9059850, 1188121), - 200206 => array(9356880, 1234295), - 200207 => array(9286502, 1217730), - 200208 => array(9370482, 1199287), - 200209 => array(9458364, 1191872), - 200210 => array(9397224, 1181035), - 200211 => array(9866075, 1232818), - 200212 => array(10197643, 1222949), - 200301 => array(10258692, 1211575), - 200302 => array(10519623, 1220927), - 200303 => array(11860645, 1316288), - 200304 => array(12236270, 1324036), - 200305 => array(12487030, 1321203), - 200306 => array(12749410, 1317425), - 200307 => array(13099524, 1321726), - 200308 => array(13375956, 1299371), - 200309 => array(13717527, 1310849), - 200310 => array(13969466, 1318240), - 200311 => array(14528748, 1328604), - 200312 => array(14907816, 1336101), - 200401 => array(14699098, 1330821), - 200402 => array(15205474, 1330021), - 200403 => array(15054623, 1335263), - 200404 => array(15528732, 1343899), - 200405 => array(15896330, 1341729), - 200406 => array(16251453, 1346521), - 200407 => array(16369503, 1340909), - 200408 => array(16946328, 1348793), - 200409 => array(17245242, 1338970), - 200410 => array(17245242, 1338970), /* No data from Netcraft this month */ - 200411 => array(17245242, 1338970), /* No data from Netcraft this month */ - 200412 => array(17826404, 1318739), - 200501 => array(18455683, 1317871), - 200502 => array(18827149, 1307980), - 200503 => array(19279566, 1303710), - 200504 => array(19720597, 1310181), - 200505 => array(20157542, 1303750), - 200506 => array(20478778, 1299068), - 200507 => array(21466638, 1293874), - 200508 => array(22267442, 1291738), - 200509 => array(22167075, 1283102), - 200510 => array(23299550, 1290179), - 200511 => array(21952457, 1277364), - 200512 => array(22172983, 1277375), - 200601 => array(20285205, 1278151), - 200602 => array(21340831, 1268048), - 200603 => array(21439178, 1277736), - 200604 => array(20475056, 1278828), - 200605 => array(19121935, 1281679), - 200606 => array(19121935, 1281679), - 200606 => array(19508411, 1280099), - 200607 => array(18621330, 1289401), - 200608 => array(19234766, 1300431), - 200609 => array(19491324, 1313977), - 200610 => array(23299550, 1290179), - 200611 => array(19562759, 1305799), - 200612 => array(19404533, 1319743), - 200701 => array(19356745, 1318373), - 200702 => array(20140063, 1332514), - 200703 => array(19962427, 1217628), - 200704 => array(20016421, 1208663), - 200705 => array(20580413, 1222876), - 200706 => array(20682448, 1233875), - 200707 => array(20917850, 1224183), -); - -$months = array(1 => "Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); - -$i=1; - -foreach($stats as $key => $arr) { - $domains[] = $arr[0]; - $ips[] = $arr[1]; - $date = $months[(int)substr($key,4)].' '.substr($key,0,4); - $keys[] = ($i++%4==0) ? $date : ''; -} - -$graph = new Graph(780,350,"auto"); -$graph->img->SetMargin(60,30,30,60); -$graph->SetScale("textlin"); -$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,10); -$graph->xaxis->SetTickLabels($keys); -$graph->xaxis->SetLabelAngle(45); -$graph->SetShadow(); -$graph->title->Set("PHP Usage for " . $date); -$graph->title->SetFont(FF_VERDANA,FS_NORMAL,16); -$graph->legend->SetLayout(LEGEND_HOR); -$graph->legend->Pos(0.20,0.18,"center","center"); - -$p1 = new LinePlot($ips); -$p1->SetFillColor(array(38,118,0,70)); -$p1->SetLegend("IPs"); - -$p2 = new LinePlot($domains); -$p2->SetFillColor(array(45,85,205,50)); -$p2->SetLegend("Domains"); - - -$graph->Add($p2); -$graph->Add($p1); - -$graph->Stroke(); - -?> diff --git a/bin/index.php b/bin/index.php index f85f2e0096..50d73f66f6 100644 --- a/bin/index.php +++ b/bin/index.php @@ -1,7 +1,6 @@ <?php -// $Id$ // Simulate a /bin shortcut call (which will lead to a manual page) $_SERVER['REQUEST_URI'] = '/bin'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/error.php'; +include_once __DIR__ . '/../include/prepend.inc'; +include_once __DIR__ . '/../error.php'; diff --git a/bin/jpgraph.php b/bin/jpgraph.php deleted file mode 100644 index 099de9e503..0000000000 --- a/bin/jpgraph.php +++ /dev/null @@ -1,5369 +0,0 @@ -<?php -//======================================================================= -// File: JPGRAPH.PHP -// Description: PHP4 Graph Plotting library. Base module. -// Created: 2001-01-08 -// Author: Johan Persson (johanp@aditus.nu) -// Ver: $Id$ -// -// License: This code is released under QPL 1.0 -// Copyright (C) 2001,2002 Johan Persson -//======================================================================== - -//------------------------------------------------------------------------ -// Directories. Must be updated to reflect your installation -//------------------------------------------------------------------------ - -// The full absolute name of directory to be used as a cache. This directory MUST -// be readable and writable for PHP. Must end with '/' -DEFINE("CACHE_DIR","/tmp/jpgraph_cache/"); - -// The URL relative name where the cache can be found, i.e -// under what HTTP directory can the cache be found. Normally -// you would probably assign an alias in apache configuration -// for the cache directory. -DEFINE("APACHE_CACHE_DIR","/jpgraph_cache/"); - -// Directory for TTF fonts. Must end with '/' -DEFINE("TTF_DIR",'/usr/share/fonts/truetype/'); - - -//------------------------------------------------------------------------ -// Various JpGraph Settings. The default should be fine for most -// users. -//------------------------------------------------------------------------ - -// Specify if we should use GD 2.x or GD 1.x -// If you have GD 2.x installed it is recommended that you use it -// since it will give a slightly, slightly better visual apperance -// for arcs. -DEFINE("USE_LIBRARY_GD2",true); - -// Should the image be a truecolor image? -// Note 1: Can only be used with GD 2.0.2 and above. -// Note 2: GD 2.0.1 + PHP 4.0.6 on Win32 crashes when trying to use -// trucolor. Truecolor support is to be considered alpha since GD 2.x -// is still not considered stable (especially on Win32). -// Note 1: MUST be enabled to get background images working with GD2 -// Note 2: If enabled then truetype fonts will look very ugly -// => You can't have both background images and truetype fonts in the same -// image until these bugs has been fixed in GD 2.01 -DEFINE('USE_TRUECOLOR',true); - -// Deafult graphic format set to "auto" which will automtically -// choose the best available format in the order png,gif,jpg -// (The supported format depends on what your PHP installation supports) -DEFINE("DEFAULT_GFORMAT","auto"); - -// Determine if the error handler should be image based or purely -// text based. Image based makes it easier since the script will -// always return an image even in case of errors. -DEFINE("USE_IMAGE_ERROR_HANDLER",true); - -// Should we try to find an image in the cache before generating it? -// Set this define to false to bypass the reading of the cache and always -// regenerate the image. Note that even if reading the cache is -// disabled the cached will still be updated with the newly generated -// image. Set also "USE_CACHE" below. -DEFINE("READ_CACHE",false); - -// Should the cache be used at all? By setting this to false no -// files will be generated in the cache directory. -// The difference from READ_CACHE being that setting READ_CACHE to -// false will still create the image in the cache directory -// just not use it. By setting USE_CACHE=false no files will even -// be generated in the cache directory. -DEFINE("USE_CACHE",false); - -// If the color palette is full should JpGraph try to allocate -// the closest match? If you plan on using background image or -// gradient fills it might be a good idea to enable this. -// If not you will otherwise get an error saying that the color palette is -// exhausted. The drawback of using approximations is that the colors -// might not be exactly what you specified. -// Note1: This does only apply to paletted images, not truecolor -// images since they don't have the limitations of maximum number -// of colors. -DEFINE("USE_APPROX_COLORS",true); - -// Should usage of deprecated functions and parameters give a fatal error? -// (Useful to check if code is future proof.) -DEFINE("ERR_DEPRECATED",true); - -// Should the time taken to generate each picture be branded to the lower -// left in corner in each generated image? Useful for performace measurements -// generating graphs -DEFINE("BRAND_TIMING",false); - -// What format should be used for the timing string? -DEFINE("BRAND_TIME_FORMAT","Generated in: %01.3fs"); - -// What group should the cached file belong to -// (Set to "" will give the default group for the "PHP-user") -// Please note that the Apache user must be a member of the -// specified group since otherwise it is impossible for Apache -// to set the specified group. -DEFINE("CACHE_FILE_GROUP","wwwadmin"); - -// What permissions should the cached file have -// (Set to "" will give the default persmissions for the "PHP-user") -DEFINE("CACHE_FILE_MOD",0664); - -// Decide if we should use the bresenham circle algorithm or the -// built in Arc(). Bresenham gives better visual apperance of circles -// but is more CPU intensive and slower then the built in Arc() function -// in GD. Turned off by default for speed -DEFINE("USE_BRESENHAM",false); - -// Special unicode language support -DEFINE("LANGUAGE_CYRILLIC",false); - -// Enable some extra debug information to be shown. -// (Should only be used if your first name is Johan) -DEFINE("JPG_DEBUG",false); - -//------------------------------------------------------------------ -// Constants which are used as parameters for the method calls -//------------------------------------------------------------------ - -// TTF Font families -DEFINE("FF_COURIER",10); -DEFINE("FF_VERDANA",11); -DEFINE("FF_TIMES",12); -DEFINE("FF_HANDWRT",13); -DEFINE("FF_COMIC",14); -DEFINE("FF_ARIAL",15); -DEFINE("FF_BOOK",16); - -// TTF Font styles -DEFINE("FS_NORMAL",1); -DEFINE("FS_BOLD",2); -DEFINE("FS_ITALIC",3); -DEFINE("FS_BOLDIT",4); - -//Definitions for internal font, new style -DEFINE("FF_FONT0",1); -DEFINE("FF_FONT1",2); -DEFINE("FF_FONT2",4); - -//Definitions for internal font, old style -// (Only defined here to be able to generate an error mesage -// when used) -DEFINE("FONT0",99); // Deprecated from 1.2 -DEFINE("FONT1",98); // Deprecated from 1.2 -DEFINE("FONT1_BOLD",97); // Deprecated from 1.2 -DEFINE("FONT2",96); // Deprecated from 1.2 -DEFINE("FONT2_BOLD",95); // Deprecated from 1.2 - -// Tick density -DEFINE("TICKD_DENSE",1); -DEFINE("TICKD_NORMAL",2); -DEFINE("TICKD_SPARSE",3); -DEFINE("TICKD_VERYSPARSE",4); - -// Side for ticks and labels. -DEFINE("SIDE_LEFT",-1); -DEFINE("SIDE_RIGHT",1); -DEFINE("SIDE_DOWN",-1); -DEFINE("SIDE_UP",1); - -// Legend type stacked vertical or horizontal -DEFINE("LEGEND_VERT",0); -DEFINE("LEGEND_HOR",1); - -// Mark types for plot marks -DEFINE("MARK_SQUARE",1); -DEFINE("MARK_UTRIANGLE",2); -DEFINE("MARK_DTRIANGLE",3); -DEFINE("MARK_DIAMOND",4); -DEFINE("MARK_CIRCLE",5); -DEFINE("MARK_FILLEDCIRCLE",6); -DEFINE("MARK_CROSS",7); -DEFINE("MARK_STAR",8); -DEFINE("MARK_X",9); - -// Styles for gradient color fill -DEFINE("GRAD_VER",1); -DEFINE("GRAD_HOR",2); -DEFINE("GRAD_MIDHOR",3); -DEFINE("GRAD_MIDVER",4); -DEFINE("GRAD_CENTER",5); -DEFINE("GRAD_WIDE_MIDVER",6); -DEFINE("GRAD_WIDE_MIDHOR",7); - -// Inline defines -DEFINE("INLINE_YES",1); -DEFINE("INLINE_NO",0); - -// Format for background images -DEFINE("BGIMG_FILLPLOT",1); -DEFINE("BGIMG_FILLFRAME",2); -DEFINE("BGIMG_COPY",3); -DEFINE("BGIMG_CENTER",4); - -// Depth of objects -DEFINE("DEPTH_BACK",0); -DEFINE("DEPTH_FRONT",1); - -// Direction -DEFINE("VERTICAL",1); -DEFINE("HORIZONTAL",0); - -// Constants for types of static bands in plot area -DEFINE("BAND_RDIAG",1); // Right diagonal lines -DEFINE("BAND_LDIAG",2); // Left diagonal lines -DEFINE("BAND_SOLID",3); // Solid one color -DEFINE("BAND_LVERT",4); // Vertical lines -DEFINE("BAND_LHOR",5); // Horizontal lines -DEFINE("BAND_VLINE",4); // Vertical lines -DEFINE("BAND_HLINE",5); // Horizontal lines -DEFINE("BAND_3DPLANE",6); // "3D" Plane -DEFINE("BAND_HVCROSS",7); // Vertical/Hor crosses -DEFINE("BAND_DIAGCROSS",8); // Diagonal crosses - -// -// First of all set up a default error handler -// - -//============================================================= -// The default trivial text error handler. -//============================================================= -class JpGraphErrObject { - function JpGraphErrObject() { - // Empty. Reserved for future use - } - - // If aHalt is true then execution can't continue. Typical used for - // fatal errors - function Raise($aMsg,$aHalt=true) { - $aMsg = "<b>JpGraph Error:</b> ".$aMsg; - if( $aHalt ) - die($aMsg); - else - echo $aMsg."<p>"; - } -} - -//============================================================== -// An image based error handler -//============================================================== -class JpGraphErrObjectImg { - - // Split a line by inserting a newline after aWordCnt words - function InsertLineBreaks($aStr,$aWordCnt=11) { - $tok = strtok($aStr," "); - $cnt = 0; - $s = ""; - while( $tok ) { - $s .= $tok; - if( $cnt==$aWordCnt-1 ) { - $s .= "\n"; - $cnt = 0; - } - else - $s .= " "; - $cnt++; - $tok = strtok(" "); - } - return $s; - } - - function Raise($aMsg,$aHalt=true) { - $w=450; $h=110; - $img = new Image($w,$h); - $img->SetColor("darkred"); - $img->Rectangle(0,0,$w-1,$h-1); - $img->SetFont(FF_FONT1,FS_BOLD); - $img->StrokeText(10,20,"JpGraph Error:"); - $img->SetColor("black"); - $img->SetFont(FF_FONT1,FS_NORMAL); - $txt = new Text($this->InsertLineBreaks($aMsg),10,20); - $txt->Align("left","top"); - $txt->Stroke($img); - $img->Headers(); - $img->Stream(); - die(); - } -} - -// -// A wrapper class that is used to access the specified error object -// (to hide the global error parameter and avoid having a GLOBAL directive -// in all methods. -// -class JpGraphError { - function Install($aErrObject) { - GLOBAL $__jpg_err; - $__jpg_err = $aErrObject; - } - function Raise($aMsg,$aHalt=true){ - GLOBAL $__jpg_err; - $tmp = new $__jpg_err; - $tmp->Raise($aMsg,$aHalt); - } -} - -// -// ... and install the default error handler -// -if( USE_IMAGE_ERROR_HANDLER ) { - JpGraphError::Install("JpGraphErrObjectImg"); -} -else { - JpGraphError::Install("JpGraphErrObject"); -} - - -// -//Check if there were any warnings, perhaps some wrong includes by the -//user -// -if( isset($GLOBALS['php_errormsg']) ) { - JpGraphError::Raise("<b>General PHP error:</b><br>".$GLOBALS['php_errormsg']); -} - -// -// Check what version of the GD library is being used -// -if( USE_LIBRARY_GD2 ) { - $gd2 = true; - $copyfunc = "imagecopyresampled"; -} elseif(function_exists('imagecopyresized')) { - $copyfunc = "imagecopyresized"; - $gd2 = false; -} -else { - JpGraphError::Raise(" Your PHP installation does not - have the required GD library. - Please see the PHP documentation on how to install and enable the GD library."); -} - -// Usefull mathematical function -function sign($a) {if( $a>=0) return 1; else return -1;} - -// Utility function to generate an image name based on the filename we -// are running from AND assuming we use auto detection of graphic format -// (top level), i.e it is safe to call this function -// from a script that uses JpGraph -function GenImgName() { - global $HTTP_SERVER_VARS, $PHP_SELF; - $supported = imagetypes(); - if( $supported & IMG_PNG ) - $img_format="png"; - elseif( $supported & IMG_GIF ) - $img_format="gif"; - elseif( $supported & IMG_JPG ) - $img_format="jpeg"; - if( isset($HTTP_SERVER_VARS['PHP_SELF']) ) $fname=basename($HTTP_SERVER_VARS['PHP_SELF']); - else $fname=basename($PHP_SELF); -# JpGraphError::Raise(" Can't access PHP_SELF, PHP global variable. You can't run PHP from command line if you want to use the 'auto' naming of cache or image files."); - // Replace the ".php" extension with the image format extension - return substr($fname,0,strlen($fname)-4).".".$img_format; -} - - -class LanguageConv { - -// Translate iso encoding to unicode - function iso2uni ($isoline){ - for ($i=0; $i < strlen($isoline); $i++){ - $thischar=substr($isoline,$i,1); - $charcode=ord($thischar); - $uniline.=($charcode>175) ? "&#" . (1040+($charcode-176)). ";" : $thischar; - } - return $uniline; - } - - function ToCyrillic($aTxt) { - $koistring = $aTxt; - $isostring = convert_cyr_string($koistring, "k", "i"); - $unistring = LanguageConv::iso2uni($isostring); - $this->t = $unistring; - return $aTxt; - } -} - -//=================================================== -// CLASS JpgTimer -// Description: General timing utility class to handle -// timne measurement of generating graphs. Multiple -// timers can be started by pushing new on a stack. -//=================================================== -class JpgTimer { - var $start; - var $idx; -//--------------- -// CONSTRUCTOR - function JpgTimer() { - $this->idx=0; - } - -//--------------- -// PUBLIC METHODS - - // Push a new timer start on stack - function Push() { - list($ms,$s)=explode(" ",microtime()); - $this->start[$this->idx++]=floor($ms*1000) + 1000*$s; - } - - // Pop the latest timer start and return the diff with the - // current time - function Pop() { - assert($this->idx>0); - list($ms,$s)=explode(" ",microtime()); - $etime=floor($ms*1000) + (1000*$s); - $this->idx--; - return $etime-$this->start[$this->idx]; - } -} // Class - - -//=================================================== -// CLASS Graph -// Description: Main class to handle graphs -//=================================================== -class Graph { - var $cache=null; // Cache object (singleton) - var $img=null; // Img object (singleton) - var $plots=array(); // Array of all plot object in the graph (for Y 1 axis) - var $y2plots=array();// Array of all plot object in the graph (for Y 2 axis) - var $xscale=null; // X Scale object (could be instance of LinearScale or LogScale - var $yscale=null,$y2scale=null; - var $cache_name; // File name to be used for the current graph in the cache directory - var $xgrid=null; // X Grid object (linear or logarithmic) - var $ygrid=null,$y2grid=null; //dito for Y - var $doframe=true,$frame_color=array(0,0,0), $frame_weight=1; // Frame around graph - var $boxed=false, $box_color=array(0,0,0), $box_weight=1; // Box around plot area - var $doshadow=false,$shadow_width=4,$shadow_color=array(102,102,102); // Shadow for graph - var $xaxis=null; // X-axis (instane of Axis class) - var $yaxis=null, $y2axis=null; // Y axis (instance of Axis class) - var $margin_color=array(198,198,198); // Margin coor of graph - var $plotarea_color=array(255,255,255); // Plot area color - var $title,$subtitle; // Title and subtitle text object - var $axtype="linlin"; // Type of axis - var $xtick_factor; // Factot to determine the maximum number of ticks depending on the plot with - var $texts=null; // Text object to ge shown in the graph - var $lines=null; - var $bands=null; - var $text_scale_off=0; // Text scale offset in world coordinates - var $background_image="",$background_image_type=-1,$background_image_format="png"; - var $background_image_bright=0,$background_image_contr=0,$background_image_sat=0; - var $image_bright=0, $image_contr=0, $image_sat=0; - var $inline; - var $showcsim=0,$csimcolor="red"; //debug stuff, draw the csim boundaris on the image if <>0 - var $grid_depth=DEPTH_BACK; // Draw grid under all plots as default -//--------------- -// CONSTRUCTOR - - // aWIdth Width in pixels of image - // aHeight Height in pixels of image - // aCachedName Name for image file in cache directory - // aTimeOut Timeout in minutes for image in cache - // aInline If true the image is streamed back in the call to Stroke() - // If false the image is just created in the cache - function Graph($aWidth=300,$aHeight=200,$aCachedName="",$aTimeOut=0,$aInline=true) { - - // If timing is used create a new timing object - if( BRAND_TIMING ) { - global $tim; - $tim = new JpgTimer(); - $tim->Push(); - } - - // Automtically generate the image file name based on the name of the script that - // generates the graph - if( $aCachedName=="auto" ) - $aCachedName=GenImgName(); - - // Should the image be streamed back to the browser or only to the cache? - $this->inline=$aInline; - - $this->img = new RotImage($aWidth,$aHeight); - $this->cache = new ImgStreamCache($this->img); - $this->cache->SetTimeOut($aTimeOut); - $this->title = new Text(); - $this->subtitle = new Text(); - $this->legend = new Legend(); - - // If the cached version exist just read it directly from the - // cache, stream it back to browser and exit - if( $aCachedName!="" && READ_CACHE && $aInline ) - if( $this->cache->GetAndStream($aCachedName) ) { - exit(); - } - - $this->cache_name = $aCachedName; - $this->SetTickDensity(); // Normal density - } -//--------------- -// PUBLIC METHODS - - // Should the grid be in front or back of the plot? - function SetGridDepth($aDepth) { - $this->grid_depth=$aDepth; - } - - // Specify graph angle 0-360 degrees. - function SetAngle($aAngle) { - $this->img->SetAngle($aAngle); - } - - // Add a plot object to the graph - function Add(&$aPlot) { - if( $aPlot == null ) - JpGraphError::Raise("<b></b> Graph::Add() You tried to add a null plot to the graph."); - $this->plots[] = &$aPlot; - } - - // Add plot to second Y-scale - function AddY2(&$aPlot) { - if( $aPlot == null ) - JpGraphError::Raise("<b></b> Graph::AddY2() You tried to add a null plot to the graph."); - $this->y2plots[] = &$aPlot; - } - - // Add text object to the graph - function AddText(&$aTxt) { - if( $aTxt == null ) - JpGraphError::Raise("<b></b> Graph::AddText() You tried to add a null text to the graph."); - if( is_array($aTxt) ) { - for($i=0; $i<count($aTxt); ++$i ) - $this->texts[]=&$aTxt[$i]; - } - else - $this->texts[] = &$aTxt; - } - - // Add a line object (class PlotLine) to the graph - function AddLine(&$aLine) { - if( $aLine == null ) - JpGraphError::Raise("<b></b> Graph::AddLine() You tried to add a null line to the graph."); - if( is_array($aLine) ) { - for($i=0; $i<count($aLine); ++$i ) - $this->lines[]=&$aLine[$i]; - } - else - $this->lines[] = &$aLine; - } - - // Add vertical or horizontal band - function AddBand(&$aBand) { - if( $aBand == null ) - JpGraphError::Raise(" Graph::AddBand() You tried to add a null band to the graph."); - if( is_array($aBand) ) { - for($i=0; $i<count($aBand); ++$i ) - $this->bands[] = &$aBand[$i]; - } - else - $this->bands[] = &$aBand; - } - - - // Specify a background image - function SetBackgroundImage($aFileName,$aBgType=BKIMG_FILLPLOT,$aImgFormat="png") { - - if( $GLOBALS["gd2"] && !USE_TRUECOLOR ) { - JpGraphError::Raise("You are using GD 2.x and are trying to use a background images on a non truecolor image. To use background images with GD 2.x you <b>must</b> enable truecolor by setting the USE_TRUECOLOR constant to TRUE. Due to a bug in GD 2.0.1 using any truetype fonts with truecolor images will result in very poor quality fonts."); - } - - $this->background_image = $aFileName; - $this->background_image_type=$aBgType; - $this->background_image_format=$aImgFormat; - } - - // Adjust brightness and constrast for background image - function AdjBackgroundImage($aBright,$aContr=0,$aSat=0) { - $this->background_image_bright=$aBright; - $this->background_image_contr=$aContr; - $this->background_image_sat=$aSat; - } - - // Adjust brightness and constrast for image - function AdjImage($aBright,$aContr=0,$aSat=0) { - $this->image_bright=$aBright; - $this->image_contr=$aContr; - $this->image_sat=$aSat; - } - - // Set a frame around the plot area - function SetBox($aDrawPlotFrame=true,$aPlotFrameColor=array(0,0,0),$aPlotFrameWeight=1) { - $this->boxed = $aDrawPlotFrame; - $this->box_weight = $aPlotFrameWeight; - $this->box_color = $aPlotFrameColor; - } - - // Specify color for the plotarea (not the margins) - function SetColor($aColor) { - $this->plotarea_color=$aColor; - } - - // Specify color for the margins (all areas outside the plotarea) - function SetMarginColor($aColor) { - $this->margin_color=$aColor; - } - - // Set a frame around the entire image - function SetFrame($aDrawImgFrame=true,$aImgFrameColor=array(0,0,0),$aImgFrameWeight=1) { - $this->doframe = $aDrawImgFrame; - $this->frame_color = $aImgFrameColor; - $this->frame_weight = $aImgFrameWeight; - } - - // Set the shadow around the whole image - function SetShadow($aShowShadow=true,$aShadowWidth=5,$aShadowColor=array(102,102,102)) { - $this->doshadow = $aShowShadow; - $this->shadow_color = $aShadowColor; - $this->shadow_width = $aShadowWidth; - } - - // Specify x,y scale. Note that if you manually specify the scale - // you must also specify the tick distance with a call to Ticks::Set() - function SetScale($aAxisType,$aYMin=1,$aYMax=1,$aXMin=1,$aXMax=1) { - $this->axtype = $aAxisType; - - $yt=substr($aAxisType,-3,3); - if( $yt=="lin" ) - $this->yscale = new LinearScale($aYMin,$aYMax); - elseif( $yt == "int" ) { - $this->yscale = new LinearScale($aYMin,$aYMax); - $this->yscale->SetIntScale(); - } - elseif( $yt=="log" ) - $this->yscale = new LogScale($aYMin,$aYMax); - else - JpGraphError::Raise(" Unknown scale specification for Y-scale. ($axtype)"); - - $xt=substr($aAxisType,0,3); - if( $xt == "lin" || $xt == "tex" ) - $this->xscale = new LinearScale($aXMin,$aXMax,"x"); - elseif( $xt == "int" ) { - $this->xscale = new LinearScale($aXMin,$aXMax,"x"); - $this->xscale->SetIntScale(); - } - elseif( $xt == "log" ) - $this->xscale = new LogScale($aXMin,$aXMax,"x"); - else - JpGraphError::Raise(" Unknown scale specification for X-scale. ($aAxisType)"); - - $this->xscale->Init($this->img); - $this->yscale->Init($this->img); - - $this->xaxis = new Axis($this->img,$this->xscale); - $this->yaxis = new Axis($this->img,$this->yscale); - $this->xgrid = new Grid($this->xaxis); - $this->ygrid = new Grid($this->yaxis); - $this->ygrid->Show(); - } - - // Specify secondary Y scale - function SetY2Scale($aAxisType="lin",$aY2Min=1,$aY2Max=1) { - if( $aAxisType=="lin" ) - $this->y2scale = new LinearScale($aY2Min,$aY2Max); - elseif( $aAxisType=="log" ) { - $this->y2scale = new LogScale($aY2Min,$aY2Max); - } - else JpGraphError::Raise("JpGraph: Unsupported Y2 axis type: $axtype<br>"); - - $this->y2scale->Init($this->img); - $this->y2axis = new Axis($this->img,$this->y2scale); - $this->y2axis->scale->ticks->SetDirection(SIDE_LEFT); - $this->y2axis->SetLabelPos(SIDE_RIGHT); - - // Deafult position is the max x-value - $this->y2axis->SetPos($this->xscale->GetMaxVal()); - $this->y2grid = new Grid($this->y2axis); - } - - // Specify density of ticks when autoscaling 'normal', 'dense', 'sparse', 'verysparse' - // The dividing factor have been determined heuristically according to my aesthetic - // sense (or lack off) y.m.m.v ! - function SetTickDensity($aYDensity=TICKD_NORMAL,$aXDensity=TICKD_NORMAL) { - $this->xtick_factor=30; - $this->ytick_factor=25; - switch( $aYDensity ) { - case TICKD_DENSE: - $this->ytick_factor=12; - break; - case TICKD_NORMAL: - $this->ytick_factor=25; - break; - case TICKD_SPARSE: - $this->ytick_factor=40; - break; - case TICKD_VERYSPARSE: - $this->ytick_factor=100; - break; - default: - JpGraphError::Raise("JpGraph: Unsupported Tick density: $densy"); - } - switch( $aXDensity ) { - case TICKD_DENSE: - $this->xtick_factor=18; - break; - case TICKD_NORMAL: - $this->xtick_factor=30; - break; - case TICKD_SPARSE: - $this->xtick_factor=45; - break; - case TICKD_VERYSPARSE: - $this->xtick_factor=60; - break; - default: - JpGraphError::Raise("JpGraph: Unsupported Tick density: $densx"); - } - } - - // Get a string of all image map areas - function GetCSIMareas() { - $csim=""; - foreach ($this->plots as $p) { - $csim.= $p->GetCSIMareas(); - } - return $csim; - } - - // Get a complete <MAP>..</MAP> tag for the final image map - function GetHTMLImageMap($aMapName) { - $im = "<MAP NAME=\"$aMapName\">\n"; - $im .= $this->GetCSIMareas(); - $im .= "</MAP>"; - return $im; - } - - // Stroke the graph - // $aStrokeFileName If != "" the image will be written to this file and NOT - // streamed back to the browser - function Stroke($aStrokeFileName="") { - - // Do any pre-stroke adjustment that is needed by the different plot types - // (i.e bar plots want's to add an offset to the x-labels etc) - for($i=0; $i<count($this->plots) ; ++$i ) { - $this->plots[$i]->PreStrokeAdjust($this); - $this->plots[$i]->Legend($this); - } - - // Any plots on the second Y scale? - if( $this->y2scale != null ) { - for($i=0; $i<count($this->y2plots) ; ++$i ) { - $this->y2plots[$i]->PreStrokeAdjust($this); - $this->y2plots[$i]->Legend($this); - } - } - - // Bail out if any of the Y-axis not been specified and - // has no plots. (This means it is impossible to do autoscaling and - // no other scale was given so we can't possible draw anything). If you use manual - // scaling you also have to supply the tick steps as well. - if( (!$this->yscale->IsSpecified() && count($this->plots)==0) || - ($this->y2scale!=null && !$this->y2scale->IsSpecified() && count($this->y2plots)==0) ) { - JpGraphError::Raise("<strong>JpGraph: Can't draw unspecified Y-scale.</strong><br> - You have either: - <br>* Specified an Y axis for autoscaling but have not supplied any plots - <br>* Specified a scale manually but have forgot to specify the tick steps"); - } - - // Bail out if no plots and no specified X-scale - if( (!$this->xscale->IsSpecified() && count($this->plots)==0 && count($this->y2plots)==0) ) - JpGraphError::Raise("<strong>JpGraph: Can't draw unspecified X-scale.</strong><br>No plots.<br>"); - - //Check if we should autoscale y-axis - if( !$this->yscale->IsSpecified() && count($this->plots)>0 ) { - list($min,$max) = $this->GetPlotsYMinMax($this->plots); - $this->yscale->AutoScale($this->img,$min,$max,$this->img->plotheight/$this->ytick_factor); - } - - if( $this->y2scale != null) - if( !$this->y2scale->IsSpecified() && count($this->y2plots)>0 ) { - list($min,$max) = $this->GetPlotsYMinMax($this->y2plots); - $this->y2scale->AutoScale($this->img,$min,$max,$this->img->plotheight/$this->ytick_factor); - } - - //Check if we should autoscale x-axis - if( !$this->xscale->IsSpecified() ) { - if( substr($this->axtype,0,4) == "text" ) { - $max=0; - foreach( $this->plots as $p ) { - $max=max($max,$p->numpoints-1); - } - $min=0; - if( $this->y2axis != null ) { - foreach( $this->y2plots as $p ) { - $max=max($max,$p->numpoints-1); - } - } - $this->xscale->Update($this->img,$min,$max); - $this->xscale->ticks->Set($this->xaxis->tick_step,1); - $this->xscale->ticks->SupressMinorTickMarks(); - } - else { - list($min,$ymin) = $this->plots[0]->Min(); - list($max,$ymax) = $this->plots[0]->Max(); - foreach( $this->plots as $p ) { - list($xmin,$ymin) = $p->Min(); - list($xmax,$ymax) = $p->Max(); - $min = Min($xmin,$min); - $max = Max($xmax,$max); - } - if( $this->y2axis != null ) { - foreach( $this->y2plots as $p ) { - list($xmin,$ymin) = $p->Min(); - list($xmax,$ymax) = $p->Max(); - $min = Min($xmin,$min); - $max = Max($xmax,$max); - } - } - $this->xscale->AutoScale($this->img,$min,$max,$this->img->plotwidth/$this->xtick_factor); - } - - //Adjust position of y-axis and y2-axis to minimum/maximum of x-scale - $this->yaxis->SetPos($this->xscale->GetMinVal()); - if( $this->y2axis != null ) { - $this->y2axis->SetPos($this->xscale->GetMaxVal()); - $this->y2axis->SetTitleSide(SIDE_RIGHT); - } - } - - // If we have a negative values and x-axis position is at 0 - // we need to supress the first and possible the last tick since - // they will be drawn on top of the y-axis (and possible y2 axis) - // The test below might seem strange the reasone being that if - // the user hasn't specified a value for position this will not - // be set until we do the stroke for the axis so as of now it - // is undefined. - - if( !$this->xaxis->pos && $this->yscale->GetMinVal() < 0 ) { - $this->yscale->ticks->SupressZeroLabel(false); - $this->xscale->ticks->SupressFirst(); - if( $this->y2axis != null ) { - $this->xscale->ticks->SupressLast(); - } - } - - $this->StrokePlotArea(); - - // Stroke axis - $this->xaxis->Stroke($this->yscale); - $this->yaxis->Stroke($this->xscale); - - // Stroke bands - if( $this->bands != null ) - for($i=0; $i<count($this->bands); ++$i) { - // Stroke all bands that asks to be in the background - if( $this->bands[$i]->depth == DEPTH_BACK ) - $this->bands[$i]->Stroke($this->img,$this->xscale,$this->yscale); - } - - if( $this->grid_depth == DEPTH_BACK ) { - $this->ygrid->Stroke(); - $this->xgrid->Stroke(); - } - - // Stroke Y2-axis - if( $this->y2axis != null ) { - $this->y2axis->Stroke($this->xscale); - $this->y2grid->Stroke(); - } - - $oldoff=$this->xscale->off; - if(substr($this->axtype,0,4)=="text") { - $this->xscale->off += - ceil($this->xscale->scale_factor*$this->text_scale_off*$this->xscale->ticks->minor_step); - } - - // Stroke all plots for Y1 axis - for($i=0; $i<count($this->plots) ; ++$i ) { - $this->plots[$i]->Stroke($this->img,$this->xscale,$this->yscale); - $this->plots[$i]->StrokeMargin($this->img); - } - - // Stroke all plots for Y2 axis - if( $this->y2scale != null ) - for($i=0; $i< count($this->y2plots); ++$i ) { - $this->y2plots[$i]->Stroke($this->img,$this->xscale,$this->y2scale); - } - - $this->xscale->off=$oldoff; - - if( $this->grid_depth == DEPTH_FRONT ) { - $this->ygrid->Stroke(); - $this->xgrid->Stroke(); - } - - // Stroke bands - if( $this->bands!= null ) - for($i=0; $i<count($this->bands); ++$i) { - // Stroke all bands that asks to be in the foreground - if( $this->bands[$i]->depth == DEPTH_FRONT ) - $this->bands[$i]->Stroke($this->img,$this->xscale,$this->yscale); - } - - // Stroke any lines added - if( $this->lines != null ) { - for($i=0; $i<count($this->lines); ++$i) { - $this->lines[$i]->Stroke($this->img,$this->xscale,$this->yscale); - } - } - - // Finally draw the axis again since some plots may have nagged - // the axis in the edges. - $this->yaxis->Stroke($this->xscale); - $this->xaxis->Stroke($this->yscale); - - if( $this->y2scale != null) - $this->y2axis->Stroke($this->xscale); - - $this->StrokePlotBox(); - - // The titles and legends never gets rotated so make sure - // that the angle is 0 before stroking them - $aa = $this->img->SetAngle(0); - $this->StrokeTitles(); - $this->legend->Stroke($this->img); - $this->StrokeTexts(); - $this->img->SetAngle($aa); - - // Draw an outline around the image map - if(JPG_DEBUG) - $this->DisplayClientSideaImageMapAreas(); - - // Adjust the appearance of the image - $this->AdjustSaturationBrightnessContrast(); - - // Finally stream the generated picture - $this->cache->PutAndStream($this->img,$this->cache_name,$this->inline,$aStrokeFileName); - } - -//--------------- -// PRIVATE METHODS - // Private helper function for backgound image - function LoadBkgImage($aImgFormat="png",$aBright=0,$aContr=0) { - $f = "imagecreatefrom".$aImgFormat; - $imgtag = $aImgFormat; - if( $aImgFormat == "jpeg" ) - $imgtag = "jpg"; - if( !strstr($this->background_image,$imgtag) && strstr($this->background_image,".") ) - JpGraphError::Raise(" Background image seems to be of different type (has different file extension) - than specified imagetype. <br>Specified: '".$aImgFormat."'<br>File: '".$this->background_image."'"); - $img = $f($this->background_image); - if( !$img ) { - JpGraphError::Raise(" Can't read background image: '".$this->background_image."'"); - } - return $img; - } - - // Private - // Stroke the plot area with either a solid color or a background image - function StrokePlotArea() { - // Copy in background image - if( $this->background_image != "" ) { - $bkgimg = $this->LoadBkgImage($this->background_image_format); - $this->img->_AdjBrightContrast($bkgimg,$this->background_image_bright, - $this->background_image_contr); - $this->img->_AdjSat($bkgimg,$this->background_image_sat); - $bw = ImageSX($bkgimg); - $bh = ImageSY($bkgimg); - - $aa = $this->img->SetAngle(0); - - switch( $this->background_image_type ) { - case BGIMG_FILLPLOT: // Resize to just fill the plotarea - $this->StrokeFrame(); - $GLOBALS["copyfunc"]($this->img->img,$bkgimg, - $this->img->left_margin,$this->img->top_margin, - 0,0,$this->img->plotwidth,$this->img->plotheight, - $bw,$bh); - break; - case BGIMG_FILLFRAME: // Fill the whole area from upper left corner, resize to just fit - $GLOBALS["copyfunc"]($this->img->img,$bkgimg, - 0,0,0,0, - $this->img->width,$this->img->height, - $bw,$bh); - $this->StrokeFrame(); - break; - case BGIMG_COPY: // Just copy the image from left corner, no resizing - $GLOBALS["copyfunc"]($this->img->img,$bkgimg, - 0,0,0,0, - $bw,$bh, - $bw,$bh); - $this->StrokeFrame(); - break; - case BGIMG_CENTER: // Center original image in the plot area - $centerx = round($this->img->plotwidth/2+$this->img->left_margin-$bw/2); - $centery = round($this->img->plotheight/2+$this->img->top_margin-$bh/2); - $GLOBALS["copyfunc"]($this->img->img,$bkgimg, - $centerx,$centery, - 0,0, - $bw,$bh, - $bw,$bh); - $this->StrokeFrame(); - break; - default: - JpGraphError::Raise(" Unknown background image layout"); - } - $this->img->SetAngle($aa); - } - else { - $aa = $this->img->SetAngle(0); - $this->StrokeFrame(); - $this->img->SetAngle($aa); - - $this->img->PushColor($this->plotarea_color); - - // Note: To be consistent we really should take a possible shadow - // into account. However, that causes some problem for the LinearScale class - // since in the current design it does not have any links to class Graph which - // means it has no way of compensating for the adjusted plotarea in case of a - // shadow. So, until I redesign LinearScale we can't compensate for this. - // So just set the two adjustment parameters to zero for now. - $boxadj = 0; //$this->doframe ? $this->frame_weight : 0 ; - $adj = 0; //$this->doshadow ? $this->shadow_width : 0 ; - - $this->img->FilledRectangle($this->img->left_margin+$boxadj, - $this->img->top_margin+$boxadj, - $this->img->width-$this->img->right_margin-$adj-2*$boxadj, - $this->img->height-$this->img->bottom_margin-$adj-2*$boxadj); - - $this->img->PopColor(); - } - $this->img->SetAngle($aa); - } - - - function StrokePlotBox() { - // Should we draw a box around the plot area? - if( $this->boxed ) { - $this->img->SetLineWeight($this->box_weight); - $this->img->SetColor($this->box_color); - $this->img->Rectangle( - $this->img->left_margin,$this->img->top_margin, - $this->img->width-$this->img->right_margin, - $this->img->height-$this->img->bottom_margin); - } - } - - function StrokeTitles() { - // Stroke title - $this->title->Center($this->img->left_margin,$this->img->width-$this->img->right_margin,5); - $this->title->Stroke($this->img); - - // ... and subtitle - $this->subtitle->Center($this->img->left_margin,$this->img->width-$this->img->right_margin, - 7+$this->title->GetFontHeight($this->img)); - $this->subtitle->Stroke($this->img); - } - - function StrokeTexts() { - // Stroke any user added text objects - if( $this->texts != null ) { - for($i=0; $i<count($this->texts); ++$i) { - $this->texts[$i]->Stroke($this->img); - } - } - } - - function DisplayClientSideaImageMapAreas() { - // Debug stuff - display the outline of the image map areas - foreach ($this->plots as $p) { - $csim.= $p->GetCSIMareas(); - } - $csim.= $this->legend->GetCSIMareas(); - if (preg_match_all("/area shape=\"(\w+)\" coords=\"([0-9\, ]+)\"/", $csim, $coords)) { - $this->img->SetColor($this->csimcolor); - for ($i=0; $i<count($coords[0]); $i++) { - if ($coords[1][$i]=="poly") { - preg_match_all('/\s*([0-9]+)\s*,\s*([0-9]+)\s*,*/',$coords[2][$i],$pts); - $this->img->SetStartPoint($pts[1][count($pts[0])-1],$pts[2][count($pts[0])-1]); - for ($j=0; $j<count($pts[0]); $j++) { - $this->img->LineTo($pts[1][$j],$pts[2][$j]); - } - } else if ($coords[1][$i]=="rect") { - $pts = preg_split('/,/', $coords[2][$i]); - $this->img->SetStartPoint($pts[0],$pts[1]); - $this->img->LineTo($pts[2],$pts[1]); - $this->img->LineTo($pts[2],$pts[3]); - $this->img->LineTo($pts[0],$pts[3]); - $this->img->LineTo($pts[0],$pts[1]); - } - } - } - } - - function AdjustSaturationBrightnessContrast() { - // Adjust the brightness and contrast of the image - if( $this->image_contr || $this->image_bright ) - $this->img->AdjBrightContrast($this->image_bright,$this->image_contr); - if( $this->image_sat ) - $this->img->AdjSat($this->image_sat); - } - - // Text scale offset in world coordinates - function SetTextScaleOff($aOff) { - $this->text_scale_off = $aOff; - } - - // Get min and max values for all included plots - function GetPlotsYMinMax(&$aPlots) { - list($xmax,$max) = $aPlots[0]->Max(); - list($xmin,$min) = $aPlots[0]->Min(); - for($i=0; $i<count($aPlots); ++$i ) { - list($xmax,$ymax)=$aPlots[$i]->Max(); - list($xmin,$ymin)=$aPlots[$i]->Min(); - if (!is_string($ymax) || $ymax != "") $max=max($max,$ymax); - if (!is_string($ymin) || $ymin != "") $min=min($min,$ymin); - } - if( $min == "" ) $min = 0; - if( $max == "" ) $max = 0; - if( $min == 0 && $max == 0 ) { - // Special case if all values are 0 - $min=0;$max=1; - } - return array($min,$max); - } - - // Draw a frame around the image - function StrokeFrame() { - if( !$this->doframe ) return; - if( $this->doshadow ) { - $this->img->SetColor($this->frame_color); - if( $this->background_image_type <= 1 ) - $c = $this->margin_color; - else - $c = false; - $this->img->ShadowRectangle(0,0,$this->img->width,$this->img->height, - $c,$this->shadow_width); - } - else { - $this->img->SetLineWeight($this->frame_weight); - if( $this->background_image_type <= 1 ) { - $this->img->SetColor($this->margin_color); - $this->img->FilledRectangle(1,1,$this->img->width-2,$this->img->height-2); - } - $this->img->SetColor($this->frame_color); - $this->img->Rectangle(0,0,$this->img->width-1,$this->img->height-1); - } - } -} // Class - - -//=================================================== -// CLASS TTF -// Description: Handle TTF font names -//=================================================== -class TTF { - var $font_fam; -//--------------- -// CONSTRUCTOR - function TTF() { - // Base file names for available fonts - $this->font_fam=array( - FF_COURIER => TTF_DIR."courier", - FF_VERDANA => TTF_DIR."verdana", - FF_TIMES => TTF_DIR."times", - FF_HANDWRT => TTF_DIR."handwriting", - FF_COMIC => TTF_DIR."comic", - FF_ARIAL => TTF_DIR."arial", - FF_BOOK => TTF_DIR."bookant"); - } - -//--------------- -// PUBLIC METHODS - // Create the TTF file from the font specification - function File($fam,$style=FS_NORMAL) { - $f=$this->font_fam[$fam]; - if( !$f ) JpGraphError::Raise(" Unknown TTF font family."); - switch( $style ) { - case FS_NORMAL: - break; - case FS_BOLD: $f .= "bd"; - break; - case FS_ITALIC: $f .= "i"; - break; - case FS_BOLDIT: $f .= "bi"; - break; - default: - JpGraphError::Raise(" Unknown TTF Style."); - } - $f .= ".ttf"; - - // Check that file exist - if( !file_exists($f) ) - JpGraphError::Raise(" Can't open font file \"$f\". Wrong directory?"); - - return $f; - } -} // Class - -//=================================================== -// CLASS LineProperty -// Description: Holds properties for a line -//=================================================== -class LineProperty { - var $iWeight=1, $iColor="black",$iStyle="solid"; - var $iShow=true; - -//--------------- -// PUBLIC METHODS - function SetColor($aColor) { - $this->iColor = $aColor; - } - - function SetWeight($aWeight) { - $this->iWeight = $aWeight; - } - - function SetStyle($aStyle) { - $this->iStyle = $aStyle; - } - - function Show($aShow=true) { - $this->iShow=$aShow; - } - - function Stroke($aImg,$aX1,$aY1,$aX2,$aY2) { - if( $this->iShow ) { - $aImg->SetColor($this->iColor); - $aImg->SetLineWeight($this->iWeight); - $aImg->SetLineStyle($this->iStyle); - $aImg->StyleLine($aX1,$aY1,$aX2,$aY2); - } - } -} - - - -//=================================================== -// CLASS Text -// Description: Arbitrary text object that can be added to the graph -//=================================================== -class Text { - var $t,$x=0,$y=0,$halign="left",$valign="top",$color=array(0,0,0); - var $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12,$hide=false,$dir=0; - var $boxed=false; // Should the text be boxed - var $paragraph_align="left"; - -//--------------- -// CONSTRUCTOR - - // Create new text at absolute pixel coordinates - function Text($aTxt="",$aXAbsPos=0,$aYAbsPos=0) { - $this->t = $aTxt; - $this->x = $aXAbsPos; - $this->y = $aYAbsPos; - } -//--------------- -// PUBLIC METHODS - // Set the string in the text object - function Set($aTxt) { - $this->t = $aTxt; - } - - // Specify the position and alignment for the text object - function Pos($aXAbsPos=0,$aYAbsPos=0,$aHAlign="left",$aVAlign="top") { - $this->x = $aXAbsPos; - $this->y = $aYAbsPos; - $this->halign = $aHAlign; - $this->valign = $aVAlign; - } - - // Specify alignment for the text - function Align($aHAlign,$aVAlign="top") { - $this->halign = $aHAlign; - $this->valign = $aVAlign; - } - - // Specifies the alignment for a multi line text - function ParagraphAlign($aAlign) { - $this->paragraph_align = $aAlign; - } - - // Specify that the text should be boxed. fcolor=frame color, bcolor=border color, - // $shadow=drop shadow should be added around the text. - function SetBox($aFrameColor=array(255,255,255),$aBorderColor=array(0,0,0),$aShadow=false) { - if( $aFrameColor==false ) - $this->boxed=false; - else - $this->boxed=true; - $this->fcolor=$aFrameColor; - $this->bcolor=$aBorderColor; - $this->shadow=$aShadow; - } - - // Hide the text - function Hide($aHide=true) { - $this->hide=$aHide; - } - - // This looks ugly since it's not a very orthogonal design - // but I added this "inverse" of Hide() to harmonize - // with some classes which I designed more recently (especially) - // jpgraph_gantt - function Show($aShow=true) { - $this->hide=!$aShow; - } - - // Specify font - function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) { - $this->font_family=$aFamily; - $this->font_style=$aStyle; - $this->font_size=$aSize; - } - - // Center the text between $left and $right coordinates - function Center($aLeft,$aRight,$aYAbsPos=false) { - $this->x = $aLeft + ($aRight-$aLeft )/2; - $this->halign = "center"; - if( is_numeric($aYAbsPos) ) - $this->y = $aYAbsPos; - } - - // Set text color - function SetColor($aColor) { - $this->color = $aColor; - } - - // Orientation of text. Note only TTF fonts can have an arbitrary angle - function SetOrientation($aDirection=0) { - if( is_numeric($aDirection) ) - $this->dir=$aDirection; - elseif( $aDirection=="h" ) - $this->dir = 0; - elseif( $aDirection=="v" ) - $this->dir = 90; - else JpGraphError::Raise(" Invalid direction specified for text."); - } - - // Total width of text - function GetWidth(&$aImg) { - $aImg->SetFont($this->font_family,$this->font_style,$this->font_size); - return $aImg->GetTextWidth($this->t); - } - - // Hight of font - function GetFontHeight(&$aImg) { - $aImg->SetFont($this->font_family,$this->font_style,$this->font_size); - return $aImg->GetFontHeight(); - } - - function GetTextHeight(&$aImg) { - $aImg->SetFont($this->font_family,$this->font_style,$this->font_size); - return $aImg->GetTextHeight($this->t); - } - - // Display text in image - function Stroke(&$aImg,$x=-1,$y=-1) { - if( $x>-1 ) $this->x = $x; - if( $y>-1 ) $this->y = $y; - - // If position been given as a fraction of the image size - // calculate the absolute position - if( $this->x < 1 ) $this->x *= $aImg->width; - if( $this->y < 1 ) $this->y *= $aImg->height; - - $aImg->PushColor($this->color); - $aImg->SetFont($this->font_family,$this->font_style,$this->font_size); - $aImg->SetTextAlign($this->halign,$this->valign); - if( $this->boxed ) { - if( $this->fcolor=="nofill" ) $this->fcolor=false; - $aImg->StrokeBoxedText($this->x,$this->y,$this->t, - $this->dir,$this->fcolor,$this->bcolor,$this->shadow, - $this->paragraph_align); - } - else { - $aImg->StrokeText($this->x,$this->y,$this->t,$this->dir, - $this->paragraph_align); - } - $aImg->PopColor($this->color); - } -} // Class - -//=================================================== -// CLASS Grid -// Description: responsible for drawing grid lines in graph -//=================================================== -class Grid { - var $img; - var $scale; - var $grid_color=array(196,196,196); - var $type="solid"; - var $show=false, $showMinor=false,$weight=1; -//--------------- -// CONSTRUCTOR - function Grid(&$aAxis) { - $this->scale = &$aAxis->scale; - $this->img = &$aAxis->img; - } -//--------------- -// PUBLIC METHODS - function SetColor($aColor) { - $this->grid_color=$aColor; - } - - function SetWeight($aWeight) { - $this->weight=$aWeight; - } - - // Specify if grid should be dashed, dotted or solid - function SetLineStyle($aType) { - $this->type = $aType; - } - - // Decide if both major and minor grid should be displayed - function Show($aShowMajor=true,$aShowMinor=false) { - $this->show=$aShowMajor; - $this->showMinor=$aShowMinor; - } - - // Display the grid - function Stroke() { - if( $this->showMinor ) - $this->DoStroke($this->scale->ticks->ticks_pos); - else - $this->DoStroke($this->scale->ticks->maj_ticks_pos); - } - -//-------------- -// Private methods - // Draw the grid - function DoStroke(&$aTicksPos) { - if( !$this->show ) - return; - $this->img->SetColor($this->grid_color); - $this->img->SetLineWeight($this->weight); - $nbrgrids = count($aTicksPos); - if( $this->scale->type=="y" ) { - $xl=$this->img->left_margin; - $xr=$this->img->width-$this->img->right_margin; - for($i=0; $i<$nbrgrids; ++$i) { - $y=$aTicksPos[$i]; - if( $this->type == "solid" ) - $this->img->Line($xl,$y,$xr,$y); - elseif( $this->type == "dotted" ) - $this->img->DashedLine($xl,$y,$xr,$y,1,6); - elseif( $this->type == "dashed" ) - $this->img->DashedLine($xl,$y,$xr,$y,2,4); - elseif( $this->type == "longdashed" ) - $this->img->DashedLine($xl,$y,$xr,$y,8,6); - } - } - - if( $this->scale->type=="x" ) { - $yu=$this->img->top_margin; - $yl=$this->img->height-$this->img->bottom_margin; - $x=$aTicksPos[0]; - $limit=$this->img->width-$this->img->right_margin; - $i=0; - // We must also test for limit since we might have - // an offset and the number of ticks is calculated with - // assumption offset==0 so we might end up drawing one - // to many gridlines - while( $x<=$limit && $i<count($aTicksPos)) { - $x=$aTicksPos[$i]; - if( $this->type == "solid" ) - $this->img->Line($x,$yl,$x,$yu); - elseif( $this->type == "dotted" ) - $this->img->DashedLine($x,$yl,$x,$yu,1,6); - elseif( $this->type == "dashed" ) - $this->img->DashedLine($x,$yl,$x,$yu,2,4); - elseif( $this->type == "longdashed" ) - $this->img->DashedLine($x,$yl,$x,$yu,8,6); - ++$i; - } - } - return true; - } -} // Class - -//=================================================== -// CLASS Axis -// Description: Defines X and Y axis. Notes that at the -// moment the code is not really good since the axis on -// several occasion must know wheter it's an X or Y axis. -// This was a design decision to make the code easier to -// follow. -//=================================================== -class Axis { - var $pos = false; - var $weight=1; - var $color=array(0,0,0),$label_color=array(0,0,0); - var $img=null,$scale=null; - var $hide=false; - var $ticks_label=false; - var $show_first_label=true; - var $label_step=1; // Used by a text axis to specify what multiple of major steps - // should be labeled. - var $tick_step=1; - var $labelPos=0; // Which side of the axis should the labels be? - var $title=null,$title_adjust,$title_margin,$title_side=SIDE_LEFT; - var $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12,$label_angle=0; - var $tick_label_margin=6; -//--------------- -// CONSTRUCTOR - function Axis(&$img,&$aScale,$color=array(0,0,0)) { - $this->img = &$img; - $this->scale = &$aScale; - $this->color = $color; - $this->title=new Text(""); - - if( $aScale->type=="y" ) { - $this->title_margin = 25; - $this->title_adjust="middle"; - $this->title->SetOrientation(90); - $this->tick_label_margin=6; - $this->labelPos=SIDE_LEFT; - } - else { - $this->title_margin = 5; - $this->title_adjust="high"; - $this->title->SetOrientation(0); - $this->tick_label_margin=3; - $this->labelPos=SIDE_DOWN; - } - } -//--------------- -// PUBLIC METHODS - - // Utility function to set the direction for tick marks - function SetTickDirection($aDir) { - $this->scale->ticks->SetDirection($aDir); - } - - function SetLabelFormatString($aFormStr) { - $this->scale->ticks->SetLabelFormat($aFormStr); - } - - function SetLabelFormatCallback($aFuncName) { - $this->scale->ticks->SetFormatCallback($aFuncName); - } - - // Don't display the first label - function HideFirstTickLabel($aHide=false) { - $this->show_first_label=$aHide; - } - - // Hide the axis - function Hide($aHide=true) { - $this->hide=$aHide; - } - - // Weight of axis - function SetWeight($aWeight) { - $this->weight = $aWeight; - } - - // Axis color - function SetColor($aColor,$aLabelColor=false) { - $this->color = $aColor; - if( !$aLabelColor ) $this->label_color = $aColor; - else $this->label_color = $aLabelColor; - } - - // Title on axis - function SetTitle($aTitle,$aAdjustAlign="high") { - $this->title->Set($aTitle); - $this->title_adjust=$aAdjustAlign; - } - - // Specify distance from the axis - function SetTitleMargin($aMargin) { - $this->title_margin=$aMargin; - } - - // Specify text labels for the ticks. One label for each data point - function SetTickLabels($aLabelArray) { - $this->ticks_label = $aLabelArray; - } - - // How far from the axis should the labels be drawn - function SetTickLabelMargin($aMargin) { - $this->tick_label_margin=$aMargin; - } - - // Specify that every $step of the ticks should be displayed starting - // at $start - // DEPRECATED FUNCTION: USE SetTextTickInterval() INSTEAD - function SetTextTicks($step,$start=0) { - JpGraphError::Raise(" SetTextTicks() is deprecated. Use SetTextTickInterval() instead."); - } - - // Specify that every $step of the ticks should be displayed starting - // at $start - function SetTextTickInterval($aStep,$aStart=0) { - $this->scale->ticks->SetTextLabelStart($aStart); - $this->tick_step=$aStep; - } - - // Specify that every $step tick mark should have a label - // should be displayed starting - function SetTextLabelInterval($aStep) { - if( $aStep < 1 ) - JpGraphError::Raise(" Text label interval must be specified >= 1."); - $this->label_step=$aStep; - } - - - // Which side of the axis should the labels be on? - function SetLabelPos($aSidePos) { - $this->labelPos=$aSidePos; - } - - // Set the font - function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) { - $this->font_family = $aFamily; - $this->font_style = $aStyle; - $this->font_size = $aSize; - } - - // Which side of the axis should the axis title be? - function SetTitleSide($aSideOfAxis) { - $this->title_side = $aSideOfAxis; - } - - // Stroke the axis. - function Stroke($aOtherAxisScale) { - if( $this->hide ) return; - if( is_numeric($this->pos) ) { - $pos=$aOtherAxisScale->Translate($this->pos); - } - else { // Default to minimum of other scale if pos not set - if( ($aOtherAxisScale->GetMinVal() >= 0 && $this->pos==false)|| $this->pos=="min" ) { - $pos = $aOtherAxisScale->scale_abs[0]; - } - elseif($this->pos == "max") { - $pos = $aOtherAxisScale->scale_abs[1]; - } - else { // If negative set x-axis at 0 - $this->pos=0; - $pos=$aOtherAxisScale->Translate(0); - } - } - $this->img->SetLineWeight($this->weight); - $this->img->SetColor($this->color); - $this->img->SetFont($this->font_family,$this->font_style,$this->font_size); - if( $this->scale->type == "x" ) { - $this->img->FilledRectangle($this->img->left_margin,$pos, - $this->img->width-$this->img->right_margin,$pos+$this->weight-1); - $y=$pos+$this->img->GetFontHeight()+$this->title_margin; - if( $this->title_adjust=="high" ) - $this->title->Pos($this->img->width-$this->img->right_margin,$y,"right","top"); - elseif($this->title_adjust=="middle") - $this->title->Pos(($this->img->width-$this->img->left_margin-$this->img->right_margin)/2+$this->img->left_margin,$y,"center","top"); - elseif($this->title_adjust=="low") - $this->title->Pos($this->img->left_margin,$y,"left","top"); - } - elseif( $this->scale->type == "y" ) { - // Add line weight to the height of the axis since - // the x-axis could have a width>1 and we want the axis to fit nicely together. - $this->img->FilledRectangle($pos-$this->weight+1,$this->img->top_margin, - $pos,$this->img->height-$this->img->bottom_margin+$this->weight-1); - $x=$pos ; - if( $this->title_side == SIDE_LEFT ) { - $x -= $this->title_margin; - $halign="right"; - } - else { - $x += $this->title_margin; - $halign="left"; - } - if( $this->title_adjust=="high" ) - $this->title->Pos($x,$this->img->top_margin,$halign,"top"); - elseif($this->title_adjust=="middle" || $this->title_adjust=="center") - $this->title->Pos($x,($this->img->height-$this->img->top_margin-$this->img->bottom_margin)/2+$this->img->top_margin,$halign,"center"); - elseif($this->title_adjust=="low") - $this->title->Pos($x,$this->img->height-$this->img->bottom_margin,$halign,"bottom"); - } - $this->scale->ticks->Stroke($this->img,$this->scale,$pos); - $this->StrokeLabels($pos); - $this->title->Stroke($this->img); - } - - // Position for axis line on the "other" scale - function SetPos($aPosOnOtherScale) { - $this->pos=$aPosOnOtherScale; - } - - // Specify the angle for the tick labels - function SetLabelAngle($aAngle) { - $this->label_angle = $aAngle; - } - -//--------------- -// PRIVATE METHODS - // Draw all the tick labels on major tick marks - function StrokeLabels($aPos,$aMinor=false) { - $this->img->SetColor($this->label_color); - $this->img->SetFont($this->font_family,$this->font_style,$this->font_size); - $yoff=$this->img->GetFontHeight()/2; - - // Only draw labels at major tick marks - $nbr = count($this->scale->ticks->maj_ticks_label); - - // We have the option to not-display the very first mark - // (Usefull when the first label might interfere with another - // axis.) - if( $this->show_first_label ) $start=0; - else $start=1; - - // Note. the $limit is only used for the x axis since we - // might otherwise overshoot if the scale has been centered - // This is due to us "loosing" the last tick mark if we center. - //if( $this->scale->type=="x" ) - // $limit=$this->img->width-$this->img->right_margin; - //else - // $limit=$this->img->height; - - // $i holds the current index for the label - $i=$start; - - // Now run through all labels making sure we don't overshoot the end - // of the scale. - while( $i<$nbr ) { - // $tpos holds the absolute text position for the label - $tpos=$this->scale->ticks->maj_ticklabels_pos[$i]; - // we only draw every $label_step label - if( ($i % $this->label_step)==0 ) { - - // If the label has been specified use that and in other case - // just label the mark with the actual scale value - $m=$this->scale->ticks->GetMajor(); - - // ticks_label has an entry for each data point - if( isset($this->ticks_label[$i*$m]) ) - $label=$this->ticks_label[$i*$m]; - else - $label=$this->scale->ticks->maj_ticks_label[$i]; - - if( $this->scale->type == "x" ) { - if( $this->labelPos == SIDE_DOWN ) { - if( $this->label_angle==0 || $this->label_angle==90 ) - $this->img->SetTextAlign("center","top"); - else - $this->img->SetTextAlign("topanchor","top"); - $this->img->StrokeText($tpos,$aPos+$this->tick_label_margin,$label,$this->label_angle); - } - else { - if( $this->label_angle==0 || $this->label_angle==90 ) - $this->img->SetTextAlign("center","bottom"); - else - $this->img->SetTextAlign("topanchor","bottom"); - $this->img->StrokeText($tpos,$aPos-$this->tick_label_margin,$label,$this->label_angle); - } - } - else { - // scale->type == "y" - if( $this->label_angle!=0 ) - JpGraphError::Raise(" Labels at an angle are not supported on Y-axis"); - if( $this->labelPos == SIDE_LEFT ) { // To the left of y-axis - $this->img->SetTextAlign("right","center"); - $this->img->StrokeText($aPos-$this->tick_label_margin,$tpos,$label); - } - else { // To the right of the y-axis - $this->img->SetTextAlign("left","center"); - $this->img->StrokeText($aPos+$this->tick_label_margin,$tpos,$label); - } - } - } - ++$i; - } - } - -} // Class - -//=================================================== -// CLASS Ticks -// Description: Abstract base class for drawing linear and logarithmic -// tick marks on axis -//=================================================== -class Ticks { - var $minor_abs_size=3, $major_abs_size=5; - var $direction=1; // Should ticks be in(=1) the plot area or outside (=-1)? - var $scale; - var $is_set=false; - var $precision=-1; - var $supress_zerolabel=false,$supress_first=false; - var $supress_last=false,$supress_tickmarks=false,$supress_minor_tickmarks=false; - var $mincolor="",$majcolor=""; - var $weight=1; - var $label_formatstr=""; // C-style format string to use for labels - var $label_formfunc=""; - - -//--------------- -// CONSTRUCTOR - function Ticks(&$aScale) { - $this->scale=&$aScale; - } - -//--------------- -// PUBLIC METHODS - // Set format string for automatic labels - function SetLabelFormat($aFormatString) { - $this->label_formatstr=$aFormatString; - } - - function SetFormatCallback($aCallbackFuncName) { - $this->label_formfunc = $aCallbackFuncName; - } - - // Don't display the first zero label - function SupressZeroLabel($aFlag=true) { - $this->supress_zerolabel=$aFlag; - } - - // Don't display minor tick marks - function SupressMinorTickMarks($aHide=true) { - $this->supress_minor_tickmarks=$aHide; - } - - // Don't display major tick marks - function SupressTickMarks($aHide=true) { - $this->supress_tickmarks=$aHide; - } - - // Hide the first tick mark - function SupressFirst($aHide=true) { - $this->supress_first=$aHide; - } - - // Hide the last tick mark - function SupressLast($aHide=true) { - $this->supress_last=$aHide; - } - - // Size (in pixels) of minor tick marks - function GetMinTickAbsSize() { - return $this->minor_abs_size; - } - - // Size (in pixels) of major tick marks - function GetMajTickAbsSize() { - return $this->major_abs_size; - } - - // Have the ticks been specified - function IsSpecified() { - return $this->is_set; - } - - // Set the distance between major and minor tick marks - function Set($aMaj,$aMin) { - // "Virtual method" - // Should be implemented by the concrete subclass - // if any action is wanted. - } - - // Specify number of decimals in automtic labels - // Deprecated from 1.4. Use SetFormatString() instead - function SetPrecision($aPrecision) { - $this->precision=$aPrecision; - } - - // Which side of the axis should the ticks be on - function SetDirection($aSide=SIDE_RIGHT) { - $this->direction=$aSide; - } - - // Set colors for major and minor tick marks - function SetMarkColor($aMajorColor,$aMinorColor="") { - $this->majcolor=$aMajorColor; - - // If not specified use same as major - if( $aMinorColor=="" ) - $this->mincolor=$aMajorColor; - else - $this->mincolor=$aMinorColor; - } - - function SetWeight($aWeight) { - $this->weight=$aWeight; - } - -} // Class - -//=================================================== -// CLASS LinearTicks -// Description: Draw linear ticks on axis -//=================================================== -class LinearTicks extends Ticks { - var $minor_step=1, $major_step=2; - var $xlabel_offset=0,$xtick_offset=0; - var $label_offset=0; // What offset should the displayed label have - // i.e should we display 0,1,2 or 1,2,3,4 or 2,3,4 etc - var $text_label_start=0; -//--------------- -// CONSTRUCTOR - function LinearTicks() { - // Empty - } - -//--------------- -// PUBLIC METHODS - - - // Return major step size in world coordinates - function GetMajor() { - return $this->major_step; - } - - // Return minor step size in world coordinates - function GetMinor() { - return $this->minor_step; - } - - // Set Minor and Major ticks (in world coordinates) - function Set($aMajStep,$aMinStep) { - if( $aMajStep <= 0 || $aMinStep <= 0 ) { - JpGraphError::Raise(" Minor or major step size is 0. Check that you haven't - got an accidental SetTextTicks(0) in your code.<p> - If this is not the case you might have stumbled upon a bug in JpGraph. - Please report this and if possible include the data that caused the - problem."); - } - - $this->major_step=$aMajStep; - $this->minor_step=$aMinStep; - $this->is_set = true; - } - - // Draw linear ticks - function Stroke(&$img,&$scale,$pos) { - $maj_step_abs = $scale->scale_factor*$this->major_step; - $min_step_abs = $scale->scale_factor*$this->minor_step; - - if( $min_step_abs==0 || $maj_step_abs==0 ) - JpGraphError::Raise(" A plot has an illegal scale. This could for example be - that you are trying to use text autoscaling to draw a line plot with only one point - or similair abnormality (a line needs two points!)."); - $limit = $scale->scale_abs[1]; - $nbrmajticks=floor(1.000001*(($scale->GetMaxVal()-$scale->GetMinVal())/$this->major_step))+1; - $first=0; - - // If precision hasn't been specified set it to a sensible value - if( $this->precision==-1 ) { - $t = log10($this->minor_step); - if( $t > 0 ) - $precision = 0; - else - $precision = -floor($t); - } - else - $precision = $this->precision; - - $img->SetLineWeight($this->weight); - - // Handle ticks on X-axis - if( $scale->type == "x" ) { - // Draw the major tick marks - - $yu = $pos - $this->direction*$this->GetMajTickAbsSize(); - - // TODO: Add logic to set label_offset for text labels - $label = (float)$scale->GetMinVal()+$this->text_label_start+$this->label_offset; - - $start_abs=$scale->scale_factor*$this->text_label_start; - - $nbrmajticks=ceil(($scale->GetMaxVal()-$scale->GetMinVal()-$this->text_label_start )/$this->major_step)+1; - for( $i=0; $label<=$scale->GetMaxVal()+$this->label_offset; ++$i ) { - $x=$scale->scale_abs[0]+$start_abs+$i*$maj_step_abs+$this->xlabel_offset*$min_step_abs; - $this->maj_ticklabels_pos[$i]=ceil($x); - - // Apply format - if( $this->label_formfunc != "" ) { - $f=$this->label_formfunc; - $l = $f($label); - } - elseif( $this->label_formatstr != "" ) - $l = sprintf($this->label_formatstr,$label); - else - $l = sprintf("%01.".$precision."f",round($label,$precision)); - - if( ($this->supress_zerolabel && ($l + 0)==0) || - ($this->supress_first && $i==0) || - ($this->supress_last && $i==$nbrmajticks-1) ) - $l=""; - $this->maj_ticks_label[$i]=$l; - $label+=$this->major_step; - - // The x-position of the tick marks can be different from the labels. - // Note that we record the tick position (not the label) so that the grid - // happen upon tick marks and not labels. - $xtick=$scale->scale_abs[0]+$start_abs+$i*$maj_step_abs+$this->xtick_offset*$min_step_abs; - $this->maj_ticks_pos[$i]=ceil($xtick); - if(!($this->xtick_offset > 0 && $i==$nbrmajticks-1) && !$this->supress_tickmarks) { - if( $this->majcolor!="" ) $img->PushColor($this->majcolor); - $img->Line($xtick,$pos,$xtick,$yu); - if( $this->majcolor!="" ) $img->PopColor(); - } - } - // Draw the minor tick marks - - $yu = $pos - $this->direction*$this->GetMinTickAbsSize(); - $label = $scale->GetMinVal(); - for( $i=0,$x=$scale->scale_abs[0]; $x<$limit; ++$i ) { - $x=$scale->scale_abs[0]+$i*$min_step_abs; - $this->ticks_pos[]=$x; - $this->ticks_label[]=$label; - $label+=$this->minor_step; - if( !$this->supress_tickmarks && !$this->supress_minor_tickmarks) { - if( $this->mincolor!="" ) $img->PushColor($this->mincolor); - $img->Line($x,$pos,$x,$yu); - if( $this->mincolor!="" ) $img->PopColor(); - } - } - } - elseif( $scale->type == "y" ) { - // Draw the major tick marks - $xr = $pos + $this->direction*$this->GetMajTickAbsSize(); - $label = $scale->GetMinVal(); - for( $i=0; $i<$nbrmajticks; ++$i) { - $y=$scale->scale_abs[0]+$i*$maj_step_abs; - - // THe following two lines might seem to be unecessary but they are not! - // The reason being that for X-axis we separate the position of the labels - // and the tick marks which we don't do for the Y-axis. - // We therefore need to make sure both arrays are corcectly filled - // since Axis::StrokeLabels() uses the label positions and Grid::Stroke() uses - // the tick positions. - $this->maj_ticklabels_pos[$i]=$y; - $this->maj_ticks_pos[$i]=$y; - - if( $this->label_formfunc != "" ) { - $f=$this->label_formfunc; - $l = $f($label); - } - elseif( $this->label_formatstr != "" ) - $l = sprintf($this->label_formatstr,$label); - else - $l = sprintf("%01.".$precision."f",round($label,$precision)); - - if( ($this->supress_zerolabel && ($l + 0)==0) || - ($this->supress_first && $i==0) || - ($this->supress_last && $i==$nbrmajticks-1) ) - $l=""; - $this->maj_ticks_label[$i]=$l; - $label+=$this->major_step; - if( !$this->supress_tickmarks ) { - if( $this->majcolor!="" ) $img->PushColor($this->majcolor); - $img->Line($pos,$y,$xr,$y); - if( $this->majcolor!="" ) $img->PopColor(); - } - } - // Draw the minor tick marks - $xr = $pos + $this->direction*$this->GetMinTickAbsSize(); - $label = $scale->GetMinVal(); - for( $i=0,$y=$scale->scale_abs[0]; $y>=$limit; ) { - $this->ticks_pos[$i]=$y; - $this->ticks_label[$i]=$label; - $label+=$this->minor_step; - if( !$this->supress_tickmarks && !$this->supress_minor_tickmarks) { - if( $this->mincolor!="" ) $img->PushColor($this->mincolor); - $img->Line($pos,$y,$xr,$y); - if( $this->mincolor!="" ) $img->PopColor(); - } - ++$i; - $y=$scale->scale_abs[0]+$i*$min_step_abs; - } - } - } -//--------------- -// PRIVATE METHODS - // Spoecify the offset of the displayed tick mark with the tick "space" - // Legal values for $o is [0,1] used to adjust where the tick marks and label - // should be positioned within the major tick-size - // $lo specifies the label offset and $to specifies the tick offset - // this comes in handy for example in bar graphs where we wont no offset for the - // tick but have the labels displayed halfway under the bars. - function SetXLabelOffset($aLabelOff,$aTickOff=-1) { - $this->xlabel_offset=$aLabelOff; - if( $aTickOff==-1 ) // Same as label offset - $this->xtick_offset=$aLabelOff; - else - $this->xtick_offset=$aTickOff; - if( $aLabelOff>0 ) - $this->SupressLast(); // The last tick wont fit - } - - // Which tick label should we start with? - function SetTextLabelStart($aTextLabelOff) { - $this->text_label_start=$aTextLabelOff; - } - -} // Class - -//=================================================== -// CLASS LinearScale -// Description: Handle linear scaling between screen and world -//=================================================== -class LinearScale { - var $scale=array(0,0); - var $scale_abs=array(0,0); - var $scale_factor; // Scale factor between world and screen - var $world_size; // Plot area size in world coordinates - var $world_abs_size; // Plot area size in pixels - var $off; // Offset between image edge and plot area - var $type; // is this x or y scale ? - var $ticks=null; // Store ticks - var $autoscale_min=false; // Forced minimum value, useful to let user force 0 as start and autoscale max - var $gracetop=0,$gracebottom=0; - var $intscale=false; // Restrict autoscale to integers -//--------------- -// CONSTRUCTOR - function LinearScale($aMin=0,$aMax=0,$aType="y") { - assert($aType=="x" || $aType=="y" ); - assert($aMin<=$aMax); - - $this->type=$aType; - $this->scale=array($aMin,$aMax); - $this->world_size=$aMax-$aMin; - $this->ticks = new LinearTicks(); - } - -//--------------- -// PUBLIC METHODS - // Second phase constructor - function Init(&$aImg) { - $this->InitConstants($aImg); - // We want image to notify us when the margins changes so we - // can recalculate the constants. - // PHP <= 4.04 BUGWARNING: IT IS IMPOSSIBLE TO DO THIS IN THE CONSTRUCTOR - // SINCE (FOR SOME REASON) IT IS IMPOSSIBLE TO PASS A REFERENCE - // TO 'this' INSTEAD IT WILL ADD AN ANONYMOUS COPY OF THIS OBJECT WHICH WILL - // GET ALL THE NOTIFICATIONS. (This took a while to track down...) - - // Add us as an observer to class Image - $aImg->AddObserver("InitConstants",$this); - } - - // Check if scale is set or if we should autoscale - // We should do this is either scale or ticks has not been set - function IsSpecified() { - if( $this->GetMinVal()==$this->GetMaxVal() ) { // Scale not set - return false; - } - return true; - } - - // Set the minimum data value when the autoscaling is used. - // Usefull if you want a fix minimum (like 0) but automtic maximum - function SetAutoMin($aMin) { - $this->autoscale_min=$aMin; - } - - // Specify scale "grace" value (top and bottom) - function SetGrace($aGraceTop,$aGraceBottom=0) { - if( $aGraceTop<0 || $aGraceBottom < 0 ) - JpGraphError::Raise(" Grace must be larger then 0"); - $this->gracetop=$aGraceTop; - $this->gracebottom=$aGraceBottom; - } - - // Get the minimum value in the scale - function GetMinVal() { - return $this->scale[0]; - } - - // get maximum value for scale - function GetMaxVal() { - return $this->scale[1]; - } - - // Specify a new min/max value for sclae - function Update(&$aImg,$aMin,$aMax) { - $this->scale=array($aMin,$aMax); - $this->world_size=$aMax-$aMin; - $this->InitConstants($aImg); - } - - // Translate between world and screen - function Translate($aCoord) { - return $this->off+round(($aCoord*1.0 - $this->GetMinVal()) * $this->scale_factor,0); - } - - // Relative translate (don't include offset) usefull when we just want - // to know the relative position (in pixels) on the axis - function RelTranslate($aCoord) { - return round(($aCoord*1.0 - $this->GetMinVal()) * $this->scale_factor,0); - } - - // Restrict autoscaling to only use integers - function SetIntScale($aIntScale=true) { - $this->intscale=$aIntScale; - } - - // Calculate an integer autoscale - function IntAutoScale(&$img,$min,$max,$maxsteps,$majend=true) { - // Make sure limits are integers - $min=floor($min); - $max=ceil($max); - if( abs($min-$max)==0 ) { - --$min; ++$max; - } - $gracetop=ceil(($this->gracetop/100.0))*abs($max-$min); - $gracebottom=ceil(($this->gracebottom/100.0))*abs($max-$min); - if( is_numeric($this->autoscale_min) ) { - $min = ceil($this->autoscale_min); - if( abs($min-$max ) == 0 ) { - ++$max; - --$min; - } - } - - $min -= $gracebottom; - $max += $gracetop; - - // First get tickmarks as multiples of 1, 10, ... - list($num1steps,$adj1min,$adj1max,$maj1step) = - $this->IntCalcTicks($maxsteps,$min,$max,1); - - // Then get tick marks as 2:s 2, 20, ... - list($num2steps,$adj2min,$adj2max,$maj2step) = - $this->IntCalcTicks($maxsteps,$min,$max,5); - - // Then get tickmarks as 5:s 5, 50, 500, ... - list($num5steps,$adj5min,$adj5max,$maj5step) = - $this->IntCalcTicks($maxsteps,$min,$max,2); - - // Check to see whichof 1:s, 2:s or 5:s fit better with - // the requested number of major ticks - $match1=abs($num1steps-$maxsteps); - $match2=abs($num2steps-$maxsteps); - if( $maj5step > 1 ) - $match5=abs($num5steps-$maxsteps); - else - $match5=1000000; // Dummy high value - - // Compare these three values and see which is the closest match - // We use a 0.6 weight to gravitate towards multiple of 5:s - if( $match1 < $match2 ) { - if( $match1 < $match5 ) - $r=1; - else - $r=3; - } - else { - if( $match2 < $match5 ) - $r=2; - else - $r=3; - } - - // Minsteps are always the same as maxsteps for integer scale - switch( $r ) { - case 1: - $this->Update($img,$adj1min,$adj1max); - $this->ticks->Set($maj1step,$maj1step); - break; - case 2: - $this->Update($img,$adj2min,$adj2max); - $this->ticks->Set($maj2step,$maj2step); - break; - case 3: - $this->Update($img,$adj5min,$adj5max); - $this->ticks->Set($maj5step,$maj2step); - break; - } - } - - - // Calculate autoscale. Used if user hasn't given a scale and ticks - // $maxsteps is the maximum number of major tickmarks allowed. - function AutoScale(&$img,$min,$max,$maxsteps,$majend=true) { - if( $this->intscale ) { - $this->IntAutoScale($img,$min,$max,$maxsteps,$majend); - return; - } - if( abs($min-$max) < 0.00001 ) { - // We need some difference to be able to autoscale - // make it 5% above and 5% below value - if( $min==0 && $max==0 ) { // Special case - $min=-1; $max=1; - } - else { - $delta = abs($max-$min)*0.05; - $min -= $delta; - $max += $delta; - } - } - - $gracetop=($this->gracetop/100.0)*abs($max-$min); - $gracebottom=($this->gracebottom/100.0)*abs($max-$min); - if( is_numeric($this->autoscale_min) ) { - $min = $this->autoscale_min; - if( abs($min-$max ) < 0.00001 ) - $max *= 1.05; - } - $min -= $gracebottom; - $max += $gracetop; - - // First get tickmarks as multiples of 0.1, 1, 10, ... - list($num1steps,$adj1min,$adj1max,$min1step,$maj1step) = - $this->CalcTicks($maxsteps,$min,$max,1,2); - - // Then get tick marks as 2:s 0.2, 2, 20, ... - list($num2steps,$adj2min,$adj2max,$min2step,$maj2step) = - $this->CalcTicks($maxsteps,$min,$max,5,2); - - // Then get tickmarks as 5:s 0.05, 0.5, 5, 50, ... - list($num5steps,$adj5min,$adj5max,$min5step,$maj5step) = - $this->CalcTicks($maxsteps,$min,$max,2,5); - - // Check to see whichof 1:s, 2:s or 5:s fit better with - // the requested number of major ticks - $match1=abs($num1steps-$maxsteps); - $match2=abs($num2steps-$maxsteps); - $match5=abs($num5steps-$maxsteps); - // Compare these three values and see which is the closest match - // We use a 0.8 weight to gravitate towards multiple of 5:s - $r=$this->MatchMin3($match1,$match2,$match5,0.8); - switch( $r ) { - case 1: - $this->Update($img,$adj1min,$adj1max); - $this->ticks->Set($maj1step,$min1step); - break; - case 2: - $this->Update($img,$adj2min,$adj2max); - $this->ticks->Set($maj2step,$min2step); - break; - case 3: - $this->Update($img,$adj5min,$adj5max); - $this->ticks->Set($maj5step,$min5step); - break; - } - } - -//--------------- -// PRIVATE METHODS - - // This method recalculates all constants that are depending on the - // margins in the image. If the margins in the image are changed - // this method should be called for every scale that is registred with - // that image. Should really be installed as an observer of that image. - function InitConstants(&$img) { - if( $this->type=="x" ) { - $this->world_abs_size=$img->width - $img->left_margin - $img->right_margin; - $this->off=$img->left_margin; - $this->scale_factor = 0; - if( $this->world_size > 0 ) - $this->scale_factor=$this->world_abs_size/($this->world_size*1.0); - } - else { // y scale - $this->world_abs_size=$img->height - $img->top_margin - $img->bottom_margin; - $this->off=$img->top_margin+$this->world_abs_size; - $this->scale_factor = 0; - if( $this->world_size > 0 ) - $this->scale_factor=-$this->world_abs_size/($this->world_size*1.0); - } - $size = $this->world_size * $this->scale_factor; - $this->scale_abs=array($this->off,$this->off + $size); - } - - // Initialize the conversion constants for this scale - // This tries to pre-calculate as much as possible to speed up the - // actual conversion (with Translate()) later on - // $start =scale start in absolute pixels (for x-scale this is an y-position - // and for an y-scale this is an x-position - // $len =absolute length in pixels of scale - function SetConstants($aStart,$aLen) { - $this->world_abs_size=$aLen; - $this->off=$aStart; - - if( $this->world_size<=0 ) { - JpGraphError::Raise("<b>JpGraph Fatal Error</b>:<br> - You have unfortunately stumbled upon a bug in JpGraph. <br> - It seems like the scale range is ".$this->world_size." [for ". - $this->type." scale] <br> - Please report Bug #01 to jpgraph@aditus.nu and include the script - that gave this error. <br> - This problem could potentially be caused by trying to use \"illegal\" - values in the input data arrays (like trying to send in strings or - only NULL values) which causes the autoscaling to fail."); - } - - // scale_factor = number of pixels per world unit - $this->scale_factor=$this->world_abs_size/($this->world_size*1.0); - - // scale_abs = start and end points of scale in absolute pixels - $this->scale_abs=array($this->off,$this->off+$this->world_size*$this->scale_factor); - } - - - // Calculate number of ticks steps with a specific division - // $a is the divisor of 10**x to generate the first maj tick intervall - // $a=1, $b=2 give major ticks with multiple of 10, ...,0.1,1,10,... - // $a=5, $b=2 give major ticks with multiple of 2:s ...,0.2,2,20,... - // $a=2, $b=5 give major ticks with multiple of 5:s ...,0.5,5,50,... - // We return a vector of - // [$numsteps,$adjmin,$adjmax,$minstep,$majstep] - // If $majend==true then the first and last marks on the axis will be major - // labeled tick marks otherwise it will be adjusted to the closest min tick mark - function CalcTicks($maxsteps,$min,$max,$a,$b,$majend=true) { - $diff=$max-$min; - if( $diff==0 ) - $ld=0; - else - $ld=floor(log10($diff)); - - // Gravitate min towards zero if we are close - if( $min>0 && $min < pow(10,$ld) ) $min=0; - - $majstep=pow(10,$ld-1)/$a; - $minstep=$majstep/$b; - $adjmax=ceil($max/$minstep)*$minstep; - $adjmin=floor($min/$minstep)*$minstep; - $adjdiff = $adjmax-$adjmin; - $numsteps=$adjdiff/$majstep; - while( $numsteps>$maxsteps ) { - $majstep=pow(10,$ld)/$a; - $numsteps=$adjdiff/$majstep; - ++$ld; - } - - $minstep=$majstep/$b; - $adjmin=floor($min/$minstep)*$minstep; - $adjdiff = $adjmax-$adjmin; - if( $majend ) { - $adjmin = floor($min/$majstep)*$majstep; - $adjdiff = $adjmax-$adjmin; - $adjmax = ceil($adjdiff/$majstep)*$majstep+$adjmin; - } - else - $adjmax=ceil($max/$minstep)*$minstep; - - return array($numsteps,$adjmin,$adjmax,$minstep,$majstep); - } - - function IntCalcTicks($maxsteps,$min,$max,$a,$majend=true) { - $diff=$max-$min; - if( $diff==0 ) - $ld=0; - else - $ld=floor(log10($diff)); - - // Gravitate min towards zero if we are close - if( $min>0 && $min < pow(10,$ld) ) $min=0; - - $majstep=pow(10,$ld-1)/$a; - $adjmax=ceil($max/$majstep)*$majstep; - $adjmin=floor($min/$majstep)*$majstep; - $adjdiff = $adjmax-$adjmin; - $numsteps=$adjdiff/$majstep; - while( $numsteps>$maxsteps ) { - $majstep=pow(10,$ld)/$a; - $numsteps=$adjdiff/$majstep; - ++$ld; - } - - $adjmin=floor($min/$majstep)*$majstep; - $adjdiff = $adjmax-$adjmin; - if( $majend ) { - $adjmin = floor($min/$majstep)*$majstep; - $adjdiff = $adjmax-$adjmin; - $adjmax = ceil($adjdiff/$majstep)*$majstep+$adjmin; - } - else - $adjmax=ceil($max/$majstep)*$majstep; - - return array($numsteps,$adjmin,$adjmax,$majstep); - } - - - - // Determine the minimum of three values witha weight for last value - function MatchMin3($a,$b,$c,$weight) { - if( $a < $b ) { - if( $a < ($c*$weight) ) - return 1; // $a smallest - else - return 3; // $c smallest - } - elseif( $b < ($c*$weight) ) - return 2; // $b smallest - return 3; // $c smallest - } -} // Class - -//=================================================== -// CLASS RGB -// Description: Color definitions as RGB triples -//=================================================== -class RGB { - var $rgb_table; - var $img; - function RGB(&$aImg) { - $this->img = $aImg; - - // Conversion array between color names and RGB - $this->rgb_table = array( - "aqua"=> array(0,255,255), - "lime"=> array(0,255,0), - "teal"=> array(0,128,128), - "whitesmoke"=>array(245,245,245), - "gainsboro"=>array(220,220,220), - "oldlace"=>array(253,245,230), - "linen"=>array(250,240,230), - "antiquewhite"=>array(250,235,215), - "papayawhip"=>array(255,239,213), - "blanchedalmond"=>array(255,235,205), - "bisque"=>array(255,228,196), - "peachpuff"=>array(255,218,185), - "navajowhite"=>array(255,222,173), - "moccasin"=>array(255,228,181), - "cornsilk"=>array(255,248,220), - "ivory"=>array(255,255,240), - "lemonchiffon"=>array(255,250,205), - "seashell"=>array(255,245,238), - "mintcream"=>array(245,255,250), - "azure"=>array(240,255,255), - "aliceblue"=>array(240,248,255), - "lavender"=>array(230,230,250), - "lavenderblush"=>array(255,240,245), - "mistyrose"=>array(255,228,225), - "white"=>array(255,255,255), - "black"=>array(0,0,0), - "darkslategray"=>array(47,79,79), - "dimgray"=>array(105,105,105), - "slategray"=>array(112,128,144), - "lightslategray"=>array(119,136,153), - "gray"=>array(190,190,190), - "lightgray"=>array(211,211,211), - "midnightblue"=>array(25,25,112), - "navy"=>array(0,0,128), - "cornflowerblue"=>array(100,149,237), - "darkslateblue"=>array(72,61,139), - "slateblue"=>array(106,90,205), - "mediumslateblue"=>array(123,104,238), - "lightslateblue"=>array(132,112,255), - "mediumblue"=>array(0,0,205), - "royalblue"=>array(65,105,225), - "blue"=>array(0,0,255), - "dodgerblue"=>array(30,144,255), - "deepskyblue"=>array(0,191,255), - "skyblue"=>array(135,206,235), - "lightskyblue"=>array(135,206,250), - "steelblue"=>array(70,130,180), - "lightred"=>array(211,167,168), - "lightsteelblue"=>array(176,196,222), - "lightblue"=>array(173,216,230), - "powderblue"=>array(176,224,230), - "paleturquoise"=>array(175,238,238), - "darkturquoise"=>array(0,206,209), - "mediumturquoise"=>array(72,209,204), - "turquoise"=>array(64,224,208), - "cyan"=>array(0,255,255), - "lightcyan"=>array(224,255,255), - "cadetblue"=>array(95,158,160), - "mediumaquamarine"=>array(102,205,170), - "aquamarine"=>array(127,255,212), - "darkgreen"=>array(0,100,0), - "darkolivegreen"=>array(85,107,47), - "darkseagreen"=>array(143,188,143), - "seagreen"=>array(46,139,87), - "mediumseagreen"=>array(60,179,113), - "lightseagreen"=>array(32,178,170), - "palegreen"=>array(152,251,152), - "springgreen"=>array(0,255,127), - "lawngreen"=>array(124,252,0), - "green"=>array(0,255,0), - "chartreuse"=>array(127,255,0), - "mediumspringgreen"=>array(0,250,154), - "greenyellow"=>array(173,255,47), - "limegreen"=>array(50,205,50), - "yellowgreen"=>array(154,205,50), - "forestgreen"=>array(34,139,34), - "olivedrab"=>array(107,142,35), - "darkkhaki"=>array(189,183,107), - "khaki"=>array(240,230,140), - "palegoldenrod"=>array(238,232,170), - "lightgoldenrodyellow"=>array(250,250,210), - "lightyellow"=>array(255,255,200), - "yellow"=>array(255,255,0), - "gold"=>array(255,215,0), - "lightgoldenrod"=>array(238,221,130), - "goldenrod"=>array(218,165,32), - "darkgoldenrod"=>array(184,134,11), - "rosybrown"=>array(188,143,143), - "indianred"=>array(205,92,92), - "saddlebrown"=>array(139,69,19), - "sienna"=>array(160,82,45), - "peru"=>array(205,133,63), - "burlywood"=>array(222,184,135), - "beige"=>array(245,245,220), - "wheat"=>array(245,222,179), - "sandybrown"=>array(244,164,96), - "tan"=>array(210,180,140), - "chocolate"=>array(210,105,30), - "firebrick"=>array(178,34,34), - "brown"=>array(165,42,42), - "darksalmon"=>array(233,150,122), - "salmon"=>array(250,128,114), - "lightsalmon"=>array(255,160,122), - "orange"=>array(255,165,0), - "darkorange"=>array(255,140,0), - "coral"=>array(255,127,80), - "lightcoral"=>array(240,128,128), - "tomato"=>array(255,99,71), - "orangered"=>array(255,69,0), - "red"=>array(255,0,0), - "hotpink"=>array(255,105,180), - "deeppink"=>array(255,20,147), - "pink"=>array(255,192,203), - "lightpink"=>array(255,182,193), - "palevioletred"=>array(219,112,147), - "maroon"=>array(176,48,96), - "mediumvioletred"=>array(199,21,133), - "violetred"=>array(208,32,144), - "magenta"=>array(255,0,255), - "violet"=>array(238,130,238), - "plum"=>array(221,160,221), - "orchid"=>array(218,112,214), - "mediumorchid"=>array(186,85,211), - "darkorchid"=>array(153,50,204), - "darkviolet"=>array(148,0,211), - "blueviolet"=>array(138,43,226), - "purple"=>array(160,32,240), - "mediumpurple"=>array(147,112,219), - "thistle"=>array(216,191,216), - "snow1"=>array(255,250,250), - "snow2"=>array(238,233,233), - "snow3"=>array(205,201,201), - "snow4"=>array(139,137,137), - "seashell1"=>array(255,245,238), - "seashell2"=>array(238,229,222), - "seashell3"=>array(205,197,191), - "seashell4"=>array(139,134,130), - "AntiqueWhite1"=>array(255,239,219), - "AntiqueWhite2"=>array(238,223,204), - "AntiqueWhite3"=>array(205,192,176), - "AntiqueWhite4"=>array(139,131,120), - "bisque1"=>array(255,228,196), - "bisque2"=>array(238,213,183), - "bisque3"=>array(205,183,158), - "bisque4"=>array(139,125,107), - "peachPuff1"=>array(255,218,185), - "peachpuff2"=>array(238,203,173), - "peachpuff3"=>array(205,175,149), - "peachpuff4"=>array(139,119,101), - "navajowhite1"=>array(255,222,173), - "navajowhite2"=>array(238,207,161), - "navajowhite3"=>array(205,179,139), - "navajowhite4"=>array(139,121,94), - "lemonchiffon1"=>array(255,250,205), - "lemonchiffon2"=>array(238,233,191), - "lemonchiffon3"=>array(205,201,165), - "lemonchiffon4"=>array(139,137,112), - "ivory1"=>array(255,255,240), - "ivory2"=>array(238,238,224), - "ivory3"=>array(205,205,193), - "ivory4"=>array(139,139,131), - "honeydew"=>array(193,205,193), - "lavenderblush1"=>array(255,240,245), - "lavenderblush2"=>array(238,224,229), - "lavenderblush3"=>array(205,193,197), - "lavenderblush4"=>array(139,131,134), - "mistyrose1"=>array(255,228,225), - "mistyrose2"=>array(238,213,210), - "mistyrose3"=>array(205,183,181), - "mistyrose4"=>array(139,125,123), - "azure1"=>array(240,255,255), - "azure2"=>array(224,238,238), - "azure3"=>array(193,205,205), - "azure4"=>array(131,139,139), - "slateblue1"=>array(131,111,255), - "slateblue2"=>array(122,103,238), - "slateblue3"=>array(105,89,205), - "slateblue4"=>array(71,60,139), - "royalblue1"=>array(72,118,255), - "royalblue2"=>array(67,110,238), - "royalblue3"=>array(58,95,205), - "royalblue4"=>array(39,64,139), - "dodgerblue1"=>array(30,144,255), - "dodgerblue2"=>array(28,134,238), - "dodgerblue3"=>array(24,116,205), - "dodgerblue4"=>array(16,78,139), - "steelblue1"=>array(99,184,255), - "steelblue2"=>array(92,172,238), - "steelblue3"=>array(79,148,205), - "steelblue4"=>array(54,100,139), - "deepskyblue1"=>array(0,191,255), - "deepskyblue2"=>array(0,178,238), - "deepskyblue3"=>array(0,154,205), - "deepskyblue4"=>array(0,104,139), - "skyblue1"=>array(135,206,255), - "skyblue2"=>array(126,192,238), - "skyblue3"=>array(108,166,205), - "skyblue4"=>array(74,112,139), - "lightskyblue1"=>array(176,226,255), - "lightskyblue2"=>array(164,211,238), - "lightskyblue3"=>array(141,182,205), - "lightskyblue4"=>array(96,123,139), - "slategray1"=>array(198,226,255), - "slategray2"=>array(185,211,238), - "slategray3"=>array(159,182,205), - "slategray4"=>array(108,123,139), - "lightsteelblue1"=>array(202,225,255), - "lightsteelblue2"=>array(188,210,238), - "lightsteelblue3"=>array(162,181,205), - "lightsteelblue4"=>array(110,123,139), - "lightblue1"=>array(191,239,255), - "lightblue2"=>array(178,223,238), - "lightblue3"=>array(154,192,205), - "lightblue4"=>array(104,131,139), - "lightcyan1"=>array(224,255,255), - "lightcyan2"=>array(209,238,238), - "lightcyan3"=>array(180,205,205), - "lightcyan4"=>array(122,139,139), - "paleturquoise1"=>array(187,255,255), - "paleturquoise2"=>array(174,238,238), - "paleturquoise3"=>array(150,205,205), - "paleturquoise4"=>array(102,139,139), - "cadetblue1"=>array(152,245,255), - "cadetblue2"=>array(142,229,238), - "cadetblue3"=>array(122,197,205), - "cadetblue4"=>array(83,134,139), - "turquoise1"=>array(0,245,255), - "turquoise2"=>array(0,229,238), - "turquoise3"=>array(0,197,205), - "turquoise4"=>array(0,134,139), - "cyan1"=>array(0,255,255), - "cyan2"=>array(0,238,238), - "cyan3"=>array(0,205,205), - "cyan4"=>array(0,139,139), - "darkslategray1"=>array(151,255,255), - "darkslategray2"=>array(141,238,238), - "darkslategray3"=>array(121,205,205), - "darkslategray4"=>array(82,139,139), - "aquamarine1"=>array(127,255,212), - "aquamarine2"=>array(118,238,198), - "aquamarine3"=>array(102,205,170), - "aquamarine4"=>array(69,139,116), - "darkseagreen1"=>array(193,255,193), - "darkseagreen2"=>array(180,238,180), - "darkseagreen3"=>array(155,205,155), - "darkseagreen4"=>array(105,139,105), - "seagreen1"=>array(84,255,159), - "seagreen2"=>array(78,238,148), - "seagreen3"=>array(67,205,128), - "seagreen4"=>array(46,139,87), - "palegreen1"=>array(154,255,154), - "palegreen2"=>array(144,238,144), - "palegreen3"=>array(124,205,124), - "palegreen4"=>array(84,139,84), - "springgreen1"=>array(0,255,127), - "springgreen2"=>array(0,238,118), - "springgreen3"=>array(0,205,102), - "springgreen4"=>array(0,139,69), - "chartreuse1"=>array(127,255,0), - "chartreuse2"=>array(118,238,0), - "chartreuse3"=>array(102,205,0), - "chartreuse4"=>array(69,139,0), - "olivedrab1"=>array(192,255,62), - "olivedrab2"=>array(179,238,58), - "olivedrab3"=>array(154,205,50), - "olivedrab4"=>array(105,139,34), - "darkolivegreen1"=>array(202,255,112), - "darkolivegreen2"=>array(188,238,104), - "darkolivegreen3"=>array(162,205,90), - "darkolivegreen4"=>array(110,139,61), - "khaki1"=>array(255,246,143), - "khaki2"=>array(238,230,133), - "khaki3"=>array(205,198,115), - "khaki4"=>array(139,134,78), - "lightgoldenrod1"=>array(255,236,139), - "lightgoldenrod2"=>array(238,220,130), - "lightgoldenrod3"=>array(205,190,112), - "lightgoldenrod4"=>array(139,129,76), - "yellow1"=>array(255,255,0), - "yellow2"=>array(238,238,0), - "yellow3"=>array(205,205,0), - "yellow4"=>array(139,139,0), - "gold1"=>array(255,215,0), - "gold2"=>array(238,201,0), - "gold3"=>array(205,173,0), - "gold4"=>array(139,117,0), - "goldenrod1"=>array(255,193,37), - "goldenrod2"=>array(238,180,34), - "goldenrod3"=>array(205,155,29), - "goldenrod4"=>array(139,105,20), - "darkgoldenrod1"=>array(255,185,15), - "darkgoldenrod2"=>array(238,173,14), - "darkgoldenrod3"=>array(205,149,12), - "darkgoldenrod4"=>array(139,101,8), - "rosybrown1"=>array(255,193,193), - "rosybrown2"=>array(238,180,180), - "rosybrown3"=>array(205,155,155), - "rosybrown4"=>array(139,105,105), - "indianred1"=>array(255,106,106), - "indianred2"=>array(238,99,99), - "indianred3"=>array(205,85,85), - "indianred4"=>array(139,58,58), - "sienna1"=>array(255,130,71), - "sienna2"=>array(238,121,66), - "sienna3"=>array(205,104,57), - "sienna4"=>array(139,71,38), - "burlywood1"=>array(255,211,155), - "burlywood2"=>array(238,197,145), - "burlywood3"=>array(205,170,125), - "burlywood4"=>array(139,115,85), - "wheat1"=>array(255,231,186), - "wheat2"=>array(238,216,174), - "wheat3"=>array(205,186,150), - "wheat4"=>array(139,126,102), - "tan1"=>array(255,165,79), - "tan2"=>array(238,154,73), - "tan3"=>array(205,133,63), - "tan4"=>array(139,90,43), - "chocolate1"=>array(255,127,36), - "chocolate2"=>array(238,118,33), - "chocolate3"=>array(205,102,29), - "chocolate4"=>array(139,69,19), - "firebrick1"=>array(255,48,48), - "firebrick2"=>array(238,44,44), - "firebrick3"=>array(205,38,38), - "firebrick4"=>array(139,26,26), - "brown1"=>array(255,64,64), - "brown2"=>array(238,59,59), - "brown3"=>array(205,51,51), - "brown4"=>array(139,35,35), - "salmon1"=>array(255,140,105), - "salmon2"=>array(238,130,98), - "salmon3"=>array(205,112,84), - "salmon4"=>array(139,76,57), - "lightsalmon1"=>array(255,160,122), - "lightsalmon2"=>array(238,149,114), - "lightsalmon3"=>array(205,129,98), - "lightsalmon4"=>array(139,87,66), - "orange1"=>array(255,165,0), - "orange2"=>array(238,154,0), - "orange3"=>array(205,133,0), - "orange4"=>array(139,90,0), - "darkorange1"=>array(255,127,0), - "darkorange2"=>array(238,118,0), - "darkorange3"=>array(205,102,0), - "darkorange4"=>array(139,69,0), - "coral1"=>array(255,114,86), - "coral2"=>array(238,106,80), - "coral3"=>array(205,91,69), - "coral4"=>array(139,62,47), - "tomato1"=>array(255,99,71), - "tomato2"=>array(238,92,66), - "tomato3"=>array(205,79,57), - "tomato4"=>array(139,54,38), - "orangered1"=>array(255,69,0), - "orangered2"=>array(238,64,0), - "orangered3"=>array(205,55,0), - "orangered4"=>array(139,37,0), - "deeppink1"=>array(255,20,147), - "deeppink2"=>array(238,18,137), - "deeppink3"=>array(205,16,118), - "deeppink4"=>array(139,10,80), - "hotpink1"=>array(255,110,180), - "hotpink2"=>array(238,106,167), - "hotpink3"=>array(205,96,144), - "hotpink4"=>array(139,58,98), - "pink1"=>array(255,181,197), - "pink2"=>array(238,169,184), - "pink3"=>array(205,145,158), - "pink4"=>array(139,99,108), - "lightpink1"=>array(255,174,185), - "lightpink2"=>array(238,162,173), - "lightpink3"=>array(205,140,149), - "lightpink4"=>array(139,95,101), - "palevioletred1"=>array(255,130,171), - "palevioletred2"=>array(238,121,159), - "palevioletred3"=>array(205,104,137), - "palevioletred4"=>array(139,71,93), - "maroon1"=>array(255,52,179), - "maroon2"=>array(238,48,167), - "maroon3"=>array(205,41,144), - "maroon4"=>array(139,28,98), - "violetred1"=>array(255,62,150), - "violetred2"=>array(238,58,140), - "violetred3"=>array(205,50,120), - "violetred4"=>array(139,34,82), - "magenta1"=>array(255,0,255), - "magenta2"=>array(238,0,238), - "magenta3"=>array(205,0,205), - "magenta4"=>array(139,0,139), - "mediumred"=>array(140,34,34), - "orchid1"=>array(255,131,250), - "orchid2"=>array(238,122,233), - "orchid3"=>array(205,105,201), - "orchid4"=>array(139,71,137), - "plum1"=>array(255,187,255), - "plum2"=>array(238,174,238), - "plum3"=>array(205,150,205), - "plum4"=>array(139,102,139), - "mediumorchid1"=>array(224,102,255), - "mediumorchid2"=>array(209,95,238), - "mediumorchid3"=>array(180,82,205), - "mediumorchid4"=>array(122,55,139), - "darkorchid1"=>array(191,62,255), - "darkorchid2"=>array(178,58,238), - "darkorchid3"=>array(154,50,205), - "darkorchid4"=>array(104,34,139), - "purple1"=>array(155,48,255), - "purple2"=>array(145,44,238), - "purple3"=>array(125,38,205), - "purple4"=>array(85,26,139), - "mediumpurple1"=>array(171,130,255), - "mediumpurple2"=>array(159,121,238), - "mediumpurple3"=>array(137,104,205), - "mediumpurple4"=>array(93,71,139), - "thistle1"=>array(255,225,255), - "thistle2"=>array(238,210,238), - "thistle3"=>array(205,181,205), - "thistle4"=>array(139,123,139), - "gray1"=>array(10,10,10), - "gray2"=>array(40,40,30), - "gray3"=>array(70,70,70), - "gray4"=>array(100,100,100), - "gray5"=>array(130,130,130), - "gray6"=>array(160,160,160), - "gray7"=>array(190,190,190), - "gray8"=>array(210,210,210), - "gray9"=>array(240,240,240), - "darkgray"=>array(100,100,100), - "darkblue"=>array(0,0,139), - "darkcyan"=>array(0,139,139), - "darkmagenta"=>array(139,0,139), - "darkred"=>array(139,0,0), - "silver"=>array(192, 192, 192), - "eggplant"=>array(144,176,168), - "lightgreen"=>array(144,238,144)); - } -//---------------- -// PUBLIC METHODS - // Colors can be specified as either - // 1. #xxxxxx HTML style - // 2. "colorname" as a named color - // 3. array(r,g,b) RGB triple - // This function translates this to a native RGB format and returns an - // RGB triple. - function Color($aColor) { - if (is_string($aColor)) { - - // Extract potential adjustment figure at end of color - // specification - $aColor = strtok($aColor,":"); - $adj = 0+strtok(":"); - if( $adj==0 ) $adj=1; - if (substr($aColor, 0, 1) == "#") { - return array($adj*hexdec(substr($aColor, 1, 2)), - $adj*hexdec(substr($aColor, 3, 2)), - $adj*hexdec(substr($aColor, 5, 2))); - } else { - if(!isset($this->rgb_table[$aColor]) ) - JpGraphError::Raise(" Unknown color: <strong>$aColor</strong>"); - $tmp=$this->rgb_table[$aColor]; - return array($adj*$tmp[0],$adj*$tmp[1],$adj*$tmp[2]); - } - } elseif( is_array($aColor) && (count($aColor)>=3) ) { - return $aColor; - } - else - JpGraphError::Raise(" Unknown color specification: $aColor , size=".count($aColor)); - } - - // Compare two colors - // return true if equal - function Equal($aCol1,$aCol2) { - $c1 = $this->Color($aCol1); - $c2 = $this->Color($aCol2); - if( $c1[0]==$c2[0] && $c1[1]==$c2[1] && $c1[2]==$c2[2] ) - return true; - else - return false; - } - - // Allocate a new color in the current image - // Return new color index, -1 if no more colors could be allocated - function Allocate($aColor) { - list ($r, $g, $b, $t) = $this->color($aColor); - if($GLOBALS['gd2']==true) { - return imagecolorresolvealpha($this->img, $r, $g, $b, $t); - } else { - $index = imagecolorexact($this->img, $r, $g, $b); - if ($index == -1) { - $index = imagecolorallocate($this->img, $r, $g, $b); - if( USE_APPROX_COLORS && $index == -1 ) - $index = imagecolorresolve($this->img, $r, $g, $b); - } - return $index; - } - } -} // Class - - -//=================================================== -// CLASS Image -// Description: Wrapper class with some goodies to form the -// Interface to low level image drawing routines. -//=================================================== -class Image { - var $img_format; - var $expired=false; - var $img; - var $left_margin=30,$right_margin=30,$top_margin=20,$bottom_margin=30; - var $plotwidth,$plotheight; - var $rgb; - var $current_color,$current_color_name; - var $lastx=0, $lasty=0; - var $width, $height; - var $line_weight=1; - var $line_style=1; // Default line style is solid - var $obs_list=array(); - var $font_size=12,$font_family=FF_FONT1, $font_style=FS_NORMAL; - var $text_halign="left",$text_valign="bottom"; - var $ttf=null; - var $use_anti_aliasing=false; - var $quality=null; - var $colorstack=array(),$colorstackidx=0; - //--------------- - // CONSTRUCTOR - function Image($aWidth,$aHeight,$aFormat=DEFAULT_GFORMAT) { - $this->CreateImgCanvas($aWidth,$aHeight); - if( !$this->SetImgFormat($aFormat) ) { - JpGraphError::Raise("JpGraph: Selected graphic format is either not supported or unknown [$aFormat]"); - } - $this->ttf = new TTF(); - } - - function SetAutoMargin() { - $min_bm=10; - if( BRAND_TIMING ) - $min_bm=15; - $lm = max(12,$this->width/7); - $rm = max(12,$this->width/10); - $tm = max(24,$this->height/7); - $bm = max($min_bm,$this->height/7); - $this->SetMargin($lm,$rm,$tm,$bm); - } - - function CreateImgCanvas($aWidth=-1,$aHeight=-1) { - $this->width=$aWidth; - $this->height=$aHeight; - - $this->SetAutoMargin(); - - if( $aWidth==-1 || $aHeight==-1 ) { - // We will set the final size later. - // Note: The size must be specified before any other - // img routines that stroke anything are called. - $this->img = null; - $this->rgb = null; - return; - } - - if( $GLOBALS['gd2']==true && USE_TRUECOLOR ) { - $this->img = imagecreatetruecolor($aWidth, $aHeight); - imagefilledrectangle($this->img, 0, 0, $aWidth, $aHeight, 0xffffff); - } else { - $this->img = imagecreate($aWidth, $aHeight); - } - assert($this->img != 0); - $this->rgb = new RGB($this->img); - - // First index is background so this will be white - $this->SetColor("white"); - } - - - //--------------- - // PUBLIC METHODS - - // Add observer. The observer will be notified when - // the margin changes - function AddObserver($aMethod,&$aObject) { - $this->obs_list[]=array($aMethod,&$aObject); - } - - // Call all observers - function NotifyObservers() { - // foreach($this->obs_list as $o) - // $o[1]->$o[0]($this); - for($i=0; $i < count($this->obs_list); ++$i) { - $obj = & $this->obs_list[$i][1]; - $method = $this->obs_list[$i][0]; - $obj->$method($this); - } - } - - function SetFont($family,$style=FS_NORMAL,$size=10) { - if($family==FONT1_BOLD || $family==FONT2_BOLD || $family==FONT0 || $family==FONT1 || $family==FONT2 ) - JpGraphError::Raise(" Usage of FONT0, FONT1, FONT2 is deprecated. Use FF_xxx instead."); - - $this->font_family=$family; - $this->font_style=$style; - $this->font_size=$size; - if( ($this->font_family==FF_FONT1 || $this->font_family==FF_FONT2) && $this->font_style==FS_BOLD ){ - ++$this->font_family; - } - } - - // Get the specific height for a text string - function GetTextHeight($txt="",$angle=0) { - // Builtin font? - $tmp = split("\n",$txt); - $n = count($tmp); - $m=0; - for($i=0; $i<count($tmp); ++$i) - $m = max($m,strlen($tmp[$i])); - - if( $this->font_family <= FF_FONT2+1 ) { - if( $angle==0 ) - return $n*imagefontheight($this->font_family); - else - return $m*imagefontwidth($this->font_family); - } - else { - $file = $this->ttf->File($this->font_family,$this->font_style); - $bbox = ImageTTFBBox($this->font_size,$angle,$file,"XXOOMM"/*$txt*/); - return $n*(abs($bbox[5])+abs($bbox[1])); // upper_right_y - lower_left_y - } - } - - // Estimate font height - function GetFontHeight($txt="XMg",$angle=0) { - $tmp = split("\n",$txt); - return $this->GetTextHeight($tmp[0],$angle); - } - - // Approximate font width with width of letter "O" - function GetFontWidth($txt="O",$angle=0) { - return $this->GetTextWidth($txt,$angle); - } - - // Get actual width of text in absolute pixels - function GetTextWidth($txt,$angle=0) { - // Builtin font? - $tmp = split("\n",$txt); - $n = count($tmp); - $m=0; - for($i=0; $i<count($tmp); ++$i) - $m = max($m,strlen($tmp[$i])); - - if( $this->font_family <= FF_FONT2+1 ) { - if( $angle==0 ) { - $width=$m*imagefontwidth($this->font_family); - return $width; - } - else - return $n*imagefontheight($this->font_family); // 90 degrees internal so height become width - } - else { - $file = $this->ttf->File($this->font_family,$this->font_style); - $bbox = ImageTTFBBox($this->font_size,$angle,$file,$txt); - return $n*(abs($bbox[2]-$bbox[6])); - } - } - - // Draw text with a box around it - function StrokeBoxedText($x,$y,$txt,$dir=0,$fcolor="white",$bcolor="black", - $shadow=false,$paragraph_align="left") { - - if( !is_numeric($dir) ) { - if( $dir=="h" ) $dir=0; - elseif( $dir=="v" ) $dir=90; - else JpGraphError::Raise(" Unknown direction specified in call to StrokeBoxedText() [$dir]"); - } - - $width=$this->GetTextWidth($txt,$dir); - $height=$this->GetTextHeight($txt,$dir); - - if( $this->font_family<=FF_FONT2+1 ) { - $xmarg=3; - $ymarg=3; - } - else { - $xmarg=6; - $ymarg=6; - } - $height += 2*$ymarg; - $width += 2*$xmarg; - if( $this->text_halign=="right" ) $x -= $width; - elseif( $this->text_halign=="center" ) $x -= $width/2; - if( $this->text_valign=="bottom" ) $y -= $height; - elseif( $this->text_valign=="center" ) $y -= $height/2; - - if( $shadow ) { - $oc=$this->current_color; - $this->SetColor($bcolor); - $this->ShadowRectangle($x,$y,$x+$width+2,$y+$height+2,$fcolor,2); - $this->current_color=$oc; - } - else { - if( $fcolor ) { - $oc=$this->current_color; - $this->SetColor($fcolor); - $this->FilledRectangle($x,$y,$x+$width,$y+$height); - $this->current_color=$oc; - } - if( $bcolor ) { - $oc=$this->current_color; - $this->SetColor($bcolor); - $this->Rectangle($x,$y,$x+$width,$y+$height); - $this->current_color=$oc; - } - } - - $h=$this->text_halign; - $v=$this->text_valign; - $this->SetTextAlign("left","top"); - $this->StrokeText($x+$xmarg, $y+$ymarg, $txt, $dir, $paragraph_align); - $this->SetTextAlign($h,$v); - } - - // Set text alignment - function SetTextAlign($halign,$valign="bottom") { - $this->text_halign=$halign; - $this->text_valign=$valign; - } - - // Should we use anti-aliasing. Note: This really slows down graphics! - function SetAntiAliasing() { - $this->use_anti_aliasing=true; - } - - function StrokeText($x,$y,$txt,$dir=0,$paragraph_align="left") { - - // Do special language encoding - if( LANGUAGE_CYRILLIC ) - $txt = LanguageConv::ToCyrillic($txt); - - if( !is_numeric($dir) ) - JpGraphError::Raise(" Direction for text most be given as an angle between 0 and 90."); - - if( $this->font_family >= FF_FONT0 && $this->font_family <= FF_FONT2+1) { // Internal font - if( is_numeric($dir) && $dir!=90 && $dir!=0) - JpGraphError::Raise(" Internal font does not support drawing text at arbitrary angle. Use TTF fonts instead."); - - $h=$this->GetTextHeight($txt); - $fh=$this->GetFontHeight($txt); - $w=$this->GetTextWidth($txt); - - if( $this->text_halign=="right") - $x -= $dir==0 ? $w : $h; - elseif( $this->text_halign=="center" ) - $x -= $dir==0 ? $w/2 : $h/2; - - if( $this->text_valign=="top" ) - $y += $dir==0 ? $h : $w; - elseif( $this->text_valign=="center" ) - $y += $dir==0 ? $h/2 : $w/2; - - if( $dir==90 ) - imagestringup($this->img,$this->font_family,$x,$y,$txt,$this->current_color); - else { - if (ereg("\n",$txt)) { - $tmp = split("\n",$txt); - for($i=0; $i<count($tmp); ++$i) { - $w1 = $this->GetTextWidth($tmp[$i]); - if( $paragraph_align=="left" ) { - imagestring($this->img,$this->font_family,$x,$y-$h+1+$i*$fh,$tmp[$i],$this->current_color); - } - elseif( $paragraph_align=="right" ) { - imagestring($this->img,$this->font_family,$x+($w-$w1), - $y-$h+1+$i*$fh,$tmp[$i],$this->current_color); - } - else { - imagestring($this->img,$this->font_family,$x+$w/2-$w1/2, - $y-$h+1+$i*$fh,$tmp[$i],$this->current_color); - } - } - }else{ - //Put the text - imagestring($this->img,$this->font_family,$x,$y-$h+1,$txt,$this->current_color); - } - } - } - elseif($this->font_family >= FF_COURIER && $this->font_family <= FF_BOOK) { // TTF font - $file = $this->ttf->File($this->font_family,$this->font_style); - $angle=$dir; - $bbox=ImageTTFBBox($this->font_size,$angle,$file,$txt); - if( $this->text_halign=="right" ) $x -= $bbox[2]-$bbox[0]; - elseif( $this->text_halign=="center" ) $x -= ($bbox[4]-$bbox[0])/2; - elseif( $this->text_halign=="topanchor" ) $x -= $bbox[4]-$bbox[0]; - elseif( $this->text_halign=="left" ) $x += -($bbox[6]-$bbox[0]); - - if( $this->text_valign=="top" ) $y -= $bbox[5]; - elseif( $this->text_valign=="center" ) $y -= ($bbox[5]-$bbox[1])/2; - elseif( $this->text_valign=="bottom" ) $y -= $bbox[1]; - - // Use lower left of bbox as fix-point, not the default baselinepoint. - $x -= $bbox[0]; - if($GLOBALS['gd2']) { - $old = ImageAlphaBlending($this->img, true); - } - ImageTTFText ($this->img, $this->font_size, $angle, $x, $y, - $this->current_color,$file,$txt); - if($GLOBALS['gd2']) { - ImageAlphaBlending($this->img, $old); - } - } - else - JpGraphError::Raise(" Unknown font font family specification. "); - } - - function SetMargin($lm,$rm,$tm,$bm) { - $this->left_margin=$lm; - $this->right_margin=$rm; - $this->top_margin=$tm; - $this->bottom_margin=$bm; - $this->plotwidth=$this->width - $this->left_margin-$this->right_margin ; - $this->plotheight=$this->height - $this->top_margin-$this->bottom_margin ; - $this->NotifyObservers(); - } - - function SetTransparent($color) { - imagecolortransparent ($this->img,$this->rgb->allocate($color)); - } - - function SetColor($color) { - $this->current_color_name = $color; - $this->current_color=$this->rgb->allocate($color); - if( $this->current_color == -1 ) { - $tc=imagecolorstotal($this->img); - JpGraphError::Raise("<b> Can't allocate any more colors.</b><br> - Image has already allocated maximum of <b>$tc colors</b>. - This might happen if you have anti-aliasing turned on - together with a background image or perhaps gradient fill - since this requires many, many colors. Try to turn off - anti-aliasing.<p> - If there is still a problem try downgrading the quality of - the background image to use a smaller pallete to leave some - entries for your graphs. You should try to limit the number - of colors in your background image to 64.<p> - If there is still problem set the constant -<pre> -DEFINE(\"USE_APPROX_COLORS\",true); -</pre> - in jpgraph.php This will use approximative colors - when the palette is full. - <p> - Unfortunately there is not much JpGraph can do about this - since the palette size is a limitation of current graphic format and - what the underlying GD library suppports."); - } - return $this->current_color; - } - - function PushColor($color) { - if( $color != "" ) { - $this->colorstack[$this->colorstackidx]=$this->current_color_name; - $this->colorstack[$this->colorstackidx+1]=$this->current_color; - $this->colorstackidx+=2; - $this->SetColor($color); - } - else { - JpGraphError::Raise("Color specified as empty string in PushColor()."); - } - } - - function PopColor() { - if($this->colorstackidx<1) - JpGraphError::Raise(" Negative Color stack index. Unmatched call to PopColor()"); - $this->current_color=$this->colorstack[--$this->colorstackidx]; - $this->current_color_name=$this->colorstack[--$this->colorstackidx]; - } - - - // Why this duplication? Because this way we can call this method - // for any image and not only the current objsct - function AdjSat($sat) { $this->_AdjSat($this->img,$sat); } - - function _AdjSat($img,$sat) { - $nbr = imagecolorstotal ($img); - for( $i=0; $i<$nbr; ++$i ) { - $colarr = imagecolorsforindex ($img,$i); - $rgb[0]=$colarr["red"]; - $rgb[1]=$colarr["green"]; - $rgb[2]=$colarr["blue"]; - $rgb = $this->AdjRGBSat($rgb,$sat); - imagecolorset ($img, $i, $rgb[0], $rgb[1], $rgb[2]); - } - } - - function AdjBrightContrast($bright,$contr=0) { - $this->_AdjBrightContrast($this->img,$bright,$contr); - } - function _AdjBrightContrast($img,$bright,$contr=0) { - if( $bright < -1 || $bright > 1 || $contr < -1 || $contr > 1 ) - JpGraphError::Raise(" Parameters for brightness and Contrast out of range [-1,1]"); - $nbr = imagecolorstotal ($img); - for( $i=0; $i<$nbr; ++$i ) { - $colarr = imagecolorsforindex ($img,$i); - $r = $this->AdjRGBBrightContrast($colarr["red"],$bright,$contr); - $g = $this->AdjRGBBrightContrast($colarr["green"],$bright,$contr); - $b = $this->AdjRGBBrightContrast($colarr["blue"],$bright,$contr); - imagecolorset ($img, $i, $r, $g, $b); - } - } - - // Private helper function for adj sat - // Adjust saturation for RGB array $u. $sat is a value between -1 and 1 - // Note: Due to GD inability to handle true color the RGB values are only between - // 8 bit. This makes saturation quite sensitive for small increases in parameter sat. - // - // Tip: To get a grayscale picture set sat=-100, values <-100 changes the colors - // to it's complement. - // - // Implementation note: The saturation is implemented directly in the RGB space - // by adjusting the perpendicular distance between the RGB point and the "grey" - // line (1,1,1). Setting $sat>0 moves the point away from the line along the perp. - // distance and a negative value moves the point closer to the line. - // The values are truncated when the color point hits the bounding box along the - // RGB axis. - // DISCLAIMER: I'm not 100% sure this is he correct way to implement a color - // saturation function in RGB space. However, it looks ok and has the expected effect. - function AdjRGBSat($rgb,$sat) { - // TODO: Should be moved to the RGB class - // Grey vector - $v=array(1,1,1); - - // Dot product - $dot = $rgb[0]*$v[0]+$rgb[1]*$v[1]+$rgb[2]*$v[2]; - - // Normalize dot product - $normdot = $dot/3; // dot/|v|^2 - - // Direction vector between $u and its projection onto $v - for($i=0; $i<3; ++$i) - $r[$i] = $rgb[$i] - $normdot*$v[$i]; - - // Adjustment factor so that sat==1 sets the highest RGB value to 255 - if( $sat > 0 ) { - $m=0; - for( $i=0; $i<3; ++$i) { - if( sign($r[$i]) == 1 && $r[$i]>0) - $m=max($m,(255-$rgb[$i])/$r[$i]); - } - $tadj=$m; - } - else - $tadj=1; - - $tadj = $tadj*$sat; - for($i=0; $i<3; ++$i) { - $un[$i] = round($rgb[$i] + $tadj*$r[$i]); - if( $un[$i]<0 ) $un[$i]=0; // Truncate color when they reach 0 - if( $un[$i]>255 ) $un[$i]=255;// Avoid potential rounding error - } - return $un; - } - - // Private helper function for AdjBrightContrast - function AdjRGBBrightContrast($rgb,$bright,$contr) { - // TODO: Should be moved to the RGB class - // First handle contrast, i.e change the dynamic range around grey - if( $contr <= 0 ) { - // Decrease contrast - $adj = abs($rgb-128) * (-$contr); - if( $rgb < 128 ) $rgb += $adj; - else $rgb -= $adj; - } - else { // $contr > 0 - // Increase contrast - if( $rgb < 128 ) $rgb = $rgb - ($rgb * $contr); - else $rgb = $rgb + ((255-$rgb) * $contr); - } - - // Add (or remove) various amount of white - $rgb += $bright*255; - $rgb=min($rgb,255); - $rgb=max($rgb,0); - return $rgb; - } - - function SetLineWeight($weight) { - $this->line_weight = $weight; - } - - function SetStartPoint($x,$y) { - $this->lastx=$x; - $this->lasty=$y; - } - - function Arc($cx,$cy,$w,$h,$s,$e) { - imagearc($this->img,$cx,$cy,$w,$h,$s,$e,$this->current_color); - } - - function FilledArc($xc,$yc,$w,$h,$s,$e,$style=IMG_ARC_PIE) { - if( $GLOBALS['gd2'] ) { - imagefilledarc($this->img,$xc,$yc,$w,$h,$s,$e,$this->current_color,$style); - return; - } - - // In GD 1.x we have to do it ourself interesting enough there is surprisingly - // little diffrence in time between doing it PHP and using the optimised GD - // library (roughly ~20%) I had expected it to be at least 100% slower doing it - // manually with a polygon approximation in PHP..... - $fillcolor = $this->current_color_name; - - $w /= 2; // We use radius in our calculations instead - $h /= 2; - - // Setup the angles so we have the same conventions as the builtin - // FilledArc() which is a little bit strange if you ask me.... - - $s = 360-$s; - $e = 360-$e; - - if( $e > $s ) { - $e = $e - 360; - $da = $s - $e; - } - $da = $s-$e; - - // We use radians - $s *= M_PI/180; - $e *= M_PI/180; - $da *= M_PI/180; - - // Calculate a polygon approximation - $p[0] = $xc; - $p[1] = $yc; - - // Heuristic on how many polygons we need to make the - // arc look good - $numsteps = round(8 * abs($da) * ($w+$h)*($w+$h)/1500); - //echo "da=$da, w=$w, h=$h, numsteps = $numsteps<br>\n"; - if( $numsteps == 0 ) return; - if( $numsteps < 10 ) $numsteps=10; - $delta = abs($da)/$numsteps; - - $pa=array(); - $a = $s; - for($i=1; $i<=$numsteps; ++$i ) { - $p[2*$i] = round($xc + $w*cos($a)); - $p[2*$i+1] = round($yc - $h*sin($a)); - //$a = $s + $i*$delta; - $a -= $delta; - $pa[2*($i-1)] = $p[2*$i]; - $pa[2*($i-1)+1] = $p[2*$i+1]; - } - - // Get the last point at the exact ending angle to avoid - // any rounding errors. - $p[2*$i] = round($xc + $w*cos($e)); - $p[2*$i+1] = round($yc - $h*sin($e)); - $pa[2*($i-1)] = $p[2*$i]; - $pa[2*($i-1)+1] = $p[2*$i+1]; - $i++; - - $p[2*$i] = $xc; - $p[2*$i+1] = $yc; - if( $fillcolor != "" ) { - $this->PushColor($fillcolor); - imagefilledpolygon($this->img,$p,count($p)/2,$this->current_color); - //$this->FilledPolygon($p); - $this->PopColor(); - } - } - - function FilledCakeSlice($cx,$cy,$w,$h,$s,$e) { - $this->CakeSlice($cx,$cy,$w,$h,$s,$e,$this->current_color_name); - } - - function CakeSlice($xc,$yc,$w,$h,$s,$e,$fillcolor="",$arccolor="") { - $this->PushColor($fillcolor); - $this->FilledArc($xc,$yc,2*$w,2*$h,$s,$e); - $this->PopColor(); - - if( $arccolor != "" ) { - $this->PushColor($arccolor); - $this->Arc($xc,$yc,2*$w,2*$h,$s,$e); - $xx = $w * cos(2*M_PI - $s*M_PI/180) + $xc; - $yy = $yc - $h * sin(2*M_PI - $s*M_PI/180); - $this->Line($xc,$yc,$xx,$yy); - $xx = $w * cos(2*M_PI - $e*M_PI/180) + $xc; - $yy = $yc - $h * sin(2*M_PI - $e*M_PI/180); - $this->Line($xc,$yc,$xx,$yy); - $this->PopColor(); - } - - // if( $arccolor != "" ) { - //$this->PushColor($arccolor); - // Since IMG_ARC_NOFILL | IMG_ARC_EDGED does not work as described in the PHP manual - // I have to do the edges manually with some potential rounding errors since I can't - // be sure may endpoints gets calculated with the same accuracy as the builtin - // Arc() function in GD - //$this->FilledArc($cx,$cy,2*$w,2*$h,$s,$e, IMG_ARC_NOFILL | IMG_ARC_EDGED ); - //$this->PopColor(); - // } - } - - function Ellipse($xc,$yc,$w,$h) { - $this->Arc($xc,$yc,$w,$h,0,360); - } - - // Breseham circle gives visually better result then using GD - // built in arc(). It takes some more time but gives better - // accuracy. - function BresenhamCircle($xc,$yc,$r) { - $d = 3-2*$r; - $x = 0; - $y = $r; - while($x<=$y) { - $this->Point($xc+$x,$yc+$y); - $this->Point($xc+$x,$yc-$y); - $this->Point($xc-$x,$yc+$y); - $this->Point($xc-$x,$yc-$y); - - $this->Point($xc+$y,$yc+$x); - $this->Point($xc+$y,$yc-$x); - $this->Point($xc-$y,$yc+$x); - $this->Point($xc-$y,$yc-$x); - - if( $d<0 ) $d += 4*$x+6; - else { - $d += 4*($x-$y)+10; - --$y; - } - ++$x; - } - } - - function Circle($xc,$yc,$r) { - if( USE_BRESENHAM ) - $this->BresenhamCircle($xc,$yc,$r); - else { - $this->Arc($xc,$yc,$r*2,$r*2,0,360); - // For some reason imageellipse() isn't in GD 2.0.1, PHP 4.1.1 - //imageellipse($this->img,$xc,$yc,$r,$r,$this->current_color); - } - } - - function FilledCircle($xc,$yc,$r) { - if( $GLOBALS['gd2'] ) - imagefilledellipse($this->img,$xc,$yc,2*$r,2*$r,$this->current_color); - else { - for( $i=1; $i<2*$r; ++$i ) - $this->Arc($xc,$yc,$i,$i,0,360); - } - } - - // Linear Color InterPolation - function lip($f,$t,$p) { - $p = round($p,1); - $r = $f[0] + ($t[0]-$f[0])*$p; - $g = $f[1] + ($t[1]-$f[1])*$p; - $b = $f[2] + ($t[2]-$f[2])*$p; - return array($r,$g,$b); - } - - // Anti-aliased line. - // Note that this is roughly 8 times slower then a normal line! - function WuLine($x1,$y1,$x2,$y2) { - // Get foreground line color - $lc = imagecolorsforindex($this->img,$this->current_color); - $lc = array($lc["red"],$lc["green"],$lc["blue"]); - - $dx = $x2-$x1; - $dy = $y2-$y1; - - if( abs($dx) > abs($dy) ) { - if( $dx<0 ) { - $dx = -$dx;$dy = -$dy; - $tmp=$x2;$x2=$x1;$x1=$tmp; - $tmp=$y2;$y2=$y1;$y1=$tmp; - } - $x=$x1<<16; $y=$y1<<16; - $yinc = ($dy*65535)/$dx; - while( ($x >> 16) < $x2 ) { - - $bc = imagecolorsforindex($this->img,imagecolorat($this->img,$x>>16,$y>>16)); - $bc=array($bc["red"],$bc["green"],$bc["blue"]); - - $this->SetColor($this->lip($lc,$bc,($y & 0xFFFF)/65535)); - imagesetpixel($this->img,$x>>16,$y>>16,$this->current_color); - $this->SetColor($this->lip($lc,$bc,(~$y & 0xFFFF)/65535)); - imagesetpixel($this->img,$x>>16,($y>>16)+1,$this->current_color); - $x += 65536; $y += $yinc; - } - } - else { - if( $dy<0 ) { - $dx = -$dx;$dy = -$dy; - $tmp=$x2;$x2=$x1;$x1=$tmp; - $tmp=$y2;$y2=$y1;$y1=$tmp; - } - $x=$x1<<16; $y=$y1<<16; - $xinc = ($dx*65535)/$dy; - while( ($y >> 16) < $y2 ) { - - $bc = imagecolorsforindex($this->img,imagecolorat($this->img,$x>>16,$y>>16)); - $bc=array($bc["red"],$bc["green"],$bc["blue"]); - - $this->SetColor($this->lip($lc,$bc,($x & 0xFFFF)/65535)); - imagesetpixel($this->img,$x>>16,$y>>16,$this->current_color); - $this->SetColor($this->lip($lc,$bc,(~$x & 0xFFFF)/65535)); - imagesetpixel($this->img,($x>>16)+1,$y>>16,$this->current_color); - $y += 65536; $x += $xinc; - } - } - $this->SetColor($lc); - imagesetpixel($this->img,$x2,$y2,$this->current_color); - imagesetpixel($this->img,$x1,$y1,$this->current_color); - } - - // Set line style dashed, dotted etc - function SetLineStyle($s) { - if( is_numeric($s) ) { - if( $s<1 || $s>4 ) - JpGraphError::Raise(" Illegal numeric argument to SetLineStyle(): $s"); - } - elseif( is_string($s) ) { - if( $s == "solid" ) $s=1; - elseif( $s == "dotted" ) $s=2; - elseif( $s == "dashed" ) $s=3; - elseif( $s == "longdashed" ) $s=4; - else JpGraphError::Raise(" Illegal string argument to SetLineStyle(): $s"); - } - else JpGraphError::Raise(" Illegal argument to SetLineStyle $s"); - $this->line_style=$s; - } - - // Same as Line but take the line_style into account - function StyleLine($x1,$y1,$x2,$y2) { - switch( $this->line_style ) { - case 1:// Solid - $this->Line($x1,$y1,$x2,$y2); - break; - case 2: // Dotted - $this->DashedLine($x1,$y1,$x2,$y2,1,6); - break; - case 3: // Dashed - $this->DashedLine($x1,$y1,$x2,$y2,2,4); - break; - case 4: // Longdashes - $this->DashedLine($x1,$y1,$x2,$y2,8,6); - break; - default: - JpGraphError::Raise(" Unknown line style: $this->line_style "); - break; - } - } - - function Line($x1,$y1,$x2,$y2) { - if( $this->line_weight==0 ) return; - if( $this->use_anti_aliasing ) { - $dx = $x2-$x1; - $dy = $y2-$y1; - // Vertical, Horizontal or 45 lines don't need anti-aliasing - if( $dx!=0 && $dy!=0 && $dx!=$dy ) { - $this->WuLine($x1,$y1,$x2,$y2); - return; - } - } - if( $this->line_weight==1 ) - imageline($this->img,$x1,$y1,$x2,$y2,$this->current_color); - elseif( $x1==$x2 ) { // Special case for vertical lines - imageline($this->img,$x1,$y1,$x2,$y2,$this->current_color); - $w1=floor($this->line_weight/2); - $w2=floor(($this->line_weight-1)/2); - for($i=1; $i<=$w1; ++$i) - imageline($this->img,$x1+$i,$y1,$x2+$i,$y2,$this->current_color); - for($i=1; $i<=$w2; ++$i) - imageline($this->img,$x1-$i,$y1,$x2-$i,$y2,$this->current_color); - } - elseif( $y1==$y2 ) { // Special case for horizontal lines - imageline($this->img,$x1,$y1,$x2,$y2,$this->current_color); - $w1=floor($this->line_weight/2); - $w2=floor(($this->line_weight-1)/2); - for($i=1; $i<=$w1; ++$i) - imageline($this->img,$x1,$y1+$i,$x2,$y2+$i,$this->current_color); - for($i=1; $i<=$w2; ++$i) - imageline($this->img,$x1,$y1-$i,$x2,$y2-$i,$this->current_color); - } - else { // General case with a line at an angle - $a = atan2($y1-$y2,$x2-$x1); - // Now establish some offsets from the center. This gets a little - // bit involved since we are dealing with integer functions and we - // want the apperance to be as smooth as possible and never be thicker - // then the specified width. - - // We do the trig stuff to make sure that the endpoints of the line - // are perpendicular to the line itself. - $dx=(sin($a)*$this->line_weight/2); - $dy=(cos($a)*$this->line_weight/2); - - $pnts = array($x2+$dx,$y2+$dy,$x2-$dx,$y2-$dy,$x1-$dx,$y1-$dy,$x1+$dx,$y1+$dy); - imagefilledpolygon($this->img,$pnts,count($pnts)/2,$this->current_color); - } - $this->lastx=$x2; $this->lasty=$y2; - } - - function Polygon($p) { - if( $this->line_weight==0 ) return; - $n=count($p)/2; - for( $i=0; $i<$n; ++$i ) { - $j=($i+1)%$n; - $this->Line($p[$i*2],$p[$i*2+1],$p[$j*2],$p[$j*2+1]); - } - } - - function FilledPolygon($pts) { - imagefilledpolygon($this->img,$pts,count($pts)/2,$this->current_color); - } - - function Rectangle($xl,$yu,$xr,$yl) { - $this->Polygon(array($xl,$yu,$xr,$yu,$xr,$yl,$xl,$yl)); - } - - function FilledRectangle($xl,$yu,$xr,$yl) { - $this->FilledPolygon(array($xl,$yu,$xr,$yu,$xr,$yl,$xl,$yl)); - } - - function ShadowRectangle($xl,$yu,$xr,$yl,$fcolor=false,$shadow_width=3,$shadow_color=array(102,102,102)) { - $this->PushColor($shadow_color); - $this->FilledRectangle($xr-$shadow_width,$yu+$shadow_width,$xr,$yl); - $this->FilledRectangle($xl+$shadow_width,$yl-$shadow_width,$xr,$yl); - $this->PopColor(); - if( $fcolor==false ) - $this->Rectangle($xl,$yu,$xr-$shadow_width-1,$yl-$shadow_width-1); - else { - $this->PushColor($fcolor); - $this->FilledRectangle($xl,$yu,$xr-$shadow_width-1,$yl-$shadow_width-1); - $this->PopColor(); - $this->Rectangle($xl,$yu,$xr-$shadow_width-1,$yl-$shadow_width-1); - } - } - - function StyleLineTo($x,$y) { - $this->StyleLine($this->lastx,$this->lasty,$x,$y); - $this->lastx=$x; - $this->lasty=$y; - } - - function LineTo($x,$y) { - $this->Line($this->lastx,$this->lasty,$x,$y); - $this->lastx=$x; - $this->lasty=$y; - } - - function Point($x,$y) { - imagesetpixel($this->img,$x,$y,$this->current_color); - } - - function Fill($x,$y) { - imagefill($this->img,$x,$y,$this->current_color); - } - - function DashedLine($x1,$y1,$x2,$y2,$dash_length=1,$dash_space=4) { - // Code based on, but not identical to, work by Ariel Garza and James Pine - $line_length = ceil (sqrt(pow(($x2 - $x1),2) + pow(($y2 - $y1),2)) ); - $dx = ($x2 - $x1) / $line_length; - $dy = ($y2 - $y1) / $line_length; - $lastx = $x1; $lasty = $y1; - $xmax = max($x1,$x2); - $xmin = min($x1,$x2); - $ymax = max($y1,$y2); - $ymin = min($y1,$y2); - for ($i = 0; $i < $line_length; $i += ($dash_length + $dash_space)) { - $x = ($dash_length * $dx) + $lastx; - $y = ($dash_length * $dy) + $lasty; - - // The last section might overshoot so we must take a computational hit - // and check this. - if( $x>$xmax ) $x=$xmax; - if( $y>$ymax ) $y=$ymax; - - if( $x<$xmin ) $x=$xmin; - if( $y<$ymin ) $y=$ymin; - - $this->Line($lastx,$lasty,$x,$y); - $lastx = $x + ($dash_space * $dx); - $lasty = $y + ($dash_space * $dy); - } - } - - // Generate image header - function Headers() { - if ($this->expired) { - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); - header("Cache-Control: no-cache, must-revalidate"); - header("Pragma: no-cache"); - } - header("Content-type: image/$this->img_format"); - } - - // Adjust image quality for formats that allow this - function SetQuality($q) { - $this->quality = $q; - } - - // Stream image to browser or to file - function Stream($aFile="") { - $func="image".$this->img_format; - if( $this->img_format=="jpeg" && $this->quality != null ) { - $res = @$func($this->img,$aFile,$this->quality); - } - else { - if( $aFile != "" ) { - $res = @$func($this->img,$aFile); - } - else - $res = @$func($this->img); - } - if( !$res ) - JpGraphError::Raise("Can't create or stream image to file $aFile Check that PHP has enough permission to write a file to the current directory."); - } - - // Clear resource tide up by image - function Destroy() { - imagedestroy($this->img); - } - - // Specify image format. Note depending on your installation - // of PHP not all formats may be supported. - function SetImgFormat($aFormat) { - $aFormat = strtolower($aFormat); - $tst = true; - $supported = imagetypes(); - if( $aFormat=="auto" ) { - if( $supported & IMG_PNG ) - $this->img_format="png"; - elseif( $supported & IMG_JPG ) - $this->img_format="jpeg"; - elseif( $supported & IMG_GIF ) - $this->img_format="gif"; - else - JpGraphError::Raise(" Your PHP (and GD-lib) installation does not appear to support any known graphic formats.". - "You need to first make sure GD is compiled as a module to PHP. If you also want to use JPEG images". - "you must get the JPEG library. Please see the PHP docs for details."); - - return true; - } - else { - if( $aFormat=="jpeg" || $aFormat=="png" || $aFormat=="gif" ) { - if( $aFormat=="jpeg" && !($supported & IMG_JPG) ) - $tst=false; - elseif( $aFormat=="png" && !($supported & IMG_PNG) ) - $tst=false; - elseif( $aFormat=="gif" && !($supported & IMG_GIF) ) - $tst=false; - else { - $this->img_format=$aFormat; - return true; - } - } - else - $tst=false; - if( !$tst ) - JpGraphError::Raise(" Your PHP installation does not support the chosen graphic format: $aFormat"); - } - } -} // CLASS - -//=================================================== -// CLASS RotImage -// Description: Exactly as Image but draws the image at -// a specified angle around a specified rotation point. -//=================================================== -class RotImage extends Image { - var $m=array(); - var $a=0; - var $dx=0,$dy=0,$transx=0,$transy=0; - - function RotImage($aWidth,$aHeight,$a=0,$aFormat=DEFAULT_GFORMAT) { - $this->Image($aWidth,$aHeight,$aFormat); - $this->dx=$this->left_margin+$this->plotwidth/2; - $this->dy=$this->top_margin+$this->plotheight/2; - $this->SetAngle($a); - } - - function SetCenter($dx,$dy) { - $old_dx = $this->dx; - $old_dy = $this->dy; - $this->dx=$dx; - $this->dy=$dy; - return array($old_dx,$old_dy); - } - - function SetTranslation($dx,$dy) { - $old = array($this->transx,$this->transy); - $this->transx = $dx; - $this->transy = $dy; - return $old; - } - - function SetAngle($a) { - $tmp = $this->a; - $this->a = $a; - $a *= M_PI/180; - $sa=sin($a); $ca=cos($a); - - // Create the rotation matrix - $this->m[0][0] = $ca; - $this->m[0][1] = -$sa; - $this->m[0][2] = $this->dx*(1-$ca) + $sa*$this->dy ; - $this->m[1][0] = $sa; - $this->m[1][1] = $ca; - $this->m[1][2] = $this->dy*(1-$ca) - $sa*$this->dx ; - return $tmp; - } - - function Circle($xc,$yc,$r) { - list($xc,$yc) = $this->Rotate($xc,$yc); - parent::Circle($xc,$yc,$r); - } - - function FilledCircle($xc,$yc,$r) { - list($xc,$yc) = $this->Rotate($xc,$yc); - parent::FilledCircle($xc,$yc,$r); - } - - - function Arc($xc,$yc,$w,$h,$s,$e) { - list($xc,$yc) = $this->Rotate($xc,$yc); - parent::Arc($xc,$yc,$w,$h,$s,$e); - } - - function FilledArc($xc,$yc,$w,$h,$s,$e) { - list($xc,$yc) = $this->Rotate($xc,$yc); - parent::FilledArc($xc,$yc,$w,$h,$s,$e); - } - - function SetMargin($lm,$rm,$tm,$bm) { - parent::SetMargin($lm,$rm,$tm,$bm); - $this->SetAngle($this->a); - } - - function Rotate($x,$y) { - $x1=round($this->m[0][0]*$x + $this->m[0][1]*$y + $this->m[0][2] + $this->transx); - $y1=round($this->m[1][0]*$x + $this->m[1][1]*$y + $this->m[1][2] + $this->transy); - return array($x1,$y1); - } - - function ArrRotate($pnts) { - for($i=0; $i < count($pnts)-1; $i+=2) - list($pnts[$i],$pnts[$i+1]) = $this->Rotate($pnts[$i],$pnts[$i+1]); - return $pnts; - } - - function Line($x1,$y1,$x2,$y2) { - list($x1,$y1) = $this->Rotate($x1,$y1); - list($x2,$y2) = $this->Rotate($x2,$y2); - parent::Line($x1,$y1,$x2,$y2); - } - - function Rectangle($x1,$y1,$x2,$y2) { - $this->Polygon(array($x1,$y1,$x2,$y1,$x2,$y2,$x1,$y2)); - } - - function FilledRectangle($x1,$y1,$x2,$y2) { - if( $y1==$y2 || $x1==$x2 ) - $this->Line($x1,$y1,$x2,$y2); - else - $this->FilledPolygon(array($x1,$y1,$x2,$y1,$x2,$y2,$x1,$y2)); - } - - function Polygon($pnts) { - //Polygon uses Line() so it will be rotated through that call - parent::Polygon($pnts); - } - - function FilledPolygon($pnts) { - parent::FilledPolygon($this->ArrRotate($pnts)); - } - - function Point($x,$y) { - list($xp,$yp) = $this->Rotate($x,$y); - parent::Point($xp,$yp); - } - - function DashedLine($x1,$y1,$x2,$y2,$length=1,$space=4) { - list($x1,$y1) = $this->Rotate($x1,$y1); - list($x2,$y2) = $this->Rotate($x2,$y2); - parent::DashedLine($x1,$y1,$x2,$y2,$length,$space); - } - - function StrokeText($x,$y,$txt,$dir=0,$paragraph_align="left") { - list($xp,$yp) = $this->Rotate($x,$y); - parent::StrokeText($xp,$yp,$txt,$dir,$paragraph_align); - } -} - -//=================================================== -// CLASS ImgStreamCache -// Description: Handle caching of graphs to files -//=================================================== -class ImgStreamCache { - var $cache_dir; - var $img=null; - var $timeout=0; // Infinite timeout - //--------------- - // CONSTRUCTOR - function ImgStreamCache(&$aImg, $aCacheDir=CACHE_DIR) { - $this->img = &$aImg; - $this->cache_dir = $aCacheDir; - } - -//--------------- -// PUBLIC METHODS - - // Specify a timeout (in minutes) for the file. If the file is older then the - // timeout value it will be overwritten with a newer version. - // If timeout is set to 0 this is the same as infinite large timeout and if - // timeout is set to -1 this is the same as infinite small timeout - function SetTimeout($aTimeout) { - $this->timeout=$aTimeout; - } - - // Output image to browser and also write it to the cache - function PutAndStream(&$aImage,$aCacheFileName,$aInline,$aStrokeFileName) { - // Some debugging code to brand the image with numbe of colors - // used - - if( JPG_DEBUG ) { - $c=$aImage->SetColor("black"); - $t=imagecolorstotal($this->img->img); - imagestring($this->img->img,2,5,$this->img->height-20,$t,$c); - } - - if( BRAND_TIMING ) { - global $tim; - $t=$tim->Pop()/1000.0; - $c=$aImage->SetColor("black"); - $t=sprintf(BRAND_TIME_FORMAT,round($t,3)); - imagestring($this->img->img,2,5,$this->img->height-20,$t,$c); - } - - // Check if we should stroke the image to an arbitrary file - if( $aStrokeFileName!="" ) { - if( $aStrokeFileName == "auto" ) - $aStrokeFileName = GenImgName(); - if( file_exists($aStrokeFileName) ) { - // Delete the old file - if( !@unlink($aStrokeFileName) ) - JpGraphError::Raise(" Can't delete cached image $aStrokeFileName. Permission problem?"); - } - $aImage->Stream($aStrokeFileName); - return; - } - - if( $aCacheFileName != "" && USE_CACHE) { - - $aCacheFileName = $this->cache_dir . $aCacheFileName; - if( file_exists($aCacheFileName) ) { - if( !$aInline ) { - // If we are generating image off-line (just writing to the cache) - // and the file exists and is still valid (no timeout) - // then do nothing, just return. - $diff=time()-filemtime($aCacheFileName); - if( $diff < 0 ) - JpGraphError::Raise(" Cached imagefile ($aCacheFileName) has file date in the future!!"); - if( $this->timeout>0 && ($diff <= $this->timeout*60) ) - return; - } - if( !@unlink($aCacheFileName) ) - JpGraphError::Raise(" Can't delete cached image $aStrokeFileName. Permission problem?"); - $aImage->Stream($aCacheFileName); - } - else { - $this->_MakeDirs(dirname($aCacheFileName)); - $aImage->Stream($aCacheFileName); - } - - $res=true; - // Set group to specified - if( CACHE_FILE_GROUP != "" ) - $res = @chgrp($aCacheFileName,CACHE_FILE_GROUP); - if( CACHE_FILE_MOD != "" ) - $res = @chmod($aCacheFileName,CACHE_FILE_MOD); - if( !$res ) - JpGraphError::Raise(" Can't set permission for cached image $aStrokeFileName. Permission problem?"); - - $aImage->Destroy(); - if( $aInline ) { - if ($fh = @fopen($aCacheFileName, "rb") ) { - $this->img->Headers(); - fpassthru($fh); - return; - } - else - JpGraphError::Raise(" Cant open file from cache [$aFile]"); - } - } - elseif( $aInline ) { - $this->img->Headers(); - $aImage->Stream(); - return; - } - } - - // Check if a given image is in cache and in that case - // pass it directly on to web browser. Return false if the - // image file doesn't exist or exists but is to old - function GetAndStream($aCacheFileName) { - $aCacheFileName = $this->cache_dir.$aCacheFileName; - if ( USE_CACHE && file_exists($aCacheFileName) && $this->timeout>=0 ) { - $diff=time()-filemtime($aCacheFileName); - if( $this->timeout>0 && ($diff > $this->timeout*60) ) { - return false; - } - else { - if ($fh = @fopen($aCacheFileName, "rb")) { - $this->img->Headers(); - fpassthru($fh); - fclose($fh); - return true; - } - else - JpGraphError::Raise(" Can't open cached image \"$aCacheFileName\" for reading."); - } - } - return false; - } - - //--------------- - // PRIVATE METHODS - // Create all necessary directories in a path - function _MakeDirs($aFile) { - $dirs = array(); - while (! (file_exists($aFile))) { - $dirs[] = $aFile; - $aFile = dirname($aFile); - } - for ($i = sizeof($dirs)-1; $i>=0; $i--) { - if(! @mkdir($dirs[$i],0777) ) - JpGraphError::Raise(" Can't create directory in $aFile. Permission problems?"); - - // We also specify mode here after we have changed group. - // This is necessary if Apache user doesn't belong the - // default group and hence can't specify group permission - // in the previous mkdir() call - if( CACHE_FILE_GROUP != "" ) { - $res=true; - $res =@chgrp($dirs[$i],CACHE_FILE_GROUP); - $res &= @chmod($dirs[$i],0777); - if( !$res ) - JpGraphError::Raise(" Can't set permissions for $aFile. Permission problems?"); - } - } - return true; - } -} // CLASS Cache - -//=================================================== -// CLASS Legend -// Description: Responsible for drawing the box containing -// all the legend text for the graph -//=================================================== -class Legend { - var $color=array(0,0,0); // Default fram color - var $fill_color=array(235,235,235); // Default fill color - var $shadow=true; // Shadow around legend "box" - var $txtcol=array(); - var $mark_abs_size=10,$xmargin=5,$ymargin=5,$shadow_width=2; - var $xpos=0.05, $ypos=0.15, $halign="right", $valign="top"; - var $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12; - var $hide=false,$layout=LEGEND_VERT; - var $weight=1; -//--------------- -// CONSTRUCTOR - function Legend() { - // Empty - } -//--------------- -// PUBLIC METHODS - function Hide($aHide=true) { - $this->hide=$aHide; - } - - function SetShadow($aShow=true,$aWidth=2) { - $this->shadow=$aShow; - $this->shadow_width=$aWidth; - } - - function SetLineWeight($aWeight) { - $this->weight = $aWeight; - } - - function SetLayout($aDirection=LEGEND_VERT) { - $this->layout=$aDirection; - } - - // Set color on frame around box - function SetColor($aColor) { - $this->color=$aColor; - } - - function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) { - $this->font_family = $aFamily; - $this->font_style = $aStyle; - $this->font_size = $aSize; - } - - function Pos($aX,$aY,$aHAlign="right",$aVAlign="top") { - if( !($aX<1 && $aY<1) ) - JpGraphError::Raise(" Position for legend must be given as percentage in range 0-1"); - $this->xpos=$aX; - $this->ypos=$aY; - $this->halign=$aHAlign; - $this->valign=$aVAlign; - } - - function SetBackground($aDummy) { - JpGraphError::Raise(" Deprecated function Legend::SetBaqckground() use Legend::SetFillColor() instead."); - } - - function SetFillColor($aColor) { - $this->fill_color=$aColor; - } - - function Add($aTxt,$aColor,$aPlotmark="",$aLinestyle=1) { - $this->txtcol[]=array($aTxt,$aColor,$aPlotmark,$aLinestyle); - } - - function Stroke(&$aImg) { - if( $this->hide ) return; - - $nbrplots=count($this->txtcol); - if( $nbrplots==0 ) return; - - $aImg->SetFont($this->font_family,$this->font_style,$this->font_size); - if( $this->layout==LEGEND_VERT ) - $abs_height=$aImg->GetFontHeight() + $this->mark_abs_size*$nbrplots + - $this->ymargin*($nbrplots-1); - else - $abs_height=2*$this->mark_abs_size+$this->ymargin; - - if( $this->shadow ) $abs_height += $this->shadow_width; - $mtw=0; - foreach($this->txtcol as $p) { - if( $this->layout==LEGEND_VERT ) - $mtw=max($mtw,$aImg->GetTextWidth($p[0])); - else - $mtw+=$aImg->GetTextWidth($p[0])+$this->mark_abs_size+$this->xmargin; - } - $abs_width=$mtw+2*$this->mark_abs_size+2*$this->xmargin; - if( $this->halign=="left" ) - $xp=$this->xpos*$aImg->width; - elseif( $this->halign=="center" ) - $xp=$this->xpos*$aImg->width - $abs_width/2; - else - $xp = $aImg->width - $this->xpos*$aImg->width - $abs_width; - $yp=$this->ypos*$aImg->height; - if( $this->valign=="center" ) - $yp-=$abs_height/2; - elseif( $this->valign=="bottom" ) - $yp-=$abs_height; - - $aImg->SetColor($this->color); - $aImg->SetLineWeight($this->weight); - if( $this->shadow ) - $aImg->ShadowRectangle($xp,$yp,$xp+$abs_width,$yp+$abs_height,$this->fill_color,$this->shadow_width); - else { - $aImg->SetColor($this->fill_color); - $aImg->FilledRectangle($xp,$yp,$xp+$abs_width,$yp+$abs_height); - $aImg->SetColor($this->color); - $aImg->Rectangle($xp,$yp,$xp+$abs_width,$yp+$abs_height); - } - $aImg->SetLineWeight(1); - $x1=$xp+$this->mark_abs_size/2; - $y1=$yp+$aImg->GetFontHeight()*0.5; - foreach($this->txtcol as $p) { - $aImg->SetColor($p[1]); - if ( $p[2] != "" && $p[2]->GetType() > -1 ) { - $p[2]->Stroke($aImg,$x1+$this->mark_abs_size/2,$y1+$aImg->GetFontHeight()/2); - } - elseif ( $p[2] != "" ) { - $aImg->SetLineStyle($p[3]); - $aImg->StyleLine($x1,$y1+$aImg->GetFontHeight()/2,$x1+$this->mark_abs_size,$y1+$aImg->GetFontHeight()/2); - $aImg->StyleLine($x1,$y1+$aImg->GetFontHeight()/2-1,$x1+$this->mark_abs_size,$y1+$aImg->GetFontHeight()/2-1); - } - else { - $aImg->FilledRectangle($x1,$y1,$x1+$this->mark_abs_size,$y1+$this->mark_abs_size); - $aImg->SetColor($this->color); - $aImg->Rectangle($x1,$y1,$x1+$this->mark_abs_size,$y1+$this->mark_abs_size); - } - $aImg->SetColor($this->color); - $aImg->SetTextAlign("left"); - $aImg->StrokeText($x1+$this->mark_abs_size+$this->xmargin,$y1+$this->mark_abs_size,$p[0]); - if( $this->layout==LEGEND_VERT ) - $y1 += $this->ymargin+$this->mark_abs_size; - else - $x1 += 2*$this->ymargin+$this->mark_abs_size+$aImg->GetTextWidth($p[0]); - } - } -} // Class - - -//=================================================== -// CLASS DisplayValue -// Description: Used to print data values at data points -//=================================================== -class DisplayValue { - var $show=false,$format="%.1f",$negformat=""; - var $angle=0; - var $ff=FF_FONT1,$fs=FS_NORMAL,$fsize=10; - var $color="navy",$negcolor=""; - var $margin=5,$valign="",$halign="center"; - - function Show($f=true) { - $this->show=$f; - } - - function SetColor($color,$negcolor="") { - $this->color = $color; - $this->negcolor = $negcolor; - } - - function SetFont($ff,$fs=FS_NORMAL,$fsize=10) { - $this->ff=$ff; - $this->fs=$fs; - $this->fsize=$fsize; - } - - function SetMargin($m) { - $this->margin = $m; - } - - function SetAngle($a) { - $this->angle = $a; - } - - function SetVAlign($aVAlign) { - $this->valign = $aVAlign; - } - - function SetFormat($format,$negformat="") { - $this->format= $format; - $this->negformat= $negformat; - } - - function Stroke($img,$aVal,$x,$y) { - if( $this->show ) - { - if( $this->negformat=="" ) $this->negformat=$this->format; - if( $this->negcolor=="" ) $this->negcolor=$this->color; - - if( is_null($aVal) || (is_string($aVal) && ($aVal=="" || $aVal=="-" || $aVal=="x" ) ) ) - return; - if( $aVal >= 0 ) - $sval=sprintf($this->format,$aVal); - else - $sval=sprintf($this->negformat,$aVal); - $txt = new Text($sval,$x,$y-sign($aVal)*$this->margin); - $txt->SetFont($this->ff,$this->fs,$this->fsize); - if( $this->valign == "" ) { - if( $aVal >= 0 ) - $valign = "bottom"; - else - $valign = "top"; - } - else - $valign = $this->valign; - $txt->Align($this->halign,$valign); - $txt->SetOrientation($this->angle); - if( $aVal > 0 ) - $txt->SetColor($this->color); - else - $txt->SetColor($this->negcolor); - $txt->Stroke($img); - } - } -} - - -//=================================================== -// CLASS Plot -// Description: Abstract base class for all concrete plot classes -//=================================================== -class Plot { - var $line_weight=1; - var $coords=array(); - var $legend=""; - var $csimtargets=array(); // Array of targets for CSIM - var $csimareas=""; // Resultant CSIM area tags - var $csimalts=null; // ALT:s for corresponding target - var $color="black"; - var $numpoints=0; - var $weight=1; - var $value; -//--------------- -// CONSTRUCTOR - function Plot(&$aDatay,$aDatax=false) { - $this->numpoints = count($aDatay); - if( $this->numpoints==0 ) - JpGraphError::Raise(" Empty data array specified for plot. Must have at least one data point."); - $this->coords[0]=$aDatay; - if( is_array($aDatax) ) - $this->coords[1]=$aDatax; - $this->value = new DisplayValue(); - } - -//--------------- -// PUBLIC METHODS - - // Stroke the plot - // "virtual" function which must be implemented by - // the subclasses - function Stroke(&$aImg,&$aXScale,&$aYScale) { - JpGraphError::Raise("JpGraph: Stroke() must be implemented by concrete subclass to class Plot"); - } - - function StrokeDataValue($img,$aVal,$x,$y) { - $this->value->Stroke($img,$aVal,$x,$y); - } - - // Set href targets for CSIM - function SetCSIMTargets(&$aTargets,$aAlts=null) { - $this->csimtargets=$aTargets; - $this->csimalts=$aAlts; - } - - // Get all created areas - function GetCSIMareas() { - return $this->csimareas; - } - - // "Virtual" function which gets called before any scale - // or axis are stroked used to do any plot specific adjustment - function PreStrokeAdjust(&$aGraph) { - if( substr($aGraph->axtype,0,4) == "text" && (isset($this->coords[1])) ) - JpGraphError::Raise("JpGraph: You can't use a text X-scale with specified X-coords. Use a \"int\" or \"lin\" scale instead."); - return true; - } - - function SetWeight($aWeight) { - $this->weight=$aWeight; - } - - // Get minimum values in plot - function Min() { - if( isset($this->coords[1]) ) - $x=$this->coords[1]; - else - $x=""; - if( $x != "" && count($x) > 0 ) - $xm=min($x); - else - $xm=0; - $y=$this->coords[0]; - if( count($y) > 0 ) { - $ym = $y[0]; - $cnt = count($y); - $i=0; - while( $i<$cnt && !is_numeric($ym=$y[$i]) ) - $i++; - while( $i < $cnt) { - if( is_numeric($y[$i]) ) - $ym=min($ym,$y[$i]); - ++$i; - } - } - else - $ym=""; - return array($xm,$ym); - } - - // Get maximum value in plot - function Max() { - if( isset($this->coords[1]) ) - $x=$this->coords[1]; - else - $x=""; - - if( $x!="" && count($x) > 0 ) - $xm=max($x); - else - $xm=count($this->coords[0])-1; // We count from 0..(n-1) - $y=$this->coords[0]; - if( count($y) > 0 ) { - if( !isset($y[0]) ) { - $y[0] = 0; -// Change in 1.5.1 Don't treat this as an error any more. Just silently concert to 0 -// JpGraphError::Raise(" You have not specified a y[0] value!!"); - } - $cnt = count($y); - $i=0; - while( $i<$cnt && !is_numeric($ym=$y[$i]) ) - $i++; - while( $i < $cnt ) { - if( is_numeric($y[$i]) ) $ym=max($ym,$y[$i]); - ++$i; - } - } - else - $ym=""; - return array($xm,$ym); - } - - function SetColor($aColor) { - $this->color=$aColor; - } - - function SetLegend($aLegend) { - $this->legend = $aLegend; - } - - function SetLineWeight($aWeight=1) { - $this->line_weight=$aWeight; - } - - // This method gets called by Graph class to plot anything that should go - // into the margin after the margin color has been set. - function StrokeMargin(&$aImg) { - return true; - } - - // Framework function the chance for each plot class to set a legend - function Legend(&$aGraph) { - if( $this->legend!="" ) - $aGraph->legend->Add($this->legend,$this->color); - } - -} // Class - - -//=================================================== -// CLASS PlotMark -// Description: Handles the plot marks in graphs -// mostly used in line and scatter plots. -//=================================================== -class PlotMark { - var $title, $show=true; - var $type=-1, $weight=1; - var $color="black", $width=5, $fill_color="blue"; -// -------------- -// CONSTRUCTOR - function PlotMark() { - $this->title = new Text(); - $this->title->Hide(); - } -//--------------- -// PUBLIC METHODS - function SetType($t) { - $this->type = $t; - } - - function GetType() { - return $this->type; - } - - function SetColor($c) { - $this->color=$c; - } - - function SetFillColor($c) { - $this->fill_color = $c; - } - - function SetWidth($w) { - $this->width=$w; - } - - function GetWidth() { - return $this->width; - } - - function Hide($aHide=true) { - $this->show = !$aHide; - } - - function Show($aShow=true) { - $this->show = $aShow; - } - - function Stroke(&$img,$x,$y) { - if( !$this->show ) return; - $dx=round($this->width/2,0); - $dy=round($this->width/2,0); - $pts=0; - switch( $this->type ) { - case MARK_SQUARE: - $c[]=$x-$dx;$c[]=$y-$dy; - $c[]=$x+$dx;$c[]=$y-$dy; - $c[]=$x+$dx;$c[]=$y+$dy; - $c[]=$x-$dx;$c[]=$y+$dy; - $pts=4; - break; - case MARK_UTRIANGLE: - ++$dx;++$dy; - $c[]=$x-$dx;$c[]=$y+0.87*$dy; // tan(60)/2*$dx - $c[]=$x;$c[]=$y-0.87*$dy; - $c[]=$x+$dx;$c[]=$y+0.87*$dy; - $pts=3; - break; - case MARK_DTRIANGLE: - ++$dx;++$dy; - $c[]=$x;$c[]=$y+0.87*$dy; // tan(60)/2*$dx - $c[]=$x-$dx;$c[]=$y-0.87*$dy; - $c[]=$x+$dx;$c[]=$y-0.87*$dy; - $pts=3; - break; - case MARK_DIAMOND: - $c[]=$x;$c[]=$y+$dy; - $c[]=$x-$dx;$c[]=$y; - $c[]=$x;$c[]=$y-$dy; - $c[]=$x+$dx;$c[]=$y; - $pts=4; - break; - } - if( $pts>0 ) { - $img->SetLineWeight($this->weight); - $img->SetColor($this->fill_color); - $img->FilledPolygon($c); - $img->SetColor($this->color); - $img->Polygon($c); - } - elseif( $this->type==MARK_CIRCLE ) { - $img->SetColor($this->color); - $img->Circle($x,$y,$this->width); - } - elseif( $this->type==MARK_FILLEDCIRCLE ) { - $img->SetColor($this->fill_color); - $img->FilledCircle($x,$y,$this->width); - $img->SetColor($this->color); - $img->Circle($x,$y,$this->width); - } - elseif( $this->type==MARK_CROSS ) { - // Oversize by a pixel to match the X - $img->SetColor($this->color); - $img->SetLineWeight($this->weight); - $img->Line($x,$y+$dy+1,$x,$y-$dy-1); - $img->Line($x-$dx-1,$y,$x+$dx+1,$y); - } - elseif( $this->type==MARK_X ) { - $img->SetColor($this->color); - $img->SetLineWeight($this->weight); - $img->Line($x+$dx,$y+$dy,$x-$dx,$y-$dy); - $img->Line($x-$dx,$y+$dy,$x+$dx,$y-$dy); - } - elseif( $this->type==MARK_STAR ) { - $img->SetColor($this->color); - $img->SetLineWeight($this->weight); - $img->Line($x+$dx,$y+$dy,$x-$dx,$y-$dy); - $img->Line($x-$dx,$y+$dy,$x+$dx,$y-$dy); - // Oversize by a pixel to match the X - $img->Line($x,$y+$dy+1,$x,$y-$dy-1); - $img->Line($x-$dx-1,$y,$x+$dx+1,$y); - } - - // Stroke title - $this->title->Align("center","center"); - $this->title->Stroke($img,$x,$y); - } -} // Class - -//============================================================================== -// The following section contains classes to implement the "band" functionality -//============================================================================== - -// Utility class to hold coordinates for a rectangle -class Rectangle { - var $x,$y,$w,$h; - var $xe, $ye; - function Rectangle($aX,$aY,$aWidth,$aHeight) { - $this->x=$aX; - $this->y=$aY; - $this->w=$aWidth; - $this->h=$aHeight; - $this->xe=$aX+$aWidth-1; - $this->ye=$aY+$aHeight-1; - } -} - -//===================================================================== -// Class RectPattern -// Base class for pattern hierarchi that is used to display patterned -// bands on the graph. Any subclass that doesn't override Stroke() -// must at least implement method DoPattern(&$aImg) which is responsible -// for drawing the pattern onto the graph. -//===================================================================== -class RectPattern { - var $color; - var $weight; - var $rect=null; - var $doframe=true; - var $linespacing; // Line spacing in pixels - var $iBackgroundColor=-1; // Default is no background fill - - function RectPattern($aColor,$aWeight=1) { - $this->color = $aColor; - $this->weight = $aWeight; - } - - function SetBackground($aBackgroundColor) { - $this->iBackgroundColor=$aBackgroundColor; - } - - function SetPos(&$aRect) { - $this->rect = $aRect; - } - - function ShowFrame($aShow=true) { - $this->doframe=$aShow; - } - - function SetDensity($aDens) { - if( $aDens <1 || $aDens > 100 ) - JpGraphError::Raise(" Desity for pattern must be between 1 and 100. (You tried $aDens)"); - // 1% corresponds to linespacing=50 - // 100 % corresponds to linespacing 1 - $this->linespacing = floor(((100-$aDens)/100.0)*50)+1; - - } - - function Stroke(&$aImg) { - if( $this->rect == null ) - JpGraphError::Raise(" No positions specified for pattern."); - - if( !(is_numeric($this->iBackgroundColor) && $this->iBackgroundColor==-1) ) { - $aImg->SetColor($this->iBackgroundColor); - $aImg->FilledRectangle($this->rect->x,$this->rect->y,$this->rect->xe,$this->rect->ye); - } - - $aImg->SetColor($this->color); - $aImg->SetLineWeight($this->weight); - - // Virtual function implemented by subclass - $this->DoPattern($aImg); - - // Frame around the pattern area - if( $this->doframe ) - $aImg->Rectangle($this->rect->x,$this->rect->y,$this->rect->xe,$this->rect->ye); - } - -} - - -//===================================================================== -// Class RectPatternSolid -// Implements a solid band -//===================================================================== -class RectPatternSolid extends RectPattern { - - function RectPatternSolid($aColor="black",$aWeight=1) { - parent::RectPattern($aColor,$aWeight); - } - - function Stroke(&$aImg) { - $aImg->SetColor($this->color); - $aImg->FilledRectangle($this->rect->x,$this->rect->y, - $this->rect->xe,$this->rect->ye); - } -} - -//===================================================================== -// Class RectPatternHor -// Implements horizontal line pattern -//===================================================================== -class RectPatternHor extends RectPattern { - - function RectPatternHor($aColor="black",$aWeight=1,$aLineSpacing=7) { - parent::RectPattern($aColor,$aWeight); - $this->linespacing = $aLineSpacing; - } - - function DoPattern(&$aImg) { - $x0 = $this->rect->x; - $x1 = $this->rect->xe; - $y = $this->rect->y; - while( $y < $this->rect->ye ) { - $aImg->Line($x0,$y,$x1,$y); - $y += $this->linespacing; - } - } -} - -//===================================================================== -// Class RectPatternVert -// Implements vertical line pattern -//===================================================================== -class RectPatternVert extends RectPattern { - var $linespacing=10; // Line spacing in pixels - - function RectPatternVert($aColor="black",$aWeight=1,$aLineSpacing=7) { - parent::RectPattern($aColor,$aWeight); - $this->linespacing = $aLineSpacing; - } - - //-------------------- - // Private methods - // - function DoPattern(&$aImg) { - $x = $this->rect->x; - $y0 = $this->rect->y; - $y1 = $this->rect->ye; - while( $x < $this->rect->xe ) { - $aImg->Line($x,$y0,$x,$y1); - $x += $this->linespacing; - } - } -} - - -//===================================================================== -// Class RectPatternRDiag -// Implements right diagonal pattern -//===================================================================== -class RectPatternRDiag extends RectPattern { - var $linespacing; // Line spacing in pixels - - function RectPatternRDiag($aColor="black",$aWeight=1,$aLineSpacing=12) { - parent::RectPattern($aColor,$aWeight); - $this->linespacing = $aLineSpacing; - } - - function DoPattern(&$aImg) { - // -------------------- - // | / / / / /| - // |/ / / / / | - // | / / / / | - // -------------------- - $xe = $this->rect->xe; - $ye = $this->rect->ye; - $x0 = $this->rect->x + round($this->linespacing/2); - $y0 = $this->rect->y; - $x1 = $this->rect->x; - $y1 = $this->rect->y + round($this->linespacing/2); - - while($x0<=$xe && $y1<=$ye) { - $aImg->Line($x0,$y0,$x1,$y1); - $x0 += $this->linespacing; - $y1 += $this->linespacing; - } - - $x1 = $this->rect->x + ($y1-$ye); - //$x1 = $this->rect->x +$this->linespacing; - $y0=$this->rect->y; $y1=$ye; - while( $x0 <= $xe ) { - $aImg->Line($x0,$y0,$x1,$y1); - $x0 += $this->linespacing; - $x1 += $this->linespacing; - } - - $y0=$this->rect->y + ($x0-$xe); - $x0=$xe; - while( $y0 <= $ye ) { - $aImg->Line($x0,$y0,$x1,$y1); - $y0 += $this->linespacing; - $x1 += $this->linespacing; - } - } - -} - -//===================================================================== -// Class RectPatternLDiag -// Implements left diagonal pattern -//===================================================================== -class RectPatternLDiag extends RectPattern { - var $linespacing; // Line spacing in pixels - - function RectPatternLDiag($aColor="black",$aWeight=1,$aLineSpacing=12) { - $this->linespacing = $aLineSpacing; - parent::RectPattern($aColor,$aWeight); - } - - function DoPattern(&$aImg) { - // -------------------- - // |\ \ \ \ \ | - // | \ \ \ \ \| - // | \ \ \ \ | - // |------------------| - $xe = $this->rect->xe; - $ye = $this->rect->ye; - $x0 = $this->rect->x + round($this->linespacing/2); - $y0 = $this->rect->ye; - $x1 = $this->rect->x; - $y1 = $this->rect->ye - round($this->linespacing/2); - - while($x0<=$xe && $y1>=$this->rect->y) { - $aImg->Line($x0,$y0,$x1,$y1); - $x0 += $this->linespacing; - $y1 -= $this->linespacing; - } - - $x1 = $this->rect->x + ($this->rect->y-$y1); - $y0=$ye; $y1=$this->rect->y; - while( $x0 <= $xe ) { - $aImg->Line($x0,$y0,$x1,$y1); - $x0 += $this->linespacing; - $x1 += $this->linespacing; - } - - $y0=$this->rect->ye - ($x0-$xe); - $x0=$xe; - while( $y0 >= $this->rect->y ) { - $aImg->Line($x0,$y0,$x1,$y1); - $y0 -= $this->linespacing; - $x1 += $this->linespacing; - } - } -} - -//===================================================================== -// Class RectPattern3DPlane -// Implements "3D" plane pattern -//===================================================================== -class RectPattern3DPlane extends RectPattern { - var $alpha=50; // Parameter that specifies the distance - // to "simulated" horizon in pixel from the - // top of the band. Specifies how fast the lines - // converge. - - function RectPattern3DPlane($aColor="black",$aWeight=1) { - parent::RectPattern($aColor,$aWeight); - $this->SetDensity(10); // Slightly larger default - } - - function SetHorizon($aHorizon) { - $this->alpha=$aHorizon; - } - - function DoPattern(&$aImg) { - // "Fake" a nice 3D grid-effect. - $x0 = $this->rect->x + $this->rect->w/2; - $y0 = $this->rect->y; - $x1 = $x0; - $y1 = $this->rect->ye; - $x0_right = $x0; - $x1_right = $x1; - - // BTW "apa" means monkey in Swedish but is really a shortform for - // "alpha+a" which was the labels I used on paper when I derived the - // geometric to get the 3D perspective right. - // $apa is the height of the bounding rectangle plus the distance to the - // artifical horizon (alpha) - $apa = $this->rect->h + $this->alpha; - - // Three cases and three loops - // 1) The endpoint of the line ends on the bottom line - // 2) The endpoint ends on the side - // 3) Horizontal lines - - // Endpoint falls on bottom line - $middle=$this->rect->x + $this->rect->w/2; - $dist=$this->linespacing; - $factor=$this->alpha /($apa); - while($x1>$this->rect->x) { - $aImg->Line($x0,$y0,$x1,$y1); - $aImg->Line($x0_right,$y0,$x1_right,$y1); - $x1 = $middle - $dist; - $x0 = $middle - $dist * $factor; - $x1_right = $middle + $dist; - $x0_right = $middle + $dist * $factor; - $dist += $this->linespacing; - } - - // Endpoint falls on sides - $dist -= $this->linespacing; - $d=$this->rect->w/2; - $c = $apa - $d*$apa/$dist; - while( $x0>$this->rect->x ) { - $aImg->Line($x0,$y0,$this->rect->x,$this->rect->ye-$c); - $aImg->Line($x0_right,$y0,$this->rect->xe,$this->rect->ye-$c); - $dist += $this->linespacing; - $x0 = $middle - $dist * $factor; - $x1 = $middle - $dist; - $x0_right = $middle + $dist * $factor; - $c = $apa - $d*$apa/$dist; - } - - // Horizontal lines - // They need some serious consideration since they are a function - // of perspective depth (alpha) and density (linespacing) - $x0=$this->rect->x; - $x1=$this->rect->xe; - $y=$this->rect->ye; - - // The first line is drawn directly. Makes the loop below slightly - // more readable. - $aImg->Line($x0,$y,$x1,$y); - $hls = $this->linespacing; - - // A correction factor for vertical "brick" line spacing to account for - // a) the difference in number of pixels hor vs vert - // b) visual apperance to make the first layer of "bricks" look more - // square. - $vls = $this->linespacing*0.6; - - $ds = $hls*($apa-$vls)/$apa; - // Get the slope for the "perspective line" going from bottom right - // corner to top left corner of the "first" brick. - - // Uncomment the following lines if you want to get a visual understanding - // of what this helpline does. BTW this mimics the way you would get the - // perspective right when drawing on paper. - /* - $x0 = $middle; - $y0 = $this->rect->ye; - $len=floor(($this->rect->ye-$this->rect->y)/$vls); - $x1 = $middle-round($len*$ds); - $y1 = $this->rect->ye-$len*$vls; - $aImg->PushColor("red"); - $aImg->Line($x0,$y0,$x1,$y1); - $aImg->PopColor(); - */ - - $y -= $vls; - $k=($this->rect->ye-($this->rect->ye-$vls))/($middle-($middle-$ds)); - $dist = $hls; - while( $y>$this->rect->y ) { - $aImg->Line($this->rect->x,$y,$this->rect->xe,$y); - $adj = $k*$dist/(1+$dist*$k/$apa); - if( $adj < 2 ) $adj=2; - $y = $this->rect->ye - round($adj); - $dist += $hls; - } - } -} - -//===================================================================== -// Class RectPatternCross -// Vert/Hor crosses -//===================================================================== -class RectPatternCross extends RectPattern { - var $vert=null; - var $hor=null; - function RectPatternCross($aColor="black",$aWeight=1) { - parent::RectPattern($aColor,$aWeight); - $this->vert = new RectPatternVert($aColor,$aWeight); - $this->hor = new RectPatternHor($aColor,$aWeight); - } - - function SetOrder($aDepth) { - $this->vert->SetOrder($aDepth); - $this->hor->SetOrder($aDepth); - } - - function SetPos(&$aRect) { - parent::SetPos($aRect); - $this->vert->SetPos($aRect); - $this->hor->SetPos($aRect); - } - - function SetDensity($aDens) { - $this->vert->SetDensity($aDens); - $this->hor->SetDensity($aDens); - } - - function DoPattern(&$aImg) { - $this->vert->DoPattern($aImg); - $this->hor->DoPattern($aImg); - } -} - -//===================================================================== -// Class RectPatternDiagCross -// Vert/Hor crosses -//===================================================================== - -class RectPatternDiagCross extends RectPattern { - var $left=null; - var $right=null; - function RectPatternDiagCross($aColor="black",$aWeight=1) { - parent::RectPattern($aColor,$aWeight); - $this->right = new RectPatternRDiag($aColor,$aWeight); - $this->left = new RectPatternLDiag($aColor,$aWeight); - } - - function SetOrder($aDepth) { - $this->left->SetOrder($aDepth); - $this->right->SetOrder($aDepth); - } - - function SetPos(&$aRect) { - parent::SetPos($aRect); - $this->left->SetPos($aRect); - $this->right->SetPos($aRect); - } - - function SetDensity($aDens) { - $this->left->SetDensity($aDens); - $this->right->SetDensity($aDens); - } - - function DoPattern(&$aImg) { - $this->left->DoPattern($aImg); - $this->right->DoPattern($aImg); - } - -} - -//===================================================================== -// Class RectPatternFactory -// Factory class for rectangular pattern -//===================================================================== -class RectPatternFactory { - function RectPatternFactory() { - // Empty - } - function Create($aPattern,$aColor,$aWeight=1) { - switch($aPattern) { - case BAND_RDIAG: - $obj = new RectPatternRDiag($aColor,$aWeight); - break; - case BAND_LDIAG: - $obj = new RectPatternLDiag($aColor,$aWeight); - break; - case BAND_SOLID: - $obj = new RectPatternSolid($aColor,$aWeight); - break; - case BAND_LVERT: - $obj = new RectPatternVert($aColor,$aWeight); - break; - case BAND_LHOR: - $obj = new RectPatternHor($aColor,$aWeight); - break; - case BAND_3DPLANE: - $obj = new RectPattern3DPlane($aColor,$aWeight); - break; - case BAND_HVCROSS: - $obj = new RectPatternCross($aColor,$aWeight); - break; - case BAND_DIAGCROSS: - $obj = new RectPatternDiagCross($aColor,$aWeight); - break; - default: - JpGraphError::Raise(" Unknown pattern specification ($aPattern)"); - } - return $obj; - } -} - - -//===================================================================== -// Class PlotBand -// Factory class which is used by the client. -// It is reposnsible for factoring the corresponding pattern -// concrete class. -//===================================================================== -class PlotBand { - var $prect=null; - var $depth; - - function PlotBand($aDir,$aPattern,$aMin,$aMax,$aColor="black",$aWeight=1,$aDepth=DEPTH_BACK) { - $f = new RectPatternFactory(); - $this->prect = $f->Create($aPattern,$aColor,$aWeight); - $this->dir = $aDir; - $this->min = $aMin; - $this->max = $aMax; - $this->depth=$aDepth; - } - - // Set position. aRect contains absolute image coordinates - function SetPos(&$aRect) { - assert( $this->prect != null ) ; - $this->prect->SetPos($aRect); - } - - function ShowFrame($aFlag=true) { - $this->prect->ShowFrame($aFlag); - } - - // Set z-order. In front of pplot or in the back - function SetOrder($aDepth) { - $this->depth=$aDepth; - } - - function SetDensity($aDens) { - $this->prect->SetDensity($aDens); - } - - function GetDir() { - return $this->dir; - } - - function GetMin() { - return $this->min; - } - - function GetMax() { - return $this->max; - } - - // Display band - function Stroke(&$aImg,&$aXScale,&$aYScale) { - assert( $this->prect != null ) ; - if( $this->dir == HORIZONTAL ) { - if( !is_numeric($this->min) && $this->min == "min" ) $this->min = $aYScale->GetMinVal(); - if( !is_numeric($this->max) && $this->max == "max" ) $this->max = $aYScale->GetMaxVal(); - $x=$aXScale->scale_abs[0]; - $y=$aYScale->Translate($this->max); - $width=$aXScale->scale_abs[1]-$aXScale->scale_abs[0]+1; - $height=abs($y-$aYScale->Translate($this->min))+1; - $this->prect->SetPos(new Rectangle($x,$y,$width,$height)); - } - else { // VERTICAL - if( !is_numeric($this->min) && $this->min == "min" ) $this->min = $aXScale->GetMinVal(); - if( !is_numeric($this->max) && $this->max == "max" ) $this->max = $aXScale->GetMaxVal(); - $y=$aYScale->scale_abs[1]; - $x=$aXScale->Translate($this->min); - $height=abs($aYScale->scale_abs[1]-$aYScale->scale_abs[0]); - $width=abs($x-$aXScale->Translate($this->max)); - $this->prect->SetPos(new Rectangle($x,$y,$width,$height)); - } - $this->prect->Stroke($aImg); - } -} - -//=================================================== -// CLASS PlotLine -// Description: -// Data container class to hold properties for a static -// line that is drawn directly in the plot area. -// Usefull to add static borders inside a plot to show -// for example set-values -//=================================================== -class PlotLine { - var $weight=1; - var $color="black"; - var $direction=-1; - var $scaleposition; - -//--------------- -// CONSTRUCTOR - function PlotLine($aDir=HORIZONTAL,$aPos=0,$aColor="black",$aWeight=1) { - $this->direction = $aDir; - $this->color=$aColor; - $this->weight=$aWeight; - $this->scaleposition=$aPos; - } - -//--------------- -// PUBLIC METHODS - function SetPosition($aScalePosition) { - $this->scaleposition=$aScalePosition; - } - - function SetDirection($aDir) { - $this->direction = $aDir; - } - - function SetColor($aColor) { - $this->color=$aColor; - } - - function SetWeight($aWeight) { - $this->weight=$aWeight; - } - - function Stroke(&$aImg,&$aXScale,&$aYScale) { - $aImg->SetColor($this->color); - $aImg->SetLineWeight($this->weight); - if( $this->direction == VERTICAL ) { - $ymin_abs=$aYScale->Translate($aYScale->GetMinVal()); - $ymax_abs=$aYScale->Translate($aYScale->GetMaxVal()); - $xpos_abs=$aXScale->Translate($this->scaleposition); - $aImg->Line($xpos_abs, $ymin_abs, $xpos_abs, $ymax_abs); - } - elseif( $this->direction == HORIZONTAL ) { - $xmin_abs=$aXScale->Translate($aXScale->GetMinVal()); - $xmax_abs=$aXScale->Translate($aXScale->GetMaxVal()); - $ypos_abs=$aYScale->Translate($this->scaleposition); - $aImg->Line($xmin_abs, $ypos_abs, $xmax_abs, $ypos_abs); - } - else - JpGraphError::Raise(" Illegal direction for static line"); - } -} - -// <EOF> -?> diff --git a/bin/jpgraph_line.php b/bin/jpgraph_line.php deleted file mode 100644 index ee328249a4..0000000000 --- a/bin/jpgraph_line.php +++ /dev/null @@ -1,245 +0,0 @@ -<?php -/*======================================================================= -// File: JPGRAPH_LINE.PHP -// Description: Line plot extension for JpGraph -// Created: 2001-01-08 -// Author: Johan Persson (johanp@aditus.nu) -// Ver: $Id$ -// -// License: This code is released under QPL -// Copyright (C) 2001,2002 Johan Persson -//======================================================================== -*/ - -//=================================================== -// CLASS LinePlot -// Description: -//=================================================== -class LinePlot extends Plot{ - var $filled=false; - var $fill_color; - var $mark=null; - var $step_style=false, $center=false; - var $line_style=1; // Default to solid - -//--------------- -// CONSTRUCTOR - function LinePlot(&$datay,$datax=false) { - $this->Plot($datay,$datax); - $this->mark = new PlotMark(); - $this->mark->SetColor($this->color); - } -//--------------- -// PUBLIC METHODS - - // Set style, filled or open - function SetFilled($f=true) { - $this->filled=$f; - } - - function SetStyle($s) { - $this->line_style=$s; - } - - function SetStepStyle($f=true) { - $this->step_style = $f; - } - - function SetColor($c) { - parent::SetColor($c); - $this->mark->SetColor($this->color); - } - - function SetFillColor($c,$f=true) { - $this->fill_color=$c; - $this->filled=$f; - } - - function Legend(&$graph) { - if( $this->legend!="" ) { - if( $this->filled ) { - $graph->legend->Add($this->legend, - $this->fill_color,$this->mark); - } else { - $graph->legend->Add($this->legend, - $this->color,$this->mark,$this->line_style); - } - } - } - - function SetCenter($c=true) { - $this->center=$c; - } - - // Gets called before any axis are stroked - function PreStrokeAdjust(&$graph) { - if( $this->center ) { - ++$this->numpoints; - $a=0.5; $b=0.5; - } else { - $a=0; $b=0; - } - $graph->xaxis->scale->ticks->SetXLabelOffset($a); - $graph->SetTextScaleOff($b); - $graph->xaxis->scale->ticks->SupressMinorTickMarks(); - } - - function Stroke(&$img,&$xscale,&$yscale) { - $numpoints=count($this->coords[0]); - if( isset($this->coords[1]) ) { - if( count($this->coords[1])!=$numpoints ) - JpGraphError::Raise("Number of X and Y points are not equal. Number of X-points:".count($this->coords[1])." Number of Y-points:$numpoints"); - else - $exist_x = true; - } - else - $exist_x = false; - - if( $exist_x ) - $xs=$this->coords[1][0]; - else - $xs=0; - - $img->SetStartPoint($xscale->Translate($xs), - $yscale->Translate($this->coords[0][0])); - - if( $this->filled ) { - $cord[] = $xscale->Translate($xs); - $cord[] = $yscale->Translate($yscale->GetMinVal()); - } - $xt = $xscale->Translate($xs); - $yt = $yscale->Translate($this->coords[0][0]); - $cord[] = $xt; - $cord[] = $yt; - $yt_old = $yt; - - $this->value->Stroke($img,$this->coords[0][0],$xt,$yt); - - $img->SetColor($this->color); - $img->SetLineWeight($this->weight); - $img->SetLineStyle($this->line_style); - for( $pnts=1; $pnts<$numpoints; ++$pnts) { - if( $exist_x ) $x=$this->coords[1][$pnts]; - else $x=$pnts; - $xt = $xscale->Translate($x); - $yt = $yscale->Translate($this->coords[0][$pnts]); - $cord[] = $xt; - $cord[] = $yt; - if( $this->step_style ) { - $img->StyleLineTo($xt,$yt_old); - $img->StyleLineTo($xt,$yt); - } - else { - $y=$this->coords[0][$pnts]; - if( is_numeric($y) || (is_string($y) && $y != "-") ) { - $tmp1=$this->coords[0][$pnts]; - $tmp2=$this->coords[0][$pnts-1]; - if( is_numeric($tmp1) && (is_numeric($tmp2) || $tmp2=="-" ) ) { - $img->StyleLineTo($xt,$yt); - } - else { - $img->SetStartPoint($xt,$yt); - } - } - } - $yt_old = $yt; - - $this->StrokeDataValue($img,$this->coords[0][$pnts],$xt,$yt); - - } - if( $this->filled ) { - $cord[] = $xt; - $cord[] = $yscale->Translate($yscale->GetMinVal()); - $img->SetColor($this->fill_color); - $img->FilledPolygon($cord); - $img->SetColor($this->color); - $img->Polygon($cord); - } - $adjust=0; - if( $this->filled ) $adjust=2; - for($i=$adjust; $i<count($cord)-$adjust; $i+=2) { - if( is_numeric($this->coords[0][($i-$adjust)/2]) ) - $this->mark->Stroke($img,$cord[$i],$cord[$i+1]); - } - } -//--------------- -// PRIVATE METHODS -} // Class - - -//=================================================== -// CLASS AccLinePlot -// Description: -//=================================================== -class AccLinePlot extends Plot { - var $plots=null,$nbrplots=0,$numpoints=0; -//--------------- -// CONSTRUCTOR - function AccLinePlot($plots) { - $this->plots = $plots; - $this->nbrplots = count($plots); - $this->numpoints = $plots[0]->numpoints; - } - -//--------------- -// PUBLIC METHODS - function Legend(&$graph) { - foreach( $this->plots as $p ) - $p->Legend($graph); - } - - function Max() { - $accymax=0; - list($xmax,$dummy) = $this->plots[0]->Max(); - foreach($this->plots as $p) { - list($xm,$ym) = $p->Max(); - $xmax = max($xmax,$xm); - $accymax += $ym; - } - return array($xmax,$accymax); - } - - function Min() { - list($xmin,$ymin)=$this->plots[0]->Min(); - foreach( $this->plots as $p ) { - list($xm,$ym)=$p->Min(); - $xmin=Min($xmin,$xm); - $ymin=Min($ymin,$ym); - } - return array($xmin,$ymin); - } - - // To avoid duplicate of line drawing code here we just - // change the y-values for each plot and then restore it - // after we have made the stroke. We must do this copy since - // it wouldn't be possible to create an acc line plot - // with the same graphs, i.e AccLinePlot(array($pl,$pl,$pl)); - // since this method would have a side effect. - function Stroke(&$img,&$xscale,&$yscale) { - $img->SetLineWeight($this->weight); - // Allocate array - $coords[$this->nbrplots][$this->numpoints]=0; - for($i=0; $i<$this->numpoints; $i++) { - $coords[0][$i]=$this->plots[0]->coords[0][$i]; - $accy=$coords[0][$i]; - for($j=1; $j<$this->nbrplots; ++$j ) { - $coords[$j][$i] = $this->plots[$j]->coords[0][$i]+$accy; - $accy = $coords[$j][$i]; - } - } - for($j=$this->nbrplots-1; $j>=0; --$j) { - $p=$this->plots[$j]; - for( $i=0; $i<$this->numpoints; ++$i) { - $tmp[$i]=$p->coords[0][$i]; - $p->coords[0][$i]=$coords[$j][$i]; - } - $p->Stroke($img,$xscale,$yscale); - for( $i=0; $i<$this->numpoints; ++$i) - $p->coords[0][$i]=$tmp[$i]; - $p->coords[0][]=$tmp; - } - } -} // Class - -/* EOF */ -?> diff --git a/bin/news2html b/bin/news2html index b49901061e..661b9e0ecd 100755 --- a/bin/news2html +++ b/bin/news2html @@ -1,70 +1,111 @@ -#!/usr/local/bin/php +#!/usr/bin/env php <?php PHP_SAPI == 'cli' or die("Please run this script using the cli sapi"); // get args -if($argc < 3) { - echo "Use: $argv[0] /path/to/php-5.4.16/NEWS 5.4.16\n"; +$cmd = array_shift($_SERVER['argv']); + +if (count($_SERVER['argv']) < 2) { + echo "Use: $cmd /path/to/php-5.4.16/NEWS 5.4.16 [path/to/ChangeLog.php]\n"; exit(1); } +$news_file = array_shift($_SERVER['argv']); +$version = array_shift($_SERVER['argv']); +$changelog = @array_shift($_SERVER['argv']); + // find NEWS entry -$fp = fopen($argv[1], "r"); +$fp = fopen($news_file, "r"); if(!$fp) { - die("Can not open $argv[1]"); + die("Can not open {$news_file}\n"); } -$version = $argv[2]; + $inside = false; -$entries = array(); +$entries = []; while(($ln = fgets($fp)) !== false) { - if(preg_match("/(.. ... ....), PHP $version/", $ln, $m)) { + if (preg_match("/(.. ... ....),? PHP $version/", $ln, $m)) { // got entry start $inside = true; $date = strtr($m[1], " ", "-"); continue; } - if($inside) { - if(preg_match('/, PHP \d+.\d+.\d+/', $ln)) { - // next entry - we're done - break; - } - if($ln == "\n") { - $module = 'Core'; - continue; - } - if($ln[0] == '-') { - // module - $module = trim(substr($ln, 1), " \t\n:"); - } elseif(preg_match('/^\s+\.\s/',$ln)) { - $entries[$module][] = trim(preg_replace('/^\s+\.\s+/', '', $ln)); - } else { - // continued line - $c = count($entries[$module])-1; - $entries[$module][$c] = trim($entries[$module][$c] )." ".trim($ln); - } + if (!$inside) { continue; } + + if (preg_match('/, PHP \d+.\d+.\d+/', $ln)) { + // next entry - we're done + break; + } + + if ($ln == "\n") { + $module = 'Core'; + continue; + } + if ($ln[0] == '-') { + // module + $module = trim(substr($ln, 1), " \t\n:"); + } elseif (preg_match('/^\s+\.\s/',$ln)) { + $entries[$module][] = trim(preg_replace('/^\s+\.\s+/', '', $ln)); + } else { + // continued line + $c = count($entries[$module])-1; + $entries[$module][$c] = trim($entries[$module][$c] )." ".trim($ln); } } + +if ($changelog) { ob_start(); } + echo <<<HEAD -<a name="$version"></a><!-- {{{ $version --> +<section class="version" id="$version"><!-- {{{ $version --> <h3>Version $version</h3> -<b>$date</b> +<b><?php release_date('$date'); ?></b> <ul> HEAD; +$bug_map = [ + '/Fixed bug #([0-9]+)/' => '<?php bugfix(\1); ?'.'>', + '/Fixed PECL bug #([0-9]+)/' => '<?php peclbugfix(\1); ?'.'>', + '/Implemented FR #([0-9]+)/' => '<?php implemented(\1); ?'.'>', + '/GitHub PR #([0-9]+)/' => '<?php githubissuel(\'php/php-src\', \1); ?'.'>', + '/GH-([0-9]+)/' => '<?php githubissuel(\'php/php-src\', \1); ?'.'>', + '/GHSA-([0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4})/' + => '<?php githubsecurityl(\'php/php-src\', \'\1\'); ?'.'>', +]; + foreach($entries as $module => $items) { echo "<li>$module:\n<ul>\n"; foreach($items as $item) { // strip author - $item = preg_replace('/\.\s+\(.+?\)$/', '.', $item); + $item = preg_replace('/(\.(\s+\(CVE-\d+-\d+\))?)\s+\(.+?\)\s*$/', '\\1', $item); // encode HTML $item = htmlspecialchars($item, ENT_NOQUOTES); // convert bug numbers - $item = preg_replace( - array('/Fixed bug #([0-9]+)/', '/Fixed PECL bug #([0-9]+)/', '/FR #([0-9]+)/'), - array('<?php bugfix(\1); ?>', '<?php peclbugfix(\1); ?>', 'FR <?php bugl(\1); ?>'), - $item - ); + $item = preg_replace(array_keys($bug_map), array_values($bug_map), $item); echo " <li>$item</li>\n"; } echo "</ul></li>\n"; } -echo "</ul>\n<!-- }}} -->\n\n"; +echo "</ul>\n<!-- }}} --></section>\n\n"; + +if ($changelog) { + $contents = ob_get_clean(); + + $log = file_get_contents($changelog); + if (empty($log)) { + fprintf(STDERR, "Unable to read $changelog\n"); + exit(1); + } + + $parts = explode('.', $version, 3); + if (count($parts) < 2) { + fprintf(STDERR, "Unable to parse branch from $version\n"); + exit(1); + } + + $tag = "<a id=\"PHP_{$parts[0]}_{$parts[1]}\"></a>"; + if (strpos($log, $tag) === false) { + fprintf(STDERR, "Unable to find branch tag in ChangeLog\n"); + exit(1); + } + + $log = str_replace($tag, "$tag\n\n$contents", $log); + file_put_contents($changelog, $log); +} diff --git a/bin/verdana.ttf b/bin/verdana.ttf deleted file mode 100644 index 251b6e81f2..0000000000 Binary files a/bin/verdana.ttf and /dev/null differ diff --git a/cal.php b/cal.php deleted file mode 100644 index b0bb3c7f61..0000000000 --- a/cal.php +++ /dev/null @@ -1,380 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'cal.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; - -$site_header_config = array( - "current" => "community", - "css" => array('calendar.css'), - "layout_span" => 12, -); - -/* - This script serves three different forms of the calendar data: - a monthly view ($cm, $cy) - a daily view ($cm, $cd, $cy) - an individual item view ($id) - For the last two, the month view is also displayed beneath the - specifically requested data. If we encounter an error, we have - a fallback to display the actual month/year. -*/ - -$begun = FALSE; $errors = array(); -$id = isset($_GET['id']) ? (int) $_GET['id'] : 0; -$cy = isset($_GET['cy']) ? (int) $_GET['cy'] : 0; -$cm = isset($_GET['cm']) ? (int) $_GET['cm'] : 0; -$cd = isset($_GET['cd']) ? (int) $_GET['cd'] : 0; - -// If the year is not valid, set it to the current year -// This excludes all the "too old", or "too far in the future" -// calendar displays (so search engines can handle this page too) -if ($cy != 0 && !valid_year($cy)) { - $cy = date("Y"); -} - -// We need to look up an event with an ID -if ($id) { - // Try to load event by ID and display header and info for that event - if ($event = load_event($id)) { - site_header("Event: " . stripslashes(htmlentities($event['sdesc'], ENT_QUOTES | ENT_IGNORE, 'UTF-8')), $site_header_config); - display_event($event, 0); - $begun = TRUE; - } - // Unable to find event, put this to the error messages' list - else { - $errors[] = "There is no event for specified id ('".htmlentities($id, ENT_QUOTES | ENT_IGNORE, 'UTF-8')."')"; - } -} - -// Year, month and day specified, display a daily view -elseif ($cy && $cm && $cd) { - - // Check if date is valid - if (checkdate($cm,$cd,$cy)) { - - // Date integer for that day - $date = mktime(0, 0, 1, $cm, $cd, $cy); - - // Try to load events for that day, and display them all - if ($events = load_events($date)) { - $site_header_config = array('classes' => 'calendar calendar-day') + $site_header_config; - site_header("Events: ".date("F j, Y", $date), $site_header_config); - echo "<h2>", date("F j, Y", $date), "</h2>\n"; - foreach ($events as $event) { - display_event($event, 0); - echo "<br />"; - } - $begun = TRUE; - } - - // Unable to load events for that day - else { - $errors[] = "There are no events for the specified date (".date("F j, Y",$date).")."; - } - } - - // Wrong date specified - else { - $errors[] = "The specified date (".htmlentities("$cy/$cm/$cd", ENT_QUOTES | ENT_IGNORE, 'UTF-8').") was not valid."; - unset($cm); unset($cd); unset($cy); - } -} - -// Check if month and year is valid -if ($cm && $cy && !checkdate($cm,1,$cy)) { - $errors[] = "The specified year and month (".htmlentities("$cy, $cm", ENT_QUOTES | ENT_IGNORE, 'UTF-8').") are not valid."; - unset($cm); unset($cy); -} - -// Give defaults for the month and day values if they were invalid -if (!isset($cm) || $cm == 0) { $cm = date("m"); } -if (!isset($cy) || $cy == 0) { $cy = date("Y"); } - -// Start of the month date -$date = mktime(0, 0, 1, $cm, 1, $cy); - -if (!$begun) { - site_header("Events: ".date("F Y", $date), $site_header_config); -?> -<div class="tip"> - <p> - If you would like to suggest an upcoming event to be listed on this - calendar, you can use <a href="submit-event.php">our event submission - form</a>. - </p> - <p> - You can click on each of the events for details, or on the number for a day - to get the details for all of the events taking place that day. - </p> -</div> -<?php -} - -// Get events list for a whole month -$events = load_events($date, TRUE); - -// If there was an error, or there are no events, this is an error -if ($events === FALSE || count($events) == 0) { - $errors[] = "No events found for this month"; -} - -// If there were any error, display them -if (count($errors) > 0) { - display_errors($errors); - site_footer(); - exit; -} - -// Beginning and end of this month -$bom = mktime(0, 0, 1, $cm, 1, $cy); -$eom = mktime(0, 0, 1, $cm+1, 0, $cy); - -// Link to previous month (but do not link to too early dates) -$lm = mktime(0, 0, 1, $cm, 0, $cy); -if (valid_year(date("Y", $lm))) { - $prev_link = '<a href="/cal.php' . strftime('?cm=%m&cy=%Y">%B, %Y</a>', $lm); -} else { - $prev_link = ' '; -} - -// Link to next month (but do not link to too early dates) -$nm = mktime(0, 0, 1, $cm+1, 1, $cy); -if (valid_year(date("Y", $nm))) { - $next_link = '<a href="/cal.php' . strftime('?cm=%m&cy=%Y">%B, %Y</a>', $nm); -} else { - $next_link = ' '; -} - -// Print out navigation links for previous and next month -echo '<br /><table id="calnav" width="100%" border="0" cellspacing="0" cellpadding="3">', - "\n<tr>", '<td align="left" width="33%">', $prev_link, '</td>', - '<td align="center" width="33%">', strftime('<b>%B, %Y</b></td>', $bom), - '<td align="right" width="33%">', $next_link, "</td></tr>\n</table>\n"; - -// Begin the calendar table -echo '<table id="cal" width="100%" border="1" cellspacing="0" cellpadding="3">', - "\n",'<tr>',"\n"; - -// Print out headers for weekdays -for ($i = 0; $i < 7; $i++) { - echo '<th width="14%">', date("l",mktime(0,0,1,4,$i+1,2001)), "</th>\n"; -} -echo "</tr>\n<tr>"; - -// Generate the requisite number of blank days to get things started -for ($days = $i = date("w",$bom); $i > 0; $i--) { - echo '<td class="notaday"> </td>'; -} - -// Print out all the days in this month -for ($i = 1; $i <= date("t",$bom); $i++) { - - // Print out day number and all events for the day - echo '<td><a class="day" href="/cal.php', "?cm=$cm&cd=$i&cy=$cy", - '">',$i,'</a>'; - display_events_for_day(date("Y-m-",$bom).sprintf("%02d",$i), $events); - echo '</td>'; - - // Break HTML table row if at end of week - if (++$days % 7 == 0) echo "</tr>\n<tr>"; -} - -// Generate the requisite number of blank days to wrap things up -for (; $days % 7; $days++) { - echo '<td class="notaday"> </td>'; -} - -// End HTML table of events -echo "</tr>\n</table>\n"; - -// Print out common footer -site_footer(); - -// Generate the date on which a recurring event falls for a given month -// $bom and $eom are the first and last day of the month to look at -function date_for_recur($recur, $day, $bom, $eom) -{ - - // $day == 1 == 'Sunday' == date("w",'some sunday')+1 - - // ${recur}th $day of the month - if ($recur > 0) { - $bomd = date("w", $bom) + 1; - $days = (($day - $bomd + 7) % 7) + (($recur - 1) * 7); - return mktime(0,0,1, date("m",$bom), $days + 1, date("Y",$bom)); - } - - // ${recur}th to last $day of the month - else { - $eomd = date("w",$eom) + 1; - $days = (($eomd - $day + 7) % 7) + ((abs($recur) - 1) * 7); - return mktime(0,0,1, date("m",$bom)+1, -$days, date("Y",$bom)); - } -} - -// Display a <div> for each of the events that are on a given day -function display_events_for_day($day, $events) -{ - // For preservation of state in the links - global $cm, $cy, $COUNTRY; - - // For all events, try to find the events for this day - foreach ($events as $event) { - - // Multiday event, which still lasts, or the event starts today - if (($event['type'] == 2 && $event['start'] <= $day && $event['end'] >= $day) - || ($event['start'] == $day)) { - echo '<div class="event">', - ($COUNTRY == $event['country'] ? "<strong>" : ""), - '<a class="cat' . $event['category'] . '" href="/cal.php', - "?id=$event[id]&cm=$cm&cy=$cy", '">', - stripslashes(htmlentities($event['sdesc'], ENT_QUOTES | ENT_IGNORE, 'UTF-8')), - '</a>', - ($COUNTRY == $event['country'] ? "</strong>" : ""), - '</div>'; - } - } -} - -// Find a single event in the events file by ID -function load_event($id) -{ - // Open events CSV file, return on error - $fp = @fopen("backend/events.csv",'r'); - if (!$fp) { return FALSE; } - - // Read as we can, event by event - while (!feof($fp)) { - - $event = read_event($fp); - - // Return with the event, if it's ID is the one - // we search for (also close the file) - if ($event !== FALSE && $event['id'] == $id) { - fclose($fp); - return $event; - } - } - - // Close file, and return sign of failure - fclose($fp); - return FALSE; -} - -// Load a list of events. Either for a particular day ($from) or a whole -// month (if second parameter specified with TRUE) -function load_events($from, $whole_month = FALSE) -{ - // Take advantage of the equality behavior of this date format - $from_date = date("Y-m-d", $from); - $bom = mktime(0, 0, 1, date("m",$from), 1, date("Y",$from)); - $eom = mktime(0, 0, 1, date("m",$from) + 1, 0, date("Y",$from)); - $to_date = date("Y-m-d", $whole_month ? $eom : $from); - - // Set arrays to their default - $events = $seen = array(); - - // Try to open the events file for reading, return if unable to - $fp = @fopen("backend/events.csv",'r'); - if (!$fp) { return FALSE; } - - // For all events, read in the event and check it if fits our scope - while (!feof($fp)) { - - // Read the event data into $event, or continue with next - // line, if there was an error with this line - if (($event = read_event($fp)) === FALSE) { - continue; - } - - // Keep event's seen list up to date - // (for repeating events with the same ID) - if (!isset($seen[$event['id']])) { $seen[$event['id']] = 1; } - else { continue; } - - // Check if event is in our scope, depending on type - switch ($event['type']) { - - // Recurring event - case 3: - $date = date_for_recur($event['recur'], $event['recur_day'], $bom, $eom); - $event['start'] = date("Y-m-d", $date); - // Fall through. Now it is just like a single-day event - - // Single-day event - case 1: - if ($event['start'] >= $from_date && $event['start'] <= $to_date) { - $events[] = $event; - } - break; - - // Multi-day event - case 2: - if (($event['start'] >= $from_date && $event['start'] <= $to_date) - || ($event['end'] >= $from_date && $event['end'] <= $to_date) - || ($event['start'] <= $from_date && $event['end'] >= $to_date)) { - $events[] = $event; - } - break; - } - } - - // Close file and return with results - fclose($fp); - return $events; -} - -// Reads an event from the event listing -// Parameter: opened event listing file -function read_event($fp) -{ - // We were unable to read a line from the file, return - if (($linearr = fgetcsv($fp, 8192)) === FALSE) { - return FALSE; - } - - // Corrupt line in CSV file - if (count($linearr) < 13) { return FALSE; } - - // Get components - list( - $day, $month, $year, $country, - $sdesc, $id, $ldesc, $url, $recur, $tipo, $sdato, $edato, $category - ) = $linearr; - - // Get info on recurring event - @list($recur, $recur_day) = explode(":", $recur, 2); - - // Return with SQL-resultset like array - return array( - 'id' => $id, - 'type' => $tipo, - 'start' => $sdato, - 'end' => $edato, - 'recur' => $recur, - 'recur_day' => $recur_day, - 'sdesc' => $sdesc, - 'url' => $url, - 'ldesc' => base64_decode($ldesc), - 'country' => $country, - 'category' => $category, - ); -} - -// We would not like to allow any year to be viewed, because -// it would fool some [not clever enough] search engines -function valid_year($year) -{ - // Get current year and compare to one sent in - $current_year = date("Y"); - - // We only allow this and the next year for displays - if ($year != $current_year && $year != $current_year+1) { - return FALSE; - } - - // The year is all right - return TRUE; -} - -?> diff --git a/composer.json b/composer.json new file mode 100644 index 0000000000..51d3e1f6ae --- /dev/null +++ b/composer.json @@ -0,0 +1,40 @@ +{ + "name": "php/web-php", + "description": "The www.php.net site.", + "license": "proprietary", + "type": "project", + "homepage": "https://www.php.net/", + "support": { + "source": "https://github.com/php/web-php" + }, + "require": { + "php": "~8.4.0" + }, + "require-dev": { + "ext-curl": "*", + "friendsofphp/php-cs-fixer": "^3.95.18", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.2", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^11.5.50" + }, + "autoload": { + "psr-4": { + "phpweb\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "phpweb\\Test\\": "tests/" + } + }, + "config": { + "platform": { + "php": "8.4.0" + }, + "sort-packages": true, + "allow-plugins": { + "phpstan/extension-installer": true + } + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000000..71194cf0f0 --- /dev/null +++ b/composer.lock @@ -0,0 +1,4643 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "66f95196f6d2f23b9bbcf5edb4b17d69", + "packages": [], + "packages-dev": [ + { + "name": "clue/ndjson-react", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/clue/reactphp-ndjson.git", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "react/stream": "^1.2" + }, + "require-dev": { + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "react/event-loop": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\React\\NDJson\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + } + ], + "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", + "homepage": "https://github.com/clue/reactphp-ndjson", + "keywords": [ + "NDJSON", + "json", + "jsonlines", + "newline", + "reactphp", + "streaming" + ], + "support": { + "issues": "https://github.com/clue/reactphp-ndjson/issues", + "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2022-12-23T10:58:28+00:00" + }, + { + "name": "composer/pcre", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "d5a341b3fb61f3001970940afb1d332968a183ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/d5a341b3fb61f3001970940afb1d332968a183ed", + "reference": "d5a341b3fb61f3001970940afb1d332968a183ed", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<2.2.2" + }, + "require-dev": { + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^9" + }, + "type": "library", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.4.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2026-06-07T11:47:49+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2025-08-20T19:15:30+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-05-06T16:37:16+00:00" + }, + { + "name": "ergebnis/agent-detector", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/agent-detector.git", + "reference": "e211f17928c8b95a51e06040792d57f5462fb271" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/agent-detector/zipball/e211f17928c8b95a51e06040792d57f5462fb271", + "reference": "e211f17928c8b95a51e06040792d57f5462fb271", + "shasum": "" + }, + "require": { + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 || ~8.6.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.51.0", + "ergebnis/license": "^2.7.0", + "ergebnis/php-cs-fixer-config": "^6.60.2", + "ergebnis/phpstan-rules": "^2.13.1", + "ergebnis/phpunit-slow-test-detector": "^2.24.0", + "ergebnis/rector-rules": "^1.18.1", + "fakerphp/faker": "^1.24.1", + "infection/infection": "^0.26.6", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.54", + "phpstan/phpstan-deprecation-rules": "^2.0.4", + "phpstan/phpstan-phpunit": "^2.0.16", + "phpstan/phpstan-strict-rules": "^2.0.10", + "phpunit/phpunit": "^9.6.34", + "rector/rector": "^2.4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + }, + "composer-normalize": { + "indent-size": 2, + "indent-style": "space" + } + }, + "autoload": { + "psr-4": { + "Ergebnis\\AgentDetector\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides a detector for detecting the presence of an agent.", + "homepage": "https://github.com/ergebnis/agent-detector", + "support": { + "issues": "https://github.com/ergebnis/agent-detector/issues", + "security": "https://github.com/ergebnis/agent-detector/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/agent-detector" + }, + "time": "2026-05-07T08:19:07+00:00" + }, + { + "name": "evenement/evenement", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/igorw/evenement.git", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^9 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Evenement\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Événement is a very simple event dispatching library for PHP", + "keywords": [ + "event-dispatcher", + "event-emitter" + ], + "support": { + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/v3.0.2" + }, + "time": "2023-08-08T05:53:35+00:00" + }, + { + "name": "fidry/cpu-core-counter", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2025-08-14T07:29:31+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v3.95.18", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", + "reference": "a8b4e4216faabf67f4e96110ee99a48c96e4e683" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a8b4e4216faabf67f4e96110ee99a48c96e4e683", + "reference": "a8b4e4216faabf67f4e96110ee99a48c96e4e683", + "shasum": "" + }, + "require": { + "clue/ndjson-react": "^1.3", + "composer/semver": "^3.4", + "composer/xdebug-handler": "^3.0.5", + "ergebnis/agent-detector": "^1.2", + "ext-filter": "*", + "ext-hash": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "fidry/cpu-core-counter": "^1.3", + "php": "^7.4 || ^8.0", + "react/child-process": "^0.6.6", + "react/event-loop": "^1.5", + "react/socket": "^1.16", + "react/stream": "^1.4", + "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0 || ^9.0", + "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", + "symfony/polyfill-mbstring": "^1.37", + "symfony/polyfill-php80": "^1.37", + "symfony/polyfill-php81": "^1.37", + "symfony/polyfill-php84": "^1.37", + "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0", + "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0" + }, + "require-dev": { + "facile-it/paraunit": "^1.3.1 || ^2.11.0", + "infection/infection": "^0.32.7", + "justinrainbow/json-schema": "^6.10.0", + "keradus/cli-executor": "^2.3", + "mikey179/vfsstream": "^1.6.12", + "php-coveralls/php-coveralls": "^2.9.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.8", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.8", + "phpunit/phpunit": "^9.6.35 || ^10.5.64 || ^11.5.56 || ^12.5.31 || ^13.0.6", + "symfony/polyfill-php85": "^1.38", + "symfony/var-dumper": "^5.4.48 || ^6.4.36 || ^7.4.8 || ^8.1.1", + "symfony/yaml": "^5.4.53 || ^6.4.41 || ^7.4.13 || ^8.1.1" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "exclude-from-classmap": [ + "src/**/Internal/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz RumiÅ„ski", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "keywords": [ + "Static code analysis", + "fixer", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.18" + }, + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2026-07-30T15:46:02+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.7.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" + }, + "time": "2025-12-06T11:56:16+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpstan/extension-installer", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/phpstan/extension-installer.git", + "reference": "85e90b3942d06b2326fba0403ec24fe912372936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", + "reference": "85e90b3942d06b2326fba0403ec24fe912372936", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0", + "php": "^7.2 || ^8.0", + "phpstan/phpstan": "^1.9.0 || ^2.0" + }, + "require-dev": { + "composer/composer": "^2.0", + "php-parallel-lint/php-parallel-lint": "^1.2.0", + "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PHPStan\\ExtensionInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "PHPStan\\ExtensionInstaller\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Composer plugin for automatic installation of PHPStan extensions", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpstan/extension-installer/issues", + "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" + }, + "time": "2024-09-04T20:21:43+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "2.2.7", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/692db47b9dddb0487934e5236e77d48594aef921", + "reference": "692db47b9dddb0487934e5236e77d48594aef921", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "OndÅ™ej Mirtes" + }, + { + "name": "Markus Staab" + }, + { + "name": "Vincent Langlet" + } + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2026-07-29T17:39:32+00:00" + }, + { + "name": "phpstan/phpstan-phpunit", + "version": "2.0.18", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-phpunit.git", + "reference": "f5dc20ff8082d02339b60cab68ec3eb0d859fb30" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/f5dc20ff8082d02339b60cab68ec3eb0d859fb30", + "reference": "f5dc20ff8082d02339b60cab68ec3eb0d859fb30", + "shasum": "" + }, + "require": { + "phar-io/version": "^3.2", + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.2.3" + }, + "conflict": { + "phpunit/phpunit": "<7.0" + }, + "require-dev": { + "nikic/php-parser": "^5", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "shipmonk/name-collision-detector": "^2.1" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "extension.neon", + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPUnit extensions and rules for PHPStan", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/phpstan/phpstan-phpunit/issues", + "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.18" + }, + "time": "2026-07-04T12:16:09+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "11.0.12", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.7.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.1", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.3.1" + }, + "require-dev": { + "phpunit/phpunit": "^11.5.46" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "11.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2025-12-24T07:01:01+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "5.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903", + "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "type": "tidelift" + } + ], + "time": "2026-02-02T13:52:54+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^11.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:07:44+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:08:43+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "7.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:09:35+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "11.5.55", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/adc7262fccc12de2b30f12a8aa0b33775d814f00", + "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.12", + "phpunit/php-file-iterator": "^5.1.1", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.3", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.1", + "sebastian/exporter": "^6.3.2", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/recursion-context": "^6.0.3", + "sebastian/type": "^5.1.3", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "11.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.55" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2026-02-18T12:37:06+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "react/cache", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/cache.git", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async, Promise-based cache interface for ReactPHP", + "keywords": [ + "cache", + "caching", + "promise", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.2.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2022-11-30T15:59:55+00:00" + }, + { + "name": "react/child-process", + "version": "v0.6.7", + "source": { + "type": "git", + "url": "https://github.com/reactphp/child-process.git", + "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3", + "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/event-loop": "^1.2", + "react/stream": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", + "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\ChildProcess\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Event-driven library for executing child processes with ReactPHP.", + "keywords": [ + "event-driven", + "process", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/child-process/issues", + "source": "https://github.com/reactphp/child-process/tree/v0.6.7" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-12-23T15:25:20+00:00" + }, + { + "name": "react/dns", + "version": "v1.14.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/dns.git", + "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3", + "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "react/cache": "^1.0 || ^0.6 || ^0.5", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.7 || ^1.2.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3 || ^2", + "react/promise-timer": "^1.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Dns\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async DNS resolver for ReactPHP", + "keywords": [ + "async", + "dns", + "dns-resolver", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.14.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-11-18T19:34:28+00:00" + }, + { + "name": "react/event-loop", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/event-loop.git", + "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a", + "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + }, + "suggest": { + "ext-pcntl": "For signal handling support when using the StreamSelectLoop" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\EventLoop\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "keywords": [ + "asynchronous", + "event-loop" + ], + "support": { + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.6.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-11-17T20:46:25+00:00" + }, + { + "name": "react/promise", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpstan/phpstan": "1.12.28 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "React\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-08-19T18:57:03+00:00" + }, + { + "name": "react/socket", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/socket.git", + "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08", + "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/dns": "^1.13", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3.3 || ^2", + "react/promise-stream": "^1.4", + "react/promise-timer": "^1.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Socket\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": [ + "Connection", + "Socket", + "async", + "reactphp", + "stream" + ], + "support": { + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.17.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-11-19T20:47:34+00:00" + }, + { + "name": "react/stream", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/stream.git", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.2" + }, + "require-dev": { + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "keywords": [ + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" + ], + "support": { + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.4.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-06-11T12:45:25+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:41:36+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-03-19T07:56:08+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:45:54+00:00" + }, + { + "name": "sebastian/comparator", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2026-01-24T09:26:40+00:00" + }, + { + "name": "sebastian/complexity", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:49:50+00:00" + }, + { + "name": "sebastian/diff", + "version": "6.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:53:05+00:00" + }, + { + "name": "sebastian/environment", + "version": "7.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" + } + ], + "time": "2025-05-21T11:55:47+00:00" + }, + { + "name": "sebastian/exporter", + "version": "6.3.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" + } + ], + "time": "2025-09-24T06:12:51+00:00" + }, + { + "name": "sebastian/global-state", + "version": "7.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:57:36+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:58:38+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:00:13+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:01:32+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "6.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" + } + ], + "time": "2025-08-13T04:42:22+00:00" + }, + { + "name": "sebastian/type", + "version": "5.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" + } + ], + "time": "2025-08-09T06:55:48+00:00" + }, + { + "name": "sebastian/version", + "version": "5.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-10-09T05:16:32+00:00" + }, + { + "name": "staabm/side-effects-detector", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "symfony/console", + "version": "v8.0.15", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "7327288efcaf02a3838d2de0ae23915d64713e14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/7327288efcaf02a3838d2de0ae23915d64713e14", + "reference": "7327288efcaf02a3838d2de0ae23915d64713e14", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.4|^8.0" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/lock": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v8.0.15" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-07-27T13:52:45+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.7.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d", + "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-06-05T06:23:12+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v8.0.15", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "4ad08142e63219fdcb75ea1a0ac1c9e5c0fc7686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4ad08142e63219fdcb75ea1a0ac1c9e5c0fc7686", + "reference": "4ad08142e63219fdcb75ea1a0ac1c9e5c0fc7686", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/security-http": "<7.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.15" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-07-22T15:20:43+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.7.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c7de7a00ffb67842132da02ea92988a39ccd9f4e", + "reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-06-05T06:23:12+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v8.0.15", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "3d190c51f717870eed9aa5e9c7cb927ffc911d05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/3d190c51f717870eed9aa5e9c7cb927ffc911d05", + "reference": "3d190c51f717870eed9aa5e9c7cb927ffc911d05", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v8.0.15" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-07-22T15:20:43+00:00" + }, + { + "name": "symfony/finder", + "version": "v8.0.14", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "4a93f8c95fabc35fcfd2f5dbb29d138d3fe98f43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/4a93f8c95fabc35fcfd2f5dbb29d138d3fe98f43", + "reference": "4a93f8c95fabc35fcfd2f5dbb29d138d3fe98f43", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "require-dev": { + "symfony/filesystem": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v8.0.14" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-06-27T08:56:37+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b48bce0a70b914f6953dafbd10474df232ed4de8", + "reference": "b48bce0a70b914f6953dafbd10474df232ed4de8", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T16:19:22+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.41.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/bb899c1db0aa8127dc3afe8cda4a67eb24915f8d", + "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.41.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-07-28T08:25:59+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.38.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-25T13:48:31+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.38.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6", + "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-27T06:59:30+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T16:19:22+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.38.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "6bfb9c766cacffbc8e118cb87217d08ed84e5cd7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/6bfb9c766cacffbc8e118cb87217d08ed84e5cd7", + "reference": "6bfb9c766cacffbc8e118cb87217d08ed84e5cd7", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T12:45:58+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.38.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T12:51:13+00:00" + }, + { + "name": "symfony/process", + "version": "v8.0.13", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "4f23d9c7637ead9ed19f697fe93cb87fd9b379d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/4f23d9c7637ead9ed19f697fe93cb87fd9b379d4", + "reference": "4f23d9c7637ead9ed19f697fe93cb87fd9b379d4", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v8.0.13" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-23T18:05:53+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.7.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/c0a284bab1ed8aa0417e3d69250ab437739563a0", + "reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.7.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-06-16T09:55:08+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "85954ed72d5440ea4dc9a10b7e49e01df766ffa3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/85954ed72d5440ea4dc9a10b7e49e01df766ffa3", + "reference": "85954ed72d5440ea4dc9a10b7e49e01df766ffa3", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/service-contracts": "^2.5|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/string", + "version": "v8.0.15", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "1a6a4245943af4dabe57d269bd0903f9d140a15e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/1a6a4245943af4dabe57d269bd0903f9d140a15e", + "reference": "1a6a4245943af4dabe57d269bd0903f9d140a15e", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-intl-grapheme": "^1.33", + "symfony/polyfill-intl-normalizer": "^1.0", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v8.0.15" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-07-28T07:34:23+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2025-11-17T20:03:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "~8.4.0" + }, + "platform-dev": { + "ext-curl": "*" + }, + "platform-overrides": { + "php": "8.4.0" + }, + "plugin-api-version": "2.9.0" +} diff --git a/conferences/index.php b/conferences/index.php deleted file mode 100644 index 8306f7786a..0000000000 --- a/conferences/index.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'conferences/index.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-events.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-news.inc'; - - -$layout_workaround = <<< EOT -<div id="conferencesSidebar"> - <div id="contact"> - <p> - Are you planning a PHP related conference and want it listed here? - <a href="mailto:php-webmaster@lists.php.net">Let us know.</a> - </p> - </div> - $RSIDEBAR_DATA -</div> -EOT; - -unset($RSIDEBAR_DATA); - -site_header("PHP Conferences around the world", array("layout_workaround" => $layout_workaround, 'headtags' => '<link rel="alternate" type="application/atom+xml" title="PHP: Conference announcements" href="' . $MYSITE . 'feed.atom" />')); - -print_news($NEWS_ENTRIES, array("conferences", "cfp"), 10); - -site_footer( - array("atom" => "/feed.atom") // Add a link to the feed -); - diff --git a/contact.php b/contact.php deleted file mode 100644 index ce00f362cd..0000000000 --- a/contact.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'contact.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -site_header("Contact", array("current" => "community")); -?> - -<a name="ads"></a> -<h1>Advertising at PHP.net and mirror sites</h1> - -<p> - The maintainers of PHP.net and the mirror sites are definitely - <em>not interested</em> in graphical banner or text ad placement - deals. -</p> - -<a name="contact"></a> -<h1>Contact</h1> - -<p> - Please report problems you find on PHP.net and mirror sites in - <a href="http://bugs.php.net/">the bug system</a>. Categorize the bug - as "PHP.net Website Problem". This allows us to follow the progress of - the problem until it is fixed. -</p> -<p> - For security related issues (in PHP or our websites) please contact - <a href="mailto:security@php.net">security@php.net</a>. -</p> -<p> - If you have problems setting up PHP or using some functionality, - or especially a program written in PHP, please ask your question on a - <a href="/support.php">support channel</a>, since the webmasters will - not answer any such questions. -</p> -<p> - If you would like to contact the webmasters for some other reason, please - write to <a href="mailto:php-webmaster@lists.php.net">php-webmaster@lists.php.net</a>. - Note that this address is mapped to a mailing list and a newsgroup, so - <strong>every message you send will be stored in public archives at multiple - servers</strong>. -</p> - -<?php site_footer(); ?> diff --git a/copyright.php b/copyright.php deleted file mode 100644 index 918e4564a9..0000000000 --- a/copyright.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'copyright.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -$SIDEBAR_DATA = ' -<a name="license"></a> -<h3>PHP License</h3> -<p> - For information on the PHP License (i.e. using the PHP language), - <a href="/license/">see our licensing information page</a>. -</p> -'; -site_header("Copyright", array("current" => "footer")); -?> - -<a name="copyright"></a> -<h1>Website Copyright</h1> - -<p> - The code, text, PHP logo, and graphical elements on this website - and the mirror websites (the "Site") are Copyright © 2001-<?php echo date("Y") ?> - The PHP Group. All rights reserved. -</p> - -<p> - Except as otherwise indicated elsewhere on this Site, you are free - to view, download and print the documents and information available - on this Site subject to the following conditions: -</p> - -<ul> - <li> - You may not remove any copyright or other proprietary notices - contained in the documents and information on this Site. - </li> - <li> - The rights granted to you constitute a license and not a transfer - of title. - </li> - <li> - The rights specified above to view, download and print the - documents and information available on this Site are not applicable - to the graphical elements, design or layout of this Site. These - elements of the Site are protected by trade dress and other laws - and may not be copied or imitated in whole or in part. - </li> -</ul> - -<p> - For more information on the PHP Group and the PHP project, please see - <a href="http://php.net/">the PHP homepage</a>. -</p> - -<?php site_footer(); diff --git a/credits.php b/credits.php deleted file mode 100644 index d2dd19e572..0000000000 --- a/credits.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'credits.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; - -// Put credits information to $credits -ob_start(); -phpcredits(); -$credits = ob_get_contents(); -ob_end_clean(); - -// Strip all but the body and drop styles -preg_match('!<body.*?>(.*)</body>!ims', $credits, $m); -$credits = preg_replace('!<style.*?>.*</style>!ims', '', $m[1]); - -// Fix for PHP bug #24839, -// which affects the page layout -$credits = str_replace( - array("</center>", "& "), - array("</div>", "& "), - $credits -); - -// If there is something left, print it out -if ($credits) { - site_header("Credits", array("current" => "community", 'css' => array('credits.css'))); - echo $credits; - site_footer(); -} - -?> diff --git a/crossdomain.xml b/crossdomain.xml deleted file mode 100644 index c2f213f50b..0000000000 --- a/crossdomain.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd"> - <allow-access-from domain="*.php.net" /> - <site-control permitted-cross-domain-policies="master-only"/> - <allow-http-request-headers-from domain="*.php.net" headers="*" secure="true"/> -</cross-domain-policy> diff --git a/cvsup.php b/cvsup.php deleted file mode 100644 index 9bdafa3ced..0000000000 --- a/cvsup.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'cvsup.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -$SIDEBAR_DATA = ' -<h3>What is CVS?</h3> -<p> - You can find more information about CVS, and - download clients for most major platforms, at - <a href="http://ximbiot.com/cvs/wiki/index.php">the CVS Wiki</a>. -</p> - -<h3>PHP.net CVS access</h3> -<p> - If you would like to grab PHP sources or other PHP.net - hosted project data from PHP.net, read our - <a href="/anoncvs.php">anonymous CVS</a> instructions. - If you would like to join PHP development or would like to - contribute to the PHP documentation, contact the relevant - group. You will need <a href="/cvs-php.php">your own CVS account</a> - to contribute. -</p> - -<h3>Source and binary snapshots</h3> -<p> - You may also be interested in a PHP snapshot, see - <a href="http://snaps.php.net/">snaps.php.net</a>. - Compiled snapshots for Windows users are also included. -</p> -'; -site_header("Using CVSup to maintain a local CVS repository", array("current" => "help")); -?> - -<h1>Using CVSup To Maintain A Local CVS Repository</h1> - -<p> - In addition to <a href="/anoncvs.php">anonymous CVS</a>, we also provide - read-only access to our CVS repository by using CVSup. While CVSup is faster - at updating large trees, it is not as widely available as the standard CVS - client. We will describe now how you can use CVSup. -</p> - -<ol> - <li> - Download the appropriate binary distribution from - <a href="http://www.cvsup.org/">the CVSup homepage</a>. - </li> - <li> - Follow the instructions in the Install file of the binary distribution - </li> - <li> - Create a php.cvsup file containing the following content: -<pre class="info">*default host=CVSup.php.net -*default base=/usr/src/php -*default release=cvs -*default compress -*default tag=. -*default delete use-rel-suffix -php-src</pre> - This will cause the php-src tree to be stored in <code>/usr/src/php</code> - (you need to create that directory manually). - </li> - <li> - At a command prompt, simply type: - <code>cvsup php.cvsup</code> - </li> - <li> - If you are behind a firewall, you might need to use: - <code>cvsup -P - php.cvsup</code> - </li> - <li> - To build PHP, you need to install a few utilities (GNU autoconf, - libtool, bison). Cd into <code>php-src</code> and run - <code>./buildconf</code>. - </li> -</ol> - -<?php site_footer(); diff --git a/distributions b/distributions deleted file mode 160000 index 703b7b0367..0000000000 --- a/distributions +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 703b7b0367bb661e9d5ce2ec6f1e9f57f3418b84 diff --git a/docs.php b/docs.php deleted file mode 100644 index 6d630ff821..0000000000 --- a/docs.php +++ /dev/null @@ -1,119 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'docs.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; - -$SIDEBAR_DATA=' -<h3>FAQ</h3> -<p> - The <a href="/FAQ.php">PHP FAQ</a> is your first stop for general - information and those questions that seem to be on most people\'s minds. - If you have licensing questions, see the separate - <a href="/license/">License FAQ</a>. -</p> - -<h3>Changelog</h3> -<p> - You can also find the <a href="/ChangeLog-4.php">PHP 4 Changelog</a> or - the <a href="/ChangeLog-5.php">PHP 5 Changelog</a> useful, - if you would like to look up changes between various versions of PHP. -</p> - -<h3>Books</h3> -<p> - There are literally thousands of books available in - English and numerous other languages. You can easily search at - <a href="http://www.amazon.com/exec/obidos/external-search?mode=books&keyword=PHP&tag=wwwphpnet">Amazon.com</a>, or - go directly to - <a href="http://www.amazon.de/exec/obidos/redirect-home/wwwphpnet07">Amazon.de</a> - or <a href="http://www.amazon.fr/exec/obidos/redirect-home/wwwphpnet0f">Amazon.fr</a> - and search there. -</p> - -'; - -site_header("Documentation", array("current" => "docs")); - -?> - -<h1>Documentation</h1> - -<p> - The PHP Manual is available online in a selection of languages. - Please pick a language from the list below. -</p> - -<p> - You can learn how to integrate our online manual with various tools, including - your web browser, on our <a href="tips.php">quick reference tips</a> page. - You can also get more information about php.net URL shortcuts by visiting our - <a href="urlhowto.php">URL howto page</a>. -</p> - -<p> - Note, that many languages are just under translation, and - the untranslated parts are still in English. Also some translated - parts might be outdated. The translation teams are open to - contributions. -</p> - -<table border="0" cellpadding="3" cellspacing="2" class="standard"> - <tr> - <th>Formats</th> - <th>Destinations</th> - </tr> - <tr> - <th class="sub">View Online</th> - <td> -<?php - -// List all manual languages viewable online -$lastlang = end($ACTIVE_ONLINE_LANGUAGES); -foreach ($ACTIVE_ONLINE_LANGUAGES as $langcode => $langname) { - if (!file_exists($_SERVER["DOCUMENT_ROOT"] . "/manual/{$langcode}/index.php")) { - continue; - } - - // Make preferred language bold - if ($langcode == $LANG) { echo "<strong>"; } - - echo '<a href="/manual/' . $langcode . '/">' . $langname . '</a>'; - echo ($lastlang != $langname) ? ",\n" : "\n"; - - if ($langcode == $LANG) { echo "</strong>"; } -} - -?> - </td> - </tr> - <tr> - <th class="sub">Downloads</th> - <td> - For downloadable formats, please visit our - <a href="download-docs.php">documentation downloads</a> page. - </td> - </tr> -</table> - -<h2>More documentation</h2> -<ul> - <li> - If you are interested in how the documentation is edited and translated, - you should read the <a href="https://wiki.php.net/doc/howto">Documentation HOWTO</a>. - </li> - <li> - <a href="http://gtk.php.net/docs.php">PHP-GTK related documentation</a> - is hosted on the PHP-GTK website. - </li> - <li> - <a href="http://pear.php.net/manual/">Documentation of PEAR and the various - packages</a> can be found on a separate server. - </li> - <li> - You can still read a copy of the original <a href="/manual/phpfi2.php">PHP/FI - 2.0 Manual</a> on our site, which we only host for historical purposes. - The same applies to the <a href="/manual/php3.php">PHP 3 Manual</a>. - </li> -</ul> - -<?php site_footer(); diff --git a/download-docs.php b/download-docs.php deleted file mode 100644 index a72045ac83..0000000000 --- a/download-docs.php +++ /dev/null @@ -1,248 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'download-docs.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; - -if (!empty($_GET['active_langs'])) { - echo serialize($ACTIVE_ONLINE_LANGUAGES); - exit; -} - -$SIDEBAR_DATA=' -<h3>Online documentation</h3> -<p> - You can read the - <a href="/docs.php">documentation online</a> - in various languages. The Documentation HOWTO, - and archive manuals are also available - from our <a href="/docs.php">documentation page</a>. -</p> - -<h3>Other formats</h3> -<p> - The manual is also available via *nix style man pages. To - install and use: -</p> -<ul class="toc"> - <li>Install: pear install doc.php.net/pman</li> - <li>Upgrade: pear upgrade doc.php.net/pman</li> - <li>Example usage: pman strlen</li> -</ul> - -<h3>HTML Help viewers</h3> -<ul class="toc"> - <li>Microsoft Windows has a reader built in.</li> - <li> - On Linux, *BSD and Solaris:<br /> - <ul class="simple"> - <li><a href="http://xchm.sourceforge.net/">xCHM</a></li> - <li><a href="http://gnochm.sourceforge.net/">GnoCHM</a></li> - <li><a href="http://www.kchmviewer.net/">KchmViewer</a></li> - </ul> - </li> - <li> - <a href="http://code.google.com/p/ichm/">iChm</a> caters - to Mac OS X users. - </li> -</ul> - -<h3>File sizes and dates</h3> -<p> - If you are using a capable browser, the file size and - date will show up when you move the mouse above a link. - If you cannot view this information, or would like to see all the - information, you can <a href="/download-docs.php?sizes=1">click - here to see all the file sizes and dates</a>. -</p> -'; - -site_header("Download documentation", array("current" => "docs")); - -// Format to look for -$formats = array( - "Single HTML file" => "html.gz", - "Many HTML files" => "tar.gz", -# "Many PDF files" => "pdf.tar.gz", -# "PDF" => "pdf", -# "HTML Help file" => "chm", // Bug #64842 -# "HTML Help file (with user notes)" => "chm", // Bug #64842 -); -?> - -<h1>Download documentation</h1> - -<p> - The PHP manual is available in a selection of languages and - formats. Pick a language and format from the table below to start - downloading. -</p> - -<h2>Notes to read before you download</h2> - -<ul> - <li> - The English version should be considered the most accurate, since - translations are based on that version. Most of the translations - are not complete, and contain English parts. - </li> - <li> - The packaged HTML version of the manual (tar.gz) doesn't contain - any directories, so all of the files will be dumped into your - current working directory when you expand the archive unless the - tool you use does otherwise. - </li> - <li> - The CHM builds are offline but will be fixed in the future. We are - sorry for the inconvenience. - <!-- - <p class="warn"> - If you are using Windows XP SP2 or later and you are going to download the - documentation in CHM format, you <strong>need</strong> to "unblock" - the file after downloading it by right-clicking on it in Windows Explorer and - selecting the "Properties" menu item, then clicking on the - "Unblock" button (on Windows Vista this is within the - "Security" options). Failure to unblock the documentation file may - result in error messages including "Navigation to the webpage was - canceled" due to Windows security restrictions. - </p> - --> - </li> -</ul> - -<?php -$files = array(); $found_formats = array(); -$filepath = $filename = ''; - -// Go through all possible manual languages -foreach ($LANGUAGES as $langcode => $language) { - if(isset($INACTIVE_ONLINE_LANGUAGES[$langcode]) && $MYSITE !== 'http://docs.php.net/') { - continue; - } - - // Go through all possible manual formats - foreach ($formats as $formatname => $extension) { - - $filepath = $_SERVER['DOCUMENT_ROOT'] . '/distributions/manual/'; - if ($formatname === 'HTML Help file (with user notes)') { - $filename = "php_enhanced_$langcode.$extension"; - } else { - $filename = "php_manual_$langcode.$extension"; - } - - $filepath .= $filename; - - // File named after the language and format exists - if (file_exists($filepath)) { - - // Mirror selection download URL - $link_to = "/get/$filename/from/a/mirror"; - - // Try to get size and changed date - $size = @filesize($filepath); - $changed = @filemtime($filepath); - - // Size available, collect information - if ($size !== FALSE) { - $files[$langcode][$formatname] = array( - $link_to, - (int) ($size/1024), - date("j M Y", $changed), - $extension - ); - $found_formats[$formatname] = 1; - } - } - } -} -/* {{{ FIXME: Special handling for the extended html help format since it doesn't follow the "naming rules" - * (mostly copy&paste from the loop above) - * Feb 20, 2009: Commenting this out as we currently don't build or work on it - -$formats['<a href="/docs-echm.php">Extended HTML Help</a>'] = "zip"; // Add a link to the xchm docs in the table header -$actual_file = $_SERVER['DOCUMENT_ROOT'] . "/distributions/manual/php_manual_chm.zip"; -if (file_exists($actual_file)) { - $link_to = "/get/php_manual_chm.zip/from/a/mirror"; - $size = @filesize($actual_file); - $changed = @filemtime($actual_file); - if ($size !== FALSE) { - $files["en"]["zip"] = array( - $link_to, - (int) ($size/1024), - date("j M Y", $changed), - "zip" - ); - $found_formats["xchm"] = "zip"; - } -} -}}} */ - -if (count($found_formats) == 0) { - echo "<p class=\"tip\">This mirror has no documentation files for download.</p>"; -} else { - - echo '<table border="0" cellpadding="4" cellspacing="2" class="standard">' . "\n" . - "<tr>\n <th> </th>\n"; - - // Print out the name of the formats - foreach ($formats as $formatname => $extension) { - if (!isset($found_formats[$formatname])) { continue; } - echo " <th valign=\"bottom\">$formatname</th>\n"; - } - - echo " </tr>\n"; - - foreach ($files as $langcode => $lang_files) { - - // See if current language is the preferred one - if ($langcode == $LANG) { $preflang = TRUE; } - else { $preflang = FALSE; } - - // Highlight manual in preferred language - if ($preflang) { - $cellclass = ' class="highlight"'; - } else { - $cellclass = ""; - } - - echo "<tr>\n<th class=\"subl\">" . $LANGUAGES[$langcode] . "</th>\n"; - - foreach ($formats as $formatname => $extension) { - - // Skip if no file found - if (!isset($found_formats[$formatname])) { continue; } - - echo "<td align=\"center\"$cellclass>"; - if (!isset($lang_files[$formatname])) { - echo " "; - } else { - - $fileinfo = $lang_files[$formatname]; - echo "<a href=\"$fileinfo[0]\""; - - // Only print out tooltip, if explicit information is not printed - if (!isset($_GET['sizes']) && !$preflang) { - echo " title=\" Size: $fileinfo[1]Kb -- Date: $fileinfo[2]\""; - } - - // End link tag - echo ">$fileinfo[3]</a>"; - - // Sizes required to be printed out (URL parameter or preferred language) - if (isset($_GET['sizes']) || $preflang) { - echo "<br /><small>Size: $fileinfo[1]Kb<br />Date: $fileinfo[2]</small>"; - } - } - - // End table cell - echo "</td>\n"; - - } - - // End table row - echo "</tr>\n"; - } - echo "</table>\n"; -} -?> - -<?php site_footer(); diff --git a/downloads.php b/downloads.php deleted file mode 100644 index be5389b1c0..0000000000 --- a/downloads.php +++ /dev/null @@ -1,169 +0,0 @@ -<?php // vim: et -// $Id$ -$_SERVER['BASE_PAGE'] = 'downloads.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/version.inc'; - -// Try to make this page non-cached -header_nocache(); - -$SIDEBAR_DATA = ' -<h3>Binaries for other systems</h3> -<p> - We do not distribute UNIX/Linux binaries. Most Linux - distributions come with PHP these days, so if you do - not want to compile your own, go to your distribution\'s - download site. Binaries available on external servers: -</p> -<ul class="toc"> - <li><a href="http://publib-b.boulder.ibm.com/Redbooks.nsf/RedpieceAbstracts/redp3639.html">AS/400</a></li> - <li><a href="http://www.ampps.com/">Mac OS X (AMPPS)</a></li> - <li><a href="http://www.mamp.info/">Mac OS X (MAMP)</a></li> - <li>BitNami (<a href="http://bitnami.com/stack/wamp">Windows</a>, <a href="http://bitnami.com/stack/mamp">MacOSX</a>, <a href="http://bitnami.com/stack/lamp">Linux</a>)</li> - <li><a href="http://developer.novell.com/wiki/index.php/PHP_for_NetWare">Novell NetWare</a></li> - <li><a href="http://os2ports.smedley.info/index.php?page=php-5">OS/2</a></li> - <li><a href="http://www.cp15.org/php/">RISC OS</a></li> - <li><a href="http://freeware.sgi.com/index-by-alpha.html#php">SGI IRIX 6.5.x</a></li> - <li>Solaris (<a href="http://sunfreeware.com/programlistsparc10.html#php">SPARC</a>, <a href="http://sunfreeware.com/programlistintel10.html#php">INTEL</a>)</li> - <li><a href="http://www.opencsw.org/packages/php5">Solaris OpenCSW packages</a></li> - <li><a href="http://iuscommunity.org/">Redhat/CentOS Binaries (IUS)</a></li> - <li><a href="http://rpms.famillecollet.com/">Fedora/Redhat/CentOS Binaries (Remi)</a></li> -</ul> - -<h3>Development and archive versions</h3> -<p> - Regular source and binary snapshots are available - from <a href="http://snaps.php.net/">snaps.php.net</a>. - These are not intended for production use! -</p> -<p> - To download the very latest development version, - see the <a href="git.php">instructions on using Git</a>. -</p> -<div class="information"> -<p> - Information about older releases and their downloads - are available on <a href="/releases/">our releases page</a>. -</p> -</div> -<br /> - -<h3>Other Downloads</h3> -<p> - <a href="http://pear.php.net/packages.php">PEAR - packages</a>, <a href="http://pecl.php.net/packages.php">PECL hosted - PHP extensions</a> and <a href="http://gtk.php.net/download.php">PHP-GTK - source and binaries</a> are available on their own pages. -</p> - -<p> - For downloadable PHP manual packages, go to the - <a href="download-docs.php">documentation download</a> - page. -</p> - -<p> - Get some - <a href="download-logos.php">PHP logos</a> - for your site, and some PHP icons to use on - your computer. -</p> -'; - -site_header("Downloads", - array( - 'link' => array( - array( - "rel" => "alternate", - "type" => "application/atom+xml", - "href" => $MYSITE . "releases.atom", - "title" => "PHP Release feed" - ), - ), - "current" => "downloads", - ) -); -?> -<a id="v5"></a> -<?php -$SHOW_COUNT = 3; -$MAJOR = 5; - -$releases = array_slice($RELEASES[$MAJOR], 0, $SHOW_COUNT); -$rows = array_chunk($releases, 2, $preserve_keys = true); - -$i = 0; -foreach ($rows as $row) { - echo "<div class='row-fluid'>\n"; - foreach ($row as $v => $a) { - $stable = $i++ === 0 ? "(Current Stable)" : "(Old Stable)"; -?> -<div class="span6"> - <h1 id="v<?php echo $v; ?>">PHP <?php echo "$v $stable"; ?></h1> - - <h4>Complete Source Code:</h4> - <ul> -<?php -foreach($a["source"] as $rel) { - echo " <li>\n "; - - if (!empty($rel['link'])) { - $link = $rel['link']; - $name = $rel['name']; - echo "<a href='$link'>$name</a>"; - } else { - download_link($rel["filename"], $rel["name"]); echo " - {$rel["date"]}<br />\n"; - echo " <span class=\"md5sum\">md5: {$rel["md5"]}</span>\n"; - (isset($rel["note"]) && $rel["note"] ? "<p><strong>Note:</strong>{$rel["note"]}</p>": ""); - } - echo " </li>\n"; -} -?> - <li> - <a href="/ChangeLog-<?php echo $MAJOR; ?>.php#<?php echo urlencode($v); ?>">Changelog for PHP <?php echo $v; ?></a> - </li> - </ul> -</div> -<?php - } - echo "</div>\n"; -} // for -?> - -<hr/> - -<h1>GPG Keys</h1> -<p> -The releases are tagged and signed in the <a href='git.php'>PHP Git Repository</a>. -The following official GnuPG keys of the current PHP Release Manager can be used -to verify the tags: -</p> -<h2>PHP 5.5</h2> -<pre> -pub 4096R/7267B52D 2012-03-20 [expires: 2016-03-19] - Key fingerprint = 0B96 609E 270F 565C 1329 2B24 C13C 70B8 7267 B52D -uid David Soria Parra <dsp@php.net> -</pre> -<h2>PHP 5.4</h2> -<pre> -pub 2048D/5DA04B5D 2012-03-19 - Key fingerprint = F382 5282 6ACD 957E F380 D39F 2F79 56BC 5DA0 4B5D -uid Stanislav Malyshev (PHP key) <smalyshev@gmail.com> -uid Stanislav Malyshev (PHP key) <stas@php.net> -uid Stanislav Malyshev (PHP key) <smalyshev@sugarcrm.com> -</pre> -<pre> -pub 4096R/7267B52D 2012-03-20 [expires: 2016-03-19] - Key fingerprint = 0B96 609E 270F 565C 1329 2B24 C13C 70B8 7267 B52D -uid David Soria Parra <dsp@php.net> -</pre> -<h2>PHP 5.3</h2> -<pre> -pub 2048R/FC9C83D7 2012-03-18 [expires: 2017-03-17] - Key fingerprint = 0A95 E9A0 2654 2D53 835E 3F3A 7DEC 4E69 FC9C 83D7 -uid Johannes Schlüter <johannes@schlueters.de> -uid Johannes Schlüter <johannes@php.net> -</pre> -<?php -site_footer(array('sidebar' => $SIDEBAR_DATA)); - diff --git a/eol.php b/eol.php deleted file mode 100644 index 65b783f793..0000000000 --- a/eol.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -$_SERVER['BASE_PAGE'] = 'eol.php'; - -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/branches.inc'; - -// Notes for specific branches can be added here, and will appear in the table. -$BRANCH_NOTES = array( - '5.3' => '<a href="/migration54">A guide is available for migrating from PHP 5.3 to 5.4.</a>', - '5.2' => '<a href="/migration53">A guide is available for migrating from PHP 5.2 to 5.3.</a>', - '5.1' => '<a href="/migration52">A guide is available for migrating from PHP 5.1 to 5.2.</a>', - '5.0' => '<a href="/migration51">A guide is available for migrating from PHP 5.0 to 5.1.</a>', - '4.4' => '<a href="/migration5">A guide is available for migrating from PHP 4 to PHP 5.0.</a><br />The end of life for PHP 4.4 also marks the end of life for PHP 4 as a whole.', -); - -site_header('Unsupported Branches'); -?> - -<h1>Unsupported Branches</h1> - -<p> - This page lists the end of life date for each unsupported branch of PHP. If - you are using these releases, you are strongly urged to upgrade to - <a href="/downloads">a current version</a>, as using older versions may - expose you to security vulnerabilities and bugs that have been fixed in - more recent versions of PHP. -</p> - -<table class="standard"> - <thead> - <tr> - <th>Branch</th> - <th colspan="2">Date</th> - <th>Last Release</th> - <th>Notes</th> - </tr> - </thead> - <tbody> - <?php foreach (get_eol_branches() as $major => $branches): ?> - <?php foreach ($branches as $branch => $detail): ?> - <tr> - <td><?php echo htmlspecialchars($branch); ?></td> - <td> - <?php echo date('j M Y', $detail['date']); ?> - </td> - <td> - <?php echo number_format($ago = floor((time() - $detail['date']) / 86400)); ?> - day<?php echo ($ago != 1 ? 's' : ''); ?> ago - </td> - <td> - <a href="/releases/#<?php echo htmlspecialchars($detail['version']); ?>"> - <?php echo htmlspecialchars($detail['version']); ?> - </a> - </td> - <td> - <?php echo isset($BRANCH_NOTES[$branch]) ? $BRANCH_NOTES[$branch] : ''; ?> - </td> - </tr> - <?php endforeach; ?> - <?php endforeach; ?> - </tbody> -</table> - -<?php site_footer(); ?> diff --git a/error.php b/error.php deleted file mode 100644 index 5881d4eca9..0000000000 --- a/error.php +++ /dev/null @@ -1,533 +0,0 @@ -<?php - -// $Id$ - -/* - - This script handles all 401, 403 and 404 error redirects, - and some directory requests (like /images). Uses the - preferred language setting and the REQUEST_URI to guess what - page should be displayed. In case there is no page that can - be displayed, the user is redirected to a search page. - -*/ - -// Ensure that our environment is set up -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/languages.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/loadavg.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/errors.inc'; - -// Get URI for this request, strip leading slash -// See langchooser.inc for more info on STRIPPED_URI -$URI = substr($_SERVER['STRIPPED_URI'], 1); - -// ============================================================================ -// Mozilla Search Sidebar plugin resource file handling (need to be mirror -// dependent, so the search results will show up in the sidebar) -if ($URI == 'phpnetsearch.src') { - status_header(200); - include_once $_SERVER['DOCUMENT_ROOT'] . '/include/mozsearch.inc'; - exit; -} -// FIXME: Nuke the old firefox search plugin -if ($URI == 'phpnetimprovedsearch.src') { - status_header(200); - include_once $_SERVER['DOCUMENT_ROOT'] . '/include/mozopensearch.inc'; - exit; -} - -// ============================================================================ -// BC: handle bugs.php moved completely to bugs.php.net -if (preg_match("!^bugs.php\\?(.+)$!", $URI, $array)) { - mirror_redirect("http://bugs.php.net/?$array[1]"); -} - -// ============================================================================ -// FC: handle advisories -if (preg_match("!^security/advisories/PHPSA-(\\d+)\\.php$!", $URI, $array)) { - status_header(200); - $_GET["id"] = $array[1]; - include_once $_SERVER['DOCUMENT_ROOT'] . '/security/index.php'; - exit; -} - -// ============================================================================ -// Omit query string from URL and urldecode special chars -$URI = urldecode(preg_replace("!(\\?.*$)!", "", $URI)); - -// ============================================================================ -// An empty URI is useless at this point, so let's give them the search page -if (empty($URI)) { - mirror_redirect("/search.php"); -} - -// ============================================================================ -// Perform a redirect for manual figures, other images display a 404 automatically -if (preg_match("!^manual/(\\w+)/(print|printwn)/figures/(.+)$!", $URI, $parts)) { - mirror_redirect("/manual/$parts[1]/figures/$parts[3]"); -} elseif (preg_match("!\\.(pdf|gif|jpg|png)$!i", $URI)) { - error_404(); -} - -// ============================================================================ -// BC: handle .php3 files that were renamed to .php -if (preg_match("!(.*\\.php)3$!", $URI, $array)) { - mirror_redirect("/$array[1]"); -} - -// ============================================================================ -// BC: handle moving english manual down into its own directory (also supports -// default language manual accessibilty on mirror sites through /manual/filename) -// @todo do we rely on this? how about removing it... -if (preg_match("!^manual/([^/]*)$!", $URI, $array)) { - if (!isset($INACTIVE_ONLINE_LANGUAGES[$array[1]])) { - mirror_redirect("/manual/$LANG/$array[1]"); - } -} elseif (preg_match("!^manual/html/([^/]+)$!", $URI, $array)) { - $array[1] = preg_replace("!.html$!", ".php", $array[1]); - mirror_redirect("/manual/$LANG/$array[1]"); -} - -// ============================================================================ -// BC: News archive moved to subfolder -if (preg_match("!^news-(\\d+)(\\.|$)!", $URI, $array)) { - mirror_redirect("/archive/$array[1].php"); -} - -// ============================================================================ -// BC: Release files moved to subfolder -if (preg_match("!^release_([^\\.]+)(\\.php$|$)!", $URI, $array)) { - mirror_redirect("/releases/$array[1].php"); -} - -// ============================================================================ -// BC: handle documentation howto moved to the doc.php.net server -// (redirect to index page) -if (preg_match("!^manual/howto/!", $URI, $array)) { - mirror_redirect("https://wiki.php.net/doc/howto"); -} - -// ============================================================================ -// BC: Printer friendly manual page handling was separate previously, but we -// only need to redirect the old URLs now. Our pages are now printer friendly -// by design. -if (preg_match("!^manual/(\\w+)/(print|printwn|html)((/.+)|$)!", $URI, $array)) { - $array[3] = preg_replace("!.html$!", ".php", $array[3]); - mirror_redirect("/manual/$array[1]$array[3]"); -} - -// ============================================================================ -// If someone is looking for something in distributions/* and it isn't there, -// send them to the /releases page since that is likely to be most helpful. -if (preg_match("!^distributions/.*!", $URI, $array)) { - // Debug: Logging referrers to www.php.net temporarily - // if(!empty($_SERVER['HTTP_REFERER'])) { - // file_get_contents("http://www.php.net/track_ref.php?url=".$_SERVER['SERVER_NAME'].'/'.urlencode($URI).'&ref='.urlencode($_SERVER['HTTP_REFERER'])); - // } - mirror_redirect("/releases/"); -} - -// ============================================================================ -// The trailing slash only causes problems from now on -$URI = preg_replace('!/+$!', '', $URI); - -// ============================================================================ -// Some nice URLs for getting something for download -if (preg_match("!^get/([^/]+)$!", $URI, $what)) { - switch ($what[1]) { - case "php" : $URI = "downloads"; break; - case "docs" : // intentional - case "documentation" : $URI = "download-docs"; break; - } -} - - -// ============================================================================ -// Nice URLs for download files, so wget works completely well with download links -if (preg_match("!^get/([^/]+)/from/([^/]+)(/mirror)?$!", $URI, $dlinfo)) { - - $df = $dlinfo[1]; - if(strpos($df, "5-LATEST") !== false) { - include_once $_SERVER['DOCUMENT_ROOT'] . "/include/version.inc"; - $df = str_replace("5-LATEST", $PHP_5_VERSION, $df); - } elseif(strpos($df, "4-LATEST") !== false) { - include_once $_SERVER['DOCUMENT_ROOT'] . "/include/version.inc"; - $df = str_replace("4-LATEST", $PHP_4_VERSION, $df); - } - - // Mirror selection page - if ($dlinfo[2] == "a") { - status_header(200); - include_once $_SERVER['DOCUMENT_ROOT'] . "/include/get-download.inc"; - exit; - } - - // The same mirror is selected - if ($dlinfo[2] == "this") { $mr = $MYSITE; } - - // Some other mirror is selected - else { $mr = "http://{$dlinfo[2]}/"; } - - // Check if that mirror really exists if not, bail out - if(!isset($MIRRORS[$mr])) { - error_nomirror($mr); - exit; - } - // Start the download process - status_header(200); - include $_SERVER['DOCUMENT_ROOT'] . "/include/do-download.inc"; - download_file($mr, $df); - exit; -} - -// The rest rendering -if (strpos($URI, "reST/") === 0) { - $_GET["rel_path"] = substr($URI, 5); - include $_SERVER['DOCUMENT_ROOT'] ."/reST/index.php"; - exit; -} - -// php.net/42 --> likely a bug number -if (is_numeric($URI)) { - mirror_redirect("http://bugs.php.net/bug.php?id=$URI"); -} - -// Work with lowercased URI from now -$URI = strtolower($URI); - -// Redirection hack, see error.inc for detailed description -// These expect -foo not _foo -$term = str_replace('_', '-', $URI); - -if ($path = is_known_ini($term)) { - status_header(301); - mirror_redirect("/manual/$LANG/$path"); - exit; -} -if ($path = is_known_variable($term)) { - status_header(301); - mirror_redirect("/manual/$LANG/$path"); - exit; -} -if ($path = is_known_term($term)) { - status_header(301); - mirror_redirect("/manual/$LANG/$path"); - exit; -} - -// ============================================================================ -// Major manual page modifications (need to handle shortcuts and pages in all languages) -// Used permanent HTTP redirects, so search engines will be able to pick up the correct -// new URLs for these pages. -$manual_page_moves = array( - // entry point changed - 'installation' => 'install', - - // was splitted among platforms (don't know where to redirect) - 'install.apache' => 'install', - 'install.apache2' => 'install', - 'install.netscape-enterprise'=> 'install', - 'install.otherhttpd' => 'install', - - // moved to platform sections - 'install.caudium' => 'install.unix.caudium', - 'install.commandline' => 'install.unix.commandline', - 'install.fhttpd' => 'install.unix.fhttpd', - 'install.hpux' => 'install.unix.hpux', - 'install.iis' => 'install.windows.iis', - 'install.linux' => 'install.unix', - 'install.omnihttpd' => 'install.windows.omnihttpd', - 'install.openbsd' => 'install.unix.openbsd', - 'install.sambar' => 'install.windows.sambar', - 'install.solaris' => 'install.unix.solaris', - 'install.xitami' => 'install.windows.xitami', - - // Internals docs where moved - 'zend' => 'internals2.ze1.zendapi', - 'zend-api' => 'internals2.ze1.zendapi', - 'internals.pdo' => 'internals2.pdo', - 'phpdevel' => 'internals2.ze1.php3devel', - 'tsrm' => 'internals2.ze1.tsrm', - - // Replaced extensions - 'aspell' => 'pspell', - - // Refactored - 'regexp.reference' => 'regexp.introduction', -); - -if (isset($manual_page_moves[$URI])) { - status_header(301); - mirror_redirect("/" . $manual_page_moves[$URI]); -} elseif (preg_match("!^manual/([^/]+)/([^/]+).php$!", $URI, $match) && - isset($manual_page_moves[$match[2]])) { - status_header(301); - mirror_redirect("/manual/$match[1]/" . $manual_page_moves[$match[2]] . ".php"); -} - -// ============================================================================ -// Define shortcuts for PHP files, manual pages and external redirects -$uri_aliases = array ( - - # PHP page shortcuts - "download" => "downloads", - "getphp" => "downloads", - "getdocs" => "download-docs", - "documentation" => "docs", - "mailinglists" => "mailing-lists", - "mailinglist" => "mailing-lists", - "changelog" => "ChangeLog-5", - "gethelp" => "support", - "help" => "support", - "unsubscribe" => "unsub", - "subscribe" => "mailing-lists", - "logos" => "download-logos", - - # manual shortcuts - "intro" => "introduction", - "whatis" => "introduction", - "whatisphp" => "introduction", - "what_is_php" => "introduction", - - "windows" => "install.windows", - "win32" => "install.windows", - - "globals" => "language.variables.predefined", - "register_globals" => "security.globals", - "registerglobals" => "security.globals", - "manual/en/security.registerglobals.php" => "security.globals", // fix for 4.3.8 configure - "magic_quotes" => "security.magicquotes", - "magicquotes" => "security.magicquotes", - "gd" => "image", - "bcmath" => "bc", - 'streams' => 'book.stream', - - "callback" => "language.pseudo-types", - "number" => "language.pseudo-types", - "mixed" => "language.pseudo-types", - "bool" => "language.types.boolean", - "boolean" => "language.types.boolean", - "int" => "language.types.integer", - "integer" => "language.types.integer", - "float" => "language.types.float", - "string" => "language.types.string", - "heredoc" => "language.types.string", - "<<<" => "language.types.string", - "object" => "language.types.object", - "null" => "language.types.null", - - "htaccess" => "configuration.changes", - "php_value" => "configuration.changes", - - "ternary" => "language.operators.comparison", - "instanceof" => "language.operators.type", - "if" => "language.control-structures", - "static" => "language.variables.scope", - "global" => "language.variables.scope", - "@" => "language.operators.errorcontrol", - "&" => "language.references", - - "dowhile" => "control-structures.do.while", - - "tut" => "tutorial", - "tut.php" => "tutorial", // BC - - "faq.php" => "faq", // BC - "bugs.php" => "bugs", // BC - "bugstats.php" => "bugstats", // BC - "docs-echm.php"=> "download-docs", // BC - - "odbc" => "uodbc", // BC - - "links" => "support", // BC - "links.php" => "support", // BC - "oracle" => "oci8", - "_" => "function.gettext", - "cli" => "features.commandline", - - "oop4" => "language.oop", - "oop" => "language.oop5", - - "const" => "language.constants.syntax", - "class" => "language.oop5.basic", - "new" => "language.oop5.basic", - "extends" => "language.oop5.basic", - "clone" => "language.oop5.cloning", - "construct" => "language.oop5.decon", - "destruct" => "language.oop5.decon", - "public" => "language.oop5.visibility", - "private" => "language.oop5.visibility", - "protected" => "language.oop5.visibility", - "var" => "language.oop5.visibility", - "abstract" => "language.oop5.abstract", - "interface" => "language.oop5.interfaces", - "interfaces" => "language.oop5.interfaces", - "autoload" => "language.oop5.autoload", - "__autoload" => "language.oop5.autoload", - "language.oop5.reflection" => "book.reflection", // BC - "::" => "language.oop5.paamayim-nekudotayim", - - "__construct" => "language.oop5.decon", - "__destruct" => "language.oop5.decon", - "__call" => "language.oop5.overloading", - "__callstatic" => "language.oop5.overloading", - "__get" => "language.oop5.overloading", - "__set" => "language.oop5.overloading", - "__isset" => "language.oop5.overloading", - "__unset" => "language.oop5.overloading", - "__sleep" => "language.oop5.magic", - "__wakeup" => "language.oop5.magic", - "__tostring" => "language.oop5.magic", - "__set_state" => "language.oop5.magic", - "__clone" => "language.oop5.cloning", - - "throw" => "language.exceptions", - "try" => "language.exceptions", - "catch" => "language.exceptions", - "lsb" => "language.oop5.late-static-bindings", - "namespace" => "language.namespaces", - "use" => "language.namespaces.using", - "iterator" => "language.oop5.iterations", - - "factory" => "language.oop5.patterns", - "singleton" => "language.oop5.patterns", - - "trait" => "language.oop5.traits", - "traits" => "language.oop5.traits", - - "news.php" => "archive/index", // BC - "readme.mirror" => "mirroring", // BC - - "php5" => "language.oop5", - "zend_changes.txt" => "language.oop5", // BC - "zend2_example.phps" => "language.oop5", // BC - "zend_changes_php_5_0_0b2.txt" => "language.oop5", // BC - "zend-engine-2" => "language.oop5", // BC - "zend-engine-2.php" => "language.oop5", // BC - - "news_php_5_0_0b2.txt" => "ChangeLog-5", // BC - "news_php_5_0_0b3.txt" => "ChangeLog-5", // BC - - "manual/about-notes.php" => "manual/add-note", // BC - "software/index.php" => "software", // BC - "releases.php" => "releases/index", // BC - - "update_5_2.txt" => "migration52", // BC - "readme_upgrade_51.php" => "migration51", // BC - "internals" => "internals2", // BC - "configuration.directives" => "ini.core", // BC - - # regexp. BC - "regexp.reference.backslash" => "regexp.reference.escape", - "regexp.reference.circudollar" => "regexp.reference.anchors", - "regexp.reference.squarebrackets" => "regexp.reference.character-classes", - "regexp.reference.verticalbar" => "regexp.reference.alternation", - - # external shortcut aliases ;) - "dochowto" => "phpdochowto", - "projects.php" => "projects", // BC - - # CVS -> SVN - "anoncvs.php" => "git", - "cvs-php.php" => "git-php", - - # SVN -> Git - "svn" => "git", - "svn.php" => "git", - "svn-php" => "git-php", - "svn-php.php" => "git-php", - - # Other items - "security/crypt" => "security/crypt_blowfish", - - # Bugfixes - "array_sort" => "sort", // #64743 - "array-sort" => "sort", // #64743 -); - -$external_redirects = array( - "php4news" => "https://git.php.net/?p=php-src.git;a=blob_plain;f=NEWS;hb=refs/heads/PHP-4.4", - "php5news" => "https://git.php.net/?p=php-src.git;a=blob_plain;f=NEWS;hb=refs/heads/PHP-5.4", - "php53news" => "https://git.php.net/?p=php-src.git;a=blob_plain;f=NEWS;hb=refs/heads/PHP-5.3", - "php54news" => "https://git.php.net/?p=php-src.git;a=blob_plain;f=NEWS;hb=refs/heads/PHP-5.4", - "phptrunknews"=> "https://git.php.net/?p=php-src.git;a=blob_plain;f=NEWS;hb=refs/heads/master", - "projects" => "http://freshmeat.net/tags/php", - "pear" => "http://pear.php.net/", - "bugs" => "http://bugs.php.net/", - "bugstats" => "http://bugs.php.net/bugstats.php", - "phpdochowto" => "https://wiki.php.net/doc/howto", - "rev" => "http://doc.php.net/php/$LANG/revcheck.php", - "functions.js.txt" => "http://svn.php.net/phpdoc/doc-base/trunk/scripts/quickref", - "release/5_3_0.php" => "/releases/5_3_0.php", // PHP 5.3.0 release announcement had a typo - "ideas.php" => "http://wiki.php.net/ideas", // BC -); - -// ============================================================================ -// "Rewrite" the URL, if it was a shortcut - -if (isset($uri_aliases[$URI])) { - $URI = $uri_aliases[$URI]; -} - -// ============================================================================ -// Redirect if the entered URI was a PHP page name (except some pages, -// which we display in the mirror's language or the explicitly specified -// language [see below]) -if (!in_array($URI, array('mirror-info', 'error')) && - file_exists($_SERVER['DOCUMENT_ROOT'] . "/$URI.php")) { - mirror_redirect("/$URI.php"); -} - -// ============================================================================ -// Execute external redirect if a rule exists for the URI -if (isset($external_redirects[$URI])) { - mirror_redirect($external_redirects[$URI]); -} - -// Temporary hack for mirror-info, until all the pages -// will be capable of being included from anywhere -if ($URI=='mirror-info') { - status_header(200); - include_once $_SERVER['DOCUMENT_ROOT'] . "/$URI.php"; - exit; -} - -// ============================================================================ -// Try to find the page using the preferred language as a manual page -include_once $_SERVER['DOCUMENT_ROOT'] . "/include/manual-lookup.inc"; -$try = find_manual_page($LANG, $URI); -if ($try) { - status_header(200); - include_once $_SERVER['DOCUMENT_ROOT'] . $try; - exit; -} -// BC. The class methods are now classname.methodname -if (preg_match("!^manual/(.+)/function\.(.+)-(.+).php$!", $URI, $array)) { - $try = find_manual_page($array[1], $array[2]. "." .$array[3]); - if ($try) { - status_header(301); - mirror_redirect($try); - exit; - } -} - - -// ============================================================================ -// 404 page for manual pages (eg. not built language) -if (strpos($URI, "manual/") === 0) { - error_404_manual(); -} - -// ============================================================================ -// If no match was found till this point, the last action is to start a -// search with the URI the user typed in -$fallback = (myphpnet_urlsearch() === MYPHPNET_URL_MANUAL ? "404manual" : "404quickref"); -mirror_redirect( - '/search.php?show=' . $fallback . '&lang=' . urlencode($LANG) . - '&pattern=' . urlencode(substr($_SERVER['REQUEST_URI'], 1)) -); -/* - * vim:et - */ -?> diff --git a/extra/bindlib_w32.zip b/extra/bindlib_w32.zip deleted file mode 100644 index 5ab0406454..0000000000 Binary files a/extra/bindlib_w32.zip and /dev/null differ diff --git a/extra/index.php b/extra/index.php deleted file mode 100644 index 89a41be31b..0000000000 --- a/extra/index.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -// $Id$ - -// Simulate a /extra shortcut call (which will lead to a manual page) -$_SERVER['REQUEST_URI'] = '/extra'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/error.php'; diff --git a/extra/win32build.zip b/extra/win32build.zip deleted file mode 100644 index 287a3006fe..0000000000 Binary files a/extra/win32build.zip and /dev/null differ diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index f095b7f75b..0000000000 Binary files a/favicon.ico and /dev/null differ diff --git a/functions.js b/functions.js deleted file mode 100644 index 6b3e9a2aaa..0000000000 --- a/functions.js +++ /dev/null @@ -1,2 +0,0 @@ -cpd='a(b=@s[h]dd(cslashe=slashes)gg"g+e[%$fo,m&hodsTby%lis#"gJp)]pFp!HesTby%lis#"gJp)])]gg"g+i*_$fo,paMe%Mild_t!m$+ O(_module=_v!Y*,/v)Gokup_uri,not "(que;_heR!=s&_Hmeou#sp*sLheR!s)s&/v)pc%RIc(aML$fo,le>_caM ompilLAD^(f$Lc*;Kt=l&Df&M,GR_c*;Kt=sma_$fo,;o")pd%b"akpo$#c(Cl;Sk,lXk,*t$u Fak)dump%fXcH*_tabl p!Y;/t_"source="gul>_"sources)Bho,O_SHvLsymbol=s&%ppFf_trS ZsY*TtrSeTsock&]]?rray[%c(hKgLkey_cas hXk,omb$ oXt_vCues)diff[%assoc,kePuassoc,ukey)]A(l,l_key=t!)flip,$t!sBt[%assoc,kePuassoc,ukey)]key(_Ji;=s)m(ap,!geT"curYve]ulHs<t)p(aI`,Fduc#ush)r(KIeduc ev!sDs(e>M,hif#lic plic um)udiffTassoc,_uassoc]u$t!sBtTassoc,_uassoc]X(iqu shift)vCue=wCkT"curYve])]rs<#s(cii2ebcdic,$[h]<#s!tT`H*s])tK[2,h]udi`Fp!Hes::(O(bQr+ MKnN=lay!,l/gth,samplebQr+ v!Y*)is(@pyrighteI<ig$C,pFtBH*/abled?)b(aZ(64%^@d /@dD_c*v!#EDb@^%Rd%Nem/#smiley)c"+ ^;FPp>s s&%>g_p>s!,flags?c(RI@mp,div,moImul,ompil!%GRTJe]p>sLclas="aIwrQe%clas=c*;K#JLfoot!,f(il oot!,XcH*[s_fFm_Ae])heR!,$clu^d_A/ame?pow[mod]scC sqr#sub)$(2hJ,d_tJtdoma$_@^Z#dB,dtJtdoma$)z(cGs @mp"s=^@mp"s=!r(no,<,;r)flush,`/,"aIwrQe?c(C(%days_$_m*th,fFm_jI$fo,to_jd)cul(_hmS,hmS)l_us!%fXcT>ray]m&hodT>ray]?eil,h(dir,Bkd(+ nsrr)grp,moI`,own,r,Fo#Xk_splQ)lass(.(@m,dir,dotne#v>iKt)%Ji;=implem/t=pa"nts)kQ%imp<#m&hod%RI@pP"(^f$ mov Ee??l(e>;+caM oZ(dir,Gg?om%Rd"f,c"+LguiIev/t_s$k,OTSHvLobjBt]$vok is/um,GRT|Nib]messagLpump,pr($t_|e$fo,`(ge#pu#s&?"leas s&)o(mpS#nnBH*%ab<teI;+u=Hmeout)n(;K#v!t%cyr_;rV,uu(^@d /@^?)pP=sh,XtTM>s])rSk%MBk,cGZdic#Ola;messag `/dict)r(c32,e+LfXcH*,ypt)|e%C(num,pha)cntrl,digi#graph,Gw!,pr$#pXc#spS upp!,xdigQ)url%cGs @py_hKdl !r(no,<)JB,O$fo,$i#mulH%Rd_hKdl cGs JB,Oc*t/#$(fo_"aIQ)"movLhKdl sNBt)s&`tT>ray]v!Y*)ur"n#yrus%auth/Hc+ b$IcGs c*nB#qu!PXb$d?d(+e[%RIc"+eTfFm_f<m+]d(+LZ#efault_Hmez*e%ge#s&)iff)f<ma#O_la;_{=$t!vC%c"+LfFm_d+L;rV,f<m+)isod+LZ#modifPoffs&_ge#p>ZTfFm_f<m+]su(b,n_$fo,nris ns&)Hme(_Z#;amp%ge#s&)z*e%ge#s&?)]b2%auto@mmi#b$d_p>am,c(li/t_$fo,Gs olumn(_privilege=s)o(mmi#nn_{[msg]nnBt)urs<_|De(scapL;rV,xB[ute])f&M%>raPassoc,both,objB#Fw)fiNd%display_Yz E num,p"ciY*,scC | width)f(o"ign_key="e%W#;mt?O_`H*,la;_$s!t_iIGb_"aIn(Jt_W#um%fiNd=Fws?p(cGs c*nB#r(ep> im>y_key=ocedu"(_@lumn=s?)W#FllbSk,s(!v!_$fo,&_`H*,pBiC_@lumn=t+i;ic=tmt_{[msg])table(_privilege=s?b(a%cGs dN& Ji;=f&M,fir;kePhKdl!=$s!#key_spli#lis#nJtkeP`(/,HmizDp`/,"plS sync)aZ%Rd_"c<IcGs c"+ dN&L"c<IO%heR!_$fo,"c<dTwQh_Ees])num(fiNd="c<ds)`/,pSk,"plSL"c<d)plus%RIaql,c(hdir,Gs urr)!r(@d no)f($Iirs#lush,"e(ClGck=Gck,rGcks?O(Gck,XiquD$fo,las#Gck"l,nJ#`/,p"v,r(c(hp!m,"+ rt(JS#like?es(olv to"pos)key=`/,qu!P"E sB$dJ,Xl$k,zap)s(avepo=&$dJ[bynumb!]ql)tcl,t"mov X(do[p"pa"]Gck"l,sNBt)upd+ xGck"l,xXGck"l)x%c(Gs omp> *nBt){,escapL;rV,f&M_Fw,qu!Ps<t?cOtJ#cnOtJ#e(agg"g+ bug%bSktrS pr$t_bSktrS zvC_dump)c(b$,hJ,oct)f$eTsysGg_v>iable=d]g2raIl&DOtJ#i( o%cGs fcntl,`/,"aIZek,;a#tcs&+tr,trXc+ wrQDrE sk%f"LspS totC_spSDskf"espSDl,n(OtJ#s%MBk_"c<IO%mx,"c<d?)om(_imp<t_YmplJml,Ue%E s&_vCu spBifieIvCuDdocum/t(%Rd_Fo#c"+e%U cd+a_sBH*,@mm/#Nem/tTns]/Hty_"f!/c pFcessV_$;rucH*,tJt_nodDdoc(| um/t_Nem/t)dump%A mem)O_Nem/t(_by_iIs_by_tagEDhtml_dump_mem,x$cludD|e%/HHe=$t!nC_subZ#E not+i*=public_iIsy;em_id?Nem/t%O_UeTno^]O_Nem/ts_by_tagE has_U "movLU s&_UeTno^]tagEDno^%a(dd_EespS pp/d%MilIYblV)ttributes)Mild_no^=cl*Lnod dump_nod fir;_MilIO_c*t/#has%Ue=Mild_no^s)$s!t_bef< is_blKk_nod la;_MilIn(Jt_YblV,o^%E | vCue?own!_docum/#p(a"nt_nod "(fix,vious_YblV?"(movLMilIplSe%MilIno^?s&%c*t/#Ee[spSe])Xl$k_nodDpFcessV$;rucH*%d+a,t>O)xml%new_doc,`/%A mem)v!Y*,x(mlt" slt_;yleshe&Tdoc,_Ae]slt_v!Y*?xslt;yleshe&%pFces=Wt_dump%A mem?)otn&_GaIoublevC)e(a(M,;!_da(t ys?bcdic2ascii,Mo,mptPnMKt_bFk!%^scrib dict_Ji;=f"eTdict]O_{,$i#li;_dict="que;%dic#pwl_dict)s&_<d!V)nMKt_dict%Rd_to%p!s*C,ZsY*)MBk,^scrib O_{,is_$_ZsY*,quick_MBk,;o"_"plSem/#sugge;)n(IHHes.(caMV,/@dV=misc,negoH+i*,outputhKdl!=p>s!=p!Y;/thKdle="(que;=sp*Zs)urls?"gT"plS iT"plSe]]rr<%O_las#Gg,"p<tV)scapeshNl(>g,cmd)vC,x(B,if%-&yp "R_d+a,tagE thumbnail)i#p[Bt%JpBtl,p`/)Gd m1]t/Y*_GReItrSt)zmlm_hash)f(am%cKcN_m*Q<,cGs m*Q<%@llBH*,di"ct<PADnJt_ev/#`/,p/dV,"sumLm*Q<,susp/d_m*Q<)bsql%affBted_Fw=auto@mmi#bGb_Yz c(hKgLus!,G(b_Yz sDommi#*nB#"+e%bGb,cGb,db?d+a(_Zek,baZTpassw<d])db%qu!P;+us)dFp_db,!r(no,<)f&M%>raPassoc,fiNIl/gth=objB#Fw)fiNd%flag=l/,E Zek,tabl |Df"LW#O_auto;>t_$fo,ho;E $s!t_iIli;%db=fiNd=tables)n(Jt_W#um%fiNd=Fws?passw<Ipc*nB#qu!P"R%bGb,cGb)r(esul#ollbSk,ows_f&Med)Z(lBt_db,t%M>St!Z#Gb_mod passw<ItrKsSH*?;(>t_db,`_db)table(_E EDus!E w>nVs)cGs df%Rd%doc_javascrip#templ+DcGs c"+ e(num_vCue=rr(no,<?O%ap,+taMm/#/@dV,A flag=`#;+u=vCu v!Y*)heR!,nJt_fiNd_E `/T;rV]"movLQem,s(aveT;rV]&%ap,/@dV,A flag=javascript_SH*,*_imp<t_javascrip#`#;+u=submQ_f<m_SH*,t>O_fram vCu v!Y*?)eof,flush,O(c,csv,s[s])ile[%Ji;=O_c*t/t=put_c*t/ts)+im cHm gFup,$od mHm own!,p(!m=FTfiNd(@X#E | width)_r(&riev ow@Xt)])Yz |e]ilt!%has_v>,i(InputT>ray])lis#v>T>ray])$fo%buff!,cGs A `/,s&_flags)G(+vC,ck,<)lush,moInm+M,`/,p(as;hru,r$tf,ut(csv,s?"(aInMtojd)ribidi_Gg2vi=s(cKf,eek,ock`/,t+)t(Nl,ok,p%CGc,c(dup,hdir,hmoIGs *nBt)dN& JB,fge#fpu#OT`H*]Gg$,mdtm,mkdir,nb%c*t$u fge#fpu#ge#put)nlis#p(asv,u#wd)qui#raw[li;]"E rmdir,s(&_`H*,Q iz sl_c*nB#y;ype?rXc+DXc_O_>g[s]Xc(_num_>g=H*_Ji;s)wrQDg(c%@llBt_cycle=disabl /able[d])d_$fo,eoip%@(nt$/t_@dLby_E Xtry%@^(3_by_E _by_EDELby_Ee?d(+abasL$fo,b%avail,A/am O_Cl_$fo?id_by_E isp_by_E <g_by_E "(c<d_by_E gi*%by_E ELby_@^?HmLz*Lby_@Xtry_Kd_"gi*)&(%bFws!,c(Cled_clas=fg_v>,lassTm&hod=_v>s]ur"nt_us!)dBla"d%clasZ=$t!fSes)^f$ed%c*;Kt=fXcH*=v>s)Jt/Y*_fXc=heR!=html_trKsl+i*_tabl $clu^(_p+h,d_Aes)GRed_Jt/Y*=magic_quotes%gpc,rXHmDm&a_tag=objBt_v>=pa"nt_clas="(qui"d_Ae=sourcL|e?ClheR!=cwId+ /v,ho;by(Rdr,Ee[l])-eYz la;moIm(xrr,y(giI$od piIuid?`#pFtobyn(am umb!)rKdmax,rusag s!vby(E p<t)tJ#HmeofdaP|DGb,m(d+ mkHm p%a(b=dInd)c(lrbi#mp,om)divTq[r]_r,JSt]fS#gcd[Jt]hamdis#$(i#tvC,v!t)ja@bi,leg/dr moImul,ne(g,xtprimD<,p(!fBt_squ> o(p@X#w[m])Fb_primDrKdom,s(cK(0,1)&bi#ign,qrt["m]trvC,ub)te;bi#x<);rfHmDnupg%Rd(dBryptkeP/cryptkePYgnkey)cle>(dBryptkey=/cryptkey=Ygnkeys)dBrypt[v!ify]/crypt[Ygn]Jp<#O({,pFto@l)imp<#$i#key$fo,s&(>m<,{mod YgnmodDYgn,v!ify)`h!_p>Zdir,rapheme%JtrS#;r(ipo=i;r,l/,po=ripo=rpo=;r)sub;r)"g<iKtojIz(cGs @mp"s=^(@d fl+D/@d eof,A O(c,s[s])$fl+ `/,pas;hru,put="(aIw$d)Zek,tNl,X@mp"s=wrQe?ha(lt_@mpil!,ru(Knot+i*::s&(b<d!;yl highlightmod ic*,`/ed)^;$+i*::s&fQ[b[h,v]h,r,v]d(e;$+i*::s&xyz,oc::(Rdpage[labN]c*;ruc#c"+eoutl$ O(cur"nt(/@d!,pagD/@d!,f*#$fo+tr,page(layou#modD;"amYzD$s!tpag GR(jpeg,png,raw,tt(c,f)|e1)outpu#"(RfFm;"am,s&({,;"am?s(ave[to;"am]&(@mp"sY*mod cur"nt/@d!,/crypH*mod $fo(+tr,d+e+tr)`/SH*,page(layou#mod sc*figur+i*)passw<Ip!misY*?uZ(cn(s/@dV=sf*t=t/@dV=tf*ts)jp(/@dV=f*ts)kr(/@dV=f*ts??/@d!::O(byt&yp | Xi@d wrQVmodDf*t::O(asc/#capheigh#^sc/#/@dVE f*tE tJtwidth,Xi@^width,xheight)f*t::measu"tJ#-e::(O(bQsp!@mp*/#@l<spS heigh#Yz width)s&(@l<mask,mask-e?outl$e::s&(^;$+i*,`/ed)page::(>c,beg$tJ#c(ircl GZp+h,*ca#"+e(^;$+i*,l$kKnot+i*,tJtKnot+i*,urlKnot+i*)urv&o[2,3])draw- e(llips nd(p+h,tJt)oAl[;Fke])Al[;Fke]O(c(h>spS myk(Al,;FkDur"nt(f*t[Yze]po=tJtpos?dash,AlV@l<spS fl+nes=g(mod ray(Al,;Fke?heigh#h<iz*tCscCV,l$e(cap,jo$,width)mQ!limi#rgb(Al,;FkD;FkV@l<spS tJt(leRV,m+rix,"nd!Vmod ris width)trKsm+rix,width,w<dspSDl$&o,m(easu"tJ#ov&(Jtpo=o[nJtl$e]?"ctKgl s&(c(h>spS myk(Al,;Fke?dash,fl+nes=f*tKdYz gray(Al,;FkDheigh#h<iz*tCscCV,l$e(cap,jo$,width)mQ!limi#rgb(Al,;FkDFt+ Yz sli^show,tJt(leRV,m+rix,"nd!Vmod risDwidth,w<dspSDshowtJt[nJtl$e];Fk tJt(ou#"ct?)sh[%Cgo=@pPfi(l nC)hmSTAe]$i#upd+eTA _;"am])])h(eR![s%lis#s/t)]eb"v[c]JdB,ighlight%A ;rV)tml(_/Hty_^@d /HHe=spBiCM>sT^@^])ttp_build_qu!Pw%>ray2obj"c,c(h(KgeobjB#ild"n[obj])Gs *nBt[i*_$fo]p)d(N&eobjB#oc(byKM<[obj]um/t%Ue=bodytag,c*t/#s&c*t/#Yze?ummy)e(dQtJ#rr<[msg])f"Ldocum/#O(KM<s[obj]KdGck,Mild(@ll[obj]doc@ll[obj])objBt[byqu!y[@ll[obj]obj]]pa"nts[obj]"(ll$k,mote[Mild"n])srcby^;obj,tJ#us!EDi(d/HfPn(@llBH*=fo,s(@ll,doc,!t(KM<=docum/#objBt??m(apiIodifyobjB#v)new_docum/#obj"c2>raPoutput_docum/#pc*nB#pipedocum/#Fo#s&l$kFo#;a#XGck,who)wapi%Ue[%kePlKg^pvCu vCue[s])]c(hBk($,out)hild"n,*t/tTmim&yp _"R]`y)d(b;a#c;a#;(KM<=ofsrcKM<?{%@X#"as*)f$Ift;a#hgcsp,hw;a#i(d/HfPn(fo,s!t[KM<,@llBH*,docum/t]?l$k,Gck,mov new_c*t/#objBt[%asYgn,+t"dQabl @X#$s!#new,"mov Htl vCuDbyKM<]pa"nt="as*%^scripH*,|D"(mov plSDs(&@mmQtedv!Y*,rc(KM<=sofd;?XGck,us![li;])ypot)i(baZ%Rd_us!,affBted_Fw=b(Skup,Gb%RIc(KcN,Gs "+DBho,ge#imp<#$fo,`/?c(Gs ommQT"t]*nBt)d(b_$fo,N&Lus!,Fp_db)!r(@d msg)JBut f&M%assoc,objB#Fw)f(iNd_$fo,"e%ev/t_hKdl!,qu!PWt?g/_iIma$ta$_db,modify_us!,n(amLW#um%fiNd=p>ams?p(>am_$fo,c*nB#"pa")qu!Pr(e;< ollbSkT"t])s!v(!_$fo,ice%+taM,d&aM?s&_ev/t_hKdl!,Hmefm#trK=waQ_ev/t)c*v[%O_/@dV,mimL^@^TheR!s]mimL/@d s(&_/@dV,tr(l/,po=rpos)ub;r?]d3_O%frame%l*g_E sh<t_EDg/"%iIlis#EDtag,v!Y*)d3(_"movLtag,_s&_tag,v2+taMedpictu"frame::(O(^scripH*,mim&yp |Ds(avepictur &(mim&yp pictur |e?)v2frame::(OYz to;rV)v2tag::(Rdfram OframNi;?d(+ n%;r{,to%ascii,utf8?)fx%affBted_Fw=bGb$ALmod byteasv>M>,c(Gs *nB#`y_bGb,"+e%bGb,M>?do,{[msg]f(&M_Fw,iNd(pFp!He=|es)"e%bGb,M>,Wt?O(_bGb,_M>,sqlca)htmltbl_W#nu(llf<ma#m%fiNd=Fws?pc*nB#p"p> qu!PtJtasv>M>,upd+e%bGb,M>?fxus%cGsLsGb,c"+LsGb,f"LsGb,`/_sGb,"R_sGb,Zek_sGb,tNl_sGb,wrQLsGb)gno"_us!_ab<#is%Rd_s!v!,O%dir_sBurQPs(cript_map,!v!%by%@mm/#p+h)rights)!vicL;+e?"movLs!v!,s&%app_s&tV=dir_sBurQPscript_map,s!v!_rights);>t_s!v(!,icD;`_s!v(!,ice?mag(e(2wbmp,_|Lto%Jt/Y*,mimL|Da(lphabl/dV,nHCia=rc)c(h>[up]ol<(CGc+e[Cpha]a#cGZ;[Cpha,hwb]^CGc+ JSt[Cpha]m+M,"solve[Cpha]s(e#f<$dJ,totC)trKspa"nt)o(nvoluH*,py[m!ge[gray]"s(ampleIized)])"+e[fFm(gd[2[p>t]]gif,jpeg,png,;rV,wbmp,xbm,xpm)true@l<])dashedl$ ^;FPNlips Al[ed(>c,Nlips polyg*,"ctKglDtob<d!]f(ilt!,*t(heigh#width)tbbox,ttJt)g(ammS<"c#Id2,if,rab(sc"/,w$dow?$t!lS i;rue@l<,jpeg,l(ay!effB#$ oRf*t)p(C&te@pPng,olyg*,s(bbox,/@^f*#Jt/df*#f"ef*#GRf*#slKtf*#tJt?"ctKgl Ft+ s(aveCpha,&(brush,pixN,;yl thicknes=HlDtrV[up]x,y)t(rue@l<t`C&t tf(bbox,tJt)ypes)wbmp,xbm)ick::(RapHve(blur- "Yze- sh>p/- th"shold-Da(dd(- noiZ-Dff$&rKsf<m- nnot+e- pp/d-e=v!age-es)bl(Skth"shold- ur-Db<d!- c(h>@C- h`- l(e>,ip(- p+h-D* ut-Do(Cesce-e=l<(fGodAl- ize-Dm(b$e-e=m/t- pa"-e(MKnN=lay!=s)posQe-Dn(;ruc#tra;(- ;"tM-Dvolve-e?Fp(- thumbnail-Dur"n#ycle@l<map-Dd(e(c*;ruct-e=spBkle- ;Fy)isplay-e[s]i;<t- raw-De(dge- mboss- nhKce- quCize- vCu+e-Dfl(+t/-e=ip- `-Dframe- fx- g(amma- ausYKblur- &(@mp"sY*[quCQy]@pyrigh#A/am f<ma#homeurl,-e[b(SkgFXd@l<,Gb,lueprim>P<d!@l<)MKnN(^pth,di;<H*,Jt"ma,meK,;+i;ics)@l<(map@l<,s[pSe])@mpos d(NaPepth,is(pos t<H*?Jt"ma,A/am f<ma#g(amma,eom&rP"/prim>y)heigh#hi;ogram,$(dJ,t!(lSesMem pol+em&hod?Q!+i*=l/gth,ma(gicklic/s tte[@l<])<i/t+i*,p(ag ixN@l<,FAe[s]Fp!t(ie=y?"(dprim>Pgi*,nd!V$t/#soluH*)s(bGb,c/ ign+ur izDt(icksp!sB*IotC$kd/sQPypDXQ=virtuCpixNm&hoIwhQepo$#width]$t!lSesMem Q!+<$dJ,numb!-e=`H*,p(Skag/am ag ixN(Q!+<,"gi*Q!+<?quKtum(^pth,rKgD"(leaZd+ source[limQ])s(amplVfSt<=ize[offs&])v!Y*?has(nJt- p"vious-Did/Hfy- impG^- l(abN- evN- $e>;"tM-Dm(a(gnify- p- ttefGodAl-DediKAt!- $ify- o(dul+e- ntage- rph-e=saic-e=H*blur-e?ne(g+e- w- wpZudo- xt-Dn<mCize- o(ilpa$t- pHmize-Nay!=rd!edpo;!ize-Dpa$t(fGodAl- `aque- trKspa"nt-DpV-e[bGb,Ae]p(ol>oid- o;!ize- "vi(ew-e=ous-DFAe-DquKHze-e[s]qu!yfo(nt(m&ric=s)rm+s)r(a(diCblur- iZ- ndomth"shold-DeR-e[bGb,Ae]e(duc/oiZ- move-e[pFAe]nd!,sample- Yze-Doll- ot+e- oXdc<n!s)s(ample- cCe- e(p>+e-BhKnN,pi+*e- t(bSkgFXd@l<,@mp"sY*[quCQy]f(il/am ir;Q!+<,*#<m+)-e[b(SkgFXd@l<,ia=lueprim>P<d!@l<)c(hKnN^pth,ol<(map@l<,spSDomp(os "sY*?^(laPpth)dispos Jt/#A/am f<ma#gamma,g"/prim>P$(dJ,t!(lSesMem pol+em&hod?Q!+i*=m+te[@l<]`SQP<i/t+i*,p(ag F(A p!ty?"(dprim>Pnd!V$t/#soluH*)sc/ Hcksp!sB*I| XQ=virtuCpixNm&hoIwhQepo$t]$t!lSesMem Q!+<$dJ,la;Q!+<,`H*,pag "so(luH*,urcNimQ)s(amplVfSt<=ize[offs&])|e?ha(^- dow- rp/- ve-Dhe>- igmoidCc*tra;- k&M- ol>ize- plice- p"R- te(gKo- "o-Dtrip- wirl-Dt(Jtu"- h"shold- humbnail- $t- rKs(f<m- poZ- v!Z-Drim-DX(ique-e@l<=sh>pmask-DvCiIvign&te- w(ave- hQ&h"shold- rQe-e[s]?ickdraw::(a(ff$ nnot+i*,rc)bezi!,c(ircl le>,l* o(l<,mm/#mposQ n;ruct?^;FPNlips O(clip(p+h,rul XQs)Al(@l<,`SQPrulDf*t[familPYz ;yl weight]gravQP;Fke(KHCia=@l<,dash(>raPoffs&)l$e(cap,jo$)mQ!limi#`SQPwidth)tJt(Cignm/#KHCia=dB<+i*,/@dV,Xd!@l<)vBt<graphics)l$ m+t p+h(c(Gs urv&o(absolut quRr+icbezi!(absolut "l+iv smooth(absolut "l+ive?"l+iv smooth(absolut "l+ive?)NlipHc>c(absolut "l+ivDf$ish,l$&o(absolut h<iz*tC(absolut "l+ivD"l+iv v!HcC(absolut "l+ive?mov&o(absolut "l+ivD;>t)po($#ly(g*,l$Dp[clipp+h,^f=p+t!n])push[clipp+h,^f=p+t!n]r(BtKgl /d!,ot+ oXd"ctKglDs(cC &(clip(p+h,rul XQs)Al(Cpha,@l<,`SQPp+t!nurl,rulDf*t[familPs(iz t"tM,tylDweight]gravQP;Fke(Cpha,KHCia=@l<,dash(>raPoffs&)l$e(cap,jo$)mQ!limi#`SQPp+t!nurl,width)tJt(Cignm/#KHCia=dB<+i*,/@dV,Xd!@l<)vBt<graphic=viewbox)kew(x,y?trKsl+DickpixN(::(cle>,c*;ruc#^;FPO@l<[as;rV,@X#vCue]Ohsl,isYmil>,s&@l<[vCue]s&hsl)Q!+<::(cle>,c*;ruc#^;FPO(cur"nHt!+<Fw,Q!+<Fw,nJHt!+<Fw,p"viousQ!+<Fw)newpixN(Q!+<,"gi*Q!+<)"s&Q!+<,s&Q!+<(fir;Fw,la;Fw,Fw)syncQ!+<?)map%8bi#C!t=app/Ib(aZ64,$>Pody[;ruct])c(hBk,le>flag_full,Gs "+emailbox)dN&e[mailbox]{=JpXg f&M(_ov!view,bodPheR!,;ructu")O(_quota[Fot]Sl,mailboxe=subscribed)heR![$fo,s]l(a;_{,i;[mailbox,scK,subscribed]sub)mailT@(mpos py)_mov boxmsg$fo]mimLheR!_^@d msgno,num%msg,"c/t)`/,pV,qpr$#r(/amemailbox,e`/,fc822_p>Z%Rrlis#heR!s)fc822_wrQLRd"ss)s(avebodPcKmailbox,e(>M,t_quota,tSl,tflag_full)<#t+u=ubscribDth"aIHmeou#u(iIndN& nsubscrib tf7%^@d /@dDtf8?mp(Gd <t_"que;_v>iables)n(_>raPclued_O_d+a,&%nt`,pt*)g"s%auto@mmQT;+e]c(h>Z#Gs ommi#*nB#urs<)!r(no,<,sql;+DescapL;rV,JBut f&M%>raPobjB#pFc_"turn,Fw)fiNd%l/gth,E nullabl p"ciY*,scC |Df"LW#n(Jt_{,um%fiNd=Fws?pc*nB#p"p> qu!PWt_Zek,FllbSk,s&_/vir*m/#Xbuff!ed_qu!y)i%Ct!,OTCl]";< s&)oHfy%Rd_w+M,$i#queuLl/,"aIrm_w+M)t(!fSLJi;=l%{_E O_{%@d messagDis_failu")vC?p(2l*g,tc(embeIp>Z?s%a,>raPb($>Pool,uff!)cClabl dir,doubl JButabl fi(l nQDfGa#$(f$Q t[eg!])l$k,l*g,n(K,ull,um!ic)objB#"(Rabl C,sourcDs(cC>,oap_faul#trV,ubclass_of)Xi@d upGRed_A wrQ(abl eable?sZ#t!+<%applP@X#to_>ray?java_la;_JcepH*%cle>,O)j(d(dayofweek,m*thE to(f"nM,g"g<iK,jewish,juliK,Xix?ewishtojIo$,peg2wbmp,s*%^@d /@d la;_{)uliKtojd)kRm5%Mpass_pr$cipC,c"+Lpr$cipC,^(l&Lpr$cipC,;Fy)flush,O_p(olicie=r$cipC[s])$Q_wQh_passw<Imodify_pr$cipC)k(ePrs<#s<t)l(c(firs#g_vCu hgrp,hown)dap%8859_to_t61,RIb$Ic(Gs omp> *nB#oXt_/tries)dN& dn2ufn,!r(2;r,no,<)JpGdLdn,fir;%U /trP"f!/cDf"LW#O%Ue=dn,/trie=`H*,vCuesTl/])lis#mod(%RIdN,"plSDify)nJt%U /trP"f!/cDp>sL"(f!/c sult)"(aIEDs(asl_b$Ie(>M,t%`H*,"b$d_pFc?<#t>t_tls)t61_to_8859,Xb$d)ev/shte$,ibxml%cle>_{=O%{=la;_{)s&_;"ams_c*tJ#usL$t!nC_{s)$k[$fo]is#ocC(e%O_^faul#s&_^fault)B*v,HmDog[10,1p]*g2ip,;a#trim,zf%@mp"s=^@mp"s=`Hmized_f<?m(%c(hBk;+u=ompl&eauth<iz+i*=*nBt[i*{])^(l&&rK=;Fy(c*n,/g$e?O(cNl[bynum]@mmRNimQeIheR!)$Q(c*n,/g$Dis@mmRNimQeImaxc*nHmeou#m*Q<,num(@lumn=Fws)p>Z@mmRNimQeI"sp*Z(key=p>am)"turn;+u=s&(bGckV,dFpA ip,sslTcaA _Aes]Hmeout)sslc!t_g/_hash,trKs(SH*ss/#$queu keyvC,new,s/d)uwai#vCid+eid/Hfi!,v!ify(c*nBH*,sslc!t?a(il[p>Z%d&!m$Lbe;_xf!_/@dV,msg%c"+ JtrSt%p>tTAe]wholLp>t_ADf" O_p>tTd+a]O_;ructur p>ZTAe])rfc822_p>sLRd"sZ=;"am_/@d uu^@dLCl)]$,x[db%affBted_Fw=auto@mmi#b$d%p>am,Wt)c(ha(ngLus!,rSt!_s&_EDl(i/t_/@dV,oZTl*g_d+a])o(mmi#nnBtT!r(no,<)]?d(+a_Zek,ebug,isablLr(eRs_fFm_ma;!,pl_p>sDump_^bug_$fo)e(mbed^d_c*nB#nablLr(eRs_fFm_ma;!,pl_p>sDrr(no,<)scapL;rV,xButDf&M[%>raPassoc,fiNdTdi"c#s]l/gth=objB#Fw)]fiNd%@X#Zek,tNl)f"LW#O%cli/t%$fo,v!Y*)ho;_$fo,m&R+a,pFto_$fo,s!v!%$fo,v!Y*?$(fo,i#s!t_id)kill,m(a;!_qu!Po"_Wt=ulH_qu!y)n(Jt_W#um%fiNd=Fws?`H*=p(>am_@X#V,"pa")qu!P"C%c*nB#escapL;rV,qu!y)r(ep<#ollbSk,pl%p>sL/ableIpFb qu!y_|e?s(e(lBt_db,nd%l*g_d+a,qu!y)rv!%/I$Q)t_`t)ql;+ sl_Z#t(a#mt%affBted_Fw=b$d%p>am,Wt)cGZTl*g_d+a]d+a_Zek,!r(no,<)JBut f&M,f"LW#$i#num_Fw=p>am_@X#p"p> "s(e#ult_m&R+a)s/d_l*g_d+a,sql;+ ;o"_Wt)o"_Wt?th"R%iIsafDusLW#w>nV_@Xt)])b%c(hBk_/@dV,*v!t%cas /@dV,kKa,v>iables?^@^%mimeheR!,num!ic/Hty)d&Bt%/@dV,<d!)e(n@^%mimeheR!,num!ic/Hty)"g[%m+M,"plS Z>MTO(po="gs)%$i#po="g=s&pos)])iT"plSe]])O_$fo,http%$pu#output)$t!nC_/@dV,lKguag li;_/@dV=output_hKdl!,p>sL;r,p"f!"d_mimLE "gJ%/@dV,s&_`H*s)s(/d_mail,pli#tr(cu#i(mwidth,po=;r)l/,po=r(Mr,iMr,ipo=pos);r,to(Gw!,upp!)width)ub;(QutLM>St!,rT@Xt]?)crypt%c(bc,fb,"+Liv)dBryp#e(cb,nc_O%Cg<Qhms_E bGck_Yz iv_Yz key_Yz mo^s_E supp<ted_key_Yzes)nc_is_bGck%Cg<QhmTmo^]modDnc(_sNf_tes#rypt?g/!icT^$i#_/I_$Q]O%bGck_Yz ciph!_E iv_Yz key_YzDli;%Cg<Qhm=mo^s)module%cGs O_Cgo%bGck_Yz key_YzDO_supp<ted_key_Yze=is_bGck_Cg<QhmTmo^]is_bGck_mod `/,sNf_te;)ofb)d5TAe]dBrypt_g/!ic,emcaMe(%Rd[s!v!]cGs c*nB#^(bug,c"m/#l&Dflush,O[Jt/^d;+=s!v!;+u=;+=v!Y*]$c"m/#pc*nB#"plS s&[@mp"s;h"sholIs!v!p>ams])d::(Rd[bykePs!v![s]]app/d[bykey]cas[bykey]c*;ruc#^(c"m/#l&e[bykey])f&M[Cl]flush,O[bykePdNayed[bykey]mulH[bykey]`H*,Wt@d s!v!(bykePli;);+s]$c"m/#p"p/d[bykey]"plSe[bykey]s&[bykePmulH[bykey]`H*]?em<y_O%peak_usag usagD&(aph* hod_Ji;s)hash[%@X#O%bGck_Yz hash_EDkeyg/_s2k)]i(cFHm mLc*t/t_| n[g%keyp"s=s&(cubicth"sholIscC swf@mp"sY*)uZ(c*;Kt=swfv!Y*?])kdir,kHm *(ey_f<ma#go%cGs c*nB#f$d_* gridf(ilLwrQ s%$i#;o"?has_nJ#$s!#nJ#qu!P"mov upd+e?ovLupGRed_A pegAe::(c*;ruc#O(audi`Fp!He=id3v(1tag,2tag?)qs!ies%bSk,beg$,c(Gs mi#*n[x])disc,ge#$q,`/,put[1]Z#;r{)ZsY*%@(nnB#Xt)c"+ ^;FPdisc*nB#f$IOT>raP_d+a]$c,li;[v>]Gck,plug$,rKd;r,s&T>raP_d+a]Hmeou#X(iq,Gck?s(g%O_queu queuLJi;="(ceiv movLqueuDZ(nIt_queuD;+_queuDql[%affBted_Fw=c(Gs *nB#"+e(_db,db?d(+a_Zek,b_qu!PbE Fp_db){,f&M%>raPfiNIobjB#Fw)fiNd(%flag=l/,E Zek,tabl |Dflag=l/,E tabl |Df"LW#li;%db=fiNd=tables)num(_fiNd=_Fw=fiNd=Fws)pc*nB#qu!P"(gcas sult)sNBt_db,tabl/amD]sql%b$IcGs c*nB#d+a_Zek,JBut f&M%>raPassoc,b+M,fiNIobjB#Fw)fiNd%l/gth,E Zek,|Df"e%W#;+em/t)O_la;_messag guid_;rV,$i#m$%{_Zv!QPmessagLZv!Qy)n(Jt_W#um%fiNd=Fws?pc*nB#qu!PW#Fws_affBteIsNBt_db?t%OrKdmax,rKIsrKd)ysql(%affBted_Fw=c(hKgLus!,li/t_/@dV,Gs *nB#"+Ldb)d(+a_Zek,b%E qu!y)Fp_db)!r(no,<)escapL;rV,f&M%>raPassoc,fiNIl/gth=objB#Fw)fiNd%flag=l/,E Zek,tabl |Df"LW#O%cli/t_$fo,ho;_$fo,pFto_$fo,s!v!_$fo)$(fo,s!t_id)li;%db=fiNd=pFcesZ=tables)num%fiNd=Fws)pc*nB#pV,qu!P"(C_escapL;rV,sult)Z(lBt_db,t_M>s&);a#tabl/am th"R_iIXbuff!ed_qu!y)i%b$d%p>am,Wt)cli/t_/@dV,disablLr(eRs_fFm_ma;!,pl_p>sD/ablLr(eRs_fFm_ma;!,pl_p>sDescapL;rV,JBut f&M,O_m&R+a,ma;!_qu!Pp>am_@X#r(ep<#pl%p>sL/ableIpFb qu!y_|e?s/d%l*g_d+a,qu!y)s&_`#slavLqu!y?)n(+(caZs<#s<t)curZs%Rd(M[n;r,;r]n;r,;r)a(ssumL^fault_@l<=ttr(off,*,s&?b(audr+ eep,kgd[s&]<d!,ottom_pKN)c(K_MKgL@l<,b"ak,l(e>,rto(bo#eol?ol<%c*t/#s&)urs_s&)^(f%pFg_mod shNl_modDf$LkePl(_pKN,ay_outpu#M,&Nn,w$?doupd+ Bho[M>]e(nIraZ[M>])f(ilt!,lash,lush$p)O(M,maxyx,mous yx)ha(lfdNaPs%@l<=ic,il,key?hidLpKN,hl$ $(M,QT@l<,_pair]s(M,dNln,!tln,;r,tr?is/dw$,key(ok,pR)killM>,l*gE m(&a,ouZ(_trafo,$t!vC,mask)oveTpKN]vRd(M[n;r,;r]n;r,;r)v(cur,dNM,OM,hl$ $M,vl$ wRd;r?n(apm=ew(_pKN,paIw$)l,o(cb"ak,Bho,nl,qiflush,raw?pa(ir_c*t/#nN%abov beGw,w$dow?p(nout"f"sh,"f"sh,utp)qiflush,r(aw,e(f"sh,plSLpKN,s&(_pFg_mod _shNl_mod ty?)s(av&tPcr%dump,$i#";< s&)crl,how_pKN,lk%+tr[off,*,s&]cle>,@l<,$i#nout"f"sh,"(f"sh,;o")Z#touM)tKd(/Iout)t>t_@l<)t!m(+tr=EDt(imeou#`_pKN,ypeaheR)XO(M,mousDu(pd+LpKN=Z%^fault_@l<=/v,Jt/^d_Ees?vid+tr,vl$ w(a(dd(M,;r)ttr(off,*,s&?b<d!,cle>,@l<_Z#!as OM,hl$ mo(usLtrafo,vDnout"f"sh,"f"sh,;Kd(/Iout)vl$e?ewt%b(Nl,utt*Tb>])c(/t!ed_w$dow,hBkbox[%O_vCu s&%flag=vCuDt"e[%Rd_Qem,f$d_Qem,O%cur"n#/try_vCu mulH_sNBH*,sNBH*)mulH,s&%cur"n#/tryTvCue]width?])]le>_key_buff!,l=omp(St_butt*,*/t%Rd_cClbSk,takes_focus?"+LgriIurs<_o(ff,n?d(NaPraw%f<m,Fot_tJt?/try[%O_vCu s&Tf(ilt!,lags)])]f($isheI<mTRd_@mp*/t[s]%Rd_hot_keP^;FPO_cur"n#rX,s&%bSkgFXIheigh#Yz Hm!,width)w+M_fd)])g(&_sc"/_Yz rid%Rd_@mp*/ts_to_f<m,baYc_w$dow,f" O_Yz h%cGsL;SkeI;Sked)plS s&_fiNIYmplLw$dow,v%cGsL;SkeI;Sked)wrapped_w$dowT+]?$i#l(abNTs&_tJt]i;box[%app/d_/trPcle>TsNBH*]dN&L/trPO%cur"n#sNBH*)$s!t_/trPQem_@X#Z(lBt_Qem,t_cur"ntTby_key]t%d+a,/trPwidth?)]i;QemTO_d+a,_s&])`/_w$dow,p`%hNp_l$ w$dow)push_hNp_l$ r(Rio(_O_cur"n#butt*)e(draw_hNp_l$ fGw_tJ#f"sh,YzLsc"/,sumDX_f<m)scCeTs&]s(cFllb>_Z#&%hNp_cClbSk,susp/d_cClbSk)usp/d)tJtbox[%O_num_l$e="fGweIs&%heigh#tJt?]v!HcC_scFllb>,w(aQ_f<_keP$%Moic /trie=me(nu,ssage[v])t!n>y?)J#OtJ#l2br,l_lKg$fo,otes%bodPc(`y_db,"+e%db,note?dFp_db,f$d_not heR!_$fo,li;_msg=m>k%"aIX"R)nav_c"+ Z>M,X"aIv!Y*)sapi%"(que;_heR!=sp*sLheR!s)virtuC)thmS,umb!_f<m+)o(auth_url/@d b%cleK,/d%cleK,flush)flush,O%cleK,c*t/t=flush,le(ngth,vN);+us)gzhKdl!,ic*v_hKdl!,implicQ_flush,li;_hKdl!=;>#HdyhKdl!)ci(%b$d%>ray_by_E by_EDc(KcN,Gs ollBH*%a(pp/IsYgn[Nem])f" ONem,max,Yz trim)ommi#*nBt)^f$Lby_E {,JBut f&MTa(ll,rraPssoc)_objB#_Fw]fiNd%is_null,E p"ciY*,scC Yz |eTraw])f"L;+em/#$t!nC_^bug,Gb%app/IcGs @pPe(of,ras xp<t)flush,f" Obuff!V,imp<#is_equC,GaI"(aIw$d)save[Ae]Z(ek,tbuff!V)Yz tNl,trXc+ wrQe[temp<>PtoAe])new%@(llBH*,nnBt)curs<,^script<)num%fiNd=Fws)pa(rs ssw<d_MKgDpc*nB#W#FllbSk,Z(rv!_v!Y*,t_p"f&M);+em/t_|Db$dbyE c(KcN,GZGb,ol(l(a(pp/IsYgn[Nem])ONem,max,Yz trim)umn(isnull,E p"ciY*,scC Yz |e[raw]?ommQ)^f$ebyE {,JBut f&M[$to,;+em/t]f"e(@llBH*,curs<,^sc,;+em/t)$t!nC^bug,G(RGb,go(ff,n?new(@llBH*,curs<,^script<)nGg*,num@l=p>s pGg*,r(esul#ollbSk,ow@Xt)saveGb[Ae]Z(rv!v!Y*,tp"f&M);+em/t| wrQe(GbtoA temp<>yGb?ctdB,dbc%auto@mmi#b$mod cGZTCl]@lumn(privilege=s)@(mmi#nnBt)curs<,d+a_sourc do,{[msg]JB[ute]f&M%>raP$to,objB#Fw)fiNd%l/,E num,p"ciY*,scC |Dfo"ignkey=f"LW#O|e$fo,l*g"Rl/,n(Jt_W#um%fiNd=Fws?p(c*nB#r(ep> im>ykey=ocedu"(@lumn=s?)WtTCl]FllbSk,s(&`H*,pBiC@lumn=t+i;ics)table(privilege=s?p/(C%buff!%c"+ d+a,^;FPge#GRwav)c*tJt%c"+ cur"n#^;FPpFces=susp/d)^vice%cGs `/)li;/!%ge#s&)source%c"+ ^;FPge#paus plaP"w$IZ#;`);"am)dir,Gg,ssl%csr%Jp<tTto_Ae]O%public_kePsubjBt)new,Ygn){_;rV,f"LkePO_p(riv+ekePublickey)`/,pk(cs12_Jp<tTto_Ae]cs(12_"aI7%dBryp#/cryp#Ygn,v!ify?ey%Jp<tTto_Ae]f" O%d&ail=priv+ public)new?priv+e%dBryp#/crypt)public%dBryp#/crypt)ZC,Ygn,v!ifPx509%MBk(_priv+LkePpurposDJp<tTto_Ae]f" p>s "R?)rIutput%Rd_"wrQLv>,"s&_"wrQLv>s)v(!(GaIridLfXcH*)rimos%c(Gs ommi#*nB#urs<)JB[ute]f&M%$to,Fw)fiNd%l/,E num,|Df"LW#l*g"Rl/,num%fiNd=Fws)p"p> WtTCl]FllbSk?)p(a(ck,rZ(_$i%A ;rV)_;r,_url,kQ_@mpile%A ;rV)kQ_fXc_>g$fo)s;hru,th$fo)c(Gs ntl%C>m,JB,f<k,Opri<QPs(&pri<QPig(nCTdisp+M]pFcmask,Hmedwai#waQ$fo?w(aQ[pid]JQ;+u=if(JQeIYgnCeI;`ped);`Yg,t!mYg?)df%a(cHv+LQem,dd%Knot+i*,bookm>k,laXMl$k,GcCl$k,Eed^s#not outl$ pdfl$k,t(ablLcNl,JtfGw,humbnail)webl$k)rc[n]ttaM_ADbeg$%docum/#f*#glyph,Qem,lay!,pageTJt]p+t!n,templ+eTJt])c(ircl l(ip,oZ[%- pdiTpage])p+hTAl_;Fk _;Fke]])*(ca#t$uLtJt)"+e%3dview,SH*,Knot+i*,bookm>k,fiNd[gFup]g;+ pvf,tJtfGw)urv&o)^(f$Llay!,l&eTpvf,_t(abl JtfGw)])/(@dV_s&_M>,d%docum/#f*#glyph,Qem,lay!,pageTJt]p+t!n,templ+Ddp+h)fi(ll[%-ebGck,pdfbGck,;Fk tJtbGck)]ndf*#t%- pdi_pag tabl tJt(fGw,l$e?)O%ap$am buff!,!r(msg,num)f*t[E Yze]-e%heigh#width)maj<v!Y*,m$<v!Y*,p(>am&!,di%p>am&!,vCue?vCuD$fo%f*#m+Mbox,tabl tJt(fGw,l$e?$Qgraphic=l($&o,oR%3dd+a,f*#iccpFA -e?makespot@l<,mov&o,new,`/%ccQ#A gif,-eTAe]jpeg,mem<y_- pdiTpage]Hff)p@s_O%numb!,;r(eam,V?plSe%- pdi_pagDpFcess_pdi,"(c#;< sumLpagDFt+ s(av cC &(%b<d!%@l<,dash,;ylDM>_spSV,dur+i*,g;+ h<iz_scCV,$fo[%auth<,c"+<,keyw<d=subjB#HtlD]lay!_^p/d/cPleRV,p>am&!,tJt%m+rix,po="nd!V,risDvCu w<d_spSV)@l<,dash[p+t!n]fla#f*#grayTAl,_;Fke]l$e(cap,jo$,width)m+rix,mQ!limi#polydash,rgb@l<TAl,_;Fke])hRVTp+t!n]h(Al,owTboxeI_xy])kew,tr(Vwidth,okDusp/d_pagDtrKsl+ utf(16_to_utf8,32_to_utf16,8_to_utf16?do(::(beg$trKsSH*,@(mmi#n;ruct){(@d $fo)JB,Oa(ttribut vailabledriv!s)la;$s!HIp"p> qu(!PotDFllbSk,s&UD_pgsqlGb(c"+ `/,Xl$k)_sqlQB"+e(agg"g+ fXcH*);+em/t::(b$d(@lumn,p>am,vCuDcGsBurs<,@lumn@X#{(@d $fo)JBut f&M[Cl,@lumn,objBt]O(U @lumnm&a)nJtFwZ#Fw@X#s&(U f&Mmo^?)fsock`/,g%affBted_Fw=c(KcN_qu!Pli/t_/@dV,Gs *nBt[i*%busP"Z#;+us)]*v!#`y%fFm,to?dbE dN& e(nd_@pPscape%bytea,;rV)xButDf&M%ClT@lumns]>raPassoc,objB#W#Fw)fiNd%is_null,E num,prtl/,Yz tabl |eToid])f"LW#O%noHfPpiIWt)hos#$s!#l(a;%{,noHc oid)o%cGs c"+ Jp<#imp<#`/,"RTCl]Zek,tNl,Xl$k,wrQe?m&a_d+a,num%fiNd=Fws)`H*=p(>am&!_;+u=c*nB#V,<#"p> ut_l$Dqu!yTp>ams]Wt%{TfiNd]Zek,;+us)Z(lB#nd%JBut p"p> qu!yTp>ams])t%cli/t_/@dV,{_v!bosQy?tra(c nsSH*_;+us)ttPX(escapLbytea,trSDupd+ v!Y*)h>(::(Rd(emptydir,A fFm;rV)apiv!Y*,buildfFm(di"ct<PQ!+<)c(K(@mp"s=wrQDomp"ss[ClAes(bzip2,gz)Aes]*(;ruc#v!tto(d+a,JButable?`PoX#"+e^fault;ub)^@mp"ss[Aes]dN(& m&R+a)JtrStto,O(m&R+a,modifieIs(ign+ur tub,upp<ted(@mp"sY*,Ygn+u"s?v!Y*)hasm&R+a,i(nt!ceptAefXc=s(buff!V,@mp"sZIAef<ma#vCidph>A/am wrQable?GRph>,m(apph>,oX#Xgs!v!)offs&(Ji;=ge#Z#Xs&)rXnV,s&(Cia=^fault;ub,m&R+a,Ygn+u"Cg<Qhm,;ub);(>tbuff!V,`buff!V)X(@mp"ssClAe=l$k>MivDwebph>)d+a::(Rd(emptydir,A fFm;rV)buildfFm(di"ct<PQ!+<)@(mp"ss[Aes]n(;ruc#v!tto(d+a,JButable?py)^@mp"ss[Aes]dN(& m&R+a)JtrStto,iswrQabl offs&(Z#Xs&)s&(Cia=^fault;ub,m&R+a,Ygn+u"Cg<Qhm,;ub?Ae$fo::(c(hmoIomp"s=*;ruct)^(@mp"s=lm&R+a)O(@mp"sZdYz crc32,m&R+a,ph>flags)hasm&R+a,is@mp"sZd[bzip2,gz]iscrcMBkeIs&@mp"sZd(bzip2,gz)s&(m&R+a,X@mp"sZd?)hp%MBk_syntax,$i%GRed_A scKned_Aes)Ggo_guiIsapi_E ;rip_whQespS uEDhp(c"dQ=$fo,v!Y*)i,ng2wbmp,o(p/,s[ix%Sces=ct!miIO(_la;_{,cwIegiIeuiIg(iIrgiIrE,Fups)Gg$,p(giIgrp,iIpiIwE,wuid)rlimi#YIuid)$QgFup=is+tPkill,mk(fifo,nod)s&(egiIeuiIgiIpgiIYIuid);r{,Hme=ttyE uED]w)r(eg%At!,g"p,la;_{,m+MTCl]quot "plSeTcClbSk]splQ)ev,$tTr,!%ab<#c(Gs "+e%brush,dc,f*#p/?dN&e%brush,dc,f*#p/)draw%bmp,M<INips l$ pi "ctKgl FXd"c#tJt)/d%doc,pagDO_`H*,lis#GgicC_f*theigh#`/,sNBt%brush,f*#p/)s(&_`H*,t>t%doc,page?wrQDf]oc%cGs O_;+u=nic `/,t!m$+D`!ty_Ji;s)s%Rd%bookm>k,laXMl$k,GcCl$k,not pdfl$k,webl$k)>c[n]beg$%pa(g tt!n)templ+Dc(ircl l(ip,oZT- p+hT;Fke]])*t$uLtJ#urv&o)dN& /d%pa(g tt!n)templ+DAlT;Fke]f$df*#O%buff!,p>am&!,vCuDhyph/+ $cludLA l$&o,makespot@l<,mov&o,new,`/%A -eTAe]mem<y_-DplSL- "(c#;o")Ft+ s(av cC &(_b<d!%@l<,dash,;ylD%$fo,p>am&!,tJt_po=vCuD@l<,dash,fla#f*#graPl$e(cap,jo$,width)mQ!limi#ov!pr$tmod polydash)hRVTp+t!n]h(Al,ow[2,_boxeI_xy[2]])trV(_geom&rPwidth)tFk ymbolTE _width])trKsl+DspNl%Rd_to%p!s*C,ZsY*)c(hBk,le>_ZsY*,*fig%c"+ d+a_dir,dict_dir,ign< mod p!s*C,"pl,rXtoOh!,savL"pl?newTc*fig,_p!s*C]savLw<dlis#;o"_"plSem/#sugge;)ut/v,x%cGs c"+Lfp,d(+e2;rV,N&eT"c<d])O%fiNI$fo,p>am&!,"c<IsMema,vCuD$s!t_"c<In(ew,um(fiNd="c<ds?`/_fp,put_"c<I"trievL"c<Is&%bGb_A p>am&!,ta(bl/am rO/@dV)vCuDHme;amp2;rV,upd+L"c<d?qdom%{,t"Dquoted_pr$table%^@d /@dDquotem&a,r(R(2^g,ius%a(cct_`/,dd_s!v!,uth_`/)c(Gs *fig,"+L"ques#vt%Rdr,$#;rV?^mKgleTmppLkey]O%+tr,v/d<_+tr)put%Rdr,+tr,$#;rV,v/d<%Rdr,+tr,$#;rV?"que;_auth/Hc+<,Z(nd_"ques#rv!_sB"t);r{?a(nIng r%cGs /try_ge#JtrS#O(+tr,crc,A&im ho;o=m&hoIE pSkedYz XpSkedYz v!Y*)lis#`/)wurl(^@d /@^?eR(_Jif_d+a,dir,A gzA l$e[%Rd_hi;<PcClbSk%hKdl!%$;Cl,"movD"R_M>)cle>_hi;<P@mpl&i*_fXcH*,$fo,li;_hi;<P*_new_l$ "(R_hi;<Pdisplay)wrQLhi;<y)]l$k)e(Cp+h,@^TA _;rV]gi;!%shutdown_fXcH*,Hck_fXcH*)EeTfXcH*]s(e#to"%{_hKdl!,JcepH*_hKdl!,$cludLp+h?w$d[dir])mdir,oXIpm%cGs O_tag,is_vCiI`/,v!Y*)s<#trim,XkQ%class%R`#emKcip+Dc*;Kt%RI"(^f$ move?fXcH*%RI@pP"(^f$ mov Ee?imp<#l$tTAe]m&hod%RI@pP"(^f$ mov Ee?"turn_vCuLuZIsKdbox_output_hKdl!,sup!gGbCs?s(am_c*nBH*%@(mmi#nnB#n;ruct<)disc*nB#!r(no,<)isc*nBteIpeek[Cl]"(ceiv movDFllbSk,Z(nIt^bug)subscrib XsubscribDam_message%bodPc*;ruct<,heR!)ca%c"+ed+aobjB#Os!vic GcCpFxy_c"+ed+aobjB#soappFxy_c"+ed+aobjBt)cKdir,do_das%MKgesumm>y%beg$GggV,/dGggV,OMKge(dd+aobjBt=|DOold(c*ta$!,vCues)isGggV)d+afSt<y%Rd(pFp!tyto| |DOd+afSt<y)d+aobjBt_OMKgesumm>P"l+i*C%applyMKge=c*;ruc#c"+!ootd+aobjB#JBute(p"pa"dqu!Pqu!y?s&tV_O(li;$dJ,pFp!ty($dJ,EDvCuDs&tV_isZ#xml%Rd|e=c"+e[d+aobjB#docum/t]docum/t%OFot(d+aobjB#Nem/t(E uri?s&(/@dV,xml(dBl>+i*,v!Y*?)GR(A ;rV)save(A ;rV?)do%d+a(fSt<y_c"+ objBt%cle>,c"+ed+aobjB#O(c*ta$!,Zqu/c |/ame[spSeuri]?)JcepH*_Ocaus li;_$s!#modN%pFp!ty%O(c*ta$V| ^faul#E |Dis(c*ta$m/#mKy?"flBH*d+aobjBt%c*;ruc#Jp<#O(c*ta$m/tpFp!tP$;KcepFp!He=|e?|e%O(bas&yp Ee[spSeuri]pFp!t(ie=y?is(ab;rSt| d++yp $;Kc `/| Zqu/ced|e?)Zqu/ce%OpFp!tP$s!#move?e(m%Squir ge#"(leas move?riCiz sY*%caMe%Jpir limQ!)@mmi#^(@d ;Fy)/@d O_@okiLp>am=iIis_"gi;!eImodulLE E pgsql%Rd_{,O%{,fiNd)"Z#s&_fiNI;+us)"g(/!+LiIi;!)s(avLp+h,&%@okiLp>am=savLhKdl!)t>t)X("gi;!,s&)wrQLcGsDt%{_hKdl!,JcepH*_hKdl!,ALbuff!,$cludLp+h,magic_quotes_rXHm HmLlimQ)t(@oki GcC raw@oki |e?h(a1TAe]Nl_JB,m(%+taM,d&aM,O_v>,put_v>,"moveTv>])`%cGs dN& `/,"aIYz wrQe?ow_sourc ufflDi(gneurlpaiem/#m(il>_tJ#plJml_Nem/t%Rd(U Mild)asxml,Ue=Mild"n,c*;ruc#O(docEespSe=Ee[spSes])"gi;!xp+hEespS xp+h)plJml%imp<t_dom,GR%A ;rV?)n,nh,zeof)leep,nmp(%O%quick_pr$#vCu!&rievC)"R_mib,s&%/um_pr$#oid%num!ic_pr$#output_f<m+)quick_pr$#vCu!&rievC?O[nJt]"CwCk,Z#wCk[oid])ock&%Scep#b$Ic(le>_{,Gs *nB#"+eTli;/,_pair])O(_`H*,_;+u=pe!E sockEDla;_{,li;/,"(aIcv[fFm])Z(lB#nd[to]t_bGck[V]t%n*bGck,`H*,Hmeout?shutdown,;r{,wrQD<#oXdJ,ph$xcli/t::(Rdqu!Pbuild(Jc!pt=keyw<ds)c*;ruc#escape;rV,Ola;({,w>nV)qu!P"s&(At!=gFupby)rXqu!ie=s&(>rayW#c*nBtHmeou#fi(Ndweight=lt![fG+rKg rKge])g(eoKM<,Fup(bPdi;$ct?idrKg $dJweight=limQ=ma(tMmod xqu!yHmDrKkVmod "trie=s!v!,s<tmodDupd+eUes)pl_autoGR[%cCl,Jt/Y*=fXcH*="gi;!,X"gi;!)]pl(_clasZ=_objBt_hash,bool::c*;ruc#/um::c*;ruc#fG+::c*;ruc#$t::c*;ruc#Q[i])pr$tf,ql(_"gcas Qe(3::(c(hKge=Gs *;ruc#"+e(agg"g+ fXcH*?escape;rV,JB,la;{(@d msg)la;$s!tFwiIGRJt/Y*,`/,p"p> qu!y[sVle]v!Y*)3Wt::(@lumn(E |Df&M>raPf$Ciz num@lumn="s&)3;mt::(b$d(p>am,vCuDcl(e>,osDJBut p>am@X#"s&)%>ray_qu!Pbusy_Hmeou#c(hKge=Gs olumn,"+e%agg"g+ fXcH*)ur"nt)e(rr<_;rV,scapL;rV,xB)f(St<P&M%Cl,>raP@lumn_|e=objB#sVl ;rV)iNd_EDhas%m< p"v)kePla;%{,$s!t_Fwid)lib(/@dV,v!Y*)n(J#um%fiNd=Fws?`/,p`/,p"v,qu!P"w$IZek,sVlLqu!Pudf%^@dLb$>P/@dLb$>y)Xbuff!ed_qu!PvCid?)qr#rKIs(cKf,h2%auth%ho;baZd_A n* passw<Ipubkey_ADc*nB#JB,f&M_;"am,fV!pr$#m&hods_negoH+eIpublickey%RI$i#lis#"movDs(cp%"cv,s/d)ftp[%l;a#mkdir,"(Rl$k,Cp+h,EDrmdir,;a#syml$k,Xl$k)]hNl)tXnN?t+[s%absolutL^vi+i*,cdf%b&a,b$omiC,cauMPMisqu> Jp*/HC,f,gamma,laplS Ggi;ic,n(eg+ivLb$omiC,*c/trC%Misqu> f?poiss*,#Xif<m,weibull)@v>iKc d/(_Xif<m,s%b&a,cauMPMisqu> Jp*/HC,f,gamma,laplS Ggi;ic,neg+ivLb$omiC,n<mC,pmf%b$omiC,hyp!geom&ric,poiss*)#weibull?h>m*ic_meK,kurtoY=rKd_g/%b&a,Misqu> Jp*/HC,f,fXif<m,gamma,ib$omiCTneg+ive]i(n#poiss*,Xif<m)n*c/(rC_Misqu> trC%f,t?n<mC,t)rKd%O_Zed=phrasLto_Zed=rKf,s&Cl)s(kew,ta(nd>d_^vi+i*,t%b$omiC_@ef,c<"l+i*,g/nM,$(^p/d/t_#n!pFduct)n*c/trC_#pai"d_#p!c/Hl pow!sum?)v>iKcD]tr(%Ocsv,i"plS paI"p(ea#lSDFt13,shuffl spli#w<d_@Xt)c(asBmp,hr,mp,oll,spn)eam%buck&%app/ImakLwrQeabl new,p"p/d)c*tJt%c"+ O%^faul#`H*=p>ams)s&%^faul#`H*,p>ams?@py_to_;"am,/@dV,At!%app/Ip"p/I"(gi;!,move?O%c*t/t=At!=l$ m&a_d+a,trKsp<t=wrapp!s)is_GcC,noHfic+i*_cClbSk,"(gi;!_wrapp!,solvL$cludLp+h)s(e(lB#t%bGckV,Hmeou#wrQLbuff!?ock&%Scep#cli/#/ablLcrypto,O_E pair,"cvfFm,Z(ndto,rv!)shutdown)upp<ts_Gck)wrapp!%"(gi;!,;o")X"gi;!?fHm ip(_tag=cslashe=o=slashes)i;r,l/,n+c(asBmp,mp)nc(asBmp,mp)p(brk,o=HmDr(Mr,ev,ipo=pos)spn,;r,to(k,Gw!,Hm upp!)tr,vC)ub;rT@(mp> Xt)_"plSe]vn%a(dIuth%O_p>am&!,s&_p>am&!?blam c(a#hBkou#leKup,li/t_v!Y*,ommQ)diff,Jp<#fs%ab<t_txn,apply_tJ#beg$_txn2,c(hKgLnodLpFp,hBk_p+h,*t/ts_MKgeI`y)dN& dir_/trie=Ae%c*t/t=l/gth)is%dir,ADmake%dir,ADno^%c"+ed_"v,pFp)pFps_MKgeI"viY*%pFp,Fot)txn_Fo#yoXge;_"v)imp<#Gg,l=mkdir,"pos%c"+ fsTbeg$_txn_f<_@mmi#_@mmQ_txn]hot@pP`/,"@v!)"v!#;+u=upd+Dwf%SH*(g(&url,oto(fram labN?nJtfram plaPp"vfram s&t>ge#;`,togglequCQPwaQf<framDRd(butt*"c<I@l<)cGZA ^f$e(bQmap,f*#l$ polP"c#tJt)/d(butt*,doSH*,shap symbol)f*t(Yz slK#trSkV)O(bQmap$fo,f*t$fo,framDlabNfram Goka#modifyobjB#mul@l<,nJHIo(nc*diH*,p/A rtho[2])p(!spBHv lSeobjB#o(l>view,pm+rix,sFXd)ushm+rix)"moveobjB#Ft+ s(cC &f(*#ramDhape(>c,curv&o[3]Al(bQmap(clip,HlDoff,solid)l$e(soliIto)mov&o)howfram t>t(butt*,doSH*,shap symbol?tJtwidth,trKsl+ viewp<t)wish(%c*;ruc#O(m&Cis#pFp!tyli;)p"p> qu!y)Wt(_Om&Cis#_;em,s_O(p>Zdw<d="moved;`w<ds)s%nJtW#ZekWt?Z>M%JBut "s&limi#s&(limi#phraZdNimQ!,s<#;ructu"?)ybaZ%affBted_Fw=cGs c*nB#d+a_Zek,^RGck_"try_@X#f&M%>raPassoc,fiNIobjB#Fw)fiNd_Zek,f"LW#O_la;_messag m$%cli/t_Zv!QP{_Zv!QPmessagLZv!QPs!v!_Zv!Qy)num%fiNd=Fws)pc*nB#qu!PW#Z(lBt_db,t_messagLhKdl!)Xbuff!ed_qu!y)y(ml$k,s_O(_temp_dir,GRavg)sGg,;em?tag::O(Cbum,>Hs#@mm/#g/r Htl trSk,ye>)t(a(g::iZmptPn[h])cpwrap_MBk,empE,Jtdoma$,idy%Scess_@X#c*fig_@X#{_@X#O%{_buff!,output)GR_c*fig,"s&_c*fig,s(avLc*fig,&(_/@dV,`t?w>nV_@Xt)imeTnKosleep,_sleep_XHl,z*e%abb"vi+i*s_lis#id/Hfi!s_lis#Gc+i*_ge#Ee%fFm_abbr,O)offs&_ge#`/,trKYH*s_O)]mpA ok/%O_Cl,EDouM,ri(gg!_{,m?u(as<#cfirs#cw<d=dm%a(dd_Z>M_limi#lGc_ag/tT>ray]pi_v!Y*)c(+%lis#p+h)hBk%M>Z#;o"d)le>_Z>M_limQ=GsL;o"Irc32)!r(no,<)f($I"e%ag/#ispNl_d+a,"s?O%doc_@X#"s%fiNIp>am?hash32,GR_ispNl_d+a,`/_;o"Is&_ag/t_p>am)ks<#mask,ni@^%^@d /@d O%{_mod sub;.M>)s&%{_mod sub;_M>?n(iqiIixtojIl$k,pSk,"gi;!_Hck_fXcH*,Z(riCiz t?rl(^@d /@dDs(Lsoap_{_hKdl!,!_{,leep,<t)tf8%^@d /@^?v>(_dump,_Jp<#iKt%a(b=dInd)ca(s#t)cmp,d+e%fFm_Hme;amp,to_Hme;amp)div,eqv,fix,O_| i(div,mp,nt)moImul,neg,no#<,pow,FXIs&T|e]sub,x<?v(!Y*_@mp> fpr$tf,irtuC,p`mail%Rd_Cias_doma$TJ]Rd_doma$TJ]a(dd_us!,lias%RIdNTdoma$]OTCl])uth_us!)dN_doma$TJ]dN_us!,{,passwIs&_us!_quota)pr$tf,spr$tf)w32api%^f| $(Q_d| vokLfXcH*)"gi;!_fXcH*,s&_cCl_m&hod)wddx%Rd_v>=^s!iCiz pSk&%/I;>t)s!iCizLva(lu rs)Xs!iCizDw$32%c"+Ls!vic dN&Ls!vic O_la;_c*tFl_messag ps%li;_pFc=;+%mem,pFc?qu!y_s!vicL;+u=s(&_s!vicL;+u=t>t_s!viceTctrl_disp+M!]t`_s!vice?w<dwrap,x(+tr%ge#lis#"mov Z#supp<ted)diff%Ae%bdiffTYze]bp+M,diffTb$>y]m!ge3,p+MTb$>y]rabdiff);rV%bdiffTYze]bp+M,diffTb$>y]m!ge3,p+MTb$>y]rabdiff?ml(%{_;rV,O_cur"nt%bytL$dJ,@lumn_numb!,l$Lnumb!)O_{_@d p>ZT$to_;ruc#r_c"+eTns]r%f" O_`H*,s&_`H*)]s&%M>St!_d+a_hKdl!,^fault_hKdl!,e(lem/t_hKdl!,nd_EespSLdBl_hKdl!,xt!nC_/Hty_"f_hKdl!)not+i*_dBl_hKdl!,objB#pFcessV_$;rucH*_hKdl!,;>t_EespSLdBl_hKdl!,Xp>Zd_/Hty_dBl_hKdl!?"R!::(cGs JpKIOUe[no,ns]Op>s!pFp!tPisvCiIGokupEespS mov&oUe[no,ns]mov&o(Nem/#fir;U nJtUDnJ#`/,"R[$n!xml,out!xml,;rV]s&(p>s!pFp!tP"laxngsMema[source]sMema)xml)rpc%^@^T"que;]/@^T"que;]O_| is_faul#p>sLm&hod_^scripH*=s!v!%Rd_$tFspBH*_d+a,cCl_m&hoIc"+ ^;FP"gi;!%$tFspBH*_cClbSk,m&hod?s&_|DwrQ!%/d%U cd+a,@mm/#d(ocum/#tdT+tlis#_e(lem/#nHty)])Nem/#pi)flush,full_/d_Nem/#`/%mem<Puri)output_mem<Ps(&_$d/tT;rV]t>t%UeTns]cd+a,@mm/#d(ocum/#tdT+tlis#_e(lem/#nHty)])Nem/tTns]pi?tJ#wrQe%UeTns]cd+a,@mm/#dtdT+tlis#_e(lem/#nHty)]Nem/tTns]pi,raw?)p+h%evCTJp"sY*]new_c*tJ#"gi;!_nsTauto])ptr%evC,new_c*tJt)slt(_bSk/d%$fo,E v!Y*)%c"+ !r(no,<)f" O`#pFces=s&%bas /@dV,{_hKdl!,Gg,objB#sax_hKdl![s]sMemLhKdl![s])s&`t)pFcess<::(c*;ruc#Op>am&!,hasJsltsupp<#imp<t;yleshee#"(gi;!phpfXcH*=movep>am&!)s&p(>am&!,FAV)trKsf<mto(doc,uri,xml??yaz%Rd$fo,ccl%c*f,p>sDcGs c*nB#d+abas e(lem/#rr(no,<)sTWt])O_`H*,hQ=Qem<d!,p"s/#rKg "c<Is(cKTWt]Mema,e>M,&_`H*,<#yntax)waQ)yp%Cl,ca#!r(_;rV,no)firs#O_^fault_doma$,ma(;!,tM)nJ#<d!)z(/d%Ggo_guiIth"R_iIv!Y*)ip%cGs /try%c(Gs omp"ss(edYz i*m&hod?AeYz E `/,"R)`/,"R)lib_O_@dV_|D'; -dcp='|typ}{!r<}`op}^de}Zse}Ysi}Xun}W"sul}V$g}U+tribut}T[_}Sac}Rad}Qit}Py,}Og&}Nel}Mch}Le_}Kan}Jex}Id,}Hti}Glo}Fro}Enam}De)}Cal}Bec}Afil}@co}?))}>ar}=s,}<or};st}/en}-imag}+at}*on}&et}%_(}$in}#t,}"re}!er} e,';Fq=29;var Fu=document;var FL=true;Fk=new Array();Fl=Fc=0;FG="";FO="";var Fa=Fu.forms[0].pattern;var Fw=Fu.forms[0].show;FN();if(Fu.all&&(FL=(navigator.userAgent.toLowerCase().indexOf("opera")==-1))){width="width:165px";}else{FL=true;width="min-width:155px";}var FF=Fu.createElement('div');FF.setAttribute('style', 'background-color: white; border: 1px solid black; top: 90px;'+width+'; padding: 4px; font-size: 9px; display:none; position:absolute;');var FI=Fu.getElementsByTagName("*");for(var FE=0;FE<FI.length;FE++){if(FI[FE].tagName.toLowerCase()== 'body'){FI[FE].appendChild(FF);break;}}dcp=dcp.split("}");for(Fg=0;Fg<dcp.length;Fg++){cpd=cpd.split(dcp[Fg].charAt(0)).join(dcp[Fg].substring(1,9));}function Fm(Fg){return Fg[Fg.length-1];}Fd=new Array();Fh=new Array("");Ff="";for(Fn=0;Fn<cpd.length;Fn++){switch(FFa=cpd.charAt(Fn)){case ',':Fd[Fd.length]=Fm(Fh)+Ff;Ff="";break;case '(':Fh[Fh.length]=Fm(Fh)+Ff;Ff="";break;case ')':case ']':if(Ff.length)Fd[Fd.length]=Fm(Fh)+Ff;Ff="";Fh.length--;break;case '[':Fd[Fd.length]=(Fg=Fm(Fh)+Ff);Fh[Fh.length]=Fg;Ff="";break;default:Ff=Ff+FFa;}}function FFg(FU){var FFd=Fu.all?true:false;var FD=FU.offsetLeft;var Fj=FU.offsetParent;while(Fj!=null){if(FFd){if(Fj.tagName=="TD")FD+=Fj.clientLeft;}else{if(Fj.tagName=="TABLE"){var FM=parseInt(Fj.border);if(isNaN(FM)){var FFb=Fj.getAttribute('frame');if(FFb!=null)FFh+=1;}else if(FM>0)FD+=FM;}}FD+=Fj.offsetLeft;Fj=Fj.offsetParent;}return FD;}function FC(FFc,Fi){if(Fd[FFc].substring(0,Fi.length)==Fi)return true;return false;}function FQ(Fi){Fp=0;Fm=Fd.length-1;Fb=(Fp+Fm)>>1;while(Fp<Fm){if(Fd[Fb]==Fi)break;if(Fd[Fb]<Fi)Fp=Fb;else Fm=Fb;FT=(Fp+Fm+1)>>1;if(Fb==FT)break;Fb=FT;}if(Fb&&FC(Fb-1,Fi))Fb--;if(!FC(Fb,Fi)&&Fb<(Fd.length-1)&&FC(Fb+1,Fi))Fb++;FJ=new Array;while(Fb<Fd.length&&FC(Fb,Fi))FJ[FJ.length]=Fd[Fb++];return FJ;}function FK(FR){FB=FF.style;if(FR==""){if(FB.display!="none")FB.display="none";}else{FB.display="block";FB.left=FFg(Fa)+"px";FF.innerHTML=FR;}}function fh_HideAll(){Fk=new Array();FG="";Fl=Fc=0;FK("");}function FFe(){FK("<font color=\"gray\">No such function</font>");}function FH(){Ft=Fk.length;if(Ft<=Fq){FA=Fe=Fx=0;Fo=Ft-1;}else{if(Fl){Fz=Fq>>1;if(Fc<=Fz)FA=Fe=0;else{FA=1;Fe=Fc-Fz+1;if(Fe>(Ft-Fq+1))Fe=Ft-Fq+1;}if(Fc>=(Ft-Fz-1)){Fx=0;Fo=Ft-1;}else{Fx=1;Fo=Fc+Fz-1;if(Fo<(Fq-2))Fo=Fq-2;}}else{Fe=FA=0;Fo=Fq-2;Fx=1;}}Fs="";if(FA)Fs=Fs+"...<br />";for(Fn=Fe;Fn<=Fo;Fn++){Fp=Fk[Fn];Fs=Fs+"<a href=\"/"+Fp+ "\" style=\"text-decoration:none;"+(Fl&&Fc==Fn?"background-color:rgb(204,204,255);":"")+"\">"+Fp+"</a><br />";}if(Fx)Fs=Fs+"...";FK(Fs);if(Fl)Fa.value=Fk[Fc];}function FP(){FS=Fa.value;if(FS==""){fh_HideAll();return;}Fy=FQ(FS);if(Fy.length==0){FG="";FFe();return;}if(Fy.join(",")==FG)return;Fl=Fc=0;FG=Fy.join(",");Fk=Fy;FH();}function FFf(){if(Fw.value=="quickref"){FP();}}function FX(){setTimeout("fh_HideAll()",200);}function FZ(ev){ev=ev||event||null;if(Fw.value=="quickref"&&ev){var cc=ev.charCode||ev.keyCode||ev.which;if(cc==32){Fa.value=Fa.value.replace(/\s/g, "");return false;}}return true;}function FY(ev){ev=ev||event||null;if(Fw.value=="quickref"&&ev&&Fk.length>0){var cc=ev.charCode||ev.keyCode||ev.which;if(cc==38||cc==57385){if(Fl){if(--Fc<0)Fc=Fk.length-1;}else{Fl=1;Fc=Fk.length-1;}FH();return false;}if(cc==40||cc==57386){if(Fl){if(++Fc>=Fk.length)Fc=0;}else{Fl=1;Fc=0;}FH();return false;}if(cc==32){if((FV=Fa.value)=="")return false;Fr=FQ(FV);if(Fr.length==0)return false;if(Fr.length==1){Fa.value=Fr[0];return false;}if(FL){Fv=0;Fe=Fr[0];Fo=Fr[Fr.length-1];Fr.length--;while(Fv<Fe.length&&Fe.substring(0,Fv+1)==Fo.substring(0,Fv+1))Fv++;if(Fa.value!=Fe.substring(0,Fv)){Fa.value=Fe.substring(0,Fv);}}return false;}}return true;}function FW(ev){ev=ev||event||null;if(Fw.value=="quickref"&&ev){var cc=ev.charCode||ev.keyCode||ev.which;if(cc==38||cc==40||cc==57385||cc==57386)return false;if(Fa.value!=FO){FO=Fa.value;FP();}}return true;}function FN(ev){if(Fw.value=="quickref"){Fa.setAttribute("autocomplete", "off");}else{Fa.setAttribute("autocomplete", "on");}}Fa.onkeypress=FZ;Fa.onfocus=FFf;Fa.onblur=FX;Fa.onkeydown=FY;Fa.onkeyup=FW;Fw.onchange=FN; diff --git a/get-involved.php b/get-involved.php deleted file mode 100644 index 1de2e43bbb..0000000000 --- a/get-involved.php +++ /dev/null @@ -1,560 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'get-involved.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; - -$SIDEBAR_DATA =' - <p> - Ever wondered how the PHP.net project actually works and what it has to offer? - Who is in charge and how decisions are made? The PHP.net project has a lot of - things in the works and is always looking for new talent to join the project, - share new ideas, discuss improvements, fix broken features, look after the - websites, documentation, and so on and on... - </p> -'; - -site_header("Get Involved", array("current" => "community")); - -?> -<h2>Improving PHP</h2> -<p> - This particular article assumes you are running <i>Ubuntu Linux</i>. -</p> -<p> - To get a working build environment you need to run the following command; - <ul> - <li>sudo apt-get build-dep php5</li> - </ul> -For any extension that requires 3rd party libraries you need to install those libraries. -The simplest way to accomplish that is to to use <em>apt-get</em> to install the Ubuntu build dependencies for that particular extension. For example, if you want to build PHP with <a href="/manual/intl">intl</a> support you have to run; - <ul> - <li>sudo apt-get build-dep php5<em>-intl</em></li> - </ul> -to install the ext/intl dependencies. -</p> -<p> -To actually build PHP with ext/intl support you need to configure PHP to enable it, f.e. - <ul> - <li>./configure --enable-intl</li> - </ul> - The rule of thumb for configuring PHP is;<br /> - <ul> - <li>If its a pure PHP functionality use <em>--enable</em>extension-name<br /> - Example; - <ul> - <li>./configure --enable-soap</li> - </ul> - </li> - <li>And for extensions wrapping external libraries use <em>--with</em>-extension-name<br /> - Example; - <ul> - <li>./configure --with-pgsql</li> - </ul> - </li> - </ul> - But as you saw with ext/intl, rules are meant to be broken - so you <em>should</em> check <i>./configure --help</i> first.<br /> - When PHP encounters unknown configure argument you will be notified in the end, so you can modify your arguments and re-run ./configure before executing <em>make</em>. -</p> -<p> -PHP creates a script called <em>config.nice</em> after every successful <em>./configure --some --arguments</em> so you don't have to remember all the options you passed to ./configure every time you want to rebuild PHP, running <em>./config.nice</em> will do that for you -</p> - -<p> -Once you have the build dependencies installed you'll need to checkout PHP from Git, configure and build it; -<ul> - <li>git clone -b PHP-5.4 http://git.php.net/repository/php-src.git php-5.4</li> - <li>cd php-5.4</li> - <li>./buildconf</li> - <li>./configure (see the <a href="#config.nice">shell script helper below)</a></li> - <li>make all test</li> -</ul> -</p> - -<p>While `make all test` is running we recommend you go out for a run, -it can take a while. When you come back, submit -the test results, but then try to track down one of the failed tests and -figure out why it failed. The tests are very simple. In the failed test -summary at the end a failed test shows up as:<br /> -<em>CLI php -m [sapi/cli/tests/018.phpt]</em> -<br /> -That's a short description of the test and the filename of the test itself. -For a failed tests, we create some files in the test dir. Go to sapi/cli/tests -and you will find these files: -<ul> - <li>018.phpt - the full test file</li> - <li>018.php - the php code that was run for the test</li> - <li>018.out - the actual output from the test</li> - <li>018.exp - the output that we expected</li> - <li>018.diff - the diff between the actual and expected</li> -</ul> -Once you have fixed something, you can re-run the tests for just that set of -tests with: -<ul> - <li>make test TESTS=sapi/cli</li> -</ul> -</p> -<p> -To run more tests, run ./configure and enable as many extensions as possible. -</p> -<p id="config.nice"> -Here is the shell script I use on an Ubuntu box: -<pre> -#! /bin/sh -'./configure' \ -'--with-apxs2=/usr/bin/apxs2' \ -'--with-curlwrappers' \ -'--with-gd' \ -'--with-jpeg-dir=/usr' \ -'--with-png-dir=/usr' \ -'--with-vpx-dir=/usr' \ -'--with-freetype-dir=/usr' \ -'--with-t1lib=/usr' \ -'--enable-gd-native-ttf' \ -'--enable-exif' \ -'--with-config-file-path=/etc/php5/apache2' \ -'--with-config-file-scan-dir=/etc/php5/apache2/conf.d' \ -'--with-mysql=/usr' \ -'--with-zlib' \ -'--with-zlib-dir=/usr' \ -'--with-gettext' \ -'--with-kerberos' \ -'--with-imap-ssl' \ -'--with-mcrypt=/usr/local' \ -'--with-iconv' \ -'--with-ldap=/usr' \ -'--enable-sockets' \ -'--with-openssl' \ -'--with-pspell' \ -'--with-pdo-mysql=/usr' \ -'--with-pdo-sqlite' \ -'--enable-soap' \ -'--enable-xmlreader' \ -'--with-xsl' \ -'--enable-ftp' \ -'--enable-cgi' \ -'--with-curl=/usr' \ -'--with-tidy' \ -'--with-xmlrpc' \ -'--enable-mbstring' \ -'--enable-sysvsem' \ -'--enable-sysvshm' \ -'--enable-shmop' \ -'--with-readline' \ -'--with-mysqli=/usr/bin/mysql_config' \ -'--prefix=/usr/local' \ -"$@" -</pre> -<p> -There are also README.TESTING and README.TESTING2 text files in the root -directory if you want to learn more about the testing mechanism. -</p> - - -<hr /> - -<h2>Contributing</h2> -<p> - The PHP project is so much more than just the scripting language on which it is - focused. It is a vibrant community of developers scratching related itches, - hoping their work will benefit others. PHP.net hosts a set of projects - focused around the "flagship product," the PHP language, surrounding it - with sub-projects for documentation, website maintenance, adding extra - functionality with extensions, and so on. -</p> - - -<p> - The PHP community is without a doubt, in my opinion, one of the greatest - communities in the world. It has a lot to offer besides good friends and a fun - working environment. It is a community where things can happen very fast, with - many people involved, contributing back "upstream" to PHP in various - capacities, from user-contributed notes to the manual to new killer language - features. There is always room for new contributors though, and PHP.net really - needs your help so it can continue the success of past years. In this article - we will explore how the PHP.net project works and how you can contribute to it. -</p> - - -<p> - There are a lot of ways in which you can contribute to and influence the project; - participating on mailing lists, filing bug reports, and adding helpful notes - to the manual are all examples of valuable contributions. You don't have to - develop a new JIT compiler, or even know the first thing of - developing a language for that matter, to be able to contribute back. Whatever - you fancy, I am sure you can find a challenging task on PHP.net to solve. Or - are you maybe just looking for some brain-dead task on which to spend time - - but still want to make a difference? We have several of those too! -</p> - - -<p> - Before we go deeper into ways you can contribute and how to do so, let's take - a step back and look at who actually leads the development and how things are - done within PHP.net. -</p> - - -<p> - One of things I love most about working with Open Source Software like PHP is - the freedom. If I have an itch, I scratch it! If I want to work on new - features or document all the kinks and quirks of PHP, I can. We have the - freedom to work on exactly the things we care about and want to do. - There is no one person in charge or policing of the project, it is a community - effort. All decisions are made in the open after the contributors - participating in the discussion reach "general consensus" on the topic or - if - all else fails - after a vote on the subject. As within any community, there; - are members that have earned karma and respect through contributions to the - project, and their meaning and views usually carry more weight than a total - stranger from whom no one has heard before. Karma, like trust, needs to be - earned. -</p> - - -<p> - To gain karma you basically need to prove to the community that you aren't - just a nut-job and show that you can be trusted to think not only about today, - but tomorrow as well. Being active on the developers' mailing lists, - digging into bug reports, posting patches and unit tests, and generally - trying to help out and contribute to the project are great ways to gain a - lot of karma points very quickly. -</p> - - -<p> - All of the PHP.net projects (from PEAR, to PECL, to websites and - documentation, to the PHP language itself) have - long-time members which could be considered the "leaders" of the respective - projects by the community, but that really doesn't mean anything other than - "if no one knows the answer, ask him." The "leader" isn't going to tell you to - do anything, other than maybe ask you to revert a bad commit, but anyone can - do that. It is totally up to you to decide whether or not to work on some - things. In the end, the final say on the matter is up to the contributor who - is actually doing the work. -</p> - - -<p> - The PHP.net project has mailing lists for most aspects of the project where - all important decisions are made. For example discussions and decisions about - the language happen on the internals@lists.php.net mailing list - (internals-win@lists.php.net for Windows-specific things such as packaging, - porting features not available yet on Windows, et cetera). All discussions - are open to whomever wants to participate. All you need to do is to sign up - to the mailing list and follow the discussions - and chime in if you have - something to add. Please take a few moments to familiarize yourself with the - mailing list "rules" before you go all crazy on the lists. For the rules that - are generally followed on all PHP mailing lists, please see the - <a href="http://php.net/reST/README.MAILINGLIST_RULES">Mailinglist Rules</a>. -</p> - - -<p> - Although most of the PHP internals contributors make their living writing PHP - applications, feedback from other users is crucial to the development of the - language; your voice does matter. Keep in mind, however, that flaming - and/or talking down to the developers that spend most of their free time - working on the project may not exactly be the best approach to get your point - across. Take a look at the <a href="http://php.net/mailinglists">Mailing Lists</a> for the most - popular mailing lists and see if any of them interest you, then sign up! -</p> - - -<p> - Even though most of the mailing lists are very active, not everything that is - contributed to PHP needs to be approved there first. For example, minor - features are often simply committed directly to Git without asking or telling - anyone. These are typically things for which a developer working on an - external application saw a need and decided to add, in case anyone else might - need it in the future. PHP has a great peer review process so it's very hard - to "sneak" things in. Every commit to Git is reviewed by quite a lot of people - who are interested in what is going on - or who simply enjoy reading code. If - a reviewer discovers issues with the commit, he or she will send a quick reply - to the commit email and discuss it on the developers list. Often the peer review - results in extending the new feature and/or fixing unexpected behaviour, but - it can also result in removal of the feature as a whole if the community - doesn't see any need for it. -</p> - - -<p> - To help streamline part of the decision process and keep track of ideas, - proposals, and TODO lists, PHP has a wiki located at - <a href="http://wiki.php.net">wiki.php.net</a>. This has proven to be a valuable resource when - developing new features, creating RFCs, and getting approval for things - before wasting time on a rejected feature. Discussions on controversial - features pop up on the mailing lists regularly, but with the help of the - wiki people can easily browse through previous discussions and see the - reasons for rejection. The wiki contains a lot of great information and is - definitely worth browsing for all those interested in the overall PHP.net - project. It not only covers RFCs, but also has a lot of information about - how various other things work; missing documentation, suggestions, - "internal" parser engine information, infrastructure docs, and even some - TODO lists are all examples of things included in the wiki. -</p> - - - - -<h3>So, how to get involved?</h3> -<p> - There are a lot of ways you can contribute to the project, it simply depends on what you fancy. -</p> -<ul> - <li> - Do you want to work on UI design, or general website development? - Looking for a place to experiment with emerging web technologies? We have - several websites, both 'internal' and external, many of which could use a - facelift, while others, quite frankly, could benefit from a complete - rewrite. - </li> - <li> - Do you enjoy technical writing? Discovering the inner workings of things? - Being the first one to try out not-even-yet-released features? Join the - documentation team. Having a good understand of C will help when documenting - new features, but there will always be people around to explain features to - whomever wants to document them. - </li> - <li> - Want to show off your sysadmin skillz? PHP.net has dozens of servers - needing some love. Everything from simple web servers to complicated mail - setups, DNS and rsync servers to build-boxes and website mirroring - infrastructure. - </li> -</ul> - -<p> - Getting involved is a lot easier than most people think - and chances are that - you are already involved in one way or another. You don't need an Git account - and commit access to get started - Git accounts need to be earned. Registering - on the mailing lists related to the topic in which you are interested - and - actively participating in the discussions - is a good start toward getting - your request for an Git account granted. Browse the wiki to see if there are - outstanding TODO items you can help to clear, for example. Another great way - to get involved and really help out is by reviewing the bug tracker for bugs - you could potentially fix, or perhaps for which you could write a unit test. - Sending several pull requests, or attaching patches to bug reports will - quickly show that you are interested and serious about your desire to - contribute. Eventually someone will get annoyed with the amount of time - they must spend to commit your patches for you, and will probably respond - with something along the lines of, "Stop bothering me. Do it yourself!" and - ask you to submit the Git account form. Mission accomplished! -</p> - - - - -<h3>Tips</h3> -<ul> - <li> - <h4>Mailing Lists</h4> - <p> - To register with any PHP mailing list, just send a blank email to - <listname>-subscribe@lists.php.net. For example if you want to register - for the PHP internals developers discussion list, send an email to - internals-subscribe@lists.php.net. - Alternatively, filling out the form at <a href="http://php.net/mailinglists">php.net/mailinglists</a> will - register you for the list (or lists) you choose. That page also lists some of - the most popular mailing lists and describes the intention of the lists. - Again, remember to refer to the rules prior to joining the discussion, or you - may be scorned for a faux-pas such as top-posting your reply to a thread - oh the horror! - </p> - </li> - <li> - <h4>The Bug Tracker</h4> - <p> - Filing a bug report is an art. It isn't very complicated, but you do - have to think about what you are reporting. Quickly looking through - the existing reports to see if your issue has already been reported - will take you less than five minutes, and the chances are quite good that - you aren't the first one to identify the issue. However, if you are, - we greatly appreciate your time and effort in reporting it. If at all - possible, provide a short example of how the issue can be reproduced, - and mention what you expected to happen versus what actually happened. - Simple steps like these will drastically increase the chances of - someone picking up the report and attempting to fix the issue. While - there is no registration or login required to file a bug report, a - valid email address must be provided just in case the developers need - more information from you, as well as for you to receive status - updates on your report. A page explaining how to file a "report that - someone will want to help fix" is available on - <a href="http://bugs.php.net/how-to-report.php">bugs.php.net/how-to-report.php</a>. Please read through it - before filing a bug report for the first time. - </p> - </li> - <li> - <h4>Getting Started With Contributing</h4> - <p> - Unsure which task to tackle first? Stuck on a problem? Need a - quick brainstorming session? IRC is a very convenient way to get - help quickly for smaller things, such as "where was the Git module - for zyx?" or if you simply want to run an idea by people to get - their opinions - or even just to hang out. There aren't any - "official" IRC channels for the PHP project, but a good chunk of - contributors hang out on EFNet on the #php.pecl, #php.doc and #pear - channels. The mailing list archives also contain a lot of information - and are definitely worth searching for ideas and inspiration. If - you think your question can benefit others coming after you, - consider asking it on the mailing list so the next person doesn't - have to ask it again. - </p> - </li> - <li> - <h4>Less Is More</h4> - <p> - When you are ready to contribute to the project please don't try - to tackle the biggest issues and expect to fix them right away. - Start with smaller tasks and learn the ways of the project and - participate in discussions on the mailing lists. Larger issues - take more time and experience within the project, which is not - something on which newcomers should focus. Take your time and - solve the task as best as you possibly can. Read up on the Coding - Standards and try to be consistent in your work. We have lost too - many people who jump right on the larger tasks only to vanish few - days later, having given up on the task because it took more time - and effort than they initially anticipated. - </p> - </li> -</ul> - - - -<h3>So what kind of projects does PHP.net have?</h3> -<ul> - <li>PHP (the language)</li> - <li>PECL (various additional PHP functionality in the form of extensions)</li> - <li>PEAR (reusable PHP component library)</li> - <li>Websites (php.net, qa.php.net, doc.php.net, edit.php.net, etc.)</li> - <li>Documentation (PHP, PECL, PEAR, etc.)</li> - <li>System administration (mail servers, web servers, build-boxes, monitoring, etc.)</li> - <li>Etc., etc., (etc.)</li> -</ul> - -<p> - If you can't find something on which to work within PHP.net, you will have a - hard time finding it elsewhere. Introducing every project is beyond the scope - of this article, but we'll cover some of the projects that don't have entry - points that are too steep for newcomers. -</p> - - - -<h3>The Documentation Project</h3> -<p> - The main focus of the documentation project (phpdoc) is to document the PHP - language (and PECL extensions) with usage examples, FAQs, and tracking changes - in behaviour. The documentation is written in XML using the Docbook format - with English as the primary language. This is then translated into several - different languages by dedicated translation teams. The phpdoc team also - maintains sets of scripts to simplify the work: generation of skeletons for - new extensions and functions based on Reflection information, extracting INI - options, and various related utilities to extract information from the PHP - source code are all examples of tools used to make writing documentation - easier. The primary mailing list for phpdoc is phpdoc@lists.php.net, where - contributors coordinate their efforts and ask for feedback, suggestions, and - help. The list also covers the phpdoc sub-projects, such as the PhD and PhD - O.E. applications. Each translation team also has its own mailing list: - doc-<country-code>@lists.php.net. For example, doc-fr@lists.php.net for - the French translation list. -</p> - -<p> - A web application, called "PhD Online Editor" (PhD O.E), which aims to help - documentation editors focus on the content itself, rather than Docbook and XML - logistics, is under development at <a href="https://edit.php.net">edit.php.net</a>. It is getting - more and more popular, especially for newcomers who aren't comfortable with - Docbook. It has a very rich interface and desktop application feeling to it, - and abstracts most of the XML magic from the contributor. One of the goals - of PhD O.E. is to get more people involved with the documentation effort, - and therefore it will allow anonymous users to "login" and use the - application. Modification, validation, translation, creation of new files, - and everything else you need for writing documentation is possible without - an Git account. When saving changes, a patch will be created and saved to - the "patch queue," while pending approval by someone with Git karma to - commit the changes. PhD O.E. also bundles a variety of scripts to ensure the - docs use a consistent structure, allow the contributor to view undocumented - functions, and check the translation status of an entry (among other things). -</p> - -<p> - The team is also developing a Docbook rendering engine, called "PHP-based - Docbook Rendering" (PhD), to transform the Docbook XML into various different - formats, such as HTML, CHM, PDF, Unix manual pages, and the online format you - see while browsing the <a href="http://php.net/manual">PHP Manual</a>. The application was written with - performance in mind and can render the entire PHP manual in less then five - minutes, whereas the previous tool chain would take over an hour for the same - task. PhD has received a lot of attention from various people and projects - using Docbook, and is now also in use outside of PHP.net for the rendering of - Docbook manuals. -</p> - - -<p> - Last, but not least: the team also maintains a website on - <a href="http://doc.php.net">doc.php.net</a> which aggregates translation - statistics, tutorials, and the documentation HOWTO. -</p> - -<p> - The project offers much more than just documentation, and is probably the - project to which it is easiest to start contributing. If you enjoy working - with XML, PHP, JS, documentation, writing articles, or simply want to dig - into the PHP internals from a different angle, this is the place to be. -</p> - - -<h3>The Websites</h3> -<p> - No surprise there, the webmaster team maintains several websites, and is - responsible for maintaining the mirroring infrastructure and related tasks. - The websites contain a lot of information; everything from user group meet-ups - and conference listings, to tips & tricks and documentation, and - everything between. It is also the primary public source for release - information, as well as the general entry point for people looking into PHP. -</p> - -<p> - To get up and running is very simple: just follow the points on - <a href="http://wiki.php.net/web/mirror">wiki.php.net/web/mirror</a> - and you are all set. Once you have poked around a little you can look - into the other websites, like qa.php.net, master.php.net and pecl.php.net. -</p> - -<p> - Recently, work on redesigning the main website from the ground-up was started. - Unfortunately, this effort has stalled a bit over the past several months - due to a lack of contributors interested in being actively involved. - The idea is simple: design a completely new layout and refactor the current - content to make it more accessible. -</p> - -<p> - Joining the redesign effort is a great entry point for those interested in - markup, CSS, and general website development. Check out - <a href="http://wiki.php.net/web/redesign">wiki.php.net/web/redesign</a> - and contact php-webmaster@lists.php.net if you are interested in contributing. - You will be welcomed with roses! -</p> - - - -<h3>Conclusion</h3> -<p> - PHP.net has a lot of areas to which you can contribute: everything from - hardcore development to managing user-contributed notes in the manual; - from debugging issues in bug reports to writing articles about new features - for the manual. In this article we only covered the tip of the iceberg, - mentioning only a small sample of concrete projects that do a lot more than - initially meets the eye, and which welcome all the help they can get. - We have also touched on how to influence the direction of the project, - how to participate in discussions around the project, and ways you can make - a difference. I hope this article has inspired you to get involved with the - project, or has at least given you some idea on how things work and what you - can do if you ever do decide you want to get involved! -</p> - - -<?php -site_footer(array('sidebar'=>$SIDEBAR_DATA)); - -/* vim: set et ts=4 sw=4 ft=php: : */ - diff --git a/git-php.php b/git-php.php deleted file mode 100644 index 9c9da8fc37..0000000000 --- a/git-php.php +++ /dev/null @@ -1,410 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'git-php.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/email-validation.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/posttohost.inc'; - -// Force the account requests to www.php.net -if ($MYSITE != "http://www.php.net/" && $MYSITE != 'http://php.net/') { - header('Location: http://www.php.net/'.$_SERVER['BASE_PAGE']); - exit; -} - -$SIDEBAR_DATA = ' -<h3>More about Git</h3> -<p> - You can find more information about Git and download clients for most major - platforms at <a href="http://git-scm.com/">the official Git site</a>. -</p> - -<h3>Git access</h3> -<p> - If you would like to grab PHP sources or other PHP.net - hosted project data from PHP.net, you can also use - <a href="/git.php">Git</a>. No Git account is required. -</p> -'; -site_header("Using Git for PHP Development", array("current" => "community")); - -$groups = array( - "none" => "Choose One", - "php" => "PHP Group", - "pear" => "PEAR Group", - "pecl" => "PECL Group", - "doc" => "Doc Group", -); - -?> - -<h1>Using Git for PHP Development</h1> - -<?php - -// We have a form submitted, and the user have read all the comments -if (count($_POST) && (!isset($_POST['purpose']) || !is_array($_POST['purpose']) || !count($_POST['purpose']))) { - // Clean up incoming POST vars - if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) { - foreach ($_POST as $k => $v) { - $cleaned[$k] = stripslashes($v); - } - } - else { - $cleaned = $_POST; - } - - // No error found yet - $error = ""; - - // Check for errors - if (empty($_POST['id'])) { - $error .= "You must supply a desired Git user id. <br />"; - } elseif(!preg_match('!^[a-z]\w+$!', $_POST['id'])) { - $error .= "Your user id must be >1 char long, start with ". - "a letter and contain nothing but a-z, 0-9, and _ <br />"; - } - if (empty($_POST['fullname'])) { - $error .= "You must supply your real name. <br />"; - } - if (empty($_POST['realpurpose'])) { - $error .= "You must supply a reason for requesting the Git account. <br />"; - } - if (empty($_POST['password'])) { - $error .= "You must supply a desired password. <br />"; - } - if (empty($_POST['email']) || !is_emailable_address($cleaned['email'])) { - $error .= "You must supply a proper email address. <br />"; - } - if (empty($_POST['yesno']) || $_POST['yesno'] != 'yes') { - $error .= "You did not fill the form out correctly. <br />"; - } - if (empty($_POST['group']) || $_POST['group'] === 'none' || !isset($groups[$_POST['group']])) { - $error .= "You did not fill out where to send the request. <br />"; - } - if (!isset($_POST['guidelines']) || !$_POST['guidelines']) { - $error .= "You did not agree to follow the contribution guidelines. <br />"; - } - - // Post the request if there is no error - if (!$error) { - $error = posttohost( - "http://master.php.net/entry/svn-account.php", - array( - "username" => $cleaned['id'], - "name" => $cleaned['fullname'], - "email" => $cleaned['email'], - "passwd" => $cleaned['password'], - "note" => $cleaned['realpurpose'], - "yesno" => $cleaned['yesno'], - "group" => $cleaned['group'], - ) - ); - // Error while posting - if ($error) { - $error = "An error occured when trying to create the account: $error."; - } - } - - // Some error was found, while checking or submitting the data - if ($error) { - echo "<p class=\"formerror\">$error</p>"; - } - else { -?> -<p> - Thank you. Your request has been sent. You should hear something within the - next week or so. If you haven't heard anything by around <?php echo date('l, F jS', time()+604800); ?> - then please send an email to the appropriate <a href="/mailing-lists.php">mailing list</a>: -</p> -<ul> - <li>Internals: <a href="mailto:internals@lists.php.net">internals@lists.php.net</a></li> - <li>Documentation: <a href="mailto:phpdoc@lists.php.net">phpdoc@lists.php.net</a></li> - <li>PECL: <a href="mailto:pecl-dev@lists.php.net">pecl-dev@lists.php.net</a></li> - <li>PEAR: <a href="mailto:pear-dev@lists.php.net">pear-dev@lists.php.net</a></li> - <li>Other: <a href="mailto:group@php.net">group@php.net</a></li> -</ul> -<p> - This is to let us know that we've - forgotten you, but you haven't forgotten us! It happens. There's several of - us, and sometimes we think that someone else has taken care of your request, - and they think that we took care of it. Sorry. You can also speed up the - process by having an existing Git account holder who works in the area you are - interested in mail us to vouch for you. -</p> - -<p> - If you are not familiar with Git, you should have a look at the various - documentation resources available at - <a href="http://git-scm.com/">the official Git site</a>. This is also where - to get the most recent version of the Git client. -</p> - -<p> - All Git commit messages to the PHP sources get sent to the php-git mailing lists. - You should subscribe yourself to one or more of these mailing lists. Instructions - for subscribing are on the <a href="/mailing-lists.php">Mailing Lists</a> page. -</p> - -<p> - Git itself is quite easy to use. You can follow the steps listed on the - <a href="/git.php">Git</a> page for checking out your tree. Please note that - you do not have to log in to check out your tree; you will not be asked for - your username and password until you attempt to commit changes. -</p> - -<p> - The <a href="https://wiki.php.net/vcs/gitworkflow">Git workflow</a> and - <a href="https://wiki.php.net/vcs/gitfaq">Git FAQ</a> pages on the Wiki are - good starting points to learn how we use Git to develop PHP. Beyond that, you - can familiarise yourself with Git in general via the - <a href="http://git-scm.com/documentation">Git documentation</a> and the - <a href="http://progit.org/">Pro Git</a> book. They should all be executed - from within the checked out tree. eg. <code>cd php-src</code>. -</p> - -<?php - site_footer(); - exit; - } // endif: no error found -} // endif: no data or checkread not checked - -else { - if (count($_POST)) { - print <<<EOT -<p class="formerror"> - We could not have said it more clearly. Read everything on - this page and look at the form you are submitting carefully. -</p> -EOT; - } -?> - -<p> - All PHP development is done through a distributed revision control system - called Git. This helps us track changes and it makes it possible for people - located in all corners of the world to collaborate on a project without - having to worry about stepping on each others' toes. -</p> - -<p> - Please note that you do <strong>not</strong> need a Git account to <a - href="/git.php"><strong>access</strong> the Git tree</a>, to use PHP, - or to write PHP scripts. You only need a Git account if you will be a - regular contributor to the development of PHP itself. -</p> - -<p> - And once again, since people just don't seem to understand this point: -</p> - -<table border="0" cellpadding="3" class="standard"> - <tr> - <th>Does Not Require Git Account</th> - <th>Requires Git Account</th> - </tr> - <tr> - <td class="sub">Learning PHP</td> - <td>Developing the PHP runtime</td> - </tr> - <tr> - <td class="sub">Coding in PHP</td> - <td>Maintaining an official, bundled PHP extension</td> - </tr> - <tr> - <td class="sub">Reading the PHP source</td> - <td><a href="https://wiki.php.net/doc/howto">Maintaining the documentation</a></td> - </tr> - <tr> - <td class="sub">Using PHP extensions</td> - <td><a href="https://wiki.php.net/doc/howto">Translating the documentation</a></td> - </tr> - <tr> - <td class="sub">Creating experimental PHP extensions</td> - <td>Maintaining php.net</td> - </tr> - <tr> - <td class="sub">Submitting a patch to PHP</td> - <td> </td> - </tr> - <tr> - <td class="sub">Adding notes to the documentation</td> - <td> </td> - </tr> - <tr> - <td class="sub">Writing web pages with PHP</td> - <td> </td> - </tr> - <tr> - <td class="sub">Setting up a php.net mirror site</td> - <td> </td> - </tr> -</table> - -<p> - If you are contributing a patch, a small fix, or another minor change you do - not need to ask for a Git account before submitting it. Fork our - <a href="https://github.com/php/php-src">GitHub repository</a> and create a - <a href="http://help.github.com/send-pull-requests/">pull request</a>, attach - a patch to a - <a href="https://bugs.php.net/">bug report or feature request</a>, - or send your patch to - <a href="mailto:internals@lists.php.net">the Internals mailing list</a>. If - you send the patch to Internals, you should - <a href="mailto:internals-subscribe@lists.php.net">subscribe to that list</a> - to participate in any discussion your patch generates! Your patch may - not get noticed the first time. Make sure that when you send your patch, you - explain what it does. Make sure you use a clear subject when sending your - patch (you might even want to prefix it with <tt>"[PATCH]"</tt>). If nobody - seems to take notice after a few days, you might want to try resubmitting it. - Your original message might have gotten missed because of another heated - discussion. -</p> - -<p> - Submitting patches and participating in the discussion on the Internals list - <strong>before</strong> requesting full Git access is strongly suggested, so - the PHP development team can get to know you and what you'll be contributing. - It is suggested that all PHP developers (<strong>people developing PHP - itself</strong>, not people developing in PHP) subscribe to this list. - Similarly, if you plan on contributing documentation, you should - <a href="mailto:phpdoc-subscribe@lists.php.net">subscribe to the - documentation mailing list</a>, and read the - <a href="https://wiki.php.net/doc/howto">PHP Documentation HOWTO</a>. -</p> - -<p> - If you wish to contribute to the documentation please contact the translation - team for the language you wish to help with. If you have trouble finding the - team, ask on the phpdoc mailing list. Once you have made contact you may - apply for a Git/SVN account here by including the name of one or more people - from the existing translation team that referred you and of course the - language you wish to translate to. -</p> - -<p> - If you have a new PEAR package you wish to contribute, propose it - through the <a href="http://pear.php.net/pepr/">PEPR system</a> on - <a href="http://pear.php.net/">the PEAR website</a>. If you have a new PECL - extension you wish to contribute, bring it up on the appropriate - <a href="http://pecl.php.net/support.php">PECL mailing list</a> first. -</p> - -<p> - Once your PEAR package has been approved, or you get the sense that - people generally agree that your PECL contribution is worthwhile, you - may apply for a Git account here. Specify the name of your PEAR package - or PECL contribution (single word Git module name) and also reference an - existing account holder who can vouch for your contribution, or provide - a link to your PEAR proposal. -</p> - -<p> - Okay, if you are still reading, then you may actually need a Git account. - This is <strong>not</strong> an automatic process. Fill in the form below to - request an account. In the box next to "Purpose", describe what it is that - you intend to do with Git access. If it isn't clear from what you've - described already, tell us what parts of the Git repository you need access - to (for example, "phpdoc" is the documentation tree, "php-src/ext/readline" - is the PHP readline extension). If someone told you to fill out the form - here, make sure to mention them here! -</p> - -<p> - The Git account, once granted and activated (which could take a while, so be - patient!), gives you access to a number of things. First, and most - importantly, it gives you access to modify those parts of the PHP Git tree for - which you have requested and been granted access. It also allows you to comment - on and close bugs in our <a href="http://bugs.php.net/">bug database</a>, and - allows you to modify the documentation notes in the <a href="/manual/">annotated - manual</a>. Your Git account also translates into a foo@php.net forwarding email - address where <strong>foo</strong> is your Git user id. Feel free to use it! -</p> - -<h2>Request a Git account</h2> - -<p class="warn"> - Please note that you do <em>NOT</em> need a Git account to study PHP. You do - <em>NOT</em> need a Git account to learn PHP, to use PHP or to in any way do - anything at all with PHP. If you are sitting there wondering if you need a - Git account, then you don't! If an existing Git account holder suggested you - request an account, please mention their Git id in the request. -</p> -<p class="warn"> - Also note that information provided here will be sent to a public - mailing list. -</p> - -<?php -} // endif: no data submitted - -?> -<form action="/git-php.php" method="post"> -<table border="0" class="standard" style="width: 80%;"> -<tr> - <th class="subr">Full Name:</th> - <td><input type="text" size="50" name="fullname" - class="max" value="<?php if (isset($_POST['fullname'])) echo clean($_POST['fullname']);?>" /></td> -</tr> -<tr> - <th class="subr">Email:</th> - <td><input type="text" size="50" name="email" - class="max" value="<?php if (isset($_POST['email'])) echo clean($_POST['email']);?>" /></td> -</tr> -<tr> - <th class="subr">For what purpose do you require a Git account:<br /> - (check all that apply)</th> - <td> -<?php -$purposes = array("Learning PHP", "Coding in PHP", "Reading the PHP source", - "Using PHP extensions", "Creating experimental PHP extensions", - "Submitting a patch to PHP", "Adding notes to the documentation", - "Writing web pages with PHP", "Setting up a php.net mirror site"); - -foreach ($purposes as $i => $p) { ?> - <input type="checkbox" name="purpose[<?php echo $i?>]" value="1" - checked="checked" /><?php echo $p; ?><br /> -<?php } ?> - </td> -</tr> -<tr> - <th class="subr">If your intended purpose is not in the list, <br />please state it here:</th> - <td><textarea cols="50" rows="5" name="realpurpose" class="max"><?php if (isset($_POST['realpurpose'])) echo clean($_POST['realpurpose']);?></textarea></td> -</tr> -<tr> -<th class="subr">Do you agree to follow the <a href="license/contrib-guidelines-code.php">contribution guidelines</a>?</th> -<td><input type="checkbox" name="guidelines" value="1" />Check the box if you agree.</td> -</tr> -<tr> - <th class="subr">User ID:<br /> <small>(single word, lower case)</small></th> - <td><input type="text" size="10" name="id" - class="max" value="<?php if (isset($_POST['id'])) echo clean($_POST['id']);?>" /></td> -</tr> -<tr> - <th class="subr">Requested Password:</th> - <td><input type="password" size="10" name="password" - class="max" value="<?php if (isset($_POST['password'])) echo clean($_POST['password']);?>" /></td> -</tr> -<tr> - <th class="subr">Did you fill this form out correctly (yes/no)?</th> - <td><input type="text" size="10" name="yesno" class="max" value="no" /></td> -</tr> -<tr> - <th class="subr">Type of initial karma (who to send this request to):</th> - <td> - <select name="group"> -<?php -foreach($groups as $group => $name) { - $selected = (isset($_POST["group"]) && $_POST["group"] == $group) ? ' selected="selected"' : ''; - echo "<option value='$group'$selected>$name</option>\n"; -} -?> - </select> - </td> -</tr> -<tr> - <th colspan="2"><input type="submit" value="Send Request" /></th> -</tr> -</table> -</form> - -<?php site_footer(); diff --git a/git.php b/git.php deleted file mode 100644 index 90ec0353c1..0000000000 --- a/git.php +++ /dev/null @@ -1,189 +0,0 @@ -<?php -// $Id$ -$_SERVER['BASE_PAGE'] = 'git.php'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -$SIDEBAR_DATA = ' -<h3>What is Git?</h3> -<p> - You can find more information about Git and download clients for most major - platforms at <a href="http://git-scm.com/">the official Git site</a>. -</p> - -<p> - The <a href="http://progit.org/">Pro Git book</a> may also be useful. -</p> - - -<h3>Contribute</h3> -<p> - If you would like to join PHP development or would like to - contribute to the PHP documentation, contact the relevant - group. You may want <a href="/git-php.php">your own Git account</a> - to contribute. -</p> - -<h3>Source and binary snapshots</h3> -<p> - You may also be interested in a PHP snapshot, see - <a href="http://snaps.php.net/">snaps.php.net</a>. - Compiled snapshots for Windows users are also included. -</p> -'; -site_header("Git Access", array("current" => "community")); -?> - -<h1>Git Access</h1> - -<p> - If you wish to get the latest PHP source tree, you can obtain it through Git. - You should be warned that the Git version is a development version, and as - such, is often unstable, and may not even compile properly. The advantage of - using Git, though, is that you can get the latest fixes and updates, without - having to wait for the official releases. -</p> - -<p> - PHP uses an advanced configuration system that requires you to have - the following tools. re2c is only necessary for developers and can be found - <a href="http://re2c.org">here</a>. - All other utilities can be obtained from - <a href="ftp://ftp.gnu.org/pub/gnu/">the GNU FTP site</a>. -</p> - -<ul> - <li><i>autoconf</i>: 2.13 (2.59+ for PHP 5.4+)</li> - <li><i>automake</i>: 1.4+</li> - <li><i>libtool</i>: 1.4.x+ (except 1.4.2)</li> - <li><i>bison</i>: 1.28, 1.35, 1.75, 2.0 or higher</li> - <li><i>flex (PHP 5.2 and earlier)</i>: 2.5.4 (<strong>not higher</strong>)</li> - <li><i>re2c</i>: 0.13.4+</li> -</ul> - -<p> - If you're experiencing problems, see also the section on - <a href="#buildconf_fail">buildconf failures</a>. -</p> - -<h2>Steps for using PHP from Git</h2> - -<ol> - <li> - You can retrieve the PHP source code from our - <a href="https://github.com/php/php-src.git">GitHub mirror</a> with this - command: - <br /><br /> - <code>git clone https://github.com/php/php-src.git</code> - <br /><br /> - - Alternatively, you can retrieve the source code from - <a href="http://git.php.net/">git.php.net</a> with this command: - <br /><br /> - <code>git clone http://git.php.net/repository/php-src.git</code> - <br /><br /> - </li> - - <li> - Make sure you're in the right directory to work on PHP: - <br /><br /> - <code>cd php-src</code> - <br /><br /> - </li> - - <li> - You can then check out the branch you want to build: - <br /><br /> - <strong>PHP 5.3</strong>: - <code>git checkout PHP-5.3</code> - <br /> - <strong>PHP 5.4</strong>: - <code>git checkout PHP-5.4</code> - <br /> - <strong>PHP HEAD</strong>: - <code>git checkout master</code> - <br /><br /> - </li> - - <li> - <div class="tip" style="margin: 10px 0 10px 20px;"> - <p>Note that certain combinations of autoconf, automake and libtool may not - work when used together. See <a href="#buildconf_fail">below</a> for - details.<br /> - Also, certain versions of autoconf may generate warnings of <code>AC_PROG_CPP - called before AC_PROG_CC</code>. These messages can usually be ignored.</p> - </div> - </li> - - <li> - Run <code>./buildconf</code> to generate the configure script. This may take several moments. - </li> - - <li> - From this point onwards, installation is similar to the installation of one of - the official packages with one main difference – you may need bison 1.28 or later - and flex 2.5.4 (PHP 5.2 and earlier) or re2c 0.13.4+ or later (PHP 5.3 and later) to - compile, because the pre-generated scanner and parser files may not - be included in Git. - </li> -</ol> - -<p> - There are many other things, such as the XML source code - for the documentation, available via Git. See - <a href="http://git.php.net/">the web-based view of the Git - server</a> to see what is available. -</p> - -<p> - The PHP Wiki has a useful - <a href="https://wiki.php.net/vcs/gitfaq">Git FAQ</a>, which provides useful - tips and cheatsheets for using the PHP Git repository, and if you want to - become involved in developing PHP, the - <a href="https://wiki.php.net/vcs/gitworkflow">Git Workflow</a> page is also - likely to be of interest. -</p> - -<h2>PHP manual</h2> - -<p> - The PHP manual is still currently hosted on SVN, although it will be migrated - to Git in the near future. To checkout the latest English version of the PHP - manual:<br /> - <code>svn checkout https://svn.php.net/repository/phpdoc/modules/doc-en ./phpdoc-en</code> - <br /><br /> - You can also check the <a href="https://wiki.php.net/vcs/svnfaq">SVN FAQ on the wiki</a>. -</p> - -<a name="buildconf_fail"></a> -<h2>autoconf, automake and libtool information</h2> - -<p> - There seem to be problems with libtool 1.4.2. It is suggested - that you use libtool 1.4, along with autoconf 2.13 and - automake 1.4. You should also ensure that autoconf, automake - and libtool are installed in the same directory. libtool 1.5 - will not work. -</p> - -<p>The following combinations are known to work with PHP 5.3 and below:</p> -<ul> - <li>autoconf 2.13, automake 1.4 and libtool 1.4.3</li> - <li>autoconf 2.13, automake 1.5 and libtool 1.4.3</li> -</ul> - -<p> - If you have multiple versions of autoconf installed on your computer, as is - common for many UNIXes, you can set the PHP_AUTOCONF and PHP_AUTOHEADER - variables when running buildconf to indicate which versions it should use - e.g.:<br /> - <code>PHP_AUTOCONF=autoconf213 PHP_AUTOHEADER=autoheader213 ./buildconf</code> -</p> - -<a name="flex_fail"></a> -<h2>Zend/zend_language_scanner.c: No such file or directory</h2> - -<p> - PHP only supports flex 2.5.4, <strong>not</strong> later versions as they broke backwards compatibility. - Please note that PHP 5.3 and later do not require flex at all. -</p> - -<?php site_footer(); ?> diff --git a/ie6update/ie6update.js b/ie6update/ie6update.js deleted file mode 100644 index 1925a64f3f..0000000000 --- a/ie6update/ie6update.js +++ /dev/null @@ -1,323 +0,0 @@ -/** - * - IE6Update.js - - * IE6Update is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 3 of the License. - * - * IE6Update is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Activebar2; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * * * * * * * * * * * * - * - * This is code is derived from Activebar2 - * - * Activebar2 is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 3 of the License. - * - * Activebar2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Activebar2; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * You may contact the author by mail: jakob@php.net - * - * Or write to: - * Jakob Westhoff - * Kleiner Floraweg 35 - * 44229 Dortmund - * Germany - * - * The latest version of ActiveBar can be obtained from: - * http://www.westhoffswelt.de/ - * - * @package Core - * @version $Revision$ - * @license http://www.gnu.org/licenses/gpl-3.0.txt GPL - */ - - -try { - document.execCommand("BackgroundImageCache", true, true); -} catch(err) {} - -if(window.__noconflict){ jQuery.noConflict();} -(function($) { - - - $.fn.activebar = function( options ) { - // Merge the specified options with the default ones - options = $.fn.extend( {}, $.fn.activebar.defaults, options ); - - if ( $.fn.activebar.container === null ) { - $.fn.activebar.container = initializeActivebar( options ); - } - - // Update the style values according to the provided options - setOptionsOnContainer( $.fn.activebar.container, options ); - - // If the activebar is currently visible hide it - $.fn.activebar.hide(); - - // Remove all elements from the activebar content, which might be there - $( '.content', $.fn.activebar.container ).empty(); - - // Use all provided elements as new content source - $(this).each( function() { - $( '.content', $.fn.activebar.container ).append( this ); - }); - - // Remove any "gotoURL" function - $.fn.activebar.container.unbind( 'click' ); - - // Add a new "gotoURL" function if one has been supplied - if( options.url !== null ) { - $.fn.activebar.container.click( - function() { - window.location.href = options.url; - } - ); - } - - // Update the position based on the new content data height - $.fn.activebar.container.css( 'top', '-' + $.fn.activebar.container.height() + 'px' ); - - // Show the activebar - if(options.preload){ - var load = {a:0, b:0, c:0, d:0} - - function preloadInit(){ - if(load.a && load.b && load.c && load.d){ - $.fn.activebar.show(); - } - } - - $('<img src="'+options.icons_path+'icon.png" class="normal">').load(function(){load.a=1; preloadInit()}); - $('<img src="'+options.icons_path+'icon-over.png" class="normal">').load(function(){load.b=1; preloadInit()}); - $('<img src="'+options.icons_path+'close.png" class="normal">').load(function(){load.c=1; preloadInit()}); - $('<img src="'+options.icons_path+'close-over.png" class="normal">').load(function(){load.d=1; preloadInit()}); - - }else{ - $.fn.activebar.show(); - } - - }; - - /** - * Default options used if nothing more specific is provided. - */ - $.fn.activebar.defaults = { - 'background': '#ffffe1', - 'border': '#666', - 'highlight': '#3399ff', - 'font': 'Bitstream Vera Sans,verdana,sans-serif', - 'fontColor': 'InfoText', - 'fontSize': '11px', - 'icons_path' : 'images/', - 'url': 'http://www.microsoft.com/windows/internet-explorer/default.aspx', - 'preload': true - }; - - /** - * Indicator in which state the activebar currently is - * 0: Moved in (hidden) - * 1: Moving in (hiding) - * 2: Moving out (showing) - * 3: Moved out (shown) - */ - $.fn.activebar.state = 0; - - /** - * Activebar container object which holds the shown content - */ - $.fn.activebar.container = null; - - /** - * Show the activebar by moving it in - */ - $.fn.activebar.show = function() { - if ( $.fn.activebar.state > 1 ) { - // Already moving out or visible. Do Nothing. - return; - } - - $.fn.activebar.state = 2; - $.fn.activebar.container.css( 'display', 'block' ); - - var height = $.fn.activebar.container.height(); - $.fn.activebar.container.animate({ - 'top': '+=' + height + 'px' - }, height * 20, 'linear', function() { - $.fn.activebar.state = 3; - }); - }; - - /** - * Hide the activebar by moving it out - */ - $.fn.activebar.hide = function() { - if ( $.fn.activebar.state < 2 ) { - // Already moving in or hidden. Do nothing. - return; - } - - $.fn.activebar.state = 1; - - var height = $.fn.activebar.container.height(); - $.fn.activebar.container.animate({ - 'top': '-=' + height + 'px' - }, height * 20, 'linear', function() { - $.fn.activebar.container.css( 'display', 'none' ); - $.fn.activebar.visible = false; - }); - }; - - /**************************************************************** - * Private function only accessible from within this plugin - ****************************************************************/ - - /** - * Create the a basic activebar container object and return it - */ - function initializeActivebar( options ) { - // Create the container object - var container = $( '<div></div>' ).attr( 'id', 'activebar-container' ); - - // Set the needed css styles - container.css({ - 'display': 'none', - 'position': 'fixed', - 'zIndex': '9999', - 'top': '0px', - 'left': '0px', - 'cursor': 'default', - 'padding': '4px', - 'font-size' : '9px', - 'background': options.background, - 'borderBottom': '1px solid ' + options.border, - 'color': options.fontColor - }); - - // Make sure the bar has always the correct width - $(window).bind( 'resize', function() { - container.width( $(this).width() ); - }); - - // Set the initial bar width - $(window).trigger( 'resize' ); - - // The IE prior to version 7.0 does not support position fixed. However - // the correct behaviour can be emulated using a hook to the scroll - // event. This is a little choppy, but it works. - if ( $.browser.msie && ( $.browser.version.substring( 0, 1 ) == '5' || $.browser.version.substring( 0, 1 ) == '6' ) ) { - // Position needs to be changed to absolute, because IEs fallback - // for fixed is static, which is quite useless here. - container.css( 'position', 'absolute' ); - $( window ).scroll( - function() { - container.stop( true, true ); - if ( $.fn.activebar.state == 3 ) { - // Activebar is visible - container.css( 'top', $( window ).scrollTop() + 'px' ); - } - else { - // Activebar is hidden - container.css( 'top', ( $( window ).scrollTop() - container.height() ) + 'px' ); - } - } - ).resize(function(){$(window).scroll();}); - } - - // Add the icon container - container.append( - $( '<div></div>' ).attr( 'class', 'icon' ) - .css({ - 'float': 'left', - 'width': '16px', - 'height': '16px', - 'margin': '0 4px 0 0', - 'padding': '0' - }) - .append('<img src="'+options.icons_path+'icon.png" class="normal">') - .append('<img src="'+options.icons_path+'icon-over.png" class="hover">') - ); - - // Add the close button - container.append( - $( '<div></div>' ).attr( 'class', 'close' ) - .css({ - 'float': 'right', - 'margin': '0 5px 0 0 ', - 'width': '16px', - 'height': '16px' - }) - .click(function(event) { - $.fn.activebar.hide(); - event.stopPropagation(); - }) - .append('<img src="'+options.icons_path+'close.png" class="normal">') - .append('<img src="'+options.icons_path+'close-over.png" class="hover">') - ); - - // Create the initial content container - container.append( - $( '<div></div>' ).attr( 'class', 'content' ) - .css({ - 'margin': '0px 8px', - 'paddingTop': '1px' - }) - ); - $('.hover', container).hide(); - $('body').prepend( container ); - - return container; - }; - - /** - * Set the provided options on the given activebar container object - */ - function setOptionsOnContainer( container, options ) { - // Register functions to change between normal and highlight background - // color on mouseover - container.unbind( 'mouseenter mouseleave' ); - container.hover( - function() { - $(this).css({backgroundColor: options.highlight, color: "#FFFFFF"}).addClass('hover'); - $('.hover', container).show(); - $('.normal', container).hide(); - }, - function() { - $(this).css( {'backgroundColor': options.background, color: "#000000"} ).removeClass('hover'); - $('.hover', container).hide(); - $('.normal', container).show(); - } - ); - - // Set the content font styles - $( '.content', container ).css({ - 'fontFamily': options.font, - 'fontSize': options.fontSize - }); - } - -})(jQuery); - - -jQuery(document).ready(function($) { - $('<div></div>').html(IE6UPDATE_OPTIONS.message || 'Internet Explorer is missing updates required to view this site. Click here to update... ') - .activebar(window.IE6UPDATE_OPTIONS); -}); - - diff --git a/ie6update/images/close-over.png b/ie6update/images/close-over.png deleted file mode 100644 index b380964589..0000000000 Binary files a/ie6update/images/close-over.png and /dev/null differ diff --git a/ie6update/images/close.png b/ie6update/images/close.png deleted file mode 100644 index 40cee2fd6a..0000000000 Binary files a/ie6update/images/close.png and /dev/null differ diff --git a/ie6update/images/icon-over.png b/ie6update/images/icon-over.png deleted file mode 100644 index 4c0e3b8460..0000000000 Binary files a/ie6update/images/icon-over.png and /dev/null differ diff --git a/ie6update/images/icon.png b/ie6update/images/icon.png deleted file mode 100644 index 076480e7ae..0000000000 Binary files a/ie6update/images/icon.png and /dev/null differ diff --git a/ie6update/index.php b/ie6update/index.php deleted file mode 100644 index 95eea56472..0000000000 --- a/ie6update/index.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -// $Id $ - -// Simulate a /ie6extra shortcut call (which will lead to a manual page) -$_SERVER['REQUEST_URI'] = '/ie6update'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/error.php'; - diff --git a/images/elephpants.php b/images/elephpants.php deleted file mode 100644 index 4054853ef8..0000000000 --- a/images/elephpants.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php - -/* - - Simple script to serve elephpant images in json format. - This script is called directly by the browser to feed the - javascript generated banner of elephpant images. - - The structure of the response data is: - - [{ - title: <image title>, - url: <link to image on flickr>, - data: <base64 encoded image> - },{ - ... - }] - -*/ - -// determine how many images to serve. -if (isset($_REQUEST['count'])) { - $count = intval($_REQUEST['count']); -} else { - header('HTTP/1.1 400', true, 400); - print json_encode(array( - 'error' => "Specify how many elephpants to serve via 'count'." - )); - exit; -} - -// read out photo metadata -$path = dirname(__FILE__) . '/elephpants'; -$json = @file_get_contents($path . '/flickr.json'); -$photos = json_decode($json, true); - -// if no photo data, respond with an error. -if (!$photos || !is_array($photos)) { - header('HTTP/1.1 500', true, 500); - print json_encode(array( - 'error' => "No elephpant metadata available." - )); - exit; -} - -// prepare requested number of elephpants at random. -shuffle($photos); -$elephpants = array(); -foreach ($photos as $photo) { - - // stop when we have the requested number of photos. - if (count($elephpants) == $count) { - break; - } - - // skip photo if file doesn't exist. - if (!is_readable($path . '/' . $photo['filename'])) { - continue; - } - - // add photo to response array. - $elephpants[] = array( - 'title' => $photo['title'], - 'url' => "http://flickr.com/photos/" . $photo['owner'] . "/" . $photo['id'], - 'data' => base64_encode(file_get_contents($path . '/' . $photo['filename'])) - ); -} - -print json_encode($elephpants); diff --git a/images/index.php b/images/index.php deleted file mode 100644 index 407e3a0cc7..0000000000 --- a/images/index.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -// $Id$ - -// Simulate a /images shortcut call (which will lead to a manual page) -$_SERVER['REQUEST_URI'] = '/images'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/error.php'; diff --git a/images/notes-add.gif b/images/notes-add.gif deleted file mode 100644 index 54a4d0ee4b..0000000000 Binary files a/images/notes-add.gif and /dev/null differ diff --git a/images/notes-add@2x.png b/images/notes-add@2x.png deleted file mode 100644 index ab97defb17..0000000000 Binary files a/images/notes-add@2x.png and /dev/null differ diff --git a/include/branches.inc b/include/branches.inc index e62e51bf30..deb1f79841 100644 --- a/include/branches.inc +++ b/include/branches.inc @@ -1,47 +1,443 @@ <?php -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/releases.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/version.inc'; - -function version_number_to_branch($version) { - $parts = explode('.', $version); - if (count($parts) > 1) { - return "$parts[0].$parts[1]"; - } -} - -function get_eol_branches() { - $branches = array(); - - // Gather the last release on each branch into a convenient array. - foreach ($GLOBALS['OLDRELEASES'] as $major => $releases) { - foreach ($releases as $version => $release) { - if ($branch = version_number_to_branch($version)) { - if (!isset($branches[$major][$branch]) || version_compare($version, $branches[$major][$branch]['version'], 'gt')) { - $branches[$major][$branch] = array( - 'date' => strtotime($release['date']), - 'version' => $version, - ); - } - } - } - } - - /* Exclude releases from active branches, where active is defined as "in - * the $RELEASES array". */ - foreach ($GLOBALS['RELEASES'] as $major => $releases) { - foreach ($releases as $version => $release) { - if ($branch = version_number_to_branch($version)) { - if (isset($branches[$major][$branch])) { - unset($branches[$major][$branch]); - } - } - } - } - - krsort($branches); - foreach ($branches as $major => $branch) { - krsort($branch); - } - - return $branches; + +include_once __DIR__ . '/releases.inc'; +include_once __DIR__ . '/version.inc'; + +/* Branch overrides. For situations where we've changed the exact dates for a + * branch's active support and security fix EOLs, these can be reflected here. + * + * Supported keys are: + * - stable: the end of active support (usually two years after release). + * - security: the end of security support (usually release + 3 years). + */ +$BRANCHES = [ + /* 3.0 is here because version_compare() can't handle the only version in + * $OLDRELEASES, and it saves another special case in + * get_branch_security_eol_date(). */ + '3.0' => [ + 'security' => '2000-10-20', + ], + '5.3' => [ + 'stable' => '2013-07-11', + 'security' => '2014-08-14', + ], + '5.4' => [ + 'stable' => '2014-09-14', + 'security' => '2015-09-03', + ], + '5.5' => [ + 'stable' => '2015-07-10', + 'security' => '2016-07-21', + ], + '5.6' => [ + 'stable' => '2017-01-19', + 'security' => '2018-12-31', + ], + '7.0' => [ + 'stable' => '2018-01-04', + 'security' => '2019-01-10', + ], + '8.4' => [ + 'date' => '2024-11-21', + ], +]; + +/* Time to keep EOLed branches in the array returned by get_active_branches(), + * which is used on the front page download links and the supported versions + * page. (Currently 28 days.) */ +$KEEP_EOL = new DateInterval('P28D'); + +function format_interval($from, DateTime $to) { + try { + $from_obj = $from instanceof DateTime ? $from : new DateTime($from); + $diff = $to->diff($from_obj); + + $times = []; + if ($diff->y) { + $times[] = [$diff->y, 'year']; + if ($diff->m) { + $times[] = [$diff->m, 'month']; + } + } elseif ($diff->m) { + $times[] = [$diff->m, 'month']; + } elseif ($diff->d) { + $times[] = [$diff->d, 'day']; + } else { + $eolPeriod = 'midnight'; + } + if ($times) { + $eolPeriod = implode(', ', + array_map( + function ($t) { + return "$t[0] $t[1]" . + ($t[0] != 1 ? 's' : ''); + }, + $times, + ), + ); + + if ($diff->invert) { + $eolPeriod = "$eolPeriod ago"; + } else { + $eolPeriod = "in $eolPeriod"; + } + } + } catch (Exception $e) { + $eolPeriod = 'unknown'; + } + + return $eolPeriod; +} + +function version_number_to_branch(string $version): ?string { + $parts = explode('.', $version); + if (count($parts) > 1) { + return "$parts[0].$parts[1]"; + } + + return null; +} + +function get_all_branches() { + $branches = []; + + foreach ($GLOBALS['OLDRELEASES'] as $major => $releases) { + foreach ($releases as $version => $release) { + $branch = version_number_to_branch($version); + + if ($branch) { + if (!isset($branches[$major][$branch]) || version_compare($version, $branches[$major][$branch]['version'], 'gt')) { + $branches[$major][$branch] = $release; + $branches[$major][$branch]['version'] = $version; + } + } + } + } + + foreach ($GLOBALS['RELEASES'] as $major => $releases) { + foreach ($releases as $version => $release) { + $branch = version_number_to_branch($version); + + if ($branch) { + if (!isset($branches[$major][$branch]) || version_compare($version, $branches[$major][$branch]['version'], 'gt')) { + $branches[$major][$branch] = $release; + $branches[$major][$branch]['version'] = $version; + } + } + } + } + + krsort($branches); + foreach ($branches as &$branch) { + krsort($branch); + } + + return $branches; +} + +function get_active_branches($include_recent_eols = true) { + $branches = []; + $now = new DateTime(); + + foreach ($GLOBALS['RELEASES'] as $major => $releases) { + foreach ($releases as $version => $release) { + $branch = version_number_to_branch($version); + + if ($branch) { + $threshold = get_branch_security_eol_date($branch); + if ($threshold === null) { + // No EOL date available, assume it is ancient. + continue; + } + if ($include_recent_eols) { + $threshold->add($GLOBALS['KEEP_EOL']); + } + if ($now < $threshold) { + $branches[$major][$branch] = $release; + $branches[$major][$branch]['version'] = $version; + } + } + } + if (!empty($branches[$major])) { + ksort($branches[$major]); + } + } + + ksort($branches); + return $branches; +} + +/* If you provide an array to $always_include, note that the version numbers + * must be in $RELEASES _and_ must be the full version number, not the branch: + * ie provide array('5.3.29'), not array('5.3'). */ +function get_eol_branches($always_include = null) { + $always_include = $always_include ?: []; + $branches = []; + $now = new DateTime(); + + // Gather the last release on each branch into a convenient array. + foreach ($GLOBALS['OLDRELEASES'] as $major => $releases) { + foreach ($releases as $version => $release) { + $branch = version_number_to_branch($version); + + if ($branch) { + if (!isset($branches[$major][$branch]) || version_compare($version, $branches[$major][$branch]['version'], 'gt')) { + $branches[$major][$branch] = [ + 'date' => strtotime($release['date']), + 'link' => "/releases#$version", + 'version' => $version, + ]; + } + } + } + } + + /* Exclude releases from active branches, where active is defined as "in + * the $RELEASES array and not explicitly marked as EOL there". */ + foreach ($GLOBALS['RELEASES'] as $major => $releases) { + foreach ($releases as $version => $release) { + $branch = version_number_to_branch($version); + + if ($branch) { + if ($now < get_branch_security_eol_date($branch)) { + /* This branch isn't EOL: remove it from our array. */ + if (isset($branches[$major][$branch])) { + unset($branches[$major][$branch]); + } + } else { + /* Add the release information to the EOL branches array, since it + * should be newer than the information we got from $OLDRELEASES. */ + $always_include[] = $version; + } + } + } + } + + // Include any release in the always_include list that's in $RELEASES. + if ($always_include) { + foreach ($always_include as $version) { + $parts = explode('.', $version); + $major = $parts[0]; + + if (isset($GLOBALS['RELEASES'][$major][$version])) { + $release = $GLOBALS['RELEASES'][$major][$version]; + $branch = version_number_to_branch($version); + + if ($branch) { + $branches[$major][$branch] = [ + 'date' => strtotime($release['source'][0]['date']), + 'link' => "/downloads#v$version", + 'version' => $version, + ]; + } + } + } + } + + krsort($branches); + foreach ($branches as &$branch) { + krsort($branch); + } + + return $branches; +} + +/* $branch is expected to have at least two components: MAJOR.MINOR or + * MAJOR.MINOR.REVISION (the REVISION will be ignored if provided). This will + * return either null (if no release exists on the given branch), or the usual + * version metadata from $RELEASES for a single release. */ +function get_initial_release($branch) { + $branch = version_number_to_branch($branch); + if (!$branch) { + return null; + } + $major = substr($branch, 0, strpos($branch, '.')); + + if (isset($GLOBALS['OLDRELEASES'][$major]["$branch.0"])) { + return $GLOBALS['OLDRELEASES'][$major]["$branch.0"]; + } + + if(isset($GLOBALS['BRANCHES'][$branch])) { + return $GLOBALS['BRANCHES'][$branch]; + } + + /* If there's only been one release on the branch, it won't be in + * $OLDRELEASES yet, so let's check $RELEASES. */ + if (isset($GLOBALS['RELEASES'][$major]["$branch.0"])) { + // Fake a date like we have on the oldreleases array. + $release = $GLOBALS['RELEASES'][$major]["$branch.0"]; + $release['date'] = $release['source'][0]['date']; + return $release; + } + + // Shrug. + return null; +} + +function get_final_release($branch) { + $branch = version_number_to_branch($branch); + if (!$branch) { + return null; + } + $major = substr($branch, 0, strpos($branch, '.')); + + $last = "$branch.0"; + foreach ($GLOBALS['OLDRELEASES'][$major] as $version => $release) { + if (version_number_to_branch($version) == $branch && version_compare($version, $last, '>')) { + $last = $version; + } + } + + if (isset($GLOBALS['OLDRELEASES'][$major][$last])) { + return $GLOBALS['OLDRELEASES'][$major][$last]; + } + + /* If there's only been one release on the branch, it won't be in + * $OLDRELEASES yet, so let's check $RELEASES. */ + if (isset($GLOBALS['RELEASES'][$major][$last])) { + // Fake a date like we have on the oldreleases array. + $release = $GLOBALS['RELEASES'][$major][$last]; + $release['date'] = $release['source'][0]['date']; + return $release; + } + + // Shrug. + return null; +} + +function get_branch_bug_eol_date($branch): ?DateTime +{ + if (isset($GLOBALS['BRANCHES'][$branch]['stable'])) { + return new DateTime($GLOBALS['BRANCHES'][$branch]['stable']); + } + + $date = get_branch_release_date($branch); + + $date = $date?->add(new DateInterval('P2Y')); + + // Versions before 8.2 do not extend the release cycle to the end of the year + if (version_compare($branch, '8.2', '<')) { + return $date; + } + + // Extend the release cycle to the end of the year + return $date?->setDate($date->format('Y'), 12, 31); +} + +function get_branch_security_eol_date($branch): ?DateTime +{ + if (isset($GLOBALS['BRANCHES'][$branch]['security'])) { + return new DateTime($GLOBALS['BRANCHES'][$branch]['security']); + } + + /* Versions before 5.3 are based solely on the final release date in + * $OLDRELEASES. */ + if (version_compare($branch, '5.3', '<')) { + $release = get_final_release($branch); + + return $release ? new DateTime($release['date']) : null; + } + + $date = get_branch_release_date($branch); + + // Versions before 8.1 have 3-year support since the initial release + if (version_compare($branch, '8.1', '<')) { + return $date?->add(new DateInterval('P3Y')); + } + + $date = $date?->add(new DateInterval('P4Y')); + + // Extend the release cycle to the end of the year + return $date?->setDate($date->format('Y'), 12, 31); +} + +function get_branch_release_date($branch): ?DateTime +{ + $initial = get_initial_release($branch); + + return isset($initial['date']) ? new DateTime($initial['date']) : null; +} + +function get_branch_support_state($branch) { + $initial = get_branch_release_date($branch); + $bug = get_branch_bug_eol_date($branch); + $security = get_branch_security_eol_date($branch); + + if ($initial && $bug && $security) { + $now = new DateTime(); + + if ($now >= $security) { + return 'eol'; + } + + if ($now >= $bug) { + return 'security'; + } + + if ($now >= $initial) { + return 'stable'; + } + + return 'future'; + } + + return null; +} + +function compare_version(array $arrayA, string $versionB) +{ + $arrayB = version_array($versionB, count($arrayA)); + + foreach ($arrayA as $index => $componentA) { + $componentA = $arrayA[$index]; + $componentB = $arrayB[$index]; + if ($componentA != $componentB) { + return $componentA > $componentB ? 1 : -1; + } + } + + return 0; +} + +function version_array(string $version, ?int $length = null) +{ + $versionArray = array_map( + 'intval', + explode('.', $version), + ); + + if (is_int($length)) { + $versionArray = count($versionArray) < $length + ? array_pad($versionArray, $length, 0) + : array_slice( + $versionArray, + 0, + $length, + ); + } + + return $versionArray; +} + +function get_current_release_for_branch(int $major, ?int $minor): ?string { + global $RELEASES, $OLDRELEASES; + + $prefix = "{$major}."; + if ($minor !== null) { + $prefix .= "{$minor}."; + } + + foreach (($RELEASES[$major] ?? []) as $version => $_) { + if (!strncmp($prefix, $version, strlen($prefix))) { + return $version; + } + } + + foreach (($OLDRELEASES[$major] ?? []) as $version => $_) { + if (!strncmp($prefix, $version, strlen($prefix))) { + return $version; + } + } + + return null; } diff --git a/include/changelogs.inc b/include/changelogs.inc new file mode 100644 index 0000000000..afbee4a68f --- /dev/null +++ b/include/changelogs.inc @@ -0,0 +1,77 @@ +<?php + +function bugfix($number): void { + echo "Fixed bug "; bugl($number); +} + +function bugl($number): void { + echo "<a href=\"https://bugs.php.net/$number\">#$number</a>"; +} + +function implemented($number): void { + echo "Implemented FR "; bugl($number); +} + +function peclbugfix($number): void { + echo "Fixed PECL bug "; bugl($number); +} + +function peclbugl($number): void { + echo "<a href=\"https://pecl.php.net/bugs/bug.php?id=$number\">#$number</a>"; +} + +function githubissue($repo, $number): void { + echo "Fixed issue "; githubissuel($repo, $number); +} + +function githubissuel($repo, $number): void { + echo "<a href=\"https://github.com/$repo/issues/$number\">GH-$number</a>"; +} + +function githubsecurityl($repo, $id): void { + echo "<a href=\"https://github.com/$repo/security/advisories/GHSA-$id\">GHSA-$id</a>"; +} + +function release_date($in): void { + $time = strtotime($in); + $human_readable = date('d M Y', $time); + $for_tools = date('Y-m-d', $time); + echo "<time class='releasedate' datetime='{$for_tools}'>{$human_readable}</time>"; +} + +function changelog_makelink(string $branch): string { + return '<a href="#PHP_' . urlencode(strtr($branch, '.', '_')) . '">' . htmlentities($branch) . '</a>'; +} + +function changelog_header(int $major_version, array $minor_versions): void { + site_header("PHP {$major_version} ChangeLog", [ + 'current' => 'docs', + 'css' => ['changelog.css'], + 'layout_span' => 12, + 'cache' => true, + 'cache_control' => 30 * 60, // 30 minutes + ]); + echo "<h1>PHP {$major_version} ChangeLog</h1>\n"; + $glue = ''; + foreach ($minor_versions as $branch) { + echo $glue, changelog_makelink($branch); + $glue = ' | '; + } + echo "\n"; +} + +function changelog_footer(int $current_major, array $minor_versions): void { + $sidebar = "<div class=\"panel\">ChangeLogs<div class=\"body\"><ul>\n"; + foreach ([8, 7, 5, 4] as $major) { + if ($major === $current_major) { + $sidebar .= " <li><b>PHP {$major}.x</b>\n <ul>"; + foreach ($minor_versions as $branch) { + $sidebar .= " <li>" . changelog_makelink($branch) . "</li>\n"; + } + $sidebar .= " </ul></li>\n"; + } else { + $sidebar .= " <li><a href=\"/ChangeLog-{$major}.php\">PHP {$major}.x</a></li>\n"; + } + } + site_footer(['sidebar' => "$sidebar</ul></div></div>"]); +} diff --git a/include/check_email_func.php b/include/check_email_func.php deleted file mode 100644 index 105fff839a..0000000000 --- a/include/check_email_func.php +++ /dev/null @@ -1,28 +0,0 @@ -<html> -<head><title>email validation test - -"; -} - -?> -
-The jesusmc@scripps.edu, jmcastagnetto@yahoo.com and jcastagnetto@yahoo.com -should validate OK as of 2001-02-28 --- JMC - - diff --git a/include/countries.inc b/include/countries.inc new file mode 100644 index 0000000000..0cb4fe45c6 --- /dev/null +++ b/include/countries.inc @@ -0,0 +1,236 @@ + 'Afghanistan', + 'ALB' => 'Albania', + 'DZA' => 'Algeria', + 'ASM' => 'American Samoa', + 'AND' => 'Andorra', + 'AGO' => 'Angola', + 'AIA' => 'Anguilla', + 'ATG' => 'Antigua and Barbuda', + 'ARG' => 'Argentina', + 'ARM' => 'Armenia', + 'ABW' => 'Aruba', + 'AUS' => 'Australia', + 'AUT' => 'Austria', + 'AZE' => 'Azerbaijan', + 'BHS' => 'Bahamas', + 'BHR' => 'Bahrain', + 'BGD' => 'Bangladesh', + 'BRB' => 'Barbados', + 'BLR' => 'Belarus', + 'BEL' => 'Belgium', + 'BLZ' => 'Belize', + 'BEN' => 'Benin', + 'BMU' => 'Bermuda', + 'BTN' => 'Bhutan', + 'BOL' => 'Bolivia', + 'BIH' => 'Bosnia and Herzegovina', + 'BWA' => 'Botswana', + 'BRA' => 'Brazil', + 'VGB' => 'British Virgin Islands', + 'BRN' => 'Brunei Darussalam', + 'BGR' => 'Bulgaria', + 'BFA' => 'Burkina Faso', + 'BDI' => 'Burundi', + 'KHM' => 'Cambodia', + 'CMR' => 'Cameroon', + 'CAN' => 'Canada', + 'CPV' => 'Cape Verde', + 'CYM' => 'Cayman Islands', + 'CAF' => 'Central African Republic', + 'TCD' => 'Chad', + 'CHL' => 'Chile', + 'CHN' => 'China', + 'COL' => 'Colombia', + 'COM' => 'Comoros', + 'COG' => 'Congo', + 'COK' => 'Cook Islands', + 'CRI' => 'Costa Rica', + 'CIV' => 'Cote d\'Ivoire', + 'HRV' => 'Croatia', + 'CUB' => 'Cuba', + 'CYP' => 'Cyprus', + 'CZE' => 'Czech Republic', + 'PRK' => 'Democratic People\'s Republic of Korea', + 'COD' => 'Democratic Republic of the Congo', + 'DNK' => 'Denmark', + 'DJI' => 'Djibouti', + 'DMA' => 'Dominica', + 'DOM' => 'Dominican Republic', + 'ECU' => 'Ecuador', + 'EGY' => 'Egypt', + 'SLV' => 'El Salvador', + 'GNQ' => 'Equatorial Guinea', + 'ERI' => 'Eritrea', + 'EST' => 'Estonia', + 'ETH' => 'Ethiopia', + 'EUR' => 'Europe', + 'FRO' => 'Faeroe Islands', + 'FLK' => 'Falkland Islands (Malvinas)', + 'FJI' => 'Fiji', + 'FIN' => 'Finland', + 'FRA' => 'France', + 'GUF' => 'French Guiana', + 'PYF' => 'French Polynesia', + 'GAB' => 'Gabon', + 'GMB' => 'Gambia', + 'GEO' => 'Georgia', + 'DEU' => 'Germany', + 'GHA' => 'Ghana', + 'GIB' => 'Gibraltar', + 'GRC' => 'Greece', + 'GRL' => 'Greenland', + 'GRD' => 'Grenada', + 'GLP' => 'Guadeloupe', + 'GUM' => 'Guam', + 'GTM' => 'Guatemala', + 'GIN' => 'Guinea', + 'GNB' => 'Guinea-Bissau', + 'GUY' => 'Guyana', + 'HTI' => 'Haiti', + 'VAT' => 'Holy See', + 'HND' => 'Honduras', + 'HKG' => 'Hong Kong', + 'HUN' => 'Hungary', + 'ISL' => 'Iceland', + 'IND' => 'India', + 'IDN' => 'Indonesia', + 'IRN' => 'Iran', + 'IRQ' => 'Iraq', + 'IRL' => 'Ireland', + 'ISR' => 'Israel', + 'ITA' => 'Italy', + 'JAM' => 'Jamaica', + 'JPN' => 'Japan', + 'JOR' => 'Jordan', + 'KAZ' => 'Kazakhstan', + 'KEN' => 'Kenya', + 'KIR' => 'Kiribati', + 'KWT' => 'Kuwait', + 'KGZ' => 'Kyrgyzstan', + 'LAO' => 'Lao People\'s Democratic Republic', + 'LVA' => 'Latvia', + 'LBN' => 'Lebanon', + 'LSO' => 'Lesotho', + 'LBR' => 'Liberia', + 'LBY' => 'Libyan Arab Jamahiriya', + 'LIE' => 'Liechtenstein', + 'LTU' => 'Lithuania', + 'LUX' => 'Luxembourg', + 'MAC' => 'Macao Special Administrative Region of China', + 'MDG' => 'Madagascar', + 'MWI' => 'Malawi', + 'MYS' => 'Malaysia', + 'MDV' => 'Maldives', + 'MLI' => 'Mali', + 'MLT' => 'Malta', + 'MHL' => 'Marshall Islands', + 'MTQ' => 'Martinique', + 'MRT' => 'Mauritania', + 'MUS' => 'Mauritius', + 'MEX' => 'Mexico', + 'FSM' => 'Micronesia Federated States of,', + 'MCO' => 'Monaco', + 'MNG' => 'Mongolia', + 'MSR' => 'Montserrat', + 'MAR' => 'Morocco', + 'MOZ' => 'Mozambique', + 'MMR' => 'Myanmar', + 'NAM' => 'Namibia', + 'NRU' => 'Nauru', + 'NPL' => 'Nepal', + 'NLD' => 'Netherlands', + 'ANT' => 'Netherlands Antilles', + 'NCL' => 'New Caledonia', + 'NZL' => 'New Zealand', + 'NIC' => 'Nicaragua', + 'NER' => 'Niger', + 'NGA' => 'Nigeria', + 'NIU' => 'Niue', + 'NFK' => 'Norfolk Island', + 'MNP' => 'Northern Mariana Islands', + 'NOR' => 'Norway', + 'PSE' => 'Occupied Palestinian Territory', + 'OMN' => 'Oman', + 'PAK' => 'Pakistan', + 'PLW' => 'Palau', + 'PAN' => 'Panama', + 'PNG' => 'Papua New Guinea', + 'PRY' => 'Paraguay', + 'PER' => 'Peru', + 'PHL' => 'Philippines', + 'PCN' => 'Pitcairn', + 'POL' => 'Poland', + 'PRT' => 'Portugal', + 'PRI' => 'Puerto Rico', + 'QAT' => 'Qatar', + 'KOR' => 'Republic of Korea', + 'MDA' => 'Republic of Moldova', + 'REU' => 'Réunion', + 'ROU' => 'Romania', + 'RUS' => 'Russian Federation', + 'RWA' => 'Rwanda', + 'SHN' => 'Saint Helena', + 'KNA' => 'Saint Kitts and Nevis', + 'LCA' => 'Saint Lucia', + 'SPM' => 'Saint Pierre and Miquelon', + 'VCT' => 'Saint Vincent and the Grenadines', + 'WSM' => 'Samoa', + 'SMR' => 'San Marino', + 'STP' => 'Sao Tome and Principe', + 'SAU' => 'Saudi Arabia', + 'SEN' => 'Senegal', + 'SRB' => 'Serbia', + 'YUG' => 'Serbia and Montenegro', + 'SYC' => 'Seychelles', + 'SLE' => 'Sierra Leone', + 'SGP' => 'Singapore', + 'SVK' => 'Slovakia', + 'SVN' => 'Slovenia', + 'SLB' => 'Solomon Islands', + 'SOM' => 'Somalia', + 'ZAF' => 'South Africa', + 'ESP' => 'Spain', + 'LKA' => 'Sri Lanka', + 'SDN' => 'Sudan', + 'SUR' => 'Suriname', + 'SJM' => 'Svalbard and Jan Mayen Islands', + 'SWZ' => 'Swaziland', + 'SWE' => 'Sweden', + 'CHE' => 'Switzerland', + 'SYR' => 'Syrian Arab Republic', + 'TWN' => 'Taiwan', + 'TJK' => 'Tajikistan', + 'THA' => 'Thailand', + 'MKD' => 'The former Yugoslav Republic of Macedonia', + 'TLS' => 'Timor-Leste', + 'TGO' => 'Togo', + 'TKL' => 'Tokelau', + 'TON' => 'Tonga', + 'TTO' => 'Trinidad and Tobago', + 'TUN' => 'Tunisia', + 'TUR' => 'Turkey', + 'TKM' => 'Turkmenistan', + 'TCA' => 'Turks and Caicos Islands', + 'TUV' => 'Tuvalu', + 'UGA' => 'Uganda', + 'UKR' => 'Ukraine', + 'ARE' => 'United Arab Emirates', + 'GBR' => 'United Kingdom', + 'TZA' => 'United Republic of Tanzania', + 'USA' => 'United States', + 'VIR' => 'United States Virgin Islands', + 'XXX' => 'Unknown', + 'URY' => 'Uruguay', + 'UZB' => 'Uzbekistan', + 'VUT' => 'Vanuatu', + 'VEN' => 'Venezuela', + 'VNM' => 'Viet Nam', + 'WLF' => 'Wallis and Futuna Islands', + 'ESH' => 'Western Sahara', + 'YEM' => 'Yemen', + 'ZMB' => 'Zambia', + 'ZWE' => 'Zimbabwe', +]; diff --git a/include/do-download.inc b/include/do-download.inc index 095a70deab..06bb2b9798 100644 --- a/include/do-download.inc +++ b/include/do-download.inc @@ -1,72 +1,36 @@ TRUE, "manual/$file" => FALSE); - - // Find out what is the exact file requested - $found = FALSE; + $possible_files = [$file => true, "manual/$file" => false]; + + // Find out what is the exact file requested + $found = false; foreach ($possible_files as $name => $log) { - if (@file_exists($_SERVER['DOCUMENT_ROOT'] . '/distributions/' . $name)) { + if (@file_exists(ProjectGlobals::getPublicRoot() . '/distributions/' . $name)) { $found = $name; break; } } - - // No downloadable file found - if ($found === FALSE) { - status_header(404); - site_header("Download not found"); - - // If user comes from a mirror selection page, provide a backlink - if (isset($_SERVER['HTTP_REFERER']) && preg_match("!/from/a/mirror$!", $_SERVER['HTTP_REFERER'])) { - $moreinfo = ", or reconsider your mirror selection"; - } else { $moreinfo = ""; } - - // An executable was requested (temp fix for rsync change) - if (preg_match("!\\.exe$!", $name)) { - $info = "

- This mirror site is improperly setup, and thus has - no copy of the executable file you requested. Please - select a different - mirror site to get the file, until this site gets - fixed. -

"; - } - else { - $info = "

- The file you requested ( " . htmlspecialchars($file, ENT_QUOTES, "UTF-8") . " ) is not found on - this server ({$MYSITE}). If this file is a - recent addition to our downloads, then it is possible that this - particular server is not yet updated to host that file for download. - Please come back to this server later{$moreinfo}. -

"; - } - - echo <<Download not found -{$info} -EOT; - site_footer(); - exit; - } - + + return $found; +} +// Download a file from a mirror site +function download_file($mirror, $file): void +{ // Redirect to the particular file if (!headers_sent()) { status_header(302); - header('Location: ' . $mirror . 'distributions/' . $found); + header('Location: ' . $mirror . 'distributions/' . $file); } else { exit("Unable to serve you the requested file for download"); } @@ -75,30 +39,4 @@ EOT; // download the file, even if the log server is down echo " "; flush(); - - // Log download on master server (may be a registered - // shutdown function to really run after the file is - // started to download) - // if ($log) { download_log($mirror, $found); } -} - -// Log downloads on the master server -function download_log($mirror, $file) -{ - // Set referer value - $referer = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '-'); - - // String to pass on as a query to the remote log - $log_file = "https://master.php.net/log_download.php" . - "?download_file=" . urlencode($file) . - "&mirror=" . urlencode($mirror) . - "&user_referer=" . urlencode($referer) . - "&user_ip=" . urlencode(i2c_realip()); - - // Open the remote log and read some bytes - $remote_log = @fopen($log_file, 'r'); - if ($remote_log) { - fread($remote_log, 1024); - fclose($remote_log); - } } diff --git a/include/download-instructions/fw-drupal.php b/include/download-instructions/fw-drupal.php new file mode 100644 index 0000000000..20ff7332ae --- /dev/null +++ b/include/download-instructions/fw-drupal.php @@ -0,0 +1,6 @@ +

+Instructions for installing PHP for Drupal development can be found on: +

+

+» https://www.drupal.org/docs/getting-started/installing-drupal +

diff --git a/include/download-instructions/fw-joomla.php b/include/download-instructions/fw-joomla.php new file mode 100644 index 0000000000..1173ee7a98 --- /dev/null +++ b/include/download-instructions/fw-joomla.php @@ -0,0 +1,6 @@ +

+Instructions for installing PHP for Joomla! development can be found on: +

+

+» https://manual.joomla.org/docs/get-started/ +

\ No newline at end of file diff --git a/include/download-instructions/fw-laravel.php b/include/download-instructions/fw-laravel.php new file mode 100644 index 0000000000..62c4282b6a --- /dev/null +++ b/include/download-instructions/fw-laravel.php @@ -0,0 +1,6 @@ +

+Instructions for installing PHP for Laravel development can be found on: +

+

+» https://laravel.com/docs/12.x/installation#installing-php +

diff --git a/include/download-instructions/fw-symfony.php b/include/download-instructions/fw-symfony.php new file mode 100644 index 0000000000..f03259972f --- /dev/null +++ b/include/download-instructions/fw-symfony.php @@ -0,0 +1,6 @@ +

+Instructions for installing PHP for Symfony development can be found on: +

+

+» https://symfony.com/doc/current/setup.html +

diff --git a/include/download-instructions/fw-wordpress.php b/include/download-instructions/fw-wordpress.php new file mode 100644 index 0000000000..1fd289f75d --- /dev/null +++ b/include/download-instructions/fw-wordpress.php @@ -0,0 +1,6 @@ +

+Instructions for installing PHP for WordPress development can be found on: +

+

+» https://wordpress.org/support/article/how-to-install-wordpress/ +

diff --git a/include/download-instructions/linux-debian-cli-community.php b/include/download-instructions/linux-debian-cli-community.php new file mode 100644 index 0000000000..00dc712cbc --- /dev/null +++ b/include/download-instructions/linux-debian-cli-community.php @@ -0,0 +1,35 @@ +
+

+ This installation method uses binaries provided by a third-party provider. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+
+

+ Specifically, this provider includes a + patch that adds telemetry to the Apache 2 and PHP-FPM modules. +

+
+

+On the command line, run the commands below: +

+

+# Add the packages.sury.org/php repository.
+sudo apt update
+sudo apt install -y lsb-release ca-certificates curl
+sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
+sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
+sudo tee /etc/apt/sources.list.d/php.sources <<EOF
+Types: deb
+URIs: https://packages.sury.org/php/
+Suites: $(lsb_release -sc)
+Components: main
+Signed-By: /usr/share/keyrings/debsuryorg-archive-keyring.gpg
+EOF
+sudo apt update
+
+# Install PHP.
+sudo apt install -y php
+
diff --git a/include/download-instructions/linux-debian-cli-default.php b/include/download-instructions/linux-debian-cli-default.php new file mode 100644 index 0000000000..114758fa60 --- /dev/null +++ b/include/download-instructions/linux-debian-cli-default.php @@ -0,0 +1,17 @@ +
+

+ This installation method uses binaries provided by your Linux distribution. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+

+On the command line, run the commands below: +

+

+# Update the package lists.
+sudo apt update
+
+# Install PHP.
+sudo apt install -y php
+
diff --git a/include/download-instructions/linux-debian-web-community.php b/include/download-instructions/linux-debian-web-community.php new file mode 120000 index 0000000000..b21d40f00c --- /dev/null +++ b/include/download-instructions/linux-debian-web-community.php @@ -0,0 +1 @@ +linux-debian-cli-community.php \ No newline at end of file diff --git a/include/download-instructions/linux-debian-web-default.php b/include/download-instructions/linux-debian-web-default.php new file mode 120000 index 0000000000..0017979f66 --- /dev/null +++ b/include/download-instructions/linux-debian-web-default.php @@ -0,0 +1 @@ +linux-debian-cli-default.php \ No newline at end of file diff --git a/include/download-instructions/linux-docker-cli-community.php b/include/download-instructions/linux-docker-cli-community.php new file mode 100644 index 0000000000..943a8f6488 --- /dev/null +++ b/include/download-instructions/linux-docker-cli-community.php @@ -0,0 +1,10 @@ +

+On the command line, run the following commands: +

+

+# Pull the PHP Docker image.
+docker pull php:-cli
+
+# Launch a container with PHP.
+docker run --rm -it --entrypoint bash php:-cli
+
diff --git a/include/download-instructions/linux-docker-cli-default.php b/include/download-instructions/linux-docker-cli-default.php new file mode 100644 index 0000000000..282372e9dc --- /dev/null +++ b/include/download-instructions/linux-docker-cli-default.php @@ -0,0 +1,10 @@ +

+On the command line, run the following commands: +

+

+# Pull the PHP Docker image.
+docker pull php-cli
+
+# Launch a container with PHP.
+docker run --rm -it --entrypoint bash php-cli
+
diff --git a/include/download-instructions/linux-docker-web-community.php b/include/download-instructions/linux-docker-web-community.php new file mode 100644 index 0000000000..27ed68ad54 --- /dev/null +++ b/include/download-instructions/linux-docker-web-community.php @@ -0,0 +1,10 @@ +

+On the command line, run the following commands: +

+

+# Pull the PHP Docker image.
+docker pull php:-fpm
+
+# Launch a container with PHP.
+docker run --rm -it --entrypoint bash php:-fpm
+
diff --git a/include/download-instructions/linux-docker-web-default.php b/include/download-instructions/linux-docker-web-default.php new file mode 100644 index 0000000000..c04a74df5d --- /dev/null +++ b/include/download-instructions/linux-docker-web-default.php @@ -0,0 +1,10 @@ +

+On the command line, run the following commands: +

+

+# Pull the PHP Docker image.
+docker pull php:fpm
+
+# Launch a container with PHP.
+docker run --rm -it --entrypoint bash php:fpm
+
diff --git a/include/download-instructions/linux-fedora-cli-community.php b/include/download-instructions/linux-fedora-cli-community.php new file mode 100644 index 0000000000..ecdc44d016 --- /dev/null +++ b/include/download-instructions/linux-fedora-cli-community.php @@ -0,0 +1,26 @@ +
+

+ This installation method uses binaries provided by a third-party provider. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+

+On the command line, run the commands below: +

+

+# Add the Remi's RPM repository.
+sudo dnf install -y dnf-plugins-core
+sudo dnf install -y https://rpms.remirepo.net/fedora/remi-release-$(rpm -E %fedora).rpm
+
+
+# Install PHP (multiple versions).
+sudo dnf install -y php
+
+sudo dnf module reset php -y
+sudo dnf module enable php:remi- -y
+
+# Install PHP (single/default version).
+sudo dnf install -y php
+
+
diff --git a/include/download-instructions/linux-fedora-cli-default.php b/include/download-instructions/linux-fedora-cli-default.php new file mode 100644 index 0000000000..acb4b2b769 --- /dev/null +++ b/include/download-instructions/linux-fedora-cli-default.php @@ -0,0 +1,14 @@ +
+

+ This installation method uses binaries provided by your Linux distribution. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+

+On the command line, run the commands below: +

+

+# Install PHP.
+sudo dnf install -y php
+
diff --git a/include/download-instructions/linux-fedora-web-community.php b/include/download-instructions/linux-fedora-web-community.php new file mode 120000 index 0000000000..96f87a049c --- /dev/null +++ b/include/download-instructions/linux-fedora-web-community.php @@ -0,0 +1 @@ +linux-fedora-cli-community.php \ No newline at end of file diff --git a/include/download-instructions/linux-fedora-web-default.php b/include/download-instructions/linux-fedora-web-default.php new file mode 120000 index 0000000000..83c945fbe5 --- /dev/null +++ b/include/download-instructions/linux-fedora-web-default.php @@ -0,0 +1 @@ +linux-fedora-cli-default.php \ No newline at end of file diff --git a/include/download-instructions/linux-redhat-cli-community.php b/include/download-instructions/linux-redhat-cli-community.php new file mode 100644 index 0000000000..84d58e7987 --- /dev/null +++ b/include/download-instructions/linux-redhat-cli-community.php @@ -0,0 +1,28 @@ +
+

+ This installation method uses binaries provided by a third-party provider. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+

+On the command line, run the commands below: +

+

+# Add the Remi's RPM repository.
+sudo subscription-manager repos --enable codeready-builder-for-rhel-$(rpm -E %rhel)-$(arch)-rpms
+sudo dnf install -y dnf-plugins-core
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
+sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm
+
+
+# Install PHP (multiple versions).
+sudo dnf install -y php
+
+sudo dnf module reset php -y
+sudo dnf module enable php:remi- -y
+
+# Install PHP (single/default version).
+sudo dnf install -y php
+
+
diff --git a/include/download-instructions/linux-redhat-cli-default.php b/include/download-instructions/linux-redhat-cli-default.php new file mode 100644 index 0000000000..acb4b2b769 --- /dev/null +++ b/include/download-instructions/linux-redhat-cli-default.php @@ -0,0 +1,14 @@ +
+

+ This installation method uses binaries provided by your Linux distribution. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+

+On the command line, run the commands below: +

+

+# Install PHP.
+sudo dnf install -y php
+
diff --git a/include/download-instructions/linux-redhat-web-community.php b/include/download-instructions/linux-redhat-web-community.php new file mode 120000 index 0000000000..b41bc5d464 --- /dev/null +++ b/include/download-instructions/linux-redhat-web-community.php @@ -0,0 +1 @@ +linux-redhat-cli-community.php \ No newline at end of file diff --git a/include/download-instructions/linux-redhat-web-default.php b/include/download-instructions/linux-redhat-web-default.php new file mode 120000 index 0000000000..38d6e97f7b --- /dev/null +++ b/include/download-instructions/linux-redhat-web-default.php @@ -0,0 +1 @@ +linux-redhat-cli-default.php \ No newline at end of file diff --git a/include/download-instructions/linux-source.php b/include/download-instructions/linux-source.php new file mode 100644 index 0000000000..47437b2c77 --- /dev/null +++ b/include/download-instructions/linux-source.php @@ -0,0 +1,4 @@ +

+ The instructions for compiling from source + on Linux are described in the PHP manual. +

diff --git a/include/download-instructions/linux-ubuntu-cli-community.php b/include/download-instructions/linux-ubuntu-cli-community.php new file mode 100644 index 0000000000..d325b48ca5 --- /dev/null +++ b/include/download-instructions/linux-ubuntu-cli-community.php @@ -0,0 +1,24 @@ +
+

+ This installation method uses binaries provided by a third-party provider. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+
+

+ Specifically, this provider includes a + patch that adds telemetry to the Apache 2 and PHP-FPM modules. +

+
+

+# Add the ondrej/php repository.
+sudo apt update
+sudo apt install -y software-properties-common
+sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y
+sudo apt update
+
+# Install PHP.
+sudo apt install -y php
+
diff --git a/include/download-instructions/linux-ubuntu-cli-default.php b/include/download-instructions/linux-ubuntu-cli-default.php new file mode 100644 index 0000000000..114758fa60 --- /dev/null +++ b/include/download-instructions/linux-ubuntu-cli-default.php @@ -0,0 +1,17 @@ +
+

+ This installation method uses binaries provided by your Linux distribution. + It contains patches to the PHP source code added by the build provider, + over which the PHP project has no control. +

+
+

+On the command line, run the commands below: +

+

+# Update the package lists.
+sudo apt update
+
+# Install PHP.
+sudo apt install -y php
+
diff --git a/include/download-instructions/linux-ubuntu-web-community.php b/include/download-instructions/linux-ubuntu-web-community.php new file mode 120000 index 0000000000..cbcc4a6ff3 --- /dev/null +++ b/include/download-instructions/linux-ubuntu-web-community.php @@ -0,0 +1 @@ +linux-ubuntu-cli-community.php \ No newline at end of file diff --git a/include/download-instructions/linux-ubuntu-web-default.php b/include/download-instructions/linux-ubuntu-web-default.php new file mode 120000 index 0000000000..c4a0004521 --- /dev/null +++ b/include/download-instructions/linux-ubuntu-web-default.php @@ -0,0 +1 @@ +linux-ubuntu-cli-default.php \ No newline at end of file diff --git a/include/download-instructions/osx-docker-cli.php b/include/download-instructions/osx-docker-cli.php new file mode 120000 index 0000000000..a851bfe642 --- /dev/null +++ b/include/download-instructions/osx-docker-cli.php @@ -0,0 +1 @@ +linux-docker-cli-community.php \ No newline at end of file diff --git a/include/download-instructions/osx-docker-web.php b/include/download-instructions/osx-docker-web.php new file mode 120000 index 0000000000..ded3a794ad --- /dev/null +++ b/include/download-instructions/osx-docker-web.php @@ -0,0 +1 @@ +linux-docker-web-community.php \ No newline at end of file diff --git a/include/download-instructions/osx-homebrew-php.php b/include/download-instructions/osx-homebrew-php.php new file mode 100644 index 0000000000..5fd20fc401 --- /dev/null +++ b/include/download-instructions/osx-homebrew-php.php @@ -0,0 +1,12 @@ +

+On the command line, run the following commands: +

+

+# Download and install Homebrew.
+curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
+
+# Install and link PHP.
+brew install shivammathur/php/php@
+
+brew link --force --overwrite php@
+
diff --git a/include/download-instructions/osx-homebrew.php b/include/download-instructions/osx-homebrew.php new file mode 100644 index 0000000000..bc2f033cac --- /dev/null +++ b/include/download-instructions/osx-homebrew.php @@ -0,0 +1,12 @@ +

+On the command line, run the following commands: +

+

+# Download and install Homebrew.
+curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
+
+# Install and link PHP.
+brew install php@
+
+brew link --force --overwrite php@
+
diff --git a/include/download-instructions/osx-macports.php b/include/download-instructions/osx-macports.php new file mode 100644 index 0000000000..4ed4c24f3a --- /dev/null +++ b/include/download-instructions/osx-macports.php @@ -0,0 +1,14 @@ +

+On the command line, run the following commands: +

+

+# Please refer to https://guide.macports.org/chunked/installing.macports.html for installing MacPorts.
+
+# Install PHP 
+
+sudo port install php
+
+
+# Switch Active PHP  version
+sudo port select --set php php
+
diff --git a/include/download-instructions/osx-source.php b/include/download-instructions/osx-source.php new file mode 100644 index 0000000000..aa81b80171 --- /dev/null +++ b/include/download-instructions/osx-source.php @@ -0,0 +1,4 @@ +

+ The instructions for compiling from source + on macOS are described in the PHP manual. +

diff --git a/include/download-instructions/windows-chocolatey.php b/include/download-instructions/windows-chocolatey.php new file mode 100644 index 0000000000..56c6205465 --- /dev/null +++ b/include/download-instructions/windows-chocolatey.php @@ -0,0 +1,10 @@ +

+On the command line, run the following commands: +

+

+# Download and install Chocolatey.
+powershell -c "irm https://community.chocolatey.org/install.ps1|iex"
+
+# Download and install PHP.
+choco install php --version= -y
+
diff --git a/include/download-instructions/windows-docker-cli.php b/include/download-instructions/windows-docker-cli.php new file mode 120000 index 0000000000..a851bfe642 --- /dev/null +++ b/include/download-instructions/windows-docker-cli.php @@ -0,0 +1 @@ +linux-docker-cli-community.php \ No newline at end of file diff --git a/include/download-instructions/windows-docker-web.php b/include/download-instructions/windows-docker-web.php new file mode 120000 index 0000000000..ded3a794ad --- /dev/null +++ b/include/download-instructions/windows-docker-web.php @@ -0,0 +1 @@ +linux-docker-web-community.php \ No newline at end of file diff --git a/include/download-instructions/windows-downloads.php b/include/download-instructions/windows-downloads.php new file mode 100644 index 0000000000..5d0e64da3b --- /dev/null +++ b/include/download-instructions/windows-downloads.php @@ -0,0 +1,144 @@ +Windows release index is temporarily unavailable.

'; + return; +} + +if (!isset($releases[$version]) || !is_array($releases[$version])) { + echo '

No Windows builds found for PHP ' . htmlspecialchars($version ?? '') . '.

'; + return; +} + +$verBlock = $releases[$version]; +$fullVersion = isset($verBlock['version']) ? $verBlock['version'] : $version; + +function ws_build_label(string $k, array $entry): string { + $tool = 'VS'; + if (strpos($k, 'vs18') !== false) { + $tool .= '18'; + } elseif (strpos($k, 'vs17') !== false) { + $tool .= '17'; + } elseif (strpos($k, 'vs16') !== false) { + $tool .= '16'; + } elseif (strpos($k, 'vc15') !== false) { + $tool = 'VC15'; + } + + $arch = (strpos($k, 'x64') !== false) ? 'x64' : ((strpos($k, 'x86') !== false) ? 'x86' : ''); + $ts = (strpos($k, 'nts') !== false) ? 'Non Thread Safe' : 'Thread Safe'; + + if (strncmp($k, 'nts-', 4) === 0) { + $ts = 'Non Thread Safe'; + } elseif (strncmp($k, 'ts-', 3) === 0) { + $ts = 'Thread Safe'; + } + + $mtime = isset($entry['mtime']) ? strtotime($entry['mtime']) : 0; + $mt = $mtime ? gmdate('Y-M-d H:i:s', $mtime) : ''; + + return trim(($tool ? $tool . ' ' : '') . ($arch ? $arch . ' ' : '') . $ts . ($mt ? ' ' . $mt . ' UTC' : '')); +} + +function ws_has_sbom(string $version, string $fullVersion): bool { + if (version_compare($version, '8.6', '>=')) { + return true; + } + + $minimumVersions = [ + '8.2' => '8.2.33', + '8.3' => '8.3.33', + '8.4' => '8.4.24', + '8.5' => '8.5.9', + ]; + + return isset($minimumVersions[$version]) && version_compare($fullVersion, $minimumVersions[$version], '>='); +} + +$hasSbom = ws_has_sbom($version, $fullVersion); + +echo <<<'HTML' +Architecture +

It is recommended to use x64 builds of PHP as almost all Windows installations currently support x64.

+Thread Safety +

NTS builds are for single-threaded use cases, typically PHP running via FastCGI or on the CLI. TS builds support multithreaded SAPIs and are intended for PHP loaded as a web server module. So, if you want to use PHP as FastCGI with IIS, use the Non-Thread Safe (NTS) builds of PHP, or if you want to use the Apache HTTP Server, use the Thread Safe (TS) builds of PHP.

+Visual Studio Versions +

The builds below are built using Visual Studio 2019 (VS16) or Visual Studio 2022 (VS17) compiler. They require the Visual C++ Redistributable for Visual Studio 2015-2022 x64 or x86 installed.

+HTML; + +echo '

PHP ' . htmlspecialchars($version) . ' (' . $fullVersion . ')

'; + +if (!empty($verBlock['source']['path'])) { + echo '

Download source code ' . ($verBlock['source']['size'] ?? '') . '

', PHP_EOL; +} +if (!empty($verBlock['test_pack']['path'])) { + echo '

Download tests package (phpt) ' . ($verBlock['test_pack']['size'] ?? '') . '

', PHP_EOL; +} + +$buckets = [ + 'nts-x64' => [], + 'ts-x64' => [], + 'nts-x86' => [], + 'ts-x86' => [], +]; + +$package_names = [ + 'zip' => 'Zip', + 'debug_pack' => 'Debug Pack', + 'devel_pack' => 'Development package (SDK to develop PHP extensions)', +]; + +foreach ($verBlock as $k => $entry) { + if (!is_array($entry)) { + continue; + } + if (in_array($k, ['version', 'source', 'test_pack'], true)) { + continue; + } + + $isNts = (strncmp($k, 'nts-', 4) === 0) || (strpos($k, 'nts') !== false); + $arch = (strpos($k, 'x64') !== false) ? 'x64' : ((strpos($k, 'x86') !== false) ? 'x86' : ''); + $bucketKey = ($isNts ? 'nts' : 'ts') . '-' . ($arch !== '' ? $arch : 'other'); + + if (!isset($buckets[$bucketKey])) { + $bucketKey = 'other'; + } + $buckets[$bucketKey][] = [$k, $entry]; +} + +foreach (['nts-x64', 'ts-x64', 'nts-x86', 'ts-x86'] as $bk) { + foreach ($buckets[$bk] as [$k, $entry]) { + $label = ws_build_label($k, $entry); + if ($label === '') { + continue; + } + + echo PHP_EOL; + echo '
', PHP_EOL; + echo "\t", '

' . $label . '

', PHP_EOL; + + foreach(['zip', 'debug_pack', 'devel_pack'] as $type) { + if (!empty($entry[$type]['path'])) { + $p = $entry[$type]['path']; + echo "\t", '

' . $package_names[$type] . ' ' . $entry[$type]['size'] . '
', PHP_EOL; + if (!empty($entry[$type]['sha256'])) { + echo "\t", sha256_html($entry[$type]['sha256']), PHP_EOL; + } + if ($type === 'zip' && $hasSbom) { + echo "\t", 'SPDX|CDX', PHP_EOL; + } + echo '

', PHP_EOL; + } + } + + echo '
', PHP_EOL; + } +} +?> diff --git a/include/download-instructions/windows-native.php b/include/download-instructions/windows-native.php new file mode 100644 index 0000000000..23e0e118cc --- /dev/null +++ b/include/download-instructions/windows-native.php @@ -0,0 +1,7 @@ +

+On the command line, run the following commands: +

+

+# Download and install PHP.
+powershell -c "& ([ScriptBlock]::Create((irm 'https://www.php.net/include/download-instructions/windows.ps1'))) -Version "
+
diff --git a/include/download-instructions/windows-scoop-main.php b/include/download-instructions/windows-scoop-main.php new file mode 100644 index 0000000000..231cfcf8d0 --- /dev/null +++ b/include/download-instructions/windows-scoop-main.php @@ -0,0 +1,11 @@ +

+On the command line, run the following commands: +

+

+# Download and install Scoop.
+powershell -c "irm https://get.scoop.sh | iex"
+
+# Download and install PHP.
+scoop bucket add main
+scoop install main/php
+
diff --git a/include/download-instructions/windows-scoop-versions.php b/include/download-instructions/windows-scoop-versions.php new file mode 100644 index 0000000000..c2a1d61ff1 --- /dev/null +++ b/include/download-instructions/windows-scoop-versions.php @@ -0,0 +1,11 @@ +

+On the command line, run the following commands: +

+

+# Download and install Scoop.
+powershell -c "irm https://get.scoop.sh | iex"
+
+# Download and install PHP.
+scoop bucket add versions
+scoop install versions/php
+
diff --git a/include/download-instructions/windows-source.php b/include/download-instructions/windows-source.php new file mode 100644 index 0000000000..252be497c5 --- /dev/null +++ b/include/download-instructions/windows-source.php @@ -0,0 +1,5 @@ +

+ The instructions for compiling from source on Windows are described in the + php/php-windows-builder + repository. +

diff --git a/include/download-instructions/windows-winget.php b/include/download-instructions/windows-winget.php new file mode 100644 index 0000000000..e21ccd24a5 --- /dev/null +++ b/include/download-instructions/windows-winget.php @@ -0,0 +1,20 @@ +

+On the command line, run the following commands: +

+ +

+# Download and install 
+
+winget install 
+
+ + +[CmdletBinding()] +param( + [Parameter(Mandatory = $true, Position=0)] + [ValidatePattern('^\d+(\.\d+)?(\.\d+)?((alpha|beta|RC)\d*)?$')] + [string]$Version, + + [Parameter(Mandatory = $false, Position=1)] + [ValidateSet("x64", "x86")] + [string]$Arch = "x64", + + [Parameter(Mandatory = $false, Position=2)] + [bool]$ThreadSafe = $False, + + [Parameter(Mandatory = $false, Position=3)] + [string]$Timezone = 'UTC', + + [Parameter(Mandatory = $false)] + [ValidateSet('Auto', 'CurrentUser', 'AllUsers', 'Custom')] + [string]$Scope = 'Auto', + + [Parameter(Mandatory = $false)] + [string]$CustomPath +) + +Function Get-File { + param ( + [Parameter(Mandatory = $true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] $Url, + [Parameter(Mandatory = $false, Position=1)] + [string] $FallbackUrl, + [Parameter(Mandatory = $false, Position=2)] + [string] $OutFile = '', + [Parameter(Mandatory = $false, Position=3)] + [int] $Retries = 3, + [Parameter(Mandatory = $false, Position=4)] + [int] $TimeoutSec = 0 + ) + + for ($i = 0; $i -lt $Retries; $i++) { + try { + if($OutFile -ne '') { + Invoke-WebRequest -Uri $Url -OutFile $OutFile -TimeoutSec $TimeoutSec -UseBasicParsing -ErrorAction Stop + return + } else { + return Invoke-WebRequest -Uri $Url -TimeoutSec $TimeoutSec -UseBasicParsing -ErrorAction Stop + } + } catch { + if ($i -eq ($Retries - 1)) { + if($FallbackUrl) { + try { + if($OutFile -ne '') { + Invoke-WebRequest -Uri $FallbackUrl -OutFile $OutFile -TimeoutSec $TimeoutSec -UseBasicParsing -ErrorAction Stop + return + } else { + return Invoke-WebRequest -Uri $FallbackUrl -TimeoutSec $TimeoutSec -UseBasicParsing -ErrorAction Stop + } + } catch { + throw "Failed to download the file from $Url and $FallbackUrl" + } + } else { + throw "Failed to download the file from $Url" + } + } + } + } +} + +Function Test-IsAdmin { + $p = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) + return $p.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) +} + +Function ConvertTo-BoolOrDefault { + param([string]$UserInput, [bool]$Default) + if ([string]::IsNullOrWhiteSpace($UserInput)) { return $Default } + switch -Regex ($UserInput.Trim().ToLowerInvariant()) { + '^(1|true|t|y|yes)$' { return $true } + '^(0|false|f|n|no)$' { return $false } + default { return $Default } + } +} + +Function Edit-PathForCompare([string]$p) { + if ([string]::IsNullOrWhiteSpace($p)) { return '' } + return ($p.Trim().Trim('"').TrimEnd('\')).ToLowerInvariant() +} + +Function Set-PathEntryFirst { + param( + [Parameter(Mandatory = $true)][ValidateSet('User','Machine')] [string]$Target, + [Parameter(Mandatory = $true)][string]$Entry + ) + + $entryNorm = Edit-PathForCompare $Entry + + $existing = [Environment]::GetEnvironmentVariable('Path', $Target) + if ($null -eq $existing) { $existing = '' } + + $parts = @() + foreach ($p in ($existing -split ';')) { + if (-not [string]::IsNullOrWhiteSpace($p)) { + if ((Edit-PathForCompare $p) -ne $entryNorm) { $parts += $p } + } + } + $newParts = @($Entry) + $parts + [Environment]::SetEnvironmentVariable('Path', ($newParts -join ';'), $Target) + + $procParts = @() + foreach ($p in ($env:Path -split ';')) { + if (-not [string]::IsNullOrWhiteSpace($p)) { + if ((Edit-PathForCompare $p) -ne $entryNorm) { $procParts += $p } + } + } + $env:Path = ((@($Entry) + $procParts) -join ';') +} + +function Send-EnvironmentChangeBroadcast { + try { + $sig = @' +using System; +using System.Runtime.InteropServices; +public static class NativeMethods { + [DllImport("user32.dll", SetLastError=true, CharSet=CharSet.Auto)] + public static extern IntPtr SendMessageTimeout( + IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam, + uint fuFlags, uint uTimeout, out UIntPtr lpdwResult); +} +'@ + Add-Type -TypeDefinition $sig -ErrorAction SilentlyContinue | Out-Null + $HWND_BROADCAST = [IntPtr]0xffff + $WM_SETTINGCHANGE = 0x001A + $SMTO_ABORTIFHUNG = 0x0002 + [UIntPtr]$result = [UIntPtr]::Zero + [NativeMethods]::SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, [UIntPtr]::Zero, "Environment", $SMTO_ABORTIFHUNG, 5000, [ref]$result) | Out-Null + } catch { } +} + +Function Test-EmptyDir([string]$Dir) { + if (-not (Test-Path -LiteralPath $Dir)) { + New-Item -ItemType Directory -Path $Dir -Force | Out-Null + return + } + $items = Get-ChildItem -LiteralPath $Dir -Force -ErrorAction SilentlyContinue + if ($items -and $items.Count -gt 0) { + throw "The directory '$Dir' is not empty. Please choose another location." + } +} + +Function Get-Semver { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true, Position=0)] + [ValidateNotNull()] + [ValidatePattern('^\d+\.\d+$')] + [string]$Version + ) + + $jsonUrl = "https://downloads.php.net/~windows/releases/releases.json" + $releases = ((Get-File -Url $jsonUrl).Content | ConvertFrom-Json) + + $semver = $releases.$Version.version + if ($null -ne $semver) { return [string]$semver } + + $html = (Get-File -Url "https://downloads.php.net/~windows/releases/archives/").Content + $rx = [regex]"php-($([regex]::Escape($Version))\.[0-9]+)" + $found = $rx.Matches($html) | ForEach-Object { $_.Groups[1].Value } | + Sort-Object { [version]$_ } -Descending | + Select-Object -First 1 + + if ($null -ne $found) { return [string]$found } + + throw "Unsupported PHP version series: $Version" +} + +Function Get-VSVersion { + param( + [Parameter(Mandatory = $true, Position=0)] + [ValidateNotNull()] + [ValidatePattern('^\d+\.\d+$')] + [string]$Version + ) + $map = @{ + '5.2' = 'VC6' + '5.3' = 'VC9'; '5.4' = 'VC9' + '5.5' = 'VC11'; '5.6' = 'VC11' + '7.0' = 'VC14'; '7.1' = 'VC14' + '7.2' = 'VC15'; '7.3' = 'VC15'; '7.4' = 'vc15' + '8.0' = 'vs16'; '8.1' = 'vs16'; '8.2' = 'vs16'; '8.3' = 'vs16' + '8.4' = 'vs17'; '8.5' = 'vs17' + '8.6' = 'vs18'; + } + + if ($map.ContainsKey($Version)) { + return $map[$Version] + } + throw "Unsupported PHP version: $Version" +} + +Function Get-ReleaseType { + param( + [Parameter(Mandatory = $true, Position=0)] + [ValidateNotNull()] + [ValidatePattern('^\d+(\.\d+)?(\.\d+)?((alpha|beta|RC)\d*)?$')] + [string]$Version + ) + if ($Version -match "[a-zA-Z]") { + return "qa" + } else { + return "releases" + } +} + +Function Get-PhpFromUrl { + param( + [Parameter(Mandatory = $true, Position=0)] + [ValidateNotNull()] + [ValidatePattern('^\d+\.\d+$')] + [string]$Version, + [Parameter(Mandatory = $true, Position=1)] + [ValidateNotNull()] + [ValidatePattern('^\d+(\.\d+)?(\.\d+)?((alpha|beta|RC)\d*)?$')] + [string]$Semver, + [Parameter(Mandatory = $false, Position=2)] + [ValidateSet("x64", "x86")] + [string]$Arch = "x64", + [Parameter(Mandatory = $false, Position=3)] + [bool]$ThreadSafe = $false, + [Parameter(Mandatory = $true, Position=4)] + [ValidateNotNull()] + [ValidateLength(1, [int]::MaxValue)] + [string]$OutFile + ) + $vs = Get-VSVersion $Version + $ts = if ($ThreadSafe) { "ts" } else { "nts" } + $zipName = if ($ThreadSafe) { "php-$Semver-Win32-$vs-$Arch.zip" } else { "php-$Semver-$ts-Win32-$vs-$Arch.zip" } + $type = Get-ReleaseType $Semver + + $base = "https://downloads.php.net/~windows/$type" + try { + Get-File -Url "$base/$zipName" -OutFile $OutFile + } catch { + try { + Get-File -Url "$base/archives/$zipName" -OutFile $OutFile + } catch { + throw "Failed to download PHP $Semver." + } + } +} + +$tempFile = [IO.Path]::ChangeExtension([IO.Path]::GetTempFileName(), '.zip') + +try { + $isAdmin = Test-IsAdmin + + if (-not $PSBoundParameters.ContainsKey('Arch')) { + Write-Host "" + Write-Host "What architecture would you like to install?" + Write-Host "Enter x64 for 64-bit" + Write-Host "Enter x86 for 32-bit" + Write-Host "Press Enter to use default ($Arch)" + $archSel = Read-Host "Please enter [x64/x86]" + if (-not [string]::IsNullOrWhiteSpace($archSel) -and @('x64','x86') -contains $archSel.Trim()) { + $Arch = $archSel.Trim() + } + } + + if (-not $PSBoundParameters.ContainsKey('ThreadSafe')) { + Write-Host "" + Write-Host "What ThreadSafe option would you like to use?" + Write-Host "Enter true for ThreadSafe" + Write-Host "Enter false for Non-ThreadSafe" + Write-Host "Press Enter to use default ($ThreadSafe)" + $tsSel = Read-Host "Please enter [true/false]" + $ThreadSafe = ConvertTo-BoolOrDefault -UserInput $tsSel -Default $ThreadSafe + } + + if (-not $PSBoundParameters.ContainsKey('Timezone')) { + Write-Host "" + Write-Host "What timezone would you like to set in php.ini?" + Write-Host "Press Enter to use default ($Timezone)" + $tzSel = Read-Host "Please enter timezone" + if (-not [string]::IsNullOrWhiteSpace($tzSel)) { + $Timezone = $tzSel.Trim() + } + } + + if (-not $PSBoundParameters.ContainsKey('Scope')) { + Write-Host "" + Write-Host "Would you like to install PHP for:" + Write-Host "Enter 1 for Current user" + Write-Host "Enter 2 for All users (requires admin elevation)" + Write-Host "Enter 3 to install PHP at a custom path" + Write-Host "Press Enter to choose automatically" + $sel = Read-Host "Please enter [1-3]" + switch ($sel) { + '1' { $Scope = 'CurrentUser' } + '2' { $Scope = 'AllUsers' } + '3' { $Scope = 'Custom' } + default { $Scope = 'Auto' } + } + } + + if ($Scope -eq 'Custom' -and -not $PSBoundParameters.ContainsKey('CustomPath')) { + $defaultCustom = if ($CustomPath) { $CustomPath } else { (Join-Path $env:LOCALAPPDATA 'Programs\PHP') } + Write-Host "" + Write-Host "Please enter the custom installation path." + Write-Host "Press Enter to use default ($defaultCustom)" + $cr = Read-Host "Please enter" + $CustomPath = if ([string]::IsNullOrWhiteSpace($cr)) { $defaultCustom } else { $cr.Trim() } + } + + if ($Version -match "^\d+\.\d+$") { + $Semver = Get-Semver $Version + $MajorMinor = $Version + } else { + $Semver = $Version + if ($Semver -notmatch '^(\d+\.\d+)') { throw "Could not derive major.minor from Version '$Version'." } + $MajorMinor = $Matches[1] + } + + if ([version]$MajorMinor -lt [version]'5.5' -and $Arch -eq 'x64') { + $Arch = 'x86' + Write-Host "PHP series $MajorMinor does not support x64 on Windows. Using x86." + } + + $EffectiveScope = $Scope + if ($Scope -eq 'Auto') { + $EffectiveScope = if ($isAdmin) { 'AllUsers' } else { 'CurrentUser' } + } + + if ($EffectiveScope -eq 'AllUsers' -and -not $isAdmin) { + throw "AllUsers install selected but this session is not elevated. Re-run as Administrator or choose CurrentUser/Custom." + } + + $installRootDirectory = switch ($EffectiveScope) { + 'CurrentUser' { Join-Path $env:LOCALAPPDATA 'Programs\PHP' } + 'AllUsers' { + $pf = $env:ProgramFiles + if ($Arch -eq 'x86' -and ${env:ProgramFiles(x86)}) { $pf = ${env:ProgramFiles(x86)} } + Join-Path $pf 'PHP' + } + 'Custom' { + if ([string]::IsNullOrWhiteSpace($CustomPath)) { throw "Scope=Custom requires -CustomPath (or interactive input)." } + [Environment]::ExpandEnvironmentVariables($CustomPath) + } + default { throw "Unexpected scope: $EffectiveScope" } + } + + if (-not (Test-Path -LiteralPath $installRootDirectory)) { + New-Item -ItemType Directory -Path $installRootDirectory | Out-Null + } + + $tsTag = if ($ThreadSafe) { 'ts' } else { 'nts' } + $installDirectory = Join-Path (Join-Path (Join-Path $installRootDirectory $Semver) $tsTag) $Arch + $currentLink = Join-Path $installRootDirectory 'current' + + Test-EmptyDir $installDirectory + + Write-Host "Downloading PHP $Semver ($Arch, $tsTag) -> $installDirectory" + Get-PhpFromUrl $MajorMinor $Semver $Arch $ThreadSafe $tempFile + + Expand-Archive -Path $tempFile -DestinationPath $installDirectory -Force -ErrorAction Stop + + $phpIniProd = Join-Path $installDirectory "php.ini-production" + if(-not(Test-Path $phpIniProd)) { + $phpIniProd = Join-Path $installDirectory "php.ini-recommended" + } + $phpIni = Join-Path $installDirectory "php.ini" + if (Test-Path $phpIniProd) { + Copy-Item $phpIniProd $phpIni -Force + + $extensionDir = Join-Path $installDirectory "ext" + (Get-Content $phpIni) -replace '^extension_dir = "./"', "extension_dir = `"$extensionDir`"" | Set-Content $phpIni + (Get-Content $phpIni) -replace ';\s?extension_dir = "ext"', "extension_dir = `"$extensionDir`"" | Set-Content $phpIni + (Get-Content $phpIni) -replace ';\s?date.timezone =', "date.timezone = `"$Timezone`"" | Set-Content $phpIni + } + + if (Test-Path -LiteralPath $currentLink) { + Remove-Item -LiteralPath $currentLink -Force -Recurse + } + New-Item -ItemType Junction -Path $currentLink -Target $installDirectory | Out-Null + + $pathTarget = if ($EffectiveScope -eq 'AllUsers') { 'Machine' } else { 'User' } + Set-PathEntryFirst -Target $pathTarget -Entry $currentLink + Send-EnvironmentChangeBroadcast + + Write-Host "" + Write-Host "Installed PHP ${Semver}: $installDirectory" + Write-Host "It has been linked to $currentLink and added to PATH." + Write-Host "Please restart any open Command Prompt/PowerShell windows or IDEs to pick up the new PATH." + Write-Host "You can run 'php -v' to verify the installation in the new window." +} catch { + Write-Error $_ + Exit 1 +} finally { + if (Test-Path $tempFile) { + Remove-Item $tempFile -Force -ErrorAction SilentlyContinue + } +} diff --git a/include/email-validation.inc b/include/email-validation.inc index d745007e02..a4045127b2 100644 --- a/include/email-validation.inc +++ b/include/email-validation.inc @@ -1,7 +1,5 @@ Not Found\n

" . htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']) . " not found on this server.

\n"; @@ -21,11 +22,11 @@ function error_404() } // A 'good looking' 404 error message page for manual pages -function error_404_manual() +function error_404_manual(): void { global $MYSITE; status_header(404); - site_header('404 Not Found', array("noindex")); + site_header('404 Not Found', ["noindex"]); echo "

Not Found

\n" . "

The manual page you are looking for (" . htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']) . @@ -36,11 +37,37 @@ function error_404_manual() exit; } +// An error message page for manual pages from inactive languages +function error_inactive_manual_page($lang_name, $en_page): void +{ + global $MYSITE; + status_header(404); + site_header('Page gone', ["noindex"]); + echo "

Page gone

\n" . + "

The " . htmlspecialchars($lang_name) . " manual page you are looking for (" . + htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']) . + ") is no longer available.

\n"; + $en_url = htmlspecialchars(substr($MYSITE, 0, -1) . $en_page); + echo "

The English page is available at {$en_url}

\n"; + echo "

Several other languages are also available:

\n"; + echo "
    \n"; + foreach (Languages::ACTIVE_ONLINE_LANGUAGES as $alt_lang => $alt_lang_name) { + if ($alt_lang === "en") { + continue; + } + $alt_url = htmlspecialchars(substr($MYSITE, 0, -1) . str_replace("/en/", "/{$alt_lang}/", $en_page)); + echo "
  • " . htmlspecialchars($alt_lang_name) . "
  • \n"; + } + echo "
\n"; + site_footer(); + exit; +} + // This service is not working right now -function error_noservice() +function error_noservice(): void { global $MYSITE; - site_header('Service not working', array("noindex")); + site_header('Service not working', ["noindex"]); echo "

Service not working

\n" . "

The service you tried to access with " . htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']) . @@ -52,46 +79,38 @@ function error_noservice() } // There is no such mirror -function error_nomirror($mirror) { - site_header("No such mirror", array("noindex")); - echo "

No such mirror

\n

The mirror you tried to access (" . - htmlspecialchars($mirror) . - ") is not registered php.net mirror. Please check back later," . - " or if the problem persists, " . - "contact the webmasters.

\n"; - site_footer(); - exit; +function error_nomirror($mirror): void { + site_header("No such mirror", ["noindex"]); + echo "

No such mirror

\n

The mirror you tried to access (" . + htmlspecialchars($mirror) . + ") is not registered php.net mirror. Please check back later," . + " or if the problem persists, " . + "contact the webmasters.

\n"; + site_footer(); + exit; } // Send out a proper status header -function status_header($num) +function status_header(int $status): bool { - // Set status text - switch ($num) { - case 200: $status = "OK"; break; - case 301: $status = "Moved Permanently"; break; - case 302: $status = "Found"; break; - case 404: $status = "Not Found"; break; - default: return FALSE; + $text = [ + 200 => 'OK', + 301 => 'Moved Permanently', + 302 => 'Found', + 404 => 'Not Found', + ]; + if (!isset($text[$status])) { + return false; } - // Figure out HTTP protocol version - use 1.1 answer for 1.1 request, - // answer with HTTP/1.0 for any other (ancient or futuristic) user - switch (strtoupper($_SERVER['SERVER_PROTOCOL'])) { - case 'HTTP/1.0': - @header("HTTP/1.0 $num $status"); - break; - - case 'HTTP/1.1': - default: - @header("HTTP/1.1 $num $status"); - break; - } - - // BC code for PHP < 4.3.0 - @header("Status: $num $status", TRUE, $num); - - return TRUE; + // Only respond with HTTP/1.0 for a 1.0 request specifically. + // Respond with 1.1 for anything else. + $proto = strcasecmp($_SERVER['SERVER_PROTOCOL'], 'HTTP/1.0') ? '1.1' : '1.0'; + + @header("HTTP/$proto $status {$text[$status]}"); + @header("Status: $status {$text[$status]}", true, $status); + + return true; } /****************************************************************************** @@ -107,378 +126,513 @@ The most commonly searched terms have also been added. TODO: Determine if we want to continue 301 -OR- make these official URLs. ******************************************************************************/ -function is_known_ini ($ini) { -$inis = array( - 'engine' => 'apache.configuration.php#ini.engine', - 'short-open-tag' => 'ini.core.php#ini.short-open-tag', - 'asp-tags' => 'ini.core.php#ini.asp-tags', - 'precision' => 'ini.core.php#ini.precision', - 'y2k-compliance' => 'ini.core.php#ini.y2k-compliance', - 'output-buffering' => 'outcontrol.configuration.php#ini.output-buffering', - 'output-handler' => 'outcontrol.configuration.php#ini.output-handler', - 'zlib.output-compression' => 'zlib.configuration.php#ini.zlib.output-compression', - 'zlib.output-compression-level' => 'zlib.configuration.php#ini.zlib.output-compression-level', - 'zlib.output-handler' => 'zlib.configuration.php#ini.zlib.output-handler', - 'implicit-flush' => 'outcontrol.configuration.php#ini.implicit-flush', - 'allow-call-time-pass-reference'=> 'ini.core.php#ini.allow-call-time-pass-reference', - 'safe-mode' => 'ini.sect.safe-mode.php#ini.safe-mode', - 'safe-mode-gid' => 'ini.sect.safe-mode.php#ini.safe-mode-gid', - 'safe-mode-include-dir' => 'ini.sect.safe-mode.php#ini.safe-mode-include-dir', - 'safe-mode-exec-dir' => 'ini.sect.safe-mode.php#ini.safe-mode-exec-dir', - 'safe-mode-allowed-env-vars' => 'ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars', - 'safe-mode-protected-env-vars' => 'ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars', - 'open-basedir' => 'ini.core.php#ini.open-basedir', - 'disable-functions' => 'ini.core.php#ini.disable-functions', - 'disable-classes' => 'ini.core.php#ini.disable-classes', - 'syntax-highlighting' => 'misc.configuration.php#ini.syntax-highlighting', - 'ignore-user-abort' => 'misc.configuration.php#ini.ignore-user-abort', - 'realpath-cache-size' => 'ini.core.php#ini.realpath-cache-size', - 'realpath-cache-ttl' => 'ini.core.php#ini.realpath-cache-ttl', - 'expose-php' => 'ini.core.php#ini.expose-php', - 'max-execution-time' => 'info.configuration.php#ini.max-execution-time', - 'max-input-time' => 'info.configuration.php#ini.max-input-time', - 'max-input-nesting-level' => 'info.configuration.php#ini.max-input-nesting-level', - 'memory-limit' => 'ini.core.php#ini.memory-limit', - 'error-reporting' => 'errorfunc.configuration.php#ini.error-reporting', - 'display-errors' => 'errorfunc.configuration.php#ini.display-errors', - 'display-startup-errors' => 'errorfunc.configuration.php#ini.display-startup-errors', - 'log-errors' => 'errorfunc.configuration.php#ini.log-errors', - 'log-errors-max-len' => 'errorfunc.configuration.php#ini.log-errors-max-len', - 'ignore-repeated-errors' => 'errorfunc.configuration.php#ini.ignore-repeated-errors', - 'ignore-repeated-source' => 'errorfunc.configuration.php#ini.ignore-repeated-source', - 'report-memleaks' => 'errorfunc.configuration.php#ini.report-memleaks', - 'track-errors' => 'errorfunc.configuration.php#ini.track-errors', - 'xmlrpc-errors' => 'errorfunc.configuration.php#ini.xmlrpc-errors', - 'html-errors' => 'errorfunc.configuration.php#ini.html-errors', - 'docref-root' => 'errorfunc.configuration.php#ini.docref-root', - 'docref-ext' => 'errorfunc.configuration.php#ini.docref-ext', - 'error-prepend-string' => 'errorfunc.configuration.php#ini.error-prepend-string', - 'error-append-string' => 'errorfunc.configuration.php#ini.error-append-string', - 'error-log' => 'errorfunc.configuration.php#ini.error-log', - 'arg-separator.output' => 'ini.core.php#ini.arg-separator.output', - 'arg-separator.input' => 'ini.core.php#ini.arg-separator.input', - 'variables-order' => 'ini.core.php#ini.variables-order', - 'request-order' => 'ini.core.php#ini.request-order', - 'register-globals' => 'ini.core.php#ini.register-globals', - 'register-long-arrays' => 'ini.core.php#ini.register-long-arrays', - 'register-argc-argv' => 'ini.core.php#ini.register-argc-argv', - 'auto-globals-jit' => 'ini.core.php#ini.auto-globals-jit', - 'post-max-size' => 'ini.core.php#ini.post-max-size', - 'magic-quotes-gpc' => 'info.configuration.php#ini.magic-quotes-gpc', - 'magic-quotes-runtime' => 'info.configuration.php#ini.magic-quotes-runtime', - 'magic-quotes-sybase' => 'sybase.configuration.php#ini.magic-quotes-sybase', - 'auto-prepend-file' => 'ini.core.php#ini.auto-prepend-file', - 'auto-append-file' => 'ini.core.php#ini.auto-append-file', - 'default-mimetype' => 'ini.core.php#ini.default-mimetype', - 'default-charset' => 'ini.core.php#ini.default-charset', - 'always-populate-raw-post-data' => 'ini.core.php#ini.always-populate-raw-post-data', - 'include-path' => 'ini.core.php#ini.include-path', - 'doc-root' => 'ini.core.php#ini.doc-root', - 'user-dir' => 'ini.core.php#ini.user-dir', - 'extension-dir' => 'ini.core.php#ini.extension-dir', - 'enable-dl' => 'info.configuration.php#ini.enable-dl', - 'cgi.force-redirect' => 'ini.core.php#ini.cgi.force-redirect', - 'cgi.redirect-status-env' => 'ini.core.php#ini.cgi.redirect-status-env', - 'cgi.fix-pathinfo' => 'ini.core.php#ini.cgi.fix-pathinfo', - 'fastcgi.impersonate' => 'ini.core.php#ini.fastcgi.impersonate', - 'cgi.rfc2616-headers' => 'ini.core.php#ini.cgi.rfc2616-headers', - 'file-uploads' => 'ini.core.php#ini.file-uploads', - 'upload-tmp-dir' => 'ini.core.php#ini.upload-tmp-dir', - 'upload-max-filesize' => 'ini.core.php#ini.upload-max-filesize', - 'allow-url-fopen' => 'filesystem.configuration.php#ini.allow-url-fopen', - 'allow-url-include' => 'filesystem.configuration.php#ini.allow-url-include', - 'from' => 'filesystem.configuration.php#ini.from', - 'user-agent' => 'filesystem.configuration.php#ini.user-agent', - 'default-socket-timeout' => 'filesystem.configuration.php#ini.default-socket-timeout', - 'auto-detect-line-endings' => 'filesystem.configuration.php#ini.auto-detect-line-endings', - 'date.timezone' => 'datetime.configuration.php#ini.date.timezone', - 'date.default-latitude' => 'datetime.configuration.php#ini.date.default-latitude', - 'date.default-longitude' => 'datetime.configuration.php#ini.date.default-longitude', - 'date.sunrise-zenith' => 'datetime.configuration.php#ini.date.sunrise-zenith', - 'date.sunset-zenith' => 'datetime.configuration.php#ini.date.sunset-zenith', - 'filter.default' => 'filter.configuration.php#ini.filter.default', - 'filter.default-flags' => 'filter.configuration.php#ini.filter.default-flags', - 'sqlite.assoc-case' => 'sqlite.configuration.php#ini.sqlite.assoc-case', - 'pcre.backtrack-limit' => 'pcre.configuration.php#ini.pcre.backtrack-limit', - 'pcre.recursion-limit' => 'pcre.configuration.php#ini.pcre.recursion-limit', - 'pdo-odbc.connection-pooling' => 'ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling', - 'phar.readonly' => 'phar.configuration.php#ini.phar.readonly', - 'phar.require-hash' => 'phar.configuration.php#ini.phar.require-hash', - 'define-syslog-variables' => 'network.configuration.php#ini.define-syslog-variables', - 'smtp' => 'mail.configuration.php#ini.smtp', - 'smtp-port' => 'mail.configuration.php#ini.smtp-port', - 'sendmail-from' => 'mail.configuration.php#ini.sendmail-from', - 'sendmail-path' => 'mail.configuration.php#ini.sendmail-path', - 'sql.safe-mode' => 'ini.core.php#ini.sql.safe-mode', - 'odbc.default-db' => 'odbc.configuration.php#ini.uodbc.default-db', - 'odbc.default-user' => 'odbc.configuration.php#ini.uodbc.default-user', - 'odbc.default-pw' => 'odbc.configuration.php#ini.uodbc.default-pw', - 'odbc.allow-persistent' => 'odbc.configuration.php#ini.uodbc.allow-persistent', - 'odbc.check-persistent' => 'odbc.configuration.php#ini.uodbc.check-persistent', - 'odbc.max-persistent' => 'odbc.configuration.php#ini.uodbc.max-persistent', - 'odbc.max-links' => 'odbc.configuration.php#ini.uodbc.max-links', - 'odbc.defaultlrl' => 'odbc.configuration.php#ini.uodbc.defaultlrl', - 'odbc.defaultbinmode' => 'odbc.configuration.php#ini.uodbc.defaultbinmode', - 'mysql.allow-local-infile' => 'mysql.configuration.php#ini.mysql.allow-local-infile', - 'mysql.allow-persistent' => 'mysql.configuration.php#ini.mysql.allow-persistent', - 'mysql.max-persistent' => 'mysql.configuration.php#ini.mysql.max-persistent', - 'mysql.max-links' => 'mysql.configuration.php#ini.mysql.max-links', - 'mysql.default-port' => 'mysql.configuration.php#ini.mysql.default-port', - 'mysql.default-socket' => 'mysql.configuration.php#ini.mysql.default-socket', - 'mysql.default-host' => 'mysql.configuration.php#ini.mysql.default-host', - 'mysql.default-user' => 'mysql.configuration.php#ini.mysql.default-user', - 'mysql.default-password' => 'mysql.configuration.php#ini.mysql.default-password', - 'mysql.connect-timeout' => 'mysql.configuration.php#ini.mysql.connect-timeout', - 'mysql.trace-mode' => 'mysql.configuration.php#ini.mysql.trace-mode', - 'mysqli.allow-local-infile' => 'mysqli.configuration.php#ini.mysqli.allow-local-infile', - 'mysqli.max-links' => 'mysqli.configuration.php#ini.mysqli.max-links', - 'mysqli.allow-persistent' => 'mysqli.configuration.php#ini.mysqli.allow-persistent', - 'mysqli.default-port' => 'mysqli.configuration.php#ini.mysqli.default-port', - 'mysqli.default-socket' => 'mysqli.configuration.php#ini.mysqli.default-socket', - 'mysqli.default-host' => 'mysqli.configuration.php#ini.mysqli.default-host', - 'mysqli.default-user' => 'mysqli.configuration.php#ini.mysqli.default-user', - 'mysqli.default-pw' => 'mysqli.configuration.php#ini.mysqli.default-pw', - 'oci8.privileged-connect' => 'oci8.configuration.php#ini.oci8.privileged-connect', - 'oci8.max-persistent' => 'oci8.configuration.php#ini.oci8.max-persistent', - 'oci8.persistent-timeout' => 'oci8.configuration.php#ini.oci8.persistent-timeout', - 'oci8.ping-interval' => 'oci8.configuration.php#ini.oci8.ping-interval', - 'oci8.statement-cache-size' => 'oci8.configuration.php#ini.oci8.statement-cache-size', - 'oci8.default-prefetch' => 'oci8.configuration.php#ini.oci8.default-prefetch', - 'oci8.old-oci-close-semantics' => 'oci8.configuration.php#ini.oci8.old-oci-close-semantics', - 'pgsql.allow-persistent' => 'pgsql.configuration.php#ini.pgsql.allow-persistent', - 'pgsql.auto-reset-persistent' => 'pgsql.configuration.php#ini.pgsql.auto-reset-persistent', - 'pgsql.max-persistent' => 'pgsql.configuration.php#ini.pgsql.max-persistent', - 'pgsql.max-links' => 'pgsql.configuration.php#ini.pgsql.max-links', - 'pgsql.ignore-notice' => 'pgsql.configuration.php#ini.pgsql.ignore-notice', - 'pgsql.log-notice' => 'pgsql.configuration.php#ini.pgsql.log-notice', - 'sybct.allow-persistent' => 'sybase.configuration.php#ini.sybct.allow-persistent', - 'sybct.max-persistent' => 'sybase.configuration.php#ini.sybct.max-persistent', - 'sybct.max-links' => 'sybase.configuration.php#ini.sybct.max-links', - 'sybct.min-server-severity' => 'sybase.configuration.php#ini.sybct.min-server-severity', - 'sybct.min-client-severity' => 'sybase.configuration.php#ini.sybct.min-client-severity', - 'sybct.timeout' => 'sybase.configuration.php#ini.sybct.timeout', - 'bcmath.scale' => 'bc.configuration.php#ini.bcmath.scale', - 'browscap' => 'misc.configuration.php#ini.browscap', - 'session.save-handler' => 'session.configuration.php#ini.session.save-handler', - 'session.save-path' => 'session.configuration.php#ini.session.save-path', - 'session.use-cookies' => 'session.configuration.php#ini.session.use-cookies', - 'session.cookie-secure' => 'session.configuration.php#ini.session.cookie-secure', - 'session.use-only-cookies' => 'session.configuration.php#ini.session.use-only-cookies', - 'session.name' => 'session.configuration.php#ini.session.name', - 'session.auto-start' => 'session.configuration.php#ini.session.auto-start', - 'session.cookie-lifetime' => 'session.configuration.php#ini.session.cookie-lifetime', - 'session.cookie-path' => 'session.configuration.php#ini.session.cookie-path', - 'session.cookie-domain' => 'session.configuration.php#ini.session.cookie-domain', - 'session.cookie-httponly' => 'session.configuration.php#ini.session.cookie-httponly', - 'session.serialize-handler' => 'session.configuration.php#ini.session.serialize-handler', - 'session.gc-probability' => 'session.configuration.php#ini.session.gc-probability', - 'session.gc-divisor' => 'session.configuration.php#ini.session.gc-divisor', - 'session.gc-maxlifetime' => 'session.configuration.php#ini.session.gc-maxlifetime', - 'session.bug-compat-42' => 'session.configuration.php#ini.session.bug-compat-42', - 'session.bug-compat-warn' => 'session.configuration.php#ini.session.bug-compat-warn', - 'session.referer-check' => 'session.configuration.php#ini.session.referer-check', - 'session.entropy-length' => 'session.configuration.php#ini.session.entropy-length', - 'session.entropy-file' => 'session.configuration.php#ini.session.entropy-file', - 'session.cache-limiter' => 'session.configuration.php#ini.session.cache-limiter', - 'session.cache-expire' => 'session.configuration.php#ini.session.cache-expire', - 'session.use-trans-sid' => 'session.configuration.php#ini.session.use-trans-sid', - 'session.hash-function' => 'session.configuration.php#ini.session.hash-function', - 'session.hash-bits-per-character' => 'session.configuration.php#ini.session.hash-bits-per-character', - 'session.upload-progress.enabled' => 'session.configuration.php#ini.session.upload-progress.enabled', - 'session.upload-progress.cleanup' => 'session.configuration.php#ini.session.upload-progress.cleanup', - 'session.upload-progress.prefix' => 'session.configuration.php#ini.session.upload-progress.prefix', - 'session.upload-progress.name' => 'session.configuration.php#ini.session.upload-progress.name', - 'session.upload-progress.freq' => 'session.configuration.php#ini.session.upload-progress.freq', - 'session.upload-progress.min-freq' => 'session.configuration.php#ini.session.upload-progress.min-freq', - 'url-rewriter.tags' => 'session.configuration.php#ini.url-rewriter.tags', - 'assert.active' => 'info.configuration.php#ini.assert.active', - 'assert.warning' => 'info.configuration.php#ini.assert.warning', - 'assert.bail' => 'info.configuration.php#ini.assert.bail', - 'assert.callback' => 'info.configuration.php#ini.assert.callback', - 'assert.quiet-eval' => 'info.configuration.php#ini.assert.quiet-eval', - 'zend.enable-gc' => 'info.configuration.php#ini.zend.enable-gc', - 'com.typelib-file' => 'com.configuration.php#ini.com.typelib-file', - 'com.allow-dcom' => 'com.configuration.php#ini.com.allow-dcom', - 'com.autoregister-typelib' => 'com.configuration.php#ini.com.autoregister-typelib', - 'com.autoregister-casesensitive'=> 'com.configuration.php#ini.com.autoregister-casesensitive', - 'com.autoregister-verbose' => 'com.configuration.php#ini.com.autoregister-verbose', - 'mbstring.language' => 'mbstring.configuration.php#ini.mbstring.language', - 'mbstring.internal-encoding' => 'mbstring.configuration.php#ini.mbstring.internal-encoding', - 'mbstring.http-input' => 'mbstring.configuration.php#ini.mbstring.http-input', - 'mbstring.http-output' => 'mbstring.configuration.php#ini.mbstring.http-output', - 'mbstring.encoding-translation' => 'mbstring.configuration.php#ini.mbstring.encoding-translation', - 'mbstring.detect-order' => 'mbstring.configuration.php#ini.mbstring.detect-order', - 'mbstring.substitute-character' => 'mbstring.configuration.php#ini.mbstring.substitute-character', - 'mbstring.func-overload' => 'mbstring.configuration.php#ini.mbstring.func-overload', - 'gd.jpeg-ignore-warning' => 'image.configuration.php#ini.image.jpeg-ignore-warning', - 'exif.encode-unicode' => 'exif.configuration.php#ini.exif.encode-unicode', - 'exif.decode-unicode-motorola' => 'exif.configuration.php#ini.exif.decode-unicode-motorola', - 'exif.decode-unicode-intel' => 'exif.configuration.php#ini.exif.decode-unicode-intel', - 'exif.encode-jis' => 'exif.configuration.php#ini.exif.encode-jis', - 'exif.decode-jis-motorola' => 'exif.configuration.php#ini.exif.decode-jis-motorola', - 'exif.decode-jis-intel' => 'exif.configuration.php#ini.exif.decode-jis-intel', - 'tidy.default-config' => 'tidy.configuration.php#ini.tidy.default-config', - 'tidy.clean-output' => 'tidy.configuration.php#ini.tidy.clean-output', - 'soap.wsdl-cache-enabled' => 'soap.configuration.php#ini.soap.wsdl-cache-enabled', - 'soap.wsdl-cache-dir' => 'soap.configuration.php#ini.soap.wsdl-cache-dir', - 'soap.wsdl-cache-ttl' => 'soap.configuration.php#ini.soap.wsdl-cache-ttl', - ); - - return isset($inis[$ini]) ? $inis[$ini] : false; +function is_known_ini(string $ini): ?string { + $inis = [ + 'engine' => 'apache.configuration.php#ini.engine', + 'short-open-tag' => 'ini.core.php#ini.short-open-tag', + 'asp-tags' => 'ini.core.php#ini.asp-tags', + 'precision' => 'ini.core.php#ini.precision', + 'y2k-compliance' => 'ini.core.php#ini.y2k-compliance', + 'output-buffering' => 'outcontrol.configuration.php#ini.output-buffering', + 'output-handler' => 'outcontrol.configuration.php#ini.output-handler', + 'zlib.output-compression' => 'zlib.configuration.php#ini.zlib.output-compression', + 'zlib.output-compression-level' => 'zlib.configuration.php#ini.zlib.output-compression-level', + 'zlib.output-handler' => 'zlib.configuration.php#ini.zlib.output-handler', + 'implicit-flush' => 'outcontrol.configuration.php#ini.implicit-flush', + 'allow-call-time-pass-reference' => 'ini.core.php#ini.allow-call-time-pass-reference', + 'open-basedir' => 'ini.core.php#ini.open-basedir', + 'disable-functions' => 'ini.core.php#ini.disable-functions', + 'disable-classes' => 'ini.core.php#ini.disable-classes', + 'zend.assertions' => 'ini.core.php#ini.zend.assertions', + 'syntax-highlighting' => 'misc.configuration.php#ini.syntax-highlighting', + 'ignore-user-abort' => 'misc.configuration.php#ini.ignore-user-abort', + 'realpath-cache-size' => 'ini.core.php#ini.realpath-cache-size', + 'realpath-cache-ttl' => 'ini.core.php#ini.realpath-cache-ttl', + 'expose-php' => 'ini.core.php#ini.expose-php', + 'max-execution-time' => 'info.configuration.php#ini.max-execution-time', + 'max-input-time' => 'info.configuration.php#ini.max-input-time', + 'max-input-vars' => 'info.configuration.php#ini.max-input-vars', + 'max-input-nesting-level' => 'info.configuration.php#ini.max-input-nesting-level', + 'memory-limit' => 'ini.core.php#ini.memory-limit', + 'error-reporting' => 'errorfunc.configuration.php#ini.error-reporting', + 'display-errors' => 'errorfunc.configuration.php#ini.display-errors', + 'display-startup-errors' => 'errorfunc.configuration.php#ini.display-startup-errors', + 'log-errors' => 'errorfunc.configuration.php#ini.log-errors', + 'log-errors-max-len' => 'errorfunc.configuration.php#ini.log-errors-max-len', + 'ignore-repeated-errors' => 'errorfunc.configuration.php#ini.ignore-repeated-errors', + 'ignore-repeated-source' => 'errorfunc.configuration.php#ini.ignore-repeated-source', + 'report-memleaks' => 'errorfunc.configuration.php#ini.report-memleaks', + 'track-errors' => 'errorfunc.configuration.php#ini.track-errors', + 'xmlrpc-errors' => 'errorfunc.configuration.php#ini.xmlrpc-errors', + 'html-errors' => 'errorfunc.configuration.php#ini.html-errors', + 'docref-root' => 'errorfunc.configuration.php#ini.docref-root', + 'docref-ext' => 'errorfunc.configuration.php#ini.docref-ext', + 'error-prepend-string' => 'errorfunc.configuration.php#ini.error-prepend-string', + 'error-append-string' => 'errorfunc.configuration.php#ini.error-append-string', + 'error-log' => 'errorfunc.configuration.php#ini.error-log', + 'syslog.facility' => 'errorfunc.configuration.php#ini.syslog.facility', + 'syslog.filter' => 'errorfunc.configuration.php#ini.syslog.filter', + 'syslog.ident' => 'errorfunc.configuration.php#ini.syslog.ident', + 'arg-separator.output' => 'ini.core.php#ini.arg-separator.output', + 'arg-separator.input' => 'ini.core.php#ini.arg-separator.input', + 'variables-order' => 'ini.core.php#ini.variables-order', + 'request-order' => 'ini.core.php#ini.request-order', + 'register-globals' => 'ini.core.php#ini.register-globals', + 'register-long-arrays' => 'ini.core.php#ini.register-long-arrays', + 'register-argc-argv' => 'ini.core.php#ini.register-argc-argv', + 'auto-globals-jit' => 'ini.core.php#ini.auto-globals-jit', + 'post-max-size' => 'ini.core.php#ini.post-max-size', + 'magic-quotes-gpc' => 'info.configuration.php#ini.magic-quotes-gpc', + 'magic-quotes-runtime' => 'info.configuration.php#ini.magic-quotes-runtime', + 'auto-prepend-file' => 'ini.core.php#ini.auto-prepend-file', + 'auto-append-file' => 'ini.core.php#ini.auto-append-file', + 'default-mimetype' => 'ini.core.php#ini.default-mimetype', + 'default-charset' => 'ini.core.php#ini.default-charset', + 'always-populate-raw-post-data' => 'ini.core.php#ini.always-populate-raw-post-data', + 'include-path' => 'ini.core.php#ini.include-path', + 'doc-root' => 'ini.core.php#ini.doc-root', + 'user-dir' => 'ini.core.php#ini.user-dir', + 'extension-dir' => 'ini.core.php#ini.extension-dir', + 'enable-dl' => 'info.configuration.php#ini.enable-dl', + 'cgi.force-redirect' => 'ini.core.php#ini.cgi.force-redirect', + 'cgi.redirect-status-env' => 'ini.core.php#ini.cgi.redirect-status-env', + 'cgi.fix-pathinfo' => 'ini.core.php#ini.cgi.fix-pathinfo', + 'fastcgi.impersonate' => 'ini.core.php#ini.fastcgi.impersonate', + 'cgi.rfc2616-headers' => 'ini.core.php#ini.cgi.rfc2616-headers', + 'file-uploads' => 'ini.core.php#ini.file-uploads', + 'upload-tmp-dir' => 'ini.core.php#ini.upload-tmp-dir', + 'upload-max-filesize' => 'ini.core.php#ini.upload-max-filesize', + 'allow-url-fopen' => 'filesystem.configuration.php#ini.allow-url-fopen', + 'allow-url-include' => 'filesystem.configuration.php#ini.allow-url-include', + 'from' => 'filesystem.configuration.php#ini.from', + 'user-agent' => 'filesystem.configuration.php#ini.user-agent', + 'default-socket-timeout' => 'filesystem.configuration.php#ini.default-socket-timeout', + 'auto-detect-line-endings' => 'filesystem.configuration.php#ini.auto-detect-line-endings', + 'date.timezone' => 'datetime.configuration.php#ini.date.timezone', + 'date.default-latitude' => 'datetime.configuration.php#ini.date.default-latitude', + 'date.default-longitude' => 'datetime.configuration.php#ini.date.default-longitude', + 'date.sunrise-zenith' => 'datetime.configuration.php#ini.date.sunrise-zenith', + 'date.sunset-zenith' => 'datetime.configuration.php#ini.date.sunset-zenith', + 'filter.default' => 'filter.configuration.php#ini.filter.default', + 'filter.default-flags' => 'filter.configuration.php#ini.filter.default-flags', + 'pcre.backtrack-limit' => 'pcre.configuration.php#ini.pcre.backtrack-limit', + 'pcre.recursion-limit' => 'pcre.configuration.php#ini.pcre.recursion-limit', + 'pdo-odbc.connection-pooling' => 'ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling', + 'phar.readonly' => 'phar.configuration.php#ini.phar.readonly', + 'phar.require-hash' => 'phar.configuration.php#ini.phar.require-hash', + 'define-syslog-variables' => 'network.configuration.php#ini.define-syslog-variables', + 'smtp' => 'mail.configuration.php#ini.smtp', + 'smtp-port' => 'mail.configuration.php#ini.smtp-port', + 'sendmail-from' => 'mail.configuration.php#ini.sendmail-from', + 'sendmail-path' => 'mail.configuration.php#ini.sendmail-path', + 'sql.safe-mode' => 'ini.core.php#ini.sql.safe-mode', + 'odbc.default-db' => 'odbc.configuration.php#ini.uodbc.default-db', + 'odbc.default-user' => 'odbc.configuration.php#ini.uodbc.default-user', + 'odbc.default-pw' => 'odbc.configuration.php#ini.uodbc.default-pw', + 'odbc.allow-persistent' => 'odbc.configuration.php#ini.uodbc.allow-persistent', + 'odbc.check-persistent' => 'odbc.configuration.php#ini.uodbc.check-persistent', + 'odbc.max-persistent' => 'odbc.configuration.php#ini.uodbc.max-persistent', + 'odbc.max-links' => 'odbc.configuration.php#ini.uodbc.max-links', + 'odbc.defaultlrl' => 'odbc.configuration.php#ini.uodbc.defaultlrl', + 'odbc.defaultbinmode' => 'odbc.configuration.php#ini.uodbc.defaultbinmode', + 'mysql.allow-local-infile' => 'mysql.configuration.php#ini.mysql.allow-local-infile', + 'mysql.allow-persistent' => 'mysql.configuration.php#ini.mysql.allow-persistent', + 'mysql.max-persistent' => 'mysql.configuration.php#ini.mysql.max-persistent', + 'mysql.max-links' => 'mysql.configuration.php#ini.mysql.max-links', + 'mysql.default-port' => 'mysql.configuration.php#ini.mysql.default-port', + 'mysql.default-socket' => 'mysql.configuration.php#ini.mysql.default-socket', + 'mysql.default-host' => 'mysql.configuration.php#ini.mysql.default-host', + 'mysql.default-user' => 'mysql.configuration.php#ini.mysql.default-user', + 'mysql.default-password' => 'mysql.configuration.php#ini.mysql.default-password', + 'mysql.connect-timeout' => 'mysql.configuration.php#ini.mysql.connect-timeout', + 'mysql.trace-mode' => 'mysql.configuration.php#ini.mysql.trace-mode', + 'mysqli.allow-local-infile' => 'mysqli.configuration.php#ini.mysqli.allow-local-infile', + 'mysqli.max-links' => 'mysqli.configuration.php#ini.mysqli.max-links', + 'mysqli.allow-persistent' => 'mysqli.configuration.php#ini.mysqli.allow-persistent', + 'mysqli.default-port' => 'mysqli.configuration.php#ini.mysqli.default-port', + 'mysqli.default-socket' => 'mysqli.configuration.php#ini.mysqli.default-socket', + 'mysqli.default-host' => 'mysqli.configuration.php#ini.mysqli.default-host', + 'mysqli.default-user' => 'mysqli.configuration.php#ini.mysqli.default-user', + 'mysqli.default-pw' => 'mysqli.configuration.php#ini.mysqli.default-pw', + 'oci8.privileged-connect' => 'oci8.configuration.php#ini.oci8.privileged-connect', + 'oci8.max-persistent' => 'oci8.configuration.php#ini.oci8.max-persistent', + 'oci8.persistent-timeout' => 'oci8.configuration.php#ini.oci8.persistent-timeout', + 'oci8.ping-interval' => 'oci8.configuration.php#ini.oci8.ping-interval', + 'oci8.statement-cache-size' => 'oci8.configuration.php#ini.oci8.statement-cache-size', + 'oci8.default-prefetch' => 'oci8.configuration.php#ini.oci8.default-prefetch', + 'oci8.old-oci-close-semantics' => 'oci8.configuration.php#ini.oci8.old-oci-close-semantics', + 'opcache.preload' => 'opcache.configuration.php#ini.opcache.preload', + 'pgsql.allow-persistent' => 'pgsql.configuration.php#ini.pgsql.allow-persistent', + 'pgsql.auto-reset-persistent' => 'pgsql.configuration.php#ini.pgsql.auto-reset-persistent', + 'pgsql.max-persistent' => 'pgsql.configuration.php#ini.pgsql.max-persistent', + 'pgsql.max-links' => 'pgsql.configuration.php#ini.pgsql.max-links', + 'pgsql.ignore-notice' => 'pgsql.configuration.php#ini.pgsql.ignore-notice', + 'pgsql.log-notice' => 'pgsql.configuration.php#ini.pgsql.log-notice', + 'sqlite3.extension-dir' => 'sqlite3.configuration.php#ini.sqlite3.extension-dir', + 'bcmath.scale' => 'bc.configuration.php#ini.bcmath.scale', + 'browscap' => 'misc.configuration.php#ini.browscap', + 'session.save-handler' => 'session.configuration.php#ini.session.save-handler', + 'session.save-path' => 'session.configuration.php#ini.session.save-path', + 'session.use-cookies' => 'session.configuration.php#ini.session.use-cookies', + 'session.cookie-secure' => 'session.configuration.php#ini.session.cookie-secure', + 'session.use-only-cookies' => 'session.configuration.php#ini.session.use-only-cookies', + 'session.name' => 'session.configuration.php#ini.session.name', + 'session.auto-start' => 'session.configuration.php#ini.session.auto-start', + 'session.cookie-lifetime' => 'session.configuration.php#ini.session.cookie-lifetime', + 'session.cookie-path' => 'session.configuration.php#ini.session.cookie-path', + 'session.cookie-domain' => 'session.configuration.php#ini.session.cookie-domain', + 'session.cookie-httponly' => 'session.configuration.php#ini.session.cookie-httponly', + 'session.serialize-handler' => 'session.configuration.php#ini.session.serialize-handler', + 'session.gc-probability' => 'session.configuration.php#ini.session.gc-probability', + 'session.gc-divisor' => 'session.configuration.php#ini.session.gc-divisor', + 'session.gc-maxlifetime' => 'session.configuration.php#ini.session.gc-maxlifetime', + 'session.bug-compat-42' => 'session.configuration.php#ini.session.bug-compat-42', + 'session.bug-compat-warn' => 'session.configuration.php#ini.session.bug-compat-warn', + 'session.referer-check' => 'session.configuration.php#ini.session.referer-check', + 'session.entropy-length' => 'session.configuration.php#ini.session.entropy-length', + 'session.entropy-file' => 'session.configuration.php#ini.session.entropy-file', + 'session.cache-limiter' => 'session.configuration.php#ini.session.cache-limiter', + 'session.cache-expire' => 'session.configuration.php#ini.session.cache-expire', + 'session.sid-length' => 'session.configuration.php#ini.session.sid-length', + 'session.use-trans-sid' => 'session.configuration.php#ini.session.use-trans-sid', + 'session.hash-function' => 'session.configuration.php#ini.session.hash-function', + 'session.hash-bits-per-character' => 'session.configuration.php#ini.session.hash-bits-per-character', + 'session.upload-progress.enabled' => 'session.configuration.php#ini.session.upload-progress.enabled', + 'session.upload-progress.cleanup' => 'session.configuration.php#ini.session.upload-progress.cleanup', + 'session.upload-progress.prefix' => 'session.configuration.php#ini.session.upload-progress.prefix', + 'session.upload-progress.name' => 'session.configuration.php#ini.session.upload-progress.name', + 'session.upload-progress.freq' => 'session.configuration.php#ini.session.upload-progress.freq', + 'session.upload-progress.min-freq' => 'session.configuration.php#ini.session.upload-progress.min-freq', + 'url-rewriter.tags' => 'session.configuration.php#ini.url-rewriter.tags', + 'assert.active' => 'info.configuration.php#ini.assert.active', + 'assert.exception' => 'info.configuration.php#ini.assert.exception', + 'assert.warning' => 'info.configuration.php#ini.assert.warning', + 'assert.bail' => 'info.configuration.php#ini.assert.bail', + 'assert.callback' => 'info.configuration.php#ini.assert.callback', + 'assert.quiet-eval' => 'info.configuration.php#ini.assert.quiet-eval', + 'zend.enable-gc' => 'info.configuration.php#ini.zend.enable-gc', + 'com.typelib-file' => 'com.configuration.php#ini.com.typelib-file', + 'com.allow-dcom' => 'com.configuration.php#ini.com.allow-dcom', + 'com.autoregister-typelib' => 'com.configuration.php#ini.com.autoregister-typelib', + 'com.autoregister-casesensitive' => 'com.configuration.php#ini.com.autoregister-casesensitive', + 'com.autoregister-verbose' => 'com.configuration.php#ini.com.autoregister-verbose', + 'mbstring.language' => 'mbstring.configuration.php#ini.mbstring.language', + 'mbstring.internal-encoding' => 'mbstring.configuration.php#ini.mbstring.internal-encoding', + 'mbstring.http-input' => 'mbstring.configuration.php#ini.mbstring.http-input', + 'mbstring.http-output' => 'mbstring.configuration.php#ini.mbstring.http-output', + 'mbstring.encoding-translation' => 'mbstring.configuration.php#ini.mbstring.encoding-translation', + 'mbstring.detect-order' => 'mbstring.configuration.php#ini.mbstring.detect-order', + 'mbstring.substitute-character' => 'mbstring.configuration.php#ini.mbstring.substitute-character', + 'mbstring.func-overload' => 'mbstring.configuration.php#ini.mbstring.func-overload', + 'gd.jpeg-ignore-warning' => 'image.configuration.php#ini.image.jpeg-ignore-warning', + 'exif.encode-unicode' => 'exif.configuration.php#ini.exif.encode-unicode', + 'exif.decode-unicode-motorola' => 'exif.configuration.php#ini.exif.decode-unicode-motorola', + 'exif.decode-unicode-intel' => 'exif.configuration.php#ini.exif.decode-unicode-intel', + 'exif.encode-jis' => 'exif.configuration.php#ini.exif.encode-jis', + 'exif.decode-jis-motorola' => 'exif.configuration.php#ini.exif.decode-jis-motorola', + 'exif.decode-jis-intel' => 'exif.configuration.php#ini.exif.decode-jis-intel', + 'tidy.default-config' => 'tidy.configuration.php#ini.tidy.default-config', + 'tidy.clean-output' => 'tidy.configuration.php#ini.tidy.clean-output', + 'soap.wsdl-cache-enabled' => 'soap.configuration.php#ini.soap.wsdl-cache-enabled', + 'soap.wsdl-cache-dir' => 'soap.configuration.php#ini.soap.wsdl-cache-dir', + 'soap.wsdl-cache-ttl' => 'soap.configuration.php#ini.soap.wsdl-cache-ttl', + ]; + + return $inis[$ini] ?? null; } -function is_known_variable($variable) { -$variables = array( - // Variables - 'globals' => 'reserved.variables.globals.php', - '-server' => 'reserved.variables.server.php', - '-get' => 'reserved.variables.get.php', - '-post' => 'reserved.variables.post.php', - '-files' => 'reserved.variables.files.php', - '-request' => 'reserved.variables.request.php', - '-session' => 'reserved.variables.session.php', - '-cookie' => 'reserved.variables.cookies.php', - '-env' => 'reserved.variables.environment.php', - 'this' => 'language.oop5.basic.php', - 'php-errormsg' => 'reserved.variables.phperrormsg.php', - 'argv' => 'reserved.variables.argv.php', - 'argc' => 'reserved.variables.argc.php', - 'http-raw-post-data' => 'reserved.variables.httprawpostdata.php', - 'http-response-header' => 'reserved.variables.httpresponseheader.php', - 'http-server-vars' => 'reserved.variables.server.php', - 'http-get-vars' => 'reserved.variables.get.php', - 'http-post-vars' => 'reserved.variables.post.php', - 'http-session-vars' => 'reserved.variables.session.php', - 'http-post-files' => 'reserved.variables.files.php', - 'http-cookie-vars' => 'reserved.variables.cookies.php', - 'http-env-vars' => 'reserved.variables.env.php', - ); - - if ($variable[0] === '$') { - $variable = ltrim($variable, '$'); - } - - return isset($variables[$variable]) ? $variables[$variable] : false; +function is_known_variable(string $variable): ?string { + $variables = [ + // Variables + 'globals' => 'reserved.variables.globals.php', + '-server' => 'reserved.variables.server.php', + '-get' => 'reserved.variables.get.php', + '-post' => 'reserved.variables.post.php', + '-files' => 'reserved.variables.files.php', + '-request' => 'reserved.variables.request.php', + '-session' => 'reserved.variables.session.php', + '-cookie' => 'reserved.variables.cookies.php', + '-env' => 'reserved.variables.environment.php', + 'this' => 'language.oop5.basic.php', + 'php-errormsg' => 'reserved.variables.phperrormsg.php', + 'argv' => 'reserved.variables.argv.php', + 'argc' => 'reserved.variables.argc.php', + 'http-response-header' => 'reserved.variables.httpresponseheader.php', + 'http-server-vars' => 'reserved.variables.server.php', + 'http-get-vars' => 'reserved.variables.get.php', + 'http-post-vars' => 'reserved.variables.post.php', + 'http-session-vars' => 'reserved.variables.session.php', + 'http-post-files' => 'reserved.variables.files.php', + 'http-cookie-vars' => 'reserved.variables.cookies.php', + ]; + return $variables[ltrim($variable, '$')] ?? null; } -function is_known_term ($term) { -$terms = array( - '<>' => 'language.operators.comparison.php', - '==' => 'language.operators.comparison.php', - '===' => 'language.operators.comparison.php', - '@' => 'language.operators.errorcontrol.php', - 'apache' => 'install.php', - 'array' => 'language.types.array.php', - 'arrays' => 'language.types.array.php', - 'case' => 'control-structures.switch.php', - 'catch' => 'language.exceptions.php', - 'checkbox' => 'faq.html.php', - 'class' => 'language.oop5.basic.php', - 'classes' => 'language.oop5.basic.php', - 'closures' => 'functions.anonymous.php', - 'cookie' => 'features.cookies.php', - 'date' => 'function.date.php', - 'exception' => 'language.exceptions.php', - 'extends' => 'keyword.extends.php', - 'file' => 'function.file.php', - 'fopen' => 'function.fopen.php', - 'for' => 'control-structures.for.php', - 'foreach' => 'control-structures.foreach.php', - 'form' => 'language.variables.external.php', - 'forms' => 'language.variables.external.php', - 'function' => 'language.functions.php', - 'gd' => 'book.image.php', - 'get' => 'reserved.variables.get.php', - 'global' => 'language.variables.scope.php', - 'globals' => 'language.variables.scope.php', - 'header' => 'function.header.php', - 'heredoc' => 'language.types.string.php#language.types.string.syntax.heredoc', - 'nowdoc' => 'language.types.string.php#language.types.string.syntax.nowdoc', - 'htaccess' => 'configuration.file.php', - 'if' => 'control-structures.if.php', - 'include' => 'function.include.php', - 'int' => 'language.types.integer.php', - 'ip' => 'reserved.variables.server.php', - 'juggling' => 'language.types.type-juggling.php', - 'location' => 'function.header.php', - 'mail' => 'function.mail.php', - 'modulo' => 'language.operators.arithmetic.php', - 'mysql' => 'mysql.php', - 'new' => 'language.oop5.basic.php#language.oop5.basic.new', - 'null' => 'language.types.null.php', - 'object' => 'language.types.object.php', - 'operator' => 'language.operators.php', - 'operators' => 'language.operators.php', - 'or' => 'language.operators.logical.php', - 'php.ini' => 'configuration.file.php', - 'php-mysql.dll' => 'book.mysql.php', - 'php-self' => 'reserved.variables.server.php', - 'query-string' => 'reserved.variables.server.php', - 'redirect' => 'function.header.php', - 'reference' => 'index.php', - 'referer' => 'reserved.variables.server.php', - 'referrer' => 'reserved.variables.server.php', - 'remote-addr' => 'reserved.variables.server.php', - 'request' => 'reserved.variables.request.php', - 'session' => 'features.sessions.php', - 'smtp' => 'book.mail.php', - 'ssl' => 'book.openssl.php', - 'static' => 'language.oop5.static.php', - 'stdin' => 'wrappers.php.php', - 'string' => 'language.types.string.php', - 'superglobal' => 'language.variables.superglobals.php', - 'superglobals' => 'language.variables.superglobals.php', - 'switch' => 'control-structures.switch.php', - 'timestamp' => 'function.time.php', - 'try' => 'language.exceptions.php', - 'upload' => 'features.file-upload.php', - ); - - return isset($terms[$term]) ? $terms[$term] : false; +function is_known_term(string $term): ?string { + $terms = [ + '<>' => 'language.operators.comparison.php', + '<=>' => 'language.operators.comparison.php', + 'spaceship' => 'language.operators.comparison.php', + '==' => 'language.operators.comparison.php', + '===' => 'language.operators.comparison.php', + '@' => 'language.operators.errorcontrol.php', + '__halt_compiler' => 'function.halt-compiler.php', + '__PHP_Incomplete_Class' => 'function.unserialize.php', + 'and' => 'language.operators.logical.php', + 'apache' => 'install.php', + 'array' => 'language.types.array.php', + 'arrays' => 'language.types.array.php', + 'as' => 'control-structures.foreach.php', + 'case' => 'control-structures.switch.php', + 'catch' => 'language.exceptions.php', + 'checkbox' => 'faq.html.php', + 'class' => 'language.oop5.basic.php', + 'classes' => 'language.oop5.basic.php', + 'closures' => 'functions.anonymous.php', + 'cookie' => 'features.cookies.php', + 'date' => 'function.date.php', + 'default' => 'control-structures.switch.php', + 'do' => 'control-structures.do.while.php', + 'enddeclare' => 'control-structures.declare.php', + 'endfor' => 'control-structures.alternative-syntax.php', + 'endforeach' => 'control-structures.alternative-syntax.php', + 'endif' => 'control-structures.alternative-syntax.php', + 'endswitch' => 'control-structures.alternative-syntax.php', + 'endwhile' => 'control-structures.alternative-syntax.php', + 'exception' => 'language.exceptions.php', + 'extends' => 'language.oop5.basic.php#language.oop5.basic.extends', + 'false' => 'language.types.boolean.php', + 'file' => 'function.file.php', + 'final' => 'language.oop5.final.php', + 'finally' => 'language.exceptions.php', + 'fopen' => 'function.fopen.php', + 'for' => 'control-structures.for.php', + 'foreach' => 'control-structures.foreach.php', + 'form' => 'language.variables.external.php', + 'forms' => 'language.variables.external.php', + 'function' => 'language.functions.php', + 'gd' => 'book.image.php', + 'get' => 'reserved.variables.get.php', + 'global' => 'language.variables.scope.php', + 'globals' => 'language.variables.scope.php', + 'header' => 'function.header.php', + 'heredoc' => 'language.types.string.php#language.types.string.syntax.heredoc', + 'htaccess' => 'configuration.file.php', + 'if' => 'control-structures.if.php', + 'implements' => 'language.oop5.interfaces.php', + 'include' => 'function.include.php', + 'insteadof' => 'language.oop5.traits.php#language.oop5.traits.conflict', + 'int' => 'language.types.integer.php', + 'ip' => 'reserved.variables.server.php', + 'iterable' => 'language.types.iterable.php', + 'juggling' => 'language.types.type-juggling.php', + 'location' => 'function.header.php', + 'mail' => 'function.mail.php', + 'mixed' => 'language.types.mixed.php', + 'modulo' => 'language.operators.arithmetic.php', + 'mysql' => 'mysql.php', + 'never' => 'language.types.never.php', + 'new' => 'language.oop5.basic.php#language.oop5.basic.new', + 'nowdoc' => 'language.types.string.php#language.types.string.syntax.nowdoc', + 'null' => 'language.types.null.php', + 'numeric' => 'reserved.other-reserved-words.php', + 'object' => 'language.types.object.php', + 'operator' => 'language.operators.php', + 'operators' => 'language.operators.php', + 'or' => 'language.operators.logical.php', + 'parent' => 'reserved.classes.php#reserved.classes.special', + 'php.ini' => 'configuration.file.php', + 'php-mysql.dll' => 'book.mysql.php', + 'php-self' => 'reserved.variables.server.php', + 'query-string' => 'reserved.variables.server.php', + 'readonly' => 'language.oop5.properties.php#language.oop5.properties.readonly-properties', + 'redirect' => 'function.header.php', + 'reference' => 'index.php', + 'referer' => 'reserved.variables.server.php', + 'referrer' => 'reserved.variables.server.php', + 'remote-addr' => 'reserved.variables.server.php', + 'request' => 'reserved.variables.request.php', + 'self' => 'reserved.classes.php#reserved.classes.special', + 'session' => 'features.sessions.php', + 'smtp' => 'book.mail.php', + 'ssl' => 'book.openssl.php', + 'static' => 'language.oop5.static.php', + 'stdin' => 'wrappers.php.php', + 'string' => 'language.types.string.php', + 'superglobal' => 'language.variables.superglobals.php', + 'superglobals' => 'language.variables.superglobals.php', + 'switch' => 'control-structures.switch.php', + 'timestamp' => 'function.time.php', + 'true' => 'language.types.boolean.php', + 'try' => 'language.exceptions.php', + 'upload' => 'features.file-upload.php', + 'use' => 'language.namespaces.php', + 'void' => 'language.types.void.php', + 'xor' => 'language.operators.logical.php', + 'yield from' => 'language.generators.syntax.php#control-structures.yield.from', + 'yield' => 'language.generators.syntax.php#control-structures.yield', + + '__COMPILER_HALT_OFFSET__' => 'function.halt-compiler.php', + 'DEFAULT_INCLUDE_PATH' => 'reserved.constants.php', + 'E_ALL' => 'errorfunc.constants.php', + 'E_COMPILE_ERROR' => 'errorfunc.constants.php', + 'E_COMPILE_WARNING' => 'errorfunc.constants.php', + 'E_CORE_ERROR' => 'errorfunc.constants.php', + 'E_CORE_WARNING' => 'errorfunc.constants.php', + 'E_DEPRECATED' => 'errorfunc.constants.php', + 'E_ERROR' => 'errorfunc.constants.php', + 'E_NOTICE' => 'errorfunc.constants.php', + 'E_PARSE' => 'errorfunc.constants.php', + 'E_RECOVERABLE_ERROR' => 'errorfunc.constants.php', + 'E_STRICT' => 'errorfunc.constants.php', + 'E_USER_DEPRECATED' => 'errorfunc.constants.php', + 'E_USER_ERROR' => 'errorfunc.constants.php', + 'E_USER_NOTICE' => 'errorfunc.constants.php', + 'E_USER_WARNING' => 'errorfunc.constants.php', + 'E_WARNING' => 'errorfunc.constants.php', + 'PEAR_EXTENSION_DIR' => 'reserved.constants.php', + 'PEAR_INSTALL_DIR' => 'reserved.constants.php', + 'PHP_BINARY' => 'reserved.constants.php', + 'PHP_BINDIR' => 'reserved.constants.php', + 'PHP_CONFIG_FILE_PATH' => 'reserved.constants.php', + 'PHP_CONFIG_FILE_SCAN_DIR' => 'reserved.constants.php', + 'PHP_DATADIR' => 'reserved.constants.php', + 'PHP_DEBUG' => 'reserved.constants.php', + 'PHP_EOL' => 'reserved.constants.php', + 'PHP_EXTENSION_DIR' => 'reserved.constants.php', + 'PHP_EXTRA_VERSION' => 'reserved.constants.php', + 'PHP_FD_SETSIZE' => 'reserved.constants.php', + 'PHP_FLOAT_DIG' => 'reserved.constants.php', + 'PHP_FLOAT_EPSILON' => 'reserved.constants.php', + 'PHP_FLOAT_MAX' => 'reserved.constants.php', + 'PHP_FLOAT_MIN' => 'reserved.constants.php', + 'PHP_INT_MAX' => 'reserved.constants.php', + 'PHP_INT_MIN' => 'reserved.constants.php', + 'PHP_INT_SIZE' => 'reserved.constants.php', + 'PHP_LIBDIR' => 'reserved.constants.php', + 'PHP_LOCALSTATEDIR' => 'reserved.constants.php', + 'PHP_MAJOR_VERSION' => 'reserved.constants.php', + 'PHP_MANDIR' => 'reserved.constants.php', + 'PHP_MAXPATHLEN' => 'reserved.constants.php', + 'PHP_MINOR_VERSION' => 'reserved.constants.php', + 'PHP_OS_FAMILY' => 'reserved.constants.php', + 'PHP_OS' => 'reserved.constants.php', + 'PHP_PREFIX' => 'reserved.constants.php', + 'PHP_RELEASE_VERSION' => 'reserved.constants.php', + 'PHP_SAPI' => 'reserved.constants.php', + 'PHP_SHLIB_SUFFIX' => 'reserved.constants.php', + 'PHP_SYSCONFDIR' => 'reserved.constants.php', + 'PHP_VERSION_ID' => 'reserved.constants.php', + 'PHP_VERSION' => 'reserved.constants.php', + 'PHP_WINDOWS_EVENT_CTRL_BREAK' => 'reserved.constants.php', + 'PHP_WINDOWS_EVENT_CTRL_C' => 'reserved.constants.php', + 'PHP_ZTS' => 'reserved.constants.php', + ]; + + return $terms[$term] ?? null; } /* -Search snippet provider: A dirty proof-of-concept: - This will probably live in sqlite one day, and be more intelligent (tagging?) - This is a 100% hack currently, and let's hope temporary does not become permanent (Hello year 2014!) - And this is English only today... we should add translation support via the manual, generated by PhD - - This really is a proof-of-concept, where the choices below are the most popular searched terms at php.net - It should also take into account vague searches, such as 'global' and 'str'. The search works well enough for, - most terms, so something like $_SERVER isn't really needed but it's defined below anyways... +Search snippet provider: A dirty proof-of-concept: + This will probably live in sqlite one day, and be more intelligent (tagging?) + This is a 100% hack currently, and let's hope temporary does not become permanent (Hello year 2014!) + And this is English only today... we should add translation support via the manual, generated by PhD + + This really is a proof-of-concept, where the choices below are the most popular searched terms at php.net + It should also take into account vague searches, such as 'global' and 'str'. The search works well enough for, + most terms, so something like $_SERVER isn't really needed but it's defined below anyways... */ -function is_known_snippet($term) { -$snippets = array( - 'global' => ' - The global keyword is used to manipulate variable scope, and - there is also the concept of super globals in PHP, +function is_known_snippet(string $term): ?string { + $snippets = [ + 'global' => ' + The global keyword is used to manipulate variable scope, and + there is also the concept of super globals in PHP, which are special variables with a global scope.', - 'string' => ' - There is the string type, which is a scalar, - and also many string functions.', - 'str' => ' - Many string functions begin with str, - and there is also the string type.', - '_server' => ' - $_SERVER - is a super global, + 'string' => ' + There is the string type, which is a scalar, + and also many string functions.', + 'str' => ' + Many string functions begin with str, + and there is also the string type.', + '_server' => ' + $_SERVER + is a super global, and is home to many predefined variables that are typically provided by a web server', - 'class' => ' - A class is an OOP (Object Oriented Programming) concept, + 'class' => ' + A class is an OOP (Object Oriented Programming) concept, and PHP is both a procedural and OOP friendly language.', - 'function' => ' + 'function' => ' PHP contains thousands of functions. You might be interested in how a - function is defined, or - how to read a function prototype. - See also the list of PHP extensions', - ); + function is defined, or + how to read a function prototype. + See also the list of PHP extensions', + ]; + + $term = ltrim(strtolower(trim($term)), '$'); + return $snippets[$term] ?? null; +} + +/** + * @param string $uri + * @return array + */ +function get_legacy_manual_urls(string $uri): array +{ + $filename = ProjectGlobals::getPublicRoot() . "/manual/legacyurls.json"; + $pages_ids = json_decode(file_get_contents($filename), true); + $page_id = preg_replace_callback('/^manual\/[a-z_A-Z]+\/(.*?)(\.php)?$/', function (array $matches): string { + if (count($matches) < 2) { + return ''; + } + return $matches[1]; + }, $uri); + + if (!isset($pages_ids[$page_id])) { + return []; + } + + $legacy_urls = []; + foreach ($pages_ids[$page_id] as $php_version) { + $legacy_urls[$php_version] = convert_manual_uri_to_legacy($uri, $php_version); + } + + return $legacy_urls; +} + +/** + * @param array $legacy_urls URLs to legacy manuals, indexed by major PHP version + */ +function fallback_to_legacy_manuals(array $legacy_urls): void +{ + global $MYSITE; + status_header(404); + site_header('404 Not Found', ["noindex"]); + + $original_url = htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']); + $legacy_links = ''; + foreach ($legacy_urls as $php_version => $url) { + $legacy_links .= '
  • PHP ' . $php_version . ' legacy manual
  • '; + } + + echo <<Not Found +

    The manual page you are looking for ($original_url) is not available.

    + +

    However, this page exists in a legacy manual for the following PHP versions.

    + +

    Please note that legacy manuals are maintained by Zend and not the PHP Documentation Group. Any questions about their content should be reported via the "Report a Bug" links on the appropriate pages.

    - $term = strtolower(trim($term)); - if (isset($term[0]) && $term[0] === '$') { - $term = ltrim($term, '$'); - } +

    If you were looking for this page in the current PHP version and believe this to be a mistake, please check back later, or if the problem persists, contact the webmasters.

    +HTML; - return isset($snippets[$term]) ? $snippets[$term] : false; + site_footer(); + exit; +} + +function convert_manual_uri_to_legacy(string $uri, int $php_version): string +{ + $parts = explode('/', $uri); + return sprintf('https://php-legacy-docs.zend.com/manual/php%s/%s/%s', $php_version, $parts[1], $parts[2]); } diff --git a/include/footer.inc b/include/footer.inc index fd635c426b..faa7305d68 100644 --- a/include/footer.inc +++ b/include/footer.inc @@ -1,52 +1,184 @@ "; - print $config['spanning-content']; - print ""; + echo "
    "; + echo $config['spanning-content']; + echo "
    "; } ?> - - +EOF; + +site_header("Zend Grant", ["current" => "help"]); +?> + +

    Zend Grant

    + +

    + Zend Technologies, Ltd.
    + Jabotinski 35, Ramat Gan
    + Israel +

    + +

    May 22, 2000

    + +

    + PHP Association
    + Nebraska +

    + +

    Re: Zend Engine

    + +

    + As you know, Zend Technologies, Ltd. ("Zend") remains deeply committed to the advancement and + proliferation of PHP as an open source web scripting language. Zend currently makes its Zend Engine + software available, as a standalone product, under the open-source agreement that may be found at + http://www.zend.com/license/ZendLicense.txt (the "Zend Open Source License", a copy of which is + attached as Exhibit 1). Since Zend Engine is a crucial component of PHP, Zend hereby makes the following + commitments and assurances to The PHP Association (the "Association"): +

    + +
      +
    • +

      + Zend will continue to make Zend Engine available as an open source product under the Zend + Open Source License. If Zend changes the terms of the Zend Open Source License, the new + license will be consistent with the Open Source Definition of the Open Source Initiative (see + http://www.opensource.org/osd.html, a copy of which is attached as Exhibit 2). +

      +
    • +
    • +

      + Without limitation of the license to Zend Engine granted to all users under the Zend Open + Source License, the PHP Association is hereby authorized to market, distribute and sublicense + Zend Engine, in source and object code forms, as an integrated component of PHP, to end users + who agree to be bound by the PHP open-source license, version 2.02, in the form attached + hereto as Exhibit 3 (the "PHP Open Source License"). However, if Zend Engine is either + modified or separated from the rest of PHP, the use of the modified or separated Zend Engine + shall not be governed by the PHP Open Source License, but instead shall be governed by the + Zend Open Source License. +

      +
    • +
    + +

    The following additional terms shall apply:

    + +

    + 1. Ownership. As between Zend and the Association, Zend shall retain all rights, title and interest in + and to the Zend Engine, including but not limited to, all patents, copyrights, trade secret rights, and any + other intellectual property rights inherent therein or appurtenant thereto. The Association will not delete or + alter any intellectual property rights or license notices appearing on the Zend Engine and will reproduce and + display such notices on each copy it makes of the Zend Engine. The Association's rights in and to the Zend + Engine are limited to those expressly granted in this Letter. All other rights are reserved by Zend. +

    + +

    + 2. Trademarks. The Association may display Zend's trademarks and trade names in connection with + the marketing and distribution of PHP (as integrated with the Zend Engine), subject to Zend's then-current + trademark policies. Without limitation of the foregoing, the advertisement or other marketing material used + by the Association shall not misrepresent any of the technical features or capabilities of the Zend Engine. +

    + +

    + 3. DISCLAIMER OF WARRANTY. THE ASSOCIATION ACKNOWLEDGES THAT THE ZEND ENGINE IS BEING LICENSED HEREUNDER ON + AN "AS-IS" BASIS WITH NO WARRANTY WHATSOEVER. THE ASSOCIATION ACKNOWLEDGES THAT ITS USE AND DISTRIBUTION OF THE ZEND + ENGINE AND THE INTEGRATED PRODUCT IS AT ITS OWN RISK. ZEND AND ITS LICENSORS MAKE, AND THE ASSOCIATION RECEIVES, NO + WARRANTIES, EXPRESS, IMPLIED, OR OTHERWISE. ZEND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT: ZEND DOES NOT WARRANT THAT THE OPERATION OF THE ZEND ENGINE + OR THE INTEGRATED PRODUCT SHALL BE OPERABLE, UNINTERRUPTED OR ERROR FREE OR THAT IT WILL FUNCTION OR OPERATE IN + CONJUNCTION WITH ANY OTHER PRODUCT, INCLUDING, WITHOUT LIMITATION, PHP OR ANY VERSION THEREOF. +

    + +

    + 4. LIMITATIONS OF LIABILITY. IN NO EVENT WILL ZEND BE LIABLE TO THE ASSOCIATION, END USERS OF PHP OR ANY + OTHER PARTY FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LETTER, WHETHER + BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY, OR OTHERWISE, AND WHETHER OR NOT ZEND + HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. WITHOUT LIMITATION OF THE FOREGOING, UNDER NO CIRCUMSTANCES + SHALL ZEND'S TOTAL AGGREGATE LIABILITY UNDER THIS LETTER TO ALL PARTIES, IN THE AGGREGATE, EXCEED ONE HUNDRED + DOLLARS ($100). The parties have agreed that the limitations specified in this Section will survive and apply even + if any limited remedy specified in this Letter is found to have failed of its essential purpose. +

    + +

    + 5. GENERAL. The Association may not assign this Letter, by operation of law or otherwise in whole + or in part, without Zend's written consent. Any attempt to assign this Letter without such consent will be + null and void. This Letter will bind and inure to the benefit of each party's permitted successors and assigns. + This Letter will be governed by and construed in accordance with the laws of the State of New York. Any + suit hereunder will be brought solely in the federal or state courts in New York State, New York County and + both parties hereby submit to the personal jurisdiction thereof. If any provision of this Letter is found + invalid or unenforceable, that provision will be enforced to the maximum extent permissible, and the other + provisions of this Letter will remain in force. All notices under this Letter will be deemed given when + delivered personally, sent by confirmed facsimile transmission, or sent by certified or registered U.S. mail or + nationally-recognized express courier, return receipt requested, to the address shown above or as may + otherwise be specified by either party to the other in accordance with this section. The parties to this Letter + are independent contractors. There is no relationship of partnership, joint venture, employment, franchise, + or agency between the parties. Neither party will have the power to bind the other or incur obligations on + the other's behalf without the other's prior written consent. No failure of either party to exercise or enforce + any of its rights under this Letter will act as a waiver of such rights. This Letter and its attachment are the + complete and exclusive agreement between the parties with respect to the subject matter hereof, superseding + and replacing any and all prior agreements, communications, and understandings (both written and oral) + regarding such subject matter. This Letter may only be modified, or any rights under it waived, by a written + document executed by both parties. +

    + +

    + If the foregoing is acceptable to you, please sign this and the duplicate original of this Letter where + indicated below and return it to me at the above address. +

    + +

    + Sincerely,
    + ZEND TECHNOLOGIES, LTD. +

    + + $SIDEBAR_DATA]); diff --git a/public/license/contrib-guidelines-code.php b/public/license/contrib-guidelines-code.php new file mode 100644 index 0000000000..5761149ff3 --- /dev/null +++ b/public/license/contrib-guidelines-code.php @@ -0,0 +1,42 @@ + "help"]); +?> +

    PHP Contributor Guidelines for Code Developers

    + +

    + Before you contribute code to PHP, you must understand and accept the principles under which PHP + itself is developed. These are summarised in the next paragraph. +

    +

    + Any code contributed to PHP must be contributed under the Modified BSD License or other, compatible permissive license. + PHP is distributed under the Modified BSD License. + This includes implementation code, test cases, utility scripts and tools - that is, all code associated + with the PHP project. If you contribute code that isn't entirely your own + (for example it may be partially derived from other Open Source software) you are asked to add a comment + into the source code to indicate the origin and the license of the original code. + If you are unsure of the license, you are asked to confirm with the owner of the code that they + grant permission for it to be contributed to PHP under the + terms of the Modified BSD License or other compatible license. +

    +

    + Specifically regarding source code licensed under the GNU General Public License (GPL): +

    +
      +
    • GPL-licensed code cannot be used as a basis for any work contributed to PHP.
    • +
    • Extensions linking to GPL-licensed libraries will not be accepted.
    • +
    + + +

    Guidelines for Related Projects

    + +

    + For related projects, please refer to the Project websites: +

    + + + "help"]); +?> +

    PHP Distribution Guidelines

    + +

    + You may redistribute PHP in source or binary form, provided + you respect the terms of the license. +

    +

    + In plain English, this means that you have to include the full license text + in human-readable form with every distributed copy of PHP, whether source + or binary. One way of doing this is to put a copy of the PHP license into a + text file that you include with the source or binary package before + distribution. This ensures that the license information can be read + properly even when a binary is shipped. + A text file containing license and copyright information is sometimes + given the filename "Notice" or "NOTICE" and may be referred to as a "notice file". +

    +

    + Some files in the PHP codebase have been contributed under other licenses. + If you want to distribute these files, you also need to respect the terms + of those licenses. + To check, look for the terms indicated in the license + copyright comment + block at the top of the source file. + Keep in mind, sometimes the license terms are included in a separate license file in the + same directory as the source file. +

    +

    + The license terms for such a file may require that its own license and copyright + information must be included with every distributed copy (including binaries). + This is quite a common requirement, which can be satisfied by adding the + appropriate license text into a text file for distribution purposes, like the + notice file suggested above. +

    +

    + A single notice file could be used to hold the collection of license + and copyright information that applies to PHP in general and + any files with additional licenses that you want to distribute (for example + Zend, TSRM etc.) + It is good practice to indicate which source file(s) a particular license + applies to. +

    + +

    Modified products derived from PHP

    +

    + You can distribute your own software product which has been derived + from PHP, in source or binary form, provided that: +

    +
      +
    • + relevant copyright information and license(s) from + the PHP codebase are distributed in human-readable form with + every copy, as described above. +
    • +
    + + +

    Contents

    + +
      +
    1. PHP Codebase
    2. +
    3. PHP Documentation
    4. +
    5. PHP Website
    6. +
    7. PHP Logo
    8. +
    9. FAQ's
    10. +
    11. Licensing information for related projects
    12. +
    + +EOF; + +site_header("License Information", ["current" => "help"]); +?> + +

    PHP Licensing

    + + +

    PHP Codebase

    + +

    + PHP is available for use under the terms of the + Modified BSD License, also known as the PHP + License, version 4. +

    + +

    + The Modified BSD License is an Open + Source license, + approved by the Open + Source Initiative, and + compatible with + the GNU General Public License (GPL). It is a + permissive + software license that does not have the + copyleft restrictions + associated with licenses like the GNU GPL. Its SPDX identifier is + BSD-3-Clause. +

    + +

    + Some files in PHP software have been contributed under other compatible + licenses and may carry additional requirements and copyright information. + This is indicated in the license/copyright comment block at the top of each + source file. Sometimes the license terms are included in a separate license + file in the same directory as the source file. +

    + + +

    License

    + +

    + Copyright © The PHP Group and Contributors.
    + Copyright © Zend Technologies Ltd., a subsidiary company of Perforce + Software, Inc. +

    + +

    + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: +

    + +
      +
    1. + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +
    2. +
    3. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +
    4. +
    5. + Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +
    6. +
    + +

    + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +

    + +

    Practical Guidelines

    + + + +

    Earlier Versions

    + +

    + Earlier versions of PHP software were distributed under the terms of + versions 2.01, + 2.02, 3.0, and + 3.01 of the PHP License. At your option, you + may choose to use any earlier version of PHP software under the terms of the + PHP License, version 4. This is in accordance + with section 5 of the PHP License, versions 3.0 and 3.01, and section 4 of + the PHP License, versions 2.01 and 2.02 (emphasis added): +

    + +
    +

    + Once covered code has been published under a particular version of the + license, you may always continue to use it under the terms of that version. + You may also choose to use such covered code under the terms of any + subsequent version of the license published by the PHP Group. +

    +
    + + +

    PHP Documentation

    + + + + +

    PHP Website

    + + + + +

    PHP Logo

    + + + + +

    Frequently Asked Questions

    + + + + +

    Use of the "PHP" name

    +

    +Q. I've written a project in PHP that I'm going to release +as open source, and I'd like to call it PHPTransmogrifier. Is that +OK? +

    + +

    +A. +We cannot really stop you from using PHP in the name of +your project, +but we would prefer you come up with your own name +independent of the PHP name. +

    + +

    +"PHP" is the PHP project's unique brand. When others see the name "PHP," they +associate it with this project. When you use "PHP" as part of your software's +name, you are linking your efforts to those of the entire PHP development +community and the years of work that has gone into the PHP project. +

    + +

    +Additionally, using "PHP" in your project's name causes a lot of confusion, +making it more difficult for people to find your project or get help with it. +Inevitably, people looking for your project will open issues on the PHP +project's issue tracker, taking up the valuable time of our volunteers. +

    + +

    +So, please, pick a name that stands on its own merits. If others find your +project useful, it will not take long to establish a reputation for +yourself. +

    + +

    Change in licensing from PHP 8.6 and later

    + +

    +Q. What are the differences between the PHP License, version +3.01, and the PHP License, version 4? +

    + +

    +A. The PHP License, version 4 removes clauses 4, 5, and 6 of +the PHP License, version 3.01. This makes it effectively identical to the +Modified BSD License (BSD-3-Clause). +

    + +

    +While the Open Source Initiative (OSI) approved versions 3.0 and 3.01 of the +PHP License through their legacy approval process, the licenses were not +compatible with the GPL. Additionally, clauses 4 and 6 were challenging or +impossible to enforce, and various readings and interpretations sometimes +caused confusion among distributors. As a result, the PHP Group decided to +invoke clause 5 of the PHP License to publish a new version. The new version +resolves all problems with the PHP License (perceived or actual) while +preserving the rights granted by contributors and the rights granted to users. +

    + +

    +Q. Is the source code in the Zend/ directory +still licensed under the separate Zend Engine License? +

    + +

    +A. No. At the same time the PHP Group published a new version +of the PHP License, Zend Technologies Ltd., a subsidiary of Perforce Software, +Inc., invoked clause 4 of the Zend Engine License, version 2.00, to publish a +new version of the Zend Engine License. The Zend Engine License, version 3.0, +removes clauses 4, 5, and 6 of the Zend Engine License, making it effectively +identical to the Modified BSD License (BSD-3-Clause). +

    + +

    +Q. Can I still use the PHP License or Zend Engine License for +my own projects? +

    + +

    +A. You can, but you shouldn't. The PHP License and Zend +Engine License are deprecated and considered legacy licenses. They are not +recommended for use in new projects. Instead, consider using a similar +license, like the Apache License, Modified BSD License, GNU Lesser General +Public License (LGPL), or MIT License. This is not legal advice; please +consult with a lawyer before adopting or making any changes to your +license. +

    + +

    Change in licensing from PHP 4 onwards

    +

    +Q. Why is PHP 4 not dual-licensed under the GNU General +Public License (GPL) like PHP 3 was? +

    + +

    +A. GPL enforces many restrictions on what can and cannot +be done with the licensed code. The PHP developers decided to +release PHP under a much more permissive license (BSD-style) to allow +broader uses of PHP by more people. +

    + + +

    Licensing information for related projects

    + +

    +For related projects, please refer to licensing information on the Project websites: +

    + + + $SIDEBAR_DATA]); diff --git a/public/lookup-form.php b/public/lookup-form.php new file mode 100644 index 0000000000..416e3aa673 --- /dev/null +++ b/public/lookup-form.php @@ -0,0 +1,34 @@ + + +

    PHP.net Manual Lookup

    + +
    + +
    + + +
    +
    + +Would like to unsubscribe yourself? + +

    + If you have trouble getting off from any of our mailing lists, or + would like to unsubscribe from a mailing list not listed here, we + have more information for you on the + unsubscription page. +

    + +

    Other PHP related mailing lists

    + +

    + Find the PEAR + lists and the PECL + lists on their own pages. +

    + + +

    Local Mailing Lists and Newsgroups

    + + +'; + +site_header("Mailing Lists", ["current" => "help"]); + +// Some mailing list is selected for [un]subscription +if (isset($_POST['action'])) { + + // No error found yet + $error = ""; + + // Check email address + if (empty($_POST['email']) || $_POST['email'] == 'user@example.com' || + $_POST['email'] == 'fake@from.net' || !is_emailable_address($_POST['email'])) { + $error = "You forgot to specify an email address to be added to the list, or specified an invalid address." . + "
    Please go back and try again."; + } + + // Check if any mailing list was selected + elseif (empty($_POST['maillist'])) { + $error = "You need to select at least one mailing list to subscribe to." . + "
    Please go back and try again."; + } + + // Seems to be a valid email address + else { + + // Decide on request mode, email address part and IP address + $request = strtolower($_POST['action']); + if ($request != "subscribe" && $request != "unsubscribe") { + $request = "subscribe"; + } + $remote_addr = i2c_realip(); + + // Get in contact with main server to [un]subscribe the user + $result = posttohost( + "https://main.php.net/entry/subscribe.php", + [ + "request" => $request, + "email" => $_POST['email'], + "maillist" => $_POST['maillist'], + "remoteip" => $remote_addr, + "referer" => $MYSITE . "mailing-lists.php", + ], + ); + + // Provide error if unable to [un]subscribe + if ($result) { + $error = "We were unable to subscribe you due to some technical problems.
    " . + "Please try again later."; + } + } + + // Give error information or success report + if (!empty($error)) { + echo "

    $error

    "; + } else { +?> +

    + A request has been entered into the mailing list processing queue. You + should receive an email at shortly describing + how to complete your request. +

    + +

    Mailing Lists

    + +

    + There are many PHP-related mailing lists available on our server. + Most of them are archived, and all of them are available as newsgroups + on our news server. You can search + some mailing lists right from this website from the + search page or by using the search input box selecting the + appropriate option on the top-right of every page. +

    +

    + There is an experimental web interface for the news server at + https://news-web.php.net/, and + there are also other archives provided by + Marc. +

    + +

    Mailing List Posting guidelines

    + +

    + When posting to mailing lists or newsgroups, please keep the following in mind: +

    + +
      +
    • + Use a valid email address. Every new poster's email address + is checked for validity through confirmation. +
    • +
    • + Send plain ASCII messages, no HTML-formatted emails please. +
    • +
    • + Turn on word wrapping so your entire message doesn't show up on + a single line. +
    • +
    • + Be sure to click Reply-All to reply to list. Clicking + Reply will email the author of the message privately. +
    • +
    • + No attachments please, just post a URL if you want someone to + look at something. +
    • +
    • + Don't GPG/PGP sign your messages. If you want people to be able + to send you encrypted email, stick your key-locator in your signature +
    • +
    • + Don't hijack other peoples' threads. To post on a new topic, start + a new message, don't reply and just change the subject. +
    • +
    • + Check the archives before posting a question, chances are it has + already been asked and answered a few times. +
    • +
    • + When asking a question, don't just tell us, "it doesn't work". + Tell us what you are trying to accomplish, a short code + snippet showing how you tried to solve it, what you expected to get and + what you got instead. +
    • +
    +

    + And make sure you have read our + Mailinglist Rules. +

    + + For general PHP support questions, see "General Mailing Lists" or the support page', + false, false, false, "php.webmaster", + ], + + 'PHP documentation mailing lists', + [ + 'phpdoc', 'Documentation discussion', + 'List for discussing the PHP documentation', + false, true, false, "php.doc", + ], + [ + 'doc-cvs', 'Documentation changes and commits', + 'Changes to the documentation are posted here', + true, "php-doc-cvs", false, "php.doc.cvs", + ], + [ + 'doc-bugs', 'Documentation bugs', + 'Documentation bug activity (translations, sources, and build system) are posted here', + true, 'php-doc-bugs', false, "php.doc.bugs", + ], + ]; + +// Print out a table for a given list array +function output_lists_table($mailing_lists): void +{ + echo '', "\n"; + foreach ($mailing_lists as $listinfo) { + if (!is_array($listinfo)) { + echo "" . + "\n"; + } else { + echo ''; + echo ''; + echo ''; + + // Let the list name defined with a string, if the + // list is archived under a different name then php.net + // uses for it (for backward compatibilty for example) + if ($listinfo[4] !== false) { + $larchive = ($listinfo[4] === true ? $listinfo[0] : $listinfo[4]); + } else { $larchive = false; } + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo "\n"; + } + } + echo "
    {$listinfo}ModeratedArchiveNewsgroupNormalDigestList name
    ' . $listinfo[1] . ' <' . $listinfo[0] . '@lists.php.net>
    ' . $listinfo[2] . '
    ' . ($listinfo[3] ? 'yes' : 'no') . '' . ($larchive ? "yes" : 'n/a') . '' . ($listinfo[6] ? "yes http" : 'n/a') . '' . ($listinfo[5] ? '' : 'n/a') . '' . $listinfo[0] . '
    \n"; +} + +?> + +
    + +

    General Mailing Lists

    + + + +

    Internals Mailing Lists

    + + + +

    + Email: + + + +

    + +
    + +

    + You will be sent a confirmation mail at the address you wish to + be subscribed or unsubscribed, and only added to the list after + following the directions in that mail. +

    + +

    + Warning: The PHP users mailing list gets close to 1500-2000 + messages per month currently. Do the math. That translates to about 60 + messages per day. If your mailbox can't handle this sort of traffic you + might want to consider subscribing to the digest list instead (two messages + per day), using the news server, or reading the mailing list using the + archives. +

    + +

    Subscribe via Email

    + +

    + If you experience trouble subscribing via the form above, you may also + subscribe by sending an email to the list server. To subscribe to any + mailing list, send an email to + listname+subscribe@lists.php.net (substituting the + name of the list for listname—for example, + php-general+subscribe@lists.php.net). +

    + +

    Mailing list options

    + +

    + All the mailing lists hosted at news-web.php.net + are managed using the mlmmj mailing list + software. There are a variety of commands you may use to modify your + subscription. For a full overview, send a message to + listname+help@lists.php.net (as in, + php-general+help@lists.php.net). +

    + +

    Subscribing

    + +
      +
    • The normal mailing list, where you receive every message separately:
      + Email: listname+subscribe@lists.php.net
    • +
    • The daily digest list, where you receive a daily email with every message for the whole day:
      + Email: listname+subscribe-digest@lists.php.net
    • +
    • The "no email" list, where you receive no emails from the list, but you have permission to post to it:
      + Email: listname+subscribe-nomail@lists.php.net
    • +
    + +

    Unsubscribing

    + +

    + To unsubscribe from a mailing list, send an email to + listname+unsubscribe@lists.php.net, where + listname is the name of the list you wish to unsubscribe from. + For example, to unsubscribe from the php-announce mailing list, + send an email to + php-announce+unsubscribe@lists.php.net. +

    + +

    + Please note, you must send the email from the address you want to unsubscribe. +

    + +

    Help

    + +
      +
    • For mailing list FAQs (Frequently Asked Questions):
      + Email: listname+help@lists.php.net
    • +
    • To reach an administrator:
      + Email: listname+owner@lists.php.net
    • +
    + + + diff --git a/public/manual-lookup.php b/public/manual-lookup.php new file mode 100644 index 0000000000..e2a2146fc1 --- /dev/null +++ b/public/manual-lookup.php @@ -0,0 +1,38 @@ + 'add-note.css']); + +// Copy over "sect", "redirect" and "repo" from GET to POST +if (empty($_POST['sect']) && isset($_GET['sect'])) { + $_POST['sect'] = $_GET['sect']; +} +if (empty($_POST['redirect']) && isset($_GET['redirect'])) { + $_POST['redirect'] = $_GET['redirect']; +} +if (empty($_POST['repo']) && isset($_GET['repo'])) { + $_POST['repo'] = $_GET['repo']; +} +// Assume English if we didn't get a language +if (empty($_POST['repo'])) { + $_POST['repo'] = 'en'; +} + +// Decide on whether all vars are present for processing +$process = true; +$needed_vars = ['note', 'user', 'sect', 'redirect', 'action', 'func', 'arga', 'argb', 'answer']; +foreach ($needed_vars as $varname) { + if (empty($_POST[$varname])) { + $process = false; + break; + } +} + +// We have a submitted form to process +if ($process) { + + // Clean off leading and trailing whitespace + $user = trim($_POST['user']); + $note = trim($_POST['note']); + + // Convert all line-endings to unix format, + // and don't allow out-of-control blank lines + $note = str_replace(["\r\n", "\r"], "\n", $note); + $note = preg_replace("/\n{2,}/", "\n\n", $note); + + // Don't pass through example username + if ($user === "user@example.com") { + $user = "Anonymous"; + } + + // We don't know of any error now + $error = false; + + // No note specified + if (strlen($note) == 0) { + $error = "You have not specified the note text."; + } + + // SPAM challenge failed + elseif (!test_answer($_POST['func'], $_POST['arga'], $_POST['argb'], $_POST['answer'])) { + $error = 'SPAM challenge failed.'; + } + + // The user name contains a malicious character + elseif (stristr($user, "|")) { + $error = "You have included bad characters within your username. We appreciate you may want to obfuscate your email further, but we have a system in place to do this for you."; + } + + // Check if the note is too long + elseif (strlen($note) >= 4096) { + $error = "Your note is too long. You'll have to make it shorter before you can post it. Keep in mind that this is not the place for long code examples!"; + } + + // Check if the note is not too short + elseif (strlen($note) < 32) { + $error = "Your note is too short. Trying to test the notes system? Save us the trouble of deleting your test, and don't. It works."; + } + + // Check if any line is too long + else { + + // Split the note by whitespace, and check length + foreach (preg_split("/\\s+/", $note) as $chunk) { + if (strlen($chunk) > 120) { + $error = "Your note contains a bit of text that will result in a line that is too long, even after using wordwrap()."; + break; + } + } + } + + // No error was found, and the submit action is required + if (!$error && strtolower($_POST['action']) !== "preview") { + + $redirip = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? + ($_SERVER['HTTP_VIA'] ?? ''); + + // Post the variables to the central user note script + $result = posttohost( + "https://main.php.net/entry/user-note.php", + [ + 'user' => $user, + 'note' => $note, + 'sect' => $_POST['sect'], + 'ip' => $_SERVER['REMOTE_ADDR'], + 'redirip' => $redirip, + ], + ); + + // If there is any non-header result, then it is an error + if ($result) { + if (strpos($result, '[TOO MANY NOTES]') !== false) { + echo "

    As a security precaution, we only allow a certain number of notes to be submitted per minute. At this time, this number has been exceeded. Please re-submit your note in about a minute.

    "; + } elseif (($pos = strpos($result, '[SPAMMER]')) !== false) { + $ip = trim(substr($result, $pos + 9)); + $spam_url = $ip_spam_lookup_url . $ip; + echo '

    Your IP is listed in one of the spammers lists we use, which aren\'t controlled by us. More information is available at ' . $spam_url . '.

    '; + } elseif (strpos($result, '[SPAM WORD]') !== false) { + echo '

    Your note contains a prohibited (usually SPAM) word. Please remove it and try again.

    '; + } elseif (strpos($result, '[CLOSED]') !== false) { + echo '

    Due to some technical problems this service isn\'t currently working. Please try again later. Sorry for any inconvenience.

    '; + } else { + echo ""; + echo "

    There was an internal error processing your submission. Please try to submit again later.

    "; + } + } + + // There was no error returned + else { + echo '

    Your submission was successful -- thanks for contributing! Note ', + 'that it will not show up for up to a few hours, ', + 'but it will eventually find its way.

    '; + } + + // Print out common footer, and end page + site_footer(); + exit(); + } + + // There was an error, or a preview is needed + // If there was an error, print out + if ($error) { echo "

    $error

    \n"; } + + // Print out preview of note + echo '

    This is what your entry will look like, roughly:

    '; + echo '
    '; + manual_note_display(new UserNote('', '', '', time(), $user, $note)); + echo '


    '; +} + +// Any needed variable was missing => display instructions +else { +?> + +
    +

    Adding a note to the manual

    +
    +
      +
    • + Please read What not to enter + we have many comments to moderate and there is an overwhelming number of + users ignoring this important section. +
    • +
    • + Good notes rise to the top as they are voted up; this makes + them easier to find. +
    • +
    • + Poor notes fall to the bottom and are faded out to discourage + their use; after certain threshold they are removed. +
    • +
    • Any form of spam is removed immediately.
    • +
    +
    +
    +
    +
    +

    User Contributed Notes 3 notes

    +
    +
    +
    + up +
    +
    + down +
    +
    3
    +
    + Anonymous + ¶ +
    + 1 year ago +
    +
    +
    + eval() is the best for all sorts of things +
    +
    +
    + +
    +
    +
    + up +
    +
    + down +
    +
    + 1 +
    +
    + rasmus () lerdorf ! com + ¶ +
    + + 2 days ago + +
    +
    +
    + If eval() is the answer, you're almost certainly asking the wrong question. +
    +
    +
    + +
    +
    +
    + up +
    +
    + down +
    +
    + 0 +
    +
    + spam () spam ! spam + ¶ +
    + + 1 hour ago + +
    +
    +
    + egg bacon sausage spam spam baked beans +
    +
    +
    + +
    + +
    +
    + + +
    +

    Thou shall not enter! (No, really, don't)

    +
    +
      +
    • Bug reports & Missing documentation + Instead report an issue + for this manual page. +
    • +
    • Support questions or request for help See the support page for available options. In other words, do not ask questions within the user notes.
    • +
    • References to other notes or authors This is not a forum; we do not encourage nor permit discussions here. Further, if a note is referenced directly and is later removed or modified it causes confusion. +
    • +
    • Code collaboration or improvements This is not to suggest that your code snippet is bad; this is simply not the place to show it off. You should publish elsewhere (perhaps on your blog).
    • +
    • Links to your website, blog, code, or a third-party website On occasion we permit the posting of websites such as faqs.org or the MySQL manual, but links to other sites will be removed, no matter how well-intended.
    • +
    • Complaints that your notes keep getting deleted Most likely you didn't bother to read this page and you violated one of these rules.
    • +
    • Notes in languages other than English ä¸ gach duine понимает el lenguaje जिसमें Sie sprechen.
    • +
    • Your disdain for PHP and/or its maintainers Go learn FORTRAN instead.
    • +
    +
    +

    User notes may be edited or deleted for any reason, whether in the list above or not!

    +
    + + +
    +
    +

    Email address conversion

    +

    + We have a simple conversion in place to convert the @ signs and dots in your + address. You may still want to include a part in the email address + that is understandable only by humans as our conversion can be performed in + the opposite direction. You may submit your email address as + user@NOSPAM.example.com for example (which will be displayed + as user at NOSPAM dot example dot com. If we remove your note we can + only send an email if you use your real email address. +

    +
    +
    +

    Formatting

    +

    + Note that HTML tags are not allowed in the posts, but the note formatting + is preserved. URLs will be turned into clickable links, PHP code blocks + enclosed in the PHP tags <?php and ?> will + be source highlighted automatically. So always enclose PHP snippets in + these tags. Double-check that your note appears + as you want during the preview; that's why it is there! +

    +
    +
    + +
    +
    +

    Additional information

    +

    + Please note that periodically the developers go through the notes and + may incorporate information from them into the documentation. This means + that any note submitted here becomes the property of the PHP Documentation + Group and will be available under the same license as the documentation. +

    +

    + Your IP Address will be logged with the submitted note and made public on the + PHP manual user notes mailing list. The IP address is logged as part of the + notes moderation process, and won't be shown within the PHP manual itself. +

    +

    It may take up to an hour for your note to appear in the documentation.

    +

    + The SPAM challenge requires numbers to written out in English, so, an appropriate + answer may be nine but not 9. +

    +
    +
    + +To add a note, you must click on the "Add Note" button (the plus sign) ', + 'on the bottom of a manual page so we know where to add the note!

    '; +} + +// Everything is in place, so we can display the form +else {?> +
    +

    + + +

    + + + + + + + + + + + + + + + + + + + +
    + + Click here to go to the support pages.
    + Click here to submit an issue about the documentation.
    + Click here to submit an issue about PHP itself.
    + (Again, please note, if you ask a question, report an issue, or request a feature, + your note will be deleted.) +
    +
    :
    : +
    +
    :
    + ?
    (Example: nine)
    + + + + + +
    +
    + diff --git a/public/manual/change.php b/public/manual/change.php new file mode 100644 index 0000000000..d851db7b6f --- /dev/null +++ b/public/manual/change.php @@ -0,0 +1,9 @@ + "", "\n" => ""]); + +// Redirect to new manual page +mirror_redirect("/manual/" . $page); diff --git a/public/manual/en/book.var.php b/public/manual/en/book.var.php new file mode 100644 index 0000000000..23a6e57ef6 --- /dev/null +++ b/public/manual/en/book.var.php @@ -0,0 +1,109 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'book.var.php', + 1 => 'Variable handling', + ), + 'up' => + array ( + 0 => 'refs.basic.vartype.php', + 1 => 'Variable and Type Related Extensions', + ), + 'prev' => + array ( + 0 => 'class.reflectionexception.php', + 1 => 'ReflectionException', + ), + 'next' => + array ( + 0 => 'intro.var.php', + 1 => 'Introduction', + ), + 'alternatives' => + array ( + ), + 'extra_header_links' => + array ( + 'rel' => 'alternate', + 'href' => '/manual/en/feeds/book.var.atom', + 'type' => 'application/atom+xml', + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    + +

    Variable handling

    + + +
    + diff --git a/public/manual/en/class.exception.php b/public/manual/en/class.exception.php new file mode 100644 index 0000000000..bead6ac61f --- /dev/null +++ b/public/manual/en/class.exception.php @@ -0,0 +1,222 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'class.exception.php', + 1 => 'Exception', + ), + 'up' => + array ( + 0 => 'reserved.exceptions.php', + 1 => 'Predefined Exceptions', + ), + 'prev' => + array ( + 0 => 'reserved.exceptions.php', + 1 => 'Predefined Exceptions', + ), + 'next' => + array ( + 0 => 'exception.construct.php', + 1 => 'Exception::__construct', + ), + 'alternatives' => + array ( + ), + 'extra_header_links' => + array ( + 'rel' => 'alternate', + 'href' => '/manual/en/feeds/class.exception.atom', + 'type' => 'application/atom+xml', + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +

    Exception

    + + +

    (PHP 5 >= 5.1.0)

    + + +
    +

    Introduction

    +

    + Exception is the base class for + all Exceptions. +

    +
    + + +
    +

    Class synopsis

    + + +
    +
    + + +
    + + Exception + + {
    + + +
    /* Properties */
    +
    + protected + string + $message + ;
    + +
    + protected + int + $code + ;
    + +
    + protected + string + $file + ;
    + +
    + protected + int + $line + ;
    + + +
    /* Methods */
    +
    + public __construct + ([ string $message = "" + [, int $code = 0 + [, Exception $previous = NULL + ]]] )
    + +
    + final public string getMessage + ( void + )
    +
    + final public Exception getPrevious + ( void + )
    +
    + final public mixed getCode + ( void + )
    +
    + final public string getFile + ( void + )
    +
    + final public int getLine + ( void + )
    +
    + final public array getTrace + ( void + )
    +
    + final public string getTraceAsString + ( void + )
    +
    + public string __toString + ( void + )
    +
    + final private void __clone + ( void + )
    + + }
    + + + +
    + + +
    +

    Properties

    +
    + +
    + message +
    + +

    The exception message

    +
    + + + +
    + code +
    + +

    The exception code

    +
    + + + +
    + file +
    + +

    The filename where the exception was created

    +
    + + + +
    + line +
    + +

    The line where the exception was created

    +
    + + + +
    + +
    + + +
    + +

    Table of Contents

    + +
    + diff --git a/public/manual/en/context.http.php b/public/manual/en/context.http.php new file mode 100644 index 0000000000..09b6f7332c --- /dev/null +++ b/public/manual/en/context.http.php @@ -0,0 +1,441 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'context.http.php', + 1 => 'HTTP context options', + ), + 'up' => + array ( + 0 => 'context.php', + 1 => 'Context options and parameters', + ), + 'prev' => + array ( + 0 => 'context.socket.php', + 1 => 'Socket context options', + ), + 'next' => + array ( + 0 => 'context.ftp.php', + 1 => 'FTP context options', + ), + 'alternatives' => + array ( + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +
    +

    HTTP context options

    +

    HTTP context optionsHTTP context option listing

    + +
    + +
    +

    Description

    +

    + Context options for http:// and https:// + transports. +

    +
    + + +
    +

    Options

    +

    +

    + +
    + + method + string + +
    + +

    + GET, POST, or + any other HTTP method supported by the remote server. +

    +

    + Defaults to GET. +

    +
    + + + +
    + + header + string + +
    + +

    + Additional headers to be sent during request. Values + in this option will override other values (such as + User-agent:, Host:, + and Authentication:). +

    +
    + + + +
    + + user_agent + string + +
    + +

    + Value to send with User-Agent: header. This value will + only be used if user-agent is not specified + in the header context option above. +

    +

    + By default the + user_agent + php.ini setting is used. +

    +
    + + + +
    + + content + string + +
    + +

    + Additional data to be sent after the headers. Typically used + with POST or PUT requests. +

    +
    + + + +
    + + proxy + string + +
    + +

    + URI specifying address of proxy server. (e.g. + tcp://proxy.example.com:5100). +

    +
    + + + +
    + + request_fulluri + boolean + +
    + +

    + When set to TRUE, the entire URI will be used when + constructing the request. (i.e. + GET http://www.example.com/path/to/file.html HTTP/1.0). + While this is a non-standard request format, some + proxy servers require it. +

    +

    + Defaults to FALSE. +

    +
    + + + +
    + + follow_location + integer + +
    + +

    + Follow Location header redirects. Set to + 0 to disable. +

    +

    + Defaults to 1. +

    +
    + + + +
    + + max_redirects + integer + +
    + +

    + The max number of redirects to follow. Value 1 or + less means that no redirects are followed. +

    +

    + Defaults to 20. +

    +
    + + + +
    + + protocol_version + float + +
    + +

    + HTTP protocol version. +

    +

    + Defaults to 1.0. +

    +

    Note: +

    + PHP prior to 5.3.0 does not implement chunked transfer decoding. + If this value is set to 1.1 it is your + responsibility to be 1.1 compliant. +

    +

    +
    + + + +
    + + timeout + float + +
    + +

    + Read timeout in seconds, specified by a float + (e.g. 10.5). +

    +

    + By default the + default_socket_timeout + php.ini setting is used. +

    +
    + + + +
    + + ignore_errors + boolean + +
    + +

    + Fetch the content even on failure status codes. +

    +

    + Defaults to FALSE. +

    +
    + + + +
    + +

    +
    + + +
    +

    Changelog

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VersionDescription
    5.3.4 + Added follow_location. +
    5.3.0 + The protocol_version supports chunked transfer + decoding when set to 1.1. +
    5.2.10 + Added ignore_errors. +
    5.2.10 + The header can now be an numerically indexed array. +
    5.2.1 + Added timeout. +
    5.1.0 + Added HTTPS proxying through HTTP proxies. +
    5.1.0 + Added max_redirects. +
    5.1.0 + Added protocol_version. +
    + +

    +
    + + +
    +

    Examples

    +

    +

    +

    Example #1 Fetch a page and send POST data

    +
    +
    +<?php

    $postdata 
    http_build_query(
        array(
            
    'var1' => 'some content',
            
    'var2' => 'doh'
        
    )
    );

    $opts = array('http' =>
        array(
            
    'method'  => 'POST',
            
    'header'  => 'Content-type: application/x-www-form-urlencoded',
            
    'content' => $postdata
        
    )
    );

    $context stream_context_create($opts);

    $result file_get_contents('http://example.com/submit.php'false$context);

    ?> +
    +
    +
    + +
    +

    +

    +

    +

    Example #2 Ignore redirects but fetch headers and content

    +
    +
    +<?php

    $url 
    "http://www.example.org/header.php";

    $opts = array('http' =>
        array(
            
    'method' => 'GET',
            
    'max_redirects' => '0',
            
    'ignore_errors' => '1'
        
    )
    );

    $context stream_context_create($opts);
    $stream fopen($url'r'false$context);

    // header information as well as meta data
    // about the stream
    var_dump(stream_get_meta_data($stream));

    // actual data at $url
    var_dump(stream_get_contents($stream));
    fclose($stream);
    ?> +
    +
    +
    + +
    +

    +
    + + +
    +

    Notes

    +

    Note: + Underlying socket stream context options
    + + Additional context options may be supported by the + underlying transport + For http:// streams, refer to context + options for the tcp:// transport. For + https:// streams, refer to context options + for the ssl:// transport. + +

    +

    Note: + HTTP status line
    + + When this stream wrapper follows a redirect, the + wrapper_data returned by + stream_get_meta_data() might not necessarily contain + the HTTP status line that actually applies to the content data at index + 0. + +

    +
    +array (
    +  'wrapper_data' =>
    +  array (
    +    0 => 'HTTP/1.0 301 Moved Permantenly',
    +    1 => 'Cache-Control: no-cache',
    +    2 => 'Connection: close',
    +    3 => 'Location: http://example.com/foo.jpg',
    +    4 => 'HTTP/1.1 200 OK',
    +    ...
    +
    +
    + + The first request returned a 301 (permanent redirect), + so the stream wrapper automatically followed the redirect to get a + 200 response (index = 4). + +

    +
    + + + + + +
    diff --git a/public/manual/en/funcref.php b/public/manual/en/funcref.php new file mode 100644 index 0000000000..a8930a45b5 --- /dev/null +++ b/public/manual/en/funcref.php @@ -0,0 +1,393 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'funcref.php', + 1 => 'Function Reference', + ), + 'up' => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'prev' => + array ( + 0 => 'features.dtrace.systemtap.php', + 1 => 'Using SystemTap with PHP DTrace Static Probes', + ), + 'next' => + array ( + 0 => 'refs.basic.php.php', + 1 => 'Affecting PHP\'s Behaviour', + ), + 'alternatives' => + array ( + ), + 'extra_header_links' => + array ( + 'rel' => 'alternate', + 'href' => '/manual/en/feeds/funcref.atom', + 'type' => 'application/atom+xml', + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +

    Function Reference

    +
    +
    +

    +

    Tip +

    + See also Extension List/Categorization. +

    +
    +

    +
    +
    + + +
    + diff --git a/public/manual/en/function.rtrim.php b/public/manual/en/function.rtrim.php new file mode 100644 index 0000000000..568072f118 --- /dev/null +++ b/public/manual/en/function.rtrim.php @@ -0,0 +1,190 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'function.rtrim.php', + 1 => 'rtrim', + ), + 'up' => + array ( + 0 => 'ref.strings.php', + 1 => 'String Functions', + ), + 'prev' => + array ( + 0 => 'function.strpos.php', + 1 => 'strpos', + ), + 'alternatives' => + array ( + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +
    +

    rtrim

    +

    (PHP 4, PHP 5, PHP 7, PHP 8)

    rtrimStrip whitespace (or other characters) from the end of a string

    + +
    + +
    +

    Description

    +
    + rtrim(string $string, string $characters = " \n\r\t\v\x00"): string
    + +

    + This function returns a string with whitespace (or other characters) stripped from the + end of string. +

    +

    + Without the second parameter, + rtrim() will strip these characters: +

    + +
      +
    • + + " ": ASCII SP character + 0x20, an ordinary space. + +
    • +
    • + + "\t": ASCII HT character + 0x09, a tab. + +
    • +
    • + + "\n": ASCII LF character + 0x0A, a new line (line feed). + +
    • +
    • + + "\r": ASCII CR character + 0x0D, a carriage return. + +
    • +
    • + + "\0": ASCII NUL character + 0x00, the NUL-byte. + +
    • +
    • + + "\v": ASCII VT + character 0x0B, a vertical tab. + +
    • +
    + +
    + + +
    +

    Parameters

    +
    + +
    string
    +
    + + The input string. + +
    + + +
    characters
    +
    + + + Optionally, the stripped characters can also be specified using + the characters parameter. + Simply list all characters that need to be stripped. + With .. it is possible to specify an incrementing range of characters. + + +
    + +
    +
    + + +
    +

    Return Values

    +

    + Returns the modified string. +

    +
    + + +
    +

    Examples

    +
    +

    Example #1 Usage example of rtrim()

    +
    +
    <?php

    $text
    = "\t\tThese are a few words :) ... ";
    $binary = "\x09Example string\x0A";
    $hello = "Hello World";
    var_dump($text, $binary, $hello);

    print
    "\n";

    $trimmed = rtrim($text);
    var_dump($trimmed);

    $trimmed = rtrim($text, " \t.");
    var_dump($trimmed);

    $trimmed = rtrim($hello, "Hdle");
    var_dump($trimmed);

    // trim the ASCII control characters at the end of $binary
    // (from 0 to 31 inclusive)
    $clean = rtrim($binary, "\x00..\x1F");
    var_dump($clean);

    ?>
    +
    + +

    The above example will output:

    +
    +
    string(32) "        These are a few words :) ...  "
    +string(16) "    Example string
    +"
    +string(11) "Hello World"
    +
    +string(30) "        These are a few words :) ..."
    +string(26) "        These are a few words :)"
    +string(9) "Hello Wor"
    +string(15) "    Example string"
    +
    +
    +
    +
    +

    Example #1 similar_text() argument swapping example

    +

    + This example shows that swapping the string1 and + string2 argument may yield different results. +

    +
    +
    <?php
    $sim
    = similar_text('bafoobar', 'barfoo', $perc);
    echo
    "similarity: $sim ($perc %)\n";
    $sim = similar_text('barfoo', 'bafoobar', $perc);
    echo
    "similarity: $sim ($perc %)\n";
    +
    + +

    The above example will output + something similar to:

    +
    +
    similarity: 5 (71.428571428571 %)
    +similarity: 3 (42.857142857143 %)
    +
    +
    +
    +
    + + +
    +

    See Also

    +
      +
    • trim() - Strip whitespace (or other characters) from the beginning and end of a string
    • +
    • ltrim() - Strip whitespace (or other characters) from the beginning of a string
    • +
    +
    +
    diff --git a/public/manual/en/function.strpos.php b/public/manual/en/function.strpos.php new file mode 100644 index 0000000000..a7f67e016b --- /dev/null +++ b/public/manual/en/function.strpos.php @@ -0,0 +1,200 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'function.strpos.php', + 1 => 'strpos', + ), + 'up' => + array ( + 0 => 'ref.strings.php', + 1 => 'String Functions', + ), + 'prev' => + array ( + 0 => 'ref.strings.php', + 1 => 'String Functions', + ), + 'next' => + array ( + 0 => 'function.rtrim.php', + 1 => 'rtrim', + ), + 'alternatives' => + array ( + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +
    +

    strpos

    +

    (PHP 4, PHP 5)

    strposFind the position of the first occurrence of a substring in a string

    + +
    + +
    +

    Description

    +
    + mixed strpos + ( string $haystack + , mixed $needle + [, int $offset = 0 + ] )
    + +

    + Find the numeric position of the first occurrence of + needle in the haystack string. +

    +
    + + +
    +

    Parameters

    +

    +

    + +
    + + haystack +
    + +

    + The string to search in. +

    +
    + + + +
    + + needle +
    + +

    + If needle is not a string, it is converted + to an integer and applied as the ordinal value of a character. +

    +
    + + + +
    + + offset +
    + +

    + If specified, search will start this number of characters counted from + the beginning of the string. Unlike strrpos() and + strripos(), the offset cannot be negative. +

    +
    + + + +
    + +

    +
    + + +
    +

    Return Values

    +

    + Returns the position of where the needle exists relative to the beginning of + the haystack string (independent of offset). + Also note that string positions start at 0, and not 1. +

    +

    + Returns FALSE if the needle was not found. +

    +
    Warning

    This function may +return Boolean FALSE, but may also return a non-Boolean value which +evaluates to FALSE. Please read the section on Booleans for more +information. Use the === +operator for testing the return value of this +function.

    +
    + + +
    +

    Examples

    +

    +

    +

    Example #1 Using ===

    +
    +
    +<?php
    $mystring 
    'abc';
    $findme   'a';
    $pos strpos($mystring$findme);

    // Note our use of ===.  Simply == would not work as expected
    // because the position of 'a' was the 0th (first) character.
    if ($pos === false) {
        echo 
    "The string '$findme' was not found in the string '$mystring'";
    } else {
        echo 
    "The string '$findme' was found in the string '$mystring'";
        echo 
    " and exists at position $pos";
    }
    ?> +
    +
    +
    + +
    + +
    +

    Example #2 Using !==

    +
    +
    +<?php
    $mystring 
    'abc';
    $findme   'a';
    $pos strpos($mystring$findme);

    // The !== operator can also be used.  Using != would not work as expected
    // because the position of 'a' is 0. The statement (0 != false) evaluates 
    // to false.
    if ($pos !== false) {
         echo 
    "The string '$findme' was found in the string '$mystring'";
             echo 
    " and exists at position $pos";
    } else {
         echo 
    "The string '$findme' was not found in the string '$mystring'";
    }
    ?> +
    +
    +
    + +
    + +
    +

    Example #3 Using an offset

    +
    +
    +<?php
    // We can search for the character, ignoring anything before the offset
    $newstring 'abcdef abcdef';
    $pos strpos($newstring'a'1); // $pos = 7, not 0
    ?> +
    +
    +
    + +
    +

    +
    + + +
    +

    Notes

    +

    Note: This function is +binary-safe.

    +
    + + +
    +

    See Also

    +

    +

      +
    • stripos() - Find the position of the first occurrence of a case-insensitive substring in a string
    • +
    • strrpos() - Find the position of the last occurrence of a substring in a string
    • +
    • strripos() - Find the position of the last occurrence of a case-insensitive substring in a string
    • +
    • strstr() - Find the first occurrence of a string
    • +
    • strpbrk() - Search a string for any of a set of characters
    • +
    • substr() - Return part of a string
    • +
    • preg_match() - Perform a regular expression match
    • +
    +

    +
    + + +
    diff --git a/public/manual/en/index.php b/public/manual/en/index.php new file mode 100644 index 0000000000..402d0e6c9e --- /dev/null +++ b/public/manual/en/index.php @@ -0,0 +1,333 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'up' => + array ( + 0 => NULL, + 1 => NULL, + ), + 'prev' => + array ( + 0 => NULL, + 1 => NULL, + ), + 'next' => + array ( + 0 => NULL, + 1 => NULL, + ), + 'alternatives' => + array ( + ), + 'extra_header_links' => + array ( + 'rel' => 'alternate', + 'href' => '/manual/en/feeds/index.atom', + 'type' => 'application/atom+xml', + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +

    PHP Manual

    + + + +
    +
    + +
    by:
    + + Mehdi Achour + +
    + + +
    + + Friedhelm Betz + +
    + + +
    + + Antony Dovgal + +
    + + +
    + + Nuno Lopes + +
    + + +
    + + Hannes Magnusson + +
    + + +
    + + Georg Richter + +
    + + +
    + + Damien Seguy + +
    + + +
    + + Jakub Vrana + +
    + + + +
    + + + And several others + + +
    + +
    +
    2013-11-20
    + +
    +
    Edited By: + + Philip Olson + +
    + +
    + + + + + +
    + + +
    + diff --git a/public/manual/en/language.exceptions.php b/public/manual/en/language.exceptions.php new file mode 100644 index 0000000000..6409505dee --- /dev/null +++ b/public/manual/en/language.exceptions.php @@ -0,0 +1,164 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'language.exceptions.php', + 1 => 'Exceptions', + ), + 'up' => + array ( + 0 => 'langref.php', + 1 => 'Language Reference', + ), + 'prev' => + array ( + 0 => 'language.namespaces.faq.php', + 1 => 'FAQ: things you need to know about namespaces', + ), + 'next' => + array ( + 0 => 'language.exceptions.extending.php', + 1 => 'Extending Exceptions', + ), + 'alternatives' => + array ( + ), + 'extra_header_links' => + array ( + 'rel' => 'alternate', + 'href' => '/manual/en/feeds/language.exceptions.atom', + 'type' => 'application/atom+xml', + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +

    Exceptions

    +

    Table of Contents

    + + +

    + PHP 5 has an exception model similar to that of other programming languages. + An exception can be thrown, and caught + ("catched") within PHP. Code may be surrounded in a + try block, to facilitate the catching of potential + exceptions. Each try must have at least one + corresponding catch block. Multiple + catch blocks can be used to catch different classes of + exceptions. Normal execution (when no exception is thrown within the + try block, or when a catch matching + the thrown exception's class is not present) will continue after that last + catch block defined in sequence. Exceptions can be + thrown (or re-thrown) within a catch block. +

    +

    + When an exception is thrown, code following the statement will not be + executed, and PHP will attempt to find the first matching + catch block. If an + exception is not caught, a PHP Fatal Error will be issued with an + "Uncaught Exception ..." message, unless a handler has + been defined with set_exception_handler(). +

    +

    + In PHP 5.5 and later, a finally block may also be + specified after the catch blocks. Code within the + finally block will always be executed after the + try and catch blocks, regardless of + whether an exception has been thrown, and before normal execution resumes. +

    +

    + The thrown object must be an instance of the Exception + class or a subclass of Exception. Trying to throw an + object that is not will result in a PHP Fatal Error. +

    +

    Note: +

    + Internal PHP functions mainly use + Error reporting, only modern + Object oriented + extensions use exceptions. However, errors can be simply translated to + exceptions with ErrorException. +

    +

    +
    Tip +

    + The Standard PHP Library (SPL) provides a + good number of built-in exceptions. +

    +
    +
    +

    Example #1 Throwing an Exception

    +
    +
    +<?php
    function inverse($x) {
        if (!
    $x) {
            throw new 
    Exception('Division by zero.');
        }
        return 
    1/$x;
    }

    try {
        echo 
    inverse(5) . "\n";
        echo 
    inverse(0) . "\n";
    } catch (
    Exception $e) {
        echo 
    'Caught exception: ',  $e->getMessage(), "\n";
    }

    // Continue execution
    echo "Hello World\n";
    ?> +
    +
    +
    + +

    The above example will output:

    +
    +
    +0.2
    +Caught exception: Division by zero.
    +Hello World
    +
    +
    +
    +
    +

    Example #2 Exception handling with a finally block

    +
    +
    +<?php
    function inverse($x) {
        if (!
    $x) {
            throw new 
    Exception('Division by zero.');
        }
        return 
    1/$x;
    }

    try {
        echo 
    inverse(5) . "\n";
    } catch (
    Exception $e) {
        echo 
    'Caught exception: ',  $e->getMessage(), "\n";
    finally {
        echo 
    "First finally.\n";
    }

    try {
        echo 
    inverse(0) . "\n";
    } catch (
    Exception $e) {
        echo 
    'Caught exception: ',  $e->getMessage(), "\n";
    finally {
        echo 
    "Second finally.\n";
    }

    // Continue execution
    echo "Hello World\n";
    ?> +
    +
    +
    + +

    The above example will output:

    +
    +
    +0.2
    +First finally.
    +Caught exception: Division by zero.
    +Second finally.
    +Hello World
    +
    +
    +
    +
    +

    Example #3 Nested Exception

    +
    +
    +<?php

    class MyException extends Exception { }

    class 
    Test {
        public function 
    testing() {
            try {
                try {
                    throw new 
    MyException('foo!');
                } catch (
    MyException $e) {
                    
    // rethrow it
                    
    throw $e;
                }
            } catch (
    Exception $e) {
                
    var_dump($e->getMessage());
            }
        }
    }

    $foo = new Test;
    $foo->testing();

    ?> +
    +
    +
    + +

    The above example will output:

    +
    +
    +string(4) "foo!"
    +
    +
    +
    + + + +
    + diff --git a/public/manual/en/refs.basic.vartype.php b/public/manual/en/refs.basic.vartype.php new file mode 100644 index 0000000000..3b6c25b7f3 --- /dev/null +++ b/public/manual/en/refs.basic.vartype.php @@ -0,0 +1,165 @@ + + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), + 'head' => + array ( + 0 => 'UTF-8', + 1 => 'en', + ), + 'this' => + array ( + 0 => 'refs.basic.vartype.php', + 1 => 'Variable and Type Related Extensions', + ), + 'up' => + array ( + 0 => 'funcref.php', + 1 => 'Function Reference', + ), + 'prev' => + array ( + 0 => 'changelog.strings.php', + 1 => 'Changelog', + ), + 'next' => + array ( + 0 => 'book.array.php', + 1 => 'Arrays', + ), + 'alternatives' => + array ( + ), + 'extra_header_links' => + array ( + 'rel' => 'alternate', + 'href' => '/manual/en/feeds/refs.basic.vartype.atom', + 'type' => 'application/atom+xml', + ), +); +$setup["toc"] = $TOC; +$setup["parents"] = $PARENTS; +manual_setup($setup); + +?> +
    +

    Variable and Type Related Extensions

    +
    + diff --git a/public/manual/en/search-combined.json b/public/manual/en/search-combined.json new file mode 100644 index 0000000000..a7ee5e0561 --- /dev/null +++ b/public/manual/en/search-combined.json @@ -0,0 +1 @@ +[{"id":"copyright","name":"Copyright","description":"PHP Manual","tag":"legalnotice","type":"General","methodName":"Copyright"},{"id":"preface","name":"Preface","description":"About this manual","tag":"preface","type":"General","methodName":"Preface"},{"id":"introduction","name":"Introduction","description":"What is PHP and what can it do?","tag":"chapter","type":"General","methodName":"Introduction"},{"id":"tutorial.firstpage","name":"Your first PHP-enabled page","description":"Getting Started","tag":"section","type":"General","methodName":"Your first PHP-enabled page"},{"id":"tutorial.useful","name":"Something Useful","description":"Getting Started","tag":"section","type":"General","methodName":"Something Useful"},{"id":"tutorial.forms","name":"Dealing with Forms","description":"Getting Started","tag":"section","type":"General","methodName":"Dealing with Forms"},{"id":"tutorial.whatsnext","name":"What's next?","description":"Getting Started","tag":"section","type":"General","methodName":"What's next?"},{"id":"tutorial","name":"A simple tutorial","description":"Getting Started","tag":"chapter","type":"General","methodName":"A simple tutorial"},{"id":"getting-started","name":"Getting Started","description":"PHP Manual","tag":"book","type":"Extension","methodName":"Getting Started"},{"id":"install.general","name":"General Installation Considerations","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"General Installation Considerations"},{"id":"install.unix.debian","name":"Installing from packages on Debian GNU\/Linux and related distributions","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installing from packages on Debian GNU\/Linux and related distributions"},{"id":"install.unix.dnf","name":"Installing from packages on GNU\/Linux distributions that use DNF","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installing from packages on GNU\/Linux distributions that use DNF"},{"id":"install.unix.openbsd","name":"Installing from packages or ports on OpenBSD","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installing from packages or ports on OpenBSD"},{"id":"install.unix.source","name":"Installing from source on Unix and macOS systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installing from source on Unix and macOS systems"},{"id":"install.unix.commandline","name":"CGI and command line setups","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"CGI and command line setups"},{"id":"install.unix.apache2","name":"Apache 2.x on Unix systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Apache 2.x on Unix systems"},{"id":"install.unix.nginx","name":"Nginx 1.4.x on Unix systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Nginx 1.4.x on Unix systems"},{"id":"install.unix.lighttpd-14","name":"Lighttpd 1.4 on Unix systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Lighttpd 1.4 on Unix systems"},{"id":"install.unix.litespeed","name":"LiteSpeed Web Server\/OpenLiteSpeed Web Server on Unix systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"LiteSpeed Web Server\/OpenLiteSpeed Web Server on Unix systems"},{"id":"install.unix.solaris","name":"Solaris specific installation tips","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Solaris specific installation tips"},{"id":"install.unix","name":"Installation on Unix systems","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"Installation on Unix systems"},{"id":"install.macosx.packages","name":"Installation on macOS using third-party packages","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installation on macOS using third-party packages"},{"id":"install.macosx.compile","name":"Compiling PHP on macOS","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Compiling PHP on macOS"},{"id":"install.macosx.bundled","name":"Using the bundled PHP prior to macOS Monterey","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Using the bundled PHP prior to macOS Monterey"},{"id":"install.macosx","name":"Installation on macOS","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"Installation on macOS"},{"id":"install.windows.recommended","name":"Recommended configuration on Windows systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Recommended configuration on Windows systems"},{"id":"install.windows.manual","name":"Manual installation of pre-built binaries","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Manual installation of pre-built binaries"},{"id":"install.windows.apache2","name":"Installation for Apache 2.x on Windows systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installation for Apache 2.x on Windows systems"},{"id":"install.windows.iis","name":"Installation with IIS for Windows","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installation with IIS for Windows"},{"id":"install.windows.tools","name":"Third-party tools for installing PHP","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Third-party tools for installing PHP"},{"id":"install.windows.building","name":"Building from source","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Building from source"},{"id":"install.windows.commandline","name":"Running PHP on the command line on Windows systems","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Running PHP on the command line on Windows systems"},{"id":"install.windows","name":"Installation on Windows systems","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"Installation on Windows systems"},{"id":"install.cloud.azure","name":"Azure App Services","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Azure App Services"},{"id":"install.cloud.ec2","name":"Amazon EC2","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Amazon EC2"},{"id":"install.cloud.digitalocean","name":"DigitalOcean","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"DigitalOcean"},{"id":"install.cloud","name":"Installation on Cloud Computing platforms","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"Installation on Cloud Computing platforms"},{"id":"install.fpm.install","name":"Installation","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installation"},{"id":"install.fpm.configuration","name":"Configuration","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Configuration"},{"id":"install.fpm","name":"FastCGI Process Manager (FPM)","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"FastCGI Process Manager (FPM)"},{"id":"install.pecl.intro","name":"Introduction to PECL Installations","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Introduction to PECL Installations"},{"id":"install.pecl.downloads","name":"Downloading PECL extensions","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Downloading PECL extensions"},{"id":"install.pecl.windows","name":"Installing a PHP extension on Windows","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Installing a PHP extension on Windows"},{"id":"install.pecl.pear","name":"Compiling shared PECL extensions with the pecl command","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Compiling shared PECL extensions with the pecl command"},{"id":"install.pecl.phpize","name":"Compiling shared PECL extensions with phpize","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Compiling shared PECL extensions with phpize"},{"id":"install.pecl.php-config","name":"php-config","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"php-config"},{"id":"install.pecl.static","name":"Compiling PECL extensions statically into PHP","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Compiling PECL extensions statically into PHP"},{"id":"install.pecl","name":"Installation of PECL extensions","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"Installation of PECL extensions"},{"id":"install.composer.intro","name":"Introduction to Composer","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Introduction to Composer"},{"id":"install.pie.intro","name":"Introduction to PIE","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Introduction to PIE"},{"id":"configuration.file","name":"The configuration file","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"The configuration file"},{"id":"configuration.file.per-user","name":".user.ini files","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":".user.ini files"},{"id":"configuration.changes.modes","name":"Where a configuration setting may be set","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"Where a configuration setting may be set"},{"id":"configuration.changes","name":"How to change configuration settings","description":"Installation and Configuration","tag":"sect1","type":"General","methodName":"How to change configuration settings"},{"id":"configuration","name":"Runtime Configuration","description":"Installation and Configuration","tag":"chapter","type":"General","methodName":"Runtime Configuration"},{"id":"install","name":"Installation and Configuration","description":"PHP Manual","tag":"book","type":"Extension","methodName":"Installation and Configuration"},{"id":"language.basic-syntax.phptags","name":"PHP tags","description":"Language Reference","tag":"sect1","type":"General","methodName":"PHP tags"},{"id":"language.basic-syntax.phpmode","name":"Escaping from HTML","description":"Language Reference","tag":"sect1","type":"General","methodName":"Escaping from HTML"},{"id":"language.basic-syntax.instruction-separation","name":"Instruction separation","description":"Language Reference","tag":"sect1","type":"General","methodName":"Instruction separation"},{"id":"language.basic-syntax.comments","name":"Comments","description":"Language Reference","tag":"sect1","type":"General","methodName":"Comments"},{"id":"language.basic-syntax","name":"Basic syntax","description":"Language Reference","tag":"chapter","type":"General","methodName":"Basic syntax"},{"id":"language.types.intro","name":"Introduction","description":"Language Reference","tag":"sect1","type":"General","methodName":"Introduction"},{"id":"language.types.type-system","name":"Type System","description":"Language Reference","tag":"sect1","type":"General","methodName":"Type System"},{"id":"language.types.null","name":"NULL","description":"Language Reference","tag":"sect1","type":"General","methodName":"NULL"},{"id":"language.types.boolean","name":"Booleans","description":"Language Reference","tag":"sect1","type":"General","methodName":"Booleans"},{"id":"language.types.integer","name":"Integers","description":"Language Reference","tag":"sect1","type":"General","methodName":"Integers"},{"id":"language.types.float","name":"Floating point numbers","description":"Language Reference","tag":"sect1","type":"General","methodName":"Floating point numbers"},{"id":"language.types.string","name":"Strings","description":"Language Reference","tag":"sect1","type":"General","methodName":"Strings"},{"id":"language.types.numeric-strings","name":"Numeric strings","description":"Language Reference","tag":"sect1","type":"General","methodName":"Numeric strings"},{"id":"language.types.array","name":"Arrays","description":"Language Reference","tag":"sect1","type":"General","methodName":"Arrays"},{"id":"language.types.object","name":"Objects","description":"Language Reference","tag":"sect1","type":"General","methodName":"Objects"},{"id":"language.types.enumerations","name":"Enumerations","description":"Language Reference","tag":"sect1","type":"General","methodName":"Enumerations"},{"id":"language.types.resource","name":"Resources","description":"Language Reference","tag":"sect1","type":"General","methodName":"Resources"},{"id":"language.types.callable","name":"Callables","description":"Language Reference","tag":"sect1","type":"General","methodName":"Callables"},{"id":"language.types.mixed","name":"Mixed","description":"Language Reference","tag":"sect1","type":"General","methodName":"Mixed"},{"id":"language.types.void","name":"Void","description":"Language Reference","tag":"sect1","type":"General","methodName":"Void"},{"id":"language.types.never","name":"Never","description":"Language Reference","tag":"sect1","type":"General","methodName":"Never"},{"id":"language.types.relative-class-types","name":"Relative class types","description":"Language Reference","tag":"sect1","type":"General","methodName":"Relative class types"},{"id":"language.types.singleton","name":"Singleton types","description":"Language Reference","tag":"sect1","type":"General","methodName":"Singleton types"},{"id":"language.types.iterable","name":"Iterables","description":"Language Reference","tag":"sect1","type":"General","methodName":"Iterables"},{"id":"language.types.declarations","name":"Type declarations","description":"Language Reference","tag":"sect1","type":"General","methodName":"Type declarations"},{"id":"language.types.type-juggling","name":"Type Juggling","description":"Language Reference","tag":"sect1","type":"General","methodName":"Type Juggling"},{"id":"language.types","name":"Types","description":"Language Reference","tag":"chapter","type":"General","methodName":"Types"},{"id":"language.variables.basics","name":"Basics","description":"Language Reference","tag":"sect1","type":"General","methodName":"Basics"},{"id":"language.variables.predefined","name":"Predefined Variables","description":"Language Reference","tag":"sect1","type":"General","methodName":"Predefined Variables"},{"id":"language.variables.scope","name":"Variable scope","description":"Language Reference","tag":"sect1","type":"General","methodName":"Variable scope"},{"id":"language.variables.variable","name":"Variable variables","description":"Language Reference","tag":"sect1","type":"General","methodName":"Variable variables"},{"id":"language.variables.external","name":"Variables From External Sources","description":"Language Reference","tag":"sect1","type":"General","methodName":"Variables From External Sources"},{"id":"language.variables","name":"Variables","description":"Language Reference","tag":"chapter","type":"General","methodName":"Variables"},{"id":"language.constants.syntax","name":"Syntax","description":"Language Reference","tag":"sect1","type":"General","methodName":"Syntax"},{"id":"language.constants.predefined","name":"Predefined constants","description":"Language Reference","tag":"sect1","type":"General","methodName":"Predefined constants"},{"id":"language.constants.magic","name":"Magic constants","description":"Language Reference","tag":"sect1","type":"General","methodName":"Magic constants"},{"id":"language.constants","name":"Constants","description":"Language Reference","tag":"chapter","type":"General","methodName":"Constants"},{"id":"language.expressions","name":"Expressions","description":"Language Reference","tag":"chapter","type":"General","methodName":"Expressions"},{"id":"language.operators.precedence","name":"Operator Precedence","description":"Operator Precedence","tag":"sect1","type":"General","methodName":"Operator Precedence"},{"id":"language.operators.arithmetic","name":"Arithmetic","description":"Arithmetic Operators","tag":"sect1","type":"General","methodName":"Arithmetic"},{"id":"language.operators.increment","name":"Increment and Decrement","description":"Incrementing\/Decrementing Operators","tag":"sect1","type":"General","methodName":"Increment and Decrement"},{"id":"language.operators.assignment","name":"Assignment","description":"Assignment Operators","tag":"sect1","type":"General","methodName":"Assignment"},{"id":"language.operators.bitwise","name":"Bitwise","description":"Bitwise Operators","tag":"sect1","type":"General","methodName":"Bitwise"},{"id":"language.operators.comparison","name":"Comparison","description":"Comparison Operators","tag":"sect1","type":"General","methodName":"Comparison"},{"id":"language.operators.errorcontrol","name":"Error Control","description":"Error Control Operators","tag":"sect1","type":"General","methodName":"Error Control"},{"id":"language.operators.execution","name":"Execution","description":"Execution Operators","tag":"sect1","type":"General","methodName":"Execution"},{"id":"language.operators.logical","name":"Logic","description":"Logical Operators","tag":"sect1","type":"General","methodName":"Logic"},{"id":"language.operators.string","name":"String","description":"String Operators","tag":"sect1","type":"General","methodName":"String"},{"id":"language.operators.array","name":"Array","description":"Array Operators","tag":"sect1","type":"General","methodName":"Array"},{"id":"language.operators.type","name":"Type","description":"Type Operators","tag":"sect1","type":"General","methodName":"Type"},{"id":"language.operators.functional","name":"Functional","description":"Functional Operators","tag":"sect1","type":"General","methodName":"Functional"},{"id":"language.operators","name":"Operators","description":"Language Reference","tag":"chapter","type":"General","methodName":"Operators"},{"id":"control-structures.intro","name":"Introduction","description":"Language Reference","tag":"sect1","type":"General","methodName":"Introduction"},{"id":"control-structures.if","name":"if","description":"Language Reference","tag":"sect1","type":"General","methodName":"if"},{"id":"control-structures.else","name":"else","description":"Language Reference","tag":"sect1","type":"General","methodName":"else"},{"id":"control-structures.elseif","name":"elseif\/else if","description":"Language Reference","tag":"sect1","type":"General","methodName":"elseif\/else if"},{"id":"control-structures.alternative-syntax","name":"Alternative syntax for control structures","description":"Language Reference","tag":"sect1","type":"General","methodName":"Alternative syntax for control structures"},{"id":"control-structures.while","name":"while","description":"Language Reference","tag":"sect1","type":"General","methodName":"while"},{"id":"control-structures.do.while","name":"do-while","description":"Language Reference","tag":"sect1","type":"General","methodName":"do-while"},{"id":"control-structures.for","name":"for","description":"Language Reference","tag":"sect1","type":"General","methodName":"for"},{"id":"control-structures.foreach","name":"foreach","description":"Language Reference","tag":"sect1","type":"General","methodName":"foreach"},{"id":"control-structures.break","name":"break","description":"Language Reference","tag":"sect1","type":"General","methodName":"break"},{"id":"control-structures.continue","name":"continue","description":"Language Reference","tag":"sect1","type":"General","methodName":"continue"},{"id":"control-structures.switch","name":"switch","description":"Language Reference","tag":"sect1","type":"General","methodName":"switch"},{"id":"control-structures.match","name":"match","description":"Language Reference","tag":"sect1","type":"General","methodName":"match"},{"id":"control-structures.declare","name":"declare","description":"Language Reference","tag":"sect1","type":"General","methodName":"declare"},{"id":"function.return","name":"return","description":"Language Reference","tag":"sect1","type":"General","methodName":"return"},{"id":"function.require","name":"require","description":"Language Reference","tag":"sect1","type":"General","methodName":"require"},{"id":"function.include","name":"include","description":"Language Reference","tag":"sect1","type":"General","methodName":"include"},{"id":"function.require-once","name":"require_once","description":"Language Reference","tag":"sect1","type":"General","methodName":"require_once"},{"id":"function.include-once","name":"require_once","description":"Language Reference","tag":"sect1","type":"General","methodName":"require_once"},{"id":"control-structures.goto","name":"goto","description":"Language Reference","tag":"sect1","type":"General","methodName":"goto"},{"id":"language.control-structures","name":"Control Structures","description":"Language Reference","tag":"chapter","type":"General","methodName":"Control Structures"},{"id":"functions.user-defined","name":"User-defined functions","description":"Language Reference","tag":"sect1","type":"General","methodName":"User-defined functions"},{"id":"functions.arguments","name":"Function parameters and arguments","description":"Language Reference","tag":"sect1","type":"General","methodName":"Function parameters and arguments"},{"id":"functions.returning-values","name":"Returning values","description":"Language Reference","tag":"sect1","type":"General","methodName":"Returning values"},{"id":"functions.variable-functions","name":"Variable functions","description":"Language Reference","tag":"sect1","type":"General","methodName":"Variable functions"},{"id":"functions.internal","name":"Internal (built-in) functions","description":"Language Reference","tag":"sect1","type":"General","methodName":"Internal (built-in) functions"},{"id":"functions.anonymous","name":"Anonymous functions","description":"Language Reference","tag":"sect1","type":"General","methodName":"Anonymous functions"},{"id":"functions.arrow","name":"Arrow Functions","description":"Language Reference","tag":"sect1","type":"General","methodName":"Arrow Functions"},{"id":"functions.first_class_callable_syntax","name":"First class callable syntax","description":"Language Reference","tag":"sect1","type":"General","methodName":"First class callable syntax"},{"id":"language.functions","name":"Functions","description":"Language Reference","tag":"chapter","type":"General","methodName":"Functions"},{"id":"oop5.intro","name":"Introduction","description":"Language Reference","tag":"sect1","type":"General","methodName":"Introduction"},{"id":"language.oop5.basic","name":"The Basics","description":"Language Reference","tag":"sect1","type":"General","methodName":"The Basics"},{"id":"language.oop5.properties","name":"Properties","description":"Language Reference","tag":"sect1","type":"General","methodName":"Properties"},{"id":"language.oop5.property-hooks","name":"Property Hooks","description":"Language Reference","tag":"sect1","type":"General","methodName":"Property Hooks"},{"id":"language.oop5.constants","name":"Class Constants","description":"Language Reference","tag":"sect1","type":"General","methodName":"Class Constants"},{"id":"language.oop5.autoload","name":"Autoloading Classes","description":"Language Reference","tag":"sect1","type":"General","methodName":"Autoloading Classes"},{"id":"language.oop5.decon","name":"Constructors and Destructors","description":"Language Reference","tag":"sect1","type":"General","methodName":"Constructors and Destructors"},{"id":"language.oop5.visibility","name":"Visibility","description":"Language Reference","tag":"sect1","type":"General","methodName":"Visibility"},{"id":"language.oop5.inheritance","name":"Object Inheritance","description":"Language Reference","tag":"sect1","type":"General","methodName":"Object Inheritance"},{"id":"language.oop5.paamayim-nekudotayim","name":"Scope Resolution Operator (::)","description":"Language Reference","tag":"sect1","type":"General","methodName":")"},{"id":"language.oop5.static","name":"Static Keyword","description":"Language Reference","tag":"sect1","type":"General","methodName":"Static Keyword"},{"id":"language.oop5.abstract","name":"Class Abstraction","description":"Language Reference","tag":"sect1","type":"General","methodName":"Class Abstraction"},{"id":"language.oop5.interfaces","name":"Object Interfaces","description":"Language Reference","tag":"sect1","type":"General","methodName":"Object Interfaces"},{"id":"language.oop5.traits","name":"Traits","description":"Language Reference","tag":"sect1","type":"General","methodName":"Traits"},{"id":"language.oop5.anonymous","name":"Anonymous classes","description":"Language Reference","tag":"sect1","type":"General","methodName":"Anonymous classes"},{"id":"language.oop5.overloading","name":"Overloading","description":"Language Reference","tag":"sect1","type":"General","methodName":"Overloading"},{"id":"language.oop5.iterations","name":"Object Iteration","description":"Language Reference","tag":"sect1","type":"General","methodName":"Object Iteration"},{"id":"language.oop5.magic","name":"Magic Methods","description":"Language Reference","tag":"sect1","type":"General","methodName":"Magic Methods"},{"id":"language.oop5.final","name":"Final Keyword","description":"Language Reference","tag":"sect1","type":"General","methodName":"Final Keyword"},{"id":"language.oop5.cloning","name":"Object Cloning","description":"Language Reference","tag":"sect1","type":"General","methodName":"Object Cloning"},{"id":"language.oop5.object-comparison","name":"Comparing Objects","description":"Language Reference","tag":"sect1","type":"General","methodName":"Comparing Objects"},{"id":"language.oop5.late-static-bindings","name":"Late Static Bindings","description":"Language Reference","tag":"sect1","type":"General","methodName":"Late Static Bindings"},{"id":"language.oop5.references","name":"Objects and references","description":"Language Reference","tag":"sect1","type":"General","methodName":"Objects and references"},{"id":"language.oop5.serialization","name":"Object Serialization","description":"Serializing objects - objects in sessions","tag":"sect1","type":"General","methodName":"Object Serialization"},{"id":"language.oop5.variance","name":"Covariance and Contravariance","description":"Language Reference","tag":"sect1","type":"General","methodName":"Covariance and Contravariance"},{"id":"language.oop5.lazy-objects","name":"Lazy Objects","description":"Language Reference","tag":"sect1","type":"General","methodName":"Lazy Objects"},{"id":"language.oop5.changelog","name":"OOP Changelog","description":"Language Reference","tag":"sect1","type":"General","methodName":"OOP Changelog"},{"id":"language.oop5","name":"Classes and Objects","description":"Language Reference","tag":"chapter","type":"General","methodName":"Classes and Objects"},{"id":"language.namespaces.rationale","name":"Overview","description":"Namespaces overview","tag":"sect1","type":"General","methodName":"Overview"},{"id":"language.namespaces.definition","name":"Namespaces","description":"Defining namespaces","tag":"sect1","type":"General","methodName":"Namespaces"},{"id":"language.namespaces.nested","name":"Sub-namespaces","description":"Declaring sub-namespaces","tag":"sect1","type":"General","methodName":"Sub-namespaces"},{"id":"language.namespaces.definitionmultiple","name":"Defining multiple namespaces in the same file","description":"Defining multiple namespaces in the same file","tag":"sect1","type":"General","methodName":"Defining multiple namespaces in the same file"},{"id":"language.namespaces.basics","name":"Basics","description":"Using namespaces: Basics","tag":"sect1","type":"General","methodName":"Basics"},{"id":"language.namespaces.dynamic","name":"Namespaces and dynamic language features","description":"Namespaces and dynamic language features","tag":"sect1","type":"General","methodName":"Namespaces and dynamic language features"},{"id":"language.namespaces.nsconstants","name":"namespace keyword and __NAMESPACE__","description":"The namespace keyword and __NAMESPACE__ magic constant","tag":"sect1","type":"General","methodName":"namespace keyword and __NAMESPACE__"},{"id":"language.namespaces.importing","name":"Aliasing and Importing","description":"Using namespaces: Aliasing\/Importing","tag":"sect1","type":"General","methodName":"Aliasing and Importing"},{"id":"language.namespaces.global","name":"Global space","description":"Global space","tag":"sect1","type":"General","methodName":"Global space"},{"id":"language.namespaces.fallback","name":"Fallback to global space","description":"Using namespaces: fallback to the global space for functions and constants","tag":"sect1","type":"General","methodName":"Fallback to global space"},{"id":"language.namespaces.rules","name":"Name resolution rules","description":"Name resolution rules","tag":"sect1","type":"General","methodName":"Name resolution rules"},{"id":"language.namespaces.faq","name":"FAQ","description":"FAQ: things you need to know about namespaces","tag":"sect1","type":"General","methodName":"FAQ"},{"id":"language.namespaces","name":"Namespaces","description":"Language Reference","tag":"chapter","type":"General","methodName":"Namespaces"},{"id":"language.enumerations.overview","name":"Enumerations overview","description":"Language Reference","tag":"sect1","type":"General","methodName":"Enumerations overview"},{"id":"language.enumerations.basics","name":"Basic enumerations","description":"Language Reference","tag":"sect1","type":"General","methodName":"Basic enumerations"},{"id":"language.enumerations.backed","name":"Backed enumerations","description":"Language Reference","tag":"sect1","type":"General","methodName":"Backed enumerations"},{"id":"language.enumerations.methods","name":"Enumeration methods","description":"Language Reference","tag":"sect1","type":"General","methodName":"Enumeration methods"},{"id":"language.enumerations.static-methods","name":"Enumeration static methods","description":"Language Reference","tag":"sect1","type":"General","methodName":"Enumeration static methods"},{"id":"language.enumerations.constants","name":"Enumeration constants","description":"Language Reference","tag":"sect1","type":"General","methodName":"Enumeration constants"},{"id":"language.enumerations.traits","name":"Traits","description":"Language Reference","tag":"sect1","type":"General","methodName":"Traits"},{"id":"language.enumerations.expressions","name":"Enum values in constant expressions","description":"Language Reference","tag":"sect1","type":"General","methodName":"Enum values in constant expressions"},{"id":"language.enumerations.object-differences","name":"Differences from objects","description":"Language Reference","tag":"sect1","type":"General","methodName":"Differences from objects"},{"id":"language.enumerations.listing","name":"Value listing","description":"Language Reference","tag":"sect1","type":"General","methodName":"Value listing"},{"id":"language.enumerations.serialization","name":"Serialization","description":"Language Reference","tag":"sect1","type":"General","methodName":"Serialization"},{"id":"language.enumerations.object-differences.inheritance","name":"Why enums aren't extendable","description":"Language Reference","tag":"sect1","type":"General","methodName":"Why enums aren't extendable"},{"id":"language.enumerations.examples","name":"Examples","description":"Language Reference","tag":"sect1","type":"General","methodName":"Examples"},{"id":"language.enumerations","name":"Enumerations","description":"Language Reference","tag":"chapter","type":"General","methodName":"Enumerations"},{"id":"language.errors.basics","name":"Basics","description":"Language Reference","tag":"sect1","type":"General","methodName":"Basics"},{"id":"language.errors.php7","name":"Errors in PHP 7","description":"Language Reference","tag":"sect1","type":"General","methodName":"Errors in PHP 7"},{"id":"language.errors","name":"Errors","description":"Language Reference","tag":"chapter","type":"General","methodName":"Errors"},{"id":"language.exceptions.extending","name":"Extending Exceptions","description":"Language Reference","tag":"sect1","type":"General","methodName":"Extending Exceptions"},{"id":"language.exceptions","name":"Exceptions","description":"Language Reference","tag":"chapter","type":"General","methodName":"Exceptions"},{"id":"language.fibers","name":"Fibers","description":"Language Reference","tag":"chapter","type":"General","methodName":"Fibers"},{"id":"language.generators.overview","name":"Generators overview","description":"Language Reference","tag":"sect1","type":"General","methodName":"Generators overview"},{"id":"language.generators.syntax","name":"Generator syntax","description":"Language Reference","tag":"sect1","type":"General","methodName":"Generator syntax"},{"id":"language.generators.comparison","name":"Comparing generators with Iterator objects","description":"Language Reference","tag":"sect1","type":"General","methodName":"Comparing generators with Iterator objects"},{"id":"language.generators","name":"Generators","description":"Language Reference","tag":"chapter","type":"General","methodName":"Generators"},{"id":"language.attributes.overview","name":"Attributes overview","description":"Language Reference","tag":"sect1","type":"General","methodName":"Attributes overview"},{"id":"language.attributes.syntax","name":"Attribute syntax","description":"Language Reference","tag":"sect1","type":"General","methodName":"Attribute syntax"},{"id":"language.attributes.reflection","name":"Reading Attributes with the Reflection API","description":"Language Reference","tag":"sect1","type":"General","methodName":"Reading Attributes with the Reflection API"},{"id":"language.attributes.classes","name":"Declaring Attribute Classes","description":"Language Reference","tag":"sect1","type":"General","methodName":"Declaring Attribute Classes"},{"id":"language.attributes","name":"Attributes","description":"Language Reference","tag":"chapter","type":"General","methodName":"Attributes"},{"id":"language.references.whatare","name":"What References Are","description":"Language Reference","tag":"sect1","type":"General","methodName":"What References Are"},{"id":"language.references.whatdo","name":"What References Do","description":"Language Reference","tag":"sect1","type":"General","methodName":"What References Do"},{"id":"language.references.arent","name":"What References Are Not","description":"Language Reference","tag":"sect1","type":"General","methodName":"What References Are Not"},{"id":"language.references.pass","name":"Passing by Reference","description":"Language Reference","tag":"sect1","type":"General","methodName":"Passing by Reference"},{"id":"language.references.return","name":"Returning References","description":"Language Reference","tag":"sect1","type":"General","methodName":"Returning References"},{"id":"language.references.unset","name":"Unsetting References","description":"Language Reference","tag":"sect1","type":"General","methodName":"Unsetting References"},{"id":"language.references.spot","name":"Spotting References","description":"Language Reference","tag":"sect1","type":"General","methodName":"Spotting References"},{"id":"language.references","name":"References Explained","description":"Language Reference","tag":"chapter","type":"General","methodName":"References Explained"},{"id":"language.variables.superglobals","name":"Superglobals","description":"Built-in variables that are always available in all scopes","tag":"phpdoc:varentry","type":"Variable","methodName":"Superglobals"},{"id":"reserved.variables.globals","name":"$GLOBALS","description":"References all variables available in global scope","tag":"phpdoc:varentry","type":"Variable","methodName":"$GLOBALS"},{"id":"reserved.variables.server","name":"$_SERVER","description":"Server and execution environment information","tag":"phpdoc:varentry","type":"Variable","methodName":"$_SERVER"},{"id":"reserved.variables.get","name":"$_GET","description":"Query string variables","tag":"phpdoc:varentry","type":"Variable","methodName":"$_GET"},{"id":"reserved.variables.post","name":"$_POST","description":"Form data from HTTP POST requests","tag":"phpdoc:varentry","type":"Variable","methodName":"$_POST"},{"id":"reserved.variables.files","name":"$_FILES","description":"HTTP File Upload variables","tag":"phpdoc:varentry","type":"Variable","methodName":"$_FILES"},{"id":"reserved.variables.request","name":"$_REQUEST","description":"HTTP Request variables","tag":"phpdoc:varentry","type":"Variable","methodName":"$_REQUEST"},{"id":"reserved.variables.session","name":"$_SESSION","description":"Session variables","tag":"phpdoc:varentry","type":"Variable","methodName":"$_SESSION"},{"id":"reserved.variables.environment","name":"$_ENV","description":"Environment variables","tag":"phpdoc:varentry","type":"Variable","methodName":"$_ENV"},{"id":"reserved.variables.cookies","name":"$_COOKIE","description":"HTTP Cookies","tag":"phpdoc:varentry","type":"Variable","methodName":"$_COOKIE"},{"id":"reserved.variables.phperrormsg","name":"$php_errormsg","description":"The previous error message","tag":"phpdoc:varentry","type":"Variable","methodName":"$php_errormsg"},{"id":"reserved.variables.httpresponseheader","name":"$http_response_header","description":"HTTP response headers","tag":"phpdoc:varentry","type":"Variable","methodName":"$http_response_header"},{"id":"reserved.variables.argc","name":"$argc","description":"The number of arguments passed to script","tag":"phpdoc:varentry","type":"Variable","methodName":"$argc"},{"id":"reserved.variables.argv","name":"$argv","description":"Array of arguments passed to script","tag":"phpdoc:varentry","type":"Variable","methodName":"$argv"},{"id":"reserved.variables","name":"Predefined Variables","description":"Language Reference","tag":"reference","type":"Extension","methodName":"Predefined Variables"},{"id":"exception.construct","name":"Exception::__construct","description":"Construct the exception","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"exception.getmessage","name":"Exception::getMessage","description":"Gets the Exception message","tag":"refentry","type":"Function","methodName":"getMessage"},{"id":"exception.getprevious","name":"Exception::getPrevious","description":"Returns previous Throwable","tag":"refentry","type":"Function","methodName":"getPrevious"},{"id":"exception.getcode","name":"Exception::getCode","description":"Gets the Exception code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"exception.getfile","name":"Exception::getFile","description":"Gets the file in which the exception was created","tag":"refentry","type":"Function","methodName":"getFile"},{"id":"exception.getline","name":"Exception::getLine","description":"Gets the line in which the exception was created","tag":"refentry","type":"Function","methodName":"getLine"},{"id":"exception.gettrace","name":"Exception::getTrace","description":"Gets the stack trace","tag":"refentry","type":"Function","methodName":"getTrace"},{"id":"exception.gettraceasstring","name":"Exception::getTraceAsString","description":"Gets the stack trace as a string","tag":"refentry","type":"Function","methodName":"getTraceAsString"},{"id":"exception.tostring","name":"Exception::__toString","description":"String representation of the exception","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"exception.clone","name":"Exception::__clone","description":"Clone the exception","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"class.exception","name":"Exception","description":"Exception","tag":"phpdoc:exceptionref","type":"Exception","methodName":"Exception"},{"id":"errorexception.construct","name":"ErrorException::__construct","description":"Constructs the exception","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"errorexception.getseverity","name":"ErrorException::getSeverity","description":"Gets the exception severity","tag":"refentry","type":"Function","methodName":"getSeverity"},{"id":"class.errorexception","name":"ErrorException","description":"ErrorException","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ErrorException"},{"id":"class.closedgeneratorexception","name":"ClosedGeneratorException","description":"The ClosedGeneratorException class","tag":"phpdoc:classref","type":"Class","methodName":"ClosedGeneratorException"},{"id":"error.construct","name":"Error::__construct","description":"Construct the error object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"error.getmessage","name":"Error::getMessage","description":"Gets the error message","tag":"refentry","type":"Function","methodName":"getMessage"},{"id":"error.getprevious","name":"Error::getPrevious","description":"Returns previous Throwable","tag":"refentry","type":"Function","methodName":"getPrevious"},{"id":"error.getcode","name":"Error::getCode","description":"Gets the error code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"error.getfile","name":"Error::getFile","description":"Gets the file in which the error occurred","tag":"refentry","type":"Function","methodName":"getFile"},{"id":"error.getline","name":"Error::getLine","description":"Gets the line in which the error occurred","tag":"refentry","type":"Function","methodName":"getLine"},{"id":"error.gettrace","name":"Error::getTrace","description":"Gets the stack trace","tag":"refentry","type":"Function","methodName":"getTrace"},{"id":"error.gettraceasstring","name":"Error::getTraceAsString","description":"Gets the stack trace as a string","tag":"refentry","type":"Function","methodName":"getTraceAsString"},{"id":"error.tostring","name":"Error::__toString","description":"String representation of the error","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"error.clone","name":"Error::__clone","description":"Clone the error","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"class.error","name":"Error","description":"Error","tag":"phpdoc:classref","type":"Class","methodName":"Error"},{"id":"class.argumentcounterror","name":"ArgumentCountError","description":"ArgumentCountError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ArgumentCountError"},{"id":"class.arithmeticerror","name":"ArithmeticError","description":"ArithmeticError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ArithmeticError"},{"id":"class.assertionerror","name":"AssertionError","description":"AssertionError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"AssertionError"},{"id":"class.divisionbyzeroerror","name":"DivisionByZeroError","description":"DivisionByZeroError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DivisionByZeroError"},{"id":"class.compileerror","name":"CompileError","description":"CompileError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"CompileError"},{"id":"class.parseerror","name":"ParseError","description":"ParseError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ParseError"},{"id":"class.typeerror","name":"TypeError","description":"TypeError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"TypeError"},{"id":"class.valueerror","name":"ValueError","description":"ValueError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ValueError"},{"id":"class.unhandledmatcherror","name":"UnhandledMatchError","description":"UnhandledMatchError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"UnhandledMatchError"},{"id":"fibererror.construct","name":"FiberError::__construct","description":"Constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.fibererror","name":"FiberError","description":"FiberError","tag":"phpdoc:exceptionref","type":"Exception","methodName":"FiberError"},{"id":"class.requestparsebodyexception","name":"RequestParseBodyException","description":"RequestParseBodyException","tag":"phpdoc:exceptionref","type":"Exception","methodName":"RequestParseBodyException"},{"id":"reserved.exceptions","name":"Predefined Exceptions","description":"Language Reference","tag":"part","type":"General","methodName":"Predefined Exceptions"},{"id":"class.traversable","name":"Traversable","description":"The Traversable interface","tag":"phpdoc:classref","type":"Class","methodName":"Traversable"},{"id":"iterator.current","name":"Iterator::current","description":"Return the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"iterator.key","name":"Iterator::key","description":"Return the key of the current element","tag":"refentry","type":"Function","methodName":"key"},{"id":"iterator.next","name":"Iterator::next","description":"Move forward to next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"iterator.rewind","name":"Iterator::rewind","description":"Rewind the Iterator to the first element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"iterator.valid","name":"Iterator::valid","description":"Checks if current position is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.iterator","name":"Iterator","description":"The Iterator interface","tag":"phpdoc:classref","type":"Class","methodName":"Iterator"},{"id":"iteratoraggregate.getiterator","name":"IteratorAggregate::getIterator","description":"Retrieve an external iterator or traversable","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"class.iteratoraggregate","name":"IteratorAggregate","description":"The IteratorAggregate interface","tag":"phpdoc:classref","type":"Class","methodName":"IteratorAggregate"},{"id":"internaliterator.construct","name":"InternalIterator::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"internaliterator.current","name":"InternalIterator::current","description":"Return the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"internaliterator.key","name":"InternalIterator::key","description":"Return the key of the current element","tag":"refentry","type":"Function","methodName":"key"},{"id":"internaliterator.next","name":"InternalIterator::next","description":"Move forward to next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"internaliterator.rewind","name":"InternalIterator::rewind","description":"Rewind the Iterator to the first element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"internaliterator.valid","name":"InternalIterator::valid","description":"Check if current position is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.internaliterator","name":"InternalIterator","description":"The InternalIterator class","tag":"phpdoc:classref","type":"Class","methodName":"InternalIterator"},{"id":"throwable.getmessage","name":"Throwable::getMessage","description":"Gets the message","tag":"refentry","type":"Function","methodName":"getMessage"},{"id":"throwable.getcode","name":"Throwable::getCode","description":"Gets the exception code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"throwable.getfile","name":"Throwable::getFile","description":"Gets the file in which the object was created","tag":"refentry","type":"Function","methodName":"getFile"},{"id":"throwable.getline","name":"Throwable::getLine","description":"Gets the line on which the object was instantiated","tag":"refentry","type":"Function","methodName":"getLine"},{"id":"throwable.gettrace","name":"Throwable::getTrace","description":"Gets the stack trace","tag":"refentry","type":"Function","methodName":"getTrace"},{"id":"throwable.gettraceasstring","name":"Throwable::getTraceAsString","description":"Gets the stack trace as a string","tag":"refentry","type":"Function","methodName":"getTraceAsString"},{"id":"throwable.getprevious","name":"Throwable::getPrevious","description":"Returns the previous Throwable","tag":"refentry","type":"Function","methodName":"getPrevious"},{"id":"throwable.tostring","name":"Throwable::__toString","description":"Gets a string representation of the thrown object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.throwable","name":"Throwable","description":"Throwable","tag":"phpdoc:classref","type":"Class","methodName":"Throwable"},{"id":"countable.count","name":"Countable::count","description":"Count elements of an object","tag":"refentry","type":"Function","methodName":"count"},{"id":"class.countable","name":"Countable","description":"The Countable interface","tag":"phpdoc:classref","type":"Class","methodName":"Countable"},{"id":"arrayaccess.offsetexists","name":"ArrayAccess::offsetExists","description":"Whether an offset exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"arrayaccess.offsetget","name":"ArrayAccess::offsetGet","description":"Offset to retrieve","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"arrayaccess.offsetset","name":"ArrayAccess::offsetSet","description":"Assign a value to the specified offset","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"arrayaccess.offsetunset","name":"ArrayAccess::offsetUnset","description":"Unset an offset","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"class.arrayaccess","name":"ArrayAccess","description":"The ArrayAccess interface","tag":"phpdoc:classref","type":"Class","methodName":"ArrayAccess"},{"id":"serializable.serialize","name":"Serializable::serialize","description":"String representation of object","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"serializable.unserialize","name":"Serializable::unserialize","description":"Constructs the object","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"class.serializable","name":"Serializable","description":"The Serializable interface","tag":"phpdoc:classref","type":"Class","methodName":"Serializable"},{"id":"closure.construct","name":"Closure::__construct","description":"Constructor that disallows instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"closure.bind","name":"Closure::bind","description":"Duplicates a closure with a specific bound object and class scope","tag":"refentry","type":"Function","methodName":"bind"},{"id":"closure.bindto","name":"Closure::bindTo","description":"Duplicates the closure with a new bound object and class scope","tag":"refentry","type":"Function","methodName":"bindTo"},{"id":"closure.call","name":"Closure::call","description":"Binds and calls the closure","tag":"refentry","type":"Function","methodName":"call"},{"id":"closure.fromcallable","name":"Closure::fromCallable","description":"Converts a callable into a closure","tag":"refentry","type":"Function","methodName":"fromCallable"},{"id":"class.closure","name":"Closure","description":"The Closure class","tag":"phpdoc:classref","type":"Class","methodName":"Closure"},{"id":"class.stdclass","name":"stdClass","description":"The stdClass class","tag":"phpdoc:classref","type":"Class","methodName":"stdClass"},{"id":"generator.current","name":"Generator::current","description":"Get the yielded value","tag":"refentry","type":"Function","methodName":"current"},{"id":"generator.getreturn","name":"Generator::getReturn","description":"Get the return value of a generator","tag":"refentry","type":"Function","methodName":"getReturn"},{"id":"generator.key","name":"Generator::key","description":"Get the yielded key","tag":"refentry","type":"Function","methodName":"key"},{"id":"generator.next","name":"Generator::next","description":"Resume execution of the generator","tag":"refentry","type":"Function","methodName":"next"},{"id":"generator.rewind","name":"Generator::rewind","description":"Rewind the generator to the first yield","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"generator.send","name":"Generator::send","description":"Send a value to the generator","tag":"refentry","type":"Function","methodName":"send"},{"id":"generator.throw","name":"Generator::throw","description":"Throw an exception into the generator","tag":"refentry","type":"Function","methodName":"throw"},{"id":"generator.valid","name":"Generator::valid","description":"Check if the iterator has been closed","tag":"refentry","type":"Function","methodName":"valid"},{"id":"generator.wakeup","name":"Generator::__wakeup","description":"Serialize callback","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"class.generator","name":"Generator","description":"The Generator class","tag":"phpdoc:classref","type":"Class","methodName":"Generator"},{"id":"fiber.construct","name":"Fiber::__construct","description":"Creates a new Fiber instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"fiber.start","name":"Fiber::start","description":"Start execution of the fiber","tag":"refentry","type":"Function","methodName":"start"},{"id":"fiber.resume","name":"Fiber::resume","description":"Resumes execution of the fiber with a value","tag":"refentry","type":"Function","methodName":"resume"},{"id":"fiber.throw","name":"Fiber::throw","description":"Resumes execution of the fiber with an exception","tag":"refentry","type":"Function","methodName":"throw"},{"id":"fiber.getreturn","name":"Fiber::getReturn","description":"Gets the value returned by the Fiber","tag":"refentry","type":"Function","methodName":"getReturn"},{"id":"fiber.isstarted","name":"Fiber::isStarted","description":"Determines if the fiber has started","tag":"refentry","type":"Function","methodName":"isStarted"},{"id":"fiber.issuspended","name":"Fiber::isSuspended","description":"Determines if the fiber is suspended","tag":"refentry","type":"Function","methodName":"isSuspended"},{"id":"fiber.isrunning","name":"Fiber::isRunning","description":"Determines if the fiber is running","tag":"refentry","type":"Function","methodName":"isRunning"},{"id":"fiber.isterminated","name":"Fiber::isTerminated","description":"Determines if the fiber has terminated","tag":"refentry","type":"Function","methodName":"isTerminated"},{"id":"fiber.suspend","name":"Fiber::suspend","description":"Suspends execution of the current fiber","tag":"refentry","type":"Function","methodName":"suspend"},{"id":"fiber.getcurrent","name":"Fiber::getCurrent","description":"Gets the currently executing Fiber instance","tag":"refentry","type":"Function","methodName":"getCurrent"},{"id":"class.fiber","name":"Fiber","description":"The Fiber class","tag":"phpdoc:classref","type":"Class","methodName":"Fiber"},{"id":"weakreference.construct","name":"WeakReference::__construct","description":"Constructor that disallows instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"weakreference.create","name":"WeakReference::create","description":"Create a new weak reference","tag":"refentry","type":"Function","methodName":"create"},{"id":"weakreference.get","name":"WeakReference::get","description":"Get a weakly referenced Object","tag":"refentry","type":"Function","methodName":"get"},{"id":"class.weakreference","name":"WeakReference","description":"The WeakReference class","tag":"phpdoc:classref","type":"Class","methodName":"WeakReference"},{"id":"weakmap.count","name":"WeakMap::count","description":"Counts the number of live entries in the map","tag":"refentry","type":"Function","methodName":"count"},{"id":"weakmap.getiterator","name":"WeakMap::getIterator","description":"Retrieve an external iterator","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"weakmap.offsetexists","name":"WeakMap::offsetExists","description":"Checks whether a certain object is in the map","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"weakmap.offsetget","name":"WeakMap::offsetGet","description":"Returns the value pointed to by a certain object","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"weakmap.offsetset","name":"WeakMap::offsetSet","description":"Updates the map with a new key-value pair","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"weakmap.offsetunset","name":"WeakMap::offsetUnset","description":"Removes an entry from the map","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"class.weakmap","name":"WeakMap","description":"The WeakMap class","tag":"phpdoc:classref","type":"Class","methodName":"WeakMap"},{"id":"stringable.tostring","name":"Stringable::__toString","description":"Gets a string representation of the object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.stringable","name":"Stringable","description":"The Stringable interface","tag":"phpdoc:classref","type":"Class","methodName":"Stringable"},{"id":"unitenum.cases","name":"UnitEnum::cases","description":"Generates a list of cases on an enum","tag":"refentry","type":"Function","methodName":"cases"},{"id":"class.unitenum","name":"UnitEnum","description":"The UnitEnum interface","tag":"phpdoc:classref","type":"Class","methodName":"UnitEnum"},{"id":"backedenum.from","name":"BackedEnum::from","description":"Maps a scalar to an enum instance","tag":"refentry","type":"Function","methodName":"from"},{"id":"backedenum.tryfrom","name":"BackedEnum::tryFrom","description":"Maps a scalar to an enum instance or null","tag":"refentry","type":"Function","methodName":"tryFrom"},{"id":"class.backedenum","name":"BackedEnum","description":"The BackedEnum interface","tag":"phpdoc:classref","type":"Class","methodName":"BackedEnum"},{"id":"sensitiveparametervalue.construct","name":"SensitiveParameterValue::__construct","description":"Constructs a new SensitiveParameterValue object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"sensitiveparametervalue.debuginfo","name":"SensitiveParameterValue::__debugInfo","description":"Protects the sensitive value against accidental exposure","tag":"refentry","type":"Function","methodName":"__debugInfo"},{"id":"sensitiveparametervalue.getvalue","name":"SensitiveParameterValue::getValue","description":"Returns the sensitive value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"class.sensitiveparametervalue","name":"SensitiveParameterValue","description":"The SensitiveParameterValue class","tag":"phpdoc:classref","type":"Class","methodName":"SensitiveParameterValue"},{"id":"class.php-incomplete-class","name":"__PHP_Incomplete_Class","description":"The __PHP_Incomplete_Class class","tag":"phpdoc:classref","type":"Class","methodName":"__PHP_Incomplete_Class"},{"id":"reserved.interfaces","name":"Predefined Interfaces and Classes","description":"Language Reference","tag":"part","type":"General","methodName":"Predefined Interfaces and Classes"},{"id":"attribute.construct","name":"Attribute::__construct","description":"Construct a new Attribute instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.attribute","name":"Attribute","description":"The Attribute attribute","tag":"phpdoc:classref","type":"Class","methodName":"Attribute"},{"id":"allowdynamicproperties.construct","name":"AllowDynamicProperties::__construct","description":"Construct a new AllowDynamicProperties attribute instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.allowdynamicproperties","name":"AllowDynamicProperties","description":"The AllowDynamicProperties attribute","tag":"phpdoc:classref","type":"Class","methodName":"AllowDynamicProperties"},{"id":"deprecated.construct","name":"Deprecated::__construct","description":"Construct a new Deprecated attribute instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.deprecated","name":"Deprecated","description":"The Deprecated attribute","tag":"phpdoc:classref","type":"Class","methodName":"Deprecated"},{"id":"override.construct","name":"Override::__construct","description":"Construct a new Override attribute instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.override","name":"Override","description":"The Override attribute","tag":"phpdoc:classref","type":"Class","methodName":"Override"},{"id":"returntypewillchange.construct","name":"ReturnTypeWillChange::__construct","description":"Construct a new ReturnTypeWillChange attribute instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.returntypewillchange","name":"ReturnTypeWillChange","description":"The ReturnTypeWillChange attribute","tag":"phpdoc:classref","type":"Class","methodName":"ReturnTypeWillChange"},{"id":"sensitiveparameter.construct","name":"SensitiveParameter::__construct","description":"Construct a new SensitiveParameter attribute instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.sensitiveparameter","name":"SensitiveParameter","description":"The SensitiveParameter attribute","tag":"phpdoc:classref","type":"Class","methodName":"SensitiveParameter"},{"id":"reserved.attributes","name":"Predefined Attributes","description":"Language Reference","tag":"part","type":"General","methodName":"Predefined Attributes"},{"id":"context.socket","name":"Socket context options","description":"Socket context option listing","tag":"stream_context_option","type":"General","methodName":"Socket context options"},{"id":"context.http","name":"HTTP context options","description":"HTTP context option listing","tag":"stream_context_option","type":"General","methodName":"HTTP context options"},{"id":"context.ftp","name":"FTP context options","description":"FTP context option listing","tag":"stream_context_option","type":"General","methodName":"FTP context options"},{"id":"context.ssl","name":"SSL context options","description":"SSL context option listing","tag":"stream_context_option","type":"General","methodName":"SSL context options"},{"id":"context.phar","name":"Phar context options","description":"Phar context option listing","tag":"stream_context_option","type":"General","methodName":"Phar context options"},{"id":"context.params","name":"Context parameters","description":"Context parameter listing","tag":"stream_context_option","type":"General","methodName":"Context parameters"},{"id":"context.zip","name":"Zip context options","description":"Zip context option listing","tag":"stream_context_option","type":"General","methodName":"Zip context options"},{"id":"context.zlib","name":"Zlib context options","description":"Zlib context option listing","tag":"stream_context_option","type":"General","methodName":"Zlib context options"},{"id":"context","name":"Context options and parameters","description":"Language Reference","tag":"reference","type":"Extension","methodName":"Context options and parameters"},{"id":"wrappers.file","name":"file:\/\/","description":"Accessing local filesystem","tag":"stream_wrapper","type":"General","methodName":"file:\/\/"},{"id":"wrappers.http","name":"https:\/\/","description":"Accessing HTTP(s) URLs","tag":"stream_wrapper","type":"General","methodName":"https:\/\/"},{"id":"wrappers.http","name":"http:\/\/","description":"Accessing HTTP(s) URLs","tag":"stream_wrapper","type":"General","methodName":"http:\/\/"},{"id":"wrappers.ftp","name":"ftps:\/\/","description":"Accessing FTP(s) URLs","tag":"stream_wrapper","type":"General","methodName":"ftps:\/\/"},{"id":"wrappers.ftp","name":"ftp:\/\/","description":"Accessing FTP(s) URLs","tag":"stream_wrapper","type":"General","methodName":"ftp:\/\/"},{"id":"wrappers.php","name":"php:\/\/","description":"Accessing various I\/O streams","tag":"stream_wrapper","type":"General","methodName":"php:\/\/"},{"id":"wrappers.compression","name":"zip:\/\/","description":"Compression Streams","tag":"stream_wrapper","type":"General","methodName":"zip:\/\/"},{"id":"wrappers.compression","name":"bzip2:\/\/","description":"Compression Streams","tag":"stream_wrapper","type":"General","methodName":"bzip2:\/\/"},{"id":"wrappers.compression","name":"zlib:\/\/","description":"Compression Streams","tag":"stream_wrapper","type":"General","methodName":"zlib:\/\/"},{"id":"wrappers.data","name":"data:\/\/","description":"Data (RFC 2397)","tag":"stream_wrapper","type":"General","methodName":"data:\/\/"},{"id":"wrappers.glob","name":"glob:\/\/","description":"Find pathnames matching pattern","tag":"stream_wrapper","type":"General","methodName":"glob:\/\/"},{"id":"wrappers.phar","name":"phar:\/\/","description":"PHP Archive","tag":"stream_wrapper","type":"General","methodName":"phar:\/\/"},{"id":"wrappers.ssh2","name":"ssh2:\/\/","description":"Secure Shell 2","tag":"stream_wrapper","type":"General","methodName":"ssh2:\/\/"},{"id":"wrappers.rar","name":"rar:\/\/","description":"RAR","tag":"stream_wrapper","type":"General","methodName":"rar:\/\/"},{"id":"wrappers.audio","name":"ogg:\/\/","description":"Audio streams","tag":"stream_wrapper","type":"General","methodName":"ogg:\/\/"},{"id":"wrappers.expect","name":"expect:\/\/","description":"Process Interaction Streams","tag":"stream_wrapper","type":"General","methodName":"expect:\/\/"},{"id":"wrappers","name":"Supported Protocols and Wrappers","description":"Language Reference","tag":"reference","type":"Extension","methodName":"Supported Protocols and Wrappers"},{"id":"langref","name":"Language Reference","description":"PHP Manual","tag":"book","type":"Extension","methodName":"Language Reference"},{"id":"security.intro","name":"Introduction","description":"Security","tag":"chapter","type":"General","methodName":"Introduction"},{"id":"security.general","name":"General considerations","description":"Security","tag":"chapter","type":"General","methodName":"General considerations"},{"id":"security.cgi-bin.attacks","name":"Possible attacks","description":"Security","tag":"sect1","type":"General","methodName":"Possible attacks"},{"id":"security.cgi-bin.default","name":"Case 1: only public files served","description":"Security","tag":"sect1","type":"General","methodName":"Case 1: only public files served"},{"id":"security.cgi-bin.force-redirect","name":"Case 2: using cgi.force_redirect","description":"Security","tag":"sect1","type":"General","methodName":"Case 2: using cgi.force_redirect"},{"id":"security.cgi-bin.doc-root","name":"Case 3: setting doc_root or user_dir","description":"Security","tag":"sect1","type":"General","methodName":"Case 3: setting doc_root or user_dir"},{"id":"security.cgi-bin.shell","name":"Case 4: PHP parser outside of web tree","description":"Security","tag":"sect1","type":"General","methodName":"Case 4: PHP parser outside of web tree"},{"id":"security.cgi-bin","name":"Installed as CGI binary","description":"Security","tag":"chapter","type":"General","methodName":"Installed as CGI binary"},{"id":"security.apache","name":"Installed as an Apache module","description":"Security","tag":"chapter","type":"General","methodName":"Installed as an Apache module"},{"id":"security.sessions","name":"Session Security","description":"Security","tag":"chapter","type":"General","methodName":"Session Security"},{"id":"security.filesystem.nullbytes","name":"Null bytes related issues","description":"Security","tag":"sect1","type":"General","methodName":"Null bytes related issues"},{"id":"security.filesystem","name":"Filesystem Security","description":"Security","tag":"chapter","type":"General","methodName":"Filesystem Security"},{"id":"security.database.design","name":"Designing Databases","description":"Security","tag":"sect1","type":"General","methodName":"Designing Databases"},{"id":"security.database.connection","name":"Connecting to Database","description":"Security","tag":"sect1","type":"General","methodName":"Connecting to Database"},{"id":"security.database.storage","name":"Encrypted Storage Model","description":"Security","tag":"sect1","type":"General","methodName":"Encrypted Storage Model"},{"id":"security.database.sql-injection","name":"SQL Injection","description":"Security","tag":"sect1","type":"General","methodName":"SQL Injection"},{"id":"security.database","name":"Database Security","description":"Security","tag":"chapter","type":"General","methodName":"Database Security"},{"id":"security.errors","name":"Error Reporting","description":"Security","tag":"chapter","type":"General","methodName":"Error Reporting"},{"id":"security.variables","name":"User Submitted Data","description":"Security","tag":"chapter","type":"General","methodName":"User Submitted Data"},{"id":"security.hiding","name":"Hiding PHP","description":"Security","tag":"chapter","type":"General","methodName":"Hiding PHP"},{"id":"security.current","name":"Keeping Current","description":"Security","tag":"chapter","type":"General","methodName":"Keeping Current"},{"id":"security","name":"Security","description":"PHP Manual","tag":"book","type":"Extension","methodName":"Security"},{"id":"features.http-auth","name":"HTTP authentication with PHP","description":"Features","tag":"chapter","type":"General","methodName":"HTTP authentication with PHP"},{"id":"features.cookies","name":"Cookies","description":"Features","tag":"chapter","type":"General","methodName":"Cookies"},{"id":"features.sessions","name":"Sessions","description":"Features","tag":"chapter","type":"General","methodName":"Sessions"},{"id":"features.file-upload.post-method","name":"POST method uploads","description":"Features","tag":"sect1","type":"General","methodName":"POST method uploads"},{"id":"features.file-upload.errors","name":"Error Messages Explained","description":"Features","tag":"sect1","type":"General","methodName":"Error Messages Explained"},{"id":"features.file-upload.common-pitfalls","name":"Common Pitfalls","description":"Features","tag":"sect1","type":"General","methodName":"Common Pitfalls"},{"id":"features.file-upload.multiple","name":"Uploading multiple files","description":"Features","tag":"sect1","type":"General","methodName":"Uploading multiple files"},{"id":"features.file-upload.put-method","name":"PUT method support","description":"Features","tag":"sect1","type":"General","methodName":"PUT method support"},{"id":"features.file-upload.errors.seealso","name":"See Also","description":"Features","tag":"sect1","type":"General","methodName":"See Also"},{"id":"features.file-upload","name":"Handling file uploads","description":"Features","tag":"chapter","type":"General","methodName":"Handling file uploads"},{"id":"features.remote-files","name":"Using remote files","description":"Features","tag":"chapter","type":"General","methodName":"Using remote files"},{"id":"features.connection-handling","name":"Connection handling","description":"Features","tag":"chapter","type":"General","methodName":"Connection handling"},{"id":"features.persistent-connections","name":"Persistent Database Connections","description":"Features","tag":"chapter","type":"General","methodName":"Persistent Database Connections"},{"id":"features.commandline.differences","name":"Differences to other SAPIs","description":"Features","tag":"section","type":"General","methodName":"Differences to other SAPIs"},{"id":"features.commandline.options","name":"Options","description":"Command line options","tag":"section","type":"General","methodName":"Options"},{"id":"features.commandline.usage","name":"Usage","description":"Executing PHP files","tag":"section","type":"General","methodName":"Usage"},{"id":"features.commandline.io-streams","name":"I\/O streams","description":"Input\/output streams","tag":"section","type":"General","methodName":"I\/O streams"},{"id":"features.commandline.interactive","name":"Interactive shell","description":"Features","tag":"section","type":"General","methodName":"Interactive shell"},{"id":"features.commandline.webserver","name":"Built-in web server","description":"Features","tag":"section","type":"General","methodName":"Built-in web server"},{"id":"features.commandline.ini","name":"INI settings","description":"Features","tag":"section","type":"General","methodName":"INI settings"},{"id":"features.commandline","name":"Command line usage","description":"Using PHP from the command line","tag":"chapter","type":"General","methodName":"Command line usage"},{"id":"features.gc.refcounting-basics","name":"Reference Counting Basics","description":"Features","tag":"sect1","type":"General","methodName":"Reference Counting Basics"},{"id":"features.gc.collecting-cycles","name":"Collecting Cycles","description":"Features","tag":"sect1","type":"General","methodName":"Collecting Cycles"},{"id":"features.gc.performance-considerations","name":"Performance Considerations","description":"Features","tag":"sect1","type":"General","methodName":"Performance Considerations"},{"id":"features.gc","name":"Garbage Collection","description":"Features","tag":"chapter","type":"General","methodName":"Garbage Collection"},{"id":"features.dtrace.introduction","name":"Introduction to PHP and DTrace","description":"Features","tag":"sect1","type":"General","methodName":"Introduction to PHP and DTrace"},{"id":"features.dtrace.dtrace","name":"Using PHP and DTrace","description":"Features","tag":"sect1","type":"General","methodName":"Using PHP and DTrace"},{"id":"features.dtrace.systemtap","name":"Using SystemTap with PHP DTrace Static Probes","description":"Features","tag":"sect1","type":"General","methodName":"Using SystemTap with PHP DTrace Static Probes"},{"id":"features.dtrace","name":"DTrace Dynamic Tracing","description":"Features","tag":"chapter","type":"General","methodName":"DTrace Dynamic Tracing"},{"id":"features","name":"Features","description":"PHP Manual","tag":"book","type":"Extension","methodName":"Features"},{"id":"intro.apcu","name":"Introduction","description":"APC User Cache","tag":"preface","type":"General","methodName":"Introduction"},{"id":"apcu.installation","name":"Installation","description":"APC User Cache","tag":"section","type":"General","methodName":"Installation"},{"id":"apcu.configuration","name":"Runtime Configuration","description":"APC User Cache","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"apcu.setup","name":"Installing\/Configuring","description":"APC User Cache","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"apcu.constants","name":"Predefined Constants","description":"APC User Cache","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.apcu-add","name":"apcu_add","description":"Cache a new variable in the data store","tag":"refentry","type":"Function","methodName":"apcu_add"},{"id":"function.apcu-cache-info","name":"apcu_cache_info","description":"Retrieves cached information from APCu's data store","tag":"refentry","type":"Function","methodName":"apcu_cache_info"},{"id":"function.apcu-cas","name":"apcu_cas","description":"Updates an old value with a new value","tag":"refentry","type":"Function","methodName":"apcu_cas"},{"id":"function.apcu-clear-cache","name":"apcu_clear_cache","description":"Clears the APCu cache","tag":"refentry","type":"Function","methodName":"apcu_clear_cache"},{"id":"function.apcu-dec","name":"apcu_dec","description":"Decrease a stored number","tag":"refentry","type":"Function","methodName":"apcu_dec"},{"id":"function.apcu-delete","name":"apcu_delete","description":"Removes a stored variable from the cache","tag":"refentry","type":"Function","methodName":"apcu_delete"},{"id":"function.apcu-enabled","name":"apcu_enabled","description":"Whether APCu is usable in the current environment","tag":"refentry","type":"Function","methodName":"apcu_enabled"},{"id":"function.apcu-entry","name":"apcu_entry","description":"Atomically fetch or generate a cache entry","tag":"refentry","type":"Function","methodName":"apcu_entry"},{"id":"function.apcu-exists","name":"apcu_exists","description":"Checks if entry exists","tag":"refentry","type":"Function","methodName":"apcu_exists"},{"id":"function.apcu-fetch","name":"apcu_fetch","description":"Fetch a stored variable from the cache","tag":"refentry","type":"Function","methodName":"apcu_fetch"},{"id":"function.apcu-inc","name":"apcu_inc","description":"Increase a stored number","tag":"refentry","type":"Function","methodName":"apcu_inc"},{"id":"function.apcu-key-info","name":"apcu_key_info","description":"Get detailed information about the cache key","tag":"refentry","type":"Function","methodName":"apcu_key_info"},{"id":"function.apcu-sma-info","name":"apcu_sma_info","description":"Retrieves APCu Shared Memory Allocation information","tag":"refentry","type":"Function","methodName":"apcu_sma_info"},{"id":"function.apcu-store","name":"apcu_store","description":"Cache a variable in the data store","tag":"refentry","type":"Function","methodName":"apcu_store"},{"id":"ref.apcu","name":"APCu Functions","description":"APC User Cache","tag":"reference","type":"Extension","methodName":"APCu Functions"},{"id":"apcuiterator.construct","name":"APCUIterator::__construct","description":"Constructs an APCUIterator iterator object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"apcuiterator.current","name":"APCUIterator::current","description":"Get current item","tag":"refentry","type":"Function","methodName":"current"},{"id":"apcuiterator.gettotalcount","name":"APCUIterator::getTotalCount","description":"Get total count","tag":"refentry","type":"Function","methodName":"getTotalCount"},{"id":"apcuiterator.gettotalhits","name":"APCUIterator::getTotalHits","description":"Get total cache hits","tag":"refentry","type":"Function","methodName":"getTotalHits"},{"id":"apcuiterator.gettotalsize","name":"APCUIterator::getTotalSize","description":"Get total cache size","tag":"refentry","type":"Function","methodName":"getTotalSize"},{"id":"apcuiterator.key","name":"APCUIterator::key","description":"Get iterator key","tag":"refentry","type":"Function","methodName":"key"},{"id":"apcuiterator.next","name":"APCUIterator::next","description":"Move pointer to next item","tag":"refentry","type":"Function","methodName":"next"},{"id":"apcuiterator.rewind","name":"APCUIterator::rewind","description":"Rewinds iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"apcuiterator.valid","name":"APCUIterator::valid","description":"Checks if current position is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.apcuiterator","name":"APCUIterator","description":"The APCUIterator class","tag":"phpdoc:classref","type":"Class","methodName":"APCUIterator"},{"id":"book.apcu","name":"APCu","description":"APC User Cache","tag":"book","type":"Extension","methodName":"APCu"},{"id":"intro.componere","name":"Introduction","description":"Componere","tag":"preface","type":"General","methodName":"Introduction"},{"id":"componere.requirements","name":"Requirements","description":"Componere","tag":"section","type":"General","methodName":"Requirements"},{"id":"componere.installation","name":"Installation","description":"Componere","tag":"section","type":"General","methodName":"Installation"},{"id":"componere.setup","name":"Installing\/Configuring","description":"Componere","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"componere-abstract-definition.addinterface","name":"Componere\\Abstract\\Definition::addInterface","description":"Add Interface","tag":"refentry","type":"Function","methodName":"addInterface"},{"id":"componere-abstract-definition.addmethod","name":"Componere\\Abstract\\Definition::addMethod","description":"Add Method","tag":"refentry","type":"Function","methodName":"addMethod"},{"id":"componere-abstract-definition.addtrait","name":"Componere\\Abstract\\Definition::addTrait","description":"Add Trait","tag":"refentry","type":"Function","methodName":"addTrait"},{"id":"componere-abstract-definition.getreflector","name":"Componere\\Abstract\\Definition::getReflector","description":"Reflection","tag":"refentry","type":"Function","methodName":"getReflector"},{"id":"class.componere-abstract-definition","name":"Componere\\Abstract\\Definition","description":"The Componere\\Abstract\\Definition class","tag":"phpdoc:classref","type":"Class","methodName":"Componere\\Abstract\\Definition"},{"id":"componere-definition.construct","name":"Componere\\Definition::__construct","description":"Definition Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"componere-definition.addconstant","name":"Componere\\Definition::addConstant","description":"Add Constant","tag":"refentry","type":"Function","methodName":"addConstant"},{"id":"componere-definition.addproperty","name":"Componere\\Definition::addProperty","description":"Add Property","tag":"refentry","type":"Function","methodName":"addProperty"},{"id":"componere-definition.register","name":"Componere\\Definition::register","description":"Registration","tag":"refentry","type":"Function","methodName":"register"},{"id":"componere-definition.isregistered","name":"Componere\\Definition::isRegistered","description":"State Detection","tag":"refentry","type":"Function","methodName":"isRegistered"},{"id":"componere-definition.getclosure","name":"Componere\\Definition::getClosure","description":"Get Closure","tag":"refentry","type":"Function","methodName":"getClosure"},{"id":"componere-definition.getclosures","name":"Componere\\Definition::getClosures","description":"Get Closures","tag":"refentry","type":"Function","methodName":"getClosures"},{"id":"class.componere-definition","name":"Componere\\Definition","description":"The Componere\\Definition class","tag":"phpdoc:classref","type":"Class","methodName":"Componere\\Definition"},{"id":"componere-patch.construct","name":"Componere\\Patch::__construct","description":"Patch Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"componere-patch.apply","name":"Componere\\Patch::apply","description":"Application","tag":"refentry","type":"Function","methodName":"apply"},{"id":"componere-patch.revert","name":"Componere\\Patch::revert","description":"Reversal","tag":"refentry","type":"Function","methodName":"revert"},{"id":"componere-patch.isapplied","name":"Componere\\Patch::isApplied","description":"State Detection","tag":"refentry","type":"Function","methodName":"isApplied"},{"id":"componere-patch.derive","name":"Componere\\Patch::derive","description":"Patch Derivation","tag":"refentry","type":"Function","methodName":"derive"},{"id":"componere-patch.getclosure","name":"Componere\\Patch::getClosure","description":"Get Closure","tag":"refentry","type":"Function","methodName":"getClosure"},{"id":"componere-patch.getclosures","name":"Componere\\Patch::getClosures","description":"Get Closures","tag":"refentry","type":"Function","methodName":"getClosures"},{"id":"class.componere-patch","name":"Componere\\Patch","description":"The Componere\\Patch class","tag":"phpdoc:classref","type":"Class","methodName":"Componere\\Patch"},{"id":"componere-method.construct","name":"Componere\\Method::__construct","description":"Method Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"componere-method.setprivate","name":"Componere\\Method::setPrivate","description":"Accessibility Modification","tag":"refentry","type":"Function","methodName":"setPrivate"},{"id":"componere-method.setprotected","name":"Componere\\Method::setProtected","description":"Accessibility Modification","tag":"refentry","type":"Function","methodName":"setProtected"},{"id":"componere-method.setstatic","name":"Componere\\Method::setStatic","description":"Accessibility Modification","tag":"refentry","type":"Function","methodName":"setStatic"},{"id":"componere-method.getreflector","name":"Componere\\Method::getReflector","description":"Reflection","tag":"refentry","type":"Function","methodName":"getReflector"},{"id":"class.componere-method","name":"Componere\\Method","description":"The Componere\\Method class","tag":"phpdoc:classref","type":"Class","methodName":"Componere\\Method"},{"id":"componere-value.construct","name":"Componere\\Value::__construct","description":"Value Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"componere-value.setprivate","name":"Componere\\Value::setPrivate","description":"Accessibility Modification","tag":"refentry","type":"Function","methodName":"setPrivate"},{"id":"componere-value.setprotected","name":"Componere\\Value::setProtected","description":"Accessibility Modification","tag":"refentry","type":"Function","methodName":"setProtected"},{"id":"componere-value.setstatic","name":"Componere\\Value::setStatic","description":"Accessibility Modification","tag":"refentry","type":"Function","methodName":"setStatic"},{"id":"componere-value.isprivate","name":"Componere\\Value::isPrivate","description":"Accessibility Detection","tag":"refentry","type":"Function","methodName":"isPrivate"},{"id":"componere-value.isprotected","name":"Componere\\Value::isProtected","description":"Accessibility Detection","tag":"refentry","type":"Function","methodName":"isProtected"},{"id":"componere-value.isstatic","name":"Componere\\Value::isStatic","description":"Accessibility Detection","tag":"refentry","type":"Function","methodName":"isStatic"},{"id":"componere-value.hasdefault","name":"Componere\\Value::hasDefault","description":"Value Interaction","tag":"refentry","type":"Function","methodName":"hasDefault"},{"id":"class.componere-value","name":"Componere\\Value","description":"The Componere\\Value class","tag":"phpdoc:classref","type":"Class","methodName":"Componere\\Value"},{"id":"componere.cast","name":"Componere\\cast","description":"Casting","tag":"refentry","type":"Function","methodName":"Componere\\cast"},{"id":"componere.cast_by_ref","name":"Componere\\cast_by_ref","description":"Casting","tag":"refentry","type":"Function","methodName":"Componere\\cast_by_ref"},{"id":"reference.componere","name":"Componere Functions","description":"Componere","tag":"reference","type":"Extension","methodName":"Componere Functions"},{"id":"book.componere","name":"Componere","description":"Componere","tag":"book","type":"Extension","methodName":"Componere"},{"id":"intro.errorfunc","name":"Introduction","description":"Error Handling and Logging","tag":"preface","type":"General","methodName":"Introduction"},{"id":"errorfunc.configuration","name":"Runtime Configuration","description":"Error Handling and Logging","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"errorfunc.setup","name":"Installing\/Configuring","description":"Error Handling and Logging","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"errorfunc.constants","name":"Predefined Constants","description":"Error Handling and Logging","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"errorfunc.examples","name":"Examples","description":"Error Handling and Logging","tag":"appendix","type":"General","methodName":"Examples"},{"id":"function.debug-backtrace","name":"debug_backtrace","description":"Generates a backtrace","tag":"refentry","type":"Function","methodName":"debug_backtrace"},{"id":"function.debug-print-backtrace","name":"debug_print_backtrace","description":"Prints a backtrace","tag":"refentry","type":"Function","methodName":"debug_print_backtrace"},{"id":"function.error-clear-last","name":"error_clear_last","description":"Clear the most recent error","tag":"refentry","type":"Function","methodName":"error_clear_last"},{"id":"function.error-get-last","name":"error_get_last","description":"Get the last occurred error","tag":"refentry","type":"Function","methodName":"error_get_last"},{"id":"function.error-log","name":"error_log","description":"Send an error message to the defined error handling routines","tag":"refentry","type":"Function","methodName":"error_log"},{"id":"function.error-reporting","name":"error_reporting","description":"Sets which PHP errors are reported","tag":"refentry","type":"Function","methodName":"error_reporting"},{"id":"function.get-error-handler","name":"get_error_handler","description":"Gets the user-defined error handler function","tag":"refentry","type":"Function","methodName":"get_error_handler"},{"id":"function.get-exception-handler","name":"get_exception_handler","description":"Gets the user-defined exception handler function","tag":"refentry","type":"Function","methodName":"get_exception_handler"},{"id":"function.restore-error-handler","name":"restore_error_handler","description":"Restores the previous error handler function","tag":"refentry","type":"Function","methodName":"restore_error_handler"},{"id":"function.restore-exception-handler","name":"restore_exception_handler","description":"Restores the previously defined exception handler function","tag":"refentry","type":"Function","methodName":"restore_exception_handler"},{"id":"function.set-error-handler","name":"set_error_handler","description":"Sets a user-defined error handler function","tag":"refentry","type":"Function","methodName":"set_error_handler"},{"id":"function.set-exception-handler","name":"set_exception_handler","description":"Sets a user-defined exception handler function","tag":"refentry","type":"Function","methodName":"set_exception_handler"},{"id":"function.trigger-error","name":"trigger_error","description":"Generates a user-level error\/warning\/notice message","tag":"refentry","type":"Function","methodName":"trigger_error"},{"id":"function.user-error","name":"user_error","description":"Alias of trigger_error","tag":"refentry","type":"Function","methodName":"user_error"},{"id":"ref.errorfunc","name":"Error Handling Functions","description":"Error Handling and Logging","tag":"reference","type":"Extension","methodName":"Error Handling Functions"},{"id":"book.errorfunc","name":"Error Handling","description":"Error Handling and Logging","tag":"book","type":"Extension","methodName":"Error Handling"},{"id":"intro.ffi","name":"Introduction","description":"Foreign Function Interface","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ffi.requirements","name":"Requirements","description":"Foreign Function Interface","tag":"section","type":"General","methodName":"Requirements"},{"id":"ffi.installation","name":"Installation","description":"Foreign Function Interface","tag":"section","type":"General","methodName":"Installation"},{"id":"ffi.configuration","name":"Runtime Configuration","description":"Foreign Function Interface","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"ffi.setup","name":"Installing\/Configuring","description":"Foreign Function Interface","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ffi.examples-basic","name":"Basic FFI usage","description":"Foreign Function Interface","tag":"section","type":"General","methodName":"Basic FFI usage"},{"id":"ffi.examples-callback","name":"PHP Callbacks","description":"Foreign Function Interface","tag":"section","type":"General","methodName":"PHP Callbacks"},{"id":"ffi.examples-complete","name":"A Complete PHP\/FFI\/preloading Example","description":"Foreign Function Interface","tag":"section","type":"General","methodName":"A Complete PHP\/FFI\/preloading Example"},{"id":"ffi.examples","name":"Examples","description":"Foreign Function Interface","tag":"chapter","type":"General","methodName":"Examples"},{"id":"ffi.addr","name":"FFI::addr","description":"Creates an unmanaged pointer to C data","tag":"refentry","type":"Function","methodName":"addr"},{"id":"ffi.alignof","name":"FFI::alignof","description":"Gets the alignment","tag":"refentry","type":"Function","methodName":"alignof"},{"id":"ffi.arraytype","name":"FFI::arrayType","description":"Dynamically constructs a new C array type","tag":"refentry","type":"Function","methodName":"arrayType"},{"id":"ffi.cast","name":"FFI::cast","description":"Performs a C type cast","tag":"refentry","type":"Function","methodName":"cast"},{"id":"ffi.cdef","name":"FFI::cdef","description":"Creates a new FFI object","tag":"refentry","type":"Function","methodName":"cdef"},{"id":"ffi.free","name":"FFI::free","description":"Releases an unmanaged data structure","tag":"refentry","type":"Function","methodName":"free"},{"id":"ffi.isnull","name":"FFI::isNull","description":"Checks whether a FFI\\CData is a null pointer","tag":"refentry","type":"Function","methodName":"isNull"},{"id":"ffi.load","name":"FFI::load","description":"Loads C declarations from a C header file","tag":"refentry","type":"Function","methodName":"load"},{"id":"ffi.memcmp","name":"FFI::memcmp","description":"Compares memory areas","tag":"refentry","type":"Function","methodName":"memcmp"},{"id":"ffi.memcpy","name":"FFI::memcpy","description":"Copies one memory area to another","tag":"refentry","type":"Function","methodName":"memcpy"},{"id":"ffi.memset","name":"FFI::memset","description":"Fills a memory area","tag":"refentry","type":"Function","methodName":"memset"},{"id":"ffi.new","name":"FFI::new","description":"Creates a C data structure","tag":"refentry","type":"Function","methodName":"new"},{"id":"ffi.scope","name":"FFI::scope","description":"Instantiates an FFI object with C declarations parsed during preloading","tag":"refentry","type":"Function","methodName":"scope"},{"id":"ffi.sizeof","name":"FFI::sizeof","description":"Gets the size of C data or types","tag":"refentry","type":"Function","methodName":"sizeof"},{"id":"ffi.string","name":"FFI::string","description":"Creates a PHP string from a memory area","tag":"refentry","type":"Function","methodName":"string"},{"id":"ffi.type","name":"FFI::type","description":"Creates an FFI\\CType object from a C declaration","tag":"refentry","type":"Function","methodName":"type"},{"id":"ffi.typeof","name":"FFI::typeof","description":"Gets the FFI\\CType of FFI\\CData","tag":"refentry","type":"Function","methodName":"typeof"},{"id":"class.ffi","name":"FFI","description":"Main interface to C code and data","tag":"phpdoc:classref","type":"Class","methodName":"FFI"},{"id":"class.ffi-cdata","name":"FFI\\CData","description":"C Data Handles","tag":"phpdoc:classref","type":"Class","methodName":"FFI\\CData"},{"id":"ffi-ctype.getalignment","name":"FFI\\CType::getAlignment","description":"Description","tag":"refentry","type":"Function","methodName":"getAlignment"},{"id":"ffi-ctype.getarrayelementtype","name":"FFI\\CType::getArrayElementType","description":"Description","tag":"refentry","type":"Function","methodName":"getArrayElementType"},{"id":"ffi-ctype.getarraylength","name":"FFI\\CType::getArrayLength","description":"Description","tag":"refentry","type":"Function","methodName":"getArrayLength"},{"id":"ffi-ctype.getattributes","name":"FFI\\CType::getAttributes","description":"Description","tag":"refentry","type":"Function","methodName":"getAttributes"},{"id":"ffi-ctype.getenumkind","name":"FFI\\CType::getEnumKind","description":"Description","tag":"refentry","type":"Function","methodName":"getEnumKind"},{"id":"ffi-ctype.getfuncabi","name":"FFI\\CType::getFuncABI","description":"Description","tag":"refentry","type":"Function","methodName":"getFuncABI"},{"id":"ffi-ctype.getfuncparametercount","name":"FFI\\CType::getFuncParameterCount","description":"Retrieve the count of parameters of a function type","tag":"refentry","type":"Function","methodName":"getFuncParameterCount"},{"id":"ffi-ctype.getfuncparametertype","name":"FFI\\CType::getFuncParameterType","description":"Retrieve the type of a function parameter","tag":"refentry","type":"Function","methodName":"getFuncParameterType"},{"id":"ffi-ctype.getfuncreturntype","name":"FFI\\CType::getFuncReturnType","description":"Description","tag":"refentry","type":"Function","methodName":"getFuncReturnType"},{"id":"ffi-ctype.getkind","name":"FFI\\CType::getKind","description":"Description","tag":"refentry","type":"Function","methodName":"getKind"},{"id":"ffi-ctype.getname","name":"FFI\\CType::getName","description":"Description","tag":"refentry","type":"Function","methodName":"getName"},{"id":"ffi-ctype.getpointertype","name":"FFI\\CType::getPointerType","description":"Description","tag":"refentry","type":"Function","methodName":"getPointerType"},{"id":"ffi-ctype.getsize","name":"FFI\\CType::getSize","description":"Description","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"ffi-ctype.getstructfieldnames","name":"FFI\\CType::getStructFieldNames","description":"Description","tag":"refentry","type":"Function","methodName":"getStructFieldNames"},{"id":"ffi-ctype.getstructfieldoffset","name":"FFI\\CType::getStructFieldOffset","description":"Description","tag":"refentry","type":"Function","methodName":"getStructFieldOffset"},{"id":"ffi-ctype.getstructfieldtype","name":"FFI\\CType::getStructFieldType","description":"Description","tag":"refentry","type":"Function","methodName":"getStructFieldType"},{"id":"class.ffi-ctype","name":"FFI\\CType","description":"C Type Handles","tag":"phpdoc:classref","type":"Class","methodName":"FFI\\CType"},{"id":"class.ffi-exception","name":"FFI\\Exception","description":"FFI Exceptions","tag":"phpdoc:classref","type":"Class","methodName":"FFI\\Exception"},{"id":"class.ffi-parserexception","name":"FFI\\ParserException","description":"FFI Parser Exceptions","tag":"phpdoc:classref","type":"Class","methodName":"FFI\\ParserException"},{"id":"book.ffi","name":"FFI","description":"Foreign Function Interface","tag":"book","type":"Extension","methodName":"FFI"},{"id":"intro.opcache","name":"Introduction","description":"OPcache","tag":"preface","type":"General","methodName":"Introduction"},{"id":"opcache.installation","name":"Installation","description":"OPcache","tag":"sect1","type":"General","methodName":"Installation"},{"id":"opcache.configuration","name":"Runtime Configuration","description":"OPcache","tag":"sect1","type":"General","methodName":"Runtime Configuration"},{"id":"opcache.setup","name":"Installing\/Configuring","description":"OPcache","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"opcache.preloading","name":"Preloading","description":"OPcache","tag":"chapter","type":"General","methodName":"Preloading"},{"id":"function.opcache-compile-file","name":"opcache_compile_file","description":"Compiles and caches a PHP script without executing it","tag":"refentry","type":"Function","methodName":"opcache_compile_file"},{"id":"function.opcache-get-configuration","name":"opcache_get_configuration","description":"Get configuration information about the cache","tag":"refentry","type":"Function","methodName":"opcache_get_configuration"},{"id":"function.opcache-get-status","name":"opcache_get_status","description":"Get status information about the cache","tag":"refentry","type":"Function","methodName":"opcache_get_status"},{"id":"function.opcache-invalidate","name":"opcache_invalidate","description":"Invalidates a cached script","tag":"refentry","type":"Function","methodName":"opcache_invalidate"},{"id":"function.opcache-is-script-cached","name":"opcache_is_script_cached","description":"Tells whether a script is cached in OPCache","tag":"refentry","type":"Function","methodName":"opcache_is_script_cached"},{"id":"function.opcache-reset","name":"opcache_reset","description":"Resets the contents of the opcode cache","tag":"refentry","type":"Function","methodName":"opcache_reset"},{"id":"ref.opcache","name":"OPcache Functions","description":"OPcache","tag":"reference","type":"Extension","methodName":"OPcache Functions"},{"id":"book.opcache","name":"OPcache","description":"Affecting PHP's Behaviour","tag":"book","type":"Extension","methodName":"OPcache"},{"id":"intro.outcontrol","name":"Introduction","description":"Output Buffering Control","tag":"preface","type":"General","methodName":"Introduction"},{"id":"outcontrol.configuration","name":"Runtime Configuration","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"outcontrol.setup","name":"Installing\/Configuring","description":"Output Buffering Control","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"outcontrol.constants","name":"Predefined Constants","description":"Output Buffering Control","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"outcontrol.output-buffering","name":"Output Buffering","description":"Output Buffering Control","tag":"chapter","type":"General","methodName":"Output Buffering"},{"id":"outcontrol.flushing-system-buffers","name":"Flushing System Buffers","description":"Output Buffering Control","tag":"chapter","type":"General","methodName":"Flushing System Buffers"},{"id":"outcontrol.what-output-is-buffered","name":"What Output Is Buffered?","description":"Output Buffering Control","tag":"section","type":"General","methodName":"What Output Is Buffered?"},{"id":"outcontrol.nesting-output-buffers","name":"Nesting Output Buffers","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Nesting Output Buffers"},{"id":"outcontrol.buffer-size","name":"Buffer Size","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Buffer Size"},{"id":"outcontrol.operations-on-buffers","name":"Operations Allowed On Buffers","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Operations Allowed On Buffers"},{"id":"outcontrol.output-handlers","name":"Output Handlers","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Output Handlers"},{"id":"outcontrol.working-with-output-handlers","name":"Working With Output Handlers","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Working With Output Handlers"},{"id":"outcontrol.flags-passed-to-output-handlers","name":"Flags Passed To Output Handlers","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Flags Passed To Output Handlers"},{"id":"outcontrol.output-handler-return-values","name":"Output Handler Return Values","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Output Handler Return Values"},{"id":"outcontrol.user-level-output-buffers","name":"User-Level Output Buffers","description":"Output Buffering Control","tag":"chapter","type":"General","methodName":"User-Level Output Buffers"},{"id":"outcontrol.examples.basic","name":"Basic usage","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Basic usage"},{"id":"outcontrol.examples.rewrite","name":"Output rewrite usage","description":"Output Buffering Control","tag":"section","type":"General","methodName":"Output rewrite usage"},{"id":"outcontrol.examples","name":"Examples","description":"Output Buffering Control","tag":"appendix","type":"General","methodName":"Examples"},{"id":"function.flush","name":"flush","description":"Flush system output buffer","tag":"refentry","type":"Function","methodName":"flush"},{"id":"function.ob-clean","name":"ob_clean","description":"Clean (erase) the contents of the active output buffer","tag":"refentry","type":"Function","methodName":"ob_clean"},{"id":"function.ob-end-clean","name":"ob_end_clean","description":"Clean (erase) the contents of the active output buffer and turn it off","tag":"refentry","type":"Function","methodName":"ob_end_clean"},{"id":"function.ob-end-flush","name":"ob_end_flush","description":"Flush (send) the return value of the active output handler\n and turn the active output buffer off","tag":"refentry","type":"Function","methodName":"ob_end_flush"},{"id":"function.ob-flush","name":"ob_flush","description":"Flush (send) the return value of the active output handler","tag":"refentry","type":"Function","methodName":"ob_flush"},{"id":"function.ob-get-clean","name":"ob_get_clean","description":"Get the contents of the active output buffer and turn it off","tag":"refentry","type":"Function","methodName":"ob_get_clean"},{"id":"function.ob-get-contents","name":"ob_get_contents","description":"Return the contents of the output buffer","tag":"refentry","type":"Function","methodName":"ob_get_contents"},{"id":"function.ob-get-flush","name":"ob_get_flush","description":"Flush (send) the return value of the active output handler,\n return the contents of the active output buffer and turn it off","tag":"refentry","type":"Function","methodName":"ob_get_flush"},{"id":"function.ob-get-length","name":"ob_get_length","description":"Return the length of the output buffer","tag":"refentry","type":"Function","methodName":"ob_get_length"},{"id":"function.ob-get-level","name":"ob_get_level","description":"Return the nesting level of the output buffering mechanism","tag":"refentry","type":"Function","methodName":"ob_get_level"},{"id":"function.ob-get-status","name":"ob_get_status","description":"Get status of output buffers","tag":"refentry","type":"Function","methodName":"ob_get_status"},{"id":"function.ob-implicit-flush","name":"ob_implicit_flush","description":"Turn implicit flush on\/off","tag":"refentry","type":"Function","methodName":"ob_implicit_flush"},{"id":"function.ob-list-handlers","name":"ob_list_handlers","description":"List all output handlers in use","tag":"refentry","type":"Function","methodName":"ob_list_handlers"},{"id":"function.ob-start","name":"ob_start","description":"Turn on output buffering","tag":"refentry","type":"Function","methodName":"ob_start"},{"id":"function.output-add-rewrite-var","name":"output_add_rewrite_var","description":"Add URL rewriter values","tag":"refentry","type":"Function","methodName":"output_add_rewrite_var"},{"id":"function.output-reset-rewrite-vars","name":"output_reset_rewrite_vars","description":"Reset URL rewriter values","tag":"refentry","type":"Function","methodName":"output_reset_rewrite_vars"},{"id":"ref.outcontrol","name":"Output Control Functions","description":"Output Buffering Control","tag":"reference","type":"Extension","methodName":"Output Control Functions"},{"id":"book.outcontrol","name":"Output Control","description":"Output Buffering Control","tag":"book","type":"Extension","methodName":"Output Control"},{"id":"intro.info","name":"Introduction","description":"PHP Options and Information","tag":"preface","type":"General","methodName":"Introduction"},{"id":"info.configuration","name":"Runtime Configuration","description":"PHP Options and Information","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"info.setup","name":"Installing\/Configuring","description":"PHP Options and Information","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"info.constants","name":"Predefined Constants","description":"PHP Options and Information","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.assert","name":"assert","description":"Checks an assertion","tag":"refentry","type":"Function","methodName":"assert"},{"id":"function.assert-options","name":"assert_options","description":"Set\/get the various assert flags","tag":"refentry","type":"Function","methodName":"assert_options"},{"id":"function.cli-get-process-title","name":"cli_get_process_title","description":"Returns the current process title","tag":"refentry","type":"Function","methodName":"cli_get_process_title"},{"id":"function.cli-set-process-title","name":"cli_set_process_title","description":"Sets the process title","tag":"refentry","type":"Function","methodName":"cli_set_process_title"},{"id":"function.dl","name":"dl","description":"Loads a PHP extension at runtime","tag":"refentry","type":"Function","methodName":"dl"},{"id":"function.extension-loaded","name":"extension_loaded","description":"Find out whether an extension is loaded","tag":"refentry","type":"Function","methodName":"extension_loaded"},{"id":"function.gc-collect-cycles","name":"gc_collect_cycles","description":"Forces collection of any existing garbage cycles","tag":"refentry","type":"Function","methodName":"gc_collect_cycles"},{"id":"function.gc-disable","name":"gc_disable","description":"Deactivates the circular reference collector","tag":"refentry","type":"Function","methodName":"gc_disable"},{"id":"function.gc-enable","name":"gc_enable","description":"Activates the circular reference collector","tag":"refentry","type":"Function","methodName":"gc_enable"},{"id":"function.gc-enabled","name":"gc_enabled","description":"Returns status of the circular reference collector","tag":"refentry","type":"Function","methodName":"gc_enabled"},{"id":"function.gc-mem-caches","name":"gc_mem_caches","description":"Reclaims memory used by the Zend Engine memory manager","tag":"refentry","type":"Function","methodName":"gc_mem_caches"},{"id":"function.gc-status","name":"gc_status","description":"Gets information about the garbage collector","tag":"refentry","type":"Function","methodName":"gc_status"},{"id":"function.get-cfg-var","name":"get_cfg_var","description":"Gets the value of a PHP configuration option","tag":"refentry","type":"Function","methodName":"get_cfg_var"},{"id":"function.get-current-user","name":"get_current_user","description":"Gets the name of the owner of the current PHP script","tag":"refentry","type":"Function","methodName":"get_current_user"},{"id":"function.get-defined-constants","name":"get_defined_constants","description":"Returns an associative array with the names of all the constants and their values","tag":"refentry","type":"Function","methodName":"get_defined_constants"},{"id":"function.get-extension-funcs","name":"get_extension_funcs","description":"Returns an array with the names of the functions of a module","tag":"refentry","type":"Function","methodName":"get_extension_funcs"},{"id":"function.get-include-path","name":"get_include_path","description":"Gets the current include_path configuration option","tag":"refentry","type":"Function","methodName":"get_include_path"},{"id":"function.get-included-files","name":"get_included_files","description":"Returns an array with the names of included or required files","tag":"refentry","type":"Function","methodName":"get_included_files"},{"id":"function.get-loaded-extensions","name":"get_loaded_extensions","description":"Returns an array with the names of all modules compiled and loaded","tag":"refentry","type":"Function","methodName":"get_loaded_extensions"},{"id":"function.get-magic-quotes-gpc","name":"get_magic_quotes_gpc","description":"Gets the current configuration setting of magic_quotes_gpc","tag":"refentry","type":"Function","methodName":"get_magic_quotes_gpc"},{"id":"function.get-magic-quotes-runtime","name":"get_magic_quotes_runtime","description":"Gets the current active configuration setting of magic_quotes_runtime","tag":"refentry","type":"Function","methodName":"get_magic_quotes_runtime"},{"id":"function.get-required-files","name":"get_required_files","description":"Alias of get_included_files","tag":"refentry","type":"Function","methodName":"get_required_files"},{"id":"function.get-resources","name":"get_resources","description":"Returns active resources","tag":"refentry","type":"Function","methodName":"get_resources"},{"id":"function.getenv","name":"getenv","description":"Gets the value of a single or all environment variables","tag":"refentry","type":"Function","methodName":"getenv"},{"id":"function.getlastmod","name":"getlastmod","description":"Gets time of last page modification","tag":"refentry","type":"Function","methodName":"getlastmod"},{"id":"function.getmygid","name":"getmygid","description":"Get PHP script owner's GID","tag":"refentry","type":"Function","methodName":"getmygid"},{"id":"function.getmyinode","name":"getmyinode","description":"Gets the inode of the current script","tag":"refentry","type":"Function","methodName":"getmyinode"},{"id":"function.getmypid","name":"getmypid","description":"Gets PHP's process ID","tag":"refentry","type":"Function","methodName":"getmypid"},{"id":"function.getmyuid","name":"getmyuid","description":"Gets PHP script owner's UID","tag":"refentry","type":"Function","methodName":"getmyuid"},{"id":"function.getopt","name":"getopt","description":"Gets options from the command line argument list","tag":"refentry","type":"Function","methodName":"getopt"},{"id":"function.getrusage","name":"getrusage","description":"Gets the current resource usages","tag":"refentry","type":"Function","methodName":"getrusage"},{"id":"function.ini-alter","name":"ini_alter","description":"Alias of ini_set","tag":"refentry","type":"Function","methodName":"ini_alter"},{"id":"function.ini-get","name":"ini_get","description":"Gets the value of a configuration option","tag":"refentry","type":"Function","methodName":"ini_get"},{"id":"function.ini-get-all","name":"ini_get_all","description":"Gets all configuration options","tag":"refentry","type":"Function","methodName":"ini_get_all"},{"id":"function.ini-parse-quantity","name":"ini_parse_quantity","description":"Get interpreted size from ini shorthand syntax","tag":"refentry","type":"Function","methodName":"ini_parse_quantity"},{"id":"function.ini-restore","name":"ini_restore","description":"Restores the value of a configuration option","tag":"refentry","type":"Function","methodName":"ini_restore"},{"id":"function.ini-set","name":"ini_set","description":"Sets the value of a configuration option","tag":"refentry","type":"Function","methodName":"ini_set"},{"id":"function.memory-get-peak-usage","name":"memory_get_peak_usage","description":"Returns the peak of memory allocated by PHP","tag":"refentry","type":"Function","methodName":"memory_get_peak_usage"},{"id":"function.memory-get-usage","name":"memory_get_usage","description":"Returns the amount of memory allocated to PHP","tag":"refentry","type":"Function","methodName":"memory_get_usage"},{"id":"function.memory-reset-peak-usage","name":"memory_reset_peak_usage","description":"Reset the peak memory usage","tag":"refentry","type":"Function","methodName":"memory_reset_peak_usage"},{"id":"function.php-ini-loaded-file","name":"php_ini_loaded_file","description":"Retrieve a path to the loaded php.ini file","tag":"refentry","type":"Function","methodName":"php_ini_loaded_file"},{"id":"function.php-ini-scanned-files","name":"php_ini_scanned_files","description":"Return a list of .ini files parsed from the additional ini dir","tag":"refentry","type":"Function","methodName":"php_ini_scanned_files"},{"id":"function.php-sapi-name","name":"php_sapi_name","description":"Returns the type of interface between web server and PHP","tag":"refentry","type":"Function","methodName":"php_sapi_name"},{"id":"function.php-uname","name":"php_uname","description":"Returns information about the operating system PHP is running on","tag":"refentry","type":"Function","methodName":"php_uname"},{"id":"function.phpcredits","name":"phpcredits","description":"Prints out the credits for PHP","tag":"refentry","type":"Function","methodName":"phpcredits"},{"id":"function.phpinfo","name":"phpinfo","description":"Outputs information about PHP's configuration","tag":"refentry","type":"Function","methodName":"phpinfo"},{"id":"function.phpversion","name":"phpversion","description":"Gets the current PHP version","tag":"refentry","type":"Function","methodName":"phpversion"},{"id":"function.putenv","name":"putenv","description":"Sets the value of an environment variable","tag":"refentry","type":"Function","methodName":"putenv"},{"id":"function.restore-include-path","name":"restore_include_path","description":"Restores the value of the include_path configuration option","tag":"refentry","type":"Function","methodName":"restore_include_path"},{"id":"function.set-include-path","name":"set_include_path","description":"Sets the include_path configuration option","tag":"refentry","type":"Function","methodName":"set_include_path"},{"id":"function.set-time-limit","name":"set_time_limit","description":"Limits the maximum execution time","tag":"refentry","type":"Function","methodName":"set_time_limit"},{"id":"function.sys-get-temp-dir","name":"sys_get_temp_dir","description":"Returns directory path used for temporary files","tag":"refentry","type":"Function","methodName":"sys_get_temp_dir"},{"id":"function.version-compare","name":"version_compare","description":"Compares two \"PHP-standardized\" version number strings","tag":"refentry","type":"Function","methodName":"version_compare"},{"id":"function.zend-thread-id","name":"zend_thread_id","description":"Returns a unique identifier for the current thread","tag":"refentry","type":"Function","methodName":"zend_thread_id"},{"id":"function.zend-version","name":"zend_version","description":"Gets the version of the current Zend engine","tag":"refentry","type":"Function","methodName":"zend_version"},{"id":"ref.info","name":"PHP Options\/Info Functions","description":"PHP Options and Information","tag":"reference","type":"Extension","methodName":"PHP Options\/Info Functions"},{"id":"book.info","name":"PHP Options\/Info","description":"PHP Options and Information","tag":"book","type":"Extension","methodName":"PHP Options\/Info"},{"id":"intro.phpdbg","name":"Introduction","description":"Interactive PHP Debugger","tag":"preface","type":"General","methodName":"Introduction"},{"id":"phpdbg.configuration","name":"Runtime Configuration","description":"Interactive PHP Debugger","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"phpdbg.setup","name":"Installing\/Configuring","description":"Interactive PHP Debugger","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"phpdbg.constants","name":"Predefined Constants","description":"Interactive PHP Debugger","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.phpdbg-break-file","name":"phpdbg_break_file","description":"Inserts a breakpoint at a line in a file","tag":"refentry","type":"Function","methodName":"phpdbg_break_file"},{"id":"function.phpdbg-break-function","name":"phpdbg_break_function","description":"Inserts a breakpoint at entry to a function","tag":"refentry","type":"Function","methodName":"phpdbg_break_function"},{"id":"function.phpdbg-break-method","name":"phpdbg_break_method","description":"Inserts a breakpoint at entry to a method","tag":"refentry","type":"Function","methodName":"phpdbg_break_method"},{"id":"function.phpdbg-break-next","name":"phpdbg_break_next","description":"Inserts a breakpoint at the next opcode","tag":"refentry","type":"Function","methodName":"phpdbg_break_next"},{"id":"function.phpdbg-clear","name":"phpdbg_clear","description":"Clears all breakpoints","tag":"refentry","type":"Function","methodName":"phpdbg_clear"},{"id":"function.phpdbg-color","name":"phpdbg_color","description":"Sets the color of certain elements","tag":"refentry","type":"Function","methodName":"phpdbg_color"},{"id":"function.phpdbg-end-oplog","name":"phpdbg_end_oplog","description":"Ends an oplog","tag":"refentry","type":"Function","methodName":"phpdbg_end_oplog"},{"id":"function.phpdbg-exec","name":"phpdbg_exec","description":"Attempts to set the execution context","tag":"refentry","type":"Function","methodName":"phpdbg_exec"},{"id":"function.phpdbg-get-executable","name":"phpdbg_get_executable","description":"Gets executable","tag":"refentry","type":"Function","methodName":"phpdbg_get_executable"},{"id":"function.phpdbg-prompt","name":"phpdbg_prompt","description":"Sets the command prompt","tag":"refentry","type":"Function","methodName":"phpdbg_prompt"},{"id":"function.phpdbg-start-oplog","name":"phpdbg_start_oplog","description":"Starts an oplog","tag":"refentry","type":"Function","methodName":"phpdbg_start_oplog"},{"id":"ref.phpdbg","name":"phpdbg Functions","description":"Interactive PHP Debugger","tag":"reference","type":"Extension","methodName":"phpdbg Functions"},{"id":"book.phpdbg","name":"phpdbg","description":"Interactive PHP Debugger","tag":"book","type":"Extension","methodName":"phpdbg"},{"id":"intro.runkit7","name":"Introduction","description":"runkit7","tag":"preface","type":"General","methodName":"Introduction"},{"id":"runkit7.requirements","name":"Requirements","description":"runkit7","tag":"section","type":"General","methodName":"Requirements"},{"id":"runkit7.installation","name":"Installation","description":"runkit7","tag":"section","type":"General","methodName":"Installation"},{"id":"runkit7.configuration","name":"Runtime Configuration","description":"runkit7","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"runkit7.setup","name":"Installing\/Configuring","description":"runkit7","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"runkit7.constants","name":"Predefined Constants","description":"runkit7","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.runkit7-constant-add","name":"runkit7_constant_add","description":"Similar to define(), but allows defining in class definitions as well","tag":"refentry","type":"Function","methodName":"runkit7_constant_add"},{"id":"function.runkit7-constant-redefine","name":"runkit7_constant_redefine","description":"Redefine an already defined constant","tag":"refentry","type":"Function","methodName":"runkit7_constant_redefine"},{"id":"function.runkit7-constant-remove","name":"runkit7_constant_remove","description":"Remove\/Delete an already defined constant","tag":"refentry","type":"Function","methodName":"runkit7_constant_remove"},{"id":"function.runkit7-function-add","name":"runkit7_function_add","description":"Add a new function, similar to create_function","tag":"refentry","type":"Function","methodName":"runkit7_function_add"},{"id":"function.runkit7-function-copy","name":"runkit7_function_copy","description":"Copy a function to a new function name","tag":"refentry","type":"Function","methodName":"runkit7_function_copy"},{"id":"function.runkit7-function-redefine","name":"runkit7_function_redefine","description":"Replace a function definition with a new implementation","tag":"refentry","type":"Function","methodName":"runkit7_function_redefine"},{"id":"function.runkit7-function-remove","name":"runkit7_function_remove","description":"Remove a function definition","tag":"refentry","type":"Function","methodName":"runkit7_function_remove"},{"id":"function.runkit7-function-rename","name":"runkit7_function_rename","description":"Change a function's name","tag":"refentry","type":"Function","methodName":"runkit7_function_rename"},{"id":"function.runkit7-import","name":"runkit7_import","description":"Process a PHP file importing function and class definitions, overwriting where appropriate","tag":"refentry","type":"Function","methodName":"runkit7_import"},{"id":"function.runkit7-method-add","name":"runkit7_method_add","description":"Dynamically adds a new method to a given class","tag":"refentry","type":"Function","methodName":"runkit7_method_add"},{"id":"function.runkit7-method-copy","name":"runkit7_method_copy","description":"Copies a method from class to another","tag":"refentry","type":"Function","methodName":"runkit7_method_copy"},{"id":"function.runkit7-method-redefine","name":"runkit7_method_redefine","description":"Dynamically changes the code of the given method","tag":"refentry","type":"Function","methodName":"runkit7_method_redefine"},{"id":"function.runkit7-method-remove","name":"runkit7_method_remove","description":"Dynamically removes the given method","tag":"refentry","type":"Function","methodName":"runkit7_method_remove"},{"id":"function.runkit7-method-rename","name":"runkit7_method_rename","description":"Dynamically changes the name of the given method","tag":"refentry","type":"Function","methodName":"runkit7_method_rename"},{"id":"function.runkit7-object-id","name":"runkit7_object_id","description":"Return the integer object handle for given object","tag":"refentry","type":"Function","methodName":"runkit7_object_id"},{"id":"function.runkit7-superglobals","name":"runkit7_superglobals","description":"Return numerically indexed array of registered superglobals","tag":"refentry","type":"Function","methodName":"runkit7_superglobals"},{"id":"function.runkit7-zval-inspect","name":"runkit7_zval_inspect","description":"Returns information about the passed in value with data types, reference counts, etc","tag":"refentry","type":"Function","methodName":"runkit7_zval_inspect"},{"id":"ref.runkit7","name":"runkit7 Functions","description":"runkit7","tag":"reference","type":"Extension","methodName":"runkit7 Functions"},{"id":"book.runkit7","name":"runkit7","description":"runkit7","tag":"book","type":"Extension","methodName":"runkit7"},{"id":"intro.uopz","name":"Introduction","description":"User Operations for Zend","tag":"preface","type":"General","methodName":"Introduction"},{"id":"uopz.requirements","name":"Requirements","description":"User Operations for Zend","tag":"section","type":"General","methodName":"Requirements"},{"id":"uopz.installation","name":"Installation","description":"User Operations for Zend","tag":"section","type":"General","methodName":"Installation"},{"id":"uopz.configuration","name":"Runtime Configuration","description":"User Operations for Zend","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"uopz.setup","name":"Installing\/Configuring","description":"User Operations for Zend","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"uopz.constants","name":"Predefined Constants","description":"User Operations for Zend","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.uopz-add-function","name":"uopz_add_function","description":"Adds non-existent function or method","tag":"refentry","type":"Function","methodName":"uopz_add_function"},{"id":"function.uopz-allow-exit","name":"uopz_allow_exit","description":"Allows control over disabled exit opcode","tag":"refentry","type":"Function","methodName":"uopz_allow_exit"},{"id":"function.uopz-backup","name":"uopz_backup","description":"Backup a function","tag":"refentry","type":"Function","methodName":"uopz_backup"},{"id":"function.uopz-compose","name":"uopz_compose","description":"Compose a class","tag":"refentry","type":"Function","methodName":"uopz_compose"},{"id":"function.uopz-copy","name":"uopz_copy","description":"Copy a function","tag":"refentry","type":"Function","methodName":"uopz_copy"},{"id":"function.uopz-del-function","name":"uopz_del_function","description":"Deletes previously added function or method","tag":"refentry","type":"Function","methodName":"uopz_del_function"},{"id":"function.uopz-delete","name":"uopz_delete","description":"Delete a function","tag":"refentry","type":"Function","methodName":"uopz_delete"},{"id":"function.uopz-extend","name":"uopz_extend","description":"Extend a class at runtime","tag":"refentry","type":"Function","methodName":"uopz_extend"},{"id":"function.uopz-flags","name":"uopz_flags","description":"Get or set flags on function or class","tag":"refentry","type":"Function","methodName":"uopz_flags"},{"id":"function.uopz-function","name":"uopz_function","description":"Creates a function at runtime","tag":"refentry","type":"Function","methodName":"uopz_function"},{"id":"function.uopz-get-exit-status","name":"uopz_get_exit_status","description":"Retrieve the last set exit status","tag":"refentry","type":"Function","methodName":"uopz_get_exit_status"},{"id":"function.uopz-get-hook","name":"uopz_get_hook","description":"Gets previously set hook on function or method","tag":"refentry","type":"Function","methodName":"uopz_get_hook"},{"id":"function.uopz-get-mock","name":"uopz_get_mock","description":"Get the current mock for a class","tag":"refentry","type":"Function","methodName":"uopz_get_mock"},{"id":"function.uopz-get-property","name":"uopz_get_property","description":"Gets value of class or instance property","tag":"refentry","type":"Function","methodName":"uopz_get_property"},{"id":"function.uopz-get-return","name":"uopz_get_return","description":"Gets a previous set return value for a function","tag":"refentry","type":"Function","methodName":"uopz_get_return"},{"id":"function.uopz-get-static","name":"uopz_get_static","description":"Gets the static variables from function or method scope","tag":"refentry","type":"Function","methodName":"uopz_get_static"},{"id":"function.uopz-implement","name":"uopz_implement","description":"Implements an interface at runtime","tag":"refentry","type":"Function","methodName":"uopz_implement"},{"id":"function.uopz-overload","name":"uopz_overload","description":"Overload a VM opcode","tag":"refentry","type":"Function","methodName":"uopz_overload"},{"id":"function.uopz-redefine","name":"uopz_redefine","description":"Redefine a constant","tag":"refentry","type":"Function","methodName":"uopz_redefine"},{"id":"function.uopz-rename","name":"uopz_rename","description":"Rename a function at runtime","tag":"refentry","type":"Function","methodName":"uopz_rename"},{"id":"function.uopz-restore","name":"uopz_restore","description":"Restore a previously backed up function","tag":"refentry","type":"Function","methodName":"uopz_restore"},{"id":"function.uopz-set-hook","name":"uopz_set_hook","description":"Sets hook to execute when entering a function or method","tag":"refentry","type":"Function","methodName":"uopz_set_hook"},{"id":"function.uopz-set-mock","name":"uopz_set_mock","description":"Use mock instead of class for new objects","tag":"refentry","type":"Function","methodName":"uopz_set_mock"},{"id":"function.uopz-set-property","name":"uopz_set_property","description":"Sets value of existing class or instance property","tag":"refentry","type":"Function","methodName":"uopz_set_property"},{"id":"function.uopz-set-return","name":"uopz_set_return","description":"Provide a return value for an existing function","tag":"refentry","type":"Function","methodName":"uopz_set_return"},{"id":"function.uopz-set-static","name":"uopz_set_static","description":"Sets the static variables in function or method scope","tag":"refentry","type":"Function","methodName":"uopz_set_static"},{"id":"function.uopz-undefine","name":"uopz_undefine","description":"Undefine a constant","tag":"refentry","type":"Function","methodName":"uopz_undefine"},{"id":"function.uopz-unset-hook","name":"uopz_unset_hook","description":"Removes previously set hook on function or method","tag":"refentry","type":"Function","methodName":"uopz_unset_hook"},{"id":"function.uopz-unset-mock","name":"uopz_unset_mock","description":"Unset previously set mock","tag":"refentry","type":"Function","methodName":"uopz_unset_mock"},{"id":"function.uopz-unset-return","name":"uopz_unset_return","description":"Unsets a previously set return value for a function","tag":"refentry","type":"Function","methodName":"uopz_unset_return"},{"id":"ref.uopz","name":"Uopz Functions","description":"User Operations for Zend","tag":"reference","type":"Extension","methodName":"Uopz Functions"},{"id":"book.uopz","name":"uopz","description":"User Operations for Zend","tag":"book","type":"Extension","methodName":"uopz"},{"id":"intro.wincache","name":"Introduction","description":"Windows Cache for PHP","tag":"preface","type":"General","methodName":"Introduction"},{"id":"wincache.requirements","name":"Requirements","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"Requirements"},{"id":"wincache.installation","name":"Installation","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"Installation"},{"id":"wincache.configuration","name":"Runtime Configuration","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"wincache.stats","name":"WinCache Statistics Script","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"WinCache Statistics Script"},{"id":"wincache.sessionhandler","name":"WinCache Session Handler","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"WinCache Session Handler"},{"id":"wincache.reroutes","name":"WinCache Functions Reroutes","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"WinCache Functions Reroutes"},{"id":"wincache.setup","name":"Installing\/Configuring","description":"Windows Cache for PHP","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.wincache-fcache-fileinfo","name":"wincache_fcache_fileinfo","description":"Retrieves information about files cached in the file cache","tag":"refentry","type":"Function","methodName":"wincache_fcache_fileinfo"},{"id":"function.wincache-fcache-meminfo","name":"wincache_fcache_meminfo","description":"Retrieves information about file cache memory usage","tag":"refentry","type":"Function","methodName":"wincache_fcache_meminfo"},{"id":"function.wincache-lock","name":"wincache_lock","description":"Acquires an exclusive lock on a given key","tag":"refentry","type":"Function","methodName":"wincache_lock"},{"id":"function.wincache-ocache-fileinfo","name":"wincache_ocache_fileinfo","description":"Retrieves information about files cached in the opcode cache","tag":"refentry","type":"Function","methodName":"wincache_ocache_fileinfo"},{"id":"function.wincache-ocache-meminfo","name":"wincache_ocache_meminfo","description":"Retrieves information about opcode cache memory usage","tag":"refentry","type":"Function","methodName":"wincache_ocache_meminfo"},{"id":"function.wincache-refresh-if-changed","name":"wincache_refresh_if_changed","description":"Refreshes the cache entries for the cached files","tag":"refentry","type":"Function","methodName":"wincache_refresh_if_changed"},{"id":"function.wincache-rplist-fileinfo","name":"wincache_rplist_fileinfo","description":"Retrieves information about resolve file path cache","tag":"refentry","type":"Function","methodName":"wincache_rplist_fileinfo"},{"id":"function.wincache-rplist-meminfo","name":"wincache_rplist_meminfo","description":"Retrieves information about memory usage by the resolve file path cache","tag":"refentry","type":"Function","methodName":"wincache_rplist_meminfo"},{"id":"function.wincache-scache-info","name":"wincache_scache_info","description":"Retrieves information about files cached in the session cache","tag":"refentry","type":"Function","methodName":"wincache_scache_info"},{"id":"function.wincache-scache-meminfo","name":"wincache_scache_meminfo","description":"Retrieves information about session cache memory usage","tag":"refentry","type":"Function","methodName":"wincache_scache_meminfo"},{"id":"function.wincache-ucache-add","name":"wincache_ucache_add","description":"Adds a variable in user cache only if variable does not already exist in the cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_add"},{"id":"function.wincache-ucache-cas","name":"wincache_ucache_cas","description":"Compares the variable with old value and assigns new value to it","tag":"refentry","type":"Function","methodName":"wincache_ucache_cas"},{"id":"function.wincache-ucache-clear","name":"wincache_ucache_clear","description":"Deletes entire content of the user cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_clear"},{"id":"function.wincache-ucache-dec","name":"wincache_ucache_dec","description":"Decrements the value associated with the key","tag":"refentry","type":"Function","methodName":"wincache_ucache_dec"},{"id":"function.wincache-ucache-delete","name":"wincache_ucache_delete","description":"Deletes variables from the user cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_delete"},{"id":"function.wincache-ucache-exists","name":"wincache_ucache_exists","description":"Checks if a variable exists in the user cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_exists"},{"id":"function.wincache-ucache-get","name":"wincache_ucache_get","description":"Gets a variable stored in the user cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_get"},{"id":"function.wincache-ucache-inc","name":"wincache_ucache_inc","description":"Increments the value associated with the key","tag":"refentry","type":"Function","methodName":"wincache_ucache_inc"},{"id":"function.wincache-ucache-info","name":"wincache_ucache_info","description":"Retrieves information about data stored in the user cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_info"},{"id":"function.wincache-ucache-meminfo","name":"wincache_ucache_meminfo","description":"Retrieves information about user cache memory usage","tag":"refentry","type":"Function","methodName":"wincache_ucache_meminfo"},{"id":"function.wincache-ucache-set","name":"wincache_ucache_set","description":"Adds a variable in user cache and overwrites a variable if it already exists in the cache","tag":"refentry","type":"Function","methodName":"wincache_ucache_set"},{"id":"function.wincache-unlock","name":"wincache_unlock","description":"Releases an exclusive lock on a given key","tag":"refentry","type":"Function","methodName":"wincache_unlock"},{"id":"ref.wincache","name":"WinCache Functions","description":"Windows Cache for PHP","tag":"reference","type":"Extension","methodName":"WinCache Functions"},{"id":"wincache.win32build.prereq","name":"Prerequisites","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"Prerequisites"},{"id":"wincache.win32build.building","name":"Compiling and building","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"Compiling and building"},{"id":"wincache.win32build.verify","name":"Verifying the build","description":"Windows Cache for PHP","tag":"section","type":"General","methodName":"Verifying the build"},{"id":"wincache.win32build","name":"Building for Windows","description":"Windows Cache for PHP","tag":"appendix","type":"General","methodName":"Building for Windows"},{"id":"book.wincache","name":"WinCache","description":"Windows Cache for PHP","tag":"book","type":"Extension","methodName":"WinCache"},{"id":"intro.xhprof","name":"Introduction","description":"Hierarchical Profiler","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xhprof.requirements","name":"Requirements","description":"Hierarchical Profiler","tag":"section","type":"General","methodName":"Requirements"},{"id":"xhprof.installation","name":"Installation","description":"Hierarchical Profiler","tag":"section","type":"General","methodName":"Installation"},{"id":"xhprof.configuration","name":"Runtime Configuration","description":"Hierarchical Profiler","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"xhprof.setup","name":"Installing\/Configuring","description":"Hierarchical Profiler","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xhprof.constants","name":"Predefined Constants","description":"Hierarchical Profiler","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"xhprof.examples","name":"Examples","description":"Hierarchical Profiler","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.xhprof-disable","name":"xhprof_disable","description":"Stops xhprof profiler","tag":"refentry","type":"Function","methodName":"xhprof_disable"},{"id":"function.xhprof-enable","name":"xhprof_enable","description":"Start xhprof profiler","tag":"refentry","type":"Function","methodName":"xhprof_enable"},{"id":"function.xhprof-sample-disable","name":"xhprof_sample_disable","description":"Stops xhprof sample profiler","tag":"refentry","type":"Function","methodName":"xhprof_sample_disable"},{"id":"function.xhprof-sample-enable","name":"xhprof_sample_enable","description":"Start XHProf profiling in sampling mode","tag":"refentry","type":"Function","methodName":"xhprof_sample_enable"},{"id":"ref.xhprof","name":"Xhprof Functions","description":"Hierarchical Profiler","tag":"reference","type":"Extension","methodName":"Xhprof Functions"},{"id":"book.xhprof","name":"Xhprof","description":"Hierarchical Profiler","tag":"book","type":"Extension","methodName":"Xhprof"},{"id":"intro.yac","name":"Introduction","description":"Yac","tag":"preface","type":"General","methodName":"Introduction"},{"id":"yac.requirements","name":"Requirements","description":"Yac","tag":"section","type":"General","methodName":"Requirements"},{"id":"yac.installation","name":"Installation","description":"Yac","tag":"section","type":"General","methodName":"Installation"},{"id":"yac.configuration","name":"Runtime Configuration","description":"Yac","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"yac.resources","name":"Resource Types","description":"Yac","tag":"section","type":"General","methodName":"Resource Types"},{"id":"yac.setup","name":"Installing\/Configuring","description":"Yac","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"yac.constants","name":"Predefined Constants","description":"Yac","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"yac.add","name":"Yac::add","description":"Store into cache","tag":"refentry","type":"Function","methodName":"add"},{"id":"yac.construct","name":"Yac::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yac.delete","name":"Yac::delete","description":"Remove items from cache","tag":"refentry","type":"Function","methodName":"delete"},{"id":"yac.dump","name":"Yac::dump","description":"Dump cache","tag":"refentry","type":"Function","methodName":"dump"},{"id":"yac.flush","name":"Yac::flush","description":"Flush the cache","tag":"refentry","type":"Function","methodName":"flush"},{"id":"yac.get","name":"Yac::get","description":"Retrieve values from cache","tag":"refentry","type":"Function","methodName":"get"},{"id":"yac.getter","name":"Yac::__get","description":"Getter","tag":"refentry","type":"Function","methodName":"__get"},{"id":"yac.info","name":"Yac::info","description":"Status of cache","tag":"refentry","type":"Function","methodName":"info"},{"id":"yac.set","name":"Yac::set","description":"Store into cache","tag":"refentry","type":"Function","methodName":"set"},{"id":"yac.setter","name":"Yac::__set","description":"Setter","tag":"refentry","type":"Function","methodName":"__set"},{"id":"class.yac","name":"Yac","description":"The Yac class","tag":"phpdoc:classref","type":"Class","methodName":"Yac"},{"id":"book.yac","name":"Yac","description":"Yac","tag":"book","type":"Extension","methodName":"Yac"},{"id":"refs.basic.php","name":"Affecting PHP's Behaviour","description":"Function Reference","tag":"set","type":"Extension","methodName":"Affecting PHP's Behaviour"},{"id":"intro.openal","name":"Introduction","description":"OpenAL Audio Bindings","tag":"preface","type":"General","methodName":"Introduction"},{"id":"openal.installation","name":"Installation","description":"OpenAL Audio Bindings","tag":"section","type":"General","methodName":"Installation"},{"id":"openal.resources","name":"Resource Types","description":"OpenAL Audio Bindings","tag":"section","type":"General","methodName":"Resource Types"},{"id":"openal.setup","name":"Installing\/Configuring","description":"OpenAL Audio Bindings","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"openal.constants","name":"Predefined Constants","description":"OpenAL Audio Bindings","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.openal-buffer-create","name":"openal_buffer_create","description":"Generate OpenAL buffer","tag":"refentry","type":"Function","methodName":"openal_buffer_create"},{"id":"function.openal-buffer-data","name":"openal_buffer_data","description":"Load a buffer with data","tag":"refentry","type":"Function","methodName":"openal_buffer_data"},{"id":"function.openal-buffer-destroy","name":"openal_buffer_destroy","description":"Destroys an OpenAL buffer","tag":"refentry","type":"Function","methodName":"openal_buffer_destroy"},{"id":"function.openal-buffer-get","name":"openal_buffer_get","description":"Retrieve an OpenAL buffer property","tag":"refentry","type":"Function","methodName":"openal_buffer_get"},{"id":"function.openal-buffer-loadwav","name":"openal_buffer_loadwav","description":"Load a .wav file into a buffer","tag":"refentry","type":"Function","methodName":"openal_buffer_loadwav"},{"id":"function.openal-context-create","name":"openal_context_create","description":"Create an audio processing context","tag":"refentry","type":"Function","methodName":"openal_context_create"},{"id":"function.openal-context-current","name":"openal_context_current","description":"Make the specified context current","tag":"refentry","type":"Function","methodName":"openal_context_current"},{"id":"function.openal-context-destroy","name":"openal_context_destroy","description":"Destroys a context","tag":"refentry","type":"Function","methodName":"openal_context_destroy"},{"id":"function.openal-context-process","name":"openal_context_process","description":"Process the specified context","tag":"refentry","type":"Function","methodName":"openal_context_process"},{"id":"function.openal-context-suspend","name":"openal_context_suspend","description":"Suspend the specified context","tag":"refentry","type":"Function","methodName":"openal_context_suspend"},{"id":"function.openal-device-close","name":"openal_device_close","description":"Close an OpenAL device","tag":"refentry","type":"Function","methodName":"openal_device_close"},{"id":"function.openal-device-open","name":"openal_device_open","description":"Initialize the OpenAL audio layer","tag":"refentry","type":"Function","methodName":"openal_device_open"},{"id":"function.openal-listener-get","name":"openal_listener_get","description":"Retrieve a listener property","tag":"refentry","type":"Function","methodName":"openal_listener_get"},{"id":"function.openal-listener-set","name":"openal_listener_set","description":"Set a listener property","tag":"refentry","type":"Function","methodName":"openal_listener_set"},{"id":"function.openal-source-create","name":"openal_source_create","description":"Generate a source resource","tag":"refentry","type":"Function","methodName":"openal_source_create"},{"id":"function.openal-source-destroy","name":"openal_source_destroy","description":"Destroy a source resource","tag":"refentry","type":"Function","methodName":"openal_source_destroy"},{"id":"function.openal-source-get","name":"openal_source_get","description":"Retrieve an OpenAL source property","tag":"refentry","type":"Function","methodName":"openal_source_get"},{"id":"function.openal-source-pause","name":"openal_source_pause","description":"Pause the source","tag":"refentry","type":"Function","methodName":"openal_source_pause"},{"id":"function.openal-source-play","name":"openal_source_play","description":"Start playing the source","tag":"refentry","type":"Function","methodName":"openal_source_play"},{"id":"function.openal-source-rewind","name":"openal_source_rewind","description":"Rewind the source","tag":"refentry","type":"Function","methodName":"openal_source_rewind"},{"id":"function.openal-source-set","name":"openal_source_set","description":"Set source property","tag":"refentry","type":"Function","methodName":"openal_source_set"},{"id":"function.openal-source-stop","name":"openal_source_stop","description":"Stop playing the source","tag":"refentry","type":"Function","methodName":"openal_source_stop"},{"id":"function.openal-stream","name":"openal_stream","description":"Begin streaming on a source","tag":"refentry","type":"Function","methodName":"openal_stream"},{"id":"ref.openal","name":"OpenAL Functions","description":"OpenAL Audio Bindings","tag":"reference","type":"Extension","methodName":"OpenAL Functions"},{"id":"book.openal","name":"OpenAL","description":"OpenAL Audio Bindings","tag":"book","type":"Extension","methodName":"OpenAL"},{"id":"refs.utilspec.audio","name":"Audio Formats Manipulation","description":"Function Reference","tag":"set","type":"Extension","methodName":"Audio Formats Manipulation"},{"id":"intro.radius","name":"Introduction","description":"Radius","tag":"preface","type":"General","methodName":"Introduction"},{"id":"radius.installation","name":"Installation","description":"Radius","tag":"section","type":"General","methodName":"Installation"},{"id":"radius.setup","name":"Installing\/Configuring","description":"Radius","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"radius.constants.options","name":"RADIUS Options","description":"Radius","tag":"section","type":"General","methodName":"RADIUS Options"},{"id":"radius.constants.packets","name":"RADIUS Packet Types","description":"Radius","tag":"section","type":"General","methodName":"RADIUS Packet Types"},{"id":"radius.constants.attributes","name":"RADIUS Attribute Types","description":"Radius","tag":"section","type":"General","methodName":"RADIUS Attribute Types"},{"id":"radius.constants.vendor-specific","name":"RADIUS Vendor Specific Attribute Types","description":"Radius","tag":"section","type":"General","methodName":"RADIUS Vendor Specific Attribute Types"},{"id":"radius.constants","name":"Predefined Constants","description":"Radius","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"radius.examples","name":"Examples","description":"Radius","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.radius-acct-open","name":"radius_acct_open","description":"Creates a Radius handle for accounting","tag":"refentry","type":"Function","methodName":"radius_acct_open"},{"id":"function.radius-add-server","name":"radius_add_server","description":"Adds a server","tag":"refentry","type":"Function","methodName":"radius_add_server"},{"id":"function.radius-auth-open","name":"radius_auth_open","description":"Creates a Radius handle for authentication","tag":"refentry","type":"Function","methodName":"radius_auth_open"},{"id":"function.radius-close","name":"radius_close","description":"Frees all ressources","tag":"refentry","type":"Function","methodName":"radius_close"},{"id":"function.radius-config","name":"radius_config","description":"Causes the library to read the given configuration file","tag":"refentry","type":"Function","methodName":"radius_config"},{"id":"function.radius-create-request","name":"radius_create_request","description":"Create accounting or authentication request","tag":"refentry","type":"Function","methodName":"radius_create_request"},{"id":"function.radius-cvt-addr","name":"radius_cvt_addr","description":"Converts raw data to IP-Address","tag":"refentry","type":"Function","methodName":"radius_cvt_addr"},{"id":"function.radius-cvt-int","name":"radius_cvt_int","description":"Converts raw data to integer","tag":"refentry","type":"Function","methodName":"radius_cvt_int"},{"id":"function.radius-cvt-string","name":"radius_cvt_string","description":"Converts raw data to string","tag":"refentry","type":"Function","methodName":"radius_cvt_string"},{"id":"function.radius-demangle","name":"radius_demangle","description":"Demangles data","tag":"refentry","type":"Function","methodName":"radius_demangle"},{"id":"function.radius-demangle-mppe-key","name":"radius_demangle_mppe_key","description":"Derives mppe-keys from mangled data","tag":"refentry","type":"Function","methodName":"radius_demangle_mppe_key"},{"id":"function.radius-get-attr","name":"radius_get_attr","description":"Extracts an attribute","tag":"refentry","type":"Function","methodName":"radius_get_attr"},{"id":"function.radius-get-tagged-attr-data","name":"radius_get_tagged_attr_data","description":"Extracts the data from a tagged attribute","tag":"refentry","type":"Function","methodName":"radius_get_tagged_attr_data"},{"id":"function.radius-get-tagged-attr-tag","name":"radius_get_tagged_attr_tag","description":"Extracts the tag from a tagged attribute","tag":"refentry","type":"Function","methodName":"radius_get_tagged_attr_tag"},{"id":"function.radius-get-vendor-attr","name":"radius_get_vendor_attr","description":"Extracts a vendor specific attribute","tag":"refentry","type":"Function","methodName":"radius_get_vendor_attr"},{"id":"function.radius-put-addr","name":"radius_put_addr","description":"Attaches an IP address attribute","tag":"refentry","type":"Function","methodName":"radius_put_addr"},{"id":"function.radius-put-attr","name":"radius_put_attr","description":"Attaches a binary attribute","tag":"refentry","type":"Function","methodName":"radius_put_attr"},{"id":"function.radius-put-int","name":"radius_put_int","description":"Attaches an integer attribute","tag":"refentry","type":"Function","methodName":"radius_put_int"},{"id":"function.radius-put-string","name":"radius_put_string","description":"Attaches a string attribute","tag":"refentry","type":"Function","methodName":"radius_put_string"},{"id":"function.radius-put-vendor-addr","name":"radius_put_vendor_addr","description":"Attaches a vendor specific IP address attribute","tag":"refentry","type":"Function","methodName":"radius_put_vendor_addr"},{"id":"function.radius-put-vendor-attr","name":"radius_put_vendor_attr","description":"Attaches a vendor specific binary attribute","tag":"refentry","type":"Function","methodName":"radius_put_vendor_attr"},{"id":"function.radius-put-vendor-int","name":"radius_put_vendor_int","description":"Attaches a vendor specific integer attribute","tag":"refentry","type":"Function","methodName":"radius_put_vendor_int"},{"id":"function.radius-put-vendor-string","name":"radius_put_vendor_string","description":"Attaches a vendor specific string attribute","tag":"refentry","type":"Function","methodName":"radius_put_vendor_string"},{"id":"function.radius-request-authenticator","name":"radius_request_authenticator","description":"Returns the request authenticator","tag":"refentry","type":"Function","methodName":"radius_request_authenticator"},{"id":"function.radius-salt-encrypt-attr","name":"radius_salt_encrypt_attr","description":"Salt-encrypts a value","tag":"refentry","type":"Function","methodName":"radius_salt_encrypt_attr"},{"id":"function.radius-send-request","name":"radius_send_request","description":"Sends the request and waits for a reply","tag":"refentry","type":"Function","methodName":"radius_send_request"},{"id":"function.radius-server-secret","name":"radius_server_secret","description":"Returns the shared secret","tag":"refentry","type":"Function","methodName":"radius_server_secret"},{"id":"function.radius-strerror","name":"radius_strerror","description":"Returns an error message","tag":"refentry","type":"Function","methodName":"radius_strerror"},{"id":"ref.radius","name":"Radius Functions","description":"Radius","tag":"reference","type":"Extension","methodName":"Radius Functions"},{"id":"book.radius","name":"Radius","description":"Authentication Services","tag":"book","type":"Extension","methodName":"Radius"},{"id":"refs.remote.auth","name":"Authentication Services","description":"Function Reference","tag":"set","type":"Extension","methodName":"Authentication Services"},{"id":"intro.readline","name":"Introduction","description":"GNU Readline","tag":"preface","type":"General","methodName":"Introduction"},{"id":"readline.requirements","name":"Requirements","description":"GNU Readline","tag":"section","type":"General","methodName":"Requirements"},{"id":"readline.installation","name":"Installation","description":"GNU Readline","tag":"section","type":"General","methodName":"Installation"},{"id":"readline.configuration","name":"Runtime Configuration","description":"GNU Readline","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"readline.setup","name":"Installing\/Configuring","description":"GNU Readline","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"readline.constants","name":"Predefined Constants","description":"GNU Readline","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.readline","name":"readline","description":"Reads a line","tag":"refentry","type":"Function","methodName":"readline"},{"id":"function.readline-add-history","name":"readline_add_history","description":"Adds a line to the history","tag":"refentry","type":"Function","methodName":"readline_add_history"},{"id":"function.readline-callback-handler-install","name":"readline_callback_handler_install","description":"Initializes the readline callback interface and terminal, prints the prompt and returns immediately","tag":"refentry","type":"Function","methodName":"readline_callback_handler_install"},{"id":"function.readline-callback-handler-remove","name":"readline_callback_handler_remove","description":"Removes a previously installed callback handler and restores terminal settings","tag":"refentry","type":"Function","methodName":"readline_callback_handler_remove"},{"id":"function.readline-callback-read-char","name":"readline_callback_read_char","description":"Reads a character and informs the readline callback interface when a line is received","tag":"refentry","type":"Function","methodName":"readline_callback_read_char"},{"id":"function.readline-clear-history","name":"readline_clear_history","description":"Clears the history","tag":"refentry","type":"Function","methodName":"readline_clear_history"},{"id":"function.readline-completion-function","name":"readline_completion_function","description":"Registers a completion function","tag":"refentry","type":"Function","methodName":"readline_completion_function"},{"id":"function.readline-info","name":"readline_info","description":"Gets\/sets various internal readline variables","tag":"refentry","type":"Function","methodName":"readline_info"},{"id":"function.readline-list-history","name":"readline_list_history","description":"Lists the history","tag":"refentry","type":"Function","methodName":"readline_list_history"},{"id":"function.readline-on-new-line","name":"readline_on_new_line","description":"Inform readline that the cursor has moved to a new line","tag":"refentry","type":"Function","methodName":"readline_on_new_line"},{"id":"function.readline-read-history","name":"readline_read_history","description":"Reads the history","tag":"refentry","type":"Function","methodName":"readline_read_history"},{"id":"function.readline-redisplay","name":"readline_redisplay","description":"Redraws the display","tag":"refentry","type":"Function","methodName":"readline_redisplay"},{"id":"function.readline-write-history","name":"readline_write_history","description":"Writes the history","tag":"refentry","type":"Function","methodName":"readline_write_history"},{"id":"ref.readline","name":"Readline Functions","description":"GNU Readline","tag":"reference","type":"Extension","methodName":"Readline Functions"},{"id":"book.readline","name":"Readline","description":"GNU Readline","tag":"book","type":"Extension","methodName":"Readline"},{"id":"refs.utilspec.cmdline","name":"Command Line Specific Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Command Line Specific Extensions"},{"id":"intro.bzip2","name":"Introduction","description":"Bzip2","tag":"preface","type":"General","methodName":"Introduction"},{"id":"bzip2.requirements","name":"Requirements","description":"Bzip2","tag":"section","type":"General","methodName":"Requirements"},{"id":"bzip2.installation","name":"Installation","description":"Bzip2","tag":"section","type":"General","methodName":"Installation"},{"id":"bzip2.resources","name":"Resource Types","description":"Bzip2","tag":"section","type":"General","methodName":"Resource Types"},{"id":"bzip2.setup","name":"Installing\/Configuring","description":"Bzip2","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"bzip2.examples","name":"Examples","description":"Bzip2","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.bzclose","name":"bzclose","description":"Close a bzip2 file","tag":"refentry","type":"Function","methodName":"bzclose"},{"id":"function.bzcompress","name":"bzcompress","description":"Compress a string into bzip2 encoded data","tag":"refentry","type":"Function","methodName":"bzcompress"},{"id":"function.bzdecompress","name":"bzdecompress","description":"Decompresses bzip2 encoded data","tag":"refentry","type":"Function","methodName":"bzdecompress"},{"id":"function.bzerrno","name":"bzerrno","description":"Returns a bzip2 error number","tag":"refentry","type":"Function","methodName":"bzerrno"},{"id":"function.bzerror","name":"bzerror","description":"Returns the bzip2 error number and error string in an array","tag":"refentry","type":"Function","methodName":"bzerror"},{"id":"function.bzerrstr","name":"bzerrstr","description":"Returns a bzip2 error string","tag":"refentry","type":"Function","methodName":"bzerrstr"},{"id":"function.bzflush","name":"bzflush","description":"Do nothing","tag":"refentry","type":"Function","methodName":"bzflush"},{"id":"function.bzopen","name":"bzopen","description":"Opens a bzip2 compressed file","tag":"refentry","type":"Function","methodName":"bzopen"},{"id":"function.bzread","name":"bzread","description":"Binary safe bzip2 file read","tag":"refentry","type":"Function","methodName":"bzread"},{"id":"function.bzwrite","name":"bzwrite","description":"Binary safe bzip2 file write","tag":"refentry","type":"Function","methodName":"bzwrite"},{"id":"ref.bzip2","name":"Bzip2 Functions","description":"Bzip2","tag":"reference","type":"Extension","methodName":"Bzip2 Functions"},{"id":"book.bzip2","name":"Bzip2","description":"Compression and Archive Extensions","tag":"book","type":"Extension","methodName":"Bzip2"},{"id":"intro.lzf","name":"Introduction","description":"LZF","tag":"preface","type":"General","methodName":"Introduction"},{"id":"lzf.installation","name":"Installation","description":"LZF","tag":"section","type":"General","methodName":"Installation"},{"id":"lzf.setup","name":"Installing\/Configuring","description":"LZF","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.lzf-compress","name":"lzf_compress","description":"LZF compression","tag":"refentry","type":"Function","methodName":"lzf_compress"},{"id":"function.lzf-decompress","name":"lzf_decompress","description":"LZF decompression","tag":"refentry","type":"Function","methodName":"lzf_decompress"},{"id":"function.lzf-optimized-for","name":"lzf_optimized_for","description":"Determines what LZF extension was optimized for","tag":"refentry","type":"Function","methodName":"lzf_optimized_for"},{"id":"ref.lzf","name":"LZF Functions","description":"LZF","tag":"reference","type":"Extension","methodName":"LZF Functions"},{"id":"book.lzf","name":"LZF","description":"LZF","tag":"book","type":"Extension","methodName":"LZF"},{"id":"intro.phar","name":"Introduction","description":"Phar","tag":"preface","type":"General","methodName":"Introduction"},{"id":"phar.requirements","name":"Requirements","description":"Phar","tag":"section","type":"General","methodName":"Requirements"},{"id":"phar.installation","name":"Installation","description":"Phar","tag":"section","type":"General","methodName":"Installation"},{"id":"phar.configuration","name":"Runtime Configuration","description":"Phar","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"phar.resources","name":"Resource Types","description":"Phar","tag":"section","type":"General","methodName":"Resource Types"},{"id":"phar.setup","name":"Installing\/Configuring","description":"Phar","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"phar.constants","name":"Predefined Constants","description":"Phar","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"phar.using.intro","name":"Using Phar Archives: Introduction","description":"Phar","tag":"section","type":"General","methodName":"Using Phar Archives: Introduction"},{"id":"phar.using.stream","name":"Using Phar Archives: the phar stream wrapper","description":"Phar","tag":"section","type":"General","methodName":"Using Phar Archives: the phar stream wrapper"},{"id":"phar.using.object","name":"Using Phar Archives: the Phar and PharData class","description":"Phar","tag":"section","type":"General","methodName":"Using Phar Archives: the Phar and PharData class"},{"id":"phar.using","name":"Using Phar Archives","description":"Phar","tag":"chapter","type":"General","methodName":"Using Phar Archives"},{"id":"phar.creating.intro","name":"Creating Phar Archives: Introduction","description":"Phar","tag":"section","type":"General","methodName":"Creating Phar Archives: Introduction"},{"id":"phar.creating","name":"Creating Phar Archives","description":"Phar","tag":"chapter","type":"General","methodName":"Creating Phar Archives"},{"id":"phar.fileformat.ingredients","name":"Ingredients of all Phar archives, independent of file format","description":"Phar","tag":"section","type":"General","methodName":"Ingredients of all Phar archives, independent of file format"},{"id":"phar.fileformat.stub","name":"Phar file stub","description":"Phar","tag":"section","type":"General","methodName":"Phar file stub"},{"id":"phar.fileformat.comparison","name":"Head-to-head comparison of Phar, Tar and Zip","description":"Phar","tag":"section","type":"General","methodName":"Head-to-head comparison of Phar, Tar and Zip"},{"id":"phar.fileformat.tar","name":"Tar-based phars","description":"Phar","tag":"section","type":"General","methodName":"Tar-based phars"},{"id":"phar.fileformat.zip","name":"Zip-based phars","description":"Phar","tag":"section","type":"General","methodName":"Zip-based phars"},{"id":"phar.fileformat.phar","name":"Phar File Format","description":"Phar","tag":"section","type":"General","methodName":"Phar File Format"},{"id":"phar.fileformat.flags","name":"Global Phar bitmapped flags","description":"Phar","tag":"section","type":"General","methodName":"Global Phar bitmapped flags"},{"id":"phar.fileformat.manifestfile","name":"Phar manifest file entry definition","description":"Phar","tag":"section","type":"General","methodName":"Phar manifest file entry definition"},{"id":"phar.fileformat.signature","name":"Phar Signature format","description":"Phar","tag":"section","type":"General","methodName":"Phar Signature format"},{"id":"phar.fileformat","name":"What makes a phar a phar and not a tar or a zip?","description":"Phar","tag":"chapter","type":"General","methodName":"What makes a phar a phar and not a tar or a zip?"},{"id":"phar.addemptydir","name":"Phar::addEmptyDir","description":"Add an empty directory to the phar archive","tag":"refentry","type":"Function","methodName":"addEmptyDir"},{"id":"phar.addfile","name":"Phar::addFile","description":"Add a file from the filesystem to the phar archive","tag":"refentry","type":"Function","methodName":"addFile"},{"id":"phar.addfromstring","name":"Phar::addFromString","description":"Add a file from a string to the phar archive","tag":"refentry","type":"Function","methodName":"addFromString"},{"id":"phar.apiversion","name":"Phar::apiVersion","description":"Returns the api version","tag":"refentry","type":"Function","methodName":"apiVersion"},{"id":"phar.buildfromdirectory","name":"Phar::buildFromDirectory","description":"Construct a phar archive from the files within a directory","tag":"refentry","type":"Function","methodName":"buildFromDirectory"},{"id":"phar.buildfromiterator","name":"Phar::buildFromIterator","description":"Construct a phar archive from an iterator","tag":"refentry","type":"Function","methodName":"buildFromIterator"},{"id":"phar.cancompress","name":"Phar::canCompress","description":"Returns whether phar extension supports compression using either zlib or bzip2","tag":"refentry","type":"Function","methodName":"canCompress"},{"id":"phar.canwrite","name":"Phar::canWrite","description":"Returns whether phar extension supports writing and creating phars","tag":"refentry","type":"Function","methodName":"canWrite"},{"id":"phar.compress","name":"Phar::compress","description":"Compresses the entire Phar archive using Gzip or Bzip2 compression","tag":"refentry","type":"Function","methodName":"compress"},{"id":"phar.compressfiles","name":"Phar::compressFiles","description":"Compresses all files in the current Phar archive","tag":"refentry","type":"Function","methodName":"compressFiles"},{"id":"phar.construct","name":"Phar::__construct","description":"Construct a Phar archive object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"phar.converttodata","name":"Phar::convertToData","description":"Convert a phar archive to a non-executable tar or zip file","tag":"refentry","type":"Function","methodName":"convertToData"},{"id":"phar.converttoexecutable","name":"Phar::convertToExecutable","description":"Convert a phar archive to another executable phar archive file format","tag":"refentry","type":"Function","methodName":"convertToExecutable"},{"id":"phar.copy","name":"Phar::copy","description":"Copy a file internal to the phar archive to another new file within the phar","tag":"refentry","type":"Function","methodName":"copy"},{"id":"phar.count","name":"Phar::count","description":"Returns the number of entries (files) in the Phar archive","tag":"refentry","type":"Function","methodName":"count"},{"id":"phar.createdefaultstub","name":"Phar::createDefaultStub","description":"Create a phar-file format specific stub","tag":"refentry","type":"Function","methodName":"createDefaultStub"},{"id":"phar.decompress","name":"Phar::decompress","description":"Decompresses the entire Phar archive","tag":"refentry","type":"Function","methodName":"decompress"},{"id":"phar.decompressfiles","name":"Phar::decompressFiles","description":"Decompresses all files in the current Phar archive","tag":"refentry","type":"Function","methodName":"decompressFiles"},{"id":"phar.delmetadata","name":"Phar::delMetadata","description":"Deletes the global metadata of the phar","tag":"refentry","type":"Function","methodName":"delMetadata"},{"id":"phar.delete","name":"Phar::delete","description":"Delete a file within a phar archive","tag":"refentry","type":"Function","methodName":"delete"},{"id":"phar.destruct","name":"Phar::__destruct","description":"Destructs a Phar archive object","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"phar.extractto","name":"Phar::extractTo","description":"Extract the contents of a phar archive to a directory","tag":"refentry","type":"Function","methodName":"extractTo"},{"id":"phar.getalias","name":"Phar::getAlias","description":"Get the alias for Phar","tag":"refentry","type":"Function","methodName":"getAlias"},{"id":"phar.getmetadata","name":"Phar::getMetadata","description":"Returns phar archive meta-data","tag":"refentry","type":"Function","methodName":"getMetadata"},{"id":"phar.getmodified","name":"Phar::getModified","description":"Return whether phar was modified","tag":"refentry","type":"Function","methodName":"getModified"},{"id":"phar.getpath","name":"Phar::getPath","description":"Get the real path to the Phar archive on disk","tag":"refentry","type":"Function","methodName":"getPath"},{"id":"phar.getsignature","name":"Phar::getSignature","description":"Return MD5\/SHA1\/SHA256\/SHA512\/OpenSSL signature of a Phar archive","tag":"refentry","type":"Function","methodName":"getSignature"},{"id":"phar.getstub","name":"Phar::getStub","description":"Return the PHP loader or bootstrap stub of a Phar archive","tag":"refentry","type":"Function","methodName":"getStub"},{"id":"phar.getsupportedcompression","name":"Phar::getSupportedCompression","description":"Return array of supported compression algorithms","tag":"refentry","type":"Function","methodName":"getSupportedCompression"},{"id":"phar.getsupportedsignatures","name":"Phar::getSupportedSignatures","description":"Return array of supported signature types","tag":"refentry","type":"Function","methodName":"getSupportedSignatures"},{"id":"phar.getversion","name":"Phar::getVersion","description":"Return version info of Phar archive","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"phar.hasmetadata","name":"Phar::hasMetadata","description":"Returns whether phar has global meta-data","tag":"refentry","type":"Function","methodName":"hasMetadata"},{"id":"phar.interceptfilefuncs","name":"Phar::interceptFileFuncs","description":"Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions","tag":"refentry","type":"Function","methodName":"interceptFileFuncs"},{"id":"phar.isbuffering","name":"Phar::isBuffering","description":"Used to determine whether Phar write operations are being buffered, or are flushing directly to disk","tag":"refentry","type":"Function","methodName":"isBuffering"},{"id":"phar.iscompressed","name":"Phar::isCompressed","description":"Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz\/tar.bz and so on)","tag":"refentry","type":"Function","methodName":"isCompressed"},{"id":"phar.isfileformat","name":"Phar::isFileFormat","description":"Returns true if the phar archive is based on the tar\/phar\/zip file format depending on the parameter","tag":"refentry","type":"Function","methodName":"isFileFormat"},{"id":"phar.isvalidpharfilename","name":"Phar::isValidPharFilename","description":"Returns whether the given filename is a valid phar filename","tag":"refentry","type":"Function","methodName":"isValidPharFilename"},{"id":"phar.iswritable","name":"Phar::isWritable","description":"Returns true if the phar archive can be modified","tag":"refentry","type":"Function","methodName":"isWritable"},{"id":"phar.loadphar","name":"Phar::loadPhar","description":"Loads any phar archive with an alias","tag":"refentry","type":"Function","methodName":"loadPhar"},{"id":"phar.mapphar","name":"Phar::mapPhar","description":"Reads the currently executed file (a phar) and registers its manifest","tag":"refentry","type":"Function","methodName":"mapPhar"},{"id":"phar.mount","name":"Phar::mount","description":"Mount an external path or file to a virtual location within the phar archive","tag":"refentry","type":"Function","methodName":"mount"},{"id":"phar.mungserver","name":"Phar::mungServer","description":"Defines a list of up to 4 $_SERVER variables that should be modified for execution","tag":"refentry","type":"Function","methodName":"mungServer"},{"id":"phar.offsetexists","name":"Phar::offsetExists","description":"Determines whether a file exists in the phar","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"phar.offsetget","name":"Phar::offsetGet","description":"Gets a PharFileInfo object for a specific file","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"phar.offsetset","name":"Phar::offsetSet","description":"Set the contents of an internal file to those of an external file","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"phar.offsetunset","name":"Phar::offsetUnset","description":"Remove a file from a phar","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"phar.running","name":"Phar::running","description":"Returns the full path on disk or full phar URL to the currently executing Phar archive","tag":"refentry","type":"Function","methodName":"running"},{"id":"phar.setalias","name":"Phar::setAlias","description":"Set the alias for the Phar archive","tag":"refentry","type":"Function","methodName":"setAlias"},{"id":"phar.setdefaultstub","name":"Phar::setDefaultStub","description":"Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader","tag":"refentry","type":"Function","methodName":"setDefaultStub"},{"id":"phar.setmetadata","name":"Phar::setMetadata","description":"Sets phar archive meta-data","tag":"refentry","type":"Function","methodName":"setMetadata"},{"id":"phar.setsignaturealgorithm","name":"Phar::setSignatureAlgorithm","description":"Set the signature algorithm for a phar and apply it","tag":"refentry","type":"Function","methodName":"setSignatureAlgorithm"},{"id":"phar.setstub","name":"Phar::setStub","description":"Used to set the PHP loader or bootstrap stub of a Phar archive","tag":"refentry","type":"Function","methodName":"setStub"},{"id":"phar.startbuffering","name":"Phar::startBuffering","description":"Start buffering Phar write operations, do not modify the Phar object on disk","tag":"refentry","type":"Function","methodName":"startBuffering"},{"id":"phar.stopbuffering","name":"Phar::stopBuffering","description":"Stop buffering write requests to the Phar archive, and save changes to disk","tag":"refentry","type":"Function","methodName":"stopBuffering"},{"id":"phar.unlinkarchive","name":"Phar::unlinkArchive","description":"Completely remove a phar archive from disk and from memory","tag":"refentry","type":"Function","methodName":"unlinkArchive"},{"id":"phar.webphar","name":"Phar::webPhar","description":"Routes a request from a web browser to an internal file within the phar archive","tag":"refentry","type":"Function","methodName":"webPhar"},{"id":"class.phar","name":"Phar","description":"The Phar class","tag":"phpdoc:classref","type":"Class","methodName":"Phar"},{"id":"phardata.addemptydir","name":"PharData::addEmptyDir","description":"Add an empty directory to the tar\/zip archive","tag":"refentry","type":"Function","methodName":"addEmptyDir"},{"id":"phardata.addfile","name":"PharData::addFile","description":"Add a file from the filesystem to the tar\/zip archive","tag":"refentry","type":"Function","methodName":"addFile"},{"id":"phardata.addfromstring","name":"PharData::addFromString","description":"Add a file from a string to the tar\/zip archive","tag":"refentry","type":"Function","methodName":"addFromString"},{"id":"phardata.buildfromdirectory","name":"PharData::buildFromDirectory","description":"Construct a tar\/zip archive from the files within a directory","tag":"refentry","type":"Function","methodName":"buildFromDirectory"},{"id":"phardata.buildfromiterator","name":"PharData::buildFromIterator","description":"Construct a tar or zip archive from an iterator","tag":"refentry","type":"Function","methodName":"buildFromIterator"},{"id":"phardata.compress","name":"PharData::compress","description":"Compresses the entire tar\/zip archive using Gzip or Bzip2 compression","tag":"refentry","type":"Function","methodName":"compress"},{"id":"phardata.compressfiles","name":"PharData::compressFiles","description":"Compresses all files in the current tar\/zip archive","tag":"refentry","type":"Function","methodName":"compressFiles"},{"id":"phardata.construct","name":"PharData::__construct","description":"Construct a non-executable tar or zip archive object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"phardata.converttodata","name":"PharData::convertToData","description":"Convert a phar archive to a non-executable tar or zip file","tag":"refentry","type":"Function","methodName":"convertToData"},{"id":"phardata.converttoexecutable","name":"PharData::convertToExecutable","description":"Convert a non-executable tar\/zip archive to an executable phar archive","tag":"refentry","type":"Function","methodName":"convertToExecutable"},{"id":"phardata.copy","name":"PharData::copy","description":"Copy a file internal to the tar\/zip archive to another new file within the same archive","tag":"refentry","type":"Function","methodName":"copy"},{"id":"phardata.decompress","name":"PharData::decompress","description":"Decompresses the entire Phar archive","tag":"refentry","type":"Function","methodName":"decompress"},{"id":"phardata.decompressfiles","name":"PharData::decompressFiles","description":"Decompresses all files in the current zip archive","tag":"refentry","type":"Function","methodName":"decompressFiles"},{"id":"phardata.delmetadata","name":"PharData::delMetadata","description":"Deletes the global metadata of a zip archive","tag":"refentry","type":"Function","methodName":"delMetadata"},{"id":"phardata.delete","name":"PharData::delete","description":"Delete a file within a tar\/zip archive","tag":"refentry","type":"Function","methodName":"delete"},{"id":"phardata.destruct","name":"PharData::__destruct","description":"Destructs a non-executable tar or zip archive object","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"phardata.extractto","name":"PharData::extractTo","description":"Extract the contents of a tar\/zip archive to a directory","tag":"refentry","type":"Function","methodName":"extractTo"},{"id":"phardata.iswritable","name":"PharData::isWritable","description":"Returns true if the tar\/zip archive can be modified","tag":"refentry","type":"Function","methodName":"isWritable"},{"id":"phardata.offsetset","name":"PharData::offsetSet","description":"Set the contents of a file within the tar\/zip to those of an external file or string","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"phardata.offsetunset","name":"PharData::offsetUnset","description":"Remove a file from a tar\/zip archive","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"phardata.setalias","name":"PharData::setAlias","description":"Dummy function (Phar::setAlias is not valid for PharData)","tag":"refentry","type":"Function","methodName":"setAlias"},{"id":"phardata.setdefaultstub","name":"PharData::setDefaultStub","description":"Dummy function (Phar::setDefaultStub is not valid for PharData)","tag":"refentry","type":"Function","methodName":"setDefaultStub"},{"id":"phardata.setmetadata","name":"PharData::setMetadata","description":"Sets phar archive meta-data","tag":"refentry","type":"Function","methodName":"setMetadata"},{"id":"phardata.setsignaturealgorithm","name":"PharData::setSignatureAlgorithm","description":"Set the signature algorithm for a phar and apply it","tag":"refentry","type":"Function","methodName":"setSignatureAlgorithm"},{"id":"phardata.setstub","name":"PharData::setStub","description":"Dummy function (Phar::setStub is not valid for PharData)","tag":"refentry","type":"Function","methodName":"setStub"},{"id":"class.phardata","name":"PharData","description":"The PharData class","tag":"phpdoc:classref","type":"Class","methodName":"PharData"},{"id":"pharfileinfo.chmod","name":"PharFileInfo::chmod","description":"Sets file-specific permission bits","tag":"refentry","type":"Function","methodName":"chmod"},{"id":"pharfileinfo.compress","name":"PharFileInfo::compress","description":"Compresses the current Phar entry with either zlib or bzip2 compression","tag":"refentry","type":"Function","methodName":"compress"},{"id":"pharfileinfo.construct","name":"PharFileInfo::__construct","description":"Construct a Phar entry object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"pharfileinfo.decompress","name":"PharFileInfo::decompress","description":"Decompresses the current Phar entry within the phar","tag":"refentry","type":"Function","methodName":"decompress"},{"id":"pharfileinfo.delmetadata","name":"PharFileInfo::delMetadata","description":"Deletes the metadata of the entry","tag":"refentry","type":"Function","methodName":"delMetadata"},{"id":"pharfileinfo.destruct","name":"PharFileInfo::__destruct","description":"Destructs a Phar entry object","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"pharfileinfo.getcrc32","name":"PharFileInfo::getCRC32","description":"Returns CRC32 code or throws an exception if CRC has not been verified","tag":"refentry","type":"Function","methodName":"getCRC32"},{"id":"pharfileinfo.getcompressedsize","name":"PharFileInfo::getCompressedSize","description":"Returns the actual size of the file (with compression) inside the Phar archive","tag":"refentry","type":"Function","methodName":"getCompressedSize"},{"id":"pharfileinfo.getcontent","name":"PharFileInfo::getContent","description":"Get the complete file contents of the entry","tag":"refentry","type":"Function","methodName":"getContent"},{"id":"pharfileinfo.getmetadata","name":"PharFileInfo::getMetadata","description":"Returns file-specific meta-data saved with a file","tag":"refentry","type":"Function","methodName":"getMetadata"},{"id":"pharfileinfo.getpharflags","name":"PharFileInfo::getPharFlags","description":"Returns the Phar file entry flags","tag":"refentry","type":"Function","methodName":"getPharFlags"},{"id":"pharfileinfo.hasmetadata","name":"PharFileInfo::hasMetadata","description":"Returns the metadata of the entry","tag":"refentry","type":"Function","methodName":"hasMetadata"},{"id":"pharfileinfo.iscrcchecked","name":"PharFileInfo::isCRCChecked","description":"Returns whether file entry has had its CRC verified","tag":"refentry","type":"Function","methodName":"isCRCChecked"},{"id":"pharfileinfo.iscompressed","name":"PharFileInfo::isCompressed","description":"Returns whether the entry is compressed","tag":"refentry","type":"Function","methodName":"isCompressed"},{"id":"pharfileinfo.setmetadata","name":"PharFileInfo::setMetadata","description":"Sets file-specific meta-data saved with a file","tag":"refentry","type":"Function","methodName":"setMetadata"},{"id":"class.pharfileinfo","name":"PharFileInfo","description":"The PharFileInfo class","tag":"phpdoc:classref","type":"Class","methodName":"PharFileInfo"},{"id":"class.pharexception","name":"PharException","description":"The PharException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"PharException"},{"id":"book.phar","name":"Phar","description":"Compression and Archive Extensions","tag":"book","type":"Extension","methodName":"Phar"},{"id":"intro.rar","name":"Introduction","description":"Rar Archiving","tag":"preface","type":"General","methodName":"Introduction"},{"id":"rar.installation","name":"Installation","description":"Rar Archiving","tag":"section","type":"General","methodName":"Installation"},{"id":"rar.resources","name":"Resource Types","description":"Rar Archiving","tag":"section","type":"General","methodName":"Resource Types"},{"id":"rar.setup","name":"Installing\/Configuring","description":"Rar Archiving","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"rar.constants","name":"Predefined Constants","description":"Rar Archiving","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"rar.examples","name":"Examples","description":"Rar Archiving","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.rar-wrapper-cache-stats","name":"rar_wrapper_cache_stats","description":"Cache hits and misses for the URL wrapper","tag":"refentry","type":"Function","methodName":"rar_wrapper_cache_stats"},{"id":"ref.rar","name":"Rar Functions","description":"Rar Archiving","tag":"reference","type":"Extension","methodName":"Rar Functions"},{"id":"rararchive.close","name":"rar_close","description":"Close RAR archive and free all resources","tag":"refentry","type":"Function","methodName":"rar_close"},{"id":"rararchive.close","name":"RarArchive::close","description":"Close RAR archive and free all resources","tag":"refentry","type":"Function","methodName":"close"},{"id":"rararchive.getcomment","name":"rar_comment_get","description":"Get comment text from the RAR archive","tag":"refentry","type":"Function","methodName":"rar_comment_get"},{"id":"rararchive.getcomment","name":"RarArchive::getComment","description":"Get comment text from the RAR archive","tag":"refentry","type":"Function","methodName":"getComment"},{"id":"rararchive.getentries","name":"rar_list","description":"Get full list of entries from the RAR archive","tag":"refentry","type":"Function","methodName":"rar_list"},{"id":"rararchive.getentries","name":"RarArchive::getEntries","description":"Get full list of entries from the RAR archive","tag":"refentry","type":"Function","methodName":"getEntries"},{"id":"rararchive.getentry","name":"rar_entry_get","description":"Get entry object from the RAR archive","tag":"refentry","type":"Function","methodName":"rar_entry_get"},{"id":"rararchive.getentry","name":"RarArchive::getEntry","description":"Get entry object from the RAR archive","tag":"refentry","type":"Function","methodName":"getEntry"},{"id":"rararchive.isbroken","name":"rar_broken_is","description":"Test whether an archive is broken (incomplete)","tag":"refentry","type":"Function","methodName":"rar_broken_is"},{"id":"rararchive.isbroken","name":"RarArchive::isBroken","description":"Test whether an archive is broken (incomplete)","tag":"refentry","type":"Function","methodName":"isBroken"},{"id":"rararchive.issolid","name":"rar_solid_is","description":"Check whether the RAR archive is solid","tag":"refentry","type":"Function","methodName":"rar_solid_is"},{"id":"rararchive.issolid","name":"RarArchive::isSolid","description":"Check whether the RAR archive is solid","tag":"refentry","type":"Function","methodName":"isSolid"},{"id":"rararchive.open","name":"rar_open","description":"Open RAR archive","tag":"refentry","type":"Function","methodName":"rar_open"},{"id":"rararchive.open","name":"RarArchive::open","description":"Open RAR archive","tag":"refentry","type":"Function","methodName":"open"},{"id":"rararchive.setallowbroken","name":"RarArchive::setAllowBroken","description":"Whether opening broken archives is allowed","tag":"refentry","type":"Function","methodName":"setAllowBroken"},{"id":"rararchive.tostring","name":"RarArchive::__toString","description":"Get text representation","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.rararchive","name":"RarArchive","description":"The RarArchive class","tag":"phpdoc:classref","type":"Class","methodName":"RarArchive"},{"id":"rarentry.extract","name":"RarEntry::extract","description":"Extract entry from the archive","tag":"refentry","type":"Function","methodName":"extract"},{"id":"rarentry.getattr","name":"RarEntry::getAttr","description":"Get attributes of the entry","tag":"refentry","type":"Function","methodName":"getAttr"},{"id":"rarentry.getcrc","name":"RarEntry::getCrc","description":"Get CRC of the entry","tag":"refentry","type":"Function","methodName":"getCrc"},{"id":"rarentry.getfiletime","name":"RarEntry::getFileTime","description":"Get entry last modification time","tag":"refentry","type":"Function","methodName":"getFileTime"},{"id":"rarentry.gethostos","name":"RarEntry::getHostOs","description":"Get entry host OS","tag":"refentry","type":"Function","methodName":"getHostOs"},{"id":"rarentry.getmethod","name":"RarEntry::getMethod","description":"Get pack method of the entry","tag":"refentry","type":"Function","methodName":"getMethod"},{"id":"rarentry.getname","name":"RarEntry::getName","description":"Get name of the entry","tag":"refentry","type":"Function","methodName":"getName"},{"id":"rarentry.getpackedsize","name":"RarEntry::getPackedSize","description":"Get packed size of the entry","tag":"refentry","type":"Function","methodName":"getPackedSize"},{"id":"rarentry.getstream","name":"RarEntry::getStream","description":"Get file handler for entry","tag":"refentry","type":"Function","methodName":"getStream"},{"id":"rarentry.getunpackedsize","name":"RarEntry::getUnpackedSize","description":"Get unpacked size of the entry","tag":"refentry","type":"Function","methodName":"getUnpackedSize"},{"id":"rarentry.getversion","name":"RarEntry::getVersion","description":"Get minimum version of RAR program required to unpack the entry","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"rarentry.isdirectory","name":"RarEntry::isDirectory","description":"Test whether an entry represents a directory","tag":"refentry","type":"Function","methodName":"isDirectory"},{"id":"rarentry.isencrypted","name":"RarEntry::isEncrypted","description":"Test whether an entry is encrypted","tag":"refentry","type":"Function","methodName":"isEncrypted"},{"id":"rarentry.tostring","name":"RarEntry::__toString","description":"Get text representation of entry","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.rarentry","name":"RarEntry","description":"The RarEntry class","tag":"phpdoc:classref","type":"Class","methodName":"RarEntry"},{"id":"rarexception.isusingexceptions","name":"RarException::isUsingExceptions","description":"Check whether error handling with exceptions is in use","tag":"refentry","type":"Function","methodName":"isUsingExceptions"},{"id":"rarexception.setusingexceptions","name":"RarException::setUsingExceptions","description":"Activate and deactivate error handling with exceptions","tag":"refentry","type":"Function","methodName":"setUsingExceptions"},{"id":"class.rarexception","name":"RarException","description":"The RarException class","tag":"phpdoc:classref","type":"Class","methodName":"RarException"},{"id":"book.rar","name":"Rar","description":"Rar Archiving","tag":"book","type":"Extension","methodName":"Rar"},{"id":"intro.zip","name":"Introduction","description":"Zip","tag":"preface","type":"General","methodName":"Introduction"},{"id":"zip.requirements","name":"Requirements","description":"Zip","tag":"section","type":"General","methodName":"Requirements"},{"id":"zip.installation","name":"Installation","description":"Zip","tag":"section","type":"General","methodName":"Installation"},{"id":"zip.resources","name":"Resource Types","description":"Zip","tag":"section","type":"General","methodName":"Resource Types"},{"id":"zip.setup","name":"Installing\/Configuring","description":"Zip","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"zip.constants","name":"Predefined Constants","description":"Zip","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"zip.examples","name":"Examples","description":"Zip","tag":"chapter","type":"General","methodName":"Examples"},{"id":"ziparchive.addemptydir","name":"ZipArchive::addEmptyDir","description":"Add a new directory","tag":"refentry","type":"Function","methodName":"addEmptyDir"},{"id":"ziparchive.addfile","name":"ZipArchive::addFile","description":"Adds a file to a ZIP archive from the given path","tag":"refentry","type":"Function","methodName":"addFile"},{"id":"ziparchive.addfromstring","name":"ZipArchive::addFromString","description":"Add a file to a ZIP archive using its contents","tag":"refentry","type":"Function","methodName":"addFromString"},{"id":"ziparchive.addglob","name":"ZipArchive::addGlob","description":"Add files from a directory by glob pattern","tag":"refentry","type":"Function","methodName":"addGlob"},{"id":"ziparchive.addpattern","name":"ZipArchive::addPattern","description":"Add files from a directory by PCRE pattern","tag":"refentry","type":"Function","methodName":"addPattern"},{"id":"ziparchive.clearerror","name":"ZipArchive::clearError","description":"Clear the status error message, system and\/or zip messages","tag":"refentry","type":"Function","methodName":"clearError"},{"id":"ziparchive.close","name":"ZipArchive::close","description":"Close the active archive (opened or newly created)","tag":"refentry","type":"Function","methodName":"close"},{"id":"ziparchive.count","name":"ZipArchive::count","description":"Counts the number of files in the archive","tag":"refentry","type":"Function","methodName":"count"},{"id":"ziparchive.deleteindex","name":"ZipArchive::deleteIndex","description":"Delete an entry in the archive using its index","tag":"refentry","type":"Function","methodName":"deleteIndex"},{"id":"ziparchive.deletename","name":"ZipArchive::deleteName","description":"Delete an entry in the archive using its name","tag":"refentry","type":"Function","methodName":"deleteName"},{"id":"ziparchive.extractto","name":"ZipArchive::extractTo","description":"Extract the archive contents","tag":"refentry","type":"Function","methodName":"extractTo"},{"id":"ziparchive.getarchivecomment","name":"ZipArchive::getArchiveComment","description":"Returns the Zip archive comment","tag":"refentry","type":"Function","methodName":"getArchiveComment"},{"id":"ziparchive.getarchiveflag","name":"ZipArchive::getArchiveFlag","description":"Returns the value of a Zip archive global flag","tag":"refentry","type":"Function","methodName":"getArchiveFlag"},{"id":"ziparchive.getcommentindex","name":"ZipArchive::getCommentIndex","description":"Returns the comment of an entry using the entry index","tag":"refentry","type":"Function","methodName":"getCommentIndex"},{"id":"ziparchive.getcommentname","name":"ZipArchive::getCommentName","description":"Returns the comment of an entry using the entry name","tag":"refentry","type":"Function","methodName":"getCommentName"},{"id":"ziparchive.getexternalattributesindex","name":"ZipArchive::getExternalAttributesIndex","description":"Retrieve the external attributes of an entry defined by its index","tag":"refentry","type":"Function","methodName":"getExternalAttributesIndex"},{"id":"ziparchive.getexternalattributesname","name":"ZipArchive::getExternalAttributesName","description":"Retrieve the external attributes of an entry defined by its name","tag":"refentry","type":"Function","methodName":"getExternalAttributesName"},{"id":"ziparchive.getfromindex","name":"ZipArchive::getFromIndex","description":"Returns the entry contents using its index","tag":"refentry","type":"Function","methodName":"getFromIndex"},{"id":"ziparchive.getfromname","name":"ZipArchive::getFromName","description":"Returns the entry contents using its name","tag":"refentry","type":"Function","methodName":"getFromName"},{"id":"ziparchive.getnameindex","name":"ZipArchive::getNameIndex","description":"Returns the name of an entry using its index","tag":"refentry","type":"Function","methodName":"getNameIndex"},{"id":"ziparchive.getstatusstring","name":"ZipArchive::getStatusString","description":"Returns the status error message, system and\/or zip messages","tag":"refentry","type":"Function","methodName":"getStatusString"},{"id":"ziparchive.getstream","name":"ZipArchive::getStream","description":"Get a file handler to the entry defined by its name (read only)","tag":"refentry","type":"Function","methodName":"getStream"},{"id":"ziparchive.getstreamindex","name":"ZipArchive::getStreamIndex","description":"Get a file handler to the entry defined by its index (read only)","tag":"refentry","type":"Function","methodName":"getStreamIndex"},{"id":"ziparchive.getstreamname","name":"ZipArchive::getStreamName","description":"Get a file handler to the entry defined by its name (read only)","tag":"refentry","type":"Function","methodName":"getStreamName"},{"id":"ziparchive.iscompressionmethoddupported","name":"ZipArchive::isCompressionMethodSupported","description":"Check if a compression method is supported by libzip","tag":"refentry","type":"Function","methodName":"isCompressionMethodSupported"},{"id":"ziparchive.isencryptionmethoddupported","name":"ZipArchive::isEncryptionMethodSupported","description":"Check if a encryption method is supported by libzip","tag":"refentry","type":"Function","methodName":"isEncryptionMethodSupported"},{"id":"ziparchive.locatename","name":"ZipArchive::locateName","description":"Returns the index of the entry in the archive","tag":"refentry","type":"Function","methodName":"locateName"},{"id":"ziparchive.open","name":"ZipArchive::open","description":"Open a ZIP file archive","tag":"refentry","type":"Function","methodName":"open"},{"id":"ziparchive.registercancelcallback","name":"ZipArchive::registerCancelCallback","description":"Register a callback to allow cancellation during archive close.","tag":"refentry","type":"Function","methodName":"registerCancelCallback"},{"id":"ziparchive.registerprogresscallback","name":"ZipArchive::registerProgressCallback","description":"Register a callback to provide updates during archive close.","tag":"refentry","type":"Function","methodName":"registerProgressCallback"},{"id":"ziparchive.renameindex","name":"ZipArchive::renameIndex","description":"Renames an entry defined by its index","tag":"refentry","type":"Function","methodName":"renameIndex"},{"id":"ziparchive.renamename","name":"ZipArchive::renameName","description":"Renames an entry defined by its name","tag":"refentry","type":"Function","methodName":"renameName"},{"id":"ziparchive.replacefile","name":"ZipArchive::replaceFile","description":"Replace file in ZIP archive with a given path","tag":"refentry","type":"Function","methodName":"replaceFile"},{"id":"ziparchive.setarchivecomment","name":"ZipArchive::setArchiveComment","description":"Set the comment of a ZIP archive","tag":"refentry","type":"Function","methodName":"setArchiveComment"},{"id":"ziparchive.setarchiveflag","name":"ZipArchive::setArchiveFlag","description":"Set a global flag of a ZIP archive","tag":"refentry","type":"Function","methodName":"setArchiveFlag"},{"id":"ziparchive.setcommentindex","name":"ZipArchive::setCommentIndex","description":"Set the comment of an entry defined by its index","tag":"refentry","type":"Function","methodName":"setCommentIndex"},{"id":"ziparchive.setcommentname","name":"ZipArchive::setCommentName","description":"Set the comment of an entry defined by its name","tag":"refentry","type":"Function","methodName":"setCommentName"},{"id":"ziparchive.setcompressionindex","name":"ZipArchive::setCompressionIndex","description":"Set the compression method of an entry defined by its index","tag":"refentry","type":"Function","methodName":"setCompressionIndex"},{"id":"ziparchive.setcompressionname","name":"ZipArchive::setCompressionName","description":"Set the compression method of an entry defined by its name","tag":"refentry","type":"Function","methodName":"setCompressionName"},{"id":"ziparchive.setencryptionindex","name":"ZipArchive::setEncryptionIndex","description":"Set the encryption method of an entry defined by its index","tag":"refentry","type":"Function","methodName":"setEncryptionIndex"},{"id":"ziparchive.setencryptionname","name":"ZipArchive::setEncryptionName","description":"Set the encryption method of an entry defined by its name","tag":"refentry","type":"Function","methodName":"setEncryptionName"},{"id":"ziparchive.setexternalattributesindex","name":"ZipArchive::setExternalAttributesIndex","description":"Set the external attributes of an entry defined by its index","tag":"refentry","type":"Function","methodName":"setExternalAttributesIndex"},{"id":"ziparchive.setexternalattributesname","name":"ZipArchive::setExternalAttributesName","description":"Set the external attributes of an entry defined by its name","tag":"refentry","type":"Function","methodName":"setExternalAttributesName"},{"id":"ziparchive.setmtimeindex","name":"ZipArchive::setMtimeIndex","description":"Set the modification time of an entry defined by its index","tag":"refentry","type":"Function","methodName":"setMtimeIndex"},{"id":"ziparchive.setmtimename","name":"ZipArchive::setMtimeName","description":"Set the modification time of an entry defined by its name","tag":"refentry","type":"Function","methodName":"setMtimeName"},{"id":"ziparchive.setpassword","name":"ZipArchive::setPassword","description":"Set the password for the active archive","tag":"refentry","type":"Function","methodName":"setPassword"},{"id":"ziparchive.statindex","name":"ZipArchive::statIndex","description":"Get the details of an entry defined by its index","tag":"refentry","type":"Function","methodName":"statIndex"},{"id":"ziparchive.statname","name":"ZipArchive::statName","description":"Get the details of an entry defined by its name","tag":"refentry","type":"Function","methodName":"statName"},{"id":"ziparchive.unchangeall","name":"ZipArchive::unchangeAll","description":"Undo all changes done in the archive","tag":"refentry","type":"Function","methodName":"unchangeAll"},{"id":"ziparchive.unchangearchive","name":"ZipArchive::unchangeArchive","description":"Revert all global changes done in the archive","tag":"refentry","type":"Function","methodName":"unchangeArchive"},{"id":"ziparchive.unchangeindex","name":"ZipArchive::unchangeIndex","description":"Revert all changes done to an entry at the given index","tag":"refentry","type":"Function","methodName":"unchangeIndex"},{"id":"ziparchive.unchangename","name":"ZipArchive::unchangeName","description":"Revert all changes done to an entry with the given name","tag":"refentry","type":"Function","methodName":"unchangeName"},{"id":"class.ziparchive","name":"ZipArchive","description":"The ZipArchive class","tag":"phpdoc:classref","type":"Class","methodName":"ZipArchive"},{"id":"function.zip-close","name":"zip_close","description":"Close a ZIP file archive","tag":"refentry","type":"Function","methodName":"zip_close"},{"id":"function.zip-entry-close","name":"zip_entry_close","description":"Close a directory entry","tag":"refentry","type":"Function","methodName":"zip_entry_close"},{"id":"function.zip-entry-compressedsize","name":"zip_entry_compressedsize","description":"Retrieve the compressed size of a directory entry","tag":"refentry","type":"Function","methodName":"zip_entry_compressedsize"},{"id":"function.zip-entry-compressionmethod","name":"zip_entry_compressionmethod","description":"Retrieve the compression method of a directory entry","tag":"refentry","type":"Function","methodName":"zip_entry_compressionmethod"},{"id":"function.zip-entry-filesize","name":"zip_entry_filesize","description":"Retrieve the actual file size of a directory entry","tag":"refentry","type":"Function","methodName":"zip_entry_filesize"},{"id":"function.zip-entry-name","name":"zip_entry_name","description":"Retrieve the name of a directory entry","tag":"refentry","type":"Function","methodName":"zip_entry_name"},{"id":"function.zip-entry-open","name":"zip_entry_open","description":"Open a directory entry for reading","tag":"refentry","type":"Function","methodName":"zip_entry_open"},{"id":"function.zip-entry-read","name":"zip_entry_read","description":"Read from an open directory entry","tag":"refentry","type":"Function","methodName":"zip_entry_read"},{"id":"function.zip-open","name":"zip_open","description":"Open a ZIP file archive","tag":"refentry","type":"Function","methodName":"zip_open"},{"id":"function.zip-read","name":"zip_read","description":"Read next entry in a ZIP file archive","tag":"refentry","type":"Function","methodName":"zip_read"},{"id":"ref.zip","name":"Zip Functions","description":"Zip","tag":"reference","type":"Extension","methodName":"Zip Functions"},{"id":"book.zip","name":"Zip","description":"Compression and Archive Extensions","tag":"book","type":"Extension","methodName":"Zip"},{"id":"intro.zlib","name":"Introduction","description":"Zlib Compression","tag":"preface","type":"General","methodName":"Introduction"},{"id":"zlib.requirements","name":"Requirements","description":"Zlib Compression","tag":"section","type":"General","methodName":"Requirements"},{"id":"zlib.installation","name":"Installation","description":"Zlib Compression","tag":"section","type":"General","methodName":"Installation"},{"id":"zlib.configuration","name":"Runtime Configuration","description":"Zlib Compression","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"zlib.resources","name":"Resource Types","description":"Zlib Compression","tag":"section","type":"General","methodName":"Resource Types"},{"id":"zlib.setup","name":"Installing\/Configuring","description":"Zlib Compression","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"zlib.constants","name":"Predefined Constants","description":"Zlib Compression","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"zlib.examples","name":"Examples","description":"Zlib Compression","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.deflate-add","name":"deflate_add","description":"Incrementally deflate data","tag":"refentry","type":"Function","methodName":"deflate_add"},{"id":"function.deflate-init","name":"deflate_init","description":"Initialize an incremental deflate context","tag":"refentry","type":"Function","methodName":"deflate_init"},{"id":"function.gzclose","name":"gzclose","description":"Close an open gz-file pointer","tag":"refentry","type":"Function","methodName":"gzclose"},{"id":"function.gzcompress","name":"gzcompress","description":"Compress a string","tag":"refentry","type":"Function","methodName":"gzcompress"},{"id":"function.gzdecode","name":"gzdecode","description":"Decodes a gzip compressed string","tag":"refentry","type":"Function","methodName":"gzdecode"},{"id":"function.gzdeflate","name":"gzdeflate","description":"Deflate a string","tag":"refentry","type":"Function","methodName":"gzdeflate"},{"id":"function.gzencode","name":"gzencode","description":"Create a gzip compressed string","tag":"refentry","type":"Function","methodName":"gzencode"},{"id":"function.gzeof","name":"gzeof","description":"Test for EOF on a gz-file pointer","tag":"refentry","type":"Function","methodName":"gzeof"},{"id":"function.gzfile","name":"gzfile","description":"Read entire gz-file into an array","tag":"refentry","type":"Function","methodName":"gzfile"},{"id":"function.gzgetc","name":"gzgetc","description":"Get character from gz-file pointer","tag":"refentry","type":"Function","methodName":"gzgetc"},{"id":"function.gzgets","name":"gzgets","description":"Get line from file pointer","tag":"refentry","type":"Function","methodName":"gzgets"},{"id":"function.gzgetss","name":"gzgetss","description":"Get line from gz-file pointer and strip HTML tags","tag":"refentry","type":"Function","methodName":"gzgetss"},{"id":"function.gzinflate","name":"gzinflate","description":"Inflate a deflated string","tag":"refentry","type":"Function","methodName":"gzinflate"},{"id":"function.gzopen","name":"gzopen","description":"Open gz-file","tag":"refentry","type":"Function","methodName":"gzopen"},{"id":"function.gzpassthru","name":"gzpassthru","description":"Output all remaining data on a gz-file pointer","tag":"refentry","type":"Function","methodName":"gzpassthru"},{"id":"function.gzputs","name":"gzputs","description":"Alias of gzwrite","tag":"refentry","type":"Function","methodName":"gzputs"},{"id":"function.gzread","name":"gzread","description":"Binary-safe gz-file read","tag":"refentry","type":"Function","methodName":"gzread"},{"id":"function.gzrewind","name":"gzrewind","description":"Rewind the position of a gz-file pointer","tag":"refentry","type":"Function","methodName":"gzrewind"},{"id":"function.gzseek","name":"gzseek","description":"Seek on a gz-file pointer","tag":"refentry","type":"Function","methodName":"gzseek"},{"id":"function.gztell","name":"gztell","description":"Tell gz-file pointer read\/write position","tag":"refentry","type":"Function","methodName":"gztell"},{"id":"function.gzuncompress","name":"gzuncompress","description":"Uncompress a compressed string","tag":"refentry","type":"Function","methodName":"gzuncompress"},{"id":"function.gzwrite","name":"gzwrite","description":"Binary-safe gz-file write","tag":"refentry","type":"Function","methodName":"gzwrite"},{"id":"function.inflate-add","name":"inflate_add","description":"Incrementally inflate encoded data","tag":"refentry","type":"Function","methodName":"inflate_add"},{"id":"function.inflate-get-read-len","name":"inflate_get_read_len","description":"Get number of bytes read so far","tag":"refentry","type":"Function","methodName":"inflate_get_read_len"},{"id":"function.inflate-get-status","name":"inflate_get_status","description":"Get decompression status","tag":"refentry","type":"Function","methodName":"inflate_get_status"},{"id":"function.inflate-init","name":"inflate_init","description":"Initialize an incremental inflate context","tag":"refentry","type":"Function","methodName":"inflate_init"},{"id":"function.ob-gzhandler","name":"ob_gzhandler","description":"ob_start callback function to gzip output buffer","tag":"refentry","type":"Function","methodName":"ob_gzhandler"},{"id":"function.readgzfile","name":"readgzfile","description":"Output a gz-file","tag":"refentry","type":"Function","methodName":"readgzfile"},{"id":"function.zlib-decode","name":"zlib_decode","description":"Uncompress any raw\/gzip\/zlib encoded data","tag":"refentry","type":"Function","methodName":"zlib_decode"},{"id":"function.zlib-encode","name":"zlib_encode","description":"Compress data with the specified encoding","tag":"refentry","type":"Function","methodName":"zlib_encode"},{"id":"function.zlib-get-coding-type","name":"zlib_get_coding_type","description":"Returns the coding type used for output compression","tag":"refentry","type":"Function","methodName":"zlib_get_coding_type"},{"id":"ref.zlib","name":"Zlib Functions","description":"Zlib Compression","tag":"reference","type":"Extension","methodName":"Zlib Functions"},{"id":"class.deflatecontext","name":"DeflateContext","description":"The DeflateContext class","tag":"phpdoc:classref","type":"Class","methodName":"DeflateContext"},{"id":"class.inflatecontext","name":"InflateContext","description":"The InflateContext class","tag":"phpdoc:classref","type":"Class","methodName":"InflateContext"},{"id":"book.zlib","name":"Zlib","description":"Zlib Compression","tag":"book","type":"Extension","methodName":"Zlib"},{"id":"refs.compression","name":"Compression and Archive Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Compression and Archive Extensions"},{"id":"intro.hash","name":"Introduction","description":"HASH Message Digest Framework","tag":"preface","type":"General","methodName":"Introduction"},{"id":"hash.installation","name":"Installation","description":"HASH Message Digest Framework","tag":"section","type":"General","methodName":"Installation"},{"id":"hash.resources","name":"Resource Types","description":"HASH Message Digest Framework","tag":"section","type":"General","methodName":"Resource Types"},{"id":"hash.setup","name":"Installing\/Configuring","description":"HASH Message Digest Framework","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"hash.constants","name":"Predefined Constants","description":"HASH Message Digest Framework","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"hashcontext.construct","name":"HashContext::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"hashcontext.serialize","name":"HashContext::__serialize","description":"Serializes the HashContext object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"hashcontext.unserialize","name":"HashContext::__unserialize","description":"Deserializes the data parameter into a HashContext object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.hashcontext","name":"HashContext","description":"The HashContext class","tag":"phpdoc:classref","type":"Class","methodName":"HashContext"},{"id":"function.hash","name":"hash","description":"Generate a hash value (message digest)","tag":"refentry","type":"Function","methodName":"hash"},{"id":"function.hash-algos","name":"hash_algos","description":"Return a list of registered hashing algorithms","tag":"refentry","type":"Function","methodName":"hash_algos"},{"id":"function.hash-copy","name":"hash_copy","description":"Copy hashing context","tag":"refentry","type":"Function","methodName":"hash_copy"},{"id":"function.hash-equals","name":"hash_equals","description":"Timing attack safe string comparison","tag":"refentry","type":"Function","methodName":"hash_equals"},{"id":"function.hash-file","name":"hash_file","description":"Generate a hash value using the contents of a given file","tag":"refentry","type":"Function","methodName":"hash_file"},{"id":"function.hash-final","name":"hash_final","description":"Finalize an incremental hash and return resulting digest","tag":"refentry","type":"Function","methodName":"hash_final"},{"id":"function.hash-hkdf","name":"hash_hkdf","description":"Generate a HKDF key derivation of a supplied key input","tag":"refentry","type":"Function","methodName":"hash_hkdf"},{"id":"function.hash-hmac","name":"hash_hmac","description":"Generate a keyed hash value using the HMAC method","tag":"refentry","type":"Function","methodName":"hash_hmac"},{"id":"function.hash-hmac-algos","name":"hash_hmac_algos","description":"Return a list of registered hashing algorithms suitable for hash_hmac","tag":"refentry","type":"Function","methodName":"hash_hmac_algos"},{"id":"function.hash-hmac-file","name":"hash_hmac_file","description":"Generate a keyed hash value using the HMAC method and the contents of a given file","tag":"refentry","type":"Function","methodName":"hash_hmac_file"},{"id":"function.hash-init","name":"hash_init","description":"Initialize an incremental hashing context","tag":"refentry","type":"Function","methodName":"hash_init"},{"id":"function.hash-pbkdf2","name":"hash_pbkdf2","description":"Generate a PBKDF2 key derivation of a supplied password","tag":"refentry","type":"Function","methodName":"hash_pbkdf2"},{"id":"function.hash-update","name":"hash_update","description":"Pump data into an active hashing context","tag":"refentry","type":"Function","methodName":"hash_update"},{"id":"function.hash-update-file","name":"hash_update_file","description":"Pump data into an active hashing context from a file","tag":"refentry","type":"Function","methodName":"hash_update_file"},{"id":"function.hash-update-stream","name":"hash_update_stream","description":"Pump data into an active hashing context from an open stream","tag":"refentry","type":"Function","methodName":"hash_update_stream"},{"id":"ref.hash","name":"Hash Functions","description":"HASH Message Digest Framework","tag":"reference","type":"Extension","methodName":"Hash Functions"},{"id":"book.hash","name":"Hash","description":"HASH Message Digest Framework","tag":"book","type":"Extension","methodName":"Hash"},{"id":"intro.mcrypt","name":"Introduction","description":"Mcrypt","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mcrypt.requirements","name":"Requirements","description":"Mcrypt","tag":"section","type":"General","methodName":"Requirements"},{"id":"mcrypt.installation","name":"Installation","description":"Mcrypt","tag":"section","type":"General","methodName":"Installation"},{"id":"mcrypt.configuration","name":"Runtime Configuration","description":"Mcrypt","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mcrypt.resources","name":"Resource Types","description":"Mcrypt","tag":"section","type":"General","methodName":"Resource Types"},{"id":"mcrypt.setup","name":"Installing\/Configuring","description":"Mcrypt","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mcrypt.constants","name":"Predefined Constants","description":"Mcrypt","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"mcrypt.ciphers","name":"Mcrypt ciphers","description":"Mcrypt","tag":"appendix","type":"General","methodName":"Mcrypt ciphers"},{"id":"function.mcrypt-create-iv","name":"mcrypt_create_iv","description":"Creates an initialization vector (IV) from a random source","tag":"refentry","type":"Function","methodName":"mcrypt_create_iv"},{"id":"function.mcrypt-decrypt","name":"mcrypt_decrypt","description":"Decrypts crypttext with given parameters","tag":"refentry","type":"Function","methodName":"mcrypt_decrypt"},{"id":"function.mcrypt-enc-get-algorithms-name","name":"mcrypt_enc_get_algorithms_name","description":"Returns the name of the opened algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_enc_get_algorithms_name"},{"id":"function.mcrypt-enc-get-block-size","name":"mcrypt_enc_get_block_size","description":"Returns the blocksize of the opened algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_enc_get_block_size"},{"id":"function.mcrypt-enc-get-iv-size","name":"mcrypt_enc_get_iv_size","description":"Returns the size of the IV of the opened algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_enc_get_iv_size"},{"id":"function.mcrypt-enc-get-key-size","name":"mcrypt_enc_get_key_size","description":"Returns the maximum supported keysize of the opened mode","tag":"refentry","type":"Function","methodName":"mcrypt_enc_get_key_size"},{"id":"function.mcrypt-enc-get-modes-name","name":"mcrypt_enc_get_modes_name","description":"Returns the name of the opened mode","tag":"refentry","type":"Function","methodName":"mcrypt_enc_get_modes_name"},{"id":"function.mcrypt-enc-get-supported-key-sizes","name":"mcrypt_enc_get_supported_key_sizes","description":"Returns an array with the supported keysizes of the opened algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_enc_get_supported_key_sizes"},{"id":"function.mcrypt-enc-is-block-algorithm","name":"mcrypt_enc_is_block_algorithm","description":"Checks whether the algorithm of the opened mode is a block algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_enc_is_block_algorithm"},{"id":"function.mcrypt-enc-is-block-algorithm-mode","name":"mcrypt_enc_is_block_algorithm_mode","description":"Checks whether the encryption of the opened mode works on blocks","tag":"refentry","type":"Function","methodName":"mcrypt_enc_is_block_algorithm_mode"},{"id":"function.mcrypt-enc-is-block-mode","name":"mcrypt_enc_is_block_mode","description":"Checks whether the opened mode outputs blocks","tag":"refentry","type":"Function","methodName":"mcrypt_enc_is_block_mode"},{"id":"function.mcrypt-enc-self-test","name":"mcrypt_enc_self_test","description":"Runs a self test on the opened module","tag":"refentry","type":"Function","methodName":"mcrypt_enc_self_test"},{"id":"function.mcrypt-encrypt","name":"mcrypt_encrypt","description":"Encrypts plaintext with given parameters","tag":"refentry","type":"Function","methodName":"mcrypt_encrypt"},{"id":"function.mcrypt-generic","name":"mcrypt_generic","description":"This function encrypts data","tag":"refentry","type":"Function","methodName":"mcrypt_generic"},{"id":"function.mcrypt-generic-deinit","name":"mcrypt_generic_deinit","description":"This function deinitializes an encryption module","tag":"refentry","type":"Function","methodName":"mcrypt_generic_deinit"},{"id":"function.mcrypt-generic-init","name":"mcrypt_generic_init","description":"This function initializes all buffers needed for encryption","tag":"refentry","type":"Function","methodName":"mcrypt_generic_init"},{"id":"function.mcrypt-get-block-size","name":"mcrypt_get_block_size","description":"Gets the block size of the specified cipher","tag":"refentry","type":"Function","methodName":"mcrypt_get_block_size"},{"id":"function.mcrypt-get-cipher-name","name":"mcrypt_get_cipher_name","description":"Gets the name of the specified cipher","tag":"refentry","type":"Function","methodName":"mcrypt_get_cipher_name"},{"id":"function.mcrypt-get-iv-size","name":"mcrypt_get_iv_size","description":"Returns the size of the IV belonging to a specific cipher\/mode combination","tag":"refentry","type":"Function","methodName":"mcrypt_get_iv_size"},{"id":"function.mcrypt-get-key-size","name":"mcrypt_get_key_size","description":"Gets the key size of the specified cipher","tag":"refentry","type":"Function","methodName":"mcrypt_get_key_size"},{"id":"function.mcrypt-list-algorithms","name":"mcrypt_list_algorithms","description":"Gets an array of all supported ciphers","tag":"refentry","type":"Function","methodName":"mcrypt_list_algorithms"},{"id":"function.mcrypt-list-modes","name":"mcrypt_list_modes","description":"Gets an array of all supported modes","tag":"refentry","type":"Function","methodName":"mcrypt_list_modes"},{"id":"function.mcrypt-module-close","name":"mcrypt_module_close","description":"Closes the mcrypt module","tag":"refentry","type":"Function","methodName":"mcrypt_module_close"},{"id":"function.mcrypt-module-get-algo-block-size","name":"mcrypt_module_get_algo_block_size","description":"Returns the blocksize of the specified algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_module_get_algo_block_size"},{"id":"function.mcrypt-module-get-algo-key-size","name":"mcrypt_module_get_algo_key_size","description":"Returns the maximum supported keysize of the opened mode","tag":"refentry","type":"Function","methodName":"mcrypt_module_get_algo_key_size"},{"id":"function.mcrypt-module-get-supported-key-sizes","name":"mcrypt_module_get_supported_key_sizes","description":"Returns an array with the supported keysizes of the opened algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_module_get_supported_key_sizes"},{"id":"function.mcrypt-module-is-block-algorithm","name":"mcrypt_module_is_block_algorithm","description":"This function checks whether the specified algorithm is a block algorithm","tag":"refentry","type":"Function","methodName":"mcrypt_module_is_block_algorithm"},{"id":"function.mcrypt-module-is-block-algorithm-mode","name":"mcrypt_module_is_block_algorithm_mode","description":"Returns if the specified module is a block algorithm or not","tag":"refentry","type":"Function","methodName":"mcrypt_module_is_block_algorithm_mode"},{"id":"function.mcrypt-module-is-block-mode","name":"mcrypt_module_is_block_mode","description":"Returns if the specified mode outputs blocks or not","tag":"refentry","type":"Function","methodName":"mcrypt_module_is_block_mode"},{"id":"function.mcrypt-module-open","name":"mcrypt_module_open","description":"Opens the module of the algorithm and the mode to be used","tag":"refentry","type":"Function","methodName":"mcrypt_module_open"},{"id":"function.mcrypt-module-self-test","name":"mcrypt_module_self_test","description":"This function runs a self test on the specified module","tag":"refentry","type":"Function","methodName":"mcrypt_module_self_test"},{"id":"function.mdecrypt-generic","name":"mdecrypt_generic","description":"Decrypts data","tag":"refentry","type":"Function","methodName":"mdecrypt_generic"},{"id":"ref.mcrypt","name":"Mcrypt Functions","description":"Mcrypt","tag":"reference","type":"Extension","methodName":"Mcrypt Functions"},{"id":"book.mcrypt","name":"Mcrypt","description":"Cryptography Extensions","tag":"book","type":"Extension","methodName":"Mcrypt"},{"id":"intro.mhash","name":"Introduction","description":"Mhash","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mhash.requirements","name":"Requirements","description":"Mhash","tag":"section","type":"General","methodName":"Requirements"},{"id":"mhash.installation","name":"Installation","description":"Mhash","tag":"section","type":"General","methodName":"Installation"},{"id":"mhash.setup","name":"Installing\/Configuring","description":"Mhash","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mhash.constants","name":"Predefined Constants","description":"Mhash","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"mhash.examples","name":"Examples","description":"Mhash","tag":"appendix","type":"General","methodName":"Examples"},{"id":"function.mhash","name":"mhash","description":"Computes hash","tag":"refentry","type":"Function","methodName":"mhash"},{"id":"function.mhash-count","name":"mhash_count","description":"Gets the highest available hash ID","tag":"refentry","type":"Function","methodName":"mhash_count"},{"id":"function.mhash-get-block-size","name":"mhash_get_block_size","description":"Gets the block size of the specified hash","tag":"refentry","type":"Function","methodName":"mhash_get_block_size"},{"id":"function.mhash-get-hash-name","name":"mhash_get_hash_name","description":"Gets the name of the specified hash","tag":"refentry","type":"Function","methodName":"mhash_get_hash_name"},{"id":"function.mhash-keygen-s2k","name":"mhash_keygen_s2k","description":"Generates a key","tag":"refentry","type":"Function","methodName":"mhash_keygen_s2k"},{"id":"ref.mhash","name":"Mhash Functions","description":"Mhash","tag":"reference","type":"Extension","methodName":"Mhash Functions"},{"id":"book.mhash","name":"Mhash","description":"Cryptography Extensions","tag":"book","type":"Extension","methodName":"Mhash"},{"id":"intro.openssl","name":"Introduction","description":"OpenSSL","tag":"preface","type":"General","methodName":"Introduction"},{"id":"openssl.requirements","name":"Requirements","description":"OpenSSL","tag":"section","type":"General","methodName":"Requirements"},{"id":"openssl.installation","name":"Installation","description":"OpenSSL","tag":"section","type":"General","methodName":"Installation"},{"id":"openssl.configuration","name":"Runtime Configuration","description":"OpenSSL","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"openssl.resources","name":"Resource Types","description":"OpenSSL","tag":"section","type":"General","methodName":"Resource Types"},{"id":"openssl.setup","name":"Installing\/Configuring","description":"OpenSSL","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"openssl.purpose-check","name":"Purpose checking flags","description":"OpenSSL","tag":"section","type":"General","methodName":"Purpose checking flags"},{"id":"openssl.padding","name":"Padding flags for asymmetric encryption","description":"OpenSSL","tag":"section","type":"General","methodName":"Padding flags for asymmetric encryption"},{"id":"openssl.key-types","name":"Key types","description":"OpenSSL","tag":"section","type":"General","methodName":"Key types"},{"id":"openssl.pkcs7.flags","name":"PKCS7 Flags\/Constants","description":"OpenSSL","tag":"section","type":"General","methodName":"PKCS7 Flags\/Constants"},{"id":"openssl.cms.flags","name":"CMS Flags\/Constants","description":"OpenSSL","tag":"section","type":"General","methodName":"CMS Flags\/Constants"},{"id":"openssl.signature-algos","name":"Signature Algorithms","description":"OpenSSL","tag":"section","type":"General","methodName":"Signature Algorithms"},{"id":"openssl.ciphers","name":"Ciphers","description":"OpenSSL","tag":"section","type":"General","methodName":"Ciphers"},{"id":"openssl.constversion","name":"Version constants","description":"OpenSSL","tag":"section","type":"General","methodName":"Version constants"},{"id":"openssl.constsni","name":"Server Name Indication constants","description":"OpenSSL","tag":"section","type":"General","methodName":"Server Name Indication constants"},{"id":"openssl.constants.other","name":"Other Constants","description":"OpenSSL","tag":"section","type":"General","methodName":"Other Constants"},{"id":"openssl.constants","name":"Predefined Constants","description":"OpenSSL","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"openssl.certparams","name":"Key\/Certificate parameters","description":"OpenSSL","tag":"appendix","type":"General","methodName":"Key\/Certificate parameters"},{"id":"openssl.cert.verification","name":"Certificate Verification","description":"OpenSSL","tag":"appendix","type":"General","methodName":"Certificate Verification"},{"id":"function.openssl-cipher-iv-length","name":"openssl_cipher_iv_length","description":"Gets the cipher iv length","tag":"refentry","type":"Function","methodName":"openssl_cipher_iv_length"},{"id":"function.openssl-cipher-key-length","name":"openssl_cipher_key_length","description":"Gets the cipher key length","tag":"refentry","type":"Function","methodName":"openssl_cipher_key_length"},{"id":"function.openssl-cms-decrypt","name":"openssl_cms_decrypt","description":"Decrypt a CMS message","tag":"refentry","type":"Function","methodName":"openssl_cms_decrypt"},{"id":"function.openssl-cms-encrypt","name":"openssl_cms_encrypt","description":"Encrypt a CMS message","tag":"refentry","type":"Function","methodName":"openssl_cms_encrypt"},{"id":"function.openssl-cms-read","name":"openssl_cms_read","description":"Export the CMS file to an array of PEM certificates","tag":"refentry","type":"Function","methodName":"openssl_cms_read"},{"id":"function.openssl-cms-sign","name":"openssl_cms_sign","description":"Sign a file","tag":"refentry","type":"Function","methodName":"openssl_cms_sign"},{"id":"function.openssl-cms-verify","name":"openssl_cms_verify","description":"Verify a CMS signature","tag":"refentry","type":"Function","methodName":"openssl_cms_verify"},{"id":"function.openssl-csr-export","name":"openssl_csr_export","description":"Exports a CSR as a string","tag":"refentry","type":"Function","methodName":"openssl_csr_export"},{"id":"function.openssl-csr-export-to-file","name":"openssl_csr_export_to_file","description":"Exports a CSR to a file","tag":"refentry","type":"Function","methodName":"openssl_csr_export_to_file"},{"id":"function.openssl-csr-get-public-key","name":"openssl_csr_get_public_key","description":"Returns the public key of a CSR","tag":"refentry","type":"Function","methodName":"openssl_csr_get_public_key"},{"id":"function.openssl-csr-get-subject","name":"openssl_csr_get_subject","description":"Returns the subject of a CSR","tag":"refentry","type":"Function","methodName":"openssl_csr_get_subject"},{"id":"function.openssl-csr-new","name":"openssl_csr_new","description":"Generates a CSR","tag":"refentry","type":"Function","methodName":"openssl_csr_new"},{"id":"function.openssl-csr-sign","name":"openssl_csr_sign","description":"Sign a CSR with another certificate (or itself) and generate a certificate","tag":"refentry","type":"Function","methodName":"openssl_csr_sign"},{"id":"function.openssl-decrypt","name":"openssl_decrypt","description":"Decrypts data","tag":"refentry","type":"Function","methodName":"openssl_decrypt"},{"id":"function.openssl-dh-compute-key","name":"openssl_dh_compute_key","description":"Computes shared secret for public value of remote DH public key and local DH key","tag":"refentry","type":"Function","methodName":"openssl_dh_compute_key"},{"id":"function.openssl-digest","name":"openssl_digest","description":"Computes a digest","tag":"refentry","type":"Function","methodName":"openssl_digest"},{"id":"function.openssl-encrypt","name":"openssl_encrypt","description":"Encrypts data","tag":"refentry","type":"Function","methodName":"openssl_encrypt"},{"id":"function.openssl-error-string","name":"openssl_error_string","description":"Return openSSL error message","tag":"refentry","type":"Function","methodName":"openssl_error_string"},{"id":"function.openssl-free-key","name":"openssl_free_key","description":"Free key resource","tag":"refentry","type":"Function","methodName":"openssl_free_key"},{"id":"function.openssl-get-cert-locations","name":"openssl_get_cert_locations","description":"Retrieve the available certificate locations","tag":"refentry","type":"Function","methodName":"openssl_get_cert_locations"},{"id":"function.openssl-get-cipher-methods","name":"openssl_get_cipher_methods","description":"Gets available cipher methods","tag":"refentry","type":"Function","methodName":"openssl_get_cipher_methods"},{"id":"function.openssl-get-curve-names","name":"openssl_get_curve_names","description":"Gets list of available curve names for ECC","tag":"refentry","type":"Function","methodName":"openssl_get_curve_names"},{"id":"function.openssl-get-md-methods","name":"openssl_get_md_methods","description":"Gets available digest methods","tag":"refentry","type":"Function","methodName":"openssl_get_md_methods"},{"id":"function.openssl-get-privatekey","name":"openssl_get_privatekey","description":"Alias of openssl_pkey_get_private","tag":"refentry","type":"Function","methodName":"openssl_get_privatekey"},{"id":"function.openssl-get-publickey","name":"openssl_get_publickey","description":"Alias of openssl_pkey_get_public","tag":"refentry","type":"Function","methodName":"openssl_get_publickey"},{"id":"function.openssl-open","name":"openssl_open","description":"Open sealed data","tag":"refentry","type":"Function","methodName":"openssl_open"},{"id":"function.openssl-pbkdf2","name":"openssl_pbkdf2","description":"Generates a PKCS5 v2 PBKDF2 string","tag":"refentry","type":"Function","methodName":"openssl_pbkdf2"},{"id":"function.openssl-pkcs12-export","name":"openssl_pkcs12_export","description":"Exports a PKCS#12 Compatible Certificate Store File to variable","tag":"refentry","type":"Function","methodName":"openssl_pkcs12_export"},{"id":"function.openssl-pkcs12-export-to-file","name":"openssl_pkcs12_export_to_file","description":"Exports a PKCS#12 Compatible Certificate Store File","tag":"refentry","type":"Function","methodName":"openssl_pkcs12_export_to_file"},{"id":"function.openssl-pkcs12-read","name":"openssl_pkcs12_read","description":"Parse a PKCS#12 Certificate Store into an array","tag":"refentry","type":"Function","methodName":"openssl_pkcs12_read"},{"id":"function.openssl-pkcs7-decrypt","name":"openssl_pkcs7_decrypt","description":"Decrypts an S\/MIME encrypted message","tag":"refentry","type":"Function","methodName":"openssl_pkcs7_decrypt"},{"id":"function.openssl-pkcs7-encrypt","name":"openssl_pkcs7_encrypt","description":"Encrypt an S\/MIME message","tag":"refentry","type":"Function","methodName":"openssl_pkcs7_encrypt"},{"id":"function.openssl-pkcs7-read","name":"openssl_pkcs7_read","description":"Export the PKCS7 file to an array of PEM certificates","tag":"refentry","type":"Function","methodName":"openssl_pkcs7_read"},{"id":"function.openssl-pkcs7-sign","name":"openssl_pkcs7_sign","description":"Sign an S\/MIME message","tag":"refentry","type":"Function","methodName":"openssl_pkcs7_sign"},{"id":"function.openssl-pkcs7-verify","name":"openssl_pkcs7_verify","description":"Verifies the signature of an S\/MIME signed message","tag":"refentry","type":"Function","methodName":"openssl_pkcs7_verify"},{"id":"function.openssl-pkey-derive","name":"openssl_pkey_derive","description":"Computes shared secret for public value of remote and local DH or ECDH key","tag":"refentry","type":"Function","methodName":"openssl_pkey_derive"},{"id":"function.openssl-pkey-export","name":"openssl_pkey_export","description":"Gets an exportable representation of a key into a string","tag":"refentry","type":"Function","methodName":"openssl_pkey_export"},{"id":"function.openssl-pkey-export-to-file","name":"openssl_pkey_export_to_file","description":"Gets an exportable representation of a key into a file","tag":"refentry","type":"Function","methodName":"openssl_pkey_export_to_file"},{"id":"function.openssl-pkey-free","name":"openssl_pkey_free","description":"Frees a private key","tag":"refentry","type":"Function","methodName":"openssl_pkey_free"},{"id":"function.openssl-pkey-get-details","name":"openssl_pkey_get_details","description":"Returns an array with the key details","tag":"refentry","type":"Function","methodName":"openssl_pkey_get_details"},{"id":"function.openssl-pkey-get-private","name":"openssl_pkey_get_private","description":"Get a private key","tag":"refentry","type":"Function","methodName":"openssl_pkey_get_private"},{"id":"function.openssl-pkey-get-public","name":"openssl_pkey_get_public","description":"Extract public key from certificate and prepare it for use","tag":"refentry","type":"Function","methodName":"openssl_pkey_get_public"},{"id":"function.openssl-pkey-new","name":"openssl_pkey_new","description":"Generates a new private key","tag":"refentry","type":"Function","methodName":"openssl_pkey_new"},{"id":"function.openssl-private-decrypt","name":"openssl_private_decrypt","description":"Decrypts data with private key","tag":"refentry","type":"Function","methodName":"openssl_private_decrypt"},{"id":"function.openssl-private-encrypt","name":"openssl_private_encrypt","description":"Encrypts data with private key","tag":"refentry","type":"Function","methodName":"openssl_private_encrypt"},{"id":"function.openssl-public-decrypt","name":"openssl_public_decrypt","description":"Decrypts data with public key","tag":"refentry","type":"Function","methodName":"openssl_public_decrypt"},{"id":"function.openssl-public-encrypt","name":"openssl_public_encrypt","description":"Encrypts data with public key","tag":"refentry","type":"Function","methodName":"openssl_public_encrypt"},{"id":"function.openssl-random-pseudo-bytes","name":"openssl_random_pseudo_bytes","description":"Generate a pseudo-random string of bytes","tag":"refentry","type":"Function","methodName":"openssl_random_pseudo_bytes"},{"id":"function.openssl-seal","name":"openssl_seal","description":"Seal (encrypt) data","tag":"refentry","type":"Function","methodName":"openssl_seal"},{"id":"function.openssl-sign","name":"openssl_sign","description":"Generate signature","tag":"refentry","type":"Function","methodName":"openssl_sign"},{"id":"function.openssl-spki-export","name":"openssl_spki_export","description":"Exports a valid PEM formatted public key signed public key and challenge","tag":"refentry","type":"Function","methodName":"openssl_spki_export"},{"id":"function.openssl-spki-export-challenge","name":"openssl_spki_export_challenge","description":"Exports the challenge associated with a signed public key and challenge","tag":"refentry","type":"Function","methodName":"openssl_spki_export_challenge"},{"id":"function.openssl-spki-new","name":"openssl_spki_new","description":"Generate a new signed public key and challenge","tag":"refentry","type":"Function","methodName":"openssl_spki_new"},{"id":"function.openssl-spki-verify","name":"openssl_spki_verify","description":"Verifies a signed public key and challenge","tag":"refentry","type":"Function","methodName":"openssl_spki_verify"},{"id":"function.openssl-verify","name":"openssl_verify","description":"Verify signature","tag":"refentry","type":"Function","methodName":"openssl_verify"},{"id":"function.openssl-x509-check-private-key","name":"openssl_x509_check_private_key","description":"Checks if a private key corresponds to a certificate","tag":"refentry","type":"Function","methodName":"openssl_x509_check_private_key"},{"id":"function.openssl-x509-checkpurpose","name":"openssl_x509_checkpurpose","description":"Verifies if a certificate can be used for a particular purpose","tag":"refentry","type":"Function","methodName":"openssl_x509_checkpurpose"},{"id":"function.openssl-x509-export","name":"openssl_x509_export","description":"Exports a certificate as a string","tag":"refentry","type":"Function","methodName":"openssl_x509_export"},{"id":"function.openssl-x509-export-to-file","name":"openssl_x509_export_to_file","description":"Exports a certificate to file","tag":"refentry","type":"Function","methodName":"openssl_x509_export_to_file"},{"id":"function.openssl-x509-fingerprint","name":"openssl_x509_fingerprint","description":"Calculates the fingerprint, or digest, of a given X.509 certificate","tag":"refentry","type":"Function","methodName":"openssl_x509_fingerprint"},{"id":"function.openssl-x509-free","name":"openssl_x509_free","description":"Free certificate resource","tag":"refentry","type":"Function","methodName":"openssl_x509_free"},{"id":"function.openssl-x509-parse","name":"openssl_x509_parse","description":"Parse an X509 certificate and return the information as an array","tag":"refentry","type":"Function","methodName":"openssl_x509_parse"},{"id":"function.openssl-x509-read","name":"openssl_x509_read","description":"Parse an X.509 certificate and return an object for\n it","tag":"refentry","type":"Function","methodName":"openssl_x509_read"},{"id":"function.openssl-x509-verify","name":"openssl_x509_verify","description":"Verifies digital signature of x509 certificate against a public key","tag":"refentry","type":"Function","methodName":"openssl_x509_verify"},{"id":"ref.openssl","name":"OpenSSL Functions","description":"OpenSSL","tag":"reference","type":"Extension","methodName":"OpenSSL Functions"},{"id":"class.opensslcertificate","name":"OpenSSLCertificate","description":"The OpenSSLCertificate class","tag":"phpdoc:classref","type":"Class","methodName":"OpenSSLCertificate"},{"id":"class.opensslcertificatesigningrequest","name":"OpenSSLCertificateSigningRequest","description":"The OpenSSLCertificateSigningRequest class","tag":"phpdoc:classref","type":"Class","methodName":"OpenSSLCertificateSigningRequest"},{"id":"class.opensslasymmetrickey","name":"OpenSSLAsymmetricKey","description":"The OpenSSLAsymmetricKey class","tag":"phpdoc:classref","type":"Class","methodName":"OpenSSLAsymmetricKey"},{"id":"book.openssl","name":"OpenSSL","description":"Cryptography Extensions","tag":"book","type":"Extension","methodName":"OpenSSL"},{"id":"intro.password","name":"Introduction","description":"Password Hashing","tag":"preface","type":"General","methodName":"Introduction"},{"id":"password.requirements","name":"Requirements","description":"Password Hashing","tag":"section","type":"General","methodName":"Requirements"},{"id":"password.installation","name":"Installation","description":"Password Hashing","tag":"section","type":"General","methodName":"Installation"},{"id":"password.setup","name":"Installing\/Configuring","description":"Password Hashing","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"password.constants","name":"Predefined Constants","description":"Password Hashing","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.password-algos","name":"password_algos","description":"Get available password hashing algorithm IDs","tag":"refentry","type":"Function","methodName":"password_algos"},{"id":"function.password-get-info","name":"password_get_info","description":"Returns information about the given hash","tag":"refentry","type":"Function","methodName":"password_get_info"},{"id":"function.password-hash","name":"password_hash","description":"Creates a password hash","tag":"refentry","type":"Function","methodName":"password_hash"},{"id":"function.password-needs-rehash","name":"password_needs_rehash","description":"Checks if the given hash matches the given options","tag":"refentry","type":"Function","methodName":"password_needs_rehash"},{"id":"function.password-verify","name":"password_verify","description":"Verifies that a password matches a hash","tag":"refentry","type":"Function","methodName":"password_verify"},{"id":"ref.password","name":"Password Hashing Functions","description":"Password Hashing","tag":"reference","type":"Extension","methodName":"Password Hashing Functions"},{"id":"book.password","name":"Password Hashing","description":"Cryptography Extensions","tag":"book","type":"Extension","methodName":"Password Hashing"},{"id":"intro.rnp","name":"Introduction","description":"Rnp","tag":"preface","type":"General","methodName":"Introduction"},{"id":"rnp.requirements","name":"Requirements","description":"Rnp","tag":"section","type":"General","methodName":"Requirements"},{"id":"rnp.installation","name":"Installation","description":"Rnp","tag":"section","type":"General","methodName":"Installation"},{"id":"rnp.setup","name":"Installing\/Configuring","description":"Rnp","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"rnp.constants","name":"Predefined Constants","description":"Rnp","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"rnp.examples-clearsign","name":"Clearsign text","description":"Rnp","tag":"section","type":"General","methodName":"Clearsign text"},{"id":"rnp.examples","name":"Examples","description":"Rnp","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.rnp-backend-string","name":"rnp_backend_string","description":"Return cryptographic backend library name","tag":"refentry","type":"Function","methodName":"rnp_backend_string"},{"id":"function.rnp-backend-version","name":"rnp_backend_version","description":"Return cryptographic backend library version","tag":"refentry","type":"Function","methodName":"rnp_backend_version"},{"id":"function.rnp-decrypt","name":"rnp_decrypt","description":"Decrypt PGP message","tag":"refentry","type":"Function","methodName":"rnp_decrypt"},{"id":"function.rnp-dump-packets","name":"rnp_dump_packets","description":"Dump OpenPGP packets stream information in humand-readable format","tag":"refentry","type":"Function","methodName":"rnp_dump_packets"},{"id":"function.rnp-dump-packets-to-json","name":"rnp_dump_packets_to_json","description":"Dump OpenPGP packets stream information to the JSON string","tag":"refentry","type":"Function","methodName":"rnp_dump_packets_to_json"},{"id":"function.rnp-ffi-create","name":"rnp_ffi_create","description":"Create the top-level object used for interacting with the library","tag":"refentry","type":"Function","methodName":"rnp_ffi_create"},{"id":"function.rnp-ffi-destroy","name":"rnp_ffi_destroy","description":"Destroy the top-level object used for interacting with the library","tag":"refentry","type":"Function","methodName":"rnp_ffi_destroy"},{"id":"function.rnp-ffi-set-pass-provider","name":"rnp_ffi_set_pass_provider","description":"Set password provider callback function","tag":"refentry","type":"Function","methodName":"rnp_ffi_set_pass_provider"},{"id":"function.rnp-import-keys","name":"rnp_import_keys","description":"Import keys from PHP string to the keyring and receive JSON describing new\/updated keys","tag":"refentry","type":"Function","methodName":"rnp_import_keys"},{"id":"function.rnp-import-signatures","name":"rnp_import_signatures","description":"Import standalone signatures to the keyring and receive JSON describing updated keys","tag":"refentry","type":"Function","methodName":"rnp_import_signatures"},{"id":"function.rnp-key-export","name":"rnp_key_export","description":"Export a key","tag":"refentry","type":"Function","methodName":"rnp_key_export"},{"id":"function.rnp-key-export-autocrypt","name":"rnp_key_export_autocrypt","description":"Export minimal key for autocrypt feature (just 5 packets: key, uid, signature,\n encryption subkey, signature)","tag":"refentry","type":"Function","methodName":"rnp_key_export_autocrypt"},{"id":"function.rnp-key-export-revocation","name":"rnp_key_export_revocation","description":"Generate and export primary key revocation signature","tag":"refentry","type":"Function","methodName":"rnp_key_export_revocation"},{"id":"function.rnp-key-get-info","name":"rnp_key_get_info","description":"Get information about the key","tag":"refentry","type":"Function","methodName":"rnp_key_get_info"},{"id":"function.rnp-key-remove","name":"rnp_key_remove","description":"Remove a key from keyring(s)","tag":"refentry","type":"Function","methodName":"rnp_key_remove"},{"id":"function.rnp-key-revoke","name":"rnp_key_revoke","description":"Revoke a key or subkey by generating and adding revocation signature","tag":"refentry","type":"Function","methodName":"rnp_key_revoke"},{"id":"function.rnp-list-keys","name":"rnp_list_keys","description":"Enumerate all keys present in a keyring by specified identifer type","tag":"refentry","type":"Function","methodName":"rnp_list_keys"},{"id":"function.rnp-load-keys","name":"rnp_load_keys","description":"Load keys from PHP string","tag":"refentry","type":"Function","methodName":"rnp_load_keys"},{"id":"function.rnp-load-keys-from-path","name":"rnp_load_keys_from_path","description":"Load keys from specified path","tag":"refentry","type":"Function","methodName":"rnp_load_keys_from_path"},{"id":"function.rnp-locate-key","name":"rnp_locate_key","description":"Search for the key","tag":"refentry","type":"Function","methodName":"rnp_locate_key"},{"id":"function.rnp-op-encrypt","name":"rnp_op_encrypt","description":"Encrypt message","tag":"refentry","type":"Function","methodName":"rnp_op_encrypt"},{"id":"function.rnp-op-generate-key","name":"rnp_op_generate_key","description":"Generate key","tag":"refentry","type":"Function","methodName":"rnp_op_generate_key"},{"id":"function.rnp-op-sign","name":"rnp_op_sign","description":"Perform signing operation on a binary data, return embedded signature(s)","tag":"refentry","type":"Function","methodName":"rnp_op_sign"},{"id":"function.rnp-op-sign-cleartext","name":"rnp_op_sign_cleartext","description":"Perform signing operation on a textual data, return cleartext signed message","tag":"refentry","type":"Function","methodName":"rnp_op_sign_cleartext"},{"id":"function.rnp-op-sign-detached","name":"rnp_op_sign_detached","description":"Perform signing operation, return detached signature(s)","tag":"refentry","type":"Function","methodName":"rnp_op_sign_detached"},{"id":"function.rnp-op-verify","name":"rnp_op_verify","description":"Verify embedded or cleartext signatures","tag":"refentry","type":"Function","methodName":"rnp_op_verify"},{"id":"function.rnp-op-verify-detached","name":"rnp_op_verify_detached","description":"Verify detached signatures","tag":"refentry","type":"Function","methodName":"rnp_op_verify_detached"},{"id":"function.rnp-save-keys","name":"rnp_save_keys","description":"Save keys to PHP string","tag":"refentry","type":"Function","methodName":"rnp_save_keys"},{"id":"function.rnp-save-keys-to-path","name":"rnp_save_keys_to_path","description":"Save keys to specified path","tag":"refentry","type":"Function","methodName":"rnp_save_keys_to_path"},{"id":"function.rnp-supported-features","name":"rnp_supported_features","description":"Get supported features in JSON format","tag":"refentry","type":"Function","methodName":"rnp_supported_features"},{"id":"function.rnp-version-string","name":"rnp_version_string","description":"RNP library version","tag":"refentry","type":"Function","methodName":"rnp_version_string"},{"id":"function.rnp-version-string-full","name":"rnp_version_string_full","description":"Full version string of RNP library","tag":"refentry","type":"Function","methodName":"rnp_version_string_full"},{"id":"ref.rnp","name":"Rnp Functions","description":"Rnp","tag":"reference","type":"Extension","methodName":"Rnp Functions"},{"id":"class.rnpffi","name":"RnpFFI","description":"The RnpFFI class","tag":"phpdoc:classref","type":"Class","methodName":"RnpFFI"},{"id":"book.rnp","name":"Rnp","description":"Rnp","tag":"book","type":"Extension","methodName":"Rnp"},{"id":"intro.sodium","name":"Introduction","description":"Sodium","tag":"preface","type":"General","methodName":"Introduction"},{"id":"sodium.requirements","name":"Requirements","description":"Sodium","tag":"section","type":"General","methodName":"Requirements"},{"id":"sodium.installation","name":"Installation","description":"Sodium","tag":"section","type":"General","methodName":"Installation"},{"id":"sodium.setup","name":"Installing\/Configuring","description":"Sodium","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"sodium.constants","name":"Predefined Constants","description":"Sodium","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.sodium-add","name":"sodium_add","description":"Add large numbers","tag":"refentry","type":"Function","methodName":"sodium_add"},{"id":"function.sodium-base642bin","name":"sodium_base642bin","description":"Decodes a base64-encoded string into raw binary.","tag":"refentry","type":"Function","methodName":"sodium_base642bin"},{"id":"function.sodium-bin2base64","name":"sodium_bin2base64","description":"Encodes a raw binary string with base64.","tag":"refentry","type":"Function","methodName":"sodium_bin2base64"},{"id":"function.sodium-bin2hex","name":"sodium_bin2hex","description":"Encode to hexadecimal","tag":"refentry","type":"Function","methodName":"sodium_bin2hex"},{"id":"function.sodium-compare","name":"sodium_compare","description":"Compare large numbers","tag":"refentry","type":"Function","methodName":"sodium_compare"},{"id":"function.sodium-crypto-aead-aegis128l-decrypt","name":"sodium_crypto_aead_aegis128l_decrypt","description":"Verify then decrypt a message with AEGIS-128L","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aegis128l_decrypt"},{"id":"function.sodium-crypto-aead-aegis128l-encrypt","name":"sodium_crypto_aead_aegis128l_encrypt","description":"Encrypt then authenticate a message with AEGIS-128L","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aegis128l_encrypt"},{"id":"function.sodium-crypto-aead-aegis128l-keygen","name":"sodium_crypto_aead_aegis128l_keygen","description":"Generate a random AEGIS-128L key","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aegis128l_keygen"},{"id":"function.sodium-crypto-aead-aegis256-decrypt","name":"sodium_crypto_aead_aegis256_decrypt","description":"Verify then decrypt a message with AEGIS-256","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aegis256_decrypt"},{"id":"function.sodium-crypto-aead-aegis256-encrypt","name":"sodium_crypto_aead_aegis256_encrypt","description":"Encrypt then authenticate a message with AEGIS-256","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aegis256_encrypt"},{"id":"function.sodium-crypto-aead-aegis256-keygen","name":"sodium_crypto_aead_aegis256_keygen","description":"Generate a random AEGIS-256 key","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aegis256_keygen"},{"id":"function.sodium-crypto-aead-aes256gcm-decrypt","name":"sodium_crypto_aead_aes256gcm_decrypt","description":"Verify then decrypt a message with AES-256-GCM","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aes256gcm_decrypt"},{"id":"function.sodium-crypto-aead-aes256gcm-encrypt","name":"sodium_crypto_aead_aes256gcm_encrypt","description":"Encrypt then authenticate with AES-256-GCM","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aes256gcm_encrypt"},{"id":"function.sodium-crypto-aead-aes256gcm-is-available","name":"sodium_crypto_aead_aes256gcm_is_available","description":"Check if hardware supports AES256-GCM","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aes256gcm_is_available"},{"id":"function.sodium-crypto-aead-aes256gcm-keygen","name":"sodium_crypto_aead_aes256gcm_keygen","description":"Generate a random AES-256-GCM key","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_aes256gcm_keygen"},{"id":"function.sodium-crypto-aead-chacha20poly1305-decrypt","name":"sodium_crypto_aead_chacha20poly1305_decrypt","description":"Verify then decrypt with ChaCha20-Poly1305","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_chacha20poly1305_decrypt"},{"id":"function.sodium-crypto-aead-chacha20poly1305-encrypt","name":"sodium_crypto_aead_chacha20poly1305_encrypt","description":"Encrypt then authenticate with ChaCha20-Poly1305","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_chacha20poly1305_encrypt"},{"id":"function.sodium-crypto-aead-chacha20poly1305-ietf-decrypt","name":"sodium_crypto_aead_chacha20poly1305_ietf_decrypt","description":"Verify that the ciphertext includes a valid tag","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_chacha20poly1305_ietf_decrypt"},{"id":"function.sodium-crypto-aead-chacha20poly1305-ietf-encrypt","name":"sodium_crypto_aead_chacha20poly1305_ietf_encrypt","description":"Encrypt a message","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_chacha20poly1305_ietf_encrypt"},{"id":"function.sodium-crypto-aead-chacha20poly1305-ietf-keygen","name":"sodium_crypto_aead_chacha20poly1305_ietf_keygen","description":"Generate a random ChaCha20-Poly1305 (IETF) key.","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_chacha20poly1305_ietf_keygen"},{"id":"function.sodium-crypto-aead-chacha20poly1305-keygen","name":"sodium_crypto_aead_chacha20poly1305_keygen","description":"Generate a random ChaCha20-Poly1305 key.","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_chacha20poly1305_keygen"},{"id":"function.sodium-crypto-aead-xchacha20poly1305-ietf-decrypt","name":"sodium_crypto_aead_xchacha20poly1305_ietf_decrypt","description":"(Preferred) Verify then decrypt with XChaCha20-Poly1305","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_xchacha20poly1305_ietf_decrypt"},{"id":"function.sodium-crypto-aead-xchacha20poly1305-ietf-encrypt","name":"sodium_crypto_aead_xchacha20poly1305_ietf_encrypt","description":"(Preferred) Encrypt then authenticate with XChaCha20-Poly1305","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_xchacha20poly1305_ietf_encrypt"},{"id":"function.sodium-crypto-aead-xchacha20poly1305-ietf-keygen","name":"sodium_crypto_aead_xchacha20poly1305_ietf_keygen","description":"Generate a random XChaCha20-Poly1305 key.","tag":"refentry","type":"Function","methodName":"sodium_crypto_aead_xchacha20poly1305_ietf_keygen"},{"id":"function.sodium-crypto-auth","name":"sodium_crypto_auth","description":"Compute a tag for the message","tag":"refentry","type":"Function","methodName":"sodium_crypto_auth"},{"id":"function.sodium-crypto-auth-keygen","name":"sodium_crypto_auth_keygen","description":"Generate a random key for sodium_crypto_auth","tag":"refentry","type":"Function","methodName":"sodium_crypto_auth_keygen"},{"id":"function.sodium-crypto-auth-verify","name":"sodium_crypto_auth_verify","description":"Verifies that the tag is valid for the message","tag":"refentry","type":"Function","methodName":"sodium_crypto_auth_verify"},{"id":"function.sodium-crypto-box","name":"sodium_crypto_box","description":"Authenticated public-key encryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_box"},{"id":"function.sodium-crypto-box-keypair","name":"sodium_crypto_box_keypair","description":"Randomly generate a secret key and a corresponding public key","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_keypair"},{"id":"function.sodium-crypto-box-keypair-from-secretkey-and-publickey","name":"sodium_crypto_box_keypair_from_secretkey_and_publickey","description":"Create a unified keypair string from a secret key and public key","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_keypair_from_secretkey_and_publickey"},{"id":"function.sodium-crypto-box-open","name":"sodium_crypto_box_open","description":"Authenticated public-key decryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_open"},{"id":"function.sodium-crypto-box-publickey","name":"sodium_crypto_box_publickey","description":"Extract the public key from a crypto_box keypair","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_publickey"},{"id":"function.sodium-crypto-box-publickey-from-secretkey","name":"sodium_crypto_box_publickey_from_secretkey","description":"Calculate the public key from a secret key","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_publickey_from_secretkey"},{"id":"function.sodium-crypto-box-seal","name":"sodium_crypto_box_seal","description":"Anonymous public-key encryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_seal"},{"id":"function.sodium-crypto-box-seal-open","name":"sodium_crypto_box_seal_open","description":"Anonymous public-key decryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_seal_open"},{"id":"function.sodium-crypto-box-secretkey","name":"sodium_crypto_box_secretkey","description":"Extracts the secret key from a crypto_box keypair","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_secretkey"},{"id":"function.sodium-crypto-box-seed-keypair","name":"sodium_crypto_box_seed_keypair","description":"Deterministically derive the key pair from a single key","tag":"refentry","type":"Function","methodName":"sodium_crypto_box_seed_keypair"},{"id":"function.sodium-crypto-core-ristretto255-add","name":"sodium_crypto_core_ristretto255_add","description":"Adds an element","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_add"},{"id":"function.sodium-crypto-core-ristretto255-from-hash","name":"sodium_crypto_core_ristretto255_from_hash","description":"Maps a vector","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_from_hash"},{"id":"function.sodium-crypto-core-ristretto255-is-valid-point","name":"sodium_crypto_core_ristretto255_is_valid_point","description":"Determines if a point on the ristretto255 curve","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_is_valid_point"},{"id":"function.sodium-crypto-core-ristretto255-random","name":"sodium_crypto_core_ristretto255_random","description":"Generates a random key","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_random"},{"id":"function.sodium-crypto-core-ristretto255-scalar-add","name":"sodium_crypto_core_ristretto255_scalar_add","description":"Adds a scalar value","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_add"},{"id":"function.sodium-crypto-core-ristretto255-scalar-complement","name":"sodium_crypto_core_ristretto255_scalar_complement","description":"The sodium_crypto_core_ristretto255_scalar_complement purpose","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_complement"},{"id":"function.sodium-crypto-core-ristretto255-scalar-invert","name":"sodium_crypto_core_ristretto255_scalar_invert","description":"Inverts a scalar value","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_invert"},{"id":"function.sodium-crypto-core-ristretto255-scalar-mul","name":"sodium_crypto_core_ristretto255_scalar_mul","description":"Multiplies a scalar value","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_mul"},{"id":"function.sodium-crypto-core-ristretto255-scalar-negate","name":"sodium_crypto_core_ristretto255_scalar_negate","description":"Negates a scalar value","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_negate"},{"id":"function.sodium-crypto-core-ristretto255-scalar-random","name":"sodium_crypto_core_ristretto255_scalar_random","description":"Generates a random key","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_random"},{"id":"function.sodium-crypto-core-ristretto255-scalar-reduce","name":"sodium_crypto_core_ristretto255_scalar_reduce","description":"Reduces a scalar value","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_reduce"},{"id":"function.sodium-crypto-core-ristretto255-scalar-sub","name":"sodium_crypto_core_ristretto255_scalar_sub","description":"Subtracts a scalar value","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_scalar_sub"},{"id":"function.sodium-crypto-core-ristretto255-sub","name":"sodium_crypto_core_ristretto255_sub","description":"Subtracts an element","tag":"refentry","type":"Function","methodName":"sodium_crypto_core_ristretto255_sub"},{"id":"function.sodium-crypto-generichash","name":"sodium_crypto_generichash","description":"Get a hash of the message","tag":"refentry","type":"Function","methodName":"sodium_crypto_generichash"},{"id":"function.sodium-crypto-generichash-final","name":"sodium_crypto_generichash_final","description":"Complete the hash","tag":"refentry","type":"Function","methodName":"sodium_crypto_generichash_final"},{"id":"function.sodium-crypto-generichash-init","name":"sodium_crypto_generichash_init","description":"Initialize a hash for streaming","tag":"refentry","type":"Function","methodName":"sodium_crypto_generichash_init"},{"id":"function.sodium-crypto-generichash-keygen","name":"sodium_crypto_generichash_keygen","description":"Generate a random generichash key","tag":"refentry","type":"Function","methodName":"sodium_crypto_generichash_keygen"},{"id":"function.sodium-crypto-generichash-update","name":"sodium_crypto_generichash_update","description":"Add message to a hash","tag":"refentry","type":"Function","methodName":"sodium_crypto_generichash_update"},{"id":"function.sodium-crypto-kdf-derive-from-key","name":"sodium_crypto_kdf_derive_from_key","description":"Derive a subkey","tag":"refentry","type":"Function","methodName":"sodium_crypto_kdf_derive_from_key"},{"id":"function.sodium-crypto-kdf-keygen","name":"sodium_crypto_kdf_keygen","description":"Generate a random root key for the KDF interface","tag":"refentry","type":"Function","methodName":"sodium_crypto_kdf_keygen"},{"id":"function.sodium-crypto-kx-client-session-keys","name":"sodium_crypto_kx_client_session_keys","description":"Calculate the client-side session keys.","tag":"refentry","type":"Function","methodName":"sodium_crypto_kx_client_session_keys"},{"id":"function.sodium-crypto-kx-keypair","name":"sodium_crypto_kx_keypair","description":"Creates a new sodium keypair","tag":"refentry","type":"Function","methodName":"sodium_crypto_kx_keypair"},{"id":"function.sodium-crypto-kx-publickey","name":"sodium_crypto_kx_publickey","description":"Extract the public key from a crypto_kx keypair","tag":"refentry","type":"Function","methodName":"sodium_crypto_kx_publickey"},{"id":"function.sodium-crypto-kx-secretkey","name":"sodium_crypto_kx_secretkey","description":"Extract the secret key from a crypto_kx keypair.","tag":"refentry","type":"Function","methodName":"sodium_crypto_kx_secretkey"},{"id":"function.sodium-crypto-kx-seed-keypair","name":"sodium_crypto_kx_seed_keypair","description":"Description","tag":"refentry","type":"Function","methodName":"sodium_crypto_kx_seed_keypair"},{"id":"function.sodium-crypto-kx-server-session-keys","name":"sodium_crypto_kx_server_session_keys","description":"Calculate the server-side session keys.","tag":"refentry","type":"Function","methodName":"sodium_crypto_kx_server_session_keys"},{"id":"function.sodium-crypto-pwhash","name":"sodium_crypto_pwhash","description":"Derive a key from a password, using Argon2","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash"},{"id":"function.sodium-crypto-pwhash-scryptsalsa208sha256","name":"sodium_crypto_pwhash_scryptsalsa208sha256","description":"Derives a key from a password, using scrypt","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash_scryptsalsa208sha256"},{"id":"function.sodium-crypto-pwhash-scryptsalsa208sha256-str","name":"sodium_crypto_pwhash_scryptsalsa208sha256_str","description":"Get an ASCII encoded hash","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash_scryptsalsa208sha256_str"},{"id":"function.sodium-crypto-pwhash-scryptsalsa208sha256-str-verify","name":"sodium_crypto_pwhash_scryptsalsa208sha256_str_verify","description":"Verify that the password is a valid password verification string","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash_scryptsalsa208sha256_str_verify"},{"id":"function.sodium-crypto-pwhash-str","name":"sodium_crypto_pwhash_str","description":"Get an ASCII-encoded hash","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash_str"},{"id":"function.sodium-crypto-pwhash-str-needs-rehash","name":"sodium_crypto_pwhash_str_needs_rehash","description":"Determine whether or not to rehash a password","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash_str_needs_rehash"},{"id":"function.sodium-crypto-pwhash-str-verify","name":"sodium_crypto_pwhash_str_verify","description":"Verifies that a password matches a hash","tag":"refentry","type":"Function","methodName":"sodium_crypto_pwhash_str_verify"},{"id":"function.sodium-crypto-scalarmult","name":"sodium_crypto_scalarmult","description":"Compute a shared secret given a user's secret key and another user's public key","tag":"refentry","type":"Function","methodName":"sodium_crypto_scalarmult"},{"id":"function.sodium-crypto-scalarmult-base","name":"sodium_crypto_scalarmult_base","description":"Alias of sodium_crypto_box_publickey_from_secretkey","tag":"refentry","type":"Function","methodName":"sodium_crypto_scalarmult_base"},{"id":"function.sodium-crypto-scalarmult-ristretto255","name":"sodium_crypto_scalarmult_ristretto255","description":"Computes a shared secret","tag":"refentry","type":"Function","methodName":"sodium_crypto_scalarmult_ristretto255"},{"id":"function.sodium-crypto-scalarmult-ristretto255-base","name":"sodium_crypto_scalarmult_ristretto255_base","description":"Calculates the public key from a secret key","tag":"refentry","type":"Function","methodName":"sodium_crypto_scalarmult_ristretto255_base"},{"id":"function.sodium-crypto-secretbox","name":"sodium_crypto_secretbox","description":"Authenticated shared-key encryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretbox"},{"id":"function.sodium-crypto-secretbox-keygen","name":"sodium_crypto_secretbox_keygen","description":"Generate random key for sodium_crypto_secretbox","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretbox_keygen"},{"id":"function.sodium-crypto-secretbox-open","name":"sodium_crypto_secretbox_open","description":"Authenticated shared-key decryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretbox_open"},{"id":"function.sodium-crypto-secretstream-xchacha20poly1305-init-pull","name":"sodium_crypto_secretstream_xchacha20poly1305_init_pull","description":"Initialize a secretstream context for decryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretstream_xchacha20poly1305_init_pull"},{"id":"function.sodium-crypto-secretstream-xchacha20poly1305-init-push","name":"sodium_crypto_secretstream_xchacha20poly1305_init_push","description":"Initialize a secretstream context for encryption","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretstream_xchacha20poly1305_init_push"},{"id":"function.sodium-crypto-secretstream-xchacha20poly1305-keygen","name":"sodium_crypto_secretstream_xchacha20poly1305_keygen","description":"Generate a random secretstream key.","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretstream_xchacha20poly1305_keygen"},{"id":"function.sodium-crypto-secretstream-xchacha20poly1305-pull","name":"sodium_crypto_secretstream_xchacha20poly1305_pull","description":"Decrypt a chunk of data from an encrypted stream","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretstream_xchacha20poly1305_pull"},{"id":"function.sodium-crypto-secretstream-xchacha20poly1305-push","name":"sodium_crypto_secretstream_xchacha20poly1305_push","description":"Encrypt a chunk of data so that it can safely be decrypted in a streaming API","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretstream_xchacha20poly1305_push"},{"id":"function.sodium-crypto-secretstream-xchacha20poly1305-rekey","name":"sodium_crypto_secretstream_xchacha20poly1305_rekey","description":"Explicitly rotate the key in the secretstream state","tag":"refentry","type":"Function","methodName":"sodium_crypto_secretstream_xchacha20poly1305_rekey"},{"id":"function.sodium-crypto-shorthash","name":"sodium_crypto_shorthash","description":"Compute a short hash of a message and key","tag":"refentry","type":"Function","methodName":"sodium_crypto_shorthash"},{"id":"function.sodium-crypto-shorthash-keygen","name":"sodium_crypto_shorthash_keygen","description":"Get random bytes for key","tag":"refentry","type":"Function","methodName":"sodium_crypto_shorthash_keygen"},{"id":"function.sodium-crypto-sign","name":"sodium_crypto_sign","description":"Sign a message","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign"},{"id":"function.sodium-crypto-sign-detached","name":"sodium_crypto_sign_detached","description":"Sign the message","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_detached"},{"id":"function.sodium-crypto-sign-ed25519-pk-to-curve25519","name":"sodium_crypto_sign_ed25519_pk_to_curve25519","description":"Convert an Ed25519 public key to a Curve25519 public key","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_ed25519_pk_to_curve25519"},{"id":"function.sodium-crypto-sign-ed25519-sk-to-curve25519","name":"sodium_crypto_sign_ed25519_sk_to_curve25519","description":"Convert an Ed25519 secret key to a Curve25519 secret key","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_ed25519_sk_to_curve25519"},{"id":"function.sodium-crypto-sign-keypair","name":"sodium_crypto_sign_keypair","description":"Randomly generate a secret key and a corresponding public key","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_keypair"},{"id":"function.sodium-crypto-sign-keypair-from-secretkey-and-publickey","name":"sodium_crypto_sign_keypair_from_secretkey_and_publickey","description":"Join a secret key and public key together","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_keypair_from_secretkey_and_publickey"},{"id":"function.sodium-crypto-sign-open","name":"sodium_crypto_sign_open","description":"Check that the signed message has a valid signature","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_open"},{"id":"function.sodium-crypto-sign-publickey","name":"sodium_crypto_sign_publickey","description":"Extract the Ed25519 public key from a keypair","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_publickey"},{"id":"function.sodium-crypto-sign-publickey-from-secretkey","name":"sodium_crypto_sign_publickey_from_secretkey","description":"Extract the Ed25519 public key from the secret key","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_publickey_from_secretkey"},{"id":"function.sodium-crypto-sign-secretkey","name":"sodium_crypto_sign_secretkey","description":"Extract the Ed25519 secret key from a keypair","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_secretkey"},{"id":"function.sodium-crypto-sign-seed-keypair","name":"sodium_crypto_sign_seed_keypair","description":"Deterministically derive the key pair from a single key","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_seed_keypair"},{"id":"function.sodium-crypto-sign-verify-detached","name":"sodium_crypto_sign_verify_detached","description":"Verify signature for the message","tag":"refentry","type":"Function","methodName":"sodium_crypto_sign_verify_detached"},{"id":"function.sodium-crypto-stream","name":"sodium_crypto_stream","description":"Generate a deterministic sequence of bytes from a seed","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream"},{"id":"function.sodium-crypto-stream-keygen","name":"sodium_crypto_stream_keygen","description":"Generate a random sodium_crypto_stream key.","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream_keygen"},{"id":"function.sodium-crypto-stream-xchacha20","name":"sodium_crypto_stream_xchacha20","description":"Expands the key and nonce into a keystream of pseudorandom bytes","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream_xchacha20"},{"id":"function.sodium-crypto-stream-xchacha20-keygen","name":"sodium_crypto_stream_xchacha20_keygen","description":"Returns a secure random key","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream_xchacha20_keygen"},{"id":"function.sodium-crypto-stream-xchacha20-xor","name":"sodium_crypto_stream_xchacha20_xor","description":"Encrypts a message using a nonce and a secret key (no authentication)","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream_xchacha20_xor"},{"id":"function.sodium-crypto-stream-xchacha20-xor-ic","name":"sodium_crypto_stream_xchacha20_xor_ic","description":"Encrypts a message using a nonce and a secret key (no authentication)","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream_xchacha20_xor_ic"},{"id":"function.sodium-crypto-stream-xor","name":"sodium_crypto_stream_xor","description":"Encrypt a message without authentication","tag":"refentry","type":"Function","methodName":"sodium_crypto_stream_xor"},{"id":"function.sodium-hex2bin","name":"sodium_hex2bin","description":"Decodes a hexadecimally encoded binary string","tag":"refentry","type":"Function","methodName":"sodium_hex2bin"},{"id":"function.sodium-increment","name":"sodium_increment","description":"Increment large number","tag":"refentry","type":"Function","methodName":"sodium_increment"},{"id":"function.sodium-memcmp","name":"sodium_memcmp","description":"Test for equality in constant-time","tag":"refentry","type":"Function","methodName":"sodium_memcmp"},{"id":"function.sodium-memzero","name":"sodium_memzero","description":"Overwrite a string with NUL characters","tag":"refentry","type":"Function","methodName":"sodium_memzero"},{"id":"function.sodium-pad","name":"sodium_pad","description":"Add padding data","tag":"refentry","type":"Function","methodName":"sodium_pad"},{"id":"function.sodium-unpad","name":"sodium_unpad","description":"Remove padding data","tag":"refentry","type":"Function","methodName":"sodium_unpad"},{"id":"ref.sodium","name":"Sodium Functions","description":"Sodium","tag":"reference","type":"Extension","methodName":"Sodium Functions"},{"id":"class.sodiumexception","name":"SodiumException","description":"The SodiumException class","tag":"phpdoc:classref","type":"Class","methodName":"SodiumException"},{"id":"book.sodium","name":"Sodium","description":"Sodium","tag":"book","type":"Extension","methodName":"Sodium"},{"id":"intro.xpass","name":"Introduction","description":"Xpass","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xpass.requirements","name":"Requirements","description":"Xpass","tag":"section","type":"General","methodName":"Requirements"},{"id":"xpass.installation","name":"Installation via PECL","description":"Xpass","tag":"section","type":"General","methodName":"Installation via PECL"},{"id":"xpass.setup","name":"Installing\/Configuring","description":"Xpass","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xpass.constants","name":"Predefined Constants","description":"Xpass","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.crypt-checksalt","name":"crypt_checksalt","description":"Validate a crypt setting string","tag":"refentry","type":"Function","methodName":"crypt_checksalt"},{"id":"function.crypt-gensalt","name":"crypt_gensalt","description":"Compile a string for use as the salt argument to crypt","tag":"refentry","type":"Function","methodName":"crypt_gensalt"},{"id":"function.crypt-preferred-method","name":"crypt_preferred_method","description":"Get the prefix of the preferred hash method","tag":"refentry","type":"Function","methodName":"crypt_preferred_method"},{"id":"ref.xpass","name":"Xpass Functions","description":"Xpass","tag":"reference","type":"Extension","methodName":"Xpass Functions"},{"id":"book.xpass","name":"Xpass","description":"Xpass","tag":"book","type":"Extension","methodName":"Xpass"},{"id":"refs.crypto","name":"Cryptography Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Cryptography Extensions"},{"id":"intro.dba","name":"Introduction","description":"Database (dbm-style) Abstraction Layer","tag":"preface","type":"General","methodName":"Introduction"},{"id":"dba.requirements","name":"Requirements","description":"Database (dbm-style) Abstraction Layer","tag":"section","type":"General","methodName":"Requirements"},{"id":"dba.installation","name":"Installation","description":"Database (dbm-style) Abstraction Layer","tag":"section","type":"General","methodName":"Installation"},{"id":"dba.configuration","name":"Runtime Configuration","description":"Database (dbm-style) Abstraction Layer","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"dba.resources","name":"Resource Types","description":"Database (dbm-style) Abstraction Layer","tag":"section","type":"General","methodName":"Resource Types"},{"id":"dba.setup","name":"Installing\/Configuring","description":"Database (dbm-style) Abstraction Layer","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"dba.constants","name":"Predefined Constants","description":"Database (dbm-style) Abstraction Layer","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"dba.example","name":"Basic usage","description":"Database (dbm-style) Abstraction Layer","tag":"section","type":"General","methodName":"Basic usage"},{"id":"dba.examples","name":"Examples","description":"Database (dbm-style) Abstraction Layer","tag":"chapter","type":"General","methodName":"Examples"},{"id":"class.dba-connection","name":"Dba\\Connection","description":"The Dba\\Connection class","tag":"phpdoc:classref","type":"Class","methodName":"Dba\\Connection"},{"id":"function.dba-close","name":"dba_close","description":"Close a DBA database","tag":"refentry","type":"Function","methodName":"dba_close"},{"id":"function.dba-delete","name":"dba_delete","description":"Delete DBA entry specified by key","tag":"refentry","type":"Function","methodName":"dba_delete"},{"id":"function.dba-exists","name":"dba_exists","description":"Check whether key exists","tag":"refentry","type":"Function","methodName":"dba_exists"},{"id":"function.dba-fetch","name":"dba_fetch","description":"Fetch data specified by key","tag":"refentry","type":"Function","methodName":"dba_fetch"},{"id":"function.dba-firstkey","name":"dba_firstkey","description":"Fetch first key","tag":"refentry","type":"Function","methodName":"dba_firstkey"},{"id":"function.dba-handlers","name":"dba_handlers","description":"List all the handlers available","tag":"refentry","type":"Function","methodName":"dba_handlers"},{"id":"function.dba-insert","name":"dba_insert","description":"Insert entry","tag":"refentry","type":"Function","methodName":"dba_insert"},{"id":"function.dba-key-split","name":"dba_key_split","description":"Splits a key in string representation into array representation","tag":"refentry","type":"Function","methodName":"dba_key_split"},{"id":"function.dba-list","name":"dba_list","description":"List all open database files","tag":"refentry","type":"Function","methodName":"dba_list"},{"id":"function.dba-nextkey","name":"dba_nextkey","description":"Fetch next key","tag":"refentry","type":"Function","methodName":"dba_nextkey"},{"id":"function.dba-open","name":"dba_open","description":"Open database","tag":"refentry","type":"Function","methodName":"dba_open"},{"id":"function.dba-optimize","name":"dba_optimize","description":"Optimize database","tag":"refentry","type":"Function","methodName":"dba_optimize"},{"id":"function.dba-popen","name":"dba_popen","description":"Open database persistently","tag":"refentry","type":"Function","methodName":"dba_popen"},{"id":"function.dba-replace","name":"dba_replace","description":"Replace or insert entry","tag":"refentry","type":"Function","methodName":"dba_replace"},{"id":"function.dba-sync","name":"dba_sync","description":"Synchronize database","tag":"refentry","type":"Function","methodName":"dba_sync"},{"id":"ref.dba","name":"DBA Functions","description":"Database (dbm-style) Abstraction Layer","tag":"reference","type":"Extension","methodName":"DBA Functions"},{"id":"book.dba","name":"DBA","description":"Database (dbm-style) Abstraction Layer","tag":"book","type":"Extension","methodName":"DBA"},{"id":"intro.uodbc","name":"Introduction","description":"ODBC (Unified)","tag":"preface","type":"General","methodName":"Introduction"},{"id":"uodbc.requirements","name":"Requirements","description":"ODBC (Unified)","tag":"section","type":"General","methodName":"Requirements"},{"id":"odbc.installation","name":"Installation","description":"ODBC (Unified)","tag":"section","type":"General","methodName":"Installation"},{"id":"odbc.configuration","name":"Runtime Configuration","description":"ODBC (Unified)","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"uodbc.resources","name":"Resource Types","description":"ODBC (Unified)","tag":"section","type":"General","methodName":"Resource Types"},{"id":"uodbc.setup","name":"Installing\/Configuring","description":"ODBC (Unified)","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"uodbc.constants","name":"Predefined Constants","description":"ODBC (Unified)","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.odbc-autocommit","name":"odbc_autocommit","description":"Toggle autocommit behaviour","tag":"refentry","type":"Function","methodName":"odbc_autocommit"},{"id":"function.odbc-binmode","name":"odbc_binmode","description":"Handling of binary column data","tag":"refentry","type":"Function","methodName":"odbc_binmode"},{"id":"function.odbc-close","name":"odbc_close","description":"Close an ODBC connection","tag":"refentry","type":"Function","methodName":"odbc_close"},{"id":"function.odbc-close-all","name":"odbc_close_all","description":"Close all ODBC connections","tag":"refentry","type":"Function","methodName":"odbc_close_all"},{"id":"function.odbc-columnprivileges","name":"odbc_columnprivileges","description":"Lists columns and associated privileges for the given table","tag":"refentry","type":"Function","methodName":"odbc_columnprivileges"},{"id":"function.odbc-columns","name":"odbc_columns","description":"Lists the column names in specified tables","tag":"refentry","type":"Function","methodName":"odbc_columns"},{"id":"function.odbc-commit","name":"odbc_commit","description":"Commit an ODBC transaction","tag":"refentry","type":"Function","methodName":"odbc_commit"},{"id":"function.odbc-connect","name":"odbc_connect","description":"Connect to a datasource","tag":"refentry","type":"Function","methodName":"odbc_connect"},{"id":"function.odbc-connection-string-is-quoted","name":"odbc_connection_string_is_quoted","description":"Determines if an ODBC connection string value is quoted","tag":"refentry","type":"Function","methodName":"odbc_connection_string_is_quoted"},{"id":"function.odbc-connection-string-quote","name":"odbc_connection_string_quote","description":"Quotes an ODBC connection string value","tag":"refentry","type":"Function","methodName":"odbc_connection_string_quote"},{"id":"function.odbc-connection-string-should-quote","name":"odbc_connection_string_should_quote","description":"Determines if an ODBC connection string value should be quoted","tag":"refentry","type":"Function","methodName":"odbc_connection_string_should_quote"},{"id":"function.odbc-cursor","name":"odbc_cursor","description":"Get cursorname","tag":"refentry","type":"Function","methodName":"odbc_cursor"},{"id":"function.odbc-data-source","name":"odbc_data_source","description":"Returns information about available DSNs","tag":"refentry","type":"Function","methodName":"odbc_data_source"},{"id":"function.odbc-do","name":"odbc_do","description":"Alias of odbc_exec","tag":"refentry","type":"Function","methodName":"odbc_do"},{"id":"function.odbc-error","name":"odbc_error","description":"Get the last error code","tag":"refentry","type":"Function","methodName":"odbc_error"},{"id":"function.odbc-errormsg","name":"odbc_errormsg","description":"Get the last error message","tag":"refentry","type":"Function","methodName":"odbc_errormsg"},{"id":"function.odbc-exec","name":"odbc_exec","description":"Directly execute an SQL statement","tag":"refentry","type":"Function","methodName":"odbc_exec"},{"id":"function.odbc-execute","name":"odbc_execute","description":"Execute a prepared statement","tag":"refentry","type":"Function","methodName":"odbc_execute"},{"id":"function.odbc-fetch-array","name":"odbc_fetch_array","description":"Fetch a result row as an associative array","tag":"refentry","type":"Function","methodName":"odbc_fetch_array"},{"id":"function.odbc-fetch-into","name":"odbc_fetch_into","description":"Fetch one result row into array","tag":"refentry","type":"Function","methodName":"odbc_fetch_into"},{"id":"function.odbc-fetch-object","name":"odbc_fetch_object","description":"Fetch a result row as an object","tag":"refentry","type":"Function","methodName":"odbc_fetch_object"},{"id":"function.odbc-fetch-row","name":"odbc_fetch_row","description":"Fetch a row","tag":"refentry","type":"Function","methodName":"odbc_fetch_row"},{"id":"function.odbc-field-len","name":"odbc_field_len","description":"Get the length (precision) of a field","tag":"refentry","type":"Function","methodName":"odbc_field_len"},{"id":"function.odbc-field-name","name":"odbc_field_name","description":"Get the columnname","tag":"refentry","type":"Function","methodName":"odbc_field_name"},{"id":"function.odbc-field-num","name":"odbc_field_num","description":"Return column number","tag":"refentry","type":"Function","methodName":"odbc_field_num"},{"id":"function.odbc-field-precision","name":"odbc_field_precision","description":"Alias of odbc_field_len","tag":"refentry","type":"Function","methodName":"odbc_field_precision"},{"id":"function.odbc-field-scale","name":"odbc_field_scale","description":"Get the scale of a field","tag":"refentry","type":"Function","methodName":"odbc_field_scale"},{"id":"function.odbc-field-type","name":"odbc_field_type","description":"Datatype of a field","tag":"refentry","type":"Function","methodName":"odbc_field_type"},{"id":"function.odbc-foreignkeys","name":"odbc_foreignkeys","description":"Retrieves a list of foreign keys","tag":"refentry","type":"Function","methodName":"odbc_foreignkeys"},{"id":"function.odbc-free-result","name":"odbc_free_result","description":"Free objects associated with a result","tag":"refentry","type":"Function","methodName":"odbc_free_result"},{"id":"function.odbc-gettypeinfo","name":"odbc_gettypeinfo","description":"Retrieves information about data types supported by the data source","tag":"refentry","type":"Function","methodName":"odbc_gettypeinfo"},{"id":"function.odbc-longreadlen","name":"odbc_longreadlen","description":"Handling of LONG columns","tag":"refentry","type":"Function","methodName":"odbc_longreadlen"},{"id":"function.odbc-next-result","name":"odbc_next_result","description":"Checks if multiple results are available","tag":"refentry","type":"Function","methodName":"odbc_next_result"},{"id":"function.odbc-num-fields","name":"odbc_num_fields","description":"Number of columns in a result","tag":"refentry","type":"Function","methodName":"odbc_num_fields"},{"id":"function.odbc-num-rows","name":"odbc_num_rows","description":"Number of rows in a result","tag":"refentry","type":"Function","methodName":"odbc_num_rows"},{"id":"function.odbc-pconnect","name":"odbc_pconnect","description":"Open a persistent database connection","tag":"refentry","type":"Function","methodName":"odbc_pconnect"},{"id":"function.odbc-prepare","name":"odbc_prepare","description":"Prepares a statement for execution","tag":"refentry","type":"Function","methodName":"odbc_prepare"},{"id":"function.odbc-primarykeys","name":"odbc_primarykeys","description":"Gets the primary keys for a table","tag":"refentry","type":"Function","methodName":"odbc_primarykeys"},{"id":"function.odbc-procedurecolumns","name":"odbc_procedurecolumns","description":"Retrieve information about parameters to procedures","tag":"refentry","type":"Function","methodName":"odbc_procedurecolumns"},{"id":"function.odbc-procedures","name":"odbc_procedures","description":"Get the list of procedures stored in a specific data source","tag":"refentry","type":"Function","methodName":"odbc_procedures"},{"id":"function.odbc-result","name":"odbc_result","description":"Get result data","tag":"refentry","type":"Function","methodName":"odbc_result"},{"id":"function.odbc-result-all","name":"odbc_result_all","description":"Print result as HTML table","tag":"refentry","type":"Function","methodName":"odbc_result_all"},{"id":"function.odbc-rollback","name":"odbc_rollback","description":"Rollback a transaction","tag":"refentry","type":"Function","methodName":"odbc_rollback"},{"id":"function.odbc-setoption","name":"odbc_setoption","description":"Adjust ODBC settings","tag":"refentry","type":"Function","methodName":"odbc_setoption"},{"id":"function.odbc-specialcolumns","name":"odbc_specialcolumns","description":"Retrieves special columns","tag":"refentry","type":"Function","methodName":"odbc_specialcolumns"},{"id":"function.odbc-statistics","name":"odbc_statistics","description":"Retrieve statistics about a table","tag":"refentry","type":"Function","methodName":"odbc_statistics"},{"id":"function.odbc-tableprivileges","name":"odbc_tableprivileges","description":"Lists tables and the privileges associated with each table","tag":"refentry","type":"Function","methodName":"odbc_tableprivileges"},{"id":"function.odbc-tables","name":"odbc_tables","description":"Get the list of table names stored in a specific data source","tag":"refentry","type":"Function","methodName":"odbc_tables"},{"id":"ref.uodbc","name":"ODBC Functions","description":"ODBC (Unified)","tag":"reference","type":"Extension","methodName":"ODBC Functions"},{"id":"book.uodbc","name":"ODBC","description":"ODBC (Unified)","tag":"book","type":"Extension","methodName":"ODBC"},{"id":"intro.pdo","name":"Introduction","description":"PHP Data Objects","tag":"preface","type":"General","methodName":"Introduction"},{"id":"pdo.installation","name":"Installation","description":"PHP Data Objects","tag":"section","type":"General","methodName":"Installation"},{"id":"pdo.configuration","name":"Runtime Configuration","description":"PHP Data Objects","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"pdo.setup","name":"Installing\/Configuring","description":"PHP Data Objects","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"pdo.constants.fetch-modes","name":"Fetch Modes","description":"PHP Data Objects","tag":"section","type":"General","methodName":"Fetch Modes"},{"id":"pdo.constants","name":"Predefined Constants","description":"PHP Data Objects","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"pdo.connections","name":"Connections and Connection management","description":"PHP Data Objects","tag":"chapter","type":"General","methodName":"Connections and Connection management"},{"id":"pdo.transactions","name":"Transactions and auto-commit","description":"PHP Data Objects","tag":"chapter","type":"General","methodName":"Transactions and auto-commit"},{"id":"pdo.prepared-statements","name":"Prepared statements and stored procedures","description":"PHP Data Objects","tag":"chapter","type":"General","methodName":"Prepared statements and stored procedures"},{"id":"pdo.error-handling","name":"Errors and error handling","description":"PHP Data Objects","tag":"chapter","type":"General","methodName":"Errors and error handling"},{"id":"pdo.lobs","name":"Large Objects (LOBs)","description":"PHP Data Objects","tag":"chapter","type":"General","methodName":"Large Objects (LOBs)"},{"id":"pdo.begintransaction","name":"PDO::beginTransaction","description":"Initiates a transaction","tag":"refentry","type":"Function","methodName":"beginTransaction"},{"id":"pdo.commit","name":"PDO::commit","description":"Commits a transaction","tag":"refentry","type":"Function","methodName":"commit"},{"id":"pdo.connect","name":"PDO::connect","description":"Connect to a database and return a PDO subclass for drivers that support it","tag":"refentry","type":"Function","methodName":"connect"},{"id":"pdo.construct","name":"PDO::__construct","description":"Creates a PDO instance representing a connection to a database","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"pdo.errorcode","name":"PDO::errorCode","description":"Fetch the SQLSTATE associated with the last operation on the database handle","tag":"refentry","type":"Function","methodName":"errorCode"},{"id":"pdo.errorinfo","name":"PDO::errorInfo","description":"Fetch extended error information associated with the last operation on the database handle","tag":"refentry","type":"Function","methodName":"errorInfo"},{"id":"pdo.exec","name":"PDO::exec","description":"Execute an SQL statement and return the number of affected rows","tag":"refentry","type":"Function","methodName":"exec"},{"id":"pdo.getattribute","name":"PDO::getAttribute","description":"Retrieve a database connection attribute","tag":"refentry","type":"Function","methodName":"getAttribute"},{"id":"pdo.getavailabledrivers","name":"pdo_drivers","description":"Return an array of available PDO drivers","tag":"refentry","type":"Function","methodName":"pdo_drivers"},{"id":"pdo.getavailabledrivers","name":"PDO::getAvailableDrivers","description":"Return an array of available PDO drivers","tag":"refentry","type":"Function","methodName":"getAvailableDrivers"},{"id":"pdo.intransaction","name":"PDO::inTransaction","description":"Checks if inside a transaction","tag":"refentry","type":"Function","methodName":"inTransaction"},{"id":"pdo.lastinsertid","name":"PDO::lastInsertId","description":"Returns the ID of the last inserted row or sequence value","tag":"refentry","type":"Function","methodName":"lastInsertId"},{"id":"pdo.prepare","name":"PDO::prepare","description":"Prepares a statement for execution and returns a statement object","tag":"refentry","type":"Function","methodName":"prepare"},{"id":"pdo.query","name":"PDO::query","description":"Prepares and executes an SQL statement without placeholders","tag":"refentry","type":"Function","methodName":"query"},{"id":"pdo.quote","name":"PDO::quote","description":"Quotes a string for use in a query","tag":"refentry","type":"Function","methodName":"quote"},{"id":"pdo.rollback","name":"PDO::rollBack","description":"Rolls back a transaction","tag":"refentry","type":"Function","methodName":"rollBack"},{"id":"pdo.setattribute","name":"PDO::setAttribute","description":"Set an attribute","tag":"refentry","type":"Function","methodName":"setAttribute"},{"id":"class.pdo","name":"PDO","description":"The PDO class","tag":"phpdoc:classref","type":"Class","methodName":"PDO"},{"id":"pdostatement.bindcolumn","name":"PDOStatement::bindColumn","description":"Bind a column to a PHP variable","tag":"refentry","type":"Function","methodName":"bindColumn"},{"id":"pdostatement.bindparam","name":"PDOStatement::bindParam","description":"Binds a parameter to the specified variable name","tag":"refentry","type":"Function","methodName":"bindParam"},{"id":"pdostatement.bindvalue","name":"PDOStatement::bindValue","description":"Binds a value to a parameter","tag":"refentry","type":"Function","methodName":"bindValue"},{"id":"pdostatement.closecursor","name":"PDOStatement::closeCursor","description":"Closes the cursor, enabling the statement to be executed again","tag":"refentry","type":"Function","methodName":"closeCursor"},{"id":"pdostatement.columncount","name":"PDOStatement::columnCount","description":"Returns the number of columns in the result set","tag":"refentry","type":"Function","methodName":"columnCount"},{"id":"pdostatement.debugdumpparams","name":"PDOStatement::debugDumpParams","description":"Dump an SQL prepared command","tag":"refentry","type":"Function","methodName":"debugDumpParams"},{"id":"pdostatement.errorcode","name":"PDOStatement::errorCode","description":"Fetch the SQLSTATE associated with the last operation on the statement handle","tag":"refentry","type":"Function","methodName":"errorCode"},{"id":"pdostatement.errorinfo","name":"PDOStatement::errorInfo","description":"Fetch extended error information associated with the last operation on the statement handle","tag":"refentry","type":"Function","methodName":"errorInfo"},{"id":"pdostatement.execute","name":"PDOStatement::execute","description":"Executes a prepared statement","tag":"refentry","type":"Function","methodName":"execute"},{"id":"pdostatement.fetch","name":"PDOStatement::fetch","description":"Fetches the next row from a result set","tag":"refentry","type":"Function","methodName":"fetch"},{"id":"pdostatement.fetchall","name":"PDOStatement::fetchAll","description":"Fetches the remaining rows from a result set","tag":"refentry","type":"Function","methodName":"fetchAll"},{"id":"pdostatement.fetchcolumn","name":"PDOStatement::fetchColumn","description":"Returns a single column from the next row of a result set","tag":"refentry","type":"Function","methodName":"fetchColumn"},{"id":"pdostatement.fetchobject","name":"PDOStatement::fetchObject","description":"Fetches the next row and returns it as an object","tag":"refentry","type":"Function","methodName":"fetchObject"},{"id":"pdostatement.getattribute","name":"PDOStatement::getAttribute","description":"Retrieve a statement attribute","tag":"refentry","type":"Function","methodName":"getAttribute"},{"id":"pdostatement.getcolumnmeta","name":"PDOStatement::getColumnMeta","description":"Returns metadata for a column in a result set","tag":"refentry","type":"Function","methodName":"getColumnMeta"},{"id":"pdostatement.getiterator","name":"PDOStatement::getIterator","description":"Gets result set iterator","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"pdostatement.nextrowset","name":"PDOStatement::nextRowset","description":"Advances to the next rowset in a multi-rowset statement handle","tag":"refentry","type":"Function","methodName":"nextRowset"},{"id":"pdostatement.rowcount","name":"PDOStatement::rowCount","description":"Returns the number of rows affected by the last SQL statement","tag":"refentry","type":"Function","methodName":"rowCount"},{"id":"pdostatement.setattribute","name":"PDOStatement::setAttribute","description":"Set a statement attribute","tag":"refentry","type":"Function","methodName":"setAttribute"},{"id":"pdostatement.setfetchmode","name":"PDOStatement::setFetchMode","description":"Set the default fetch mode for this statement","tag":"refentry","type":"Function","methodName":"setFetchMode"},{"id":"class.pdostatement","name":"PDOStatement","description":"The PDOStatement class","tag":"phpdoc:classref","type":"Class","methodName":"PDOStatement"},{"id":"class.pdorow","name":"PDORow","description":"The PDORow class","tag":"phpdoc:classref","type":"Class","methodName":"PDORow"},{"id":"class.pdoexception","name":"PDOException","description":"The PDOException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"PDOException"},{"id":"ref.pdo-cubrid.connection","name":"PDO_CUBRID DSN","description":"Connecting to CUBRID databases","tag":"refentry","type":"Function","methodName":"PDO_CUBRID DSN"},{"id":"pdo.cubrid-schema","name":"PDO::cubrid_schema","description":"Get the requested schema information","tag":"refentry","type":"Function","methodName":"cubrid_schema"},{"id":"ref.pdo-cubrid","name":"CUBRID PDO Driver","description":"CUBRID PDO Driver (PDO_CUBRID)","tag":"reference","type":"Extension","methodName":"CUBRID PDO Driver"},{"id":"ref.pdo-dblib.connection","name":"PDO_DBLIB DSN","description":"Connecting to Microsoft SQL Server and Sybase databases","tag":"refentry","type":"Function","methodName":"PDO_DBLIB DSN"},{"id":"ref.pdo-dblib","name":"MS SQL Server PDO Driver","description":"Microsoft SQL Server and Sybase PDO Driver (PDO_DBLIB)","tag":"reference","type":"Extension","methodName":"MS SQL Server PDO Driver"},{"id":"class.pdo-dblib","name":"Pdo\\Dblib","description":"The Pdo\\Dblib class","tag":"phpdoc:classref","type":"Class","methodName":"Pdo\\Dblib"},{"id":"ref.pdo-firebird.connection","name":"PDO_FIREBIRD DSN","description":"Connecting to Firebird databases","tag":"refentry","type":"Function","methodName":"PDO_FIREBIRD DSN"},{"id":"ref.pdo-firebird","name":"Firebird PDO Driver","description":"Firebird PDO Driver (PDO_FIREBIRD)","tag":"reference","type":"Extension","methodName":"Firebird PDO Driver"},{"id":"pdo-firebird.getapiversion","name":"Pdo\\Firebird::getApiVersion","description":"Get the API version","tag":"refentry","type":"Function","methodName":"getApiVersion"},{"id":"class.pdo-firebird","name":"Pdo\\Firebird","description":"The Pdo\\Firebird class","tag":"phpdoc:classref","type":"Class","methodName":"Pdo\\Firebird"},{"id":"ref.pdo-ibm.connection","name":"PDO_IBM DSN","description":"Connecting to IBM databases","tag":"refentry","type":"Function","methodName":"PDO_IBM DSN"},{"id":"ref.pdo-ibm","name":"IBM PDO Driver","description":"IBM PDO Driver (PDO_IBM)","tag":"reference","type":"Extension","methodName":"IBM PDO Driver"},{"id":"ref.pdo-informix.connection","name":"PDO_INFORMIX DSN","description":"Connecting to Informix databases","tag":"refentry","type":"Function","methodName":"PDO_INFORMIX DSN"},{"id":"ref.pdo-informix","name":"Informix PDO Driver","description":"Informix PDO Driver (PDO_INFORMIX)","tag":"reference","type":"Extension","methodName":"Informix PDO Driver"},{"id":"ref.pdo-mysql.connection","name":"PDO_MYSQL DSN","description":"Connecting to MySQL databases","tag":"refentry","type":"Function","methodName":"PDO_MYSQL DSN"},{"id":"ref.pdo-mysql","name":"MySQL PDO Driver","description":"MySQL PDO Driver (PDO_MYSQL)","tag":"reference","type":"Extension","methodName":"MySQL PDO Driver"},{"id":"pdo-mysql.getwarningcount","name":"Pdo\\Mysql::getWarningCount","description":"Returns the number of warnings from the last executed query","tag":"refentry","type":"Function","methodName":"getWarningCount"},{"id":"class.pdo-mysql","name":"Pdo\\Mysql","description":"The Pdo\\Mysql class","tag":"phpdoc:classref","type":"Class","methodName":"Pdo\\Mysql"},{"id":"ref.pdo-sqlsrv.connection","name":"PDO_SQLSRV DSN","description":"Connecting to MS SQL Server and SQL Azure databases","tag":"refentry","type":"Function","methodName":"PDO_SQLSRV DSN"},{"id":"ref.pdo-sqlsrv","name":"MS SQL Server PDO Driver","description":"Microsoft SQL Server PDO Driver (PDO_SQLSRV)","tag":"reference","type":"Extension","methodName":"MS SQL Server PDO Driver"},{"id":"ref.pdo-oci.connection","name":"PDO_OCI DSN","description":"Connecting to Oracle databases","tag":"refentry","type":"Function","methodName":"PDO_OCI DSN"},{"id":"ref.pdo-oci","name":"Oracle PDO Driver","description":"Oracle PDO Driver (PDO_OCI)","tag":"reference","type":"Extension","methodName":"Oracle PDO Driver"},{"id":"ref.pdo-odbc.connection","name":"PDO_ODBC DSN","description":"Connecting to ODBC or DB2 databases","tag":"refentry","type":"Function","methodName":"PDO_ODBC DSN"},{"id":"ref.pdo-odbc","name":"ODBC and DB2 PDO Driver","description":"ODBC and DB2 PDO Driver (PDO_ODBC)","tag":"reference","type":"Extension","methodName":"ODBC and DB2 PDO Driver"},{"id":"class.pdo-odbc","name":"Pdo\\Odbc","description":"The Pdo\\Odbc class","tag":"phpdoc:classref","type":"Class","methodName":"Pdo\\Odbc"},{"id":"ref.pdo-pgsql.connection","name":"PDO_PGSQL DSN","description":"Connecting to PostgreSQL databases","tag":"refentry","type":"Function","methodName":"PDO_PGSQL DSN"},{"id":"pdo.pgsqlcopyfromarray","name":"PDO::pgsqlCopyFromArray","description":"Alias of Pdo\\Pgsql::copyFromArray","tag":"refentry","type":"Function","methodName":"pgsqlCopyFromArray"},{"id":"pdo.pgsqlcopyfromfile","name":"PDO::pgsqlCopyFromFile","description":"Alias of Pdo\\Pgsql::copyFromFile","tag":"refentry","type":"Function","methodName":"pgsqlCopyFromFile"},{"id":"pdo.pgsqlcopytoarray","name":"PDO::pgsqlCopyToArray","description":"Alias of Pdo\\Pgsql::copyToArray","tag":"refentry","type":"Function","methodName":"pgsqlCopyToArray"},{"id":"pdo.pgsqlcopytofile","name":"PDO::pgsqlCopyToFile","description":"Alias of Pdo\\Pgsql::copyToFile","tag":"refentry","type":"Function","methodName":"pgsqlCopyToFile"},{"id":"pdo.pgsqlgetnotify","name":"PDO::pgsqlGetNotify","description":"Alias of Pdo\\Pgsql::getNotify","tag":"refentry","type":"Function","methodName":"pgsqlGetNotify"},{"id":"pdo.pgsqlgetpid","name":"PDO::pgsqlGetPid","description":"Alias of Pdo\\Pgsql::getPid","tag":"refentry","type":"Function","methodName":"pgsqlGetPid"},{"id":"pdo.pgsqllobcreate","name":"PDO::pgsqlLOBCreate","description":"Alias of Pdo\\Pgsql::lobCreate","tag":"refentry","type":"Function","methodName":"pgsqlLOBCreate"},{"id":"pdo.pgsqllobopen","name":"PDO::pgsqlLOBOpen","description":"Alias of Pdo\\Pgsql::lobOpen","tag":"refentry","type":"Function","methodName":"pgsqlLOBOpen"},{"id":"pdo.pgsqllobunlink","name":"PDO::pgsqlLOBUnlink","description":"Alias of Pdo\\Pgsql::lobUnlink","tag":"refentry","type":"Function","methodName":"pgsqlLOBUnlink"},{"id":"ref.pdo-pgsql","name":"PostgreSQL PDO Driver","description":"PostgreSQL PDO Driver (PDO_PGSQL)","tag":"reference","type":"Extension","methodName":"PostgreSQL PDO Driver"},{"id":"pdo-pgsql.copyfromarray","name":"Pdo\\Pgsql::copyFromArray","description":"Copy data from a PHP array into a table","tag":"refentry","type":"Function","methodName":"copyFromArray"},{"id":"pdo-pgsql.copyfromfile","name":"Pdo\\Pgsql::copyFromFile","description":"Copy data from file into table","tag":"refentry","type":"Function","methodName":"copyFromFile"},{"id":"pdo-pgsql.copytoarray","name":"Pdo\\Pgsql::copyToArray","description":"Copy data from database table into PHP array","tag":"refentry","type":"Function","methodName":"copyToArray"},{"id":"pdo-pgsql.copytofile","name":"Pdo\\Pgsql::copyToFile","description":"Copy data from table into file","tag":"refentry","type":"Function","methodName":"copyToFile"},{"id":"pdo-pgsql.escapeidentifier","name":"Pdo\\Pgsql::escapeIdentifier","description":"Escapes a string for use as an SQL identifier","tag":"refentry","type":"Function","methodName":"escapeIdentifier"},{"id":"pdo-pgsql.getnotify","name":"Pdo\\Pgsql::getNotify","description":"Get asynchronous notification","tag":"refentry","type":"Function","methodName":"getNotify"},{"id":"pdo-pgsql.getpid","name":"Pdo\\Pgsql::getPid","description":"Get the PID of the backend process handling this connection","tag":"refentry","type":"Function","methodName":"getPid"},{"id":"pdo-pgsql.lobcreate","name":"Pdo\\Pgsql::lobCreate","description":"Creates a new large object","tag":"refentry","type":"Function","methodName":"lobCreate"},{"id":"pdo-pgsql.lobopen","name":"Pdo\\Pgsql::lobOpen","description":"Opens an existing large object stream","tag":"refentry","type":"Function","methodName":"lobOpen"},{"id":"pdo-pgsql.lobunlink","name":"Pdo\\Pgsql::lobUnlink","description":"Deletes the large object","tag":"refentry","type":"Function","methodName":"lobUnlink"},{"id":"pdo-pgsql.setnoticecallback","name":"Pdo\\Pgsql::setNoticeCallback","description":"Set a callback to handle notice and warning messages generated by the backend","tag":"refentry","type":"Function","methodName":"setNoticeCallback"},{"id":"class.pdo-pgsql","name":"Pdo\\Pgsql","description":"The Pdo\\Pgsql class","tag":"phpdoc:classref","type":"Class","methodName":"Pdo\\Pgsql"},{"id":"ref.pdo-sqlite.connection","name":"PDO_SQLITE DSN","description":"Connecting to SQLite databases","tag":"refentry","type":"Function","methodName":"PDO_SQLITE DSN"},{"id":"pdo.sqlitecreateaggregate","name":"PDO::sqliteCreateAggregate","description":"Alias of Pdo\\Sqlite::createAggregate","tag":"refentry","type":"Function","methodName":"sqliteCreateAggregate"},{"id":"pdo.sqlitecreatecollation","name":"PDO::sqliteCreateCollation","description":"Alias of Pdo\\Sqlite::createCollation","tag":"refentry","type":"Function","methodName":"sqliteCreateCollation"},{"id":"pdo.sqlitecreatefunction","name":"PDO::sqliteCreateFunction","description":"Alias of Pdo\\Sqlite::createFunction","tag":"refentry","type":"Function","methodName":"sqliteCreateFunction"},{"id":"ref.pdo-sqlite","name":"SQLite PDO Driver","description":"SQLite PDO Driver (PDO_SQLITE)","tag":"reference","type":"Extension","methodName":"SQLite PDO Driver"},{"id":"pdo-sqlite.createaggregate","name":"Pdo\\Sqlite::createAggregate","description":"Registers an aggregating user-defined function for use in SQL statements","tag":"refentry","type":"Function","methodName":"createAggregate"},{"id":"pdo-sqlite.createcollation","name":"Pdo\\Sqlite::createCollation","description":"Registers a user-defined function for use as a collating function in SQL statements","tag":"refentry","type":"Function","methodName":"createCollation"},{"id":"pdo-sqlite.createfunction","name":"Pdo\\Sqlite::createFunction","description":"Registers a user-defined function for use in SQL statements","tag":"refentry","type":"Function","methodName":"createFunction"},{"id":"pdo-sqlite.loadextension","name":"Pdo\\Sqlite::loadExtension","description":"Description","tag":"refentry","type":"Function","methodName":"loadExtension"},{"id":"pdo-sqlite.openblob","name":"Pdo\\Sqlite::openBlob","description":"Description","tag":"refentry","type":"Function","methodName":"openBlob"},{"id":"class.pdo-sqlite","name":"Pdo\\Sqlite","description":"The Pdo\\Sqlite class","tag":"phpdoc:classref","type":"Class","methodName":"Pdo\\Sqlite"},{"id":"pdo.drivers","name":"PDO Drivers","description":"PHP Data Objects","tag":"part","type":"General","methodName":"PDO Drivers"},{"id":"book.pdo","name":"PDO","description":"PHP Data Objects","tag":"book","type":"Extension","methodName":"PDO"},{"id":"refs.database.abstract","name":"Abstraction Layers","description":"Database Extensions","tag":"set","type":"Extension","methodName":"Abstraction Layers"},{"id":"intro.cubrid","name":"Introduction","description":"CUBRID","tag":"preface","type":"General","methodName":"Introduction"},{"id":"cubrid.requirements","name":"Requirements","description":"CUBRID","tag":"section","type":"General","methodName":"Requirements"},{"id":"cubrid.installation","name":"Installation","description":"CUBRID","tag":"section","type":"General","methodName":"Installation"},{"id":"cubrid.configuration","name":"Runtime Configuration","description":"CUBRID","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"cubrid.resources","name":"Resource Types","description":"CUBRID","tag":"section","type":"General","methodName":"Resource Types"},{"id":"cubrid.setup","name":"Installing\/Configuring","description":"CUBRID","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"cubrid.constants","name":"Predefined Constants","description":"CUBRID","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"cubrid.examples","name":"Examples","description":"CUBRID","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.cubrid-bind","name":"cubrid_bind","description":"Bind variables to a prepared statement as parameters","tag":"refentry","type":"Function","methodName":"cubrid_bind"},{"id":"function.cubrid-close-prepare","name":"cubrid_close_prepare","description":"Close the request handle","tag":"refentry","type":"Function","methodName":"cubrid_close_prepare"},{"id":"function.cubrid-close-request","name":"cubrid_close_request","description":"Close the request handle","tag":"refentry","type":"Function","methodName":"cubrid_close_request"},{"id":"function.cubrid-col-get","name":"cubrid_col_get","description":"Get contents of collection type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_col_get"},{"id":"function.cubrid-col-size","name":"cubrid_col_size","description":"Get the number of elements in collection type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_col_size"},{"id":"function.cubrid-column-names","name":"cubrid_column_names","description":"Get the column names in result","tag":"refentry","type":"Function","methodName":"cubrid_column_names"},{"id":"function.cubrid-column-types","name":"cubrid_column_types","description":"Get column types in result","tag":"refentry","type":"Function","methodName":"cubrid_column_types"},{"id":"function.cubrid-commit","name":"cubrid_commit","description":"Commit a transaction","tag":"refentry","type":"Function","methodName":"cubrid_commit"},{"id":"function.cubrid-connect","name":"cubrid_connect","description":"Open a connection to a CUBRID Server","tag":"refentry","type":"Function","methodName":"cubrid_connect"},{"id":"function.cubrid-connect-with-url","name":"cubrid_connect_with_url","description":"Establish the environment for connecting to CUBRID server","tag":"refentry","type":"Function","methodName":"cubrid_connect_with_url"},{"id":"function.cubrid-current-oid","name":"cubrid_current_oid","description":"Get OID of the current cursor location","tag":"refentry","type":"Function","methodName":"cubrid_current_oid"},{"id":"function.cubrid-disconnect","name":"cubrid_disconnect","description":"Close a database connection","tag":"refentry","type":"Function","methodName":"cubrid_disconnect"},{"id":"function.cubrid-drop","name":"cubrid_drop","description":"Delete an instance using OID","tag":"refentry","type":"Function","methodName":"cubrid_drop"},{"id":"function.cubrid-error-code","name":"cubrid_error_code","description":"Get error code for the most recent function call","tag":"refentry","type":"Function","methodName":"cubrid_error_code"},{"id":"function.cubrid-error-code-facility","name":"cubrid_error_code_facility","description":"Get the facility code of error","tag":"refentry","type":"Function","methodName":"cubrid_error_code_facility"},{"id":"function.cubrid-error-msg","name":"cubrid_error_msg","description":"Get last error message for the most recent function call","tag":"refentry","type":"Function","methodName":"cubrid_error_msg"},{"id":"function.cubrid-execute","name":"cubrid_execute","description":"Execute a prepared SQL statement","tag":"refentry","type":"Function","methodName":"cubrid_execute"},{"id":"function.cubrid-fetch","name":"cubrid_fetch","description":"Fetch the next row from a result set","tag":"refentry","type":"Function","methodName":"cubrid_fetch"},{"id":"function.cubrid-free-result","name":"cubrid_free_result","description":"Free the memory occupied by the result data","tag":"refentry","type":"Function","methodName":"cubrid_free_result"},{"id":"function.cubrid-get","name":"cubrid_get","description":"Get a column using OID","tag":"refentry","type":"Function","methodName":"cubrid_get"},{"id":"function.cubrid-get-autocommit","name":"cubrid_get_autocommit","description":"Get auto-commit mode of the connection","tag":"refentry","type":"Function","methodName":"cubrid_get_autocommit"},{"id":"function.cubrid-get-charset","name":"cubrid_get_charset","description":"Return the current CUBRID connection charset","tag":"refentry","type":"Function","methodName":"cubrid_get_charset"},{"id":"function.cubrid-get-class-name","name":"cubrid_get_class_name","description":"Get the class name using OID","tag":"refentry","type":"Function","methodName":"cubrid_get_class_name"},{"id":"function.cubrid-get-client-info","name":"cubrid_get_client_info","description":"Return the client library version","tag":"refentry","type":"Function","methodName":"cubrid_get_client_info"},{"id":"function.cubrid-get-db-parameter","name":"cubrid_get_db_parameter","description":"Returns the CUBRID database parameters","tag":"refentry","type":"Function","methodName":"cubrid_get_db_parameter"},{"id":"function.cubrid-get-query-timeout","name":"cubrid_get_query_timeout","description":"Get the query timeout value of the request","tag":"refentry","type":"Function","methodName":"cubrid_get_query_timeout"},{"id":"function.cubrid-get-server-info","name":"cubrid_get_server_info","description":"Return the CUBRID server version","tag":"refentry","type":"Function","methodName":"cubrid_get_server_info"},{"id":"function.cubrid-insert-id","name":"cubrid_insert_id","description":"Return the ID generated for the last updated AUTO_INCREMENT column","tag":"refentry","type":"Function","methodName":"cubrid_insert_id"},{"id":"function.cubrid-is-instance","name":"cubrid_is_instance","description":"Check whether the instance pointed by OID exists","tag":"refentry","type":"Function","methodName":"cubrid_is_instance"},{"id":"function.cubrid-lob-close","name":"cubrid_lob_close","description":"Close BLOB\/CLOB data","tag":"refentry","type":"Function","methodName":"cubrid_lob_close"},{"id":"function.cubrid-lob-export","name":"cubrid_lob_export","description":"Export BLOB\/CLOB data to file","tag":"refentry","type":"Function","methodName":"cubrid_lob_export"},{"id":"function.cubrid-lob-get","name":"cubrid_lob_get","description":"Get BLOB\/CLOB data","tag":"refentry","type":"Function","methodName":"cubrid_lob_get"},{"id":"function.cubrid-lob-send","name":"cubrid_lob_send","description":"Read BLOB\/CLOB data and send straight to browser","tag":"refentry","type":"Function","methodName":"cubrid_lob_send"},{"id":"function.cubrid-lob-size","name":"cubrid_lob_size","description":"Get BLOB\/CLOB data size","tag":"refentry","type":"Function","methodName":"cubrid_lob_size"},{"id":"function.cubrid-lob2-bind","name":"cubrid_lob2_bind","description":"Bind a lob object or a string as a lob object to a prepared statement as parameters","tag":"refentry","type":"Function","methodName":"cubrid_lob2_bind"},{"id":"function.cubrid-lob2-close","name":"cubrid_lob2_close","description":"Close LOB object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_close"},{"id":"function.cubrid-lob2-export","name":"cubrid_lob2_export","description":"Export the lob object to a file","tag":"refentry","type":"Function","methodName":"cubrid_lob2_export"},{"id":"function.cubrid-lob2-import","name":"cubrid_lob2_import","description":"Import BLOB\/CLOB data from a file","tag":"refentry","type":"Function","methodName":"cubrid_lob2_import"},{"id":"function.cubrid-lob2-new","name":"cubrid_lob2_new","description":"Create a lob object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_new"},{"id":"function.cubrid-lob2-read","name":"cubrid_lob2_read","description":"Read from BLOB\/CLOB data","tag":"refentry","type":"Function","methodName":"cubrid_lob2_read"},{"id":"function.cubrid-lob2-seek","name":"cubrid_lob2_seek","description":"Move the cursor of a lob object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_seek"},{"id":"function.cubrid-lob2-seek64","name":"cubrid_lob2_seek64","description":"Move the cursor of a lob object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_seek64"},{"id":"function.cubrid-lob2-size","name":"cubrid_lob2_size","description":"Get a lob object's size","tag":"refentry","type":"Function","methodName":"cubrid_lob2_size"},{"id":"function.cubrid-lob2-size64","name":"cubrid_lob2_size64","description":"Get a lob object's size","tag":"refentry","type":"Function","methodName":"cubrid_lob2_size64"},{"id":"function.cubrid-lob2-tell","name":"cubrid_lob2_tell","description":"Tell the cursor position of the LOB object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_tell"},{"id":"function.cubrid-lob2-tell64","name":"cubrid_lob2_tell64","description":"Tell the cursor position of the LOB object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_tell64"},{"id":"function.cubrid-lob2-write","name":"cubrid_lob2_write","description":"Write to a lob object","tag":"refentry","type":"Function","methodName":"cubrid_lob2_write"},{"id":"function.cubrid-lock-read","name":"cubrid_lock_read","description":"Set a read lock on the given OID","tag":"refentry","type":"Function","methodName":"cubrid_lock_read"},{"id":"function.cubrid-lock-write","name":"cubrid_lock_write","description":"Set a write lock on the given OID","tag":"refentry","type":"Function","methodName":"cubrid_lock_write"},{"id":"function.cubrid-move-cursor","name":"cubrid_move_cursor","description":"Move the cursor in the result","tag":"refentry","type":"Function","methodName":"cubrid_move_cursor"},{"id":"function.cubrid-next-result","name":"cubrid_next_result","description":"Get result of next query when executing multiple SQL statements","tag":"refentry","type":"Function","methodName":"cubrid_next_result"},{"id":"function.cubrid-num-cols","name":"cubrid_num_cols","description":"Return the number of columns in the result set","tag":"refentry","type":"Function","methodName":"cubrid_num_cols"},{"id":"function.cubrid-num-rows","name":"cubrid_num_rows","description":"Get the number of rows in the result set","tag":"refentry","type":"Function","methodName":"cubrid_num_rows"},{"id":"function.cubrid-pconnect","name":"cubrid_pconnect","description":"Open a persistent connection to a CUBRID server","tag":"refentry","type":"Function","methodName":"cubrid_pconnect"},{"id":"function.cubrid-pconnect-with-url","name":"cubrid_pconnect_with_url","description":"Open a persistent connection to CUBRID server","tag":"refentry","type":"Function","methodName":"cubrid_pconnect_with_url"},{"id":"function.cubrid-prepare","name":"cubrid_prepare","description":"Prepare a SQL statement for execution","tag":"refentry","type":"Function","methodName":"cubrid_prepare"},{"id":"function.cubrid-put","name":"cubrid_put","description":"Update a column using OID","tag":"refentry","type":"Function","methodName":"cubrid_put"},{"id":"function.cubrid-rollback","name":"cubrid_rollback","description":"Roll back a transaction","tag":"refentry","type":"Function","methodName":"cubrid_rollback"},{"id":"function.cubrid-schema","name":"cubrid_schema","description":"Get the requested schema information","tag":"refentry","type":"Function","methodName":"cubrid_schema"},{"id":"function.cubrid-seq-drop","name":"cubrid_seq_drop","description":"Delete an element from sequence type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_seq_drop"},{"id":"function.cubrid-seq-insert","name":"cubrid_seq_insert","description":"Insert an element to a sequence type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_seq_insert"},{"id":"function.cubrid-seq-put","name":"cubrid_seq_put","description":"Update the element value of sequence type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_seq_put"},{"id":"function.cubrid-set-add","name":"cubrid_set_add","description":"Insert a single element to set type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_set_add"},{"id":"function.cubrid-set-autocommit","name":"cubrid_set_autocommit","description":"Set autocommit mode of the connection","tag":"refentry","type":"Function","methodName":"cubrid_set_autocommit"},{"id":"function.cubrid-set-db-parameter","name":"cubrid_set_db_parameter","description":"Sets the CUBRID database parameters","tag":"refentry","type":"Function","methodName":"cubrid_set_db_parameter"},{"id":"function.cubrid-set-drop","name":"cubrid_set_drop","description":"Delete an element from set type column using OID","tag":"refentry","type":"Function","methodName":"cubrid_set_drop"},{"id":"function.cubrid-set-query-timeout","name":"cubrid_set_query_timeout","description":"Set the timeout time of query execution","tag":"refentry","type":"Function","methodName":"cubrid_set_query_timeout"},{"id":"function.cubrid-version","name":"cubrid_version","description":"Get the CUBRID PHP module's version","tag":"refentry","type":"Function","methodName":"cubrid_version"},{"id":"ref.cubrid","name":"CUBRID Functions","description":"CUBRID","tag":"reference","type":"Extension","methodName":"CUBRID Functions"},{"id":"function.cubrid-affected-rows","name":"cubrid_affected_rows","description":"Return the number of rows affected by the last SQL statement","tag":"refentry","type":"Function","methodName":"cubrid_affected_rows"},{"id":"function.cubrid-client-encoding","name":"cubrid_client_encoding","description":"Return the current CUBRID connection charset","tag":"refentry","type":"Function","methodName":"cubrid_client_encoding"},{"id":"function.cubrid-close","name":"cubrid_close","description":"Close CUBRID connection","tag":"refentry","type":"Function","methodName":"cubrid_close"},{"id":"function.cubrid-data-seek","name":"cubrid_data_seek","description":"Move the internal row pointer of the CUBRID result","tag":"refentry","type":"Function","methodName":"cubrid_data_seek"},{"id":"function.cubrid-db-name","name":"cubrid_db_name","description":"Get db name from results of cubrid_list_dbs","tag":"refentry","type":"Function","methodName":"cubrid_db_name"},{"id":"function.cubrid-errno","name":"cubrid_errno","description":"Return the numerical value of the error message from previous CUBRID operation","tag":"refentry","type":"Function","methodName":"cubrid_errno"},{"id":"function.cubrid-error","name":"cubrid_error","description":"Get the error message","tag":"refentry","type":"Function","methodName":"cubrid_error"},{"id":"function.cubrid-fetch-array","name":"cubrid_fetch_array","description":"Fetch a result row as an associative array, a numeric array, or both","tag":"refentry","type":"Function","methodName":"cubrid_fetch_array"},{"id":"function.cubrid-fetch-assoc","name":"cubrid_fetch_assoc","description":"Return the associative array that corresponds to the fetched row","tag":"refentry","type":"Function","methodName":"cubrid_fetch_assoc"},{"id":"function.cubrid-fetch-field","name":"cubrid_fetch_field","description":"Get column information from a result and return as an object","tag":"refentry","type":"Function","methodName":"cubrid_fetch_field"},{"id":"function.cubrid-fetch-lengths","name":"cubrid_fetch_lengths","description":"Return an array with the lengths of the values of each field from the current row","tag":"refentry","type":"Function","methodName":"cubrid_fetch_lengths"},{"id":"function.cubrid-fetch-object","name":"cubrid_fetch_object","description":"Fetch the next row and return it as an object","tag":"refentry","type":"Function","methodName":"cubrid_fetch_object"},{"id":"function.cubrid-fetch-row","name":"cubrid_fetch_row","description":"Return a numerical array with the values of the current row","tag":"refentry","type":"Function","methodName":"cubrid_fetch_row"},{"id":"function.cubrid-field-flags","name":"cubrid_field_flags","description":"Return a string with the flags of the given field offset","tag":"refentry","type":"Function","methodName":"cubrid_field_flags"},{"id":"function.cubrid-field-len","name":"cubrid_field_len","description":"Get the maximum length of the specified field","tag":"refentry","type":"Function","methodName":"cubrid_field_len"},{"id":"function.cubrid-field-name","name":"cubrid_field_name","description":"Return the name of the specified field index","tag":"refentry","type":"Function","methodName":"cubrid_field_name"},{"id":"function.cubrid-field-seek","name":"cubrid_field_seek","description":"Move the result set cursor to the specified field offset","tag":"refentry","type":"Function","methodName":"cubrid_field_seek"},{"id":"function.cubrid-field-table","name":"cubrid_field_table","description":"Return the name of the table of the specified field","tag":"refentry","type":"Function","methodName":"cubrid_field_table"},{"id":"function.cubrid-field-type","name":"cubrid_field_type","description":"Return the type of the column corresponding to the given field offset","tag":"refentry","type":"Function","methodName":"cubrid_field_type"},{"id":"function.cubrid-list-dbs","name":"cubrid_list_dbs","description":"Return an array with the list of all existing CUBRID databases","tag":"refentry","type":"Function","methodName":"cubrid_list_dbs"},{"id":"function.cubrid-num-fields","name":"cubrid_num_fields","description":"Return the number of columns in the result set","tag":"refentry","type":"Function","methodName":"cubrid_num_fields"},{"id":"function.cubrid-ping","name":"cubrid_ping","description":"Ping a server connection or reconnect if there is no connection","tag":"refentry","type":"Function","methodName":"cubrid_ping"},{"id":"function.cubrid-query","name":"cubrid_query","description":"Send a CUBRID query","tag":"refentry","type":"Function","methodName":"cubrid_query"},{"id":"function.cubrid-real-escape-string","name":"cubrid_real_escape_string","description":"Escape special characters in a string for use in an SQL statement","tag":"refentry","type":"Function","methodName":"cubrid_real_escape_string"},{"id":"function.cubrid-result","name":"cubrid_result","description":"Return the value of a specific field in a specific row","tag":"refentry","type":"Function","methodName":"cubrid_result"},{"id":"function.cubrid-unbuffered-query","name":"cubrid_unbuffered_query","description":"Perform a query without fetching the results into memory","tag":"refentry","type":"Function","methodName":"cubrid_unbuffered_query"},{"id":"cubridmysql.cubrid","name":"CUBRID MySQL Compatibility Functions","description":"CUBRID","tag":"reference","type":"Extension","methodName":"CUBRID MySQL Compatibility Functions"},{"id":"function.cubrid-load-from-glo","name":"cubrid_load_from_glo","description":"Read data from a GLO instance and save it in a file","tag":"refentry","type":"Function","methodName":"cubrid_load_from_glo"},{"id":"function.cubrid-new-glo","name":"cubrid_new_glo","description":"Create a glo instance","tag":"refentry","type":"Function","methodName":"cubrid_new_glo"},{"id":"function.cubrid-save-to-glo","name":"cubrid_save_to_glo","description":"Save requested file in a GLO instance","tag":"refentry","type":"Function","methodName":"cubrid_save_to_glo"},{"id":"function.cubrid-send-glo","name":"cubrid_send_glo","description":"Read data from glo and send it to std output","tag":"refentry","type":"Function","methodName":"cubrid_send_glo"},{"id":"oldaliases.cubrid","name":"CUBRID Obsolete Aliases and Functions","description":"CUBRID","tag":"reference","type":"Extension","methodName":"CUBRID Obsolete Aliases and Functions"},{"id":"book.cubrid","name":"CUBRID","description":"CUBRID","tag":"book","type":"Extension","methodName":"CUBRID"},{"id":"intro.dbase","name":"Introduction","description":"dBase","tag":"preface","type":"General","methodName":"Introduction"},{"id":"dbase.installation","name":"Installation","description":"dBase","tag":"section","type":"General","methodName":"Installation"},{"id":"dbase.resources","name":"Resource Types","description":"dBase","tag":"section","type":"General","methodName":"Resource Types"},{"id":"dbase.setup","name":"Installing\/Configuring","description":"dBase","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"dbase.constants","name":"Predefined Constants","description":"dBase","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.dbase-add-record","name":"dbase_add_record","description":"Adds a record to a database","tag":"refentry","type":"Function","methodName":"dbase_add_record"},{"id":"function.dbase-close","name":"dbase_close","description":"Closes a database","tag":"refentry","type":"Function","methodName":"dbase_close"},{"id":"function.dbase-create","name":"dbase_create","description":"Creates a database","tag":"refentry","type":"Function","methodName":"dbase_create"},{"id":"function.dbase-delete-record","name":"dbase_delete_record","description":"Deletes a record from a database","tag":"refentry","type":"Function","methodName":"dbase_delete_record"},{"id":"function.dbase-get-header-info","name":"dbase_get_header_info","description":"Gets the header info of a database","tag":"refentry","type":"Function","methodName":"dbase_get_header_info"},{"id":"function.dbase-get-record","name":"dbase_get_record","description":"Gets a record from a database as an indexed array","tag":"refentry","type":"Function","methodName":"dbase_get_record"},{"id":"function.dbase-get-record-with-names","name":"dbase_get_record_with_names","description":"Gets a record from a database as an associative array","tag":"refentry","type":"Function","methodName":"dbase_get_record_with_names"},{"id":"function.dbase-numfields","name":"dbase_numfields","description":"Gets the number of fields of a database","tag":"refentry","type":"Function","methodName":"dbase_numfields"},{"id":"function.dbase-numrecords","name":"dbase_numrecords","description":"Gets the number of records in a database","tag":"refentry","type":"Function","methodName":"dbase_numrecords"},{"id":"function.dbase-open","name":"dbase_open","description":"Opens a database","tag":"refentry","type":"Function","methodName":"dbase_open"},{"id":"function.dbase-pack","name":"dbase_pack","description":"Packs a database","tag":"refentry","type":"Function","methodName":"dbase_pack"},{"id":"function.dbase-replace-record","name":"dbase_replace_record","description":"Replaces a record in a database","tag":"refentry","type":"Function","methodName":"dbase_replace_record"},{"id":"ref.dbase","name":"dBase Functions","description":"dBase","tag":"reference","type":"Extension","methodName":"dBase Functions"},{"id":"book.dbase","name":"dBase","description":"Vendor Specific Database Extensions","tag":"book","type":"Extension","methodName":"dBase"},{"id":"intro.ibase","name":"Introduction","description":"Firebird\/InterBase","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ibase.installation","name":"Installation","description":"Firebird\/InterBase","tag":"section","type":"General","methodName":"Installation"},{"id":"ibase.configuration","name":"Runtime Configuration","description":"Firebird\/InterBase","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"ibase.setup","name":"Installing\/Configuring","description":"Firebird\/InterBase","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ibase.constants","name":"Predefined Constants","description":"Firebird\/InterBase","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.fbird-add-user","name":"fbird_add_user","description":"Alias of ibase_add_user","tag":"refentry","type":"Function","methodName":"fbird_add_user"},{"id":"function.fbird-affected-rows","name":"fbird_affected_rows","description":"Alias of ibase_affected_rows","tag":"refentry","type":"Function","methodName":"fbird_affected_rows"},{"id":"function.fbird-backup","name":"fbird_backup","description":"Alias of ibase_backup","tag":"refentry","type":"Function","methodName":"fbird_backup"},{"id":"function.fbird-blob-add","name":"fbird_blob_add","description":"Alias of ibase_blob_add","tag":"refentry","type":"Function","methodName":"fbird_blob_add"},{"id":"function.fbird-blob-cancel","name":"fbird_blob_cancel","description":"Cancel creating blob","tag":"refentry","type":"Function","methodName":"fbird_blob_cancel"},{"id":"function.fbird-blob-close","name":"fbird_blob_close","description":"Alias of ibase_blob_close","tag":"refentry","type":"Function","methodName":"fbird_blob_close"},{"id":"function.fbird-blob-create","name":"fbird_blob_create","description":"Alias of ibase_blob_create","tag":"refentry","type":"Function","methodName":"fbird_blob_create"},{"id":"function.fbird-blob-echo","name":"fbird_blob_echo","description":"Alias of ibase_blob_echo","tag":"refentry","type":"Function","methodName":"fbird_blob_echo"},{"id":"function.fbird-blob-get","name":"fbird_blob_get","description":"Alias of ibase_blob_get","tag":"refentry","type":"Function","methodName":"fbird_blob_get"},{"id":"function.fbird-blob-import","name":"fbird_blob_import","description":"Alias of ibase_blob_import","tag":"refentry","type":"Function","methodName":"fbird_blob_import"},{"id":"function.fbird-blob-info","name":"fbird_blob_info","description":"Alias of ibase_blob_info","tag":"refentry","type":"Function","methodName":"fbird_blob_info"},{"id":"function.fbird-blob-open","name":"fbird_blob_open","description":"Alias of ibase_blob_open","tag":"refentry","type":"Function","methodName":"fbird_blob_open"},{"id":"function.fbird-close","name":"fbird_close","description":"Alias of ibase_close","tag":"refentry","type":"Function","methodName":"fbird_close"},{"id":"function.fbird-commit","name":"fbird_commit","description":"Alias of ibase_commit","tag":"refentry","type":"Function","methodName":"fbird_commit"},{"id":"function.fbird-commit-ret","name":"fbird_commit_ret","description":"Alias of ibase_commit_ret","tag":"refentry","type":"Function","methodName":"fbird_commit_ret"},{"id":"function.fbird-connect","name":"fbird_connect","description":"Alias of ibase_connect","tag":"refentry","type":"Function","methodName":"fbird_connect"},{"id":"function.fbird-db-info","name":"fbird_db_info","description":"Alias of ibase_db_info","tag":"refentry","type":"Function","methodName":"fbird_db_info"},{"id":"function.fbird-delete-user","name":"fbird_delete_user","description":"Alias of ibase_delete_user","tag":"refentry","type":"Function","methodName":"fbird_delete_user"},{"id":"function.fbird-drop-db","name":"fbird_drop_db","description":"Alias of ibase_drop_db","tag":"refentry","type":"Function","methodName":"fbird_drop_db"},{"id":"function.fbird-errcode","name":"fbird_errcode","description":"Alias of ibase_errcode","tag":"refentry","type":"Function","methodName":"fbird_errcode"},{"id":"function.fbird-errmsg","name":"fbird_errmsg","description":"Alias of ibase_errmsg","tag":"refentry","type":"Function","methodName":"fbird_errmsg"},{"id":"function.fbird-execute","name":"fbird_execute","description":"Alias of ibase_execute","tag":"refentry","type":"Function","methodName":"fbird_execute"},{"id":"function.fbird-fetch-assoc","name":"fbird_fetch_assoc","description":"Alias of ibase_fetch_assoc","tag":"refentry","type":"Function","methodName":"fbird_fetch_assoc"},{"id":"function.fbird-fetch-object","name":"fbird_fetch_object","description":"Alias of ibase_fetch_object","tag":"refentry","type":"Function","methodName":"fbird_fetch_object"},{"id":"function.fbird-fetch-row","name":"fbird_fetch_row","description":"Alias of ibase_fetch_row","tag":"refentry","type":"Function","methodName":"fbird_fetch_row"},{"id":"function.fbird-field-info","name":"fbird_field_info","description":"Alias of ibase_field_info","tag":"refentry","type":"Function","methodName":"fbird_field_info"},{"id":"function.fbird-free-event-handler","name":"fbird_free_event_handler","description":"Alias of ibase_free_event_handler","tag":"refentry","type":"Function","methodName":"fbird_free_event_handler"},{"id":"function.fbird-free-query","name":"fbird_free_query","description":"Alias of ibase_free_query","tag":"refentry","type":"Function","methodName":"fbird_free_query"},{"id":"function.fbird-free-result","name":"fbird_free_result","description":"Alias of ibase_free_result","tag":"refentry","type":"Function","methodName":"fbird_free_result"},{"id":"function.fbird-gen-id","name":"fbird_gen_id","description":"Alias of ibase_gen_id","tag":"refentry","type":"Function","methodName":"fbird_gen_id"},{"id":"function.fbird-maintain-db","name":"fbird_maintain_db","description":"Alias of ibase_maintain_db","tag":"refentry","type":"Function","methodName":"fbird_maintain_db"},{"id":"function.fbird-modify-user","name":"fbird_modify_user","description":"Alias of ibase_modify_user","tag":"refentry","type":"Function","methodName":"fbird_modify_user"},{"id":"function.fbird-name-result","name":"fbird_name_result","description":"Alias of ibase_name_result","tag":"refentry","type":"Function","methodName":"fbird_name_result"},{"id":"function.fbird-num-fields","name":"fbird_num_fields","description":"Alias of ibase_num_fields","tag":"refentry","type":"Function","methodName":"fbird_num_fields"},{"id":"function.fbird-num-params","name":"fbird_num_params","description":"Alias of ibase_num_params","tag":"refentry","type":"Function","methodName":"fbird_num_params"},{"id":"function.fbird-param-info","name":"fbird_param_info","description":"Alias of ibase_param_info","tag":"refentry","type":"Function","methodName":"fbird_param_info"},{"id":"function.fbird-pconnect","name":"fbird_pconnect","description":"Alias of ibase_pconnect","tag":"refentry","type":"Function","methodName":"fbird_pconnect"},{"id":"function.fbird-prepare","name":"fbird_prepare","description":"Alias of ibase_prepare","tag":"refentry","type":"Function","methodName":"fbird_prepare"},{"id":"function.fbird-query","name":"fbird_query","description":"Alias of ibase_query","tag":"refentry","type":"Function","methodName":"fbird_query"},{"id":"function.fbird-restore","name":"fbird_restore","description":"Alias of ibase_restore","tag":"refentry","type":"Function","methodName":"fbird_restore"},{"id":"function.fbird-rollback","name":"fbird_rollback","description":"Alias of ibase_rollback","tag":"refentry","type":"Function","methodName":"fbird_rollback"},{"id":"function.fbird-rollback-ret","name":"fbird_rollback_ret","description":"Alias of ibase_rollback_ret","tag":"refentry","type":"Function","methodName":"fbird_rollback_ret"},{"id":"function.fbird-server-info","name":"fbird_server_info","description":"Alias of ibase_server_info","tag":"refentry","type":"Function","methodName":"fbird_server_info"},{"id":"function.fbird-service-attach","name":"fbird_service_attach","description":"Alias of ibase_service_attach","tag":"refentry","type":"Function","methodName":"fbird_service_attach"},{"id":"function.fbird-service-detach","name":"fbird_service_detach","description":"Alias of ibase_service_detach","tag":"refentry","type":"Function","methodName":"fbird_service_detach"},{"id":"function.fbird-set-event-handler","name":"fbird_set_event_handler","description":"Alias of ibase_set_event_handler","tag":"refentry","type":"Function","methodName":"fbird_set_event_handler"},{"id":"function.fbird-trans","name":"fbird_trans","description":"Alias of ibase_trans","tag":"refentry","type":"Function","methodName":"fbird_trans"},{"id":"function.fbird-wait-event","name":"fbird_wait_event","description":"Alias of ibase_wait_event","tag":"refentry","type":"Function","methodName":"fbird_wait_event"},{"id":"function.ibase-add-user","name":"ibase_add_user","description":"Add a user to a security database","tag":"refentry","type":"Function","methodName":"ibase_add_user"},{"id":"function.ibase-affected-rows","name":"ibase_affected_rows","description":"Return the number of rows that were affected by the previous query","tag":"refentry","type":"Function","methodName":"ibase_affected_rows"},{"id":"function.ibase-backup","name":"ibase_backup","description":"Initiates a backup task in the service manager and returns immediately","tag":"refentry","type":"Function","methodName":"ibase_backup"},{"id":"function.ibase-blob-add","name":"ibase_blob_add","description":"Add data into a newly created blob","tag":"refentry","type":"Function","methodName":"ibase_blob_add"},{"id":"function.ibase-blob-cancel","name":"ibase_blob_cancel","description":"Cancel creating blob","tag":"refentry","type":"Function","methodName":"ibase_blob_cancel"},{"id":"function.ibase-blob-close","name":"ibase_blob_close","description":"Close blob","tag":"refentry","type":"Function","methodName":"ibase_blob_close"},{"id":"function.ibase-blob-create","name":"ibase_blob_create","description":"Create a new blob for adding data","tag":"refentry","type":"Function","methodName":"ibase_blob_create"},{"id":"function.ibase-blob-echo","name":"ibase_blob_echo","description":"Output blob contents to browser","tag":"refentry","type":"Function","methodName":"ibase_blob_echo"},{"id":"function.ibase-blob-get","name":"ibase_blob_get","description":"Get len bytes data from open blob","tag":"refentry","type":"Function","methodName":"ibase_blob_get"},{"id":"function.ibase-blob-import","name":"ibase_blob_import","description":"Create blob, copy file in it, and close it","tag":"refentry","type":"Function","methodName":"ibase_blob_import"},{"id":"function.ibase-blob-info","name":"ibase_blob_info","description":"Return blob length and other useful info","tag":"refentry","type":"Function","methodName":"ibase_blob_info"},{"id":"function.ibase-blob-open","name":"ibase_blob_open","description":"Open blob for retrieving data parts","tag":"refentry","type":"Function","methodName":"ibase_blob_open"},{"id":"function.ibase-close","name":"ibase_close","description":"Close a connection to an InterBase database","tag":"refentry","type":"Function","methodName":"ibase_close"},{"id":"function.ibase-commit","name":"ibase_commit","description":"Commit a transaction","tag":"refentry","type":"Function","methodName":"ibase_commit"},{"id":"function.ibase-commit-ret","name":"ibase_commit_ret","description":"Commit a transaction without closing it","tag":"refentry","type":"Function","methodName":"ibase_commit_ret"},{"id":"function.ibase-connect","name":"ibase_connect","description":"Open a connection to a database","tag":"refentry","type":"Function","methodName":"ibase_connect"},{"id":"function.ibase-db-info","name":"ibase_db_info","description":"Request statistics about a database","tag":"refentry","type":"Function","methodName":"ibase_db_info"},{"id":"function.ibase-delete-user","name":"ibase_delete_user","description":"Delete a user from a security database","tag":"refentry","type":"Function","methodName":"ibase_delete_user"},{"id":"function.ibase-drop-db","name":"ibase_drop_db","description":"Drops a database","tag":"refentry","type":"Function","methodName":"ibase_drop_db"},{"id":"function.ibase-errcode","name":"ibase_errcode","description":"Return an error code","tag":"refentry","type":"Function","methodName":"ibase_errcode"},{"id":"function.ibase-errmsg","name":"ibase_errmsg","description":"Return error messages","tag":"refentry","type":"Function","methodName":"ibase_errmsg"},{"id":"function.ibase-execute","name":"ibase_execute","description":"Execute a previously prepared query","tag":"refentry","type":"Function","methodName":"ibase_execute"},{"id":"function.ibase-fetch-assoc","name":"ibase_fetch_assoc","description":"Fetch a result row from a query as an associative array","tag":"refentry","type":"Function","methodName":"ibase_fetch_assoc"},{"id":"function.ibase-fetch-object","name":"ibase_fetch_object","description":"Get an object from a InterBase database","tag":"refentry","type":"Function","methodName":"ibase_fetch_object"},{"id":"function.ibase-fetch-row","name":"ibase_fetch_row","description":"Fetch a row from an InterBase database","tag":"refentry","type":"Function","methodName":"ibase_fetch_row"},{"id":"function.ibase-field-info","name":"ibase_field_info","description":"Get information about a field","tag":"refentry","type":"Function","methodName":"ibase_field_info"},{"id":"function.ibase-free-event-handler","name":"ibase_free_event_handler","description":"Cancels a registered event handler","tag":"refentry","type":"Function","methodName":"ibase_free_event_handler"},{"id":"function.ibase-free-query","name":"ibase_free_query","description":"Free memory allocated by a prepared query","tag":"refentry","type":"Function","methodName":"ibase_free_query"},{"id":"function.ibase-free-result","name":"ibase_free_result","description":"Free a result set","tag":"refentry","type":"Function","methodName":"ibase_free_result"},{"id":"function.ibase-gen-id","name":"ibase_gen_id","description":"Increments the named generator and returns its new value","tag":"refentry","type":"Function","methodName":"ibase_gen_id"},{"id":"function.ibase-maintain-db","name":"ibase_maintain_db","description":"Execute a maintenance command on the database server","tag":"refentry","type":"Function","methodName":"ibase_maintain_db"},{"id":"function.ibase-modify-user","name":"ibase_modify_user","description":"Modify a user to a security database","tag":"refentry","type":"Function","methodName":"ibase_modify_user"},{"id":"function.ibase-name-result","name":"ibase_name_result","description":"Assigns a name to a result set","tag":"refentry","type":"Function","methodName":"ibase_name_result"},{"id":"function.ibase-num-fields","name":"ibase_num_fields","description":"Get the number of fields in a result set","tag":"refentry","type":"Function","methodName":"ibase_num_fields"},{"id":"function.ibase-num-params","name":"ibase_num_params","description":"Return the number of parameters in a prepared query","tag":"refentry","type":"Function","methodName":"ibase_num_params"},{"id":"function.ibase-param-info","name":"ibase_param_info","description":"Return information about a parameter in a prepared query","tag":"refentry","type":"Function","methodName":"ibase_param_info"},{"id":"function.ibase-pconnect","name":"ibase_pconnect","description":"Open a persistent connection to an InterBase database","tag":"refentry","type":"Function","methodName":"ibase_pconnect"},{"id":"function.ibase-prepare","name":"ibase_prepare","description":"Prepare a query for later binding of parameter placeholders and execution","tag":"refentry","type":"Function","methodName":"ibase_prepare"},{"id":"function.ibase-query","name":"ibase_query","description":"Execute a query on an InterBase database","tag":"refentry","type":"Function","methodName":"ibase_query"},{"id":"function.ibase-restore","name":"ibase_restore","description":"Initiates a restore task in the service manager and returns immediately","tag":"refentry","type":"Function","methodName":"ibase_restore"},{"id":"function.ibase-rollback","name":"ibase_rollback","description":"Roll back a transaction","tag":"refentry","type":"Function","methodName":"ibase_rollback"},{"id":"function.ibase-rollback-ret","name":"ibase_rollback_ret","description":"Roll back a transaction without closing it","tag":"refentry","type":"Function","methodName":"ibase_rollback_ret"},{"id":"function.ibase-server-info","name":"ibase_server_info","description":"Request information about a database server","tag":"refentry","type":"Function","methodName":"ibase_server_info"},{"id":"function.ibase-service-attach","name":"ibase_service_attach","description":"Connect to the service manager","tag":"refentry","type":"Function","methodName":"ibase_service_attach"},{"id":"function.ibase-service-detach","name":"ibase_service_detach","description":"Disconnect from the service manager","tag":"refentry","type":"Function","methodName":"ibase_service_detach"},{"id":"function.ibase-set-event-handler","name":"ibase_set_event_handler","description":"Register a callback function to be called when events are posted","tag":"refentry","type":"Function","methodName":"ibase_set_event_handler"},{"id":"function.ibase-trans","name":"ibase_trans","description":"Begin a transaction","tag":"refentry","type":"Function","methodName":"ibase_trans"},{"id":"function.ibase-wait-event","name":"ibase_wait_event","description":"Wait for an event to be posted by the database","tag":"refentry","type":"Function","methodName":"ibase_wait_event"},{"id":"ref.ibase","name":"Firebird\/InterBase Functions","description":"Firebird\/InterBase","tag":"reference","type":"Extension","methodName":"Firebird\/InterBase Functions"},{"id":"book.ibase","name":"Firebird\/InterBase","description":"Vendor Specific Database Extensions","tag":"book","type":"Extension","methodName":"Firebird\/InterBase"},{"id":"intro.ibm-db2","name":"Introduction","description":"IBM DB2, Cloudscape and Apache Derby","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ibm-db2.requirements","name":"Requirements","description":"IBM DB2, Cloudscape and Apache Derby","tag":"section","type":"General","methodName":"Requirements"},{"id":"ibm-db2.installation","name":"Installation","description":"IBM DB2, Cloudscape and Apache Derby","tag":"section","type":"General","methodName":"Installation"},{"id":"ibm-db2.configuration","name":"Runtime Configuration","description":"IBM DB2, Cloudscape and Apache Derby","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"ibm-db2.resources","name":"Resource Types","description":"IBM DB2, Cloudscape and Apache Derby","tag":"section","type":"General","methodName":"Resource Types"},{"id":"ibm-db2.setup","name":"Installing\/Configuring","description":"IBM DB2, Cloudscape and Apache Derby","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ibm-db2.constants","name":"Predefined Constants","description":"IBM DB2, Cloudscape and Apache Derby","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.db2-autocommit","name":"db2_autocommit","description":"Returns or sets the AUTOCOMMIT state for a database connection","tag":"refentry","type":"Function","methodName":"db2_autocommit"},{"id":"function.db2-bind-param","name":"db2_bind_param","description":"Binds a PHP variable to an SQL statement parameter","tag":"refentry","type":"Function","methodName":"db2_bind_param"},{"id":"function.db2-client-info","name":"db2_client_info","description":"Returns an object with properties that describe the DB2 database client","tag":"refentry","type":"Function","methodName":"db2_client_info"},{"id":"function.db2-close","name":"db2_close","description":"Closes a database connection","tag":"refentry","type":"Function","methodName":"db2_close"},{"id":"function.db2-column-privileges","name":"db2_column_privileges","description":"Returns a result set listing the columns and associated privileges for a table","tag":"refentry","type":"Function","methodName":"db2_column_privileges"},{"id":"function.db2-columns","name":"db2_columns","description":"Returns a result set listing the columns and associated metadata for a table","tag":"refentry","type":"Function","methodName":"db2_columns"},{"id":"function.db2-commit","name":"db2_commit","description":"Commits a transaction","tag":"refentry","type":"Function","methodName":"db2_commit"},{"id":"function.db2-conn-error","name":"db2_conn_error","description":"Returns a string containing the SQLSTATE returned by the last connection attempt","tag":"refentry","type":"Function","methodName":"db2_conn_error"},{"id":"function.db2-conn-errormsg","name":"db2_conn_errormsg","description":"Returns the last connection error message and SQLCODE value","tag":"refentry","type":"Function","methodName":"db2_conn_errormsg"},{"id":"function.db2-connect","name":"db2_connect","description":"Returns a connection to a database","tag":"refentry","type":"Function","methodName":"db2_connect"},{"id":"function.db2-cursor-type","name":"db2_cursor_type","description":"Returns the cursor type used by a statement resource","tag":"refentry","type":"Function","methodName":"db2_cursor_type"},{"id":"function.db2-escape-string","name":"db2_escape_string","description":"Used to escape certain characters","tag":"refentry","type":"Function","methodName":"db2_escape_string"},{"id":"function.db2-exec","name":"db2_exec","description":"Executes an SQL statement directly","tag":"refentry","type":"Function","methodName":"db2_exec"},{"id":"function.db2-execute","name":"db2_execute","description":"Executes a prepared SQL statement","tag":"refentry","type":"Function","methodName":"db2_execute"},{"id":"function.db2-fetch-array","name":"db2_fetch_array","description":"Returns an array, indexed by column position, representing a row in a result set","tag":"refentry","type":"Function","methodName":"db2_fetch_array"},{"id":"function.db2-fetch-assoc","name":"db2_fetch_assoc","description":"Returns an array, indexed by column name, representing a row in a result set","tag":"refentry","type":"Function","methodName":"db2_fetch_assoc"},{"id":"function.db2-fetch-both","name":"db2_fetch_both","description":"Returns an array, indexed by both column name and position, representing a row in a result set","tag":"refentry","type":"Function","methodName":"db2_fetch_both"},{"id":"function.db2-fetch-object","name":"db2_fetch_object","description":"Returns an object with properties representing columns in the fetched row","tag":"refentry","type":"Function","methodName":"db2_fetch_object"},{"id":"function.db2-fetch-row","name":"db2_fetch_row","description":"Sets the result set pointer to the next row or requested row","tag":"refentry","type":"Function","methodName":"db2_fetch_row"},{"id":"function.db2-field-display-size","name":"db2_field_display_size","description":"Returns the maximum number of bytes required to display a column","tag":"refentry","type":"Function","methodName":"db2_field_display_size"},{"id":"function.db2-field-name","name":"db2_field_name","description":"Returns the name of the column in the result set","tag":"refentry","type":"Function","methodName":"db2_field_name"},{"id":"function.db2-field-num","name":"db2_field_num","description":"Returns the position of the named column in a result set","tag":"refentry","type":"Function","methodName":"db2_field_num"},{"id":"function.db2-field-precision","name":"db2_field_precision","description":"Returns the precision of the indicated column in a result set","tag":"refentry","type":"Function","methodName":"db2_field_precision"},{"id":"function.db2-field-scale","name":"db2_field_scale","description":"Returns the scale of the indicated column in a result set","tag":"refentry","type":"Function","methodName":"db2_field_scale"},{"id":"function.db2-field-type","name":"db2_field_type","description":"Returns the data type of the indicated column in a result set","tag":"refentry","type":"Function","methodName":"db2_field_type"},{"id":"function.db2-field-width","name":"db2_field_width","description":"Returns the width of the current value of the indicated column in a result set","tag":"refentry","type":"Function","methodName":"db2_field_width"},{"id":"function.db2-foreign-keys","name":"db2_foreign_keys","description":"Returns a result set listing the foreign keys for a table","tag":"refentry","type":"Function","methodName":"db2_foreign_keys"},{"id":"function.db2-free-result","name":"db2_free_result","description":"Frees resources associated with a result set","tag":"refentry","type":"Function","methodName":"db2_free_result"},{"id":"function.db2-free-stmt","name":"db2_free_stmt","description":"Frees resources associated with the indicated statement resource","tag":"refentry","type":"Function","methodName":"db2_free_stmt"},{"id":"function.db2-get-option","name":"db2_get_option","description":"Retrieves an option value for a statement resource or a connection resource","tag":"refentry","type":"Function","methodName":"db2_get_option"},{"id":"function.db2-last-insert-id","name":"db2_last_insert_id","description":"Returns the auto generated ID of the last insert query that successfully \n executed on this connection","tag":"refentry","type":"Function","methodName":"db2_last_insert_id"},{"id":"function.db2-lob-read","name":"db2_lob_read","description":"Gets a user defined size of LOB files with each invocation","tag":"refentry","type":"Function","methodName":"db2_lob_read"},{"id":"function.db2-next-result","name":"db2_next_result","description":"Requests the next result set from a stored procedure","tag":"refentry","type":"Function","methodName":"db2_next_result"},{"id":"function.db2-num-fields","name":"db2_num_fields","description":"Returns the number of fields contained in a result set","tag":"refentry","type":"Function","methodName":"db2_num_fields"},{"id":"function.db2-num-rows","name":"db2_num_rows","description":"Returns the number of rows affected by an SQL statement","tag":"refentry","type":"Function","methodName":"db2_num_rows"},{"id":"function.db2-pclose","name":"db2_pclose","description":"Closes a persistent database connection","tag":"refentry","type":"Function","methodName":"db2_pclose"},{"id":"function.db2-pconnect","name":"db2_pconnect","description":"Returns a persistent connection to a database","tag":"refentry","type":"Function","methodName":"db2_pconnect"},{"id":"function.db2-prepare","name":"db2_prepare","description":"Prepares an SQL statement to be executed","tag":"refentry","type":"Function","methodName":"db2_prepare"},{"id":"function.db2-primary-keys","name":"db2_primary_keys","description":"Returns a result set listing primary keys for a table","tag":"refentry","type":"Function","methodName":"db2_primary_keys"},{"id":"function.db2-procedure-columns","name":"db2_procedure_columns","description":"Returns a result set listing stored procedure parameters","tag":"refentry","type":"Function","methodName":"db2_procedure_columns"},{"id":"function.db2-procedures","name":"db2_procedures","description":"Returns a result set listing the stored procedures registered in a database","tag":"refentry","type":"Function","methodName":"db2_procedures"},{"id":"function.db2-result","name":"db2_result","description":"Returns a single column from a row in the result set","tag":"refentry","type":"Function","methodName":"db2_result"},{"id":"function.db2-rollback","name":"db2_rollback","description":"Rolls back a transaction","tag":"refentry","type":"Function","methodName":"db2_rollback"},{"id":"function.db2-server-info","name":"db2_server_info","description":"Returns an object with properties that describe the DB2 database server","tag":"refentry","type":"Function","methodName":"db2_server_info"},{"id":"function.db2-set-option","name":"db2_set_option","description":"Set options for connection or statement resources","tag":"refentry","type":"Function","methodName":"db2_set_option"},{"id":"function.db2-special-columns","name":"db2_special_columns","description":"Returns a result set listing the unique row identifier columns for a table","tag":"refentry","type":"Function","methodName":"db2_special_columns"},{"id":"function.db2-statistics","name":"db2_statistics","description":"Returns a result set listing the index and statistics for a table","tag":"refentry","type":"Function","methodName":"db2_statistics"},{"id":"function.db2-stmt-error","name":"db2_stmt_error","description":"Returns a string containing the SQLSTATE returned by an SQL statement","tag":"refentry","type":"Function","methodName":"db2_stmt_error"},{"id":"function.db2-stmt-errormsg","name":"db2_stmt_errormsg","description":"Returns a string containing the last SQL statement error message","tag":"refentry","type":"Function","methodName":"db2_stmt_errormsg"},{"id":"function.db2-table-privileges","name":"db2_table_privileges","description":"Returns a result set listing the tables and associated privileges in a database","tag":"refentry","type":"Function","methodName":"db2_table_privileges"},{"id":"function.db2-tables","name":"db2_tables","description":"Returns a result set listing the tables and associated metadata in a database","tag":"refentry","type":"Function","methodName":"db2_tables"},{"id":"ref.ibm-db2","name":"IBM DB2 Functions","description":"IBM DB2, Cloudscape and Apache Derby","tag":"reference","type":"Extension","methodName":"IBM DB2 Functions"},{"id":"book.ibm-db2","name":"IBM DB2","description":"IBM DB2, Cloudscape and Apache Derby","tag":"book","type":"Extension","methodName":"IBM DB2"},{"id":"mongodb.requirements","name":"Requirements","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Requirements"},{"id":"mongodb.installation","name":"Installation","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Installation"},{"id":"mongodb.configuration","name":"Runtime Configuration","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mongodb.setup","name":"Installing\/Configuring","description":"MongoDB Extension","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mongodb.constants","name":"Predefined Constants","description":"MongoDB Extension","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"mongodb.tutorial.library","name":"Using the PHP Library for MongoDB (PHPLIB)","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Using the PHP Library for MongoDB (PHPLIB)"},{"id":"mongodb.tutorial.apm","name":"Application Performance Monitoring (APM)","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Application Performance Monitoring (APM)"},{"id":"mongodb.tutorial","name":"Tutorials","description":"Tutorials","tag":"chapter","type":"General","methodName":"Tutorials"},{"id":"mongodb.overview","name":"Architecture","description":"Architecture Overview","tag":"section","type":"General","methodName":"Architecture"},{"id":"mongodb.connection-handling","name":"Connections","description":"Connection handling and persistence","tag":"section","type":"General","methodName":"Connections"},{"id":"mongodb.persistence","name":"Persisting Data","description":"Serialization and deserialization of PHP variables into MongoDB","tag":"section","type":"General","methodName":"Persisting Data"},{"id":"mongodb.architecture","name":"Driver Architecture and Internals","description":"Explains the driver architecture, and special features","tag":"chapter","type":"General","methodName":"Driver Architecture and Internals"},{"id":"mongodb.security.request_injection","name":"Request Injection Attacks","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Request Injection Attacks"},{"id":"mongodb.security.script_injection","name":"Script Injection Attacks","description":"MongoDB Extension","tag":"section","type":"General","methodName":"Script Injection Attacks"},{"id":"mongodb.security","name":"Security","description":"MongoDB Extension","tag":"chapter","type":"General","methodName":"Security"},{"id":"mongodb-driver-manager.addsubscriber","name":"MongoDB\\Driver\\Manager::addSubscriber","description":"Registers a monitoring event subscriber with this Manager","tag":"refentry","type":"Function","methodName":"addSubscriber"},{"id":"mongodb-driver-manager.construct","name":"MongoDB\\Driver\\Manager::__construct","description":"Create new MongoDB Manager","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-manager.createclientencryption","name":"MongoDB\\Driver\\Manager::createClientEncryption","description":"Create a new ClientEncryption object","tag":"refentry","type":"Function","methodName":"createClientEncryption"},{"id":"mongodb-driver-manager.executebulkwrite","name":"MongoDB\\Driver\\Manager::executeBulkWrite","description":"Execute one or more write operations","tag":"refentry","type":"Function","methodName":"executeBulkWrite"},{"id":"mongodb-driver-manager.executebulkwritecommand","name":"MongoDB\\Driver\\Manager::executeBulkWriteCommand","description":"Execute write operations using the bulkWrite command","tag":"refentry","type":"Function","methodName":"executeBulkWriteCommand"},{"id":"mongodb-driver-manager.executecommand","name":"MongoDB\\Driver\\Manager::executeCommand","description":"Execute a database command","tag":"refentry","type":"Function","methodName":"executeCommand"},{"id":"mongodb-driver-manager.executequery","name":"MongoDB\\Driver\\Manager::executeQuery","description":"Execute a database query","tag":"refentry","type":"Function","methodName":"executeQuery"},{"id":"mongodb-driver-manager.executereadcommand","name":"MongoDB\\Driver\\Manager::executeReadCommand","description":"Execute a database command that reads","tag":"refentry","type":"Function","methodName":"executeReadCommand"},{"id":"mongodb-driver-manager.executereadwritecommand","name":"MongoDB\\Driver\\Manager::executeReadWriteCommand","description":"Execute a database command that reads and writes","tag":"refentry","type":"Function","methodName":"executeReadWriteCommand"},{"id":"mongodb-driver-manager.executewritecommand","name":"MongoDB\\Driver\\Manager::executeWriteCommand","description":"Execute a database command that writes","tag":"refentry","type":"Function","methodName":"executeWriteCommand"},{"id":"mongodb-driver-manager.getencryptedfieldsmap","name":"MongoDB\\Driver\\Manager::getEncryptedFieldsMap","description":"Return the encryptedFieldsMap auto encryption option for the Manager","tag":"refentry","type":"Function","methodName":"getEncryptedFieldsMap"},{"id":"mongodb-driver-manager.getreadconcern","name":"MongoDB\\Driver\\Manager::getReadConcern","description":"Return the ReadConcern for the Manager","tag":"refentry","type":"Function","methodName":"getReadConcern"},{"id":"mongodb-driver-manager.getreadpreference","name":"MongoDB\\Driver\\Manager::getReadPreference","description":"Return the ReadPreference for the Manager","tag":"refentry","type":"Function","methodName":"getReadPreference"},{"id":"mongodb-driver-manager.getservers","name":"MongoDB\\Driver\\Manager::getServers","description":"Return the servers to which this manager is connected","tag":"refentry","type":"Function","methodName":"getServers"},{"id":"mongodb-driver-manager.getwriteconcern","name":"MongoDB\\Driver\\Manager::getWriteConcern","description":"Return the WriteConcern for the Manager","tag":"refentry","type":"Function","methodName":"getWriteConcern"},{"id":"mongodb-driver-manager.removesubscriber","name":"MongoDB\\Driver\\Manager::removeSubscriber","description":"Unregisters a monitoring event subscriber with this Manager","tag":"refentry","type":"Function","methodName":"removeSubscriber"},{"id":"mongodb-driver-manager.selectserver","name":"MongoDB\\Driver\\Manager::selectServer","description":"Select a server matching a read preference","tag":"refentry","type":"Function","methodName":"selectServer"},{"id":"mongodb-driver-manager.startsession","name":"MongoDB\\Driver\\Manager::startSession","description":"Start a new client session for use with this client","tag":"refentry","type":"Function","methodName":"startSession"},{"id":"class.mongodb-driver-manager","name":"MongoDB\\Driver\\Manager","description":"The MongoDB\\Driver\\Manager class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Manager"},{"id":"mongodb-driver-command.construct","name":"MongoDB\\Driver\\Command::__construct","description":"Create a new Command","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.mongodb-driver-command","name":"MongoDB\\Driver\\Command","description":"The MongoDB\\Driver\\Command class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Command"},{"id":"mongodb-driver-query.construct","name":"MongoDB\\Driver\\Query::__construct","description":"Create a new Query","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.mongodb-driver-query","name":"MongoDB\\Driver\\Query","description":"The MongoDB\\Driver\\Query class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Query"},{"id":"mongodb-driver-bulkwrite.construct","name":"MongoDB\\Driver\\BulkWrite::__construct","description":"Create a new BulkWrite","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-bulkwrite.count","name":"MongoDB\\Driver\\BulkWrite::count","description":"Count number of write operations in the bulk","tag":"refentry","type":"Function","methodName":"count"},{"id":"mongodb-driver-bulkwrite.delete","name":"MongoDB\\Driver\\BulkWrite::delete","description":"Add a delete operation to the bulk","tag":"refentry","type":"Function","methodName":"delete"},{"id":"mongodb-driver-bulkwrite.insert","name":"MongoDB\\Driver\\BulkWrite::insert","description":"Add an insert operation to the bulk","tag":"refentry","type":"Function","methodName":"insert"},{"id":"mongodb-driver-bulkwrite.update","name":"MongoDB\\Driver\\BulkWrite::update","description":"Add an update operation to the bulk","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.mongodb-driver-bulkwrite","name":"MongoDB\\Driver\\BulkWrite","description":"The MongoDB\\Driver\\BulkWrite class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\BulkWrite"},{"id":"mongodb-driver-bulkwritecommand.construct","name":"MongoDB\\Driver\\BulkWriteCommand::__construct","description":"Create a new BulkWriteCommand","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-bulkwritecommand.count","name":"MongoDB\\Driver\\BulkWriteCommand::count","description":"Count number of write operations in the BulkWriteCommand","tag":"refentry","type":"Function","methodName":"count"},{"id":"mongodb-driver-bulkwritecommand.deletemany","name":"MongoDB\\Driver\\BulkWriteCommand::deleteMany","description":"Add a deleteMany operation","tag":"refentry","type":"Function","methodName":"deleteMany"},{"id":"mongodb-driver-bulkwritecommand.deleteone","name":"MongoDB\\Driver\\BulkWriteCommand::deleteOne","description":"Add a deleteOne operation","tag":"refentry","type":"Function","methodName":"deleteOne"},{"id":"mongodb-driver-bulkwritecommand.insertone","name":"MongoDB\\Driver\\BulkWriteCommand::insertOne","description":"Add an insertOne operation","tag":"refentry","type":"Function","methodName":"insertOne"},{"id":"mongodb-driver-bulkwritecommand.replaceone","name":"MongoDB\\Driver\\BulkWriteCommand::replaceOne","description":"Add a replaceOne operation","tag":"refentry","type":"Function","methodName":"replaceOne"},{"id":"mongodb-driver-bulkwritecommand.updatemany","name":"MongoDB\\Driver\\BulkWriteCommand::updateMany","description":"Add an updateMany operation","tag":"refentry","type":"Function","methodName":"updateMany"},{"id":"mongodb-driver-bulkwritecommand.updateone","name":"MongoDB\\Driver\\BulkWriteCommand::updateOne","description":"Add an updateOne operation","tag":"refentry","type":"Function","methodName":"updateOne"},{"id":"class.mongodb-driver-bulkwritecommand","name":"MongoDB\\Driver\\BulkWriteCommand","description":"The MongoDB\\Driver\\BulkWriteCommand class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\BulkWriteCommand"},{"id":"mongodb-driver-session.aborttransaction","name":"MongoDB\\Driver\\Session::abortTransaction","description":"Aborts a transaction","tag":"refentry","type":"Function","methodName":"abortTransaction"},{"id":"mongodb-driver-session.advanceclustertime","name":"MongoDB\\Driver\\Session::advanceClusterTime","description":"Advances the cluster time for this session","tag":"refentry","type":"Function","methodName":"advanceClusterTime"},{"id":"mongodb-driver-session.advanceoperationtime","name":"MongoDB\\Driver\\Session::advanceOperationTime","description":"Advances the operation time for this session","tag":"refentry","type":"Function","methodName":"advanceOperationTime"},{"id":"mongodb-driver-session.committransaction","name":"MongoDB\\Driver\\Session::commitTransaction","description":"Commits a transaction","tag":"refentry","type":"Function","methodName":"commitTransaction"},{"id":"mongodb-driver-session.construct","name":"MongoDB\\Driver\\Session::__construct","description":"Create a new Session (not used)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-session.endsession","name":"MongoDB\\Driver\\Session::endSession","description":"Terminates a session","tag":"refentry","type":"Function","methodName":"endSession"},{"id":"mongodb-driver-session.getclustertime","name":"MongoDB\\Driver\\Session::getClusterTime","description":"Returns the cluster time for this session","tag":"refentry","type":"Function","methodName":"getClusterTime"},{"id":"mongodb-driver-session.getlogicalsessionid","name":"MongoDB\\Driver\\Session::getLogicalSessionId","description":"Returns the logical session ID for this session","tag":"refentry","type":"Function","methodName":"getLogicalSessionId"},{"id":"mongodb-driver-session.getoperationtime","name":"MongoDB\\Driver\\Session::getOperationTime","description":"Returns the operation time for this session","tag":"refentry","type":"Function","methodName":"getOperationTime"},{"id":"mongodb-driver-session.getserver","name":"MongoDB\\Driver\\Session::getServer","description":"Returns the server to which this session is pinned","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-session.gettransactionoptions","name":"MongoDB\\Driver\\Session::getTransactionOptions","description":"Returns options for the currently running transaction","tag":"refentry","type":"Function","methodName":"getTransactionOptions"},{"id":"mongodb-driver-session.gettransactionstate","name":"MongoDB\\Driver\\Session::getTransactionState","description":"Returns the current transaction state for this session","tag":"refentry","type":"Function","methodName":"getTransactionState"},{"id":"mongodb-driver-session.isdirty","name":"MongoDB\\Driver\\Session::isDirty","description":"Returns whether the session has been marked as dirty","tag":"refentry","type":"Function","methodName":"isDirty"},{"id":"mongodb-driver-session.isintransaction","name":"MongoDB\\Driver\\Session::isInTransaction","description":"Returns whether a multi-document transaction is in progress","tag":"refentry","type":"Function","methodName":"isInTransaction"},{"id":"mongodb-driver-session.starttransaction","name":"MongoDB\\Driver\\Session::startTransaction","description":"Starts a transaction","tag":"refentry","type":"Function","methodName":"startTransaction"},{"id":"class.mongodb-driver-session","name":"MongoDB\\Driver\\Session","description":"The MongoDB\\Driver\\Session class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Session"},{"id":"mongodb-driver-clientencryption.addkeyaltname","name":"MongoDB\\Driver\\ClientEncryption::addKeyAltName","description":"Adds an alternate name to a key document","tag":"refentry","type":"Function","methodName":"addKeyAltName"},{"id":"mongodb-driver-clientencryption.construct","name":"MongoDB\\Driver\\ClientEncryption::__construct","description":"Create a new ClientEncryption object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-clientencryption.createdatakey","name":"MongoDB\\Driver\\ClientEncryption::createDataKey","description":"Creates a key document","tag":"refentry","type":"Function","methodName":"createDataKey"},{"id":"mongodb-driver-clientencryption.decrypt","name":"MongoDB\\Driver\\ClientEncryption::decrypt","description":"Decrypt a value","tag":"refentry","type":"Function","methodName":"decrypt"},{"id":"mongodb-driver-clientencryption.deletekey","name":"MongoDB\\Driver\\ClientEncryption::deleteKey","description":"Deletes a key document","tag":"refentry","type":"Function","methodName":"deleteKey"},{"id":"mongodb-driver-clientencryption.encrypt","name":"MongoDB\\Driver\\ClientEncryption::encrypt","description":"Encrypt a value","tag":"refentry","type":"Function","methodName":"encrypt"},{"id":"mongodb-driver-clientencryption.encryptexpression","name":"MongoDB\\Driver\\ClientEncryption::encryptExpression","description":"Encrypts a match or aggregate expression","tag":"refentry","type":"Function","methodName":"encryptExpression"},{"id":"mongodb-driver-clientencryption.getkey","name":"MongoDB\\Driver\\ClientEncryption::getKey","description":"Gets a key document","tag":"refentry","type":"Function","methodName":"getKey"},{"id":"mongodb-driver-clientencryption.getkeybyaltname","name":"MongoDB\\Driver\\ClientEncryption::getKeyByAltName","description":"Gets a key document by an alternate name","tag":"refentry","type":"Function","methodName":"getKeyByAltName"},{"id":"mongodb-driver-clientencryption.getkeys","name":"MongoDB\\Driver\\ClientEncryption::getKeys","description":"Gets all key documents","tag":"refentry","type":"Function","methodName":"getKeys"},{"id":"mongodb-driver-clientencryption.removekeyaltname","name":"MongoDB\\Driver\\ClientEncryption::removeKeyAltName","description":"Removes an alternate name from a key document","tag":"refentry","type":"Function","methodName":"removeKeyAltName"},{"id":"mongodb-driver-clientencryption.rewrapmanydatakey","name":"MongoDB\\Driver\\ClientEncryption::rewrapManyDataKey","description":"Rewraps data keys","tag":"refentry","type":"Function","methodName":"rewrapManyDataKey"},{"id":"class.mongodb-driver-clientencryption","name":"MongoDB\\Driver\\ClientEncryption","description":"The MongoDB\\Driver\\ClientEncryption class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\ClientEncryption"},{"id":"mongodb-driver-serverapi.bsonserialize","name":"MongoDB\\Driver\\ServerApi::bsonSerialize","description":"Returns an object for BSON serialization","tag":"refentry","type":"Function","methodName":"bsonSerialize"},{"id":"mongodb-driver-serverapi.construct","name":"MongoDB\\Driver\\ServerApi::__construct","description":"Create a new ServerApi instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.mongodb-driver-serverapi","name":"MongoDB\\Driver\\ServerApi","description":"The MongoDB\\Driver\\ServerApi class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\ServerApi"},{"id":"mongodb-driver-writeconcern.bsonserialize","name":"MongoDB\\Driver\\WriteConcern::bsonSerialize","description":"Returns an object for BSON serialization","tag":"refentry","type":"Function","methodName":"bsonSerialize"},{"id":"mongodb-driver-writeconcern.construct","name":"MongoDB\\Driver\\WriteConcern::__construct","description":"Create a new WriteConcern","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-writeconcern.getjournal","name":"MongoDB\\Driver\\WriteConcern::getJournal","description":"Returns the WriteConcern's \"journal\" option","tag":"refentry","type":"Function","methodName":"getJournal"},{"id":"mongodb-driver-writeconcern.getw","name":"MongoDB\\Driver\\WriteConcern::getW","description":"Returns the WriteConcern's \"w\" option","tag":"refentry","type":"Function","methodName":"getW"},{"id":"mongodb-driver-writeconcern.getwtimeout","name":"MongoDB\\Driver\\WriteConcern::getWtimeout","description":"Returns the WriteConcern's \"wtimeout\" option","tag":"refentry","type":"Function","methodName":"getWtimeout"},{"id":"mongodb-driver-writeconcern.isdefault","name":"MongoDB\\Driver\\WriteConcern::isDefault","description":"Checks if this is the default write concern","tag":"refentry","type":"Function","methodName":"isDefault"},{"id":"class.mongodb-driver-writeconcern","name":"MongoDB\\Driver\\WriteConcern","description":"The MongoDB\\Driver\\WriteConcern class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\WriteConcern"},{"id":"mongodb-driver-readpreference.bsonserialize","name":"MongoDB\\Driver\\ReadPreference::bsonSerialize","description":"Returns an object for BSON serialization","tag":"refentry","type":"Function","methodName":"bsonSerialize"},{"id":"mongodb-driver-readpreference.construct","name":"MongoDB\\Driver\\ReadPreference::__construct","description":"Create a new ReadPreference","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-readpreference.gethedge","name":"MongoDB\\Driver\\ReadPreference::getHedge","description":"Returns the ReadPreference's \"hedge\" option","tag":"refentry","type":"Function","methodName":"getHedge"},{"id":"mongodb-driver-readpreference.getmaxstalenessseconds","name":"MongoDB\\Driver\\ReadPreference::getMaxStalenessSeconds","description":"Returns the ReadPreference's \"maxStalenessSeconds\" option","tag":"refentry","type":"Function","methodName":"getMaxStalenessSeconds"},{"id":"mongodb-driver-readpreference.getmode","name":"MongoDB\\Driver\\ReadPreference::getMode","description":"Returns the ReadPreference's \"mode\" option","tag":"refentry","type":"Function","methodName":"getMode"},{"id":"mongodb-driver-readpreference.getmodestring","name":"MongoDB\\Driver\\ReadPreference::getModeString","description":"Returns the ReadPreference's \"mode\" option","tag":"refentry","type":"Function","methodName":"getModeString"},{"id":"mongodb-driver-readpreference.gettagsets","name":"MongoDB\\Driver\\ReadPreference::getTagSets","description":"Returns the ReadPreference's \"tagSets\" option","tag":"refentry","type":"Function","methodName":"getTagSets"},{"id":"class.mongodb-driver-readpreference","name":"MongoDB\\Driver\\ReadPreference","description":"The MongoDB\\Driver\\ReadPreference class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\ReadPreference"},{"id":"mongodb-driver-readconcern.bsonserialize","name":"MongoDB\\Driver\\ReadConcern::bsonSerialize","description":"Returns an object for BSON serialization","tag":"refentry","type":"Function","methodName":"bsonSerialize"},{"id":"mongodb-driver-readconcern.construct","name":"MongoDB\\Driver\\ReadConcern::__construct","description":"Create a new ReadConcern","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-readconcern.getlevel","name":"MongoDB\\Driver\\ReadConcern::getLevel","description":"Returns the ReadConcern's \"level\" option","tag":"refentry","type":"Function","methodName":"getLevel"},{"id":"mongodb-driver-readconcern.isdefault","name":"MongoDB\\Driver\\ReadConcern::isDefault","description":"Checks if this is the default read concern","tag":"refentry","type":"Function","methodName":"isDefault"},{"id":"class.mongodb-driver-readconcern","name":"MongoDB\\Driver\\ReadConcern","description":"The MongoDB\\Driver\\ReadConcern class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\ReadConcern"},{"id":"mongodb-driver-cursor.construct","name":"MongoDB\\Driver\\Cursor::__construct","description":"Create a new Cursor (not used)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-cursor.current","name":"MongoDB\\Driver\\Cursor::current","description":"Returns the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"mongodb-driver-cursor.getid","name":"MongoDB\\Driver\\Cursor::getId","description":"Returns the ID for this cursor","tag":"refentry","type":"Function","methodName":"getId"},{"id":"mongodb-driver-cursor.getserver","name":"MongoDB\\Driver\\Cursor::getServer","description":"Returns the server associated with this cursor","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-cursor.isdead","name":"MongoDB\\Driver\\Cursor::isDead","description":"Checks if the cursor is exhausted or may have additional results","tag":"refentry","type":"Function","methodName":"isDead"},{"id":"mongodb-driver-cursor.key","name":"MongoDB\\Driver\\Cursor::key","description":"Returns the current result's index within the cursor","tag":"refentry","type":"Function","methodName":"key"},{"id":"mongodb-driver-cursor.next","name":"MongoDB\\Driver\\Cursor::next","description":"Advances the cursor to the next result","tag":"refentry","type":"Function","methodName":"next"},{"id":"mongodb-driver-cursor.rewind","name":"MongoDB\\Driver\\Cursor::rewind","description":"Rewind the cursor to the first result","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"mongodb-driver-cursor.settypemap","name":"MongoDB\\Driver\\Cursor::setTypeMap","description":"Sets a type map to use for BSON unserialization","tag":"refentry","type":"Function","methodName":"setTypeMap"},{"id":"mongodb-driver-cursor.toarray","name":"MongoDB\\Driver\\Cursor::toArray","description":"Returns an array containing all results for this cursor","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"mongodb-driver-cursor.valid","name":"MongoDB\\Driver\\Cursor::valid","description":"Checks if the current position in the cursor is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.mongodb-driver-cursor","name":"MongoDB\\Driver\\Cursor","description":"The MongoDB\\Driver\\Cursor class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Cursor"},{"id":"mongodb-driver-cursorid.construct","name":"MongoDB\\Driver\\CursorId::__construct","description":"Create a new CursorId (not used)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-cursorid.tostring","name":"MongoDB\\Driver\\CursorId::__toString","description":"String representation of the cursor ID","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-driver-cursorid","name":"MongoDB\\Driver\\CursorId","description":"The MongoDB\\Driver\\CursorId class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\CursorId"},{"id":"mongodb-driver-cursorinterface.getid","name":"MongoDB\\Driver\\CursorInterface::getId","description":"Returns the ID for this cursor","tag":"refentry","type":"Function","methodName":"getId"},{"id":"mongodb-driver-cursorinterface.getserver","name":"MongoDB\\Driver\\CursorInterface::getServer","description":"Returns the server associated with this cursor","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-cursorinterface.isdead","name":"MongoDB\\Driver\\CursorInterface::isDead","description":"Checks if the cursor may have additional results","tag":"refentry","type":"Function","methodName":"isDead"},{"id":"mongodb-driver-cursorinterface.settypemap","name":"MongoDB\\Driver\\CursorInterface::setTypeMap","description":"Sets a type map to use for BSON unserialization","tag":"refentry","type":"Function","methodName":"setTypeMap"},{"id":"mongodb-driver-cursorinterface.toarray","name":"MongoDB\\Driver\\CursorInterface::toArray","description":"Returns an array containing all results for this cursor","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.mongodb-driver-cursorinterface","name":"MongoDB\\Driver\\CursorInterface","description":"The MongoDB\\Driver\\CursorInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\CursorInterface"},{"id":"mongodb-driver-server.construct","name":"MongoDB\\Driver\\Server::__construct","description":"Create a new Server (not used)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-driver-server.executebulkwrite","name":"MongoDB\\Driver\\Server::executeBulkWrite","description":"Execute one or more write operations on this server","tag":"refentry","type":"Function","methodName":"executeBulkWrite"},{"id":"mongodb-driver-server.executebulkwritecommand","name":"MongoDB\\Driver\\Server::executeBulkWriteCommand","description":"Execute write operations on this server using the bulkWrite command","tag":"refentry","type":"Function","methodName":"executeBulkWriteCommand"},{"id":"mongodb-driver-server.executecommand","name":"MongoDB\\Driver\\Server::executeCommand","description":"Execute a database command on this server","tag":"refentry","type":"Function","methodName":"executeCommand"},{"id":"mongodb-driver-server.executequery","name":"MongoDB\\Driver\\Server::executeQuery","description":"Execute a database query on this server","tag":"refentry","type":"Function","methodName":"executeQuery"},{"id":"mongodb-driver-server.executereadcommand","name":"MongoDB\\Driver\\Server::executeReadCommand","description":"Execute a database command that reads on this server","tag":"refentry","type":"Function","methodName":"executeReadCommand"},{"id":"mongodb-driver-server.executereadwritecommand","name":"MongoDB\\Driver\\Server::executeReadWriteCommand","description":"Execute a database command that reads and writes on this server","tag":"refentry","type":"Function","methodName":"executeReadWriteCommand"},{"id":"mongodb-driver-server.executewritecommand","name":"MongoDB\\Driver\\Server::executeWriteCommand","description":"Execute a database command that writes on this server","tag":"refentry","type":"Function","methodName":"executeWriteCommand"},{"id":"mongodb-driver-server.gethost","name":"MongoDB\\Driver\\Server::getHost","description":"Returns the hostname of this server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-server.getinfo","name":"MongoDB\\Driver\\Server::getInfo","description":"Returns an array of information describing this server","tag":"refentry","type":"Function","methodName":"getInfo"},{"id":"mongodb-driver-server.getlatency","name":"MongoDB\\Driver\\Server::getLatency","description":"Returns the latency of this server in milliseconds","tag":"refentry","type":"Function","methodName":"getLatency"},{"id":"mongodb-driver-server.getport","name":"MongoDB\\Driver\\Server::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-server.getserverdescription","name":"MongoDB\\Driver\\Server::getServerDescription","description":"Returns a ServerDescription for this server","tag":"refentry","type":"Function","methodName":"getServerDescription"},{"id":"mongodb-driver-server.gettags","name":"MongoDB\\Driver\\Server::getTags","description":"Returns an array of tags describing this server in a replica set","tag":"refentry","type":"Function","methodName":"getTags"},{"id":"mongodb-driver-server.gettype","name":"MongoDB\\Driver\\Server::getType","description":"Returns an integer denoting the type of this server","tag":"refentry","type":"Function","methodName":"getType"},{"id":"mongodb-driver-server.isarbiter","name":"MongoDB\\Driver\\Server::isArbiter","description":"Checks if this server is an arbiter member of a replica set","tag":"refentry","type":"Function","methodName":"isArbiter"},{"id":"mongodb-driver-server.ishidden","name":"MongoDB\\Driver\\Server::isHidden","description":"Checks if this server is a hidden member of a replica set","tag":"refentry","type":"Function","methodName":"isHidden"},{"id":"mongodb-driver-server.ispassive","name":"MongoDB\\Driver\\Server::isPassive","description":"Checks if this server is a passive member of a replica set","tag":"refentry","type":"Function","methodName":"isPassive"},{"id":"mongodb-driver-server.isprimary","name":"MongoDB\\Driver\\Server::isPrimary","description":"Checks if this server is a primary member of a replica set","tag":"refentry","type":"Function","methodName":"isPrimary"},{"id":"mongodb-driver-server.issecondary","name":"MongoDB\\Driver\\Server::isSecondary","description":"Checks if this server is a secondary member of a replica set","tag":"refentry","type":"Function","methodName":"isSecondary"},{"id":"class.mongodb-driver-server","name":"MongoDB\\Driver\\Server","description":"The MongoDB\\Driver\\Server class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Server"},{"id":"mongodb-driver-serverdescription.gethelloresponse","name":"MongoDB\\Driver\\ServerDescription::getHelloResponse","description":"Returns the server's most recent \"hello\" response","tag":"refentry","type":"Function","methodName":"getHelloResponse"},{"id":"mongodb-driver-serverdescription.gethost","name":"MongoDB\\Driver\\ServerDescription::getHost","description":"Returns the hostname of this server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-serverdescription.getlastupdatetime","name":"MongoDB\\Driver\\ServerDescription::getLastUpdateTime","description":"Returns the server's last update time in microseconds","tag":"refentry","type":"Function","methodName":"getLastUpdateTime"},{"id":"mongodb-driver-serverdescription.getport","name":"MongoDB\\Driver\\ServerDescription::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-serverdescription.getroundtriptime","name":"MongoDB\\Driver\\ServerDescription::getRoundTripTime","description":"Returns the server's round trip time in milliseconds","tag":"refentry","type":"Function","methodName":"getRoundTripTime"},{"id":"mongodb-driver-serverdescription.gettype","name":"MongoDB\\Driver\\ServerDescription::getType","description":"Returns a string denoting the type of this server","tag":"refentry","type":"Function","methodName":"getType"},{"id":"class.mongodb-driver-serverdescription","name":"MongoDB\\Driver\\ServerDescription","description":"The MongoDB\\Driver\\ServerDescription class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\ServerDescription"},{"id":"mongodb-driver-topologydescription.getservers","name":"MongoDB\\Driver\\TopologyDescription::getServers","description":"Returns the servers in the topology","tag":"refentry","type":"Function","methodName":"getServers"},{"id":"mongodb-driver-topologydescription.gettype","name":"MongoDB\\Driver\\TopologyDescription::getType","description":"Returns a string denoting the type of this topology","tag":"refentry","type":"Function","methodName":"getType"},{"id":"mongodb-driver-topologydescription.hasreadableserver","name":"MongoDB\\Driver\\TopologyDescription::hasReadableServer","description":"Returns whether the topology has a readable server","tag":"refentry","type":"Function","methodName":"hasReadableServer"},{"id":"mongodb-driver-topologydescription.haswritableserver","name":"MongoDB\\Driver\\TopologyDescription::hasWritableServer","description":"Returns whether the topology has a writable server","tag":"refentry","type":"Function","methodName":"hasWritableServer"},{"id":"class.mongodb-driver-topologydescription","name":"MongoDB\\Driver\\TopologyDescription","description":"The MongoDB\\Driver\\TopologyDescription class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\TopologyDescription"},{"id":"mongodb-driver-writeconcernerror.getcode","name":"MongoDB\\Driver\\WriteConcernError::getCode","description":"Returns the WriteConcernError's error code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"mongodb-driver-writeconcernerror.getinfo","name":"MongoDB\\Driver\\WriteConcernError::getInfo","description":"Returns metadata document for the WriteConcernError","tag":"refentry","type":"Function","methodName":"getInfo"},{"id":"mongodb-driver-writeconcernerror.getmessage","name":"MongoDB\\Driver\\WriteConcernError::getMessage","description":"Returns the WriteConcernError's error message","tag":"refentry","type":"Function","methodName":"getMessage"},{"id":"class.mongodb-driver-writeconcernerror","name":"MongoDB\\Driver\\WriteConcernError","description":"The MongoDB\\Driver\\WriteConcernError class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\WriteConcernError"},{"id":"mongodb-driver-writeerror.getcode","name":"MongoDB\\Driver\\WriteError::getCode","description":"Returns the WriteError's error code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"mongodb-driver-writeerror.getindex","name":"MongoDB\\Driver\\WriteError::getIndex","description":"Returns the index of the write operation corresponding to this WriteError","tag":"refentry","type":"Function","methodName":"getIndex"},{"id":"mongodb-driver-writeerror.getinfo","name":"MongoDB\\Driver\\WriteError::getInfo","description":"Returns metadata document for the WriteError","tag":"refentry","type":"Function","methodName":"getInfo"},{"id":"mongodb-driver-writeerror.getmessage","name":"MongoDB\\Driver\\WriteError::getMessage","description":"Returns the WriteError's error message","tag":"refentry","type":"Function","methodName":"getMessage"},{"id":"class.mongodb-driver-writeerror","name":"MongoDB\\Driver\\WriteError","description":"The MongoDB\\Driver\\WriteError class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\WriteError"},{"id":"mongodb-driver-writeresult.getdeletedcount","name":"MongoDB\\Driver\\WriteResult::getDeletedCount","description":"Returns the number of documents deleted","tag":"refentry","type":"Function","methodName":"getDeletedCount"},{"id":"mongodb-driver-writeresult.getinsertedcount","name":"MongoDB\\Driver\\WriteResult::getInsertedCount","description":"Returns the number of documents inserted (excluding upserts)","tag":"refentry","type":"Function","methodName":"getInsertedCount"},{"id":"mongodb-driver-writeresult.getmatchedcount","name":"MongoDB\\Driver\\WriteResult::getMatchedCount","description":"Returns the number of documents selected for update","tag":"refentry","type":"Function","methodName":"getMatchedCount"},{"id":"mongodb-driver-writeresult.getmodifiedcount","name":"MongoDB\\Driver\\WriteResult::getModifiedCount","description":"Returns the number of existing documents updated","tag":"refentry","type":"Function","methodName":"getModifiedCount"},{"id":"mongodb-driver-writeresult.getserver","name":"MongoDB\\Driver\\WriteResult::getServer","description":"Returns the server associated with this write result","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-writeresult.getupsertedcount","name":"MongoDB\\Driver\\WriteResult::getUpsertedCount","description":"Returns the number of documents inserted by an upsert","tag":"refentry","type":"Function","methodName":"getUpsertedCount"},{"id":"mongodb-driver-writeresult.getupsertedids","name":"MongoDB\\Driver\\WriteResult::getUpsertedIds","description":"Returns an array of identifiers for upserted documents","tag":"refentry","type":"Function","methodName":"getUpsertedIds"},{"id":"mongodb-driver-writeresult.getwriteconcernerror","name":"MongoDB\\Driver\\WriteResult::getWriteConcernError","description":"Returns any write concern error that occurred","tag":"refentry","type":"Function","methodName":"getWriteConcernError"},{"id":"mongodb-driver-writeresult.getwriteerrors","name":"MongoDB\\Driver\\WriteResult::getWriteErrors","description":"Returns any write errors that occurred","tag":"refentry","type":"Function","methodName":"getWriteErrors"},{"id":"mongodb-driver-writeresult.isacknowledged","name":"MongoDB\\Driver\\WriteResult::isAcknowledged","description":"Returns whether the write was acknowledged","tag":"refentry","type":"Function","methodName":"isAcknowledged"},{"id":"class.mongodb-driver-writeresult","name":"MongoDB\\Driver\\WriteResult","description":"The MongoDB\\Driver\\WriteResult class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\WriteResult"},{"id":"mongodb-driver-bulkwritecommandresult.getdeletedcount","name":"MongoDB\\Driver\\BulkWriteCommandResult::getDeletedCount","description":"Returns the number of documents deleted","tag":"refentry","type":"Function","methodName":"getDeletedCount"},{"id":"mongodb-driver-bulkwritecommandresult.getdeleteresults","name":"MongoDB\\Driver\\BulkWriteCommandResult::getDeleteResults","description":"Returns verbose results for successful deletes","tag":"refentry","type":"Function","methodName":"getDeleteResults"},{"id":"mongodb-driver-bulkwritecommandresult.getinsertedcount","name":"MongoDB\\Driver\\BulkWriteCommandResult::getInsertedCount","description":"Returns the number of documents inserted","tag":"refentry","type":"Function","methodName":"getInsertedCount"},{"id":"mongodb-driver-bulkwritecommandresult.getinsertresults","name":"MongoDB\\Driver\\BulkWriteCommandResult::getInsertResults","description":"Returns verbose results for successful inserts","tag":"refentry","type":"Function","methodName":"getInsertResults"},{"id":"mongodb-driver-bulkwritecommandresult.getmatchedcount","name":"MongoDB\\Driver\\BulkWriteCommandResult::getMatchedCount","description":"Returns the number of documents selected for update","tag":"refentry","type":"Function","methodName":"getMatchedCount"},{"id":"mongodb-driver-bulkwritecommandresult.getmodifiedcount","name":"MongoDB\\Driver\\BulkWriteCommandResult::getModifiedCount","description":"Returns the number of existing documents updated","tag":"refentry","type":"Function","methodName":"getModifiedCount"},{"id":"mongodb-driver-bulkwritecommandresult.getupdateresults","name":"MongoDB\\Driver\\BulkWriteCommandResult::getUpdateResults","description":"Returns verbose results for successful updates","tag":"refentry","type":"Function","methodName":"getUpdateResults"},{"id":"mongodb-driver-bulkwritecommandresult.getupsertedcount","name":"MongoDB\\Driver\\BulkWriteCommandResult::getUpsertedCount","description":"Returns the number of documents upserted","tag":"refentry","type":"Function","methodName":"getUpsertedCount"},{"id":"mongodb-driver-bulkwritecommandresult.isacknowledged","name":"MongoDB\\Driver\\BulkWriteCommandResult::isAcknowledged","description":"Returns whether the write was acknowledged","tag":"refentry","type":"Function","methodName":"isAcknowledged"},{"id":"class.mongodb-driver-bulkwritecommandresult","name":"MongoDB\\Driver\\BulkWriteCommandResult","description":"The MongoDB\\Driver\\BulkWriteCommandResult class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\BulkWriteCommandResult"},{"id":"mongodb.mongodb","name":"MongoDB\\Driver","description":"MongoDB Extension Classes","tag":"part","type":"General","methodName":"MongoDB\\Driver"},{"id":"function.mongodb.bson-fromjson","name":"MongoDB\\BSON\\fromJSON","description":"Returns the BSON representation of a JSON value","tag":"refentry","type":"Function","methodName":"MongoDB\\BSON\\fromJSON"},{"id":"function.mongodb.bson-fromphp","name":"MongoDB\\BSON\\fromPHP","description":"Returns the BSON representation of a PHP value","tag":"refentry","type":"Function","methodName":"MongoDB\\BSON\\fromPHP"},{"id":"function.mongodb.bson-tocanonicalextendedjson","name":"MongoDB\\BSON\\toCanonicalExtendedJSON","description":"Returns the Canonical Extended JSON representation of a BSON value","tag":"refentry","type":"Function","methodName":"MongoDB\\BSON\\toCanonicalExtendedJSON"},{"id":"function.mongodb.bson-tojson","name":"MongoDB\\BSON\\toJSON","description":"Returns the Legacy Extended JSON representation of a BSON value","tag":"refentry","type":"Function","methodName":"MongoDB\\BSON\\toJSON"},{"id":"function.mongodb.bson-tophp","name":"MongoDB\\BSON\\toPHP","description":"Returns the PHP representation of a BSON value","tag":"refentry","type":"Function","methodName":"MongoDB\\BSON\\toPHP"},{"id":"function.mongodb.bson-torelaxedextendedjson","name":"MongoDB\\BSON\\toRelaxedExtendedJSON","description":"Returns the Relaxed Extended JSON representation of a BSON value","tag":"refentry","type":"Function","methodName":"MongoDB\\BSON\\toRelaxedExtendedJSON"},{"id":"ref.bson.functions","name":"Functions","description":"MongoDB Extension","tag":"reference","type":"Extension","methodName":"Functions"},{"id":"mongodb-bson-document.construct","name":"MongoDB\\BSON\\Document::__construct","description":"Construct a new BSON document (unused)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-document.frombson","name":"MongoDB\\BSON\\Document::fromBSON","description":"Construct a new document instance from a BSON string","tag":"refentry","type":"Function","methodName":"fromBSON"},{"id":"mongodb-bson-document.fromjson","name":"MongoDB\\BSON\\Document::fromJSON","description":"Construct a new document instance from a JSON string","tag":"refentry","type":"Function","methodName":"fromJSON"},{"id":"mongodb-bson-document.fromphp","name":"MongoDB\\BSON\\Document::fromPHP","description":"Construct a new document instance from PHP data","tag":"refentry","type":"Function","methodName":"fromPHP"},{"id":"mongodb-bson-document.get","name":"MongoDB\\BSON\\Document::get","description":"Returns the value of a key in the document","tag":"refentry","type":"Function","methodName":"get"},{"id":"mongodb-bson-document.getiterator","name":"MongoDB\\BSON\\Document::getIterator","description":"Returns an iterator for the BSON document","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"mongodb-bson-document.has","name":"MongoDB\\BSON\\Document::has","description":"Returns whether a key is present in the document","tag":"refentry","type":"Function","methodName":"has"},{"id":"mongodb-bson-document.offsetexists","name":"MongoDB\\BSON\\Document::offsetExists","description":"Returns whether a key is present in the document","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"mongodb-bson-document.offsetget","name":"MongoDB\\BSON\\Document::offsetGet","description":"Returns the value of a key in the document","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"mongodb-bson-document.offsetset","name":"MongoDB\\BSON\\Document::offsetSet","description":"Implementation of ArrayAccess","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"mongodb-bson-document.offsetunset","name":"MongoDB\\BSON\\Document::offsetUnset","description":"Implementation of ArrayAccess","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"mongodb-bson-document.tocanonicalextendedjson","name":"MongoDB\\BSON\\Document::toCanonicalExtendedJSON","description":"Returns the Canonical Extended JSON representation of the BSON document","tag":"refentry","type":"Function","methodName":"toCanonicalExtendedJSON"},{"id":"mongodb-bson-document.tophp","name":"MongoDB\\BSON\\Document::toPHP","description":"Returns the PHP representation of the BSON document","tag":"refentry","type":"Function","methodName":"toPHP"},{"id":"mongodb-bson-document.torelaxedextendedjson","name":"MongoDB\\BSON\\Document::toRelaxedExtendedJSON","description":"Returns the Relaxed Extended JSON representation of the BSON document","tag":"refentry","type":"Function","methodName":"toRelaxedExtendedJSON"},{"id":"mongodb-bson-document.tostring","name":"MongoDB\\BSON\\Document::__toString","description":"Returns the string representation of this BSON Document","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-document","name":"MongoDB\\BSON\\Document","description":"The MongoDB\\BSON\\Document class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Document"},{"id":"mongodb-bson-packedarray.construct","name":"MongoDB\\BSON\\PackedArray::__construct","description":"Construct a new BSON array (unused)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-packedarray.fromjson","name":"MongoDB\\BSON\\PackedArray::fromJSON","description":"Construct a new BSON array instance from a JSON string","tag":"refentry","type":"Function","methodName":"fromJSON"},{"id":"mongodb-bson-packedarray.fromphp","name":"MongoDB\\BSON\\PackedArray::fromPHP","description":"Construct a new BSON array instance from PHP data","tag":"refentry","type":"Function","methodName":"fromPHP"},{"id":"mongodb-bson-packedarray.get","name":"MongoDB\\BSON\\PackedArray::get","description":"Returns the value of an index in the array","tag":"refentry","type":"Function","methodName":"get"},{"id":"mongodb-bson-packedarray.getiterator","name":"MongoDB\\BSON\\PackedArray::getIterator","description":"Returns an iterator for the BSON array","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"mongodb-bson-packedarray.has","name":"MongoDB\\BSON\\PackedArray::has","description":"Returns whether a index is present in the array","tag":"refentry","type":"Function","methodName":"has"},{"id":"mongodb-bson-packedarray.offsetexists","name":"MongoDB\\BSON\\PackedArray::offsetExists","description":"Returns whether a index is present in the array","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"mongodb-bson-packedarray.offsetget","name":"MongoDB\\BSON\\PackedArray::offsetGet","description":"Returns the value of an index in the array","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"mongodb-bson-packedarray.offsetset","name":"MongoDB\\BSON\\PackedArray::offsetSet","description":"Implementation of ArrayAccess","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"mongodb-bson-packedarray.offsetunset","name":"MongoDB\\BSON\\PackedArray::offsetUnset","description":"Implementation of ArrayAccess","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"mongodb-bson-packedarray.tocanonicalextendedjson","name":"MongoDB\\BSON\\PackedArray::toCanonicalExtendedJSON","description":"Returns the Canonical Extended JSON representation of the BSON array","tag":"refentry","type":"Function","methodName":"toCanonicalExtendedJSON"},{"id":"mongodb-bson-packedarray.tophp","name":"MongoDB\\BSON\\PackedArray::toPHP","description":"Returns the PHP representation of the BSON array","tag":"refentry","type":"Function","methodName":"toPHP"},{"id":"mongodb-bson-packedarray.torelaxedextendedjson","name":"MongoDB\\BSON\\PackedArray::toRelaxedExtendedJSON","description":"Returns the Relaxed Extended JSON representation of the BSON array","tag":"refentry","type":"Function","methodName":"toRelaxedExtendedJSON"},{"id":"mongodb-bson-packedarray.tostring","name":"MongoDB\\BSON\\PackedArray::__toString","description":"Returns the string representation of this BSON array","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-packedarray","name":"MongoDB\\BSON\\PackedArray","description":"The MongoDB\\BSON\\PackedArray class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\PackedArray"},{"id":"mongodb-bson-iterator.construct","name":"MongoDB\\BSON\\Iterator::__construct","description":"Construct a new BSON iterator (unused)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-iterator.current","name":"MongoDB\\BSON\\Iterator::current","description":"Returns the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"mongodb-bson-iterator.key","name":"MongoDB\\BSON\\Iterator::key","description":"Returns the key of the current element","tag":"refentry","type":"Function","methodName":"key"},{"id":"mongodb-bson-iterator.next","name":"MongoDB\\BSON\\Iterator::next","description":"Advances the iterator to next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"mongodb-bson-iterator.rewind","name":"MongoDB\\BSON\\Iterator::rewind","description":"Rewinds the Iterator to the first element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"mongodb-bson-iterator.valid","name":"MongoDB\\BSON\\Iterator::valid","description":"Checks if current position is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.mongodb-bson-iterator","name":"MongoDB\\BSON\\Iterator","description":"The MongoDB\\BSON\\Iterator class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Iterator"},{"id":"mongodb-bson-binary.construct","name":"MongoDB\\BSON\\Binary::__construct","description":"Construct a new Binary","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-binary.getdata","name":"MongoDB\\BSON\\Binary::getData","description":"Returns the Binary's data","tag":"refentry","type":"Function","methodName":"getData"},{"id":"mongodb-bson-binary.gettype","name":"MongoDB\\BSON\\Binary::getType","description":"Returns the Binary's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"mongodb-bson-binary.jsonserialize","name":"MongoDB\\BSON\\Binary::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-binary.tostring","name":"MongoDB\\BSON\\Binary::__toString","description":"Returns the Binary's data","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-binary","name":"MongoDB\\BSON\\Binary","description":"The MongoDB\\BSON\\Binary class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Binary"},{"id":"mongodb-bson-decimal128.construct","name":"MongoDB\\BSON\\Decimal128::__construct","description":"Construct a new Decimal128","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-decimal128.jsonserialize","name":"MongoDB\\BSON\\Decimal128::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-decimal128.tostring","name":"MongoDB\\BSON\\Decimal128::__toString","description":"Returns the string representation of this Decimal128","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-decimal128","name":"MongoDB\\BSON\\Decimal128","description":"The MongoDB\\BSON\\Decimal128 class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Decimal128"},{"id":"mongodb-bson-javascript.construct","name":"MongoDB\\BSON\\Javascript::__construct","description":"Construct a new Javascript","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-javascript.getcode","name":"MongoDB\\BSON\\Javascript::getCode","description":"Returns the Javascript's code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"mongodb-bson-javascript.getscope","name":"MongoDB\\BSON\\Javascript::getScope","description":"Returns the Javascript's scope document","tag":"refentry","type":"Function","methodName":"getScope"},{"id":"mongodb-bson-javascript.jsonserialize","name":"MongoDB\\BSON\\Javascript::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-javascript.tostring","name":"MongoDB\\BSON\\Javascript::__toString","description":"Returns the Javascript's code","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-javascript","name":"MongoDB\\BSON\\Javascript","description":"The MongoDB\\BSON\\Javascript class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Javascript"},{"id":"mongodb-bson-maxkey.construct","name":"MongoDB\\BSON\\MaxKey::__construct","description":"Construct a new MaxKey","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-maxkey.jsonserialize","name":"MongoDB\\BSON\\MaxKey::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"class.mongodb-bson-maxkey","name":"MongoDB\\BSON\\MaxKey","description":"The MongoDB\\BSON\\MaxKey class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\MaxKey"},{"id":"mongodb-bson-minkey.construct","name":"MongoDB\\BSON\\MinKey::__construct","description":"Construct a new MinKey","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-minkey.jsonserialize","name":"MongoDB\\BSON\\MinKey::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"class.mongodb-bson-minkey","name":"MongoDB\\BSON\\MinKey","description":"The MongoDB\\BSON\\MinKey class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\MinKey"},{"id":"mongodb-bson-objectid.construct","name":"MongoDB\\BSON\\ObjectId::__construct","description":"Construct a new ObjectId","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-objectid.gettimestamp","name":"MongoDB\\BSON\\ObjectId::getTimestamp","description":"Returns the timestamp component of this ObjectId","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"mongodb-bson-objectid.jsonserialize","name":"MongoDB\\BSON\\ObjectId::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-objectid.tostring","name":"MongoDB\\BSON\\ObjectId::__toString","description":"Returns the hexidecimal representation of this ObjectId","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-objectid","name":"MongoDB\\BSON\\ObjectId","description":"The MongoDB\\BSON\\ObjectId class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\ObjectId"},{"id":"mongodb-bson-regex.construct","name":"MongoDB\\BSON\\Regex::__construct","description":"Construct a new Regex","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-regex.getflags","name":"MongoDB\\BSON\\Regex::getFlags","description":"Returns the Regex's flags","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"mongodb-bson-regex.getpattern","name":"MongoDB\\BSON\\Regex::getPattern","description":"Returns the Regex's pattern","tag":"refentry","type":"Function","methodName":"getPattern"},{"id":"mongodb-bson-regex.jsonserialize","name":"MongoDB\\BSON\\Regex::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-regex.tostring","name":"MongoDB\\BSON\\Regex::__toString","description":"Returns the string representation of this Regex","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-regex","name":"MongoDB\\BSON\\Regex","description":"The MongoDB\\BSON\\Regex class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Regex"},{"id":"mongodb-bson-timestamp.construct","name":"MongoDB\\BSON\\Timestamp::__construct","description":"Construct a new Timestamp","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-timestamp.getincrement","name":"MongoDB\\BSON\\Timestamp::getIncrement","description":"Returns the increment component of this Timestamp","tag":"refentry","type":"Function","methodName":"getIncrement"},{"id":"mongodb-bson-timestamp.gettimestamp","name":"MongoDB\\BSON\\Timestamp::getTimestamp","description":"Returns the timestamp component of this Timestamp","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"mongodb-bson-timestamp.jsonserialize","name":"MongoDB\\BSON\\Timestamp::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-timestamp.tostring","name":"MongoDB\\BSON\\Timestamp::__toString","description":"Returns the string representation of this Timestamp","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-timestamp","name":"MongoDB\\BSON\\Timestamp","description":"The MongoDB\\BSON\\Timestamp class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Timestamp"},{"id":"mongodb-bson-utcdatetime.construct","name":"MongoDB\\BSON\\UTCDateTime::__construct","description":"Construct a new UTCDateTime","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-utcdatetime.jsonserialize","name":"MongoDB\\BSON\\UTCDateTime::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-utcdatetime.todatetime","name":"MongoDB\\BSON\\UTCDateTime::toDateTime","description":"Returns the DateTime representation of this UTCDateTime","tag":"refentry","type":"Function","methodName":"toDateTime"},{"id":"mongodb-bson-utcdatetime.todatetimeimmutable","name":"MongoDB\\BSON\\UTCDateTime::toDateTimeImmutable","description":"Returns the DateTimeImmutable representation of this UTCDateTime","tag":"refentry","type":"Function","methodName":"toDateTimeImmutable"},{"id":"mongodb-bson-utcdatetime.tostring","name":"MongoDB\\BSON\\UTCDateTime::__toString","description":"Returns the string representation of this UTCDateTime","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-utcdatetime","name":"MongoDB\\BSON\\UTCDateTime","description":"The MongoDB\\BSON\\UTCDateTime class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\UTCDateTime"},{"id":"class.mongodb-bson-type","name":"MongoDB\\BSON\\Type","description":"The MongoDB\\BSON\\Type interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Type"},{"id":"mongodb-bson-persistable.bsonserialize","name":"MongoDB\\BSON\\Persistable::bsonSerialize","description":"Provides an array or document to serialize as BSON","tag":"refentry","type":"Function","methodName":"bsonSerialize"},{"id":"class.mongodb-bson-persistable","name":"MongoDB\\BSON\\Persistable","description":"The MongoDB\\BSON\\Persistable interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Persistable"},{"id":"mongodb-bson-serializable.bsonserialize","name":"MongoDB\\BSON\\Serializable::bsonSerialize","description":"Provides an array or document to serialize as BSON","tag":"refentry","type":"Function","methodName":"bsonSerialize"},{"id":"class.mongodb-bson-serializable","name":"MongoDB\\BSON\\Serializable","description":"The MongoDB\\BSON\\Serializable interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Serializable"},{"id":"mongodb-bson-unserializable.bsonunserialize","name":"MongoDB\\BSON\\Unserializable::bsonUnserialize","description":"Constructs the object from a BSON array or document","tag":"refentry","type":"Function","methodName":"bsonUnserialize"},{"id":"class.mongodb-bson-unserializable","name":"MongoDB\\BSON\\Unserializable","description":"The MongoDB\\BSON\\Unserializable interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Unserializable"},{"id":"mongodb-bson-binaryinterface.getdata","name":"MongoDB\\BSON\\BinaryInterface::getData","description":"Returns the BinaryInterface's data","tag":"refentry","type":"Function","methodName":"getData"},{"id":"mongodb-bson-binaryinterface.gettype","name":"MongoDB\\BSON\\BinaryInterface::getType","description":"Returns the BinaryInterface's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"mongodb-bson-binaryinterface.tostring","name":"MongoDB\\BSON\\BinaryInterface::__toString","description":"Returns the BinaryInterface's data","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-binaryinterface","name":"MongoDB\\BSON\\BinaryInterface","description":"The MongoDB\\BSON\\BinaryInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\BinaryInterface"},{"id":"mongodb-bson-decimal128interface.tostring","name":"MongoDB\\BSON\\Decimal128Interface::__toString","description":"Returns the string representation of this Decimal128Interface","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-decimal128interface","name":"MongoDB\\BSON\\Decimal128Interface","description":"The MongoDB\\BSON\\Decimal128Interface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Decimal128Interface"},{"id":"mongodb-bson-javascriptinterface.getcode","name":"MongoDB\\BSON\\JavascriptInterface::getCode","description":"Returns the JavascriptInterface's code","tag":"refentry","type":"Function","methodName":"getCode"},{"id":"mongodb-bson-javascriptinterface.getscope","name":"MongoDB\\BSON\\JavascriptInterface::getScope","description":"Returns the JavascriptInterface's scope document","tag":"refentry","type":"Function","methodName":"getScope"},{"id":"mongodb-bson-javascriptinterface.tostring","name":"MongoDB\\BSON\\JavascriptInterface::__toString","description":"Returns the JavascriptInterface's code","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-javascriptinterface","name":"MongoDB\\BSON\\JavascriptInterface","description":"The MongoDB\\BSON\\JavascriptInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\JavascriptInterface"},{"id":"class.mongodb-bson-maxkeyinterface","name":"MongoDB\\BSON\\MaxKeyInterface","description":"The MongoDB\\BSON\\MaxKeyInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\MaxKeyInterface"},{"id":"class.mongodb-bson-minkeyinterface","name":"MongoDB\\BSON\\MinKeyInterface","description":"The MongoDB\\BSON\\MinKeyInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\MinKeyInterface"},{"id":"mongodb-bson-objectidinterface.gettimestamp","name":"MongoDB\\BSON\\ObjectIdInterface::getTimestamp","description":"Returns the timestamp component of this ObjectIdInterface","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"mongodb-bson-objectidinterface.tostring","name":"MongoDB\\BSON\\ObjectIdInterface::__toString","description":"Returns the hexidecimal representation of this ObjectIdInterface","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-objectidinterface","name":"MongoDB\\BSON\\ObjectIdInterface","description":"The MongoDB\\BSON\\ObjectIdInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\ObjectIdInterface"},{"id":"mongodb-bson-regexinterface.getflags","name":"MongoDB\\BSON\\RegexInterface::getFlags","description":"Returns the RegexInterface's flags","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"mongodb-bson-regexinterface.getpattern","name":"MongoDB\\BSON\\RegexInterface::getPattern","description":"Returns the RegexInterface's pattern","tag":"refentry","type":"Function","methodName":"getPattern"},{"id":"mongodb-bson-regexinterface.tostring","name":"MongoDB\\BSON\\RegexInterface::__toString","description":"Returns the string representation of this RegexInterface","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-regexinterface","name":"MongoDB\\BSON\\RegexInterface","description":"The MongoDB\\BSON\\RegexInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\RegexInterface"},{"id":"mongodb-bson-timestampinterface.getincrement","name":"MongoDB\\BSON\\TimestampInterface::getIncrement","description":"Returns the increment component of this TimestampInterface","tag":"refentry","type":"Function","methodName":"getIncrement"},{"id":"mongodb-bson-timestampinterface.gettimestamp","name":"MongoDB\\BSON\\TimestampInterface::getTimestamp","description":"Returns the timestamp component of this TimestampInterface","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"mongodb-bson-timestampinterface.tostring","name":"MongoDB\\BSON\\TimestampInterface::__toString","description":"Returns the string representation of this TimestampInterface","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-timestampinterface","name":"MongoDB\\BSON\\TimestampInterface","description":"The MongoDB\\BSON\\TimestampInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\TimestampInterface"},{"id":"mongodb-bson-utcdatetimeinterface.todatetime","name":"MongoDB\\BSON\\UTCDateTimeInterface::toDateTime","description":"Returns the DateTime representation of this UTCDateTimeInterface","tag":"refentry","type":"Function","methodName":"toDateTime"},{"id":"mongodb-bson-utcdatetimeinterface.todatetimeimmutable","name":"MongoDB\\BSON\\UTCDateTimeInterface::toDateTimeImmutable","description":"Returns the DateTimeImmutable representation of this UTCDateTimeInterface","tag":"refentry","type":"Function","methodName":"toDateTimeImmutable"},{"id":"mongodb-bson-utcdatetimeinterface.tostring","name":"MongoDB\\BSON\\UTCDateTimeInterface::__toString","description":"Returns the string representation of this UTCDateTimeInterface","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-utcdatetimeinterface","name":"MongoDB\\BSON\\UTCDateTimeInterface","description":"The MongoDB\\BSON\\UTCDateTimeInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\UTCDateTimeInterface"},{"id":"mongodb-bson-dbpointer.construct","name":"MongoDB\\BSON\\DBPointer::__construct","description":"Construct a new DBPointer (unused)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-dbpointer.jsonserialize","name":"MongoDB\\BSON\\DBPointer::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-dbpointer.tostring","name":"MongoDB\\BSON\\DBPointer::__toString","description":"Returns an empty string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-dbpointer","name":"MongoDB\\BSON\\DBPointer","description":"The MongoDB\\BSON\\DBPointer class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\DBPointer"},{"id":"mongodb-bson-int64.construct","name":"MongoDB\\BSON\\Int64::__construct","description":"Construct a new Int64","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-int64.jsonserialize","name":"MongoDB\\BSON\\Int64::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-int64.tostring","name":"MongoDB\\BSON\\Int64::__toString","description":"Returns the string representation of this Int64","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-int64","name":"MongoDB\\BSON\\Int64","description":"The MongoDB\\BSON\\Int64 class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Int64"},{"id":"mongodb-bson-symbol.construct","name":"MongoDB\\BSON\\Symbol::__construct","description":"Construct a new Symbol (unused)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-symbol.jsonserialize","name":"MongoDB\\BSON\\Symbol::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-symbol.tostring","name":"MongoDB\\BSON\\Symbol::__toString","description":"Returns the Symbol as a string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-symbol","name":"MongoDB\\BSON\\Symbol","description":"The MongoDB\\BSON\\Symbol class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Symbol"},{"id":"mongodb-bson-undefined.construct","name":"MongoDB\\BSON\\Undefined::__construct","description":"Construct a new Undefined (unused)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mongodb-bson-undefined.jsonserialize","name":"MongoDB\\BSON\\Undefined::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"mongodb-bson-undefined.tostring","name":"MongoDB\\BSON\\Undefined::__toString","description":"Returns an empty string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.mongodb-bson-undefined","name":"MongoDB\\BSON\\Undefined","description":"The MongoDB\\BSON\\Undefined class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\BSON\\Undefined"},{"id":"mongodb.bson","name":"MongoDB\\BSON","description":"MongoDB BSON Classes and Functions","tag":"part","type":"General","methodName":"MongoDB\\BSON"},{"id":"function.mongodb.driver.monitoring.addsubscriber","name":"MongoDB\\Driver\\Monitoring\\addSubscriber","description":"Registers a monitoring event subscriber globally","tag":"refentry","type":"Function","methodName":"MongoDB\\Driver\\Monitoring\\addSubscriber"},{"id":"function.mongodb.driver.monitoring.removesubscriber","name":"MongoDB\\Driver\\Monitoring\\removeSubscriber","description":"Unregisters a monitoring event subscriber globally","tag":"refentry","type":"Function","methodName":"MongoDB\\Driver\\Monitoring\\removeSubscriber"},{"id":"ref.monitoring.functions","name":"Functions","description":"MongoDB Extension","tag":"reference","type":"Extension","methodName":"Functions"},{"id":"mongodb-driver-monitoring-commandfailedevent.getcommandname","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getCommandName","description":"Returns the command name","tag":"refentry","type":"Function","methodName":"getCommandName"},{"id":"mongodb-driver-monitoring-commandfailedevent.getdatabasename","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getDatabaseName","description":"Returns the database on which the command was executed","tag":"refentry","type":"Function","methodName":"getDatabaseName"},{"id":"mongodb-driver-monitoring-commandfailedevent.getdurationmicros","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getDurationMicros","description":"Returns the command's duration in microseconds","tag":"refentry","type":"Function","methodName":"getDurationMicros"},{"id":"mongodb-driver-monitoring-commandfailedevent.geterror","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getError","description":"Returns the Exception associated with the failed command","tag":"refentry","type":"Function","methodName":"getError"},{"id":"mongodb-driver-monitoring-commandfailedevent.gethost","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getHost","description":"Returns the server hostname for the command","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-commandfailedevent.getoperationid","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getOperationId","description":"Returns the command's operation ID","tag":"refentry","type":"Function","methodName":"getOperationId"},{"id":"mongodb-driver-monitoring-commandfailedevent.getport","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getPort","description":"Returns the server port for the command","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-commandfailedevent.getreply","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getReply","description":"Returns the command reply document","tag":"refentry","type":"Function","methodName":"getReply"},{"id":"mongodb-driver-monitoring-commandfailedevent.getrequestid","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getRequestId","description":"Returns the command's request ID","tag":"refentry","type":"Function","methodName":"getRequestId"},{"id":"mongodb-driver-monitoring-commandfailedevent.getserver","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getServer","description":"Returns the Server on which the command was executed","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-monitoring-commandfailedevent.getserverconnectionid","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getServerConnectionId","description":"Returns the server connection ID for the command","tag":"refentry","type":"Function","methodName":"getServerConnectionId"},{"id":"mongodb-driver-monitoring-commandfailedevent.getserviceid","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent::getServiceId","description":"Returns the load balancer service ID for the command","tag":"refentry","type":"Function","methodName":"getServiceId"},{"id":"class.mongodb-driver-monitoring-commandfailedevent","name":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent","description":"The MongoDB\\Driver\\Monitoring\\CommandFailedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\CommandFailedEvent"},{"id":"mongodb-driver-monitoring-commandstartedevent.getcommand","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getCommand","description":"Returns the command document","tag":"refentry","type":"Function","methodName":"getCommand"},{"id":"mongodb-driver-monitoring-commandstartedevent.getcommandname","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getCommandName","description":"Returns the command name","tag":"refentry","type":"Function","methodName":"getCommandName"},{"id":"mongodb-driver-monitoring-commandstartedevent.getdatabasename","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getDatabaseName","description":"Returns the database on which the command was executed","tag":"refentry","type":"Function","methodName":"getDatabaseName"},{"id":"mongodb-driver-monitoring-commandstartedevent.gethost","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getHost","description":"Returns the server hostname for the command","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-commandstartedevent.getoperationid","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getOperationId","description":"Returns the command's operation ID","tag":"refentry","type":"Function","methodName":"getOperationId"},{"id":"mongodb-driver-monitoring-commandstartedevent.getport","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getPort","description":"Returns the server port for the command","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-commandstartedevent.getrequestid","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getRequestId","description":"Returns the command's request ID","tag":"refentry","type":"Function","methodName":"getRequestId"},{"id":"mongodb-driver-monitoring-commandstartedevent.getserver","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getServer","description":"Returns the Server on which the command was executed","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-monitoring-commandstartedevent.getserverconnectionid","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getServerConnectionId","description":"Returns the server connection ID for the command","tag":"refentry","type":"Function","methodName":"getServerConnectionId"},{"id":"mongodb-driver-monitoring-commandstartedevent.getserviceid","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent::getServiceId","description":"Returns the load balancer service ID for the command","tag":"refentry","type":"Function","methodName":"getServiceId"},{"id":"class.mongodb-driver-monitoring-commandstartedevent","name":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent","description":"The MongoDB\\Driver\\Monitoring\\CommandStartedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\CommandStartedEvent"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getcommandname","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getCommandName","description":"Returns the command name","tag":"refentry","type":"Function","methodName":"getCommandName"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getdatabasename","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getDatabaseName","description":"Returns the database on which the command was executed","tag":"refentry","type":"Function","methodName":"getDatabaseName"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getdurationmicros","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getDurationMicros","description":"Returns the command's duration in microseconds","tag":"refentry","type":"Function","methodName":"getDurationMicros"},{"id":"mongodb-driver-monitoring-commandsucceededevent.gethost","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getHost","description":"Returns the server hostname for the command","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getoperationid","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getOperationId","description":"Returns the command's operation ID","tag":"refentry","type":"Function","methodName":"getOperationId"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getport","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getPort","description":"Returns the server port for the command","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getreply","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getReply","description":"Returns the command reply document","tag":"refentry","type":"Function","methodName":"getReply"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getrequestid","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getRequestId","description":"Returns the command's request ID","tag":"refentry","type":"Function","methodName":"getRequestId"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getserver","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getServer","description":"Returns the Server on which the command was executed","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getserverconnectionid","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getServerConnectionId","description":"Returns the server connection ID for the command","tag":"refentry","type":"Function","methodName":"getServerConnectionId"},{"id":"mongodb-driver-monitoring-commandsucceededevent.getserviceid","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent::getServiceId","description":"Returns the load balancer service ID for the command","tag":"refentry","type":"Function","methodName":"getServiceId"},{"id":"class.mongodb-driver-monitoring-commandsucceededevent","name":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent","description":"The MongoDB\\Driver\\Monitoring\\CommandSucceededEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\CommandSucceededEvent"},{"id":"mongodb-driver-monitoring-serverchangedevent.gethost","name":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent::getHost","description":"Returns the hostname of the server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-serverchangedevent.getnewdescription","name":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent::getNewDescription","description":"Returns the new description for the server","tag":"refentry","type":"Function","methodName":"getNewDescription"},{"id":"mongodb-driver-monitoring-serverchangedevent.getport","name":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-serverchangedevent.getpreviousdescription","name":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent::getPreviousDescription","description":"Returns the previous description for the server","tag":"refentry","type":"Function","methodName":"getPreviousDescription"},{"id":"mongodb-driver-monitoring-serverchangedevent.gettopologyid","name":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent::getTopologyId","description":"Returns the topology ID associated with this server","tag":"refentry","type":"Function","methodName":"getTopologyId"},{"id":"class.mongodb-driver-monitoring-serverchangedevent","name":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent","description":"The MongoDB\\Driver\\Monitoring\\ServerChangedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\ServerChangedEvent"},{"id":"mongodb-driver-monitoring-serverclosedevent.gethost","name":"MongoDB\\Driver\\Monitoring\\ServerClosedEvent::getHost","description":"Returns the hostname of the server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-serverclosedevent.getport","name":"MongoDB\\Driver\\Monitoring\\ServerClosedEvent::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-serverclosedevent.gettopologyid","name":"MongoDB\\Driver\\Monitoring\\ServerClosedEvent::getTopologyId","description":"Returns the topology ID associated with this server","tag":"refentry","type":"Function","methodName":"getTopologyId"},{"id":"class.mongodb-driver-monitoring-serverclosedevent","name":"MongoDB\\Driver\\Monitoring\\ServerClosedEvent","description":"The MongoDB\\Driver\\Monitoring\\ServerClosedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\ServerClosedEvent"},{"id":"mongodb-driver-monitoring-serveropeningevent.gethost","name":"MongoDB\\Driver\\Monitoring\\ServerOpeningEvent::getHost","description":"Returns the hostname of the server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-serveropeningevent.getport","name":"MongoDB\\Driver\\Monitoring\\ServerOpeningEvent::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-serveropeningevent.gettopologyid","name":"MongoDB\\Driver\\Monitoring\\ServerOpeningEvent::getTopologyId","description":"Returns the topology ID associated with this server","tag":"refentry","type":"Function","methodName":"getTopologyId"},{"id":"class.mongodb-driver-monitoring-serveropeningevent","name":"MongoDB\\Driver\\Monitoring\\ServerOpeningEvent","description":"The MongoDB\\Driver\\Monitoring\\ServerOpeningEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\ServerOpeningEvent"},{"id":"mongodb-driver-monitoring-serverheartbeatfailedevent.getdurationmicros","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent::getDurationMicros","description":"Returns the heartbeat's duration in microseconds","tag":"refentry","type":"Function","methodName":"getDurationMicros"},{"id":"mongodb-driver-monitoring-serverheartbeatfailedevent.geterror","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent::getError","description":"Returns the Exception associated with the failed heartbeat","tag":"refentry","type":"Function","methodName":"getError"},{"id":"mongodb-driver-monitoring-serverheartbeatfailedevent.gethost","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent::getHost","description":"Returns the hostname of the server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-serverheartbeatfailedevent.getport","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-serverheartbeatfailedevent.isawaited","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent::isAwaited","description":"Returns whether the heartbeat used a streaming protocol","tag":"refentry","type":"Function","methodName":"isAwaited"},{"id":"class.mongodb-driver-monitoring-serverheartbeatfailedevent","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent","description":"The MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatFailedEvent"},{"id":"mongodb-driver-monitoring-serverheartbeatstartedevent.gethost","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatStartedEvent::getHost","description":"Returns the hostname of the server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-serverheartbeatstartedevent.getport","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatStartedEvent::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-serverheartbeatstartedevent.isawaited","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatStartedEvent::isAwaited","description":"Returns whether the heartbeat used a streaming protocol","tag":"refentry","type":"Function","methodName":"isAwaited"},{"id":"class.mongodb-driver-monitoring-serverheartbeatstartedevent","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatStartedEvent","description":"The MongoDB\\Driver\\Monitoring\\ServerHeartbeatStartedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatStartedEvent"},{"id":"mongodb-driver-monitoring-serverheartbeatsucceededevent.getdurationmicros","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent::getDurationMicros","description":"Returns the heartbeat's duration in microseconds","tag":"refentry","type":"Function","methodName":"getDurationMicros"},{"id":"mongodb-driver-monitoring-serverheartbeatsucceededevent.gethost","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent::getHost","description":"Returns the hostname of the server","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"mongodb-driver-monitoring-serverheartbeatsucceededevent.getport","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent::getPort","description":"Returns the port on which this server is listening","tag":"refentry","type":"Function","methodName":"getPort"},{"id":"mongodb-driver-monitoring-serverheartbeatsucceededevent.getreply","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent::getReply","description":"Returns the heartbeat reply document","tag":"refentry","type":"Function","methodName":"getReply"},{"id":"mongodb-driver-monitoring-serverheartbeatsucceededevent.isawaited","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent::isAwaited","description":"Returns whether the heartbeat used a streaming protocol","tag":"refentry","type":"Function","methodName":"isAwaited"},{"id":"class.mongodb-driver-monitoring-serverheartbeatsucceededevent","name":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent","description":"The MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\ServerHeartbeatSucceededEvent"},{"id":"mongodb-driver-monitoring-topologychangedevent.getnewdescription","name":"MongoDB\\Driver\\Monitoring\\TopologyChangedEvent::getNewDescription","description":"Returns the new description for the topology","tag":"refentry","type":"Function","methodName":"getNewDescription"},{"id":"mongodb-driver-monitoring-topologychangedevent.getpreviousdescription","name":"MongoDB\\Driver\\Monitoring\\TopologyChangedEvent::getPreviousDescription","description":"Returns the previous description for the topology","tag":"refentry","type":"Function","methodName":"getPreviousDescription"},{"id":"mongodb-driver-monitoring-topologychangedevent.gettopologyid","name":"MongoDB\\Driver\\Monitoring\\TopologyChangedEvent::getTopologyId","description":"Returns the topology ID","tag":"refentry","type":"Function","methodName":"getTopologyId"},{"id":"class.mongodb-driver-monitoring-topologychangedevent","name":"MongoDB\\Driver\\Monitoring\\TopologyChangedEvent","description":"The MongoDB\\Driver\\Monitoring\\TopologyChangedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\TopologyChangedEvent"},{"id":"mongodb-driver-monitoring-topologyclosedevent.gettopologyid","name":"MongoDB\\Driver\\Monitoring\\TopologyClosedEvent::getTopologyId","description":"Returns the topology ID","tag":"refentry","type":"Function","methodName":"getTopologyId"},{"id":"class.mongodb-driver-monitoring-topologyclosedevent","name":"MongoDB\\Driver\\Monitoring\\TopologyClosedEvent","description":"The MongoDB\\Driver\\Monitoring\\TopologyClosedEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\TopologyClosedEvent"},{"id":"mongodb-driver-monitoring-topologyopeningevent.gettopologyid","name":"MongoDB\\Driver\\Monitoring\\TopologyOpeningEvent::getTopologyId","description":"Returns the topology ID","tag":"refentry","type":"Function","methodName":"getTopologyId"},{"id":"class.mongodb-driver-monitoring-topologyopeningevent","name":"MongoDB\\Driver\\Monitoring\\TopologyOpeningEvent","description":"The MongoDB\\Driver\\Monitoring\\TopologyOpeningEvent class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\TopologyOpeningEvent"},{"id":"mongodb-driver-monitoring-commandsubscriber.commandfailed","name":"MongoDB\\Driver\\Monitoring\\CommandSubscriber::commandFailed","description":"Notification method for a failed command","tag":"refentry","type":"Function","methodName":"commandFailed"},{"id":"mongodb-driver-monitoring-commandsubscriber.commandstarted","name":"MongoDB\\Driver\\Monitoring\\CommandSubscriber::commandStarted","description":"Notification method for a started command","tag":"refentry","type":"Function","methodName":"commandStarted"},{"id":"mongodb-driver-monitoring-commandsubscriber.commandsucceeded","name":"MongoDB\\Driver\\Monitoring\\CommandSubscriber::commandSucceeded","description":"Notification method for a successful command","tag":"refentry","type":"Function","methodName":"commandSucceeded"},{"id":"class.mongodb-driver-monitoring-commandsubscriber","name":"MongoDB\\Driver\\Monitoring\\CommandSubscriber","description":"The MongoDB\\Driver\\Monitoring\\CommandSubscriber interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\CommandSubscriber"},{"id":"mongodb-driver-monitoring-logsubscriber.log","name":"MongoDB\\Driver\\Monitoring\\LogSubscriber::log","description":"Notification method for a log message","tag":"refentry","type":"Function","methodName":"log"},{"id":"class.mongodb-driver-monitoring-logsubscriber","name":"MongoDB\\Driver\\Monitoring\\LogSubscriber","description":"The MongoDB\\Driver\\Monitoring\\LogSubscriber interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\LogSubscriber"},{"id":"mongodb-driver-monitoring-sdamsubscriber.serverchanged","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::serverChanged","description":"Notification method for a server description change","tag":"refentry","type":"Function","methodName":"serverChanged"},{"id":"mongodb-driver-monitoring-sdamsubscriber.serverclosed","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::serverClosed","description":"Notification method for closing a server","tag":"refentry","type":"Function","methodName":"serverClosed"},{"id":"mongodb-driver-monitoring-sdamsubscriber.serverheartbeatfailed","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::serverHeartbeatFailed","description":"Notification method for a failed server heartbeat","tag":"refentry","type":"Function","methodName":"serverHeartbeatFailed"},{"id":"mongodb-driver-monitoring-sdamsubscriber.serverheartbeatstarted","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::serverHeartbeatStarted","description":"Notification method for a started server heartbeat","tag":"refentry","type":"Function","methodName":"serverHeartbeatStarted"},{"id":"mongodb-driver-monitoring-sdamsubscriber.serverheartbeatsucceeded","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::serverHeartbeatSucceeded","description":"Notification method for a successful server heartbeat","tag":"refentry","type":"Function","methodName":"serverHeartbeatSucceeded"},{"id":"mongodb-driver-monitoring-sdamsubscriber.serveropening","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::serverOpening","description":"Notification method for opening a server","tag":"refentry","type":"Function","methodName":"serverOpening"},{"id":"mongodb-driver-monitoring-sdamsubscriber.topologychanged","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::topologyChanged","description":"Notification method for a topology description change","tag":"refentry","type":"Function","methodName":"topologyChanged"},{"id":"mongodb-driver-monitoring-sdamsubscriber.topologyclosed","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::topologyClosed","description":"Notification method for closing the topology","tag":"refentry","type":"Function","methodName":"topologyClosed"},{"id":"mongodb-driver-monitoring-sdamsubscriber.topologyopening","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber::topologyOpening","description":"Notification method for opening the topology","tag":"refentry","type":"Function","methodName":"topologyOpening"},{"id":"class.mongodb-driver-monitoring-sdamsubscriber","name":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber","description":"The MongoDB\\Driver\\Monitoring\\SDAMSubscriber interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\SDAMSubscriber"},{"id":"class.mongodb-driver-monitoring-subscriber","name":"MongoDB\\Driver\\Monitoring\\Subscriber","description":"The MongoDB\\Driver\\Monitoring\\Subscriber interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Monitoring\\Subscriber"},{"id":"mongodb.monitoring","name":"MongoDB\\Driver\\Monitoring","description":"Monitoring classes and subscriber functions","tag":"part","type":"General","methodName":"MongoDB\\Driver\\Monitoring"},{"id":"class.mongodb-driver-exception-authenticationexception","name":"MongoDB\\Driver\\Exception\\AuthenticationException","description":"The MongoDB\\Driver\\Exception\\AuthenticationException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\AuthenticationException"},{"id":"mongodb-driver-bulkwriteexception.getwriteresult","name":"MongoDB\\Driver\\Exception\\BulkWriteException::getWriteResult","description":"Returns the WriteResult for the failed write operation","tag":"refentry","type":"Function","methodName":"getWriteResult"},{"id":"class.mongodb-driver-exception-bulkwriteexception","name":"MongoDB\\Driver\\Exception\\BulkWriteException","description":"The MongoDB\\Driver\\Exception\\BulkWriteException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\BulkWriteException"},{"id":"mongodb-driver-bulkwritecommandexception.geterrorreply","name":"MongoDB\\Driver\\Exception\\BulkWriteCommandException::getErrorReply","description":"Returns any top-level command error","tag":"refentry","type":"Function","methodName":"getErrorReply"},{"id":"mongodb-driver-bulkwritecommandexception.getpartialresult","name":"MongoDB\\Driver\\Exception\\BulkWriteCommandException::getPartialResult","description":"Returns the result of any successful write operations","tag":"refentry","type":"Function","methodName":"getPartialResult"},{"id":"mongodb-driver-bulkwritecommandexception.getwriteconcernerrors","name":"MongoDB\\Driver\\Exception\\BulkWriteCommandException::getWriteConcernErrors","description":"Returns any write concern errors","tag":"refentry","type":"Function","methodName":"getWriteConcernErrors"},{"id":"mongodb-driver-bulkwritecommandexception.getwriteerrors","name":"MongoDB\\Driver\\Exception\\BulkWriteCommandException::getWriteErrors","description":"Returns any write errors","tag":"refentry","type":"Function","methodName":"getWriteErrors"},{"id":"class.mongodb-driver-exception-bulkwritecommandexception","name":"MongoDB\\Driver\\Exception\\BulkWriteCommandException","description":"The MongoDB\\Driver\\Exception\\BulkWriteCommandException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\BulkWriteCommandException"},{"id":"mongodb-driver-commandexception.getresultdocument","name":"MongoDB\\Driver\\Exception\\CommandException::getResultDocument","description":"Returns the result document for the failed command","tag":"refentry","type":"Function","methodName":"getResultDocument"},{"id":"class.mongodb-driver-exception-commandexception","name":"MongoDB\\Driver\\Exception\\CommandException","description":"The MongoDB\\Driver\\Exception\\CommandException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\CommandException"},{"id":"class.mongodb-driver-exception-connectionexception","name":"MongoDB\\Driver\\Exception\\ConnectionException","description":"The MongoDB\\Driver\\Exception\\ConnectionException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\ConnectionException"},{"id":"class.mongodb-driver-exception-connectiontimeoutexception","name":"MongoDB\\Driver\\Exception\\ConnectionTimeoutException","description":"The MongoDB\\Driver\\Exception\\ConnectionTimeoutException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\ConnectionTimeoutException"},{"id":"class.mongodb-driver-exception-encryptionexception","name":"MongoDB\\Driver\\Exception\\EncryptionException","description":"The MongoDB\\Driver\\Exception\\EncryptionException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\EncryptionException"},{"id":"class.mongodb-driver-exception-exception","name":"MongoDB\\Driver\\Exception\\Exception","description":"The MongoDB\\Driver\\Exception\\Exception interface","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\Exception"},{"id":"class.mongodb-driver-exception-executiontimeoutexception","name":"MongoDB\\Driver\\Exception\\ExecutionTimeoutException","description":"The MongoDB\\Driver\\Exception\\ExecutionTimeoutException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\ExecutionTimeoutException"},{"id":"class.mongodb-driver-exception-invalidargumentexception","name":"MongoDB\\Driver\\Exception\\InvalidArgumentException","description":"The MongoDB\\Driver\\Exception\\InvalidArgumentException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\InvalidArgumentException"},{"id":"class.mongodb-driver-exception-logicexception","name":"MongoDB\\Driver\\Exception\\LogicException","description":"The MongoDB\\Driver\\Exception\\LogicException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\LogicException"},{"id":"mongodb-driver-runtimeexception.haserrorlabel","name":"MongoDB\\Driver\\Exception\\RuntimeException::hasErrorLabel","description":"Returns whether an error label is associated with an exception","tag":"refentry","type":"Function","methodName":"hasErrorLabel"},{"id":"class.mongodb-driver-exception-runtimeexception","name":"MongoDB\\Driver\\Exception\\RuntimeException","description":"The MongoDB\\Driver\\Exception\\RuntimeException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\RuntimeException"},{"id":"class.mongodb-driver-exception-serverexception","name":"MongoDB\\Driver\\Exception\\ServerException","description":"The MongoDB\\Driver\\Exception\\ServerException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\ServerException"},{"id":"class.mongodb-driver-exception-sslconnectionexception","name":"MongoDB\\Driver\\Exception\\SSLConnectionException","description":"The MongoDB\\Driver\\Exception\\SSLConnectionException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\SSLConnectionException"},{"id":"class.mongodb-driver-exception-unexpectedvalueexception","name":"MongoDB\\Driver\\Exception\\UnexpectedValueException","description":"The MongoDB\\Driver\\Exception\\UnexpectedValueException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\UnexpectedValueException"},{"id":"mongodb-driver-writeexception.getwriteresult","name":"MongoDB\\Driver\\Exception\\WriteException::getWriteResult","description":"Returns the WriteResult for the failed write operation","tag":"refentry","type":"Function","methodName":"getWriteResult"},{"id":"class.mongodb-driver-exception-writeexception","name":"MongoDB\\Driver\\Exception\\WriteException","description":"The MongoDB\\Driver\\Exception\\WriteException class","tag":"phpdoc:classref","type":"Class","methodName":"MongoDB\\Driver\\Exception\\WriteException"},{"id":"mongodb.exceptions.tree","name":"Class Tree","description":"MongoDB Exception Class Tree","tag":"article","type":"General","methodName":"Class Tree"},{"id":"mongodb.exceptions","name":"MongoDB\\Driver\\Exception","description":"Exception classes","tag":"part","type":"General","methodName":"MongoDB\\Driver\\Exception"},{"id":"book.mongodb","name":"MongoDB","description":"MongoDB Extension","tag":"book","type":"Extension","methodName":"MongoDB"},{"id":"mysqlinfo.intro","name":"Introduction","description":"Overview of the MySQL PHP drivers","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mysqlinfo.terminology","name":"Terminology overview","description":"Overview of the MySQL PHP drivers","tag":"chapter","type":"General","methodName":"Terminology overview"},{"id":"mysqlinfo.api.choosing","name":"Choosing an API","description":"Overview of the MySQL PHP drivers","tag":"chapter","type":"General","methodName":"Choosing an API"},{"id":"mysqlinfo.library.choosing","name":"Choosing a library","description":"Overview of the MySQL PHP drivers","tag":"chapter","type":"General","methodName":"Choosing a library"},{"id":"mysqlinfo.concepts.buffering","name":"Buffered and Unbuffered queries","description":"Overview of the MySQL PHP drivers","tag":"section","type":"General","methodName":"Buffered and Unbuffered queries"},{"id":"mysqlinfo.concepts.charset","name":"Character sets","description":"Overview of the MySQL PHP drivers","tag":"section","type":"General","methodName":"Character sets"},{"id":"mysqlinfo.concepts","name":"Concepts","description":"Overview of the MySQL PHP drivers","tag":"chapter","type":"General","methodName":"Concepts"},{"id":"mysql","name":"Overview of the MySQL PHP drivers","description":"MySQL Drivers and Plugins","tag":"book","type":"Extension","methodName":"Overview of the MySQL PHP drivers"},{"id":"intro.mysqli","name":"Introduction","description":"MySQL Improved Extension","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mysqli.overview","name":"Overview","description":"MySQL Improved Extension","tag":"chapter","type":"General","methodName":"Overview"},{"id":"mysqli.quickstart.dual-interface","name":"Dual procedural and object-oriented interface","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Dual procedural and object-oriented interface"},{"id":"mysqli.quickstart.connections","name":"Connections","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Connections"},{"id":"mysqli.quickstart.statements","name":"Executing statements","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Executing statements"},{"id":"mysqli.quickstart.prepared-statements","name":"Prepared Statements","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Prepared Statements"},{"id":"mysqli.quickstart.stored-procedures","name":"Stored Procedures","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Stored Procedures"},{"id":"mysqli.quickstart.multiple-statement","name":"Multiple Statements","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Multiple Statements"},{"id":"mysqli.quickstart.transactions","name":"API support for transactions","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"API support for transactions"},{"id":"mysqli.quickstart.metadata","name":"Metadata","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Metadata"},{"id":"mysqli.quickstart","name":"Quick start guide","description":"MySQL Improved Extension","tag":"chapter","type":"General","methodName":"Quick start guide"},{"id":"mysqli.requirements","name":"Requirements","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Requirements"},{"id":"mysqli.installation","name":"Installation","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Installation"},{"id":"mysqli.configuration","name":"Runtime Configuration","description":"MySQL Improved Extension","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mysqli.setup","name":"Installing\/Configuring","description":"MySQL Improved Extension","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mysqli.persistconns","name":"The mysqli Extension and Persistent Connections","description":"MySQL Improved Extension","tag":"chapter","type":"General","methodName":"The mysqli Extension and Persistent Connections"},{"id":"mysqli.constants","name":"Predefined Constants","description":"MySQL Improved Extension","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"mysqli.notes","name":"Notes","description":"MySQL Improved Extension","tag":"chapter","type":"General","methodName":"Notes"},{"id":"mysqli.summary","name":"The MySQLi Extension Function Summary","description":"MySQL Improved Extension","tag":"chapter","type":"General","methodName":"The MySQLi Extension Function Summary"},{"id":"mysqli.affected-rows","name":"mysqli_affected_rows","description":"Gets the number of affected rows in a previous MySQL operation","tag":"refentry","type":"Function","methodName":"mysqli_affected_rows"},{"id":"mysqli.affected-rows","name":"mysqli::$affected_rows","description":"Gets the number of affected rows in a previous MySQL operation","tag":"refentry","type":"Function","methodName":"$affected_rows"},{"id":"mysqli.autocommit","name":"mysqli_autocommit","description":"Turns on or off auto-committing database modifications","tag":"refentry","type":"Function","methodName":"mysqli_autocommit"},{"id":"mysqli.autocommit","name":"mysqli::autocommit","description":"Turns on or off auto-committing database modifications","tag":"refentry","type":"Function","methodName":"autocommit"},{"id":"mysqli.begin-transaction","name":"mysqli_begin_transaction","description":"Starts a transaction","tag":"refentry","type":"Function","methodName":"mysqli_begin_transaction"},{"id":"mysqli.begin-transaction","name":"mysqli::begin_transaction","description":"Starts a transaction","tag":"refentry","type":"Function","methodName":"begin_transaction"},{"id":"mysqli.change-user","name":"mysqli_change_user","description":"Changes the user of the database connection","tag":"refentry","type":"Function","methodName":"mysqli_change_user"},{"id":"mysqli.change-user","name":"mysqli::change_user","description":"Changes the user of the database connection","tag":"refentry","type":"Function","methodName":"change_user"},{"id":"mysqli.character-set-name","name":"mysqli_character_set_name","description":"Returns the current character set of the database connection","tag":"refentry","type":"Function","methodName":"mysqli_character_set_name"},{"id":"mysqli.character-set-name","name":"mysqli::character_set_name","description":"Returns the current character set of the database connection","tag":"refentry","type":"Function","methodName":"character_set_name"},{"id":"mysqli.close","name":"mysqli_close","description":"Closes a previously opened database connection","tag":"refentry","type":"Function","methodName":"mysqli_close"},{"id":"mysqli.close","name":"mysqli::close","description":"Closes a previously opened database connection","tag":"refentry","type":"Function","methodName":"close"},{"id":"mysqli.commit","name":"mysqli_commit","description":"Commits the current transaction","tag":"refentry","type":"Function","methodName":"mysqli_commit"},{"id":"mysqli.commit","name":"mysqli::commit","description":"Commits the current transaction","tag":"refentry","type":"Function","methodName":"commit"},{"id":"mysqli.connect-errno","name":"mysqli_connect_errno","description":"Returns the error code from last connect call","tag":"refentry","type":"Function","methodName":"mysqli_connect_errno"},{"id":"mysqli.connect-errno","name":"mysqli::$connect_errno","description":"Returns the error code from last connect call","tag":"refentry","type":"Function","methodName":"$connect_errno"},{"id":"mysqli.connect-error","name":"mysqli_connect_error","description":"Returns a description of the last connection error","tag":"refentry","type":"Function","methodName":"mysqli_connect_error"},{"id":"mysqli.connect-error","name":"mysqli::$connect_error","description":"Returns a description of the last connection error","tag":"refentry","type":"Function","methodName":"$connect_error"},{"id":"mysqli.construct","name":"mysqli_connect","description":"Open a new connection to the MySQL server","tag":"refentry","type":"Function","methodName":"mysqli_connect"},{"id":"mysqli.construct","name":"mysqli::connect","description":"Open a new connection to the MySQL server","tag":"refentry","type":"Function","methodName":"connect"},{"id":"mysqli.construct","name":"mysqli::__construct","description":"Open a new connection to the MySQL server","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysqli.debug","name":"mysqli_debug","description":"Performs debugging operations","tag":"refentry","type":"Function","methodName":"mysqli_debug"},{"id":"mysqli.debug","name":"mysqli::debug","description":"Performs debugging operations","tag":"refentry","type":"Function","methodName":"debug"},{"id":"mysqli.dump-debug-info","name":"mysqli_dump_debug_info","description":"Dump debugging information into the log","tag":"refentry","type":"Function","methodName":"mysqli_dump_debug_info"},{"id":"mysqli.dump-debug-info","name":"mysqli::dump_debug_info","description":"Dump debugging information into the log","tag":"refentry","type":"Function","methodName":"dump_debug_info"},{"id":"mysqli.errno","name":"mysqli_errno","description":"Returns the error code for the most recent function call","tag":"refentry","type":"Function","methodName":"mysqli_errno"},{"id":"mysqli.errno","name":"mysqli::$errno","description":"Returns the error code for the most recent function call","tag":"refentry","type":"Function","methodName":"$errno"},{"id":"mysqli.error","name":"mysqli_error","description":"Returns a string description of the last error","tag":"refentry","type":"Function","methodName":"mysqli_error"},{"id":"mysqli.error","name":"mysqli::$error","description":"Returns a string description of the last error","tag":"refentry","type":"Function","methodName":"$error"},{"id":"mysqli.error-list","name":"mysqli_error_list","description":"Returns a list of errors from the last command executed","tag":"refentry","type":"Function","methodName":"mysqli_error_list"},{"id":"mysqli.error-list","name":"mysqli::$error_list","description":"Returns a list of errors from the last command executed","tag":"refentry","type":"Function","methodName":"$error_list"},{"id":"mysqli.execute-query","name":"mysqli_execute_query","description":"Prepares, binds parameters, and executes SQL statement","tag":"refentry","type":"Function","methodName":"mysqli_execute_query"},{"id":"mysqli.execute-query","name":"mysqli::execute_query","description":"Prepares, binds parameters, and executes SQL statement","tag":"refentry","type":"Function","methodName":"execute_query"},{"id":"mysqli.field-count","name":"mysqli_field_count","description":"Returns the number of columns for the most recent query","tag":"refentry","type":"Function","methodName":"mysqli_field_count"},{"id":"mysqli.field-count","name":"mysqli::$field_count","description":"Returns the number of columns for the most recent query","tag":"refentry","type":"Function","methodName":"$field_count"},{"id":"mysqli.get-charset","name":"mysqli_get_charset","description":"Returns a character set object","tag":"refentry","type":"Function","methodName":"mysqli_get_charset"},{"id":"mysqli.get-charset","name":"mysqli::get_charset","description":"Returns a character set object","tag":"refentry","type":"Function","methodName":"get_charset"},{"id":"mysqli.get-client-info","name":"mysqli_get_client_info","description":"Get MySQL client info","tag":"refentry","type":"Function","methodName":"mysqli_get_client_info"},{"id":"mysqli.get-client-info","name":"mysqli::get_client_info","description":"Get MySQL client info","tag":"refentry","type":"Function","methodName":"get_client_info"},{"id":"mysqli.get-client-info","name":"mysqli::$client_info","description":"Get MySQL client info","tag":"refentry","type":"Function","methodName":"$client_info"},{"id":"mysqli.get-client-version","name":"mysqli_get_client_version","description":"Returns the MySQL client version as an integer","tag":"refentry","type":"Function","methodName":"mysqli_get_client_version"},{"id":"mysqli.get-client-version","name":"mysqli::$client_version","description":"Returns the MySQL client version as an integer","tag":"refentry","type":"Function","methodName":"$client_version"},{"id":"mysqli.get-connection-stats","name":"mysqli_get_connection_stats","description":"Returns statistics about the client connection","tag":"refentry","type":"Function","methodName":"mysqli_get_connection_stats"},{"id":"mysqli.get-connection-stats","name":"mysqli::get_connection_stats","description":"Returns statistics about the client connection","tag":"refentry","type":"Function","methodName":"get_connection_stats"},{"id":"mysqli.get-host-info","name":"mysqli_get_host_info","description":"Returns a string representing the type of connection used","tag":"refentry","type":"Function","methodName":"mysqli_get_host_info"},{"id":"mysqli.get-host-info","name":"mysqli::$host_info","description":"Returns a string representing the type of connection used","tag":"refentry","type":"Function","methodName":"$host_info"},{"id":"mysqli.get-proto-info","name":"mysqli_get_proto_info","description":"Returns the version of the MySQL protocol used","tag":"refentry","type":"Function","methodName":"mysqli_get_proto_info"},{"id":"mysqli.get-proto-info","name":"mysqli::$protocol_version","description":"Returns the version of the MySQL protocol used","tag":"refentry","type":"Function","methodName":"$protocol_version"},{"id":"mysqli.get-server-info","name":"mysqli_get_server_info","description":"Returns the version of the MySQL server","tag":"refentry","type":"Function","methodName":"mysqli_get_server_info"},{"id":"mysqli.get-server-info","name":"mysqli::get_server_info","description":"Returns the version of the MySQL server","tag":"refentry","type":"Function","methodName":"get_server_info"},{"id":"mysqli.get-server-info","name":"mysqli::$server_info","description":"Returns the version of the MySQL server","tag":"refentry","type":"Function","methodName":"$server_info"},{"id":"mysqli.get-server-version","name":"mysqli_get_server_version","description":"Returns the version of the MySQL server as an integer","tag":"refentry","type":"Function","methodName":"mysqli_get_server_version"},{"id":"mysqli.get-server-version","name":"mysqli::$server_version","description":"Returns the version of the MySQL server as an integer","tag":"refentry","type":"Function","methodName":"$server_version"},{"id":"mysqli.get-warnings","name":"mysqli_get_warnings","description":"Get result of SHOW WARNINGS","tag":"refentry","type":"Function","methodName":"mysqli_get_warnings"},{"id":"mysqli.get-warnings","name":"mysqli::get_warnings","description":"Get result of SHOW WARNINGS","tag":"refentry","type":"Function","methodName":"get_warnings"},{"id":"mysqli.info","name":"mysqli_info","description":"Retrieves information about the most recently executed query","tag":"refentry","type":"Function","methodName":"mysqli_info"},{"id":"mysqli.info","name":"mysqli::$info","description":"Retrieves information about the most recently executed query","tag":"refentry","type":"Function","methodName":"$info"},{"id":"mysqli.init","name":"mysqli_init","description":"Initializes MySQLi and returns an object for use with mysqli_real_connect()","tag":"refentry","type":"Function","methodName":"mysqli_init"},{"id":"mysqli.init","name":"mysqli::init","description":"Initializes MySQLi and returns an object for use with mysqli_real_connect()","tag":"refentry","type":"Function","methodName":"init"},{"id":"mysqli.insert-id","name":"mysqli_insert_id","description":"Returns the value generated for an AUTO_INCREMENT column by the last query","tag":"refentry","type":"Function","methodName":"mysqli_insert_id"},{"id":"mysqli.insert-id","name":"mysqli::$insert_id","description":"Returns the value generated for an AUTO_INCREMENT column by the last query","tag":"refentry","type":"Function","methodName":"$insert_id"},{"id":"mysqli.kill","name":"mysqli_kill","description":"Asks the server to kill a MySQL thread","tag":"refentry","type":"Function","methodName":"mysqli_kill"},{"id":"mysqli.kill","name":"mysqli::kill","description":"Asks the server to kill a MySQL thread","tag":"refentry","type":"Function","methodName":"kill"},{"id":"mysqli.more-results","name":"mysqli_more_results","description":"Check if there are any more query results from a multi query","tag":"refentry","type":"Function","methodName":"mysqli_more_results"},{"id":"mysqli.more-results","name":"mysqli::more_results","description":"Check if there are any more query results from a multi query","tag":"refentry","type":"Function","methodName":"more_results"},{"id":"mysqli.multi-query","name":"mysqli_multi_query","description":"Performs one or more queries on the database","tag":"refentry","type":"Function","methodName":"mysqli_multi_query"},{"id":"mysqli.multi-query","name":"mysqli::multi_query","description":"Performs one or more queries on the database","tag":"refentry","type":"Function","methodName":"multi_query"},{"id":"mysqli.next-result","name":"mysqli_next_result","description":"Prepare next result from multi_query","tag":"refentry","type":"Function","methodName":"mysqli_next_result"},{"id":"mysqli.next-result","name":"mysqli::next_result","description":"Prepare next result from multi_query","tag":"refentry","type":"Function","methodName":"next_result"},{"id":"mysqli.options","name":"mysqli_options","description":"Set options","tag":"refentry","type":"Function","methodName":"mysqli_options"},{"id":"mysqli.options","name":"mysqli::options","description":"Set options","tag":"refentry","type":"Function","methodName":"options"},{"id":"mysqli.ping","name":"mysqli_ping","description":"Pings a server connection, or tries to reconnect if the connection has gone down","tag":"refentry","type":"Function","methodName":"mysqli_ping"},{"id":"mysqli.ping","name":"mysqli::ping","description":"Pings a server connection, or tries to reconnect if the connection has gone down","tag":"refentry","type":"Function","methodName":"ping"},{"id":"mysqli.poll","name":"mysqli_poll","description":"Poll connections","tag":"refentry","type":"Function","methodName":"mysqli_poll"},{"id":"mysqli.poll","name":"mysqli::poll","description":"Poll connections","tag":"refentry","type":"Function","methodName":"poll"},{"id":"mysqli.prepare","name":"mysqli_prepare","description":"Prepares an SQL statement for execution","tag":"refentry","type":"Function","methodName":"mysqli_prepare"},{"id":"mysqli.prepare","name":"mysqli::prepare","description":"Prepares an SQL statement for execution","tag":"refentry","type":"Function","methodName":"prepare"},{"id":"mysqli.query","name":"mysqli_query","description":"Performs a query on the database","tag":"refentry","type":"Function","methodName":"mysqli_query"},{"id":"mysqli.query","name":"mysqli::query","description":"Performs a query on the database","tag":"refentry","type":"Function","methodName":"query"},{"id":"mysqli.real-connect","name":"mysqli_real_connect","description":"Opens a connection to a mysql server","tag":"refentry","type":"Function","methodName":"mysqli_real_connect"},{"id":"mysqli.real-connect","name":"mysqli::real_connect","description":"Opens a connection to a mysql server","tag":"refentry","type":"Function","methodName":"real_connect"},{"id":"mysqli.real-escape-string","name":"mysqli_real_escape_string","description":"Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection","tag":"refentry","type":"Function","methodName":"mysqli_real_escape_string"},{"id":"mysqli.real-escape-string","name":"mysqli::real_escape_string","description":"Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection","tag":"refentry","type":"Function","methodName":"real_escape_string"},{"id":"mysqli.real-query","name":"mysqli_real_query","description":"Execute an SQL query","tag":"refentry","type":"Function","methodName":"mysqli_real_query"},{"id":"mysqli.real-query","name":"mysqli::real_query","description":"Execute an SQL query","tag":"refentry","type":"Function","methodName":"real_query"},{"id":"mysqli.reap-async-query","name":"mysqli_reap_async_query","description":"Get result from async query","tag":"refentry","type":"Function","methodName":"mysqli_reap_async_query"},{"id":"mysqli.reap-async-query","name":"mysqli::reap_async_query","description":"Get result from async query","tag":"refentry","type":"Function","methodName":"reap_async_query"},{"id":"mysqli.refresh","name":"mysqli_refresh","description":"Refreshes","tag":"refentry","type":"Function","methodName":"mysqli_refresh"},{"id":"mysqli.refresh","name":"mysqli::refresh","description":"Refreshes","tag":"refentry","type":"Function","methodName":"refresh"},{"id":"mysqli.release-savepoint","name":"mysqli_release_savepoint","description":"Removes the named savepoint from the set of savepoints of the current transaction","tag":"refentry","type":"Function","methodName":"mysqli_release_savepoint"},{"id":"mysqli.release-savepoint","name":"mysqli::release_savepoint","description":"Removes the named savepoint from the set of savepoints of the current transaction","tag":"refentry","type":"Function","methodName":"release_savepoint"},{"id":"mysqli.rollback","name":"mysqli_rollback","description":"Rolls back current transaction","tag":"refentry","type":"Function","methodName":"mysqli_rollback"},{"id":"mysqli.rollback","name":"mysqli::rollback","description":"Rolls back current transaction","tag":"refentry","type":"Function","methodName":"rollback"},{"id":"mysqli.savepoint","name":"mysqli_savepoint","description":"Set a named transaction savepoint","tag":"refentry","type":"Function","methodName":"mysqli_savepoint"},{"id":"mysqli.savepoint","name":"mysqli::savepoint","description":"Set a named transaction savepoint","tag":"refentry","type":"Function","methodName":"savepoint"},{"id":"mysqli.select-db","name":"mysqli_select_db","description":"Selects the default database for database queries","tag":"refentry","type":"Function","methodName":"mysqli_select_db"},{"id":"mysqli.select-db","name":"mysqli::select_db","description":"Selects the default database for database queries","tag":"refentry","type":"Function","methodName":"select_db"},{"id":"mysqli.set-charset","name":"mysqli_set_charset","description":"Sets the client character set","tag":"refentry","type":"Function","methodName":"mysqli_set_charset"},{"id":"mysqli.set-charset","name":"mysqli::set_charset","description":"Sets the client character set","tag":"refentry","type":"Function","methodName":"set_charset"},{"id":"mysqli.sqlstate","name":"mysqli_sqlstate","description":"Returns the SQLSTATE error from previous MySQL operation","tag":"refentry","type":"Function","methodName":"mysqli_sqlstate"},{"id":"mysqli.sqlstate","name":"mysqli::$sqlstate","description":"Returns the SQLSTATE error from previous MySQL operation","tag":"refentry","type":"Function","methodName":"$sqlstate"},{"id":"mysqli.ssl-set","name":"mysqli_ssl_set","description":"Used for establishing secure connections using SSL","tag":"refentry","type":"Function","methodName":"mysqli_ssl_set"},{"id":"mysqli.ssl-set","name":"mysqli::ssl_set","description":"Used for establishing secure connections using SSL","tag":"refentry","type":"Function","methodName":"ssl_set"},{"id":"mysqli.stat","name":"mysqli_stat","description":"Gets the current system status","tag":"refentry","type":"Function","methodName":"mysqli_stat"},{"id":"mysqli.stat","name":"mysqli::stat","description":"Gets the current system status","tag":"refentry","type":"Function","methodName":"stat"},{"id":"mysqli.stmt-init","name":"mysqli_stmt_init","description":"Initializes a statement and returns an object for use with mysqli_stmt_prepare","tag":"refentry","type":"Function","methodName":"mysqli_stmt_init"},{"id":"mysqli.stmt-init","name":"mysqli::stmt_init","description":"Initializes a statement and returns an object for use with mysqli_stmt_prepare","tag":"refentry","type":"Function","methodName":"stmt_init"},{"id":"mysqli.store-result","name":"mysqli_store_result","description":"Transfers a result set from the last query","tag":"refentry","type":"Function","methodName":"mysqli_store_result"},{"id":"mysqli.store-result","name":"mysqli::store_result","description":"Transfers a result set from the last query","tag":"refentry","type":"Function","methodName":"store_result"},{"id":"mysqli.thread-id","name":"mysqli_thread_id","description":"Returns the thread ID for the current connection","tag":"refentry","type":"Function","methodName":"mysqli_thread_id"},{"id":"mysqli.thread-id","name":"mysqli::$thread_id","description":"Returns the thread ID for the current connection","tag":"refentry","type":"Function","methodName":"$thread_id"},{"id":"mysqli.thread-safe","name":"mysqli_thread_safe","description":"Returns whether thread safety is given or not","tag":"refentry","type":"Function","methodName":"mysqli_thread_safe"},{"id":"mysqli.thread-safe","name":"mysqli::thread_safe","description":"Returns whether thread safety is given or not","tag":"refentry","type":"Function","methodName":"thread_safe"},{"id":"mysqli.use-result","name":"mysqli_use_result","description":"Initiate a result set retrieval","tag":"refentry","type":"Function","methodName":"mysqli_use_result"},{"id":"mysqli.use-result","name":"mysqli::use_result","description":"Initiate a result set retrieval","tag":"refentry","type":"Function","methodName":"use_result"},{"id":"mysqli.warning-count","name":"mysqli_warning_count","description":"Returns the number of warnings generated by the most recently executed query","tag":"refentry","type":"Function","methodName":"mysqli_warning_count"},{"id":"mysqli.warning-count","name":"mysqli::$warning_count","description":"Returns the number of warnings generated by the most recently executed query","tag":"refentry","type":"Function","methodName":"$warning_count"},{"id":"class.mysqli","name":"mysqli","description":"The mysqli class","tag":"phpdoc:classref","type":"Class","methodName":"mysqli"},{"id":"mysqli-stmt.affected-rows","name":"mysqli_stmt_affected_rows","description":"Returns the total number of rows changed, deleted, inserted, or\n matched by the last statement executed","tag":"refentry","type":"Function","methodName":"mysqli_stmt_affected_rows"},{"id":"mysqli-stmt.affected-rows","name":"mysqli_stmt::$affected_rows","description":"Returns the total number of rows changed, deleted, inserted, or\n matched by the last statement executed","tag":"refentry","type":"Function","methodName":"$affected_rows"},{"id":"mysqli-stmt.attr-get","name":"mysqli_stmt_attr_get","description":"Used to get the current value of a statement attribute","tag":"refentry","type":"Function","methodName":"mysqli_stmt_attr_get"},{"id":"mysqli-stmt.attr-get","name":"mysqli_stmt::attr_get","description":"Used to get the current value of a statement attribute","tag":"refentry","type":"Function","methodName":"attr_get"},{"id":"mysqli-stmt.attr-set","name":"mysqli_stmt_attr_set","description":"Used to modify the behavior of a prepared statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_attr_set"},{"id":"mysqli-stmt.attr-set","name":"mysqli_stmt::attr_set","description":"Used to modify the behavior of a prepared statement","tag":"refentry","type":"Function","methodName":"attr_set"},{"id":"mysqli-stmt.bind-param","name":"mysqli_stmt_bind_param","description":"Binds variables to a prepared statement as parameters","tag":"refentry","type":"Function","methodName":"mysqli_stmt_bind_param"},{"id":"mysqli-stmt.bind-param","name":"mysqli_stmt::bind_param","description":"Binds variables to a prepared statement as parameters","tag":"refentry","type":"Function","methodName":"bind_param"},{"id":"mysqli-stmt.bind-result","name":"mysqli_stmt_bind_result","description":"Binds variables to a prepared statement for result storage","tag":"refentry","type":"Function","methodName":"mysqli_stmt_bind_result"},{"id":"mysqli-stmt.bind-result","name":"mysqli_stmt::bind_result","description":"Binds variables to a prepared statement for result storage","tag":"refentry","type":"Function","methodName":"bind_result"},{"id":"mysqli-stmt.close","name":"mysqli_stmt_close","description":"Closes a prepared statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_close"},{"id":"mysqli-stmt.close","name":"mysqli_stmt::close","description":"Closes a prepared statement","tag":"refentry","type":"Function","methodName":"close"},{"id":"mysqli-stmt.construct","name":"mysqli_stmt::__construct","description":"Constructs a new mysqli_stmt object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysqli-stmt.data-seek","name":"mysqli_stmt_data_seek","description":"Adjusts the result pointer to an arbitrary row in the buffered result","tag":"refentry","type":"Function","methodName":"mysqli_stmt_data_seek"},{"id":"mysqli-stmt.data-seek","name":"mysqli_stmt::data_seek","description":"Adjusts the result pointer to an arbitrary row in the buffered result","tag":"refentry","type":"Function","methodName":"data_seek"},{"id":"mysqli-stmt.errno","name":"mysqli_stmt_errno","description":"Returns the error code for the most recent statement call","tag":"refentry","type":"Function","methodName":"mysqli_stmt_errno"},{"id":"mysqli-stmt.errno","name":"mysqli_stmt::$errno","description":"Returns the error code for the most recent statement call","tag":"refentry","type":"Function","methodName":"$errno"},{"id":"mysqli-stmt.error","name":"mysqli_stmt_error","description":"Returns a string description for last statement error","tag":"refentry","type":"Function","methodName":"mysqli_stmt_error"},{"id":"mysqli-stmt.error","name":"mysqli_stmt::$error","description":"Returns a string description for last statement error","tag":"refentry","type":"Function","methodName":"$error"},{"id":"mysqli-stmt.error-list","name":"mysqli_stmt_error_list","description":"Returns a list of errors from the last statement executed","tag":"refentry","type":"Function","methodName":"mysqli_stmt_error_list"},{"id":"mysqli-stmt.error-list","name":"mysqli_stmt::$error_list","description":"Returns a list of errors from the last statement executed","tag":"refentry","type":"Function","methodName":"$error_list"},{"id":"mysqli-stmt.execute","name":"mysqli_stmt_execute","description":"Executes a prepared statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_execute"},{"id":"mysqli-stmt.execute","name":"mysqli_stmt::execute","description":"Executes a prepared statement","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysqli-stmt.fetch","name":"mysqli_stmt_fetch","description":"Fetch results from a prepared statement into the bound variables","tag":"refentry","type":"Function","methodName":"mysqli_stmt_fetch"},{"id":"mysqli-stmt.fetch","name":"mysqli_stmt::fetch","description":"Fetch results from a prepared statement into the bound variables","tag":"refentry","type":"Function","methodName":"fetch"},{"id":"mysqli-stmt.field-count","name":"mysqli_stmt_field_count","description":"Returns the number of columns in the given statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_field_count"},{"id":"mysqli-stmt.field-count","name":"mysqli_stmt::$field_count","description":"Returns the number of columns in the given statement","tag":"refentry","type":"Function","methodName":"$field_count"},{"id":"mysqli-stmt.free-result","name":"mysqli_stmt_free_result","description":"Frees stored result memory for the given statement handle","tag":"refentry","type":"Function","methodName":"mysqli_stmt_free_result"},{"id":"mysqli-stmt.free-result","name":"mysqli_stmt::free_result","description":"Frees stored result memory for the given statement handle","tag":"refentry","type":"Function","methodName":"free_result"},{"id":"mysqli-stmt.get-result","name":"mysqli_stmt_get_result","description":"Gets a result set from a prepared statement as a mysqli_result object","tag":"refentry","type":"Function","methodName":"mysqli_stmt_get_result"},{"id":"mysqli-stmt.get-result","name":"mysqli_stmt::get_result","description":"Gets a result set from a prepared statement as a mysqli_result object","tag":"refentry","type":"Function","methodName":"get_result"},{"id":"mysqli-stmt.get-warnings","name":"mysqli_stmt_get_warnings","description":"Get result of SHOW WARNINGS","tag":"refentry","type":"Function","methodName":"mysqli_stmt_get_warnings"},{"id":"mysqli-stmt.get-warnings","name":"mysqli_stmt::get_warnings","description":"Get result of SHOW WARNINGS","tag":"refentry","type":"Function","methodName":"get_warnings"},{"id":"mysqli-stmt.insert-id","name":"mysqli_stmt_insert_id","description":"Get the ID generated from the previous INSERT operation","tag":"refentry","type":"Function","methodName":"mysqli_stmt_insert_id"},{"id":"mysqli-stmt.insert-id","name":"mysqli_stmt::$insert_id","description":"Get the ID generated from the previous INSERT operation","tag":"refentry","type":"Function","methodName":"$insert_id"},{"id":"mysqli-stmt.more-results","name":"mysqli_stmt_more_results","description":"Check if there are more query results from a multiple query","tag":"refentry","type":"Function","methodName":"mysqli_stmt_more_results"},{"id":"mysqli-stmt.more-results","name":"mysqli_stmt::more_results","description":"Check if there are more query results from a multiple query","tag":"refentry","type":"Function","methodName":"more_results"},{"id":"mysqli-stmt.next-result","name":"mysqli_stmt_next_result","description":"Reads the next result from a multiple query","tag":"refentry","type":"Function","methodName":"mysqli_stmt_next_result"},{"id":"mysqli-stmt.next-result","name":"mysqli_stmt::next_result","description":"Reads the next result from a multiple query","tag":"refentry","type":"Function","methodName":"next_result"},{"id":"mysqli-stmt.num-rows","name":"mysqli_stmt_num_rows","description":"Returns the number of rows fetched from the server","tag":"refentry","type":"Function","methodName":"mysqli_stmt_num_rows"},{"id":"mysqli-stmt.num-rows","name":"mysqli_stmt::num_rows","description":"Returns the number of rows fetched from the server","tag":"refentry","type":"Function","methodName":"num_rows"},{"id":"mysqli-stmt.num-rows","name":"mysqli_stmt::$num_rows","description":"Returns the number of rows fetched from the server","tag":"refentry","type":"Function","methodName":"$num_rows"},{"id":"mysqli-stmt.param-count","name":"mysqli_stmt_param_count","description":"Returns the number of parameters for the given statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_param_count"},{"id":"mysqli-stmt.param-count","name":"mysqli_stmt::$param_count","description":"Returns the number of parameters for the given statement","tag":"refentry","type":"Function","methodName":"$param_count"},{"id":"mysqli-stmt.prepare","name":"mysqli_stmt_prepare","description":"Prepares an SQL statement for execution","tag":"refentry","type":"Function","methodName":"mysqli_stmt_prepare"},{"id":"mysqli-stmt.prepare","name":"mysqli_stmt::prepare","description":"Prepares an SQL statement for execution","tag":"refentry","type":"Function","methodName":"prepare"},{"id":"mysqli-stmt.reset","name":"mysqli_stmt_reset","description":"Resets a prepared statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_reset"},{"id":"mysqli-stmt.reset","name":"mysqli_stmt::reset","description":"Resets a prepared statement","tag":"refentry","type":"Function","methodName":"reset"},{"id":"mysqli-stmt.result-metadata","name":"mysqli_stmt_result_metadata","description":"Returns result set metadata from a prepared statement","tag":"refentry","type":"Function","methodName":"mysqli_stmt_result_metadata"},{"id":"mysqli-stmt.result-metadata","name":"mysqli_stmt::result_metadata","description":"Returns result set metadata from a prepared statement","tag":"refentry","type":"Function","methodName":"result_metadata"},{"id":"mysqli-stmt.send-long-data","name":"mysqli_stmt_send_long_data","description":"Send data in blocks","tag":"refentry","type":"Function","methodName":"mysqli_stmt_send_long_data"},{"id":"mysqli-stmt.send-long-data","name":"mysqli_stmt::send_long_data","description":"Send data in blocks","tag":"refentry","type":"Function","methodName":"send_long_data"},{"id":"mysqli-stmt.sqlstate","name":"mysqli_stmt_sqlstate","description":"Returns SQLSTATE error from previous statement operation","tag":"refentry","type":"Function","methodName":"mysqli_stmt_sqlstate"},{"id":"mysqli-stmt.sqlstate","name":"mysqli_stmt::$sqlstate","description":"Returns SQLSTATE error from previous statement operation","tag":"refentry","type":"Function","methodName":"$sqlstate"},{"id":"mysqli-stmt.store-result","name":"mysqli_stmt_store_result","description":"Stores a result set in an internal buffer","tag":"refentry","type":"Function","methodName":"mysqli_stmt_store_result"},{"id":"mysqli-stmt.store-result","name":"mysqli_stmt::store_result","description":"Stores a result set in an internal buffer","tag":"refentry","type":"Function","methodName":"store_result"},{"id":"class.mysqli-stmt","name":"mysqli_stmt","description":"The mysqli_stmt class","tag":"phpdoc:classref","type":"Class","methodName":"mysqli_stmt"},{"id":"mysqli-result.construct","name":"mysqli_result::__construct","description":"Constructs a mysqli_result object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysqli-result.current-field","name":"mysqli_field_tell","description":"Get current field offset of a result pointer","tag":"refentry","type":"Function","methodName":"mysqli_field_tell"},{"id":"mysqli-result.current-field","name":"mysqli_result::$current_field","description":"Get current field offset of a result pointer","tag":"refentry","type":"Function","methodName":"$current_field"},{"id":"mysqli-result.data-seek","name":"mysqli_data_seek","description":"Adjusts the result pointer to an arbitrary row in the result","tag":"refentry","type":"Function","methodName":"mysqli_data_seek"},{"id":"mysqli-result.data-seek","name":"mysqli_result::data_seek","description":"Adjusts the result pointer to an arbitrary row in the result","tag":"refentry","type":"Function","methodName":"data_seek"},{"id":"mysqli-result.fetch-all","name":"mysqli_fetch_all","description":"Fetch all result rows as an associative array, a numeric array, or both","tag":"refentry","type":"Function","methodName":"mysqli_fetch_all"},{"id":"mysqli-result.fetch-all","name":"mysqli_result::fetch_all","description":"Fetch all result rows as an associative array, a numeric array, or both","tag":"refentry","type":"Function","methodName":"fetch_all"},{"id":"mysqli-result.fetch-array","name":"mysqli_fetch_array","description":"Fetch the next row of a result set as an associative, a numeric array, or both","tag":"refentry","type":"Function","methodName":"mysqli_fetch_array"},{"id":"mysqli-result.fetch-array","name":"mysqli_result::fetch_array","description":"Fetch the next row of a result set as an associative, a numeric array, or both","tag":"refentry","type":"Function","methodName":"fetch_array"},{"id":"mysqli-result.fetch-assoc","name":"mysqli_fetch_assoc","description":"Fetch the next row of a result set as an associative array","tag":"refentry","type":"Function","methodName":"mysqli_fetch_assoc"},{"id":"mysqli-result.fetch-assoc","name":"mysqli_result::fetch_assoc","description":"Fetch the next row of a result set as an associative array","tag":"refentry","type":"Function","methodName":"fetch_assoc"},{"id":"mysqli-result.fetch-column","name":"mysqli_fetch_column","description":"Fetch a single column from the next row of a result set","tag":"refentry","type":"Function","methodName":"mysqli_fetch_column"},{"id":"mysqli-result.fetch-column","name":"mysqli_result::fetch_column","description":"Fetch a single column from the next row of a result set","tag":"refentry","type":"Function","methodName":"fetch_column"},{"id":"mysqli-result.fetch-field","name":"mysqli_fetch_field","description":"Returns the next field in the result set","tag":"refentry","type":"Function","methodName":"mysqli_fetch_field"},{"id":"mysqli-result.fetch-field","name":"mysqli_result::fetch_field","description":"Returns the next field in the result set","tag":"refentry","type":"Function","methodName":"fetch_field"},{"id":"mysqli-result.fetch-field-direct","name":"mysqli_fetch_field_direct","description":"Fetch meta-data for a single field","tag":"refentry","type":"Function","methodName":"mysqli_fetch_field_direct"},{"id":"mysqli-result.fetch-field-direct","name":"mysqli_result::fetch_field_direct","description":"Fetch meta-data for a single field","tag":"refentry","type":"Function","methodName":"fetch_field_direct"},{"id":"mysqli-result.fetch-fields","name":"mysqli_fetch_fields","description":"Returns an array of objects representing the fields in a result set","tag":"refentry","type":"Function","methodName":"mysqli_fetch_fields"},{"id":"mysqli-result.fetch-fields","name":"mysqli_result::fetch_fields","description":"Returns an array of objects representing the fields in a result set","tag":"refentry","type":"Function","methodName":"fetch_fields"},{"id":"mysqli-result.fetch-object","name":"mysqli_fetch_object","description":"Fetch the next row of a result set as an object","tag":"refentry","type":"Function","methodName":"mysqli_fetch_object"},{"id":"mysqli-result.fetch-object","name":"mysqli_result::fetch_object","description":"Fetch the next row of a result set as an object","tag":"refentry","type":"Function","methodName":"fetch_object"},{"id":"mysqli-result.fetch-row","name":"mysqli_fetch_row","description":"Fetch the next row of a result set as an enumerated array","tag":"refentry","type":"Function","methodName":"mysqli_fetch_row"},{"id":"mysqli-result.fetch-row","name":"mysqli_result::fetch_row","description":"Fetch the next row of a result set as an enumerated array","tag":"refentry","type":"Function","methodName":"fetch_row"},{"id":"mysqli-result.field-count","name":"mysqli_num_fields","description":"Gets the number of fields in the result set","tag":"refentry","type":"Function","methodName":"mysqli_num_fields"},{"id":"mysqli-result.field-count","name":"mysqli_result::$field_count","description":"Gets the number of fields in the result set","tag":"refentry","type":"Function","methodName":"$field_count"},{"id":"mysqli-result.field-seek","name":"mysqli_field_seek","description":"Set result pointer to a specified field offset","tag":"refentry","type":"Function","methodName":"mysqli_field_seek"},{"id":"mysqli-result.field-seek","name":"mysqli_result::field_seek","description":"Set result pointer to a specified field offset","tag":"refentry","type":"Function","methodName":"field_seek"},{"id":"mysqli-result.free","name":"mysqli_free_result","description":"Frees the memory associated with a result","tag":"refentry","type":"Function","methodName":"mysqli_free_result"},{"id":"mysqli-result.free","name":"mysqli_result::free_result","description":"Frees the memory associated with a result","tag":"refentry","type":"Function","methodName":"free_result"},{"id":"mysqli-result.free","name":"mysqli_result::close","description":"Frees the memory associated with a result","tag":"refentry","type":"Function","methodName":"close"},{"id":"mysqli-result.free","name":"mysqli_result::free","description":"Frees the memory associated with a result","tag":"refentry","type":"Function","methodName":"free"},{"id":"mysqli-result.getiterator","name":"mysqli_result::getIterator","description":"Retrieve an external iterator","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"mysqli-result.lengths","name":"mysqli_fetch_lengths","description":"Returns the lengths of the columns of the current row in the result set","tag":"refentry","type":"Function","methodName":"mysqli_fetch_lengths"},{"id":"mysqli-result.lengths","name":"mysqli_result::$lengths","description":"Returns the lengths of the columns of the current row in the result set","tag":"refentry","type":"Function","methodName":"$lengths"},{"id":"mysqli-result.num-rows","name":"mysqli_num_rows","description":"Gets the number of rows in the result set","tag":"refentry","type":"Function","methodName":"mysqli_num_rows"},{"id":"mysqli-result.num-rows","name":"mysqli_result::$num_rows","description":"Gets the number of rows in the result set","tag":"refentry","type":"Function","methodName":"$num_rows"},{"id":"class.mysqli-result","name":"mysqli_result","description":"The mysqli_result class","tag":"phpdoc:classref","type":"Class","methodName":"mysqli_result"},{"id":"mysqli-driver.embedded-server-end","name":"mysqli_embedded_server_end","description":"Stop embedded server","tag":"refentry","type":"Function","methodName":"mysqli_embedded_server_end"},{"id":"mysqli-driver.embedded-server-end","name":"mysqli_driver::embedded_server_end","description":"Stop embedded server","tag":"refentry","type":"Function","methodName":"embedded_server_end"},{"id":"mysqli-driver.embedded-server-start","name":"mysqli_embedded_server_start","description":"Initialize and start embedded server","tag":"refentry","type":"Function","methodName":"mysqli_embedded_server_start"},{"id":"mysqli-driver.embedded-server-start","name":"mysqli_driver::embedded_server_start","description":"Initialize and start embedded server","tag":"refentry","type":"Function","methodName":"embedded_server_start"},{"id":"mysqli-driver.report-mode","name":"mysqli_report","description":"Sets mysqli error reporting mode","tag":"refentry","type":"Function","methodName":"mysqli_report"},{"id":"mysqli-driver.report-mode","name":"mysqli_driver::$report_mode","description":"Sets mysqli error reporting mode","tag":"refentry","type":"Function","methodName":"$report_mode"},{"id":"class.mysqli-driver","name":"mysqli_driver","description":"The mysqli_driver class","tag":"phpdoc:classref","type":"Class","methodName":"mysqli_driver"},{"id":"mysqli-warning.construct","name":"mysqli_warning::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysqli-warning.next","name":"mysqli_warning::next","description":"Fetch next warning","tag":"refentry","type":"Function","methodName":"next"},{"id":"class.mysqli-warning","name":"mysqli_warning","description":"The mysqli_warning class","tag":"phpdoc:classref","type":"Class","methodName":"mysqli_warning"},{"id":"mysqli-sql-exception.getsqlstate","name":"mysqli_sql_exception::getSqlState","description":"Returns the SQLSTATE error code","tag":"refentry","type":"Function","methodName":"getSqlState"},{"id":"class.mysqli-sql-exception","name":"mysqli_sql_exception","description":"The mysqli_sql_exception class","tag":"phpdoc:classref","type":"Class","methodName":"mysqli_sql_exception"},{"id":"function.mysqli-connect","name":"mysqli_connect","description":"Alias of mysqli::__construct","tag":"refentry","type":"Function","methodName":"mysqli_connect"},{"id":"function.mysqli-escape-string","name":"mysqli_escape_string","description":"Alias of mysqli_real_escape_string","tag":"refentry","type":"Function","methodName":"mysqli_escape_string"},{"id":"function.mysqli-escape-string","name":"mysqli::escape_string","description":"Alias of mysqli_real_escape_string","tag":"refentry","type":"Function","methodName":"escape_string"},{"id":"function.mysqli-execute","name":"mysqli_execute","description":"Alias of mysqli_stmt_execute","tag":"refentry","type":"Function","methodName":"mysqli_execute"},{"id":"function.mysqli-get-client-stats","name":"mysqli_get_client_stats","description":"Returns client per-process statistics","tag":"refentry","type":"Function","methodName":"mysqli_get_client_stats"},{"id":"function.mysqli-get-links-stats","name":"mysqli_get_links_stats","description":"Return information about open and cached links","tag":"refentry","type":"Function","methodName":"mysqli_get_links_stats"},{"id":"function.mysqli-report","name":"mysqli_report","description":"Alias of mysqli_driver->report_mode","tag":"refentry","type":"Function","methodName":"mysqli_report"},{"id":"function.mysqli-set-opt","name":"mysqli_set_opt","description":"Alias of mysqli_options","tag":"refentry","type":"Function","methodName":"mysqli_set_opt"},{"id":"function.mysqli-set-opt","name":"mysqli::set_opt","description":"Alias of mysqli_options","tag":"refentry","type":"Function","methodName":"set_opt"},{"id":"ref.mysqli","name":"Aliases and deprecated Mysqli Functions","description":"MySQL Improved Extension","tag":"reference","type":"Extension","methodName":"Aliases and deprecated Mysqli Functions"},{"id":"changelog.mysqli","name":"Changelog","description":"MySQL Improved Extension","tag":"appendix","type":"General","methodName":"Changelog"},{"id":"book.mysqli","name":"MySQLi","description":"MySQL Improved Extension","tag":"book","type":"Extension","methodName":"MySQLi"},{"id":"intro.mysql-xdevapi","name":"Introduction","description":"Mysql_xdevapi","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mysql-xdevapi.requirements","name":"Requirements","description":"Mysql_xdevapi","tag":"section","type":"General","methodName":"Requirements"},{"id":"mysql-xdevapi.installation","name":"Installation","description":"Mysql_xdevapi","tag":"section","type":"General","methodName":"Installation"},{"id":"mysql-xdevapi.configuration","name":"Runtime Configuration","description":"Mysql_xdevapi","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mysql-xdevapi.build","name":"Building \/ Compiling From Source","description":"Mysql_xdevapi","tag":"section","type":"General","methodName":"Building \/ Compiling From Source"},{"id":"mysql-xdevapi.setup","name":"Installing\/Configuring","description":"Mysql_xdevapi","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mysql-xdevapi.constants","name":"Predefined Constants","description":"Mysql_xdevapi","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"changelog.mysql_xdevapi","name":"Changelog","description":"Mysql_xdevapi","tag":"appendix","type":"General","methodName":"Changelog"},{"id":"mysql-xdevapi.examples","name":"Examples","description":"Mysql_xdevapi","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.mysql-xdevapi-expression","name":"expression","description":"Bind prepared statement variables as parameters","tag":"refentry","type":"Function","methodName":"expression"},{"id":"function.mysql-xdevapi-getsession","name":"getSession","description":"Connect to a MySQL server","tag":"refentry","type":"Function","methodName":"getSession"},{"id":"ref.mysql-xdevapi","name":"Mysql_xdevapi Functions","description":"Mysql_xdevapi","tag":"reference","type":"Extension","methodName":"Mysql_xdevapi Functions"},{"id":"mysql-xdevapi-baseresult.getwarnings","name":"BaseResult::getWarnings","description":"Fetch warnings from last operation","tag":"refentry","type":"Function","methodName":"getWarnings"},{"id":"mysql-xdevapi-baseresult.getwarningscount","name":"BaseResult::getWarningsCount","description":"Fetch warning count from last operation","tag":"refentry","type":"Function","methodName":"getWarningsCount"},{"id":"class.mysql-xdevapi-baseresult","name":"mysql_xdevapi\\BaseResult","description":"BaseResult interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\BaseResult"},{"id":"mysql-xdevapi-client.close","name":"mysql_xdevapi\\Client::close","description":"Close client","tag":"refentry","type":"Function","methodName":"close"},{"id":"mysql-xdevapi-client.construct","name":"Client::__construct","description":"Client constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-client.getsession","name":"Client::getClient","description":"Get client session","tag":"refentry","type":"Function","methodName":"getClient"},{"id":"class.mysql-xdevapi-client","name":"mysql_xdevapi\\Client","description":"Client class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Client"},{"id":"mysql-xdevapi-collection.add","name":"Collection::add","description":"Add collection document","tag":"refentry","type":"Function","methodName":"add"},{"id":"mysql-xdevapi-collection.addorreplaceone","name":"Collection::addOrReplaceOne","description":"Add or replace collection document","tag":"refentry","type":"Function","methodName":"addOrReplaceOne"},{"id":"mysql-xdevapi-collection.construct","name":"Collection::__construct","description":"Collection constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-collection.count","name":"Collection::count","description":"Get document count","tag":"refentry","type":"Function","methodName":"count"},{"id":"mysql-xdevapi-collection.createindex","name":"Collection::createIndex","description":"Create collection index","tag":"refentry","type":"Function","methodName":"createIndex"},{"id":"mysql-xdevapi-collection.dropindex","name":"Collection::dropIndex","description":"Drop collection index","tag":"refentry","type":"Function","methodName":"dropIndex"},{"id":"mysql-xdevapi-collection.existsindatabase","name":"Collection::existsInDatabase","description":"Check if collection exists in database","tag":"refentry","type":"Function","methodName":"existsInDatabase"},{"id":"mysql-xdevapi-collection.find","name":"Collection::find","description":"Search for document","tag":"refentry","type":"Function","methodName":"find"},{"id":"mysql-xdevapi-collection.getname","name":"Collection::getName","description":"Get collection name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"mysql-xdevapi-collection.getone","name":"Collection::getOne","description":"Get one document","tag":"refentry","type":"Function","methodName":"getOne"},{"id":"mysql-xdevapi-collection.getschema","name":"Collection::getSchema","description":"Get schema object","tag":"refentry","type":"Function","methodName":"getSchema"},{"id":"mysql-xdevapi-collection.getsession","name":"Collection::getSession","description":"Get session object","tag":"refentry","type":"Function","methodName":"getSession"},{"id":"mysql-xdevapi-collection.modify","name":"Collection::modify","description":"Modify collection documents","tag":"refentry","type":"Function","methodName":"modify"},{"id":"mysql-xdevapi-collection.remove","name":"Collection::remove","description":"Remove collection documents","tag":"refentry","type":"Function","methodName":"remove"},{"id":"mysql-xdevapi-collection.removeone","name":"Collection::removeOne","description":"Remove one collection document","tag":"refentry","type":"Function","methodName":"removeOne"},{"id":"mysql-xdevapi-collection.replaceone","name":"Collection::replaceOne","description":"Replace one collection document","tag":"refentry","type":"Function","methodName":"replaceOne"},{"id":"class.mysql-xdevapi-collection","name":"mysql_xdevapi\\Collection","description":"Collection class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Collection"},{"id":"mysql-xdevapi-collectionadd.construct","name":"CollectionAdd::__construct","description":"CollectionAdd constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-collectionadd.execute","name":"CollectionAdd::execute","description":"Execute the statement","tag":"refentry","type":"Function","methodName":"execute"},{"id":"class.mysql-xdevapi-collectionadd","name":"mysql_xdevapi\\CollectionAdd","description":"CollectionAdd class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CollectionAdd"},{"id":"mysql-xdevapi-collectionfind.bind","name":"CollectionFind::bind","description":"Bind value to query placeholder","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-collectionfind.construct","name":"CollectionFind::__construct","description":"CollectionFind constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-collectionfind.execute","name":"CollectionFind::execute","description":"Execute the statement","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-collectionfind.fields","name":"CollectionFind::fields","description":"Set document field filter","tag":"refentry","type":"Function","methodName":"fields"},{"id":"mysql-xdevapi-collectionfind.groupby","name":"CollectionFind::groupBy","description":"Set grouping criteria","tag":"refentry","type":"Function","methodName":"groupBy"},{"id":"mysql-xdevapi-collectionfind.having","name":"CollectionFind::having","description":"Set condition for aggregate functions","tag":"refentry","type":"Function","methodName":"having"},{"id":"mysql-xdevapi-collectionfind.limit","name":"CollectionFind::limit","description":"Limit number of returned documents","tag":"refentry","type":"Function","methodName":"limit"},{"id":"mysql-xdevapi-collectionfind.lockexclusive","name":"CollectionFind::lockExclusive","description":"Execute operation with EXCLUSIVE LOCK","tag":"refentry","type":"Function","methodName":"lockExclusive"},{"id":"mysql-xdevapi-collectionfind.lockshared","name":"CollectionFind::lockShared","description":"Execute operation with SHARED LOCK","tag":"refentry","type":"Function","methodName":"lockShared"},{"id":"mysql-xdevapi-collectionfind.offset","name":"CollectionFind::offset","description":"Skip given number of elements to be returned","tag":"refentry","type":"Function","methodName":"offset"},{"id":"mysql-xdevapi-collectionfind.sort","name":"CollectionFind::sort","description":"Set the sorting criteria","tag":"refentry","type":"Function","methodName":"sort"},{"id":"class.mysql-xdevapi-collectionfind","name":"mysql_xdevapi\\CollectionFind","description":"CollectionFind class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CollectionFind"},{"id":"mysql-xdevapi-collectionmodify.arrayappend","name":"CollectionModify::arrayAppend","description":"Append element to an array field","tag":"refentry","type":"Function","methodName":"arrayAppend"},{"id":"mysql-xdevapi-collectionmodify.arrayinsert","name":"CollectionModify::arrayInsert","description":"Insert element into an array field","tag":"refentry","type":"Function","methodName":"arrayInsert"},{"id":"mysql-xdevapi-collectionmodify.bind","name":"CollectionModify::bind","description":"Bind value to query placeholder","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-collectionmodify.construct","name":"CollectionModify::__construct","description":"CollectionModify constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-collectionmodify.execute","name":"CollectionModify::execute","description":"Execute modify operation","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-collectionmodify.limit","name":"CollectionModify::limit","description":"Limit number of modified documents","tag":"refentry","type":"Function","methodName":"limit"},{"id":"mysql-xdevapi-collectionmodify.patch","name":"CollectionModify::patch","description":"Patch document","tag":"refentry","type":"Function","methodName":"patch"},{"id":"mysql-xdevapi-collectionmodify.replace","name":"CollectionModify::replace","description":"Replace document field","tag":"refentry","type":"Function","methodName":"replace"},{"id":"mysql-xdevapi-collectionmodify.set","name":"CollectionModify::set","description":"Set document attribute","tag":"refentry","type":"Function","methodName":"set"},{"id":"mysql-xdevapi-collectionmodify.skip","name":"CollectionModify::skip","description":"Skip elements","tag":"refentry","type":"Function","methodName":"skip"},{"id":"mysql-xdevapi-collectionmodify.sort","name":"CollectionModify::sort","description":"Set the sorting criteria","tag":"refentry","type":"Function","methodName":"sort"},{"id":"mysql-xdevapi-collectionmodify.unset","name":"CollectionModify::unset","description":"Unset the value of document fields","tag":"refentry","type":"Function","methodName":"unset"},{"id":"class.mysql-xdevapi-collectionmodify","name":"mysql_xdevapi\\CollectionModify","description":"CollectionModify class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CollectionModify"},{"id":"mysql-xdevapi-collectionremove.bind","name":"CollectionRemove::bind","description":"Bind value to placeholder","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-collectionremove.construct","name":"CollectionRemove::__construct","description":"CollectionRemove constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-collectionremove.execute","name":"CollectionRemove::execute","description":"Execute remove operation","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-collectionremove.limit","name":"CollectionRemove::limit","description":"Limit number of documents to remove","tag":"refentry","type":"Function","methodName":"limit"},{"id":"mysql-xdevapi-collectionremove.sort","name":"CollectionRemove::sort","description":"Set the sorting criteria","tag":"refentry","type":"Function","methodName":"sort"},{"id":"class.mysql-xdevapi-collectionremove","name":"mysql_xdevapi\\CollectionRemove","description":"CollectionRemove class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CollectionRemove"},{"id":"mysql-xdevapi-columnresult.construct","name":"ColumnResult::__construct","description":"ColumnResult constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-columnresult.getcharactersetname","name":"ColumnResult::getCharacterSetName","description":"Get character set","tag":"refentry","type":"Function","methodName":"getCharacterSetName"},{"id":"mysql-xdevapi-columnresult.getcollationname","name":"ColumnResult::getCollationName","description":"Get collation name","tag":"refentry","type":"Function","methodName":"getCollationName"},{"id":"mysql-xdevapi-columnresult.getcolumnlabel","name":"ColumnResult::getColumnLabel","description":"Get column label","tag":"refentry","type":"Function","methodName":"getColumnLabel"},{"id":"mysql-xdevapi-columnresult.getcolumnname","name":"ColumnResult::getColumnName","description":"Get column name","tag":"refentry","type":"Function","methodName":"getColumnName"},{"id":"mysql-xdevapi-columnresult.getfractionaldigits","name":"ColumnResult::getFractionalDigits","description":"Get fractional digit length","tag":"refentry","type":"Function","methodName":"getFractionalDigits"},{"id":"mysql-xdevapi-columnresult.getlength","name":"ColumnResult::getLength","description":"Get column field length","tag":"refentry","type":"Function","methodName":"getLength"},{"id":"mysql-xdevapi-columnresult.getschemaname","name":"ColumnResult::getSchemaName","description":"Get schema name","tag":"refentry","type":"Function","methodName":"getSchemaName"},{"id":"mysql-xdevapi-columnresult.gettablelabel","name":"ColumnResult::getTableLabel","description":"Get table label","tag":"refentry","type":"Function","methodName":"getTableLabel"},{"id":"mysql-xdevapi-columnresult.gettablename","name":"ColumnResult::getTableName","description":"Get table name","tag":"refentry","type":"Function","methodName":"getTableName"},{"id":"mysql-xdevapi-columnresult.gettype","name":"ColumnResult::getType","description":"Get column type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"mysql-xdevapi-columnresult.isnumbersigned","name":"ColumnResult::isNumberSigned","description":"Check if signed type","tag":"refentry","type":"Function","methodName":"isNumberSigned"},{"id":"mysql-xdevapi-columnresult.ispadded","name":"ColumnResult::isPadded","description":"Check if padded","tag":"refentry","type":"Function","methodName":"isPadded"},{"id":"class.mysql-xdevapi-columnresult","name":"mysql_xdevapi\\ColumnResult","description":"ColumnResult class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\ColumnResult"},{"id":"mysql-xdevapi-crudoperationbindable.bind","name":"CrudOperationBindable::bind","description":"Bind value to placeholder","tag":"refentry","type":"Function","methodName":"bind"},{"id":"class.mysql-xdevapi-crudoperationbindable","name":"mysql_xdevapi\\CrudOperationBindable","description":"CrudOperationBindable interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CrudOperationBindable"},{"id":"mysql-xdevapi-crudoperationlimitable.limit","name":"CrudOperationLimitable::limit","description":"Set result limit","tag":"refentry","type":"Function","methodName":"limit"},{"id":"class.mysql-xdevapi-crudoperationlimitable","name":"mysql_xdevapi\\CrudOperationLimitable","description":"CrudOperationLimitable interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CrudOperationLimitable"},{"id":"mysql-xdevapi-crudoperationskippable.skip","name":"CrudOperationSkippable::skip","description":"Number of operations to skip","tag":"refentry","type":"Function","methodName":"skip"},{"id":"class.mysql-xdevapi-crudoperationskippable","name":"mysql_xdevapi\\CrudOperationSkippable","description":"CrudOperationSkippable interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CrudOperationSkippable"},{"id":"mysql-xdevapi-crudoperationsortable.sort","name":"CrudOperationSortable::sort","description":"Sort results","tag":"refentry","type":"Function","methodName":"sort"},{"id":"class.mysql-xdevapi-crudoperationsortable","name":"mysql_xdevapi\\CrudOperationSortable","description":"CrudOperationSortable interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\CrudOperationSortable"},{"id":"mysql-xdevapi-databaseobject.existsindatabase","name":"DatabaseObject::existsInDatabase","description":"Check if object exists in database","tag":"refentry","type":"Function","methodName":"existsInDatabase"},{"id":"mysql-xdevapi-databaseobject.getname","name":"DatabaseObject::getName","description":"Get object name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"mysql-xdevapi-databaseobject.getsession","name":"DatabaseObject::getSession","description":"Get session name","tag":"refentry","type":"Function","methodName":"getSession"},{"id":"class.mysql-xdevapi-databaseobject","name":"mysql_xdevapi\\DatabaseObject","description":"DatabaseObject interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\DatabaseObject"},{"id":"mysql-xdevapi-docresult.construct","name":"DocResult::__construct","description":"DocResult constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-docresult.fetchall","name":"DocResult::fetchAll","description":"Get all rows","tag":"refentry","type":"Function","methodName":"fetchAll"},{"id":"mysql-xdevapi-docresult.fetchone","name":"DocResult::fetchOne","description":"Get one row","tag":"refentry","type":"Function","methodName":"fetchOne"},{"id":"mysql-xdevapi-docresult.getwarnings","name":"DocResult::getWarnings","description":"Get warnings from last operation","tag":"refentry","type":"Function","methodName":"getWarnings"},{"id":"mysql-xdevapi-docresult.getwarningscount","name":"DocResult::getWarningsCount","description":"Get warning count from last operation","tag":"refentry","type":"Function","methodName":"getWarningsCount"},{"id":"class.mysql-xdevapi-docresult","name":"mysql_xdevapi\\DocResult","description":"DocResult class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\DocResult"},{"id":"class.mysql-xdevapi-exception","name":"mysql_xdevapi\\Exception","description":"Exception class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Exception"},{"id":"mysql-xdevapi-executable.execute","name":"Executable::execute","description":"Execute statement","tag":"refentry","type":"Function","methodName":"execute"},{"id":"class.mysql-xdevapi-executable","name":"mysql_xdevapi\\Executable","description":"Executable interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Executable"},{"id":"mysql-xdevapi-executionstatus.construct","name":"ExecutionStatus::__construct","description":"ExecutionStatus constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.mysql-xdevapi-executionstatus","name":"mysql_xdevapi\\ExecutionStatus","description":"ExecutionStatus class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\ExecutionStatus"},{"id":"mysql-xdevapi-expression.construct","name":"Expression::__construct","description":"Expression constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.mysql-xdevapi-expression","name":"mysql_xdevapi\\Expression","description":"Expression class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Expression"},{"id":"mysql-xdevapi-result.construct","name":"Result::__construct","description":"Result constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-result.getaffecteditemscount","name":"Result::getAffectedItemsCount","description":"Get affected row count","tag":"refentry","type":"Function","methodName":"getAffectedItemsCount"},{"id":"mysql-xdevapi-result.getautoincrementvalue","name":"Result::getAutoIncrementValue","description":"Get autoincremented value","tag":"refentry","type":"Function","methodName":"getAutoIncrementValue"},{"id":"mysql-xdevapi-result.getgeneratedids","name":"Result::getGeneratedIds","description":"Get generated ids","tag":"refentry","type":"Function","methodName":"getGeneratedIds"},{"id":"mysql-xdevapi-result.getwarnings","name":"Result::getWarnings","description":"Get warnings from last operation","tag":"refentry","type":"Function","methodName":"getWarnings"},{"id":"mysql-xdevapi-result.getwarningscount","name":"Result::getWarningsCount","description":"Get warning count from last operation","tag":"refentry","type":"Function","methodName":"getWarningsCount"},{"id":"class.mysql-xdevapi-result","name":"mysql_xdevapi\\Result","description":"Result class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Result"},{"id":"mysql-xdevapi-rowresult.construct","name":"RowResult::__construct","description":"RowResult constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-rowresult.fetchall","name":"RowResult::fetchAll","description":"Get all rows from result","tag":"refentry","type":"Function","methodName":"fetchAll"},{"id":"mysql-xdevapi-rowresult.fetchone","name":"RowResult::fetchOne","description":"Get row from result","tag":"refentry","type":"Function","methodName":"fetchOne"},{"id":"mysql-xdevapi-rowresult.getcolumncount","name":"RowResult::getColumnsCount","description":"Get column count","tag":"refentry","type":"Function","methodName":"getColumnsCount"},{"id":"mysql-xdevapi-rowresult.getcolumnnames","name":"RowResult::getColumnNames","description":"Get all column names","tag":"refentry","type":"Function","methodName":"getColumnNames"},{"id":"mysql-xdevapi-rowresult.getcolumns","name":"RowResult::getColumns","description":"Get column metadata","tag":"refentry","type":"Function","methodName":"getColumns"},{"id":"mysql-xdevapi-rowresult.getwarnings","name":"RowResult::getWarnings","description":"Get warnings from last operation","tag":"refentry","type":"Function","methodName":"getWarnings"},{"id":"mysql-xdevapi-rowresult.getwarningscount","name":"RowResult::getWarningsCount","description":"Get warning count from last operation","tag":"refentry","type":"Function","methodName":"getWarningsCount"},{"id":"class.mysql-xdevapi-rowresult","name":"mysql_xdevapi\\RowResult","description":"RowResult class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\RowResult"},{"id":"mysql-xdevapi-schema.construct","name":"Schema::__construct","description":"Schema constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-schema.createcollection","name":"Schema::createCollection","description":"Add collection to schema","tag":"refentry","type":"Function","methodName":"createCollection"},{"id":"mysql-xdevapi-schema.dropcollection","name":"Schema::dropCollection","description":"Drop collection from schema","tag":"refentry","type":"Function","methodName":"dropCollection"},{"id":"mysql-xdevapi-schema.existsindatabase","name":"Schema::existsInDatabase","description":"Check if exists in database","tag":"refentry","type":"Function","methodName":"existsInDatabase"},{"id":"mysql-xdevapi-schema.getcollection","name":"Schema::getCollection","description":"Get collection from schema","tag":"refentry","type":"Function","methodName":"getCollection"},{"id":"mysql-xdevapi-schema.getcollectionastable","name":"Schema::getCollectionAsTable","description":"Get collection as a Table object","tag":"refentry","type":"Function","methodName":"getCollectionAsTable"},{"id":"mysql-xdevapi-schema.getcollections","name":"Schema::getCollections","description":"Get all schema collections","tag":"refentry","type":"Function","methodName":"getCollections"},{"id":"mysql-xdevapi-schema.getname","name":"Schema::getName","description":"Get schema name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"mysql-xdevapi-schema.getsession","name":"Schema::getSession","description":"Get schema session","tag":"refentry","type":"Function","methodName":"getSession"},{"id":"mysql-xdevapi-schema.gettable","name":"Schema::getTable","description":"Get schema table","tag":"refentry","type":"Function","methodName":"getTable"},{"id":"mysql-xdevapi-schema.gettables","name":"Schema::getTables","description":"Get schema tables","tag":"refentry","type":"Function","methodName":"getTables"},{"id":"class.mysql-xdevapi-schema","name":"mysql_xdevapi\\Schema","description":"Schema class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Schema"},{"id":"mysql-xdevapi-schemaobject.getschema","name":"SchemaObject::getSchema","description":"Get schema object","tag":"refentry","type":"Function","methodName":"getSchema"},{"id":"class.mysql-xdevapi-schemaobject","name":"mysql_xdevapi\\SchemaObject","description":"SchemaObject interface","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\SchemaObject"},{"id":"mysql-xdevapi-session.close","name":"Session::close","description":"Close session","tag":"refentry","type":"Function","methodName":"close"},{"id":"mysql-xdevapi-session.commit","name":"Session::commit","description":"Commit transaction","tag":"refentry","type":"Function","methodName":"commit"},{"id":"mysql-xdevapi-session.construct","name":"Session::__construct","description":"Description constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-session.createschema","name":"Session::createSchema","description":"Create new schema","tag":"refentry","type":"Function","methodName":"createSchema"},{"id":"mysql-xdevapi-session.dropschema","name":"Session::dropSchema","description":"Drop a schema","tag":"refentry","type":"Function","methodName":"dropSchema"},{"id":"mysql-xdevapi-session.generateuuid","name":"Session::generateUUID","description":"Get new UUID","tag":"refentry","type":"Function","methodName":"generateUUID"},{"id":"mysql-xdevapi-session.getdefaultschema","name":"Session::getDefaultSchema","description":"Get default schema name","tag":"refentry","type":"Function","methodName":"getDefaultSchema"},{"id":"mysql-xdevapi-session.getschema","name":"Session::getSchema","description":"Get a new schema object","tag":"refentry","type":"Function","methodName":"getSchema"},{"id":"mysql-xdevapi-session.getschemas","name":"Session::getSchemas","description":"Get the schemas","tag":"refentry","type":"Function","methodName":"getSchemas"},{"id":"mysql-xdevapi-session.getserverversion","name":"Session::getServerVersion","description":"Get server version","tag":"refentry","type":"Function","methodName":"getServerVersion"},{"id":"mysql-xdevapi-session.listclients","name":"Session::listClients","description":"Get client list","tag":"refentry","type":"Function","methodName":"listClients"},{"id":"mysql-xdevapi-session.quotename","name":"Session::quoteName","description":"Add quotes","tag":"refentry","type":"Function","methodName":"quoteName"},{"id":"mysql-xdevapi-session.releasesavepoint","name":"Session::releaseSavepoint","description":"Release set savepoint","tag":"refentry","type":"Function","methodName":"releaseSavepoint"},{"id":"mysql-xdevapi-session.rollback","name":"Session::rollback","description":"Rollback transaction","tag":"refentry","type":"Function","methodName":"rollback"},{"id":"mysql-xdevapi-session.rollbackto","name":"Session::rollbackTo","description":"Rollback transaction to savepoint","tag":"refentry","type":"Function","methodName":"rollbackTo"},{"id":"mysql-xdevapi-session.setsavepoint","name":"Session::setSavepoint","description":"Create savepoint","tag":"refentry","type":"Function","methodName":"setSavepoint"},{"id":"mysql-xdevapi-session.sql","name":"Session::sql","description":"Create SQL query","tag":"refentry","type":"Function","methodName":"sql"},{"id":"mysql-xdevapi-session.starttransaction","name":"Session::startTransaction","description":"Start transaction","tag":"refentry","type":"Function","methodName":"startTransaction"},{"id":"class.mysql-xdevapi-session","name":"mysql_xdevapi\\Session","description":"Session class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Session"},{"id":"mysql-xdevapi-sqlstatement.bind","name":"SqlStatement::bind","description":"Bind statement parameters","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-sqlstatement.construct","name":"SqlStatement::__construct","description":"Description constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-sqlstatement.execute","name":"SqlStatement::execute","description":"Execute the operation","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-sqlstatement.getnextresult","name":"SqlStatement::getNextResult","description":"Get next result","tag":"refentry","type":"Function","methodName":"getNextResult"},{"id":"mysql-xdevapi-sqlstatement.getresult","name":"SqlStatement::getResult","description":"Get result","tag":"refentry","type":"Function","methodName":"getResult"},{"id":"mysql-xdevapi-sqlstatement.hasmoreresults","name":"SqlStatement::hasMoreResults","description":"Check for more results","tag":"refentry","type":"Function","methodName":"hasMoreResults"},{"id":"class.mysql-xdevapi-sqlstatement","name":"mysql_xdevapi\\SqlStatement","description":"SqlStatement class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\SqlStatement"},{"id":"mysql-xdevapi-sqlstatementresult.construct","name":"SqlStatementResult::__construct","description":"Description constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-sqlstatementresult.fetchall","name":"SqlStatementResult::fetchAll","description":"Get all rows from result","tag":"refentry","type":"Function","methodName":"fetchAll"},{"id":"mysql-xdevapi-sqlstatementresult.fetchone","name":"SqlStatementResult::fetchOne","description":"Get single row","tag":"refentry","type":"Function","methodName":"fetchOne"},{"id":"mysql-xdevapi-sqlstatementresult.getaffecteditemscount","name":"SqlStatementResult::getAffectedItemsCount","description":"Get affected row count","tag":"refentry","type":"Function","methodName":"getAffectedItemsCount"},{"id":"mysql-xdevapi-sqlstatementresult.getcolumncount","name":"SqlStatementResult::getColumnsCount","description":"Get column count","tag":"refentry","type":"Function","methodName":"getColumnsCount"},{"id":"mysql-xdevapi-sqlstatementresult.getcolumnnames","name":"SqlStatementResult::getColumnNames","description":"Get column names","tag":"refentry","type":"Function","methodName":"getColumnNames"},{"id":"mysql-xdevapi-sqlstatementresult.getcolumns","name":"SqlStatementResult::getColumns","description":"Get columns","tag":"refentry","type":"Function","methodName":"getColumns"},{"id":"mysql-xdevapi-sqlstatementresult.getgeneratedids","name":"SqlStatementResult::getGeneratedIds","description":"Get generated ids","tag":"refentry","type":"Function","methodName":"getGeneratedIds"},{"id":"mysql-xdevapi-sqlstatementresult.getlastinsertid","name":"SqlStatementResult::getLastInsertId","description":"Get last insert id","tag":"refentry","type":"Function","methodName":"getLastInsertId"},{"id":"mysql-xdevapi-sqlstatementresult.getwarnings","name":"SqlStatementResult::getWarnings","description":"Get warnings from last operation","tag":"refentry","type":"Function","methodName":"getWarnings"},{"id":"mysql-xdevapi-sqlstatementresult.getwarningcount","name":"SqlStatementResult::getWarningsCount","description":"Get warning count from last operation","tag":"refentry","type":"Function","methodName":"getWarningsCount"},{"id":"mysql-xdevapi-sqlstatementresult.hasdata","name":"SqlStatementResult::hasData","description":"Check if result has data","tag":"refentry","type":"Function","methodName":"hasData"},{"id":"mysql-xdevapi-sqlstatementresult.nextresult","name":"SqlStatementResult::nextResult","description":"Get next result","tag":"refentry","type":"Function","methodName":"nextResult"},{"id":"class.mysql-xdevapi-sqlstatementresult","name":"mysql_xdevapi\\SqlStatementResult","description":"SqlStatementResult class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\SqlStatementResult"},{"id":"mysql-xdevapi-statement.construct","name":"Statement::__construct","description":"Description constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-statement.getnextresult","name":"Statement::getNextResult","description":"Get next result","tag":"refentry","type":"Function","methodName":"getNextResult"},{"id":"mysql-xdevapi-statement.getresult","name":"Statement::getResult","description":"Get result","tag":"refentry","type":"Function","methodName":"getResult"},{"id":"mysql-xdevapi-statement.hasmoreresults","name":"Statement::hasMoreResults","description":"Check if more results","tag":"refentry","type":"Function","methodName":"hasMoreResults"},{"id":"class.mysql-xdevapi-statement","name":"mysql_xdevapi\\Statement","description":"Statement class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Statement"},{"id":"mysql-xdevapi-table.construct","name":"Table::__construct","description":"Table constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-table.count","name":"Table::count","description":"Get row count","tag":"refentry","type":"Function","methodName":"count"},{"id":"mysql-xdevapi-table.delete","name":"Table::delete","description":"Delete rows from table","tag":"refentry","type":"Function","methodName":"delete"},{"id":"mysql-xdevapi-table.existsindatabase","name":"Table::existsInDatabase","description":"Check if table exists in database","tag":"refentry","type":"Function","methodName":"existsInDatabase"},{"id":"mysql-xdevapi-table.getname","name":"Table::getName","description":"Get table name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"mysql-xdevapi-table.getschema","name":"Table::getSchema","description":"Get table schema","tag":"refentry","type":"Function","methodName":"getSchema"},{"id":"mysql-xdevapi-table.getsession","name":"Table::getSession","description":"Get table session","tag":"refentry","type":"Function","methodName":"getSession"},{"id":"mysql-xdevapi-table.insert","name":"Table::insert","description":"Insert table rows","tag":"refentry","type":"Function","methodName":"insert"},{"id":"mysql-xdevapi-table.isview","name":"Table::isView","description":"Check if table is view","tag":"refentry","type":"Function","methodName":"isView"},{"id":"mysql-xdevapi-table.select","name":"Table::select","description":"Select rows from table","tag":"refentry","type":"Function","methodName":"select"},{"id":"mysql-xdevapi-table.update","name":"Table::update","description":"Update rows in table","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.mysql-xdevapi-table","name":"mysql_xdevapi\\Table","description":"Table class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Table"},{"id":"mysql-xdevapi-tabledelete.bind","name":"TableDelete::bind","description":"Bind delete query parameters","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-tabledelete.construct","name":"TableDelete::__construct","description":"TableDelete constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-tabledelete.execute","name":"TableDelete::execute","description":"Execute delete query","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-tabledelete.limit","name":"TableDelete::limit","description":"Limit deleted rows","tag":"refentry","type":"Function","methodName":"limit"},{"id":"mysql-xdevapi-tabledelete.orderby","name":"TableDelete::orderby","description":"Set delete sort criteria","tag":"refentry","type":"Function","methodName":"orderby"},{"id":"mysql-xdevapi-tabledelete.where","name":"TableDelete::where","description":"Set delete search condition","tag":"refentry","type":"Function","methodName":"where"},{"id":"class.mysql-xdevapi-tabledelete","name":"mysql_xdevapi\\TableDelete","description":"TableDelete class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\TableDelete"},{"id":"mysql-xdevapi-tableinsert.construct","name":"TableInsert::__construct","description":"TableInsert constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-tableinsert.execute","name":"TableInsert::execute","description":"Execute insert query","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-tableinsert.values","name":"TableInsert::values","description":"Add insert row values","tag":"refentry","type":"Function","methodName":"values"},{"id":"class.mysql-xdevapi-tableinsert","name":"mysql_xdevapi\\TableInsert","description":"TableInsert class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\TableInsert"},{"id":"mysql-xdevapi-tableselect.bind","name":"TableSelect::bind","description":"Bind select query parameters","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-tableselect.construct","name":"TableSelect::__construct","description":"TableSelect constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-tableselect.execute","name":"TableSelect::execute","description":"Execute select statement","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-tableselect.groupby","name":"TableSelect::groupBy","description":"Set select grouping criteria","tag":"refentry","type":"Function","methodName":"groupBy"},{"id":"mysql-xdevapi-tableselect.having","name":"TableSelect::having","description":"Set select having condition","tag":"refentry","type":"Function","methodName":"having"},{"id":"mysql-xdevapi-tableselect.limit","name":"TableSelect::limit","description":"Limit selected rows","tag":"refentry","type":"Function","methodName":"limit"},{"id":"mysql-xdevapi-tableselect.lockexclusive","name":"TableSelect::lockExclusive","description":"Execute EXCLUSIVE LOCK","tag":"refentry","type":"Function","methodName":"lockExclusive"},{"id":"mysql-xdevapi-tableselect.lockshared","name":"TableSelect::lockShared","description":"Execute SHARED LOCK","tag":"refentry","type":"Function","methodName":"lockShared"},{"id":"mysql-xdevapi-tableselect.offset","name":"TableSelect::offset","description":"Set limit offset","tag":"refentry","type":"Function","methodName":"offset"},{"id":"mysql-xdevapi-tableselect.orderby","name":"TableSelect::orderby","description":"Set select sort criteria","tag":"refentry","type":"Function","methodName":"orderby"},{"id":"mysql-xdevapi-tableselect.where","name":"TableSelect::where","description":"Set select search condition","tag":"refentry","type":"Function","methodName":"where"},{"id":"class.mysql-xdevapi-tableselect","name":"mysql_xdevapi\\TableSelect","description":"TableSelect class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\TableSelect"},{"id":"mysql-xdevapi-tableupdate.bind","name":"TableUpdate::bind","description":"Bind update query parameters","tag":"refentry","type":"Function","methodName":"bind"},{"id":"mysql-xdevapi-tableupdate.construct","name":"TableUpdate::__construct","description":"TableUpdate constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"mysql-xdevapi-tableupdate.execute","name":"TableUpdate::execute","description":"Execute update query","tag":"refentry","type":"Function","methodName":"execute"},{"id":"mysql-xdevapi-tableupdate.limit","name":"TableUpdate::limit","description":"Limit update row count","tag":"refentry","type":"Function","methodName":"limit"},{"id":"mysql-xdevapi-tableupdate.orderby","name":"TableUpdate::orderby","description":"Set sorting criteria","tag":"refentry","type":"Function","methodName":"orderby"},{"id":"mysql-xdevapi-tableupdate.set","name":"TableUpdate::set","description":"Add field to be updated","tag":"refentry","type":"Function","methodName":"set"},{"id":"mysql-xdevapi-tableupdate.where","name":"TableUpdate::where","description":"Set search filter","tag":"refentry","type":"Function","methodName":"where"},{"id":"class.mysql-xdevapi-tableupdate","name":"mysql_xdevapi\\TableUpdate","description":"TableUpdate class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\TableUpdate"},{"id":"mysql-xdevapi-warning.construct","name":"Warning::__construct","description":"Warning constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.mysql-xdevapi-warning","name":"mysql_xdevapi\\Warning","description":"Warning class","tag":"phpdoc:classref","type":"Class","methodName":"mysql_xdevapi\\Warning"},{"id":"book.mysql-xdevapi","name":"Mysql_xdevapi","description":"Mysql_xdevapi","tag":"book","type":"Extension","methodName":"Mysql_xdevapi"},{"id":"intro.mysql","name":"Introduction","description":"Original MySQL API","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mysql.requirements","name":"Requirements","description":"Original MySQL API","tag":"section","type":"General","methodName":"Requirements"},{"id":"mysql.installation","name":"Installation","description":"Original MySQL API","tag":"section","type":"General","methodName":"Installation"},{"id":"mysql.configuration","name":"Runtime Configuration","description":"Original MySQL API","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mysql.resources","name":"Resource Types","description":"Original MySQL API","tag":"section","type":"General","methodName":"Resource Types"},{"id":"mysql.setup","name":"Installing\/Configuring","description":"Original MySQL API","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"changelog.mysql","name":"Changelog","description":"Original MySQL API","tag":"appendix","type":"General","methodName":"Changelog"},{"id":"mysql.constants","name":"Predefined Constants","description":"Original MySQL API","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"mysql.examples-basic","name":"MySQL extension overview example","description":"Original MySQL API","tag":"section","type":"General","methodName":"MySQL extension overview example"},{"id":"mysql.examples","name":"Examples","description":"Original MySQL API","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.mysql-affected-rows","name":"mysql_affected_rows","description":"Get number of affected rows in previous MySQL operation","tag":"refentry","type":"Function","methodName":"mysql_affected_rows"},{"id":"function.mysql-client-encoding","name":"mysql_client_encoding","description":"Returns the name of the character set","tag":"refentry","type":"Function","methodName":"mysql_client_encoding"},{"id":"function.mysql-close","name":"mysql_close","description":"Close MySQL connection","tag":"refentry","type":"Function","methodName":"mysql_close"},{"id":"function.mysql-connect","name":"mysql_connect","description":"Open a connection to a MySQL Server","tag":"refentry","type":"Function","methodName":"mysql_connect"},{"id":"function.mysql-create-db","name":"mysql_create_db","description":"Create a MySQL database","tag":"refentry","type":"Function","methodName":"mysql_create_db"},{"id":"function.mysql-data-seek","name":"mysql_data_seek","description":"Move internal result pointer","tag":"refentry","type":"Function","methodName":"mysql_data_seek"},{"id":"function.mysql-db-name","name":"mysql_db_name","description":"Retrieves database name from the call to mysql_list_dbs","tag":"refentry","type":"Function","methodName":"mysql_db_name"},{"id":"function.mysql-db-query","name":"mysql_db_query","description":"Selects a database and executes a query on it","tag":"refentry","type":"Function","methodName":"mysql_db_query"},{"id":"function.mysql-drop-db","name":"mysql_drop_db","description":"Drop (delete) a MySQL database","tag":"refentry","type":"Function","methodName":"mysql_drop_db"},{"id":"function.mysql-errno","name":"mysql_errno","description":"Returns the numerical value of the error message from previous MySQL operation","tag":"refentry","type":"Function","methodName":"mysql_errno"},{"id":"function.mysql-error","name":"mysql_error","description":"Returns the text of the error message from previous MySQL operation","tag":"refentry","type":"Function","methodName":"mysql_error"},{"id":"function.mysql-escape-string","name":"mysql_escape_string","description":"Escapes a string for use in a mysql_query","tag":"refentry","type":"Function","methodName":"mysql_escape_string"},{"id":"function.mysql-fetch-array","name":"mysql_fetch_array","description":"Fetch a result row as an associative array, a numeric array, or both","tag":"refentry","type":"Function","methodName":"mysql_fetch_array"},{"id":"function.mysql-fetch-assoc","name":"mysql_fetch_assoc","description":"Fetch a result row as an associative array","tag":"refentry","type":"Function","methodName":"mysql_fetch_assoc"},{"id":"function.mysql-fetch-field","name":"mysql_fetch_field","description":"Get column information from a result and return as an object","tag":"refentry","type":"Function","methodName":"mysql_fetch_field"},{"id":"function.mysql-fetch-lengths","name":"mysql_fetch_lengths","description":"Get the length of each output in a result","tag":"refentry","type":"Function","methodName":"mysql_fetch_lengths"},{"id":"function.mysql-fetch-object","name":"mysql_fetch_object","description":"Fetch a result row as an object","tag":"refentry","type":"Function","methodName":"mysql_fetch_object"},{"id":"function.mysql-fetch-row","name":"mysql_fetch_row","description":"Get a result row as an enumerated array","tag":"refentry","type":"Function","methodName":"mysql_fetch_row"},{"id":"function.mysql-field-flags","name":"mysql_field_flags","description":"Get the flags associated with the specified field in a result","tag":"refentry","type":"Function","methodName":"mysql_field_flags"},{"id":"function.mysql-field-len","name":"mysql_field_len","description":"Returns the length of the specified field","tag":"refentry","type":"Function","methodName":"mysql_field_len"},{"id":"function.mysql-field-name","name":"mysql_field_name","description":"Get the name of the specified field in a result","tag":"refentry","type":"Function","methodName":"mysql_field_name"},{"id":"function.mysql-field-seek","name":"mysql_field_seek","description":"Set result pointer to a specified field offset","tag":"refentry","type":"Function","methodName":"mysql_field_seek"},{"id":"function.mysql-field-table","name":"mysql_field_table","description":"Get name of the table the specified field is in","tag":"refentry","type":"Function","methodName":"mysql_field_table"},{"id":"function.mysql-field-type","name":"mysql_field_type","description":"Get the type of the specified field in a result","tag":"refentry","type":"Function","methodName":"mysql_field_type"},{"id":"function.mysql-free-result","name":"mysql_free_result","description":"Free result memory","tag":"refentry","type":"Function","methodName":"mysql_free_result"},{"id":"function.mysql-get-client-info","name":"mysql_get_client_info","description":"Get MySQL client info","tag":"refentry","type":"Function","methodName":"mysql_get_client_info"},{"id":"function.mysql-get-host-info","name":"mysql_get_host_info","description":"Get MySQL host info","tag":"refentry","type":"Function","methodName":"mysql_get_host_info"},{"id":"function.mysql-get-proto-info","name":"mysql_get_proto_info","description":"Get MySQL protocol info","tag":"refentry","type":"Function","methodName":"mysql_get_proto_info"},{"id":"function.mysql-get-server-info","name":"mysql_get_server_info","description":"Get MySQL server info","tag":"refentry","type":"Function","methodName":"mysql_get_server_info"},{"id":"function.mysql-info","name":"mysql_info","description":"Get information about the most recent query","tag":"refentry","type":"Function","methodName":"mysql_info"},{"id":"function.mysql-insert-id","name":"mysql_insert_id","description":"Get the ID generated in the last query","tag":"refentry","type":"Function","methodName":"mysql_insert_id"},{"id":"function.mysql-list-dbs","name":"mysql_list_dbs","description":"List databases available on a MySQL server","tag":"refentry","type":"Function","methodName":"mysql_list_dbs"},{"id":"function.mysql-list-fields","name":"mysql_list_fields","description":"List MySQL table fields","tag":"refentry","type":"Function","methodName":"mysql_list_fields"},{"id":"function.mysql-list-processes","name":"mysql_list_processes","description":"List MySQL processes","tag":"refentry","type":"Function","methodName":"mysql_list_processes"},{"id":"function.mysql-list-tables","name":"mysql_list_tables","description":"List tables in a MySQL database","tag":"refentry","type":"Function","methodName":"mysql_list_tables"},{"id":"function.mysql-num-fields","name":"mysql_num_fields","description":"Get number of fields in result","tag":"refentry","type":"Function","methodName":"mysql_num_fields"},{"id":"function.mysql-num-rows","name":"mysql_num_rows","description":"Get number of rows in result","tag":"refentry","type":"Function","methodName":"mysql_num_rows"},{"id":"function.mysql-pconnect","name":"mysql_pconnect","description":"Open a persistent connection to a MySQL server","tag":"refentry","type":"Function","methodName":"mysql_pconnect"},{"id":"function.mysql-ping","name":"mysql_ping","description":"Ping a server connection or reconnect if there is no connection","tag":"refentry","type":"Function","methodName":"mysql_ping"},{"id":"function.mysql-query","name":"mysql_query","description":"Send a MySQL query","tag":"refentry","type":"Function","methodName":"mysql_query"},{"id":"function.mysql-real-escape-string","name":"mysql_real_escape_string","description":"Escapes special characters in a string for use in an SQL statement","tag":"refentry","type":"Function","methodName":"mysql_real_escape_string"},{"id":"function.mysql-result","name":"mysql_result","description":"Get result data","tag":"refentry","type":"Function","methodName":"mysql_result"},{"id":"function.mysql-select-db","name":"mysql_select_db","description":"Select a MySQL database","tag":"refentry","type":"Function","methodName":"mysql_select_db"},{"id":"function.mysql-set-charset","name":"mysql_set_charset","description":"Sets the client character set","tag":"refentry","type":"Function","methodName":"mysql_set_charset"},{"id":"function.mysql-stat","name":"mysql_stat","description":"Get current system status","tag":"refentry","type":"Function","methodName":"mysql_stat"},{"id":"function.mysql-tablename","name":"mysql_tablename","description":"Get table name of field","tag":"refentry","type":"Function","methodName":"mysql_tablename"},{"id":"function.mysql-thread-id","name":"mysql_thread_id","description":"Return the current thread ID","tag":"refentry","type":"Function","methodName":"mysql_thread_id"},{"id":"function.mysql-unbuffered-query","name":"mysql_unbuffered_query","description":"Send an SQL query to MySQL without fetching and buffering the result rows","tag":"refentry","type":"Function","methodName":"mysql_unbuffered_query"},{"id":"ref.mysql","name":"MySQL Functions","description":"Original MySQL API","tag":"reference","type":"Extension","methodName":"MySQL Functions"},{"id":"book.mysql","name":"MySQL (Original)","description":"Original MySQL API","tag":"book","type":"Extension","methodName":"MySQL (Original)"},{"id":"intro.mysqlnd","name":"Introduction","description":"MySQL Native Driver","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mysqlnd.overview","name":"Overview","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Overview"},{"id":"mysqlnd.install","name":"Installation","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Installation"},{"id":"mysqlnd.config","name":"Runtime Configuration","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Runtime Configuration"},{"id":"mysqlnd.incompatibilities","name":"Incompatibilities","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Incompatibilities"},{"id":"mysqlnd.persist","name":"Persistent Connections","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Persistent Connections"},{"id":"mysqlnd.stats","name":"Statistics","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Statistics"},{"id":"mysqlnd.notes","name":"Notes","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Notes"},{"id":"mysqlnd.memory","name":"Memory management","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"Memory management"},{"id":"mysqlnd.plugin.mysql-proxy","name":"A comparison of mysqlnd plugins with MySQL Proxy","description":"MySQL Native Driver","tag":"section","type":"General","methodName":"A comparison of mysqlnd plugins with MySQL Proxy"},{"id":"mysqlnd.plugin.obtaining","name":"Obtaining the mysqlnd plugin API","description":"MySQL Native Driver","tag":"section","type":"General","methodName":"Obtaining the mysqlnd plugin API"},{"id":"mysqlnd.plugin.architecture","name":"MySQL Native Driver Plugin Architecture","description":"MySQL Native Driver","tag":"section","type":"General","methodName":"MySQL Native Driver Plugin Architecture"},{"id":"mysqlnd.plugin.api","name":"The mysqlnd plugin API","description":"MySQL Native Driver","tag":"section","type":"General","methodName":"The mysqlnd plugin API"},{"id":"mysqlnd.plugin.developing","name":"Getting started building a mysqlnd plugin","description":"MySQL Native Driver","tag":"section","type":"General","methodName":"Getting started building a mysqlnd plugin"},{"id":"mysqlnd.plugin","name":"MySQL Native Driver Plugin API","description":"MySQL Native Driver","tag":"chapter","type":"General","methodName":"MySQL Native Driver Plugin API"},{"id":"book.mysqlnd","name":"Mysqlnd","description":"MySQL Native Driver","tag":"book","type":"Extension","methodName":"Mysqlnd"},{"id":"set.mysqlinfo","name":"MySQL","description":"MySQL Drivers and Plugins","tag":"set","type":"Extension","methodName":"MySQL"},{"id":"intro.oci8","name":"Introduction","description":"Oracle OCI8","tag":"preface","type":"General","methodName":"Introduction"},{"id":"oci8.requirements","name":"Requirements","description":"Oracle OCI8","tag":"section","type":"General","methodName":"Requirements"},{"id":"oci8.installation","name":"Installation","description":"Oracle OCI8","tag":"section","type":"General","methodName":"Installation"},{"id":"oci8.test","name":"Testing","description":"Oracle OCI8","tag":"section","type":"General","methodName":"Testing"},{"id":"oci8.configuration","name":"Runtime Configuration","description":"Oracle OCI8","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"oci8.setup","name":"Installing\/Configuring","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"oci8.constants","name":"Predefined Constants","description":"Oracle OCI8","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"oci8.examples","name":"Examples","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"Examples"},{"id":"oci8.connection","name":"OCI8 Connection Handling and Connection Pooling","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"OCI8 Connection Handling and Connection Pooling"},{"id":"oci8.fan","name":"OCI8 Fast Application Notification (FAN) Support","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"OCI8 Fast Application Notification (FAN) Support"},{"id":"oci8.taf","name":"OCI8 Transparent Application Failover (TAF) Support","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"OCI8 Transparent Application Failover (TAF) Support"},{"id":"oci8.dtrace","name":"OCI8 and DTrace Dynamic Tracing","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"OCI8 and DTrace Dynamic Tracing"},{"id":"oci8.datatypes","name":"Supported Datatypes","description":"Oracle OCI8","tag":"chapter","type":"General","methodName":"Supported Datatypes"},{"id":"function.oci-bind-array-by-name","name":"oci_bind_array_by_name","description":"Binds a PHP array to an Oracle PL\/SQL array parameter","tag":"refentry","type":"Function","methodName":"oci_bind_array_by_name"},{"id":"function.oci-bind-by-name","name":"oci_bind_by_name","description":"Binds a PHP variable to an Oracle placeholder","tag":"refentry","type":"Function","methodName":"oci_bind_by_name"},{"id":"function.oci-cancel","name":"oci_cancel","description":"Cancels reading from cursor","tag":"refentry","type":"Function","methodName":"oci_cancel"},{"id":"function.oci-client-version","name":"oci_client_version","description":"Returns the Oracle client library version","tag":"refentry","type":"Function","methodName":"oci_client_version"},{"id":"function.oci-close","name":"oci_close","description":"Closes an Oracle connection","tag":"refentry","type":"Function","methodName":"oci_close"},{"id":"function.oci-commit","name":"oci_commit","description":"Commits the outstanding database transaction","tag":"refentry","type":"Function","methodName":"oci_commit"},{"id":"function.oci-connect","name":"oci_connect","description":"Connect to an Oracle database","tag":"refentry","type":"Function","methodName":"oci_connect"},{"id":"function.oci-define-by-name","name":"oci_define_by_name","description":"Associates a PHP variable with a column for query fetches","tag":"refentry","type":"Function","methodName":"oci_define_by_name"},{"id":"function.oci-error","name":"oci_error","description":"Returns the last error found","tag":"refentry","type":"Function","methodName":"oci_error"},{"id":"function.oci-execute","name":"oci_execute","description":"Executes a statement","tag":"refentry","type":"Function","methodName":"oci_execute"},{"id":"function.oci-fetch","name":"oci_fetch","description":"Fetches the next row from a query into internal buffers","tag":"refentry","type":"Function","methodName":"oci_fetch"},{"id":"function.oci-fetch-all","name":"oci_fetch_all","description":"Fetches multiple rows from a query into a two-dimensional array","tag":"refentry","type":"Function","methodName":"oci_fetch_all"},{"id":"function.oci-fetch-array","name":"oci_fetch_array","description":"Returns the next row from a query as an associative or numeric array","tag":"refentry","type":"Function","methodName":"oci_fetch_array"},{"id":"function.oci-fetch-assoc","name":"oci_fetch_assoc","description":"Returns the next row from a query as an associative array","tag":"refentry","type":"Function","methodName":"oci_fetch_assoc"},{"id":"function.oci-fetch-object","name":"oci_fetch_object","description":"Returns the next row from a query as an object","tag":"refentry","type":"Function","methodName":"oci_fetch_object"},{"id":"function.oci-fetch-row","name":"oci_fetch_row","description":"Returns the next row from a query as a numeric array","tag":"refentry","type":"Function","methodName":"oci_fetch_row"},{"id":"function.oci-field-is-null","name":"oci_field_is_null","description":"Checks if a field in the currently fetched row is null","tag":"refentry","type":"Function","methodName":"oci_field_is_null"},{"id":"function.oci-field-name","name":"oci_field_name","description":"Returns the name of a field from the statement","tag":"refentry","type":"Function","methodName":"oci_field_name"},{"id":"function.oci-field-precision","name":"oci_field_precision","description":"Tell the precision of a field","tag":"refentry","type":"Function","methodName":"oci_field_precision"},{"id":"function.oci-field-scale","name":"oci_field_scale","description":"Tell the scale of the field","tag":"refentry","type":"Function","methodName":"oci_field_scale"},{"id":"function.oci-field-size","name":"oci_field_size","description":"Returns field's size","tag":"refentry","type":"Function","methodName":"oci_field_size"},{"id":"function.oci-field-type","name":"oci_field_type","description":"Returns a field's data type name","tag":"refentry","type":"Function","methodName":"oci_field_type"},{"id":"function.oci-field-type-raw","name":"oci_field_type_raw","description":"Tell the raw Oracle data type of the field","tag":"refentry","type":"Function","methodName":"oci_field_type_raw"},{"id":"function.oci-free-descriptor","name":"oci_free_descriptor","description":"Frees a descriptor","tag":"refentry","type":"Function","methodName":"oci_free_descriptor"},{"id":"function.oci-free-statement","name":"oci_free_statement","description":"Frees all resources associated with statement or cursor","tag":"refentry","type":"Function","methodName":"oci_free_statement"},{"id":"function.oci-get-implicit-resultset","name":"oci_get_implicit_resultset","description":"Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets","tag":"refentry","type":"Function","methodName":"oci_get_implicit_resultset"},{"id":"function.oci-lob-copy","name":"oci_lob_copy","description":"Copies large object","tag":"refentry","type":"Function","methodName":"oci_lob_copy"},{"id":"function.oci-lob-is-equal","name":"oci_lob_is_equal","description":"Compares two LOB\/FILE locators for equality","tag":"refentry","type":"Function","methodName":"oci_lob_is_equal"},{"id":"function.oci-new-collection","name":"oci_new_collection","description":"Allocates new collection object","tag":"refentry","type":"Function","methodName":"oci_new_collection"},{"id":"function.oci-new-connect","name":"oci_new_connect","description":"Connect to the Oracle server using a unique connection","tag":"refentry","type":"Function","methodName":"oci_new_connect"},{"id":"function.oci-new-cursor","name":"oci_new_cursor","description":"Allocates and returns a new cursor (statement handle)","tag":"refentry","type":"Function","methodName":"oci_new_cursor"},{"id":"function.oci-new-descriptor","name":"oci_new_descriptor","description":"Initializes a new empty LOB or FILE descriptor","tag":"refentry","type":"Function","methodName":"oci_new_descriptor"},{"id":"function.oci-num-fields","name":"oci_num_fields","description":"Returns the number of result columns in a statement","tag":"refentry","type":"Function","methodName":"oci_num_fields"},{"id":"function.oci-num-rows","name":"oci_num_rows","description":"Returns number of rows affected during statement execution","tag":"refentry","type":"Function","methodName":"oci_num_rows"},{"id":"function.oci-parse","name":"oci_parse","description":"Prepares an Oracle statement for execution","tag":"refentry","type":"Function","methodName":"oci_parse"},{"id":"function.oci-password-change","name":"oci_password_change","description":"Changes password of Oracle's user","tag":"refentry","type":"Function","methodName":"oci_password_change"},{"id":"function.oci-pconnect","name":"oci_pconnect","description":"Connect to an Oracle database using a persistent connection","tag":"refentry","type":"Function","methodName":"oci_pconnect"},{"id":"function.oci-register-taf-callback","name":"oci_register_taf_callback","description":"Register a user-defined callback function for Oracle Database TAF","tag":"refentry","type":"Function","methodName":"oci_register_taf_callback"},{"id":"function.oci-result","name":"oci_result","description":"Returns field's value from the fetched row","tag":"refentry","type":"Function","methodName":"oci_result"},{"id":"function.oci-rollback","name":"oci_rollback","description":"Rolls back the outstanding database transaction","tag":"refentry","type":"Function","methodName":"oci_rollback"},{"id":"function.oci-server-version","name":"oci_server_version","description":"Returns the Oracle Database version","tag":"refentry","type":"Function","methodName":"oci_server_version"},{"id":"function.oci-set-action","name":"oci_set_action","description":"Sets the action name","tag":"refentry","type":"Function","methodName":"oci_set_action"},{"id":"function.oci-set-call-timout","name":"oci_set_call_timeout","description":"Sets a millisecond timeout for database calls","tag":"refentry","type":"Function","methodName":"oci_set_call_timeout"},{"id":"function.oci-set-client-identifier","name":"oci_set_client_identifier","description":"Sets the client identifier","tag":"refentry","type":"Function","methodName":"oci_set_client_identifier"},{"id":"function.oci-set-client-info","name":"oci_set_client_info","description":"Sets the client information","tag":"refentry","type":"Function","methodName":"oci_set_client_info"},{"id":"function.oci-set-db-operation","name":"oci_set_db_operation","description":"Sets the database operation","tag":"refentry","type":"Function","methodName":"oci_set_db_operation"},{"id":"function.oci-set-edition","name":"oci_set_edition","description":"Sets the database edition","tag":"refentry","type":"Function","methodName":"oci_set_edition"},{"id":"function.oci-set-module-name","name":"oci_set_module_name","description":"Sets the module name","tag":"refentry","type":"Function","methodName":"oci_set_module_name"},{"id":"function.oci-set-prefetch","name":"oci_set_prefetch","description":"Sets number of rows to be prefetched by queries","tag":"refentry","type":"Function","methodName":"oci_set_prefetch"},{"id":"function.oci-set-prefetch-lob","name":"oci_set_prefetch_lob","description":"Sets the amount of data prefetched for each CLOB or BLOB.","tag":"refentry","type":"Function","methodName":"oci_set_prefetch_lob"},{"id":"function.oci-statement-type","name":"oci_statement_type","description":"Returns the type of a statement","tag":"refentry","type":"Function","methodName":"oci_statement_type"},{"id":"function.oci-unregister-taf-callback","name":"oci_unregister_taf_callback","description":"Unregister a user-defined callback function for Oracle Database TAF","tag":"refentry","type":"Function","methodName":"oci_unregister_taf_callback"},{"id":"ref.oci8","name":"OCI8 Functions","description":"Oracle OCI8","tag":"reference","type":"Extension","methodName":"OCI8 Functions"},{"id":"ocicollection.append","name":"OCICollection::append","description":"Appends element to the collection","tag":"refentry","type":"Function","methodName":"append"},{"id":"ocicollection.assign","name":"OCICollection::assign","description":"Assigns a value to the collection from another existing collection","tag":"refentry","type":"Function","methodName":"assign"},{"id":"ocicollection.assignelem","name":"OCICollection::assignElem","description":"Assigns a value to the element of the collection","tag":"refentry","type":"Function","methodName":"assignElem"},{"id":"ocicollection.free","name":"OCICollection::free","description":"Frees the resources associated with the collection object","tag":"refentry","type":"Function","methodName":"free"},{"id":"ocicollection.getelem","name":"OCICollection::getElem","description":"Returns value of the element","tag":"refentry","type":"Function","methodName":"getElem"},{"id":"ocicollection.max","name":"OCICollection::max","description":"Returns the maximum number of elements in the collection","tag":"refentry","type":"Function","methodName":"max"},{"id":"ocicollection.size","name":"OCICollection::size","description":"Returns size of the collection","tag":"refentry","type":"Function","methodName":"size"},{"id":"ocicollection.trim","name":"OCICollection::trim","description":"Trims elements from the end of the collection","tag":"refentry","type":"Function","methodName":"trim"},{"id":"class.ocicollection","name":"OCICollection","description":"The OCICollection class","tag":"phpdoc:classref","type":"Class","methodName":"OCICollection"},{"id":"ocilob.append","name":"OCILob::append","description":"Appends data from the large object to another large object","tag":"refentry","type":"Function","methodName":"append"},{"id":"ocilob.close","name":"OCILob::close","description":"Closes LOB descriptor","tag":"refentry","type":"Function","methodName":"close"},{"id":"ocilob.eof","name":"OCILob::eof","description":"Tests for end-of-file on a large object's descriptor","tag":"refentry","type":"Function","methodName":"eof"},{"id":"ocilob.erase","name":"OCILob::erase","description":"Erases a specified portion of the internal LOB data","tag":"refentry","type":"Function","methodName":"erase"},{"id":"ocilob.export","name":"OCILob::export","description":"Exports LOB's contents to a file","tag":"refentry","type":"Function","methodName":"export"},{"id":"ocilob.flush","name":"OCILob::flush","description":"Flushes\/writes buffer of the LOB to the server","tag":"refentry","type":"Function","methodName":"flush"},{"id":"ocilob.free","name":"OCILob::free","description":"Frees resources associated with the LOB descriptor","tag":"refentry","type":"Function","methodName":"free"},{"id":"ocilob.getbuffering","name":"OCILob::getBuffering","description":"Returns current state of buffering for the large object","tag":"refentry","type":"Function","methodName":"getBuffering"},{"id":"ocilob.import","name":"OCILob::import","description":"Imports file data to the LOB","tag":"refentry","type":"Function","methodName":"import"},{"id":"ocilob.load","name":"OCILob::load","description":"Returns large object's contents","tag":"refentry","type":"Function","methodName":"load"},{"id":"ocilob.read","name":"OCILob::read","description":"Reads part of the large object","tag":"refentry","type":"Function","methodName":"read"},{"id":"ocilob.rewind","name":"OCILob::rewind","description":"Moves the internal pointer to the beginning of the large object","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"ocilob.save","name":"OCILob::save","description":"Saves data to the large object","tag":"refentry","type":"Function","methodName":"save"},{"id":"ocilob.savefile","name":"OCILob::saveFile","description":"Alias of OCILob::import","tag":"refentry","type":"Function","methodName":"saveFile"},{"id":"ocilob.seek","name":"OCILob::seek","description":"Sets the internal pointer of the large object","tag":"refentry","type":"Function","methodName":"seek"},{"id":"ocilob.setbuffering","name":"OCILob::setBuffering","description":"Changes current state of buffering for the large object","tag":"refentry","type":"Function","methodName":"setBuffering"},{"id":"ocilob.size","name":"OCILob::size","description":"Returns size of large object","tag":"refentry","type":"Function","methodName":"size"},{"id":"ocilob.tell","name":"OCILob::tell","description":"Returns the current position of internal pointer of large object","tag":"refentry","type":"Function","methodName":"tell"},{"id":"ocilob.truncate","name":"OCILob::truncate","description":"Truncates large object","tag":"refentry","type":"Function","methodName":"truncate"},{"id":"ocilob.write","name":"OCILob::write","description":"Writes data to the large object","tag":"refentry","type":"Function","methodName":"write"},{"id":"ocilob.writetemporary","name":"OCILob::writeTemporary","description":"Writes a temporary large object","tag":"refentry","type":"Function","methodName":"writeTemporary"},{"id":"ocilob.writetofile","name":"OCILob::writeToFile","description":"Alias of OCILob::export","tag":"refentry","type":"Function","methodName":"writeToFile"},{"id":"class.ocilob","name":"OCILob","description":"The OCILob class","tag":"phpdoc:classref","type":"Class","methodName":"OCILob"},{"id":"function.oci-internal-debug","name":"oci_internal_debug","description":"Enables or disables internal debug output","tag":"refentry","type":"Function","methodName":"oci_internal_debug"},{"id":"function.ocibindbyname","name":"ocibindbyname","description":"Alias of oci_bind_by_name","tag":"refentry","type":"Function","methodName":"ocibindbyname"},{"id":"function.ocicancel","name":"ocicancel","description":"Alias of oci_cancel","tag":"refentry","type":"Function","methodName":"ocicancel"},{"id":"function.ocicloselob","name":"ocicloselob","description":"Alias of OCILob::close","tag":"refentry","type":"Function","methodName":"ocicloselob"},{"id":"function.ocicollappend","name":"ocicollappend","description":"Alias of OCICollection::append","tag":"refentry","type":"Function","methodName":"ocicollappend"},{"id":"function.ocicollassign","name":"ocicollassign","description":"Alias of OCICollection::assign","tag":"refentry","type":"Function","methodName":"ocicollassign"},{"id":"function.ocicollassignelem","name":"ocicollassignelem","description":"Alias of OCICollection::assignElem","tag":"refentry","type":"Function","methodName":"ocicollassignelem"},{"id":"function.ocicollgetelem","name":"ocicollgetelem","description":"Alias of OCICollection::getElem","tag":"refentry","type":"Function","methodName":"ocicollgetelem"},{"id":"function.ocicollmax","name":"ocicollmax","description":"Alias of OCICollection::max","tag":"refentry","type":"Function","methodName":"ocicollmax"},{"id":"function.ocicollsize","name":"ocicollsize","description":"Alias of OCICollection::size","tag":"refentry","type":"Function","methodName":"ocicollsize"},{"id":"function.ocicolltrim","name":"ocicolltrim","description":"Alias of OCICollection::trim","tag":"refentry","type":"Function","methodName":"ocicolltrim"},{"id":"function.ocicolumnisnull","name":"ocicolumnisnull","description":"Alias of oci_field_is_null","tag":"refentry","type":"Function","methodName":"ocicolumnisnull"},{"id":"function.ocicolumnname","name":"ocicolumnname","description":"Alias of oci_field_name","tag":"refentry","type":"Function","methodName":"ocicolumnname"},{"id":"function.ocicolumnprecision","name":"ocicolumnprecision","description":"Alias of oci_field_precision","tag":"refentry","type":"Function","methodName":"ocicolumnprecision"},{"id":"function.ocicolumnscale","name":"ocicolumnscale","description":"Alias of oci_field_scale","tag":"refentry","type":"Function","methodName":"ocicolumnscale"},{"id":"function.ocicolumnsize","name":"ocicolumnsize","description":"Alias of oci_field_size","tag":"refentry","type":"Function","methodName":"ocicolumnsize"},{"id":"function.ocicolumntype","name":"ocicolumntype","description":"Alias of oci_field_type","tag":"refentry","type":"Function","methodName":"ocicolumntype"},{"id":"function.ocicolumntyperaw","name":"ocicolumntyperaw","description":"Alias of oci_field_type_raw","tag":"refentry","type":"Function","methodName":"ocicolumntyperaw"},{"id":"function.ocicommit","name":"ocicommit","description":"Alias of oci_commit","tag":"refentry","type":"Function","methodName":"ocicommit"},{"id":"function.ocidefinebyname","name":"ocidefinebyname","description":"Alias of oci_define_by_name","tag":"refentry","type":"Function","methodName":"ocidefinebyname"},{"id":"function.ocierror","name":"ocierror","description":"Alias of oci_error","tag":"refentry","type":"Function","methodName":"ocierror"},{"id":"function.ociexecute","name":"ociexecute","description":"Alias of oci_execute","tag":"refentry","type":"Function","methodName":"ociexecute"},{"id":"function.ocifetch","name":"ocifetch","description":"Alias of oci_fetch","tag":"refentry","type":"Function","methodName":"ocifetch"},{"id":"function.ocifetchinto","name":"ocifetchinto","description":"Obsolete variant of oci_fetch_array, oci_fetch_object,\n oci_fetch_assoc and\n oci_fetch_row","tag":"refentry","type":"Function","methodName":"ocifetchinto"},{"id":"function.ocifetchstatement","name":"ocifetchstatement","description":"Alias of oci_fetch_all","tag":"refentry","type":"Function","methodName":"ocifetchstatement"},{"id":"function.ocifreecollection","name":"ocifreecollection","description":"Alias of OCICollection::free","tag":"refentry","type":"Function","methodName":"ocifreecollection"},{"id":"function.ocifreecursor","name":"ocifreecursor","description":"Alias of oci_free_statement","tag":"refentry","type":"Function","methodName":"ocifreecursor"},{"id":"function.ocifreedesc","name":"ocifreedesc","description":"Alias of OCILob::free","tag":"refentry","type":"Function","methodName":"ocifreedesc"},{"id":"function.ocifreestatement","name":"ocifreestatement","description":"Alias of oci_free_statement","tag":"refentry","type":"Function","methodName":"ocifreestatement"},{"id":"function.ociinternaldebug","name":"ociinternaldebug","description":"Alias of oci_internal_debug","tag":"refentry","type":"Function","methodName":"ociinternaldebug"},{"id":"function.ociloadlob","name":"ociloadlob","description":"Alias of OCILob::load","tag":"refentry","type":"Function","methodName":"ociloadlob"},{"id":"function.ocilogoff","name":"ocilogoff","description":"Alias of oci_close","tag":"refentry","type":"Function","methodName":"ocilogoff"},{"id":"function.ocilogon","name":"ocilogon","description":"Alias of oci_connect","tag":"refentry","type":"Function","methodName":"ocilogon"},{"id":"function.ocinewcollection","name":"ocinewcollection","description":"Alias of oci_new_collection","tag":"refentry","type":"Function","methodName":"ocinewcollection"},{"id":"function.ocinewcursor","name":"ocinewcursor","description":"Alias of oci_new_cursor","tag":"refentry","type":"Function","methodName":"ocinewcursor"},{"id":"function.ocinewdescriptor","name":"ocinewdescriptor","description":"Alias of oci_new_descriptor","tag":"refentry","type":"Function","methodName":"ocinewdescriptor"},{"id":"function.ocinlogon","name":"ocinlogon","description":"Alias of oci_new_connect","tag":"refentry","type":"Function","methodName":"ocinlogon"},{"id":"function.ocinumcols","name":"ocinumcols","description":"Alias of oci_num_fields","tag":"refentry","type":"Function","methodName":"ocinumcols"},{"id":"function.ociparse","name":"ociparse","description":"Alias of oci_parse","tag":"refentry","type":"Function","methodName":"ociparse"},{"id":"function.ociplogon","name":"ociplogon","description":"Alias of oci_pconnect","tag":"refentry","type":"Function","methodName":"ociplogon"},{"id":"function.ociresult","name":"ociresult","description":"Alias of oci_result","tag":"refentry","type":"Function","methodName":"ociresult"},{"id":"function.ocirollback","name":"ocirollback","description":"Alias of oci_rollback","tag":"refentry","type":"Function","methodName":"ocirollback"},{"id":"function.ocirowcount","name":"ocirowcount","description":"Alias of oci_num_rows","tag":"refentry","type":"Function","methodName":"ocirowcount"},{"id":"function.ocisavelob","name":"ocisavelob","description":"Alias of OCILob::save","tag":"refentry","type":"Function","methodName":"ocisavelob"},{"id":"function.ocisavelobfile","name":"ocisavelobfile","description":"Alias of OCILob::import","tag":"refentry","type":"Function","methodName":"ocisavelobfile"},{"id":"function.ociserverversion","name":"ociserverversion","description":"Alias of oci_server_version","tag":"refentry","type":"Function","methodName":"ociserverversion"},{"id":"function.ocisetprefetch","name":"ocisetprefetch","description":"Alias of oci_set_prefetch","tag":"refentry","type":"Function","methodName":"ocisetprefetch"},{"id":"function.ocistatementtype","name":"ocistatementtype","description":"Alias of oci_statement_type","tag":"refentry","type":"Function","methodName":"ocistatementtype"},{"id":"function.ociwritelobtofile","name":"ociwritelobtofile","description":"Alias of OCILob::export","tag":"refentry","type":"Function","methodName":"ociwritelobtofile"},{"id":"function.ociwritetemporarylob","name":"ociwritetemporarylob","description":"Alias of OCILob::writeTemporary","tag":"refentry","type":"Function","methodName":"ociwritetemporarylob"},{"id":"oldaliases.oci8","name":"OCI8 Obsolete Aliases and Functions","description":"Oracle OCI8","tag":"reference","type":"Extension","methodName":"OCI8 Obsolete Aliases and Functions"},{"id":"book.oci8","name":"OCI8","description":"Oracle OCI8","tag":"book","type":"Extension","methodName":"OCI8"},{"id":"intro.pgsql","name":"Introduction","description":"PostgreSQL","tag":"preface","type":"General","methodName":"Introduction"},{"id":"pgsql.requirements","name":"Requirements","description":"PostgreSQL","tag":"section","type":"General","methodName":"Requirements"},{"id":"pgsql.installation","name":"Installation","description":"PostgreSQL","tag":"section","type":"General","methodName":"Installation"},{"id":"pgsql.configuration","name":"Runtime Configuration","description":"PostgreSQL","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"pgsql.resources","name":"Resource Types","description":"PostgreSQL","tag":"section","type":"General","methodName":"Resource Types"},{"id":"pgsql.setup","name":"Installing\/Configuring","description":"PostgreSQL","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"pgsql.constants","name":"Predefined Constants","description":"PostgreSQL","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"pgsql.examples-basic","name":"Basic usage","description":"PostgreSQL","tag":"section","type":"General","methodName":"Basic usage"},{"id":"pgsql.examples-queries","name":"Basic usage","description":"PostgreSQL","tag":"section","type":"General","methodName":"Basic usage"},{"id":"pgsql.examples","name":"Examples","description":"PostgreSQL","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.pg-affected-rows","name":"pg_affected_rows","description":"Returns number of affected records (tuples)","tag":"refentry","type":"Function","methodName":"pg_affected_rows"},{"id":"function.pg-cancel-query","name":"pg_cancel_query","description":"Cancel an asynchronous query","tag":"refentry","type":"Function","methodName":"pg_cancel_query"},{"id":"function.pg-client-encoding","name":"pg_client_encoding","description":"Gets the client encoding","tag":"refentry","type":"Function","methodName":"pg_client_encoding"},{"id":"function.pg-close","name":"pg_close","description":"Closes a PostgreSQL connection","tag":"refentry","type":"Function","methodName":"pg_close"},{"id":"function.pg-connect","name":"pg_connect","description":"Open a PostgreSQL connection","tag":"refentry","type":"Function","methodName":"pg_connect"},{"id":"function.pg-connect-poll","name":"pg_connect_poll","description":"Poll the status of an in-progress asynchronous PostgreSQL connection\n attempt","tag":"refentry","type":"Function","methodName":"pg_connect_poll"},{"id":"function.pg-connection-busy","name":"pg_connection_busy","description":"Get connection is busy or not","tag":"refentry","type":"Function","methodName":"pg_connection_busy"},{"id":"function.pg-connection-reset","name":"pg_connection_reset","description":"Reset connection (reconnect)","tag":"refentry","type":"Function","methodName":"pg_connection_reset"},{"id":"function.pg-connection-status","name":"pg_connection_status","description":"Get connection status","tag":"refentry","type":"Function","methodName":"pg_connection_status"},{"id":"function.pg-consume-input","name":"pg_consume_input","description":"Reads input on the connection","tag":"refentry","type":"Function","methodName":"pg_consume_input"},{"id":"function.pg-convert","name":"pg_convert","description":"Convert associative array values into forms suitable for SQL statements","tag":"refentry","type":"Function","methodName":"pg_convert"},{"id":"function.pg-copy-from","name":"pg_copy_from","description":"Insert records into a table from an array","tag":"refentry","type":"Function","methodName":"pg_copy_from"},{"id":"function.pg-copy-to","name":"pg_copy_to","description":"Copy a table to an array","tag":"refentry","type":"Function","methodName":"pg_copy_to"},{"id":"function.pg-dbname","name":"pg_dbname","description":"Get the database name","tag":"refentry","type":"Function","methodName":"pg_dbname"},{"id":"function.pg-delete","name":"pg_delete","description":"Deletes records","tag":"refentry","type":"Function","methodName":"pg_delete"},{"id":"function.pg-end-copy","name":"pg_end_copy","description":"Sync with PostgreSQL backend","tag":"refentry","type":"Function","methodName":"pg_end_copy"},{"id":"function.pg-escape-bytea","name":"pg_escape_bytea","description":"Escape a string for insertion into a bytea field","tag":"refentry","type":"Function","methodName":"pg_escape_bytea"},{"id":"function.pg-escape-identifier","name":"pg_escape_identifier","description":"Escape a identifier for insertion into a text field","tag":"refentry","type":"Function","methodName":"pg_escape_identifier"},{"id":"function.pg-escape-literal","name":"pg_escape_literal","description":"Escape a literal for insertion into a text field","tag":"refentry","type":"Function","methodName":"pg_escape_literal"},{"id":"function.pg-escape-string","name":"pg_escape_string","description":"Escape a string for query","tag":"refentry","type":"Function","methodName":"pg_escape_string"},{"id":"function.pg-execute","name":"pg_execute","description":"Sends a request to execute a prepared statement with given parameters, and waits for the result","tag":"refentry","type":"Function","methodName":"pg_execute"},{"id":"function.pg-fetch-all","name":"pg_fetch_all","description":"Fetches all rows from a result as an array","tag":"refentry","type":"Function","methodName":"pg_fetch_all"},{"id":"function.pg-fetch-all-columns","name":"pg_fetch_all_columns","description":"Fetches all rows in a particular result column as an array","tag":"refentry","type":"Function","methodName":"pg_fetch_all_columns"},{"id":"function.pg-fetch-array","name":"pg_fetch_array","description":"Fetch a row as an array","tag":"refentry","type":"Function","methodName":"pg_fetch_array"},{"id":"function.pg-fetch-assoc","name":"pg_fetch_assoc","description":"Fetch a row as an associative array","tag":"refentry","type":"Function","methodName":"pg_fetch_assoc"},{"id":"function.pg-fetch-object","name":"pg_fetch_object","description":"Fetch a row as an object","tag":"refentry","type":"Function","methodName":"pg_fetch_object"},{"id":"function.pg-fetch-result","name":"pg_fetch_result","description":"Returns values from a result instance","tag":"refentry","type":"Function","methodName":"pg_fetch_result"},{"id":"function.pg-fetch-row","name":"pg_fetch_row","description":"Get a row as an enumerated array","tag":"refentry","type":"Function","methodName":"pg_fetch_row"},{"id":"function.pg-field-is-null","name":"pg_field_is_null","description":"Test if a field is SQL NULL","tag":"refentry","type":"Function","methodName":"pg_field_is_null"},{"id":"function.pg-field-name","name":"pg_field_name","description":"Returns the name of a field","tag":"refentry","type":"Function","methodName":"pg_field_name"},{"id":"function.pg-field-num","name":"pg_field_num","description":"Returns the field number of the named field","tag":"refentry","type":"Function","methodName":"pg_field_num"},{"id":"function.pg-field-prtlen","name":"pg_field_prtlen","description":"Returns the printed length","tag":"refentry","type":"Function","methodName":"pg_field_prtlen"},{"id":"function.pg-field-size","name":"pg_field_size","description":"Returns the internal storage size of the named field","tag":"refentry","type":"Function","methodName":"pg_field_size"},{"id":"function.pg-field-table","name":"pg_field_table","description":"Returns the name or oid of the tables field","tag":"refentry","type":"Function","methodName":"pg_field_table"},{"id":"function.pg-field-type","name":"pg_field_type","description":"Returns the type name for the corresponding field number","tag":"refentry","type":"Function","methodName":"pg_field_type"},{"id":"function.pg-field-type-oid","name":"pg_field_type_oid","description":"Returns the type ID (OID) for the corresponding field number","tag":"refentry","type":"Function","methodName":"pg_field_type_oid"},{"id":"function.pg-flush","name":"pg_flush","description":"Flush outbound query data on the connection","tag":"refentry","type":"Function","methodName":"pg_flush"},{"id":"function.pg-free-result","name":"pg_free_result","description":"Free result memory","tag":"refentry","type":"Function","methodName":"pg_free_result"},{"id":"function.pg-get-notify","name":"pg_get_notify","description":"Gets SQL NOTIFY message","tag":"refentry","type":"Function","methodName":"pg_get_notify"},{"id":"function.pg-get-pid","name":"pg_get_pid","description":"Gets the backend's process ID","tag":"refentry","type":"Function","methodName":"pg_get_pid"},{"id":"function.pg-get-result","name":"pg_get_result","description":"Get asynchronous query result","tag":"refentry","type":"Function","methodName":"pg_get_result"},{"id":"function.pg-host","name":"pg_host","description":"Returns the host name associated with the connection","tag":"refentry","type":"Function","methodName":"pg_host"},{"id":"function.pg-insert","name":"pg_insert","description":"Insert array into table","tag":"refentry","type":"Function","methodName":"pg_insert"},{"id":"function.pg-last-error","name":"pg_last_error","description":"Get the last error message string of a connection","tag":"refentry","type":"Function","methodName":"pg_last_error"},{"id":"function.pg-last-notice","name":"pg_last_notice","description":"Returns the last notice message from PostgreSQL server","tag":"refentry","type":"Function","methodName":"pg_last_notice"},{"id":"function.pg-last-oid","name":"pg_last_oid","description":"Returns the last row's OID","tag":"refentry","type":"Function","methodName":"pg_last_oid"},{"id":"function.pg-lo-close","name":"pg_lo_close","description":"Close a large object","tag":"refentry","type":"Function","methodName":"pg_lo_close"},{"id":"function.pg-lo-create","name":"pg_lo_create","description":"Create a large object","tag":"refentry","type":"Function","methodName":"pg_lo_create"},{"id":"function.pg-lo-export","name":"pg_lo_export","description":"Export a large object to file","tag":"refentry","type":"Function","methodName":"pg_lo_export"},{"id":"function.pg-lo-import","name":"pg_lo_import","description":"Import a large object from file","tag":"refentry","type":"Function","methodName":"pg_lo_import"},{"id":"function.pg-lo-open","name":"pg_lo_open","description":"Open a large object","tag":"refentry","type":"Function","methodName":"pg_lo_open"},{"id":"function.pg-lo-read","name":"pg_lo_read","description":"Read a large object","tag":"refentry","type":"Function","methodName":"pg_lo_read"},{"id":"function.pg-lo-read-all","name":"pg_lo_read_all","description":"Reads an entire large object and send straight to browser","tag":"refentry","type":"Function","methodName":"pg_lo_read_all"},{"id":"function.pg-lo-seek","name":"pg_lo_seek","description":"Seeks position within a large object","tag":"refentry","type":"Function","methodName":"pg_lo_seek"},{"id":"function.pg-lo-tell","name":"pg_lo_tell","description":"Returns current seek position a of large object","tag":"refentry","type":"Function","methodName":"pg_lo_tell"},{"id":"function.pg-lo-truncate","name":"pg_lo_truncate","description":"Truncates a large object","tag":"refentry","type":"Function","methodName":"pg_lo_truncate"},{"id":"function.pg-lo-unlink","name":"pg_lo_unlink","description":"Delete a large object","tag":"refentry","type":"Function","methodName":"pg_lo_unlink"},{"id":"function.pg-lo-write","name":"pg_lo_write","description":"Write to a large object","tag":"refentry","type":"Function","methodName":"pg_lo_write"},{"id":"function.pg-meta-data","name":"pg_meta_data","description":"Get meta data for table","tag":"refentry","type":"Function","methodName":"pg_meta_data"},{"id":"function.pg-num-fields","name":"pg_num_fields","description":"Returns the number of fields in a result","tag":"refentry","type":"Function","methodName":"pg_num_fields"},{"id":"function.pg-num-rows","name":"pg_num_rows","description":"Returns the number of rows in a result","tag":"refentry","type":"Function","methodName":"pg_num_rows"},{"id":"function.pg-options","name":"pg_options","description":"Get the options associated with the connection","tag":"refentry","type":"Function","methodName":"pg_options"},{"id":"function.pg-parameter-status","name":"pg_parameter_status","description":"Looks up a current parameter setting of the server","tag":"refentry","type":"Function","methodName":"pg_parameter_status"},{"id":"function.pg-pconnect","name":"pg_pconnect","description":"Open a persistent PostgreSQL connection","tag":"refentry","type":"Function","methodName":"pg_pconnect"},{"id":"function.pg-ping","name":"pg_ping","description":"Ping database connection","tag":"refentry","type":"Function","methodName":"pg_ping"},{"id":"function.pg-port","name":"pg_port","description":"Return the port number associated with the connection","tag":"refentry","type":"Function","methodName":"pg_port"},{"id":"function.pg-prepare","name":"pg_prepare","description":"Submits a request to the server to create a prepared statement with the\n given parameters, and waits for completion","tag":"refentry","type":"Function","methodName":"pg_prepare"},{"id":"function.pg-put-line","name":"pg_put_line","description":"Send a NULL-terminated string to PostgreSQL backend","tag":"refentry","type":"Function","methodName":"pg_put_line"},{"id":"function.pg-query","name":"pg_query","description":"Execute a query","tag":"refentry","type":"Function","methodName":"pg_query"},{"id":"function.pg-query-params","name":"pg_query_params","description":"Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text","tag":"refentry","type":"Function","methodName":"pg_query_params"},{"id":"function.pg-result-error","name":"pg_result_error","description":"Get error message associated with result","tag":"refentry","type":"Function","methodName":"pg_result_error"},{"id":"function.pg-result-error-field","name":"pg_result_error_field","description":"Returns an individual field of an error report","tag":"refentry","type":"Function","methodName":"pg_result_error_field"},{"id":"function.pg-result-memory-size","name":"pg_result_memory_size","description":"Returns the amount of memory allocated for a query result","tag":"refentry","type":"Function","methodName":"pg_result_memory_size"},{"id":"function.pg-result-seek","name":"pg_result_seek","description":"Set internal row offset in result instance","tag":"refentry","type":"Function","methodName":"pg_result_seek"},{"id":"function.pg-result-status","name":"pg_result_status","description":"Get status of query result","tag":"refentry","type":"Function","methodName":"pg_result_status"},{"id":"function.pg-select","name":"pg_select","description":"Select records","tag":"refentry","type":"Function","methodName":"pg_select"},{"id":"function.pg-send-execute","name":"pg_send_execute","description":"Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)","tag":"refentry","type":"Function","methodName":"pg_send_execute"},{"id":"function.pg-send-prepare","name":"pg_send_prepare","description":"Sends a request to create a prepared statement with the given parameters, without waiting for completion","tag":"refentry","type":"Function","methodName":"pg_send_prepare"},{"id":"function.pg-send-query","name":"pg_send_query","description":"Sends asynchronous query","tag":"refentry","type":"Function","methodName":"pg_send_query"},{"id":"function.pg-send-query-params","name":"pg_send_query_params","description":"Submits a command and separate parameters to the server without waiting for the result(s)","tag":"refentry","type":"Function","methodName":"pg_send_query_params"},{"id":"function.pg-set-chunked-rows-size","name":"pg_set_chunked_rows_size","description":"Set the query results to be retrieved in chunk mode","tag":"refentry","type":"Function","methodName":"pg_set_chunked_rows_size"},{"id":"function.pg-set-client-encoding","name":"pg_set_client_encoding","description":"Set the client encoding","tag":"refentry","type":"Function","methodName":"pg_set_client_encoding"},{"id":"function.pg-set-error-context-visibility","name":"pg_set_error_context_visibility","description":"Determines the visibility of the context's error messages returned by pg_last_error\n and pg_result_error","tag":"refentry","type":"Function","methodName":"pg_set_error_context_visibility"},{"id":"function.pg-set-error-verbosity","name":"pg_set_error_verbosity","description":"Determines the verbosity of messages returned by pg_last_error \n and pg_result_error","tag":"refentry","type":"Function","methodName":"pg_set_error_verbosity"},{"id":"function.pg-socket","name":"pg_socket","description":"Get a read only handle to the socket underlying a PostgreSQL connection","tag":"refentry","type":"Function","methodName":"pg_socket"},{"id":"function.pg-trace","name":"pg_trace","description":"Enable tracing a PostgreSQL connection","tag":"refentry","type":"Function","methodName":"pg_trace"},{"id":"function.pg-transaction-status","name":"pg_transaction_status","description":"Returns the current in-transaction status of the server","tag":"refentry","type":"Function","methodName":"pg_transaction_status"},{"id":"function.pg-tty","name":"pg_tty","description":"Return the TTY name associated with the connection","tag":"refentry","type":"Function","methodName":"pg_tty"},{"id":"function.pg-unescape-bytea","name":"pg_unescape_bytea","description":"Unescape binary for bytea type","tag":"refentry","type":"Function","methodName":"pg_unescape_bytea"},{"id":"function.pg-untrace","name":"pg_untrace","description":"Disable tracing of a PostgreSQL connection","tag":"refentry","type":"Function","methodName":"pg_untrace"},{"id":"function.pg-update","name":"pg_update","description":"Update table","tag":"refentry","type":"Function","methodName":"pg_update"},{"id":"function.pg-version","name":"pg_version","description":"Returns an array with client, protocol and server version (when available)","tag":"refentry","type":"Function","methodName":"pg_version"},{"id":"ref.pgsql","name":"PostgreSQL Functions","description":"PostgreSQL","tag":"reference","type":"Extension","methodName":"PostgreSQL Functions"},{"id":"class.pgsql-connection","name":"PgSql\\Connection","description":"The PgSql\\Connection class","tag":"phpdoc:classref","type":"Class","methodName":"PgSql\\Connection"},{"id":"class.pgsql-result","name":"PgSql\\Result","description":"The PgSql\\Result class","tag":"phpdoc:classref","type":"Class","methodName":"PgSql\\Result"},{"id":"class.pgsql-lob","name":"PgSql\\Lob","description":"The PgSql\\Lob class","tag":"phpdoc:classref","type":"Class","methodName":"PgSql\\Lob"},{"id":"book.pgsql","name":"PostgreSQL","description":"Vendor Specific Database Extensions","tag":"book","type":"Extension","methodName":"PostgreSQL"},{"id":"intro.sqlite3","name":"Introduction","description":"SQLite3","tag":"preface","type":"General","methodName":"Introduction"},{"id":"sqlite3.requirements","name":"Requirements","description":"SQLite3","tag":"section","type":"General","methodName":"Requirements"},{"id":"sqlite3.installation","name":"Installation","description":"SQLite3","tag":"section","type":"General","methodName":"Installation"},{"id":"sqlite3.configuration","name":"Runtime Configuration","description":"SQLite3","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"sqlite3.setup","name":"Installing\/Configuring","description":"SQLite3","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"sqlite3.constants","name":"Predefined Constants","description":"SQLite3","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"sqlite3.backup","name":"SQLite3::backup","description":"Backup one database to another database","tag":"refentry","type":"Function","methodName":"backup"},{"id":"sqlite3.busytimeout","name":"SQLite3::busyTimeout","description":"Sets the busy connection handler","tag":"refentry","type":"Function","methodName":"busyTimeout"},{"id":"sqlite3.changes","name":"SQLite3::changes","description":"Returns the number of database rows that were changed (or inserted or\n deleted) by the most recent SQL statement","tag":"refentry","type":"Function","methodName":"changes"},{"id":"sqlite3.close","name":"SQLite3::close","description":"Closes the database connection","tag":"refentry","type":"Function","methodName":"close"},{"id":"sqlite3.construct","name":"SQLite3::__construct","description":"Instantiates an SQLite3 object and opens an SQLite 3 database","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"sqlite3.createaggregate","name":"SQLite3::createAggregate","description":"Registers a PHP function for use as an SQL aggregate function","tag":"refentry","type":"Function","methodName":"createAggregate"},{"id":"sqlite3.createcollation","name":"SQLite3::createCollation","description":"Registers a PHP function for use as an SQL collating function","tag":"refentry","type":"Function","methodName":"createCollation"},{"id":"sqlite3.createfunction","name":"SQLite3::createFunction","description":"Registers a PHP function for use as an SQL scalar function","tag":"refentry","type":"Function","methodName":"createFunction"},{"id":"sqlite3.enableexceptions","name":"SQLite3::enableExceptions","description":"Enable throwing exceptions","tag":"refentry","type":"Function","methodName":"enableExceptions"},{"id":"sqlite3.escapestring","name":"SQLite3::escapeString","description":"Returns a string that has been properly escaped","tag":"refentry","type":"Function","methodName":"escapeString"},{"id":"sqlite3.exec","name":"SQLite3::exec","description":"Executes a result-less query against a given database","tag":"refentry","type":"Function","methodName":"exec"},{"id":"sqlite3.lasterrorcode","name":"SQLite3::lastErrorCode","description":"Returns the numeric result code of the most recent failed SQLite request","tag":"refentry","type":"Function","methodName":"lastErrorCode"},{"id":"sqlite3.lasterrormsg","name":"SQLite3::lastErrorMsg","description":"Returns English text describing the most recent failed SQLite request","tag":"refentry","type":"Function","methodName":"lastErrorMsg"},{"id":"sqlite3.lastinsertrowid","name":"SQLite3::lastInsertRowID","description":"Returns the row ID of the most recent INSERT into the database","tag":"refentry","type":"Function","methodName":"lastInsertRowID"},{"id":"sqlite3.loadextension","name":"SQLite3::loadExtension","description":"Attempts to load an SQLite extension library","tag":"refentry","type":"Function","methodName":"loadExtension"},{"id":"sqlite3.open","name":"SQLite3::open","description":"Opens an SQLite database","tag":"refentry","type":"Function","methodName":"open"},{"id":"sqlite3.openblob","name":"SQLite3::openBlob","description":"Opens a stream resource to read a BLOB","tag":"refentry","type":"Function","methodName":"openBlob"},{"id":"sqlite3.prepare","name":"SQLite3::prepare","description":"Prepares an SQL statement for execution","tag":"refentry","type":"Function","methodName":"prepare"},{"id":"sqlite3.query","name":"SQLite3::query","description":"Executes an SQL query","tag":"refentry","type":"Function","methodName":"query"},{"id":"sqlite3.querysingle","name":"SQLite3::querySingle","description":"Executes a query and returns a single result","tag":"refentry","type":"Function","methodName":"querySingle"},{"id":"sqlite3.setauthorizer","name":"SQLite3::setAuthorizer","description":"Configures a callback to be used as an authorizer to limit what a statement can do","tag":"refentry","type":"Function","methodName":"setAuthorizer"},{"id":"sqlite3.version","name":"SQLite3::version","description":"Returns the SQLite3 library version as a string constant and as a number","tag":"refentry","type":"Function","methodName":"version"},{"id":"class.sqlite3","name":"SQLite3","description":"The SQLite3 class","tag":"phpdoc:classref","type":"Class","methodName":"SQLite3"},{"id":"class.sqlite3exception","name":"SQLite3Exception","description":"The SQLite3Exception class","tag":"phpdoc:classref","type":"Class","methodName":"SQLite3Exception"},{"id":"sqlite3stmt.bindparam","name":"SQLite3Stmt::bindParam","description":"Binds a parameter to a statement variable","tag":"refentry","type":"Function","methodName":"bindParam"},{"id":"sqlite3stmt.bindvalue","name":"SQLite3Stmt::bindValue","description":"Binds the value of a parameter to a statement variable","tag":"refentry","type":"Function","methodName":"bindValue"},{"id":"sqlite3stmt.clear","name":"SQLite3Stmt::clear","description":"Clears all current bound parameters","tag":"refentry","type":"Function","methodName":"clear"},{"id":"sqlite3stmt.close","name":"SQLite3Stmt::close","description":"Closes the prepared statement","tag":"refentry","type":"Function","methodName":"close"},{"id":"sqlite3stmt.construct","name":"SQLite3Stmt::__construct","description":"Constructs an SQLite3Stmt object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"sqlite3stmt.execute","name":"SQLite3Stmt::execute","description":"Executes a prepared statement and returns a result set object","tag":"refentry","type":"Function","methodName":"execute"},{"id":"sqlite3stmt.getsql","name":"SQLite3Stmt::getSQL","description":"Get the SQL of the statement","tag":"refentry","type":"Function","methodName":"getSQL"},{"id":"sqlite3stmt.paramcount","name":"SQLite3Stmt::paramCount","description":"Returns the number of parameters within the prepared statement","tag":"refentry","type":"Function","methodName":"paramCount"},{"id":"sqlite3stmt.readonly","name":"SQLite3Stmt::readOnly","description":"Returns whether a statement is definitely read only","tag":"refentry","type":"Function","methodName":"readOnly"},{"id":"sqlite3stmt.reset","name":"SQLite3Stmt::reset","description":"Resets the prepared statement","tag":"refentry","type":"Function","methodName":"reset"},{"id":"class.sqlite3stmt","name":"SQLite3Stmt","description":"The SQLite3Stmt class","tag":"phpdoc:classref","type":"Class","methodName":"SQLite3Stmt"},{"id":"sqlite3result.columnname","name":"SQLite3Result::columnName","description":"Returns the name of the nth column","tag":"refentry","type":"Function","methodName":"columnName"},{"id":"sqlite3result.columntype","name":"SQLite3Result::columnType","description":"Returns the type of the nth column","tag":"refentry","type":"Function","methodName":"columnType"},{"id":"sqlite3result.construct","name":"SQLite3Result::__construct","description":"Constructs an SQLite3Result","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"sqlite3result.fetcharray","name":"SQLite3Result::fetchArray","description":"Fetches a result row as an associative or numerically indexed array or both","tag":"refentry","type":"Function","methodName":"fetchArray"},{"id":"sqlite3result.finalize","name":"SQLite3Result::finalize","description":"Closes the result set","tag":"refentry","type":"Function","methodName":"finalize"},{"id":"sqlite3result.numcolumns","name":"SQLite3Result::numColumns","description":"Returns the number of columns in the result set","tag":"refentry","type":"Function","methodName":"numColumns"},{"id":"sqlite3result.reset","name":"SQLite3Result::reset","description":"Resets the result set back to the first row","tag":"refentry","type":"Function","methodName":"reset"},{"id":"class.sqlite3result","name":"SQLite3Result","description":"The SQLite3Result class","tag":"phpdoc:classref","type":"Class","methodName":"SQLite3Result"},{"id":"book.sqlite3","name":"SQLite3","description":"SQLite3","tag":"book","type":"Extension","methodName":"SQLite3"},{"id":"intro.sqlsrv","name":"Introduction","description":"Microsoft SQL Server Driver for PHP","tag":"preface","type":"General","methodName":"Introduction"},{"id":"sqlsrv.requirements","name":"Requirements","description":"Microsoft SQL Server Driver for PHP","tag":"section","type":"General","methodName":"Requirements"},{"id":"sqlsrv.installation","name":"Installation","description":"Microsoft SQL Server Driver for PHP","tag":"section","type":"General","methodName":"Installation"},{"id":"sqlsrv.configuration","name":"Runtime Configuration","description":"Microsoft SQL Server Driver for PHP","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"sqlsrv.resources","name":"Resource Types","description":"Microsoft SQL Server Driver for PHP","tag":"section","type":"General","methodName":"Resource Types"},{"id":"sqlsrv.setup","name":"Installing\/Configuring","description":"Microsoft SQL Server Driver for PHP","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"sqlsrv.constants","name":"Predefined Constants","description":"Microsoft SQL Server Driver for PHP","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.sqlsrv-begin-transaction","name":"sqlsrv_begin_transaction","description":"Begins a database transaction","tag":"refentry","type":"Function","methodName":"sqlsrv_begin_transaction"},{"id":"function.sqlsrv-cancel","name":"sqlsrv_cancel","description":"Cancels a statement","tag":"refentry","type":"Function","methodName":"sqlsrv_cancel"},{"id":"function.sqlsrv-client-info","name":"sqlsrv_client_info","description":"Returns information about the client and specified connection","tag":"refentry","type":"Function","methodName":"sqlsrv_client_info"},{"id":"function.sqlsrv-close","name":"sqlsrv_close","description":"Closes an open connection and releases resourses associated with the connection","tag":"refentry","type":"Function","methodName":"sqlsrv_close"},{"id":"function.sqlsrv-commit","name":"sqlsrv_commit","description":"Commits a transaction that was begun with sqlsrv_begin_transaction","tag":"refentry","type":"Function","methodName":"sqlsrv_commit"},{"id":"function.sqlsrv-configure","name":"sqlsrv_configure","description":"Changes the driver error handling and logging configurations","tag":"refentry","type":"Function","methodName":"sqlsrv_configure"},{"id":"function.sqlsrv-connect","name":"sqlsrv_connect","description":"Opens a connection to a Microsoft SQL Server database","tag":"refentry","type":"Function","methodName":"sqlsrv_connect"},{"id":"function.sqlsrv-errors","name":"sqlsrv_errors","description":"Returns error and warning information about the last SQLSRV operation performed","tag":"refentry","type":"Function","methodName":"sqlsrv_errors"},{"id":"function.sqlsrv-execute","name":"sqlsrv_execute","description":"Executes a statement prepared with sqlsrv_prepare","tag":"refentry","type":"Function","methodName":"sqlsrv_execute"},{"id":"function.sqlsrv-fetch","name":"sqlsrv_fetch","description":"Makes the next row in a result set available for reading","tag":"refentry","type":"Function","methodName":"sqlsrv_fetch"},{"id":"function.sqlsrv-fetch-array","name":"sqlsrv_fetch_array","description":"Returns a row as an array","tag":"refentry","type":"Function","methodName":"sqlsrv_fetch_array"},{"id":"function.sqlsrv-fetch-object","name":"sqlsrv_fetch_object","description":"Retrieves the next row of data in a result set as an object","tag":"refentry","type":"Function","methodName":"sqlsrv_fetch_object"},{"id":"function.sqlsrv-field-metadata","name":"sqlsrv_field_metadata","description":"Retrieves metadata for the fields of a statement prepared by \n sqlsrv_prepare or sqlsrv_query","tag":"refentry","type":"Function","methodName":"sqlsrv_field_metadata"},{"id":"function.sqlsrv-free-stmt","name":"sqlsrv_free_stmt","description":"Frees all resources for the specified statement","tag":"refentry","type":"Function","methodName":"sqlsrv_free_stmt"},{"id":"function.sqlsrv-get-config","name":"sqlsrv_get_config","description":"Returns the value of the specified configuration setting","tag":"refentry","type":"Function","methodName":"sqlsrv_get_config"},{"id":"function.sqlsrv-get-field","name":"sqlsrv_get_field","description":"Gets field data from the currently selected row","tag":"refentry","type":"Function","methodName":"sqlsrv_get_field"},{"id":"function.sqlsrv-has-rows","name":"sqlsrv_has_rows","description":"Indicates whether the specified statement has rows","tag":"refentry","type":"Function","methodName":"sqlsrv_has_rows"},{"id":"function.sqlsrv-next-result","name":"sqlsrv_next_result","description":"Makes the next result of the specified statement active","tag":"refentry","type":"Function","methodName":"sqlsrv_next_result"},{"id":"function.sqlsrv-num-fields","name":"sqlsrv_num_fields","description":"Retrieves the number of fields (columns) on a statement","tag":"refentry","type":"Function","methodName":"sqlsrv_num_fields"},{"id":"function.sqlsrv-num-rows","name":"sqlsrv_num_rows","description":"Retrieves the number of rows in a result set","tag":"refentry","type":"Function","methodName":"sqlsrv_num_rows"},{"id":"function.sqlsrv-prepare","name":"sqlsrv_prepare","description":"Prepares a query for execution","tag":"refentry","type":"Function","methodName":"sqlsrv_prepare"},{"id":"function.sqlsrv-query","name":"sqlsrv_query","description":"Prepares and executes a query","tag":"refentry","type":"Function","methodName":"sqlsrv_query"},{"id":"function.sqlsrv-rollback","name":"sqlsrv_rollback","description":"Rolls back a transaction that was begun with \n sqlsrv_begin_transaction","tag":"refentry","type":"Function","methodName":"sqlsrv_rollback"},{"id":"function.sqlsrv-rows-affected","name":"sqlsrv_rows_affected","description":"Returns the number of rows modified by the last INSERT, UPDATE, or \n DELETE query executed","tag":"refentry","type":"Function","methodName":"sqlsrv_rows_affected"},{"id":"function.sqlsrv-send-stream-data","name":"sqlsrv_send_stream_data","description":"Sends data from parameter streams to the server","tag":"refentry","type":"Function","methodName":"sqlsrv_send_stream_data"},{"id":"function.sqlsrv-server-info","name":"sqlsrv_server_info","description":"Returns information about the server","tag":"refentry","type":"Function","methodName":"sqlsrv_server_info"},{"id":"ref.sqlsrv","name":"SQLSRV Functions","description":"Microsoft SQL Server Driver for PHP","tag":"reference","type":"Extension","methodName":"SQLSRV Functions"},{"id":"book.sqlsrv","name":"SQLSRV","description":"Microsoft SQL Server Driver for PHP","tag":"book","type":"Extension","methodName":"SQLSRV"},{"id":"refs.database.vendors","name":"Vendor Specific Database Extensions","description":"Database Extensions","tag":"set","type":"Extension","methodName":"Vendor Specific Database Extensions"},{"id":"refs.database","name":"Database Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Database Extensions"},{"id":"intro.calendar","name":"Introduction","description":"Calendar","tag":"preface","type":"General","methodName":"Introduction"},{"id":"calendar.installation","name":"Installation","description":"Calendar","tag":"section","type":"General","methodName":"Installation"},{"id":"calendar.setup","name":"Installing\/Configuring","description":"Calendar","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"calendar.constants","name":"Predefined Constants","description":"Calendar","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.cal-days-in-month","name":"cal_days_in_month","description":"Return the number of days in a month for a given year and calendar","tag":"refentry","type":"Function","methodName":"cal_days_in_month"},{"id":"function.cal-from-jd","name":"cal_from_jd","description":"Converts from Julian Day Count to a supported calendar","tag":"refentry","type":"Function","methodName":"cal_from_jd"},{"id":"function.cal-info","name":"cal_info","description":"Returns information about a particular calendar","tag":"refentry","type":"Function","methodName":"cal_info"},{"id":"function.cal-to-jd","name":"cal_to_jd","description":"Converts from a supported calendar to Julian Day Count","tag":"refentry","type":"Function","methodName":"cal_to_jd"},{"id":"function.easter-date","name":"easter_date","description":"Get Unix timestamp for local midnight on Easter of a given year","tag":"refentry","type":"Function","methodName":"easter_date"},{"id":"function.easter-days","name":"easter_days","description":"Get number of days after March 21 on which Easter falls for a given year","tag":"refentry","type":"Function","methodName":"easter_days"},{"id":"function.frenchtojd","name":"frenchtojd","description":"Converts a date from the French Republican Calendar to a Julian Day Count","tag":"refentry","type":"Function","methodName":"frenchtojd"},{"id":"function.gregoriantojd","name":"gregoriantojd","description":"Converts a Gregorian date to Julian Day Count","tag":"refentry","type":"Function","methodName":"gregoriantojd"},{"id":"function.jddayofweek","name":"jddayofweek","description":"Returns the day of the week","tag":"refentry","type":"Function","methodName":"jddayofweek"},{"id":"function.jdmonthname","name":"jdmonthname","description":"Returns a month name","tag":"refentry","type":"Function","methodName":"jdmonthname"},{"id":"function.jdtofrench","name":"jdtofrench","description":"Converts a Julian Day Count to the French Republican Calendar","tag":"refentry","type":"Function","methodName":"jdtofrench"},{"id":"function.jdtogregorian","name":"jdtogregorian","description":"Converts Julian Day Count to Gregorian date","tag":"refentry","type":"Function","methodName":"jdtogregorian"},{"id":"function.jdtojewish","name":"jdtojewish","description":"Converts a Julian day count to a Jewish calendar date","tag":"refentry","type":"Function","methodName":"jdtojewish"},{"id":"function.jdtojulian","name":"jdtojulian","description":"Converts a Julian Day Count to a Julian Calendar Date","tag":"refentry","type":"Function","methodName":"jdtojulian"},{"id":"function.jdtounix","name":"jdtounix","description":"Convert Julian Day to Unix timestamp","tag":"refentry","type":"Function","methodName":"jdtounix"},{"id":"function.jewishtojd","name":"jewishtojd","description":"Converts a date in the Jewish Calendar to Julian Day Count","tag":"refentry","type":"Function","methodName":"jewishtojd"},{"id":"function.juliantojd","name":"juliantojd","description":"Converts a Julian Calendar date to Julian Day Count","tag":"refentry","type":"Function","methodName":"juliantojd"},{"id":"function.unixtojd","name":"unixtojd","description":"Convert Unix timestamp to Julian Day","tag":"refentry","type":"Function","methodName":"unixtojd"},{"id":"ref.calendar","name":"Calendar Functions","description":"Calendar","tag":"reference","type":"Extension","methodName":"Calendar Functions"},{"id":"book.calendar","name":"Calendar","description":"Date and Time Related Extensions","tag":"book","type":"Extension","methodName":"Calendar"},{"id":"intro.datetime","name":"Introduction","description":"Date and Time","tag":"preface","type":"General","methodName":"Introduction"},{"id":"datetime.installation","name":"Installation","description":"Date and Time","tag":"section","type":"General","methodName":"Installation"},{"id":"datetime.configuration","name":"Runtime Configuration","description":"Date and Time","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"datetime.setup","name":"Installing\/Configuring","description":"Date and Time","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"datetime.constants","name":"Predefined Constants","description":"Date and Time","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"datetime.examples-arithmetic","name":"Date\/Time Arithmetic","description":"Date and Time","tag":"section","type":"General","methodName":"Date\/Time Arithmetic"},{"id":"datetime.examples","name":"Examples","description":"Date and Time","tag":"chapter","type":"General","methodName":"Examples"},{"id":"datetime.add","name":"date_add","description":"Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds","tag":"refentry","type":"Function","methodName":"date_add"},{"id":"datetime.add","name":"DateTime::add","description":"Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds","tag":"refentry","type":"Function","methodName":"add"},{"id":"datetime.construct","name":"DateTime::__construct","description":"Returns new DateTime object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"datetime.createfromformat","name":"date_create_from_format","description":"Parses a time string according to a specified format","tag":"refentry","type":"Function","methodName":"date_create_from_format"},{"id":"datetime.createfromformat","name":"DateTime::createFromFormat","description":"Parses a time string according to a specified format","tag":"refentry","type":"Function","methodName":"createFromFormat"},{"id":"datetime.createfromimmutable","name":"DateTime::createFromImmutable","description":"Returns new DateTime instance encapsulating the given DateTimeImmutable object","tag":"refentry","type":"Function","methodName":"createFromImmutable"},{"id":"datetime.createfrominterface","name":"DateTime::createFromInterface","description":"Returns new DateTime object encapsulating the given DateTimeInterface object","tag":"refentry","type":"Function","methodName":"createFromInterface"},{"id":"datetime.getlasterrors","name":"DateTime::getLastErrors","description":"Alias of DateTimeImmutable::getLastErrors","tag":"refentry","type":"Function","methodName":"getLastErrors"},{"id":"datetime.modify","name":"date_modify","description":"Alters the timestamp","tag":"refentry","type":"Function","methodName":"date_modify"},{"id":"datetime.modify","name":"DateTime::modify","description":"Alters the timestamp","tag":"refentry","type":"Function","methodName":"modify"},{"id":"datetime.set-state","name":"DateTime::__set_state","description":"The __set_state handler","tag":"refentry","type":"Function","methodName":"__set_state"},{"id":"datetime.setdate","name":"date_date_set","description":"Sets the date","tag":"refentry","type":"Function","methodName":"date_date_set"},{"id":"datetime.setdate","name":"DateTime::setDate","description":"Sets the date","tag":"refentry","type":"Function","methodName":"setDate"},{"id":"datetime.setisodate","name":"date_isodate_set","description":"Sets the ISO date","tag":"refentry","type":"Function","methodName":"date_isodate_set"},{"id":"datetime.setisodate","name":"DateTime::setISODate","description":"Sets the ISO date","tag":"refentry","type":"Function","methodName":"setISODate"},{"id":"datetime.settime","name":"date_time_set","description":"Sets the time","tag":"refentry","type":"Function","methodName":"date_time_set"},{"id":"datetime.settime","name":"DateTime::setTime","description":"Sets the time","tag":"refentry","type":"Function","methodName":"setTime"},{"id":"datetime.settimestamp","name":"date_timestamp_set","description":"Sets the date and time based on an Unix timestamp","tag":"refentry","type":"Function","methodName":"date_timestamp_set"},{"id":"datetime.settimestamp","name":"DateTime::setTimestamp","description":"Sets the date and time based on an Unix timestamp","tag":"refentry","type":"Function","methodName":"setTimestamp"},{"id":"datetime.settimezone","name":"date_timezone_set","description":"Sets the time zone for the DateTime object","tag":"refentry","type":"Function","methodName":"date_timezone_set"},{"id":"datetime.settimezone","name":"DateTime::setTimezone","description":"Sets the time zone for the DateTime object","tag":"refentry","type":"Function","methodName":"setTimezone"},{"id":"datetime.sub","name":"date_sub","description":"Subtracts an amount of days, months, years, hours, minutes and seconds from\n a DateTime object","tag":"refentry","type":"Function","methodName":"date_sub"},{"id":"datetime.sub","name":"DateTime::sub","description":"Subtracts an amount of days, months, years, hours, minutes and seconds from\n a DateTime object","tag":"refentry","type":"Function","methodName":"sub"},{"id":"class.datetime","name":"DateTime","description":"The DateTime class","tag":"phpdoc:classref","type":"Class","methodName":"DateTime"},{"id":"datetimeimmutable.add","name":"DateTimeImmutable::add","description":"Returns a new object, with added amount of days, months, years, hours, minutes and seconds","tag":"refentry","type":"Function","methodName":"add"},{"id":"datetimeimmutable.construct","name":"date_create_immutable","description":"Returns new DateTimeImmutable object","tag":"refentry","type":"Function","methodName":"date_create_immutable"},{"id":"datetimeimmutable.construct","name":"DateTimeImmutable::__construct","description":"Returns new DateTimeImmutable object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"datetimeimmutable.createfromformat","name":"date_create_immutable_from_format","description":"Parses a time string according to a specified format","tag":"refentry","type":"Function","methodName":"date_create_immutable_from_format"},{"id":"datetimeimmutable.createfromformat","name":"DateTimeImmutable::createFromFormat","description":"Parses a time string according to a specified format","tag":"refentry","type":"Function","methodName":"createFromFormat"},{"id":"datetimeimmutable.createfrominterface","name":"DateTimeImmutable::createFromInterface","description":"Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object","tag":"refentry","type":"Function","methodName":"createFromInterface"},{"id":"datetimeimmutable.createfrommutable","name":"DateTimeImmutable::createFromMutable","description":"Returns new DateTimeImmutable instance encapsulating the given DateTime object","tag":"refentry","type":"Function","methodName":"createFromMutable"},{"id":"datetimeimmutable.getlasterrors","name":"DateTimeImmutable::getLastErrors","description":"Returns the warnings and errors","tag":"refentry","type":"Function","methodName":"getLastErrors"},{"id":"datetimeimmutable.modify","name":"DateTimeImmutable::modify","description":"Creates a new object with modified timestamp","tag":"refentry","type":"Function","methodName":"modify"},{"id":"datetimeimmutable.set-state","name":"DateTimeImmutable::__set_state","description":"The __set_state handler","tag":"refentry","type":"Function","methodName":"__set_state"},{"id":"datetimeimmutable.setdate","name":"DateTimeImmutable::setDate","description":"Sets the date","tag":"refentry","type":"Function","methodName":"setDate"},{"id":"datetimeimmutable.setisodate","name":"DateTimeImmutable::setISODate","description":"Sets the ISO date","tag":"refentry","type":"Function","methodName":"setISODate"},{"id":"datetimeimmutable.settime","name":"DateTimeImmutable::setTime","description":"Sets the time","tag":"refentry","type":"Function","methodName":"setTime"},{"id":"datetimeimmutable.settimestamp","name":"DateTimeImmutable::setTimestamp","description":"Sets the date and time based on a Unix timestamp","tag":"refentry","type":"Function","methodName":"setTimestamp"},{"id":"datetimeimmutable.settimezone","name":"DateTimeImmutable::setTimezone","description":"Sets the time zone","tag":"refentry","type":"Function","methodName":"setTimezone"},{"id":"datetimeimmutable.sub","name":"DateTimeImmutable::sub","description":"Subtracts an amount of days, months, years, hours, minutes and seconds","tag":"refentry","type":"Function","methodName":"sub"},{"id":"class.datetimeimmutable","name":"DateTimeImmutable","description":"The DateTimeImmutable class","tag":"phpdoc:classref","type":"Class","methodName":"DateTimeImmutable"},{"id":"datetime.diff","name":"date_diff","description":"Returns the difference between two DateTime objects","tag":"refentry","type":"Function","methodName":"date_diff"},{"id":"datetime.diff","name":"DateTime::diff","description":"Returns the difference between two DateTime objects","tag":"refentry","type":"Function","methodName":"diff"},{"id":"datetime.diff","name":"DateTimeImmutable::diff","description":"Returns the difference between two DateTime objects","tag":"refentry","type":"Function","methodName":"diff"},{"id":"datetime.diff","name":"DateTimeInterface::diff","description":"Returns the difference between two DateTime objects","tag":"refentry","type":"Function","methodName":"diff"},{"id":"datetime.format","name":"date_format","description":"Returns date formatted according to given format","tag":"refentry","type":"Function","methodName":"date_format"},{"id":"datetime.format","name":"DateTime::format","description":"Returns date formatted according to given format","tag":"refentry","type":"Function","methodName":"format"},{"id":"datetime.format","name":"DateTimeImmutable::format","description":"Returns date formatted according to given format","tag":"refentry","type":"Function","methodName":"format"},{"id":"datetime.format","name":"DateTimeInterface::format","description":"Returns date formatted according to given format","tag":"refentry","type":"Function","methodName":"format"},{"id":"datetime.getoffset","name":"date_offset_get","description":"Returns the timezone offset","tag":"refentry","type":"Function","methodName":"date_offset_get"},{"id":"datetime.getoffset","name":"DateTime::getOffset","description":"Returns the timezone offset","tag":"refentry","type":"Function","methodName":"getOffset"},{"id":"datetime.getoffset","name":"DateTimeImmutable::getOffset","description":"Returns the timezone offset","tag":"refentry","type":"Function","methodName":"getOffset"},{"id":"datetime.getoffset","name":"DateTimeInterface::getOffset","description":"Returns the timezone offset","tag":"refentry","type":"Function","methodName":"getOffset"},{"id":"datetime.gettimestamp","name":"date_timestamp_get","description":"Gets the Unix timestamp","tag":"refentry","type":"Function","methodName":"date_timestamp_get"},{"id":"datetime.gettimestamp","name":"DateTime::getTimestamp","description":"Gets the Unix timestamp","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"datetime.gettimestamp","name":"DateTimeImmutable::getTimestamp","description":"Gets the Unix timestamp","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"datetime.gettimestamp","name":"DateTimeInterface::getTimestamp","description":"Gets the Unix timestamp","tag":"refentry","type":"Function","methodName":"getTimestamp"},{"id":"datetime.gettimezone","name":"date_timezone_get","description":"Return time zone relative to given DateTime","tag":"refentry","type":"Function","methodName":"date_timezone_get"},{"id":"datetime.gettimezone","name":"DateTime::getTimezone","description":"Return time zone relative to given DateTime","tag":"refentry","type":"Function","methodName":"getTimezone"},{"id":"datetime.gettimezone","name":"DateTimeImmutable::getTimezone","description":"Return time zone relative to given DateTime","tag":"refentry","type":"Function","methodName":"getTimezone"},{"id":"datetime.gettimezone","name":"DateTimeInterface::getTimezone","description":"Return time zone relative to given DateTime","tag":"refentry","type":"Function","methodName":"getTimezone"},{"id":"datetime.serialize","name":"DateTimeInterface::__serialize","description":"Serialize a DateTime","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"datetime.serialize","name":"DateTimeImmutable::__serialize","description":"Serialize a DateTime","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"datetime.serialize","name":"DateTime::__serialize","description":"Serialize a DateTime","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"datetime.unserialize","name":"DateTimeInterface::__unserialize","description":"Unserialize an Datetime","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"datetime.unserialize","name":"DateTimeImmutable::__unserialize","description":"Unserialize an Datetime","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"datetime.unserialize","name":"DateTime::__unserialize","description":"Unserialize an Datetime","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"datetime.wakeup","name":"DateTimeInterface::__wakeup","description":"The __wakeup handler","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"datetime.wakeup","name":"DateTimeImmutable::__wakeup","description":"The __wakeup handler","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"datetime.wakeup","name":"DateTime::__wakeup","description":"The __wakeup handler","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"class.datetimeinterface","name":"DateTimeInterface","description":"The DateTimeInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"DateTimeInterface"},{"id":"datetimezone.construct","name":"timezone_open","description":"Creates new DateTimeZone object","tag":"refentry","type":"Function","methodName":"timezone_open"},{"id":"datetimezone.construct","name":"DateTimeZone::__construct","description":"Creates new DateTimeZone object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"datetimezone.getlocation","name":"timezone_location_get","description":"Returns location information for a timezone","tag":"refentry","type":"Function","methodName":"timezone_location_get"},{"id":"datetimezone.getlocation","name":"DateTimeZone::getLocation","description":"Returns location information for a timezone","tag":"refentry","type":"Function","methodName":"getLocation"},{"id":"datetimezone.getname","name":"timezone_name_get","description":"Returns the name of the timezone","tag":"refentry","type":"Function","methodName":"timezone_name_get"},{"id":"datetimezone.getname","name":"DateTimeZone::getName","description":"Returns the name of the timezone","tag":"refentry","type":"Function","methodName":"getName"},{"id":"datetimezone.getoffset","name":"timezone_offset_get","description":"Returns the timezone offset from GMT","tag":"refentry","type":"Function","methodName":"timezone_offset_get"},{"id":"datetimezone.getoffset","name":"DateTimeZone::getOffset","description":"Returns the timezone offset from GMT","tag":"refentry","type":"Function","methodName":"getOffset"},{"id":"datetimezone.gettransitions","name":"timezone_transitions_get","description":"Returns all transitions for the timezone","tag":"refentry","type":"Function","methodName":"timezone_transitions_get"},{"id":"datetimezone.gettransitions","name":"DateTimeZone::getTransitions","description":"Returns all transitions for the timezone","tag":"refentry","type":"Function","methodName":"getTransitions"},{"id":"datetimezone.listabbreviations","name":"timezone_abbreviations_list","description":"Returns associative array containing dst, offset and the timezone name","tag":"refentry","type":"Function","methodName":"timezone_abbreviations_list"},{"id":"datetimezone.listabbreviations","name":"DateTimeZone::listAbbreviations","description":"Returns associative array containing dst, offset and the timezone name","tag":"refentry","type":"Function","methodName":"listAbbreviations"},{"id":"datetimezone.listidentifiers","name":"timezone_identifiers_list","description":"Returns a numerically indexed array containing all defined timezone identifiers","tag":"refentry","type":"Function","methodName":"timezone_identifiers_list"},{"id":"datetimezone.listidentifiers","name":"DateTimeZone::listIdentifiers","description":"Returns a numerically indexed array containing all defined timezone identifiers","tag":"refentry","type":"Function","methodName":"listIdentifiers"},{"id":"class.datetimezone","name":"DateTimeZone","description":"The DateTimeZone class","tag":"phpdoc:classref","type":"Class","methodName":"DateTimeZone"},{"id":"dateinterval.construct","name":"DateInterval::__construct","description":"Creates a new DateInterval object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"dateinterval.createfromdatestring","name":"DateInterval::createFromDateString","description":"Sets up a DateInterval from the relative parts of the string","tag":"refentry","type":"Function","methodName":"createFromDateString"},{"id":"dateinterval.format","name":"DateInterval::format","description":"Formats the interval","tag":"refentry","type":"Function","methodName":"format"},{"id":"class.dateinterval","name":"DateInterval","description":"The DateInterval class","tag":"phpdoc:classref","type":"Class","methodName":"DateInterval"},{"id":"dateperiod.construct","name":"DatePeriod::__construct","description":"Creates a new DatePeriod object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"dateperiod.createfromiso8601string","name":"DatePeriod::createFromISO8601String","description":"Creates a new DatePeriod object from an ISO8601 string","tag":"refentry","type":"Function","methodName":"createFromISO8601String"},{"id":"dateperiod.getdateinterval","name":"DatePeriod::getDateInterval","description":"Gets the interval","tag":"refentry","type":"Function","methodName":"getDateInterval"},{"id":"dateperiod.getenddate","name":"DatePeriod::getEndDate","description":"Gets the end date","tag":"refentry","type":"Function","methodName":"getEndDate"},{"id":"dateperiod.getrecurrences","name":"DatePeriod::getRecurrences","description":"Gets the number of recurrences","tag":"refentry","type":"Function","methodName":"getRecurrences"},{"id":"dateperiod.getstartdate","name":"DatePeriod::getStartDate","description":"Gets the start date","tag":"refentry","type":"Function","methodName":"getStartDate"},{"id":"class.dateperiod","name":"DatePeriod","description":"The DatePeriod class","tag":"phpdoc:classref","type":"Class","methodName":"DatePeriod"},{"id":"function.checkdate","name":"checkdate","description":"Validate a Gregorian date","tag":"refentry","type":"Function","methodName":"checkdate"},{"id":"function.date","name":"date","description":"Format a Unix timestamp","tag":"refentry","type":"Function","methodName":"date"},{"id":"function.date-add","name":"date_add","description":"Alias of DateTime::add","tag":"refentry","type":"Function","methodName":"date_add"},{"id":"function.date-create","name":"date_create","description":"create a new DateTime object","tag":"refentry","type":"Function","methodName":"date_create"},{"id":"function.date-create-from-format","name":"date_create_from_format","description":"Alias of DateTime::createFromFormat","tag":"refentry","type":"Function","methodName":"date_create_from_format"},{"id":"function.date-create-immutable","name":"date_create_immutable","description":"create a new DateTimeImmutable object","tag":"refentry","type":"Function","methodName":"date_create_immutable"},{"id":"function.date-create-immutable-from-format","name":"date_create_immutable_from_format","description":"Alias of DateTimeImmutable::createFromFormat","tag":"refentry","type":"Function","methodName":"date_create_immutable_from_format"},{"id":"function.date-date-set","name":"date_date_set","description":"Alias of DateTime::setDate","tag":"refentry","type":"Function","methodName":"date_date_set"},{"id":"function.date-default-timezone-get","name":"date_default_timezone_get","description":"Gets the default timezone used by all date\/time functions in a script","tag":"refentry","type":"Function","methodName":"date_default_timezone_get"},{"id":"function.date-default-timezone-set","name":"date_default_timezone_set","description":"Sets the default timezone used by all date\/time functions in a script","tag":"refentry","type":"Function","methodName":"date_default_timezone_set"},{"id":"function.date-diff","name":"date_diff","description":"Alias of DateTime::diff","tag":"refentry","type":"Function","methodName":"date_diff"},{"id":"function.date-format","name":"date_format","description":"Alias of DateTime::format","tag":"refentry","type":"Function","methodName":"date_format"},{"id":"function.date-get-last-errors","name":"date_get_last_errors","description":"Alias of DateTimeImmutable::getLastErrors","tag":"refentry","type":"Function","methodName":"date_get_last_errors"},{"id":"function.date-interval-create-from-date-string","name":"date_interval_create_from_date_string","description":"Alias of DateInterval::createFromDateString","tag":"refentry","type":"Function","methodName":"date_interval_create_from_date_string"},{"id":"function.date-interval-format","name":"date_interval_format","description":"Alias of DateInterval::format","tag":"refentry","type":"Function","methodName":"date_interval_format"},{"id":"function.date-isodate-set","name":"date_isodate_set","description":"Alias of DateTime::setISODate","tag":"refentry","type":"Function","methodName":"date_isodate_set"},{"id":"function.date-modify","name":"date_modify","description":"Alias of DateTime::modify","tag":"refentry","type":"Function","methodName":"date_modify"},{"id":"function.date-offset-get","name":"date_offset_get","description":"Alias of DateTime::getOffset","tag":"refentry","type":"Function","methodName":"date_offset_get"},{"id":"function.date-parse","name":"date_parse","description":"Returns associative array with detailed info about given date\/time","tag":"refentry","type":"Function","methodName":"date_parse"},{"id":"function.date-parse-from-format","name":"date_parse_from_format","description":"Get info about given date formatted according to the specified format","tag":"refentry","type":"Function","methodName":"date_parse_from_format"},{"id":"function.date-sub","name":"date_sub","description":"Alias of DateTime::sub","tag":"refentry","type":"Function","methodName":"date_sub"},{"id":"function.date-sun-info","name":"date_sun_info","description":"Returns an array with information about sunset\/sunrise and twilight begin\/end","tag":"refentry","type":"Function","methodName":"date_sun_info"},{"id":"function.date-sunrise","name":"date_sunrise","description":"Returns time of sunrise for a given day and location","tag":"refentry","type":"Function","methodName":"date_sunrise"},{"id":"function.date-sunset","name":"date_sunset","description":"Returns time of sunset for a given day and location","tag":"refentry","type":"Function","methodName":"date_sunset"},{"id":"function.date-time-set","name":"date_time_set","description":"Alias of DateTime::setTime","tag":"refentry","type":"Function","methodName":"date_time_set"},{"id":"function.date-timestamp-get","name":"date_timestamp_get","description":"Alias of DateTime::getTimestamp","tag":"refentry","type":"Function","methodName":"date_timestamp_get"},{"id":"function.date-timestamp-set","name":"date_timestamp_set","description":"Alias of DateTime::setTimestamp","tag":"refentry","type":"Function","methodName":"date_timestamp_set"},{"id":"function.date-timezone-get","name":"date_timezone_get","description":"Alias of DateTime::getTimezone","tag":"refentry","type":"Function","methodName":"date_timezone_get"},{"id":"function.date-timezone-set","name":"date_timezone_set","description":"Alias of DateTime::setTimezone","tag":"refentry","type":"Function","methodName":"date_timezone_set"},{"id":"function.getdate","name":"getdate","description":"Get date\/time information","tag":"refentry","type":"Function","methodName":"getdate"},{"id":"function.gettimeofday","name":"gettimeofday","description":"Get current time","tag":"refentry","type":"Function","methodName":"gettimeofday"},{"id":"function.gmdate","name":"gmdate","description":"Format a GMT\/UTC date\/time","tag":"refentry","type":"Function","methodName":"gmdate"},{"id":"function.gmmktime","name":"gmmktime","description":"Get Unix timestamp for a GMT date","tag":"refentry","type":"Function","methodName":"gmmktime"},{"id":"function.gmstrftime","name":"gmstrftime","description":"Format a GMT\/UTC time\/date according to locale settings","tag":"refentry","type":"Function","methodName":"gmstrftime"},{"id":"function.idate","name":"idate","description":"Format a local time\/date part as integer","tag":"refentry","type":"Function","methodName":"idate"},{"id":"function.localtime","name":"localtime","description":"Get the local time","tag":"refentry","type":"Function","methodName":"localtime"},{"id":"function.microtime","name":"microtime","description":"Return current Unix timestamp with microseconds","tag":"refentry","type":"Function","methodName":"microtime"},{"id":"function.mktime","name":"mktime","description":"Get Unix timestamp for a date","tag":"refentry","type":"Function","methodName":"mktime"},{"id":"function.strftime","name":"strftime","description":"Format a local time\/date according to locale settings","tag":"refentry","type":"Function","methodName":"strftime"},{"id":"function.strptime","name":"strptime","description":"Parse a time\/date generated with strftime","tag":"refentry","type":"Function","methodName":"strptime"},{"id":"function.strtotime","name":"strtotime","description":"Parse about any English textual datetime description into a Unix timestamp","tag":"refentry","type":"Function","methodName":"strtotime"},{"id":"function.time","name":"time","description":"Return current Unix timestamp","tag":"refentry","type":"Function","methodName":"time"},{"id":"function.timezone-abbreviations-list","name":"timezone_abbreviations_list","description":"Alias of DateTimeZone::listAbbreviations","tag":"refentry","type":"Function","methodName":"timezone_abbreviations_list"},{"id":"function.timezone-identifiers-list","name":"timezone_identifiers_list","description":"Alias of DateTimeZone::listIdentifiers","tag":"refentry","type":"Function","methodName":"timezone_identifiers_list"},{"id":"function.timezone-location-get","name":"timezone_location_get","description":"Alias of DateTimeZone::getLocation","tag":"refentry","type":"Function","methodName":"timezone_location_get"},{"id":"function.timezone-name-from-abbr","name":"timezone_name_from_abbr","description":"Returns a timezone name by guessing from abbreviation and UTC offset","tag":"refentry","type":"Function","methodName":"timezone_name_from_abbr"},{"id":"function.timezone-name-get","name":"timezone_name_get","description":"Alias of DateTimeZone::getName","tag":"refentry","type":"Function","methodName":"timezone_name_get"},{"id":"function.timezone-offset-get","name":"timezone_offset_get","description":"Alias of DateTimeZone::getOffset","tag":"refentry","type":"Function","methodName":"timezone_offset_get"},{"id":"function.timezone-open","name":"timezone_open","description":"Alias of DateTimeZone::__construct","tag":"refentry","type":"Function","methodName":"timezone_open"},{"id":"function.timezone-transitions-get","name":"timezone_transitions_get","description":"Alias of DateTimeZone::getTransitions","tag":"refentry","type":"Function","methodName":"timezone_transitions_get"},{"id":"function.timezone-version-get","name":"timezone_version_get","description":"Gets the version of the timezonedb","tag":"refentry","type":"Function","methodName":"timezone_version_get"},{"id":"ref.datetime","name":"Date\/Time Functions","description":"Date and Time","tag":"reference","type":"Extension","methodName":"Date\/Time Functions"},{"id":"datetime.error.tree","name":"Date\/Time Errors and Exceptions","description":"Date and Time","tag":"article","type":"General","methodName":"Date\/Time Errors and Exceptions"},{"id":"datetime.formats","name":"Supported Date and Time Formats","description":"Date and Time","tag":"chapter","type":"General","methodName":"Supported Date and Time Formats"},{"id":"timezones.africa","name":"Africa","description":"Date and Time","tag":"sect1","type":"General","methodName":"Africa"},{"id":"timezones.america","name":"America","description":"Date and Time","tag":"sect1","type":"General","methodName":"America"},{"id":"timezones.antarctica","name":"Antarctica","description":"Date and Time","tag":"sect1","type":"General","methodName":"Antarctica"},{"id":"timezones.arctic","name":"Arctic","description":"Date and Time","tag":"sect1","type":"General","methodName":"Arctic"},{"id":"timezones.asia","name":"Asia","description":"Date and Time","tag":"sect1","type":"General","methodName":"Asia"},{"id":"timezones.atlantic","name":"Atlantic","description":"Date and Time","tag":"sect1","type":"General","methodName":"Atlantic"},{"id":"timezones.australia","name":"Australia","description":"Date and Time","tag":"sect1","type":"General","methodName":"Australia"},{"id":"timezones.europe","name":"Europe","description":"Date and Time","tag":"sect1","type":"General","methodName":"Europe"},{"id":"timezones.indian","name":"Indian","description":"Date and Time","tag":"sect1","type":"General","methodName":"Indian"},{"id":"timezones.pacific","name":"Pacific","description":"Date and Time","tag":"sect1","type":"General","methodName":"Pacific"},{"id":"timezones.others","name":"Others","description":"Date and Time","tag":"sect1","type":"General","methodName":"Others"},{"id":"timezones","name":"List of Supported Timezones","description":"Date and Time","tag":"appendix","type":"General","methodName":"List of Supported Timezones"},{"id":"class.dateerror","name":"DateError","description":"The DateError class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateError"},{"id":"class.dateobjecterror","name":"DateObjectError","description":"The DateObjectError class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateObjectError"},{"id":"class.daterangeerror","name":"DateRangeError","description":"The DateRangeError class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateRangeError"},{"id":"class.dateexception","name":"DateException","description":"The DateException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateException"},{"id":"class.dateinvalidoperationexception","name":"DateInvalidOperationException","description":"The DateInvalidOperationException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateInvalidOperationException"},{"id":"class.dateinvalidtimezoneexception","name":"DateInvalidTimeZoneException","description":"The DateInvalidTimeZoneException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateInvalidTimeZoneException"},{"id":"class.datemalformedintervalstringexception","name":"DateMalformedIntervalStringException","description":"The DateMalformedIntervalStringException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateMalformedIntervalStringException"},{"id":"class.datemalformedperiodstringexception","name":"DateMalformedPeriodStringException","description":"The DateMalformedPeriodStringException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateMalformedPeriodStringException"},{"id":"class.datemalformedstringexception","name":"DateMalformedStringException","description":"The DateMalformedStringException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DateMalformedStringException"},{"id":"book.datetime","name":"Date\/Time","description":"Date and Time","tag":"book","type":"Extension","methodName":"Date\/Time"},{"id":"intro.hrtime","name":"Introduction","description":"High resolution timing","tag":"preface","type":"General","methodName":"Introduction"},{"id":"hrtime.installation","name":"Installation","description":"High resolution timing","tag":"section","type":"General","methodName":"Installation"},{"id":"hrtime.setup","name":"Installing\/Configuring","description":"High resolution timing","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"hrtime.example.basic","name":"Basic usage","description":"High resolution timing","tag":"section","type":"General","methodName":"Basic usage"},{"id":"hrtime.examples","name":"Examples","description":"High resolution timing","tag":"chapter","type":"General","methodName":"Examples"},{"id":"hrtime-performancecounter.getfrequency","name":"HRTime\\PerformanceCounter::getFrequency","description":"Timer frequency in ticks per second","tag":"refentry","type":"Function","methodName":"getFrequency"},{"id":"hrtime-performancecounter.getticks","name":"HRTime\\PerformanceCounter::getTicks","description":"Current ticks from the system","tag":"refentry","type":"Function","methodName":"getTicks"},{"id":"hrtime-performancecounter.gettickssince","name":"HRTime\\PerformanceCounter::getTicksSince","description":"Ticks elapsed since the given value","tag":"refentry","type":"Function","methodName":"getTicksSince"},{"id":"class.hrtime-performancecounter","name":"HRTime\\PerformanceCounter","description":"The HRTime\\PerformanceCounter class","tag":"phpdoc:classref","type":"Class","methodName":"HRTime\\PerformanceCounter"},{"id":"hrtime-stopwatch.getelapsedticks","name":"HRTime\\StopWatch::getElapsedTicks","description":"Get elapsed ticks for all intervals","tag":"refentry","type":"Function","methodName":"getElapsedTicks"},{"id":"hrtime-stopwatch.getelapsedtime","name":"HRTime\\StopWatch::getElapsedTime","description":"Get elapsed time for all intervals","tag":"refentry","type":"Function","methodName":"getElapsedTime"},{"id":"hrtime-stopwatch.getlastelapsedticks","name":"HRTime\\StopWatch::getLastElapsedTicks","description":"Get elapsed ticks for the last interval","tag":"refentry","type":"Function","methodName":"getLastElapsedTicks"},{"id":"hrtime-stopwatch.getlastelapsedtime","name":"HRTime\\StopWatch::getLastElapsedTime","description":"Get elapsed time for the last interval","tag":"refentry","type":"Function","methodName":"getLastElapsedTime"},{"id":"hrtime-stopwatch.isrunning","name":"HRTime\\StopWatch::isRunning","description":"Whether the measurement is running","tag":"refentry","type":"Function","methodName":"isRunning"},{"id":"hrtime-stopwatch.start","name":"HRTime\\StopWatch::start","description":"Start time measurement","tag":"refentry","type":"Function","methodName":"start"},{"id":"hrtime-stopwatch.stop","name":"HRTime\\StopWatch::stop","description":"Stop time measurement","tag":"refentry","type":"Function","methodName":"stop"},{"id":"class.hrtime-stopwatch","name":"HRTime\\StopWatch","description":"The HRTime\\StopWatch class","tag":"phpdoc:classref","type":"Class","methodName":"HRTime\\StopWatch"},{"id":"class.hrtime-unit","name":"HRTime\\Unit","description":"The HRTime\\Unit class","tag":"phpdoc:classref","type":"Class","methodName":"HRTime\\Unit"},{"id":"book.hrtime","name":"HRTime","description":"High resolution timing","tag":"book","type":"Extension","methodName":"HRTime"},{"id":"refs.calendar","name":"Date and Time Related Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Date and Time Related Extensions"},{"id":"intro.dio","name":"Introduction","description":"Direct IO","tag":"preface","type":"General","methodName":"Introduction"},{"id":"dio.installation","name":"Installation","description":"Direct IO","tag":"section","type":"General","methodName":"Installation"},{"id":"dio.resources","name":"Resource Types","description":"Direct IO","tag":"section","type":"General","methodName":"Resource Types"},{"id":"dio.setup","name":"Installing\/Configuring","description":"Direct IO","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"dio.constants","name":"Predefined Constants","description":"Direct IO","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.dio-close","name":"dio_close","description":"Closes the file descriptor given by fd","tag":"refentry","type":"Function","methodName":"dio_close"},{"id":"function.dio-fcntl","name":"dio_fcntl","description":"Performs a c library fcntl on fd","tag":"refentry","type":"Function","methodName":"dio_fcntl"},{"id":"function.dio-open","name":"dio_open","description":"Opens a file (creating it if necessary) at a lower level than the\n C library input\/ouput stream functions allow","tag":"refentry","type":"Function","methodName":"dio_open"},{"id":"function.dio-read","name":"dio_read","description":"Reads bytes from a file descriptor","tag":"refentry","type":"Function","methodName":"dio_read"},{"id":"function.dio-seek","name":"dio_seek","description":"Seeks to pos on fd from whence","tag":"refentry","type":"Function","methodName":"dio_seek"},{"id":"function.dio-stat","name":"dio_stat","description":"Gets stat information about the file descriptor fd","tag":"refentry","type":"Function","methodName":"dio_stat"},{"id":"function.dio-tcsetattr","name":"dio_tcsetattr","description":"Sets terminal attributes and baud rate for a serial port","tag":"refentry","type":"Function","methodName":"dio_tcsetattr"},{"id":"function.dio-truncate","name":"dio_truncate","description":"Truncates file descriptor fd to offset bytes","tag":"refentry","type":"Function","methodName":"dio_truncate"},{"id":"function.dio-write","name":"dio_write","description":"Writes data to fd with optional truncation at length","tag":"refentry","type":"Function","methodName":"dio_write"},{"id":"ref.dio","name":"Direct IO Functions","description":"Direct IO","tag":"reference","type":"Extension","methodName":"Direct IO Functions"},{"id":"book.dio","name":"Direct IO","description":"File System Related Extensions","tag":"book","type":"Extension","methodName":"Direct IO"},{"id":"dir.constants","name":"Predefined Constants","description":"Directories","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"directory.close","name":"Directory::close","description":"Close directory handle","tag":"refentry","type":"Function","methodName":"close"},{"id":"directory.read","name":"Directory::read","description":"Read entry from directory handle","tag":"refentry","type":"Function","methodName":"read"},{"id":"directory.rewind","name":"Directory::rewind","description":"Rewind directory handle","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"class.directory","name":"Directory","description":"The Directory class","tag":"phpdoc:classref","type":"Class","methodName":"Directory"},{"id":"function.chdir","name":"chdir","description":"Change directory","tag":"refentry","type":"Function","methodName":"chdir"},{"id":"function.chroot","name":"chroot","description":"Change the root directory","tag":"refentry","type":"Function","methodName":"chroot"},{"id":"function.closedir","name":"closedir","description":"Close directory handle","tag":"refentry","type":"Function","methodName":"closedir"},{"id":"function.dir","name":"dir","description":"Return an instance of the Directory class","tag":"refentry","type":"Function","methodName":"dir"},{"id":"function.getcwd","name":"getcwd","description":"Gets the current working directory","tag":"refentry","type":"Function","methodName":"getcwd"},{"id":"function.opendir","name":"opendir","description":"Open directory handle","tag":"refentry","type":"Function","methodName":"opendir"},{"id":"function.readdir","name":"readdir","description":"Read entry from directory handle","tag":"refentry","type":"Function","methodName":"readdir"},{"id":"function.rewinddir","name":"rewinddir","description":"Rewind directory handle","tag":"refentry","type":"Function","methodName":"rewinddir"},{"id":"function.scandir","name":"scandir","description":"List files and directories inside the specified path","tag":"refentry","type":"Function","methodName":"scandir"},{"id":"ref.dir","name":"Directory Functions","description":"Directories","tag":"reference","type":"Extension","methodName":"Directory Functions"},{"id":"book.dir","name":"Directories","description":"File System Related Extensions","tag":"book","type":"Extension","methodName":"Directories"},{"id":"intro.fileinfo","name":"Introduction","description":"File Information","tag":"preface","type":"General","methodName":"Introduction"},{"id":"fileinfo.installation","name":"Installation","description":"File Information","tag":"section","type":"General","methodName":"Installation"},{"id":"fileinfo.resources","name":"Resource Types","description":"File Information","tag":"section","type":"General","methodName":"Resource Types"},{"id":"fileinfo.setup","name":"Installing\/Configuring","description":"File Information","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"fileinfo.constants","name":"Predefined Constants","description":"File Information","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.finfo-buffer","name":"finfo::buffer","description":"Return information about a string buffer","tag":"refentry","type":"Function","methodName":"buffer"},{"id":"function.finfo-buffer","name":"finfo_buffer","description":"Return information about a string buffer","tag":"refentry","type":"Function","methodName":"finfo_buffer"},{"id":"function.finfo-close","name":"finfo_close","description":"Close finfo instance","tag":"refentry","type":"Function","methodName":"finfo_close"},{"id":"function.finfo-file","name":"finfo::file","description":"Return information about a file","tag":"refentry","type":"Function","methodName":"file"},{"id":"function.finfo-file","name":"finfo_file","description":"Return information about a file","tag":"refentry","type":"Function","methodName":"finfo_file"},{"id":"function.finfo-open","name":"finfo::__construct","description":"Create a new finfo instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"function.finfo-open","name":"finfo_open","description":"Create a new finfo instance","tag":"refentry","type":"Function","methodName":"finfo_open"},{"id":"function.finfo-set-flags","name":"finfo::set_flags","description":"Set libmagic configuration options","tag":"refentry","type":"Function","methodName":"set_flags"},{"id":"function.finfo-set-flags","name":"finfo_set_flags","description":"Set libmagic configuration options","tag":"refentry","type":"Function","methodName":"finfo_set_flags"},{"id":"function.mime-content-type","name":"mime_content_type","description":"Detect MIME Content-type for a file","tag":"refentry","type":"Function","methodName":"mime_content_type"},{"id":"ref.fileinfo","name":"Fileinfo Functions","description":"File Information","tag":"reference","type":"Extension","methodName":"Fileinfo Functions"},{"id":"finfo.buffer","name":"finfo::buffer","description":"Alias of finfo_buffer()","tag":"refentry","type":"Function","methodName":"buffer"},{"id":"finfo.construct","name":"finfo::__construct","description":"Alias of finfo_open","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"finfo.file","name":"finfo::file","description":"Alias of finfo_file()","tag":"refentry","type":"Function","methodName":"file"},{"id":"finfo.set-flags","name":"finfo::set_flags","description":"Alias of finfo_set_flags()","tag":"refentry","type":"Function","methodName":"set_flags"},{"id":"class.finfo","name":"finfo","description":"The finfo class","tag":"phpdoc:classref","type":"Class","methodName":"finfo"},{"id":"book.fileinfo","name":"Fileinfo","description":"File Information","tag":"book","type":"Extension","methodName":"Fileinfo"},{"id":"intro.filesystem","name":"Introduction","description":"Filesystem","tag":"preface","type":"General","methodName":"Introduction"},{"id":"filesystem.configuration","name":"Runtime Configuration","description":"Filesystem","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"filesystem.resources","name":"Resource Types","description":"Filesystem","tag":"section","type":"General","methodName":"Resource Types"},{"id":"filesystem.setup","name":"Installing\/Configuring","description":"Filesystem","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"filesystem.constants","name":"Predefined Constants","description":"Filesystem","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.basename","name":"basename","description":"Returns trailing name component of path","tag":"refentry","type":"Function","methodName":"basename"},{"id":"function.chgrp","name":"chgrp","description":"Changes file group","tag":"refentry","type":"Function","methodName":"chgrp"},{"id":"function.chmod","name":"chmod","description":"Changes file mode","tag":"refentry","type":"Function","methodName":"chmod"},{"id":"function.chown","name":"chown","description":"Changes file owner","tag":"refentry","type":"Function","methodName":"chown"},{"id":"function.clearstatcache","name":"clearstatcache","description":"Clears file status cache","tag":"refentry","type":"Function","methodName":"clearstatcache"},{"id":"function.copy","name":"copy","description":"Copies file","tag":"refentry","type":"Function","methodName":"copy"},{"id":"function.delete","name":"delete","description":"See unlink or unset","tag":"refentry","type":"Function","methodName":"delete"},{"id":"function.dirname","name":"dirname","description":"Returns a parent directory's path","tag":"refentry","type":"Function","methodName":"dirname"},{"id":"function.disk-free-space","name":"disk_free_space","description":"Returns available space on filesystem or disk partition","tag":"refentry","type":"Function","methodName":"disk_free_space"},{"id":"function.disk-total-space","name":"disk_total_space","description":"Returns the total size of a filesystem or disk partition","tag":"refentry","type":"Function","methodName":"disk_total_space"},{"id":"function.diskfreespace","name":"diskfreespace","description":"Alias of disk_free_space","tag":"refentry","type":"Function","methodName":"diskfreespace"},{"id":"function.fclose","name":"fclose","description":"Closes an open file pointer","tag":"refentry","type":"Function","methodName":"fclose"},{"id":"function.fdatasync","name":"fdatasync","description":"Synchronizes data (but not meta-data) to the file","tag":"refentry","type":"Function","methodName":"fdatasync"},{"id":"function.feof","name":"feof","description":"Tests for end-of-file on a file pointer","tag":"refentry","type":"Function","methodName":"feof"},{"id":"function.fflush","name":"fflush","description":"Flushes the output to a file","tag":"refentry","type":"Function","methodName":"fflush"},{"id":"function.fgetc","name":"fgetc","description":"Gets character from file pointer","tag":"refentry","type":"Function","methodName":"fgetc"},{"id":"function.fgetcsv","name":"fgetcsv","description":"Gets line from file pointer and parse for CSV fields","tag":"refentry","type":"Function","methodName":"fgetcsv"},{"id":"function.fgets","name":"fgets","description":"Gets line from file pointer","tag":"refentry","type":"Function","methodName":"fgets"},{"id":"function.fgetss","name":"fgetss","description":"Gets line from file pointer and strip HTML tags","tag":"refentry","type":"Function","methodName":"fgetss"},{"id":"function.file","name":"file","description":"Reads entire file into an array","tag":"refentry","type":"Function","methodName":"file"},{"id":"function.file-exists","name":"file_exists","description":"Checks whether a file or directory exists","tag":"refentry","type":"Function","methodName":"file_exists"},{"id":"function.file-get-contents","name":"file_get_contents","description":"Reads entire file into a string","tag":"refentry","type":"Function","methodName":"file_get_contents"},{"id":"function.file-put-contents","name":"file_put_contents","description":"Write data to a file","tag":"refentry","type":"Function","methodName":"file_put_contents"},{"id":"function.fileatime","name":"fileatime","description":"Gets last access time of file","tag":"refentry","type":"Function","methodName":"fileatime"},{"id":"function.filectime","name":"filectime","description":"Gets inode change time of file","tag":"refentry","type":"Function","methodName":"filectime"},{"id":"function.filegroup","name":"filegroup","description":"Gets file group","tag":"refentry","type":"Function","methodName":"filegroup"},{"id":"function.fileinode","name":"fileinode","description":"Gets file inode","tag":"refentry","type":"Function","methodName":"fileinode"},{"id":"function.filemtime","name":"filemtime","description":"Gets file modification time","tag":"refentry","type":"Function","methodName":"filemtime"},{"id":"function.fileowner","name":"fileowner","description":"Gets file owner","tag":"refentry","type":"Function","methodName":"fileowner"},{"id":"function.fileperms","name":"fileperms","description":"Gets file permissions","tag":"refentry","type":"Function","methodName":"fileperms"},{"id":"function.filesize","name":"filesize","description":"Gets file size","tag":"refentry","type":"Function","methodName":"filesize"},{"id":"function.filetype","name":"filetype","description":"Gets file type","tag":"refentry","type":"Function","methodName":"filetype"},{"id":"function.flock","name":"flock","description":"Portable advisory file locking","tag":"refentry","type":"Function","methodName":"flock"},{"id":"function.fnmatch","name":"fnmatch","description":"Match filename against a pattern","tag":"refentry","type":"Function","methodName":"fnmatch"},{"id":"function.fopen","name":"fopen","description":"Opens file or URL","tag":"refentry","type":"Function","methodName":"fopen"},{"id":"function.fpassthru","name":"fpassthru","description":"Output all remaining data on a file pointer","tag":"refentry","type":"Function","methodName":"fpassthru"},{"id":"function.fputcsv","name":"fputcsv","description":"Format line as CSV and write to file pointer","tag":"refentry","type":"Function","methodName":"fputcsv"},{"id":"function.fputs","name":"fputs","description":"Alias of fwrite","tag":"refentry","type":"Function","methodName":"fputs"},{"id":"function.fread","name":"fread","description":"Binary-safe file read","tag":"refentry","type":"Function","methodName":"fread"},{"id":"function.fscanf","name":"fscanf","description":"Parses input from a file according to a format","tag":"refentry","type":"Function","methodName":"fscanf"},{"id":"function.fseek","name":"fseek","description":"Seeks on a file pointer","tag":"refentry","type":"Function","methodName":"fseek"},{"id":"function.fstat","name":"fstat","description":"Gets information about a file using an open file pointer","tag":"refentry","type":"Function","methodName":"fstat"},{"id":"function.fsync","name":"fsync","description":"Synchronizes changes to the file (including meta-data)","tag":"refentry","type":"Function","methodName":"fsync"},{"id":"function.ftell","name":"ftell","description":"Returns the current position of the file read\/write pointer","tag":"refentry","type":"Function","methodName":"ftell"},{"id":"function.ftruncate","name":"ftruncate","description":"Truncates a file to a given length","tag":"refentry","type":"Function","methodName":"ftruncate"},{"id":"function.fwrite","name":"fwrite","description":"Binary-safe file write","tag":"refentry","type":"Function","methodName":"fwrite"},{"id":"function.glob","name":"glob","description":"Find pathnames matching a pattern","tag":"refentry","type":"Function","methodName":"glob"},{"id":"function.is-dir","name":"is_dir","description":"Tells whether the filename is a directory","tag":"refentry","type":"Function","methodName":"is_dir"},{"id":"function.is-executable","name":"is_executable","description":"Tells whether the filename is executable","tag":"refentry","type":"Function","methodName":"is_executable"},{"id":"function.is-file","name":"is_file","description":"Tells whether the filename is a regular file","tag":"refentry","type":"Function","methodName":"is_file"},{"id":"function.is-link","name":"is_link","description":"Tells whether the filename is a symbolic link","tag":"refentry","type":"Function","methodName":"is_link"},{"id":"function.is-readable","name":"is_readable","description":"Tells whether a file exists and is readable","tag":"refentry","type":"Function","methodName":"is_readable"},{"id":"function.is-uploaded-file","name":"is_uploaded_file","description":"Tells whether the file was uploaded via HTTP POST","tag":"refentry","type":"Function","methodName":"is_uploaded_file"},{"id":"function.is-writable","name":"is_writable","description":"Tells whether the filename is writable","tag":"refentry","type":"Function","methodName":"is_writable"},{"id":"function.is-writeable","name":"is_writeable","description":"Alias of is_writable","tag":"refentry","type":"Function","methodName":"is_writeable"},{"id":"function.lchgrp","name":"lchgrp","description":"Changes group ownership of symlink","tag":"refentry","type":"Function","methodName":"lchgrp"},{"id":"function.lchown","name":"lchown","description":"Changes user ownership of symlink","tag":"refentry","type":"Function","methodName":"lchown"},{"id":"function.link","name":"link","description":"Create a hard link","tag":"refentry","type":"Function","methodName":"link"},{"id":"function.linkinfo","name":"linkinfo","description":"Gets information about a link","tag":"refentry","type":"Function","methodName":"linkinfo"},{"id":"function.lstat","name":"lstat","description":"Gives information about a file or symbolic link","tag":"refentry","type":"Function","methodName":"lstat"},{"id":"function.mkdir","name":"mkdir","description":"Makes directory","tag":"refentry","type":"Function","methodName":"mkdir"},{"id":"function.move-uploaded-file","name":"move_uploaded_file","description":"Moves an uploaded file to a new location","tag":"refentry","type":"Function","methodName":"move_uploaded_file"},{"id":"function.parse-ini-file","name":"parse_ini_file","description":"Parse a configuration file","tag":"refentry","type":"Function","methodName":"parse_ini_file"},{"id":"function.parse-ini-string","name":"parse_ini_string","description":"Parse a configuration string","tag":"refentry","type":"Function","methodName":"parse_ini_string"},{"id":"function.pathinfo","name":"pathinfo","description":"Returns information about a file path","tag":"refentry","type":"Function","methodName":"pathinfo"},{"id":"function.pclose","name":"pclose","description":"Closes process file pointer","tag":"refentry","type":"Function","methodName":"pclose"},{"id":"function.popen","name":"popen","description":"Opens process file pointer","tag":"refentry","type":"Function","methodName":"popen"},{"id":"function.readfile","name":"readfile","description":"Outputs a file","tag":"refentry","type":"Function","methodName":"readfile"},{"id":"function.readlink","name":"readlink","description":"Returns the target of a symbolic link","tag":"refentry","type":"Function","methodName":"readlink"},{"id":"function.realpath","name":"realpath","description":"Returns canonicalized absolute pathname","tag":"refentry","type":"Function","methodName":"realpath"},{"id":"function.realpath-cache-get","name":"realpath_cache_get","description":"Get realpath cache entries","tag":"refentry","type":"Function","methodName":"realpath_cache_get"},{"id":"function.realpath-cache-size","name":"realpath_cache_size","description":"Get realpath cache size","tag":"refentry","type":"Function","methodName":"realpath_cache_size"},{"id":"function.rename","name":"rename","description":"Renames a file or directory","tag":"refentry","type":"Function","methodName":"rename"},{"id":"function.rewind","name":"rewind","description":"Rewind the position of a file pointer","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"function.rmdir","name":"rmdir","description":"Removes directory","tag":"refentry","type":"Function","methodName":"rmdir"},{"id":"function.set-file-buffer","name":"set_file_buffer","description":"Alias of stream_set_write_buffer","tag":"refentry","type":"Function","methodName":"set_file_buffer"},{"id":"function.stat","name":"stat","description":"Gives information about a file","tag":"refentry","type":"Function","methodName":"stat"},{"id":"function.symlink","name":"symlink","description":"Creates a symbolic link","tag":"refentry","type":"Function","methodName":"symlink"},{"id":"function.tempnam","name":"tempnam","description":"Create file with unique file name","tag":"refentry","type":"Function","methodName":"tempnam"},{"id":"function.tmpfile","name":"tmpfile","description":"Creates a temporary file","tag":"refentry","type":"Function","methodName":"tmpfile"},{"id":"function.touch","name":"touch","description":"Sets access and modification time of file","tag":"refentry","type":"Function","methodName":"touch"},{"id":"function.umask","name":"umask","description":"Changes the current umask","tag":"refentry","type":"Function","methodName":"umask"},{"id":"function.unlink","name":"unlink","description":"Deletes a file","tag":"refentry","type":"Function","methodName":"unlink"},{"id":"ref.filesystem","name":"Filesystem Functions","description":"Filesystem","tag":"reference","type":"Extension","methodName":"Filesystem Functions"},{"id":"book.filesystem","name":"Filesystem","description":"File System Related Extensions","tag":"book","type":"Extension","methodName":"Filesystem"},{"id":"intro.inotify","name":"Introduction","description":"Inotify","tag":"preface","type":"General","methodName":"Introduction"},{"id":"inotify.install","name":"Installing\/Configuring","description":"Inotify","tag":"section","type":"General","methodName":"Installing\/Configuring"},{"id":"inotify.resources","name":"Resource Types","description":"Inotify","tag":"section","type":"General","methodName":"Resource Types"},{"id":"inotify.setup","name":"Installing\/Configuring","description":"Inotify","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"inotify.constants","name":"Predefined Constants","description":"Inotify","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.inotify-add-watch","name":"inotify_add_watch","description":"Add a watch to an initialized inotify instance","tag":"refentry","type":"Function","methodName":"inotify_add_watch"},{"id":"function.inotify-init","name":"inotify_init","description":"Initialize an inotify instance","tag":"refentry","type":"Function","methodName":"inotify_init"},{"id":"function.inotify-queue-len","name":"inotify_queue_len","description":"Return a number upper than zero if there are pending events","tag":"refentry","type":"Function","methodName":"inotify_queue_len"},{"id":"function.inotify-read","name":"inotify_read","description":"Read events from an inotify instance","tag":"refentry","type":"Function","methodName":"inotify_read"},{"id":"function.inotify-rm-watch","name":"inotify_rm_watch","description":"Remove an existing watch from an inotify instance","tag":"refentry","type":"Function","methodName":"inotify_rm_watch"},{"id":"ref.inotify","name":"Inotify Functions","description":"Inotify","tag":"reference","type":"Extension","methodName":"Inotify Functions"},{"id":"book.inotify","name":"Inotify","description":"File System Related Extensions","tag":"book","type":"Extension","methodName":"Inotify"},{"id":"intro.xattr","name":"Introduction","description":"xattr","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xattr.requirements","name":"Requirements","description":"xattr","tag":"section","type":"General","methodName":"Requirements"},{"id":"xattr.installation","name":"Installation","description":"xattr","tag":"section","type":"General","methodName":"Installation"},{"id":"xattr.setup","name":"Installing\/Configuring","description":"xattr","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xattr.constants","name":"Predefined Constants","description":"xattr","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.xattr-get","name":"xattr_get","description":"Get an extended attribute","tag":"refentry","type":"Function","methodName":"xattr_get"},{"id":"function.xattr-list","name":"xattr_list","description":"Get a list of extended attributes","tag":"refentry","type":"Function","methodName":"xattr_list"},{"id":"function.xattr-remove","name":"xattr_remove","description":"Remove an extended attribute","tag":"refentry","type":"Function","methodName":"xattr_remove"},{"id":"function.xattr-set","name":"xattr_set","description":"Set an extended attribute","tag":"refentry","type":"Function","methodName":"xattr_set"},{"id":"function.xattr-supported","name":"xattr_supported","description":"Check if filesystem supports extended attributes","tag":"refentry","type":"Function","methodName":"xattr_supported"},{"id":"ref.xattr","name":"xattr Functions","description":"xattr","tag":"reference","type":"Extension","methodName":"xattr Functions"},{"id":"book.xattr","name":"xattr","description":"File System Related Extensions","tag":"book","type":"Extension","methodName":"xattr"},{"id":"intro.xdiff","name":"Introduction","description":"xdiff","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xdiff.requirements","name":"Requirements","description":"xdiff","tag":"section","type":"General","methodName":"Requirements"},{"id":"xdiff.installation","name":"Installation","description":"xdiff","tag":"section","type":"General","methodName":"Installation"},{"id":"xdiff.setup","name":"Installing\/Configuring","description":"xdiff","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xdiff.constants","name":"Predefined Constants","description":"xdiff","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.xdiff-file-bdiff","name":"xdiff_file_bdiff","description":"Make binary diff of two files","tag":"refentry","type":"Function","methodName":"xdiff_file_bdiff"},{"id":"function.xdiff-file-bdiff-size","name":"xdiff_file_bdiff_size","description":"Read a size of file created by applying a binary diff","tag":"refentry","type":"Function","methodName":"xdiff_file_bdiff_size"},{"id":"function.xdiff-file-bpatch","name":"xdiff_file_bpatch","description":"Patch a file with a binary diff","tag":"refentry","type":"Function","methodName":"xdiff_file_bpatch"},{"id":"function.xdiff-file-diff","name":"xdiff_file_diff","description":"Make unified diff of two files","tag":"refentry","type":"Function","methodName":"xdiff_file_diff"},{"id":"function.xdiff-file-diff-binary","name":"xdiff_file_diff_binary","description":"Alias of xdiff_file_bdiff","tag":"refentry","type":"Function","methodName":"xdiff_file_diff_binary"},{"id":"function.xdiff-file-merge3","name":"xdiff_file_merge3","description":"Merge 3 files into one","tag":"refentry","type":"Function","methodName":"xdiff_file_merge3"},{"id":"function.xdiff-file-patch","name":"xdiff_file_patch","description":"Patch a file with an unified diff","tag":"refentry","type":"Function","methodName":"xdiff_file_patch"},{"id":"function.xdiff-file-patch-binary","name":"xdiff_file_patch_binary","description":"Alias of xdiff_file_bpatch","tag":"refentry","type":"Function","methodName":"xdiff_file_patch_binary"},{"id":"function.xdiff-file-rabdiff","name":"xdiff_file_rabdiff","description":"Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm","tag":"refentry","type":"Function","methodName":"xdiff_file_rabdiff"},{"id":"function.xdiff-string-bdiff","name":"xdiff_string_bdiff","description":"Make binary diff of two strings","tag":"refentry","type":"Function","methodName":"xdiff_string_bdiff"},{"id":"function.xdiff-string-bdiff-size","name":"xdiff_string_bdiff_size","description":"Read a size of file created by applying a binary diff","tag":"refentry","type":"Function","methodName":"xdiff_string_bdiff_size"},{"id":"function.xdiff-string-bpatch","name":"xdiff_string_bpatch","description":"Patch a string with a binary diff","tag":"refentry","type":"Function","methodName":"xdiff_string_bpatch"},{"id":"function.xdiff-string-diff","name":"xdiff_string_diff","description":"Make unified diff of two strings","tag":"refentry","type":"Function","methodName":"xdiff_string_diff"},{"id":"function.xdiff-string-diff-binary","name":"xdiff_string_diff_binary","description":"Alias of xdiff_string_bdiff","tag":"refentry","type":"Function","methodName":"xdiff_string_diff_binary"},{"id":"function.xdiff-string-merge3","name":"xdiff_string_merge3","description":"Merge 3 strings into one","tag":"refentry","type":"Function","methodName":"xdiff_string_merge3"},{"id":"function.xdiff-string-patch","name":"xdiff_string_patch","description":"Patch a string with an unified diff","tag":"refentry","type":"Function","methodName":"xdiff_string_patch"},{"id":"function.xdiff-string-patch-binary","name":"xdiff_string_patch_binary","description":"Alias of xdiff_string_bpatch","tag":"refentry","type":"Function","methodName":"xdiff_string_patch_binary"},{"id":"function.xdiff-string-rabdiff","name":"xdiff_string_rabdiff","description":"Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm","tag":"refentry","type":"Function","methodName":"xdiff_string_rabdiff"},{"id":"ref.xdiff","name":"xdiff Functions","description":"xdiff","tag":"reference","type":"Extension","methodName":"xdiff Functions"},{"id":"book.xdiff","name":"xdiff","description":"File System Related Extensions","tag":"book","type":"Extension","methodName":"xdiff"},{"id":"refs.fileprocess.file","name":"File System Related Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"File System Related Extensions"},{"id":"intro.enchant","name":"Introduction","description":"Enchant spelling library","tag":"preface","type":"General","methodName":"Introduction"},{"id":"enchant.requirements","name":"Requirements","description":"Enchant spelling library","tag":"section","type":"General","methodName":"Requirements"},{"id":"enchant.installation","name":"Installation","description":"Enchant spelling library","tag":"section","type":"General","methodName":"Installation"},{"id":"enchant.resources","name":"Resource Types","description":"Enchant spelling library","tag":"section","type":"General","methodName":"Resource Types"},{"id":"enchant.setup","name":"Installing\/Configuring","description":"Enchant spelling library","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"enchant.constants","name":"Predefined Constants","description":"Enchant spelling library","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"enchant.examples","name":"Examples","description":"Enchant spelling library","tag":"appendix","type":"General","methodName":"Examples"},{"id":"function.enchant-broker-describe","name":"enchant_broker_describe","description":"Enumerates the Enchant providers","tag":"refentry","type":"Function","methodName":"enchant_broker_describe"},{"id":"function.enchant-broker-dict-exists","name":"enchant_broker_dict_exists","description":"Whether a dictionary exists or not. Using non-empty tag","tag":"refentry","type":"Function","methodName":"enchant_broker_dict_exists"},{"id":"function.enchant-broker-free","name":"enchant_broker_free","description":"Free the broker resource and its dictionaries","tag":"refentry","type":"Function","methodName":"enchant_broker_free"},{"id":"function.enchant-broker-free-dict","name":"enchant_broker_free_dict","description":"Free a dictionary resource","tag":"refentry","type":"Function","methodName":"enchant_broker_free_dict"},{"id":"function.enchant-broker-get-dict-path","name":"enchant_broker_get_dict_path","description":"Get the directory path for a given backend","tag":"refentry","type":"Function","methodName":"enchant_broker_get_dict_path"},{"id":"function.enchant-broker-get-error","name":"enchant_broker_get_error","description":"Returns the last error of the broker","tag":"refentry","type":"Function","methodName":"enchant_broker_get_error"},{"id":"function.enchant-broker-init","name":"enchant_broker_init","description":"Create a new broker object capable of requesting","tag":"refentry","type":"Function","methodName":"enchant_broker_init"},{"id":"function.enchant-broker-list-dicts","name":"enchant_broker_list_dicts","description":"Returns a list of available dictionaries","tag":"refentry","type":"Function","methodName":"enchant_broker_list_dicts"},{"id":"function.enchant-broker-request-dict","name":"enchant_broker_request_dict","description":"Create a new dictionary using a tag","tag":"refentry","type":"Function","methodName":"enchant_broker_request_dict"},{"id":"function.enchant-broker-request-pwl-dict","name":"enchant_broker_request_pwl_dict","description":"Creates a dictionary using a PWL file","tag":"refentry","type":"Function","methodName":"enchant_broker_request_pwl_dict"},{"id":"function.enchant-broker-set-dict-path","name":"enchant_broker_set_dict_path","description":"Set the directory path for a given backend","tag":"refentry","type":"Function","methodName":"enchant_broker_set_dict_path"},{"id":"function.enchant-broker-set-ordering","name":"enchant_broker_set_ordering","description":"Declares a preference of dictionaries to use for the language","tag":"refentry","type":"Function","methodName":"enchant_broker_set_ordering"},{"id":"function.enchant-dict-add","name":"enchant_dict_add","description":"Add a word to personal word list","tag":"refentry","type":"Function","methodName":"enchant_dict_add"},{"id":"function.enchant-dict-add-to-personal","name":"enchant_dict_add_to_personal","description":"Alias of enchant_dict_add","tag":"refentry","type":"Function","methodName":"enchant_dict_add_to_personal"},{"id":"function.enchant-dict-add-to-session","name":"enchant_dict_add_to_session","description":"Add 'word' to this spell-checking session","tag":"refentry","type":"Function","methodName":"enchant_dict_add_to_session"},{"id":"function.enchant-dict-check","name":"enchant_dict_check","description":"Check whether a word is correctly spelled or not","tag":"refentry","type":"Function","methodName":"enchant_dict_check"},{"id":"function.enchant-dict-describe","name":"enchant_dict_describe","description":"Describes an individual dictionary","tag":"refentry","type":"Function","methodName":"enchant_dict_describe"},{"id":"function.enchant-dict-get-error","name":"enchant_dict_get_error","description":"Returns the last error of the current spelling-session","tag":"refentry","type":"Function","methodName":"enchant_dict_get_error"},{"id":"function.enchant-dict-is-added","name":"enchant_dict_is_added","description":"Whether or not 'word' exists in this spelling-session","tag":"refentry","type":"Function","methodName":"enchant_dict_is_added"},{"id":"function.enchant-dict-is-in-session","name":"enchant_dict_is_in_session","description":"Alias of enchant_dict_is_added","tag":"refentry","type":"Function","methodName":"enchant_dict_is_in_session"},{"id":"function.enchant-dict-quick-check","name":"enchant_dict_quick_check","description":"Check the word is correctly spelled and provide suggestions","tag":"refentry","type":"Function","methodName":"enchant_dict_quick_check"},{"id":"function.enchant-dict-store-replacement","name":"enchant_dict_store_replacement","description":"Add a correction for a word","tag":"refentry","type":"Function","methodName":"enchant_dict_store_replacement"},{"id":"function.enchant-dict-suggest","name":"enchant_dict_suggest","description":"Will return a list of values if any of those pre-conditions are not met","tag":"refentry","type":"Function","methodName":"enchant_dict_suggest"},{"id":"ref.enchant","name":"Enchant Functions","description":"Enchant spelling library","tag":"reference","type":"Extension","methodName":"Enchant Functions"},{"id":"class.enchantbroker","name":"EnchantBroker","description":"The EnchantBroker class","tag":"phpdoc:classref","type":"Class","methodName":"EnchantBroker"},{"id":"class.enchantdictionary","name":"EnchantDictionary","description":"The EnchantDictionary class","tag":"phpdoc:classref","type":"Class","methodName":"EnchantDictionary"},{"id":"book.enchant","name":"Enchant","description":"Enchant spelling library","tag":"book","type":"Extension","methodName":"Enchant"},{"id":"intro.gender","name":"Introduction","description":"Determine gender of firstnames","tag":"preface","type":"General","methodName":"Introduction"},{"id":"gender.installation","name":"Installation","description":"Determine gender of firstnames","tag":"section","type":"General","methodName":"Installation"},{"id":"gender.setup","name":"Installing\/Configuring","description":"Determine gender of firstnames","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"gender.example.admin","name":"Usage example.","description":"Determine gender of firstnames","tag":"section","type":"General","methodName":"Usage example."},{"id":"gender.examples","name":"Examples","description":"Determine gender of firstnames","tag":"chapter","type":"General","methodName":"Examples"},{"id":"gender-gender.connect","name":"Gender\\Gender::connect","description":"Connect to an external name dictionary","tag":"refentry","type":"Function","methodName":"connect"},{"id":"gender-gender.construct","name":"Gender\\Gender::__construct","description":"Construct the Gender object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gender-gender.country","name":"Gender\\Gender::country","description":"Get textual country representation","tag":"refentry","type":"Function","methodName":"country"},{"id":"gender-gender.get","name":"Gender\\Gender::get","description":"Get gender of a name","tag":"refentry","type":"Function","methodName":"get"},{"id":"gender-gender.isnick","name":"Gender\\Gender::isNick","description":"Check if the name0 is an alias of the name1","tag":"refentry","type":"Function","methodName":"isNick"},{"id":"gender-gender.similarnames","name":"Gender\\Gender::similarNames","description":"Get similar names","tag":"refentry","type":"Function","methodName":"similarNames"},{"id":"class.gender","name":"Gender\\Gender","description":"The Gender\\Gender class","tag":"phpdoc:classref","type":"Class","methodName":"Gender\\Gender"},{"id":"book.gender","name":"Gender","description":"Determine gender of firstnames","tag":"book","type":"Extension","methodName":"Gender"},{"id":"intro.gettext","name":"Introduction","description":"Gettext","tag":"preface","type":"General","methodName":"Introduction"},{"id":"gettext.requirements","name":"Requirements","description":"Gettext","tag":"section","type":"General","methodName":"Requirements"},{"id":"gettext.installation","name":"Installation","description":"Gettext","tag":"section","type":"General","methodName":"Installation"},{"id":"gettext.setup","name":"Installing\/Configuring","description":"Gettext","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.-","name":"_","description":"Alias of gettext","tag":"refentry","type":"Function","methodName":"_"},{"id":"function.bind-textdomain-codeset","name":"bind_textdomain_codeset","description":"Specify or get the character encoding in which the messages from the DOMAIN message catalog will be returned","tag":"refentry","type":"Function","methodName":"bind_textdomain_codeset"},{"id":"function.bindtextdomain","name":"bindtextdomain","description":"Sets or gets the path for a domain","tag":"refentry","type":"Function","methodName":"bindtextdomain"},{"id":"function.dcgettext","name":"dcgettext","description":"Overrides the domain for a single lookup","tag":"refentry","type":"Function","methodName":"dcgettext"},{"id":"function.dcngettext","name":"dcngettext","description":"Plural version of dcgettext","tag":"refentry","type":"Function","methodName":"dcngettext"},{"id":"function.dgettext","name":"dgettext","description":"Override the current domain","tag":"refentry","type":"Function","methodName":"dgettext"},{"id":"function.dngettext","name":"dngettext","description":"Plural version of dgettext","tag":"refentry","type":"Function","methodName":"dngettext"},{"id":"function.gettext","name":"gettext","description":"Lookup a message in the current domain","tag":"refentry","type":"Function","methodName":"gettext"},{"id":"function.ngettext","name":"ngettext","description":"Plural version of gettext","tag":"refentry","type":"Function","methodName":"ngettext"},{"id":"function.textdomain","name":"textdomain","description":"Sets the default domain","tag":"refentry","type":"Function","methodName":"textdomain"},{"id":"ref.gettext","name":"Gettext Functions","description":"Gettext","tag":"reference","type":"Extension","methodName":"Gettext Functions"},{"id":"book.gettext","name":"Gettext","description":"Human Language and Character Encoding Support","tag":"book","type":"Extension","methodName":"Gettext"},{"id":"intro.iconv","name":"Introduction","description":"iconv","tag":"preface","type":"General","methodName":"Introduction"},{"id":"iconv.requirements","name":"Requirements","description":"iconv","tag":"section","type":"General","methodName":"Requirements"},{"id":"iconv.installation","name":"Installation","description":"iconv","tag":"section","type":"General","methodName":"Installation"},{"id":"iconv.configuration","name":"Runtime Configuration","description":"iconv","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"iconv.setup","name":"Installing\/Configuring","description":"iconv","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"iconv.constants","name":"Predefined Constants","description":"iconv","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.iconv","name":"iconv","description":"Convert a string from one character encoding to another","tag":"refentry","type":"Function","methodName":"iconv"},{"id":"function.iconv-get-encoding","name":"iconv_get_encoding","description":"Retrieve internal configuration variables of iconv extension","tag":"refentry","type":"Function","methodName":"iconv_get_encoding"},{"id":"function.iconv-mime-decode","name":"iconv_mime_decode","description":"Decodes a MIME header field","tag":"refentry","type":"Function","methodName":"iconv_mime_decode"},{"id":"function.iconv-mime-decode-headers","name":"iconv_mime_decode_headers","description":"Decodes multiple MIME header fields at once","tag":"refentry","type":"Function","methodName":"iconv_mime_decode_headers"},{"id":"function.iconv-mime-encode","name":"iconv_mime_encode","description":"Composes a MIME header field","tag":"refentry","type":"Function","methodName":"iconv_mime_encode"},{"id":"function.iconv-set-encoding","name":"iconv_set_encoding","description":"Set current setting for character encoding conversion","tag":"refentry","type":"Function","methodName":"iconv_set_encoding"},{"id":"function.iconv-strlen","name":"iconv_strlen","description":"Returns the character count of string","tag":"refentry","type":"Function","methodName":"iconv_strlen"},{"id":"function.iconv-strpos","name":"iconv_strpos","description":"Finds position of first occurrence of a needle within a haystack","tag":"refentry","type":"Function","methodName":"iconv_strpos"},{"id":"function.iconv-strrpos","name":"iconv_strrpos","description":"Finds the last occurrence of a needle within a haystack","tag":"refentry","type":"Function","methodName":"iconv_strrpos"},{"id":"function.iconv-substr","name":"iconv_substr","description":"Cut out part of a string","tag":"refentry","type":"Function","methodName":"iconv_substr"},{"id":"function.ob-iconv-handler","name":"ob_iconv_handler","description":"Convert character encoding as output buffer handler","tag":"refentry","type":"Function","methodName":"ob_iconv_handler"},{"id":"ref.iconv","name":"iconv Functions","description":"iconv","tag":"reference","type":"Extension","methodName":"iconv Functions"},{"id":"book.iconv","name":"iconv","description":"Human Language and Character Encoding Support","tag":"book","type":"Extension","methodName":"iconv"},{"id":"intro.intl","name":"Introduction","description":"Internationalization Functions","tag":"preface","type":"General","methodName":"Introduction"},{"id":"intl.requirements","name":"Requirements","description":"Internationalization Functions","tag":"section","type":"General","methodName":"Requirements"},{"id":"intl.installation","name":"Installation","description":"Internationalization Functions","tag":"section","type":"General","methodName":"Installation"},{"id":"intl.configuration","name":"Runtime Configuration","description":"Internationalization Functions","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"intl.setup","name":"Installing\/Configuring","description":"Internationalization Functions","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"intl.constants","name":"Predefined Constants","description":"Internationalization Functions","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"intl.examples.basic","name":"Basic usage of this extension","description":"Internationalization Functions","tag":"section","type":"General","methodName":"Basic usage of this extension"},{"id":"intl.examples","name":"Examples","description":"Internationalization Functions","tag":"chapter","type":"General","methodName":"Examples"},{"id":"collator.asort","name":"collator_asort","description":"Sort array maintaining index association","tag":"refentry","type":"Function","methodName":"collator_asort"},{"id":"collator.asort","name":"Collator::asort","description":"Sort array maintaining index association","tag":"refentry","type":"Function","methodName":"asort"},{"id":"collator.compare","name":"collator_compare","description":"Compare two Unicode strings","tag":"refentry","type":"Function","methodName":"collator_compare"},{"id":"collator.compare","name":"Collator::compare","description":"Compare two Unicode strings","tag":"refentry","type":"Function","methodName":"compare"},{"id":"collator.construct","name":"Collator::__construct","description":"Create a collator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"collator.create","name":"collator_create","description":"Create a collator","tag":"refentry","type":"Function","methodName":"collator_create"},{"id":"collator.create","name":"Collator::create","description":"Create a collator","tag":"refentry","type":"Function","methodName":"create"},{"id":"collator.getattribute","name":"collator_get_attribute","description":"Get collation attribute value","tag":"refentry","type":"Function","methodName":"collator_get_attribute"},{"id":"collator.getattribute","name":"Collator::getAttribute","description":"Get collation attribute value","tag":"refentry","type":"Function","methodName":"getAttribute"},{"id":"collator.geterrorcode","name":"collator_get_error_code","description":"Get collator's last error code","tag":"refentry","type":"Function","methodName":"collator_get_error_code"},{"id":"collator.geterrorcode","name":"Collator::getErrorCode","description":"Get collator's last error code","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"collator.geterrormessage","name":"collator_get_error_message","description":"Get text for collator's last error code","tag":"refentry","type":"Function","methodName":"collator_get_error_message"},{"id":"collator.geterrormessage","name":"Collator::getErrorMessage","description":"Get text for collator's last error code","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"collator.getlocale","name":"collator_get_locale","description":"Get the locale name of the collator","tag":"refentry","type":"Function","methodName":"collator_get_locale"},{"id":"collator.getlocale","name":"Collator::getLocale","description":"Get the locale name of the collator","tag":"refentry","type":"Function","methodName":"getLocale"},{"id":"collator.getsortkey","name":"collator_get_sort_key","description":"Get sorting key for a string","tag":"refentry","type":"Function","methodName":"collator_get_sort_key"},{"id":"collator.getsortkey","name":"Collator::getSortKey","description":"Get sorting key for a string","tag":"refentry","type":"Function","methodName":"getSortKey"},{"id":"collator.getstrength","name":"collator_get_strength","description":"Get current collation strength","tag":"refentry","type":"Function","methodName":"collator_get_strength"},{"id":"collator.getstrength","name":"Collator::getStrength","description":"Get current collation strength","tag":"refentry","type":"Function","methodName":"getStrength"},{"id":"collator.setattribute","name":"collator_set_attribute","description":"Set collation attribute","tag":"refentry","type":"Function","methodName":"collator_set_attribute"},{"id":"collator.setattribute","name":"Collator::setAttribute","description":"Set collation attribute","tag":"refentry","type":"Function","methodName":"setAttribute"},{"id":"collator.setstrength","name":"collator_set_strength","description":"Set collation strength","tag":"refentry","type":"Function","methodName":"collator_set_strength"},{"id":"collator.setstrength","name":"Collator::setStrength","description":"Set collation strength","tag":"refentry","type":"Function","methodName":"setStrength"},{"id":"collator.sort","name":"collator_sort","description":"Sort array using specified collator","tag":"refentry","type":"Function","methodName":"collator_sort"},{"id":"collator.sort","name":"Collator::sort","description":"Sort array using specified collator","tag":"refentry","type":"Function","methodName":"sort"},{"id":"collator.sortwithsortkeys","name":"collator_sort_with_sort_keys","description":"Sort array using specified collator and sort keys","tag":"refentry","type":"Function","methodName":"collator_sort_with_sort_keys"},{"id":"collator.sortwithsortkeys","name":"Collator::sortWithSortKeys","description":"Sort array using specified collator and sort keys","tag":"refentry","type":"Function","methodName":"sortWithSortKeys"},{"id":"class.collator","name":"Collator","description":"The Collator class","tag":"phpdoc:classref","type":"Class","methodName":"Collator"},{"id":"numberformatter.create","name":"NumberFormatter::__construct","description":"Create a number formatter","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"numberformatter.create","name":"numfmt_create","description":"Create a number formatter","tag":"refentry","type":"Function","methodName":"numfmt_create"},{"id":"numberformatter.create","name":"NumberFormatter::create","description":"Create a number formatter","tag":"refentry","type":"Function","methodName":"create"},{"id":"numberformatter.format","name":"numfmt_format","description":"Format a number","tag":"refentry","type":"Function","methodName":"numfmt_format"},{"id":"numberformatter.format","name":"NumberFormatter::format","description":"Format a number","tag":"refentry","type":"Function","methodName":"format"},{"id":"numberformatter.formatcurrency","name":"numfmt_format_currency","description":"Format a currency value","tag":"refentry","type":"Function","methodName":"numfmt_format_currency"},{"id":"numberformatter.formatcurrency","name":"NumberFormatter::formatCurrency","description":"Format a currency value","tag":"refentry","type":"Function","methodName":"formatCurrency"},{"id":"numberformatter.getattribute","name":"numfmt_get_attribute","description":"Get an attribute","tag":"refentry","type":"Function","methodName":"numfmt_get_attribute"},{"id":"numberformatter.getattribute","name":"NumberFormatter::getAttribute","description":"Get an attribute","tag":"refentry","type":"Function","methodName":"getAttribute"},{"id":"numberformatter.geterrorcode","name":"numfmt_get_error_code","description":"Get formatter's last error code","tag":"refentry","type":"Function","methodName":"numfmt_get_error_code"},{"id":"numberformatter.geterrorcode","name":"NumberFormatter::getErrorCode","description":"Get formatter's last error code","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"numberformatter.geterrormessage","name":"numfmt_get_error_message","description":"Get formatter's last error message","tag":"refentry","type":"Function","methodName":"numfmt_get_error_message"},{"id":"numberformatter.geterrormessage","name":"NumberFormatter::getErrorMessage","description":"Get formatter's last error message","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"numberformatter.getlocale","name":"numfmt_get_locale","description":"Get formatter locale","tag":"refentry","type":"Function","methodName":"numfmt_get_locale"},{"id":"numberformatter.getlocale","name":"NumberFormatter::getLocale","description":"Get formatter locale","tag":"refentry","type":"Function","methodName":"getLocale"},{"id":"numberformatter.getpattern","name":"numfmt_get_pattern","description":"Get formatter pattern","tag":"refentry","type":"Function","methodName":"numfmt_get_pattern"},{"id":"numberformatter.getpattern","name":"NumberFormatter::getPattern","description":"Get formatter pattern","tag":"refentry","type":"Function","methodName":"getPattern"},{"id":"numberformatter.getsymbol","name":"numfmt_get_symbol","description":"Get a symbol value","tag":"refentry","type":"Function","methodName":"numfmt_get_symbol"},{"id":"numberformatter.getsymbol","name":"NumberFormatter::getSymbol","description":"Get a symbol value","tag":"refentry","type":"Function","methodName":"getSymbol"},{"id":"numberformatter.gettextattribute","name":"numfmt_get_text_attribute","description":"Get a text attribute","tag":"refentry","type":"Function","methodName":"numfmt_get_text_attribute"},{"id":"numberformatter.gettextattribute","name":"NumberFormatter::getTextAttribute","description":"Get a text attribute","tag":"refentry","type":"Function","methodName":"getTextAttribute"},{"id":"numberformatter.parse","name":"numfmt_parse","description":"Parse a number","tag":"refentry","type":"Function","methodName":"numfmt_parse"},{"id":"numberformatter.parse","name":"NumberFormatter::parse","description":"Parse a number","tag":"refentry","type":"Function","methodName":"parse"},{"id":"numberformatter.parsecurrency","name":"numfmt_parse_currency","description":"Parse a currency number","tag":"refentry","type":"Function","methodName":"numfmt_parse_currency"},{"id":"numberformatter.parsecurrency","name":"NumberFormatter::parseCurrency","description":"Parse a currency number","tag":"refentry","type":"Function","methodName":"parseCurrency"},{"id":"numberformatter.setattribute","name":"numfmt_set_attribute","description":"Set an attribute","tag":"refentry","type":"Function","methodName":"numfmt_set_attribute"},{"id":"numberformatter.setattribute","name":"NumberFormatter::setAttribute","description":"Set an attribute","tag":"refentry","type":"Function","methodName":"setAttribute"},{"id":"numberformatter.setpattern","name":"numfmt_set_pattern","description":"Set formatter pattern","tag":"refentry","type":"Function","methodName":"numfmt_set_pattern"},{"id":"numberformatter.setpattern","name":"NumberFormatter::setPattern","description":"Set formatter pattern","tag":"refentry","type":"Function","methodName":"setPattern"},{"id":"numberformatter.setsymbol","name":"numfmt_set_symbol","description":"Set a symbol value","tag":"refentry","type":"Function","methodName":"numfmt_set_symbol"},{"id":"numberformatter.setsymbol","name":"NumberFormatter::setSymbol","description":"Set a symbol value","tag":"refentry","type":"Function","methodName":"setSymbol"},{"id":"numberformatter.settextattribute","name":"numfmt_set_text_attribute","description":"Set a text attribute","tag":"refentry","type":"Function","methodName":"numfmt_set_text_attribute"},{"id":"numberformatter.settextattribute","name":"NumberFormatter::setTextAttribute","description":"Set a text attribute","tag":"refentry","type":"Function","methodName":"setTextAttribute"},{"id":"class.numberformatter","name":"NumberFormatter","description":"The NumberFormatter class","tag":"phpdoc:classref","type":"Class","methodName":"NumberFormatter"},{"id":"locale.acceptfromhttp","name":"locale_accept_from_http","description":"Tries to find out best available locale based on HTTP \"Accept-Language\" header","tag":"refentry","type":"Function","methodName":"locale_accept_from_http"},{"id":"locale.acceptfromhttp","name":"Locale::acceptFromHttp","description":"Tries to find out best available locale based on HTTP \"Accept-Language\" header","tag":"refentry","type":"Function","methodName":"acceptFromHttp"},{"id":"locale.canonicalize","name":"locale_canonicalize","description":"Canonicalize the locale string","tag":"refentry","type":"Function","methodName":"locale_canonicalize"},{"id":"locale.canonicalize","name":"Locale::canonicalize","description":"Canonicalize the locale string","tag":"refentry","type":"Function","methodName":"canonicalize"},{"id":"locale.composelocale","name":"locale_compose","description":"Returns a correctly ordered and delimited locale ID","tag":"refentry","type":"Function","methodName":"locale_compose"},{"id":"locale.composelocale","name":"Locale::composeLocale","description":"Returns a correctly ordered and delimited locale ID","tag":"refentry","type":"Function","methodName":"composeLocale"},{"id":"locale.filtermatches","name":"locale_filter_matches","description":"Checks if a language tag filter matches with locale","tag":"refentry","type":"Function","methodName":"locale_filter_matches"},{"id":"locale.filtermatches","name":"Locale::filterMatches","description":"Checks if a language tag filter matches with locale","tag":"refentry","type":"Function","methodName":"filterMatches"},{"id":"locale.getallvariants","name":"locale_get_all_variants","description":"Gets the variants for the input locale","tag":"refentry","type":"Function","methodName":"locale_get_all_variants"},{"id":"locale.getallvariants","name":"Locale::getAllVariants","description":"Gets the variants for the input locale","tag":"refentry","type":"Function","methodName":"getAllVariants"},{"id":"locale.getdefault","name":"locale_get_default","description":"Gets the default locale value from the INTL global 'default_locale'","tag":"refentry","type":"Function","methodName":"locale_get_default"},{"id":"locale.getdefault","name":"Locale::getDefault","description":"Gets the default locale value from the INTL global 'default_locale'","tag":"refentry","type":"Function","methodName":"getDefault"},{"id":"locale.getdisplaylanguage","name":"locale_get_display_language","description":"Returns an appropriately localized display name for language of the inputlocale","tag":"refentry","type":"Function","methodName":"locale_get_display_language"},{"id":"locale.getdisplaylanguage","name":"Locale::getDisplayLanguage","description":"Returns an appropriately localized display name for language of the inputlocale","tag":"refentry","type":"Function","methodName":"getDisplayLanguage"},{"id":"locale.getdisplayname","name":"locale_get_display_name","description":"Returns an appropriately localized display name for the input locale","tag":"refentry","type":"Function","methodName":"locale_get_display_name"},{"id":"locale.getdisplayname","name":"Locale::getDisplayName","description":"Returns an appropriately localized display name for the input locale","tag":"refentry","type":"Function","methodName":"getDisplayName"},{"id":"locale.getdisplayregion","name":"locale_get_display_region","description":"Returns an appropriately localized display name for region of the input locale","tag":"refentry","type":"Function","methodName":"locale_get_display_region"},{"id":"locale.getdisplayregion","name":"Locale::getDisplayRegion","description":"Returns an appropriately localized display name for region of the input locale","tag":"refentry","type":"Function","methodName":"getDisplayRegion"},{"id":"locale.getdisplayscript","name":"locale_get_display_script","description":"Returns an appropriately localized display name for script of the input locale","tag":"refentry","type":"Function","methodName":"locale_get_display_script"},{"id":"locale.getdisplayscript","name":"Locale::getDisplayScript","description":"Returns an appropriately localized display name for script of the input locale","tag":"refentry","type":"Function","methodName":"getDisplayScript"},{"id":"locale.getdisplayvariant","name":"locale_get_display_variant","description":"Returns an appropriately localized display name for variants of the input locale","tag":"refentry","type":"Function","methodName":"locale_get_display_variant"},{"id":"locale.getdisplayvariant","name":"Locale::getDisplayVariant","description":"Returns an appropriately localized display name for variants of the input locale","tag":"refentry","type":"Function","methodName":"getDisplayVariant"},{"id":"locale.getkeywords","name":"locale_get_keywords","description":"Gets the keywords for the input locale","tag":"refentry","type":"Function","methodName":"locale_get_keywords"},{"id":"locale.getkeywords","name":"Locale::getKeywords","description":"Gets the keywords for the input locale","tag":"refentry","type":"Function","methodName":"getKeywords"},{"id":"locale.getprimarylanguage","name":"locale_get_primary_language","description":"Gets the primary language for the input locale","tag":"refentry","type":"Function","methodName":"locale_get_primary_language"},{"id":"locale.getprimarylanguage","name":"Locale::getPrimaryLanguage","description":"Gets the primary language for the input locale","tag":"refentry","type":"Function","methodName":"getPrimaryLanguage"},{"id":"locale.getregion","name":"locale_get_region","description":"Gets the region for the input locale","tag":"refentry","type":"Function","methodName":"locale_get_region"},{"id":"locale.getregion","name":"Locale::getRegion","description":"Gets the region for the input locale","tag":"refentry","type":"Function","methodName":"getRegion"},{"id":"locale.getscript","name":"locale_get_script","description":"Gets the script for the input locale","tag":"refentry","type":"Function","methodName":"locale_get_script"},{"id":"locale.getscript","name":"Locale::getScript","description":"Gets the script for the input locale","tag":"refentry","type":"Function","methodName":"getScript"},{"id":"locale.lookup","name":"locale_lookup","description":"Searches the language tag list for the best match to the language","tag":"refentry","type":"Function","methodName":"locale_lookup"},{"id":"locale.lookup","name":"Locale::lookup","description":"Searches the language tag list for the best match to the language","tag":"refentry","type":"Function","methodName":"lookup"},{"id":"locale.parselocale","name":"locale_parse","description":"Returns a key-value array of locale ID subtag elements","tag":"refentry","type":"Function","methodName":"locale_parse"},{"id":"locale.parselocale","name":"Locale::parseLocale","description":"Returns a key-value array of locale ID subtag elements","tag":"refentry","type":"Function","methodName":"parseLocale"},{"id":"locale.setdefault","name":"locale_set_default","description":"Sets the default runtime locale","tag":"refentry","type":"Function","methodName":"locale_set_default"},{"id":"locale.setdefault","name":"Locale::setDefault","description":"Sets the default runtime locale","tag":"refentry","type":"Function","methodName":"setDefault"},{"id":"class.locale","name":"Locale","description":"The Locale class","tag":"phpdoc:classref","type":"Class","methodName":"Locale"},{"id":"normalizer.getrawdecomposition","name":"normalizer_get_raw_decomposition","description":"Gets the Decomposition_Mapping property for the given UTF-8 encoded code point","tag":"refentry","type":"Function","methodName":"normalizer_get_raw_decomposition"},{"id":"normalizer.getrawdecomposition","name":"Normalizer::getRawDecomposition","description":"Gets the Decomposition_Mapping property for the given UTF-8 encoded code point","tag":"refentry","type":"Function","methodName":"getRawDecomposition"},{"id":"normalizer.isnormalized","name":"normalizer_is_normalized","description":"Checks if the provided string is already in the specified normalization\n form","tag":"refentry","type":"Function","methodName":"normalizer_is_normalized"},{"id":"normalizer.isnormalized","name":"Normalizer::isNormalized","description":"Checks if the provided string is already in the specified normalization\n form","tag":"refentry","type":"Function","methodName":"isNormalized"},{"id":"normalizer.normalize","name":"normalizer_normalize","description":"Normalizes the input provided and returns the normalized string","tag":"refentry","type":"Function","methodName":"normalizer_normalize"},{"id":"normalizer.normalize","name":"Normalizer::normalize","description":"Normalizes the input provided and returns the normalized string","tag":"refentry","type":"Function","methodName":"normalize"},{"id":"class.normalizer","name":"Normalizer","description":"The Normalizer class","tag":"phpdoc:classref","type":"Class","methodName":"Normalizer"},{"id":"messageformatter.create","name":"msgfmt_create","description":"Constructs a new Message Formatter","tag":"refentry","type":"Function","methodName":"msgfmt_create"},{"id":"messageformatter.create","name":"MessageFormatter::__construct","description":"Constructs a new Message Formatter","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"messageformatter.create","name":"MessageFormatter::create","description":"Constructs a new Message Formatter","tag":"refentry","type":"Function","methodName":"create"},{"id":"messageformatter.format","name":"msgfmt_format","description":"Format the message","tag":"refentry","type":"Function","methodName":"msgfmt_format"},{"id":"messageformatter.format","name":"MessageFormatter::format","description":"Format the message","tag":"refentry","type":"Function","methodName":"format"},{"id":"messageformatter.formatmessage","name":"msgfmt_format_message","description":"Quick format message","tag":"refentry","type":"Function","methodName":"msgfmt_format_message"},{"id":"messageformatter.formatmessage","name":"MessageFormatter::formatMessage","description":"Quick format message","tag":"refentry","type":"Function","methodName":"formatMessage"},{"id":"messageformatter.geterrorcode","name":"msgfmt_get_error_code","description":"Get the error code from last operation","tag":"refentry","type":"Function","methodName":"msgfmt_get_error_code"},{"id":"messageformatter.geterrorcode","name":"MessageFormatter::getErrorCode","description":"Get the error code from last operation","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"messageformatter.geterrormessage","name":"msgfmt_get_error_message","description":"Get the error text from the last operation","tag":"refentry","type":"Function","methodName":"msgfmt_get_error_message"},{"id":"messageformatter.geterrormessage","name":"MessageFormatter::getErrorMessage","description":"Get the error text from the last operation","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"messageformatter.getlocale","name":"msgfmt_get_locale","description":"Get the locale for which the formatter was created","tag":"refentry","type":"Function","methodName":"msgfmt_get_locale"},{"id":"messageformatter.getlocale","name":"MessageFormatter::getLocale","description":"Get the locale for which the formatter was created","tag":"refentry","type":"Function","methodName":"getLocale"},{"id":"messageformatter.getpattern","name":"msgfmt_get_pattern","description":"Get the pattern used by the formatter","tag":"refentry","type":"Function","methodName":"msgfmt_get_pattern"},{"id":"messageformatter.getpattern","name":"MessageFormatter::getPattern","description":"Get the pattern used by the formatter","tag":"refentry","type":"Function","methodName":"getPattern"},{"id":"messageformatter.parse","name":"msgfmt_parse","description":"Parse input string according to pattern","tag":"refentry","type":"Function","methodName":"msgfmt_parse"},{"id":"messageformatter.parse","name":"MessageFormatter::parse","description":"Parse input string according to pattern","tag":"refentry","type":"Function","methodName":"parse"},{"id":"messageformatter.parsemessage","name":"msgfmt_parse_message","description":"Quick parse input string","tag":"refentry","type":"Function","methodName":"msgfmt_parse_message"},{"id":"messageformatter.parsemessage","name":"MessageFormatter::parseMessage","description":"Quick parse input string","tag":"refentry","type":"Function","methodName":"parseMessage"},{"id":"messageformatter.setpattern","name":"msgfmt_set_pattern","description":"Set the pattern used by the formatter","tag":"refentry","type":"Function","methodName":"msgfmt_set_pattern"},{"id":"messageformatter.setpattern","name":"MessageFormatter::setPattern","description":"Set the pattern used by the formatter","tag":"refentry","type":"Function","methodName":"setPattern"},{"id":"class.messageformatter","name":"MessageFormatter","description":"The MessageFormatter class","tag":"phpdoc:classref","type":"Class","methodName":"MessageFormatter"},{"id":"intlcalendar.add","name":"IntlCalendar::add","description":"Add a (signed) amount of time to a field","tag":"refentry","type":"Function","methodName":"add"},{"id":"intlcalendar.after","name":"IntlCalendar::after","description":"Whether this object\u02bcs time is after that of the passed object","tag":"refentry","type":"Function","methodName":"after"},{"id":"intlcalendar.before","name":"IntlCalendar::before","description":"Whether this object\u02bcs time is before that of the passed object","tag":"refentry","type":"Function","methodName":"before"},{"id":"intlcalendar.clear","name":"IntlCalendar::clear","description":"Clear a field or all fields","tag":"refentry","type":"Function","methodName":"clear"},{"id":"intlcalendar.construct","name":"IntlCalendar::__construct","description":"Private constructor for disallowing instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intlcalendar.createinstance","name":"IntlCalendar::createInstance","description":"Create a new IntlCalendar","tag":"refentry","type":"Function","methodName":"createInstance"},{"id":"intlcalendar.equals","name":"IntlCalendar::equals","description":"Compare time of two IntlCalendar objects for equality","tag":"refentry","type":"Function","methodName":"equals"},{"id":"intlcalendar.fielddifference","name":"IntlCalendar::fieldDifference","description":"Calculate difference between given time and this object\u02bcs time","tag":"refentry","type":"Function","methodName":"fieldDifference"},{"id":"intlcalendar.fromdatetime","name":"IntlCalendar::fromDateTime","description":"Create an IntlCalendar from a DateTime object or string","tag":"refentry","type":"Function","methodName":"fromDateTime"},{"id":"intlcalendar.get","name":"IntlCalendar::get","description":"Get the value for a field","tag":"refentry","type":"Function","methodName":"get"},{"id":"intlcalendar.getactualmaximum","name":"IntlCalendar::getActualMaximum","description":"The maximum value for a field, considering the object\u02bcs current time","tag":"refentry","type":"Function","methodName":"getActualMaximum"},{"id":"intlcalendar.getactualminimum","name":"IntlCalendar::getActualMinimum","description":"The minimum value for a field, considering the object\u02bcs current time","tag":"refentry","type":"Function","methodName":"getActualMinimum"},{"id":"intlcalendar.getavailablelocales","name":"IntlCalendar::getAvailableLocales","description":"Get array of locales for which there is data","tag":"refentry","type":"Function","methodName":"getAvailableLocales"},{"id":"intlcalendar.getdayofweektype","name":"IntlCalendar::getDayOfWeekType","description":"Tell whether a day is a weekday, weekend or a day that has a transition between the two","tag":"refentry","type":"Function","methodName":"getDayOfWeekType"},{"id":"intlcalendar.geterrorcode","name":"intlcal_get_error_code","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"intlcal_get_error_code"},{"id":"intlcalendar.geterrorcode","name":"IntlCalendar::getErrorCode","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"intlcalendar.geterrormessage","name":"intlcal_get_error_message","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"intlcal_get_error_message"},{"id":"intlcalendar.geterrormessage","name":"IntlCalendar::getErrorMessage","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"intlcalendar.getfirstdayofweek","name":"IntlCalendar::getFirstDayOfWeek","description":"Get the first day of the week for the calendar\u02bcs locale","tag":"refentry","type":"Function","methodName":"getFirstDayOfWeek"},{"id":"intlcalendar.getgreatestminimum","name":"IntlCalendar::getGreatestMinimum","description":"Get the largest local minimum value for a field","tag":"refentry","type":"Function","methodName":"getGreatestMinimum"},{"id":"intlcalendar.getkeywordvaluesforlocale","name":"IntlCalendar::getKeywordValuesForLocale","description":"Get set of locale keyword values","tag":"refentry","type":"Function","methodName":"getKeywordValuesForLocale"},{"id":"intlcalendar.getleastmaximum","name":"IntlCalendar::getLeastMaximum","description":"Get the smallest local maximum for a field","tag":"refentry","type":"Function","methodName":"getLeastMaximum"},{"id":"intlcalendar.getlocale","name":"IntlCalendar::getLocale","description":"Get the locale associated with the object","tag":"refentry","type":"Function","methodName":"getLocale"},{"id":"intlcalendar.getmaximum","name":"IntlCalendar::getMaximum","description":"Get the global maximum value for a field","tag":"refentry","type":"Function","methodName":"getMaximum"},{"id":"intlcalendar.getminimaldaysinfirstweek","name":"IntlCalendar::getMinimalDaysInFirstWeek","description":"Get minimal number of days the first week in a year or month can have","tag":"refentry","type":"Function","methodName":"getMinimalDaysInFirstWeek"},{"id":"intlcalendar.getminimum","name":"IntlCalendar::getMinimum","description":"Get the global minimum value for a field","tag":"refentry","type":"Function","methodName":"getMinimum"},{"id":"intlcalendar.getnow","name":"IntlCalendar::getNow","description":"Get number representing the current time","tag":"refentry","type":"Function","methodName":"getNow"},{"id":"intlcalendar.getrepeatedwalltimeoption","name":"IntlCalendar::getRepeatedWallTimeOption","description":"Get behavior for handling repeating wall time","tag":"refentry","type":"Function","methodName":"getRepeatedWallTimeOption"},{"id":"intlcalendar.getskippedwalltimeoption","name":"IntlCalendar::getSkippedWallTimeOption","description":"Get behavior for handling skipped wall time","tag":"refentry","type":"Function","methodName":"getSkippedWallTimeOption"},{"id":"intlcalendar.gettime","name":"IntlCalendar::getTime","description":"Get time currently represented by the object","tag":"refentry","type":"Function","methodName":"getTime"},{"id":"intlcalendar.gettimezone","name":"IntlCalendar::getTimeZone","description":"Get the object\u02bcs timezone","tag":"refentry","type":"Function","methodName":"getTimeZone"},{"id":"intlcalendar.gettype","name":"IntlCalendar::getType","description":"Get the calendar type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"intlcalendar.getweekendtransition","name":"IntlCalendar::getWeekendTransition","description":"Get time of the day at which weekend begins or ends","tag":"refentry","type":"Function","methodName":"getWeekendTransition"},{"id":"intlcalendar.indaylighttime","name":"IntlCalendar::inDaylightTime","description":"Whether the object\u02bcs time is in Daylight Savings Time","tag":"refentry","type":"Function","methodName":"inDaylightTime"},{"id":"intlcalendar.isequivalentto","name":"IntlCalendar::isEquivalentTo","description":"Whether another calendar is equal but for a different time","tag":"refentry","type":"Function","methodName":"isEquivalentTo"},{"id":"intlcalendar.islenient","name":"IntlCalendar::isLenient","description":"Whether date\/time interpretation is in lenient mode","tag":"refentry","type":"Function","methodName":"isLenient"},{"id":"intlcalendar.isset","name":"IntlCalendar::isSet","description":"Whether a field is set","tag":"refentry","type":"Function","methodName":"isSet"},{"id":"intlcalendar.isweekend","name":"IntlCalendar::isWeekend","description":"Whether a certain date\/time is in the weekend","tag":"refentry","type":"Function","methodName":"isWeekend"},{"id":"intlcalendar.roll","name":"IntlCalendar::roll","description":"Add value to field without carrying into more significant fields","tag":"refentry","type":"Function","methodName":"roll"},{"id":"intlcalendar.set","name":"IntlCalendar::set","description":"Set a time field or several common fields at once","tag":"refentry","type":"Function","methodName":"set"},{"id":"intlcalendar.setdate","name":"IntlCalendar::setDate","description":"Set a date fields","tag":"refentry","type":"Function","methodName":"setDate"},{"id":"intlcalendar.setdatetime","name":"IntlCalendar::setDateTime","description":"Set a date and time fields","tag":"refentry","type":"Function","methodName":"setDateTime"},{"id":"intlcalendar.setfirstdayofweek","name":"IntlCalendar::setFirstDayOfWeek","description":"Set the day on which the week is deemed to start","tag":"refentry","type":"Function","methodName":"setFirstDayOfWeek"},{"id":"intlcalendar.setlenient","name":"IntlCalendar::setLenient","description":"Set whether date\/time interpretation is to be lenient","tag":"refentry","type":"Function","methodName":"setLenient"},{"id":"intlcalendar.setminimaldaysinfirstweek","name":"IntlCalendar::setMinimalDaysInFirstWeek","description":"Set minimal number of days the first week in a year or month can have","tag":"refentry","type":"Function","methodName":"setMinimalDaysInFirstWeek"},{"id":"intlcalendar.setrepeatedwalltimeoption","name":"IntlCalendar::setRepeatedWallTimeOption","description":"Set behavior for handling repeating wall times at negative timezone offset transitions","tag":"refentry","type":"Function","methodName":"setRepeatedWallTimeOption"},{"id":"intlcalendar.setskippedwalltimeoption","name":"IntlCalendar::setSkippedWallTimeOption","description":"Set behavior for handling skipped wall times at positive timezone offset transitions","tag":"refentry","type":"Function","methodName":"setSkippedWallTimeOption"},{"id":"intlcalendar.settime","name":"IntlCalendar::setTime","description":"Set the calendar time in milliseconds since the epoch","tag":"refentry","type":"Function","methodName":"setTime"},{"id":"intlcalendar.settimezone","name":"IntlCalendar::setTimeZone","description":"Set the timezone used by this calendar","tag":"refentry","type":"Function","methodName":"setTimeZone"},{"id":"intlcalendar.todatetime","name":"IntlCalendar::toDateTime","description":"Convert an IntlCalendar into a DateTime object","tag":"refentry","type":"Function","methodName":"toDateTime"},{"id":"class.intlcalendar","name":"IntlCalendar","description":"The IntlCalendar class","tag":"phpdoc:classref","type":"Class","methodName":"IntlCalendar"},{"id":"intlgregoriancalendar.construct","name":"IntlGregorianCalendar::__construct","description":"Create the Gregorian Calendar class","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intlgregoriancalendar.createfromdate","name":"IntlGregorianCalendar::createFromDate","description":"Create a new IntlGregorianCalendar instance from date","tag":"refentry","type":"Function","methodName":"createFromDate"},{"id":"intlgregoriancalendar.createfromdatetime","name":"IntlGregorianCalendar::createFromDateTime","description":"Create a new IntlGregorianCalendar instance from date and time","tag":"refentry","type":"Function","methodName":"createFromDateTime"},{"id":"intlgregoriancalendar.getgregorianchange","name":"IntlGregorianCalendar::getGregorianChange","description":"Get the Gregorian Calendar change date","tag":"refentry","type":"Function","methodName":"getGregorianChange"},{"id":"intlgregoriancalendar.isleapyear","name":"IntlGregorianCalendar::isLeapYear","description":"Determine if the given year is a leap year","tag":"refentry","type":"Function","methodName":"isLeapYear"},{"id":"intlgregoriancalendar.setgregorianchange","name":"IntlGregorianCalendar::setGregorianChange","description":"Set the Gregorian Calendar the change date","tag":"refentry","type":"Function","methodName":"setGregorianChange"},{"id":"class.intlgregoriancalendar","name":"IntlGregorianCalendar","description":"The IntlGregorianCalendar class","tag":"phpdoc:classref","type":"Class","methodName":"IntlGregorianCalendar"},{"id":"intltimezone.construct","name":"IntlTimeZone::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intltimezone.countequivalentids","name":"intltz_count_equivalent_ids","description":"Get the number of IDs in the equivalency group that includes the given ID","tag":"refentry","type":"Function","methodName":"intltz_count_equivalent_ids"},{"id":"intltimezone.countequivalentids","name":"IntlTimeZone::countEquivalentIDs","description":"Get the number of IDs in the equivalency group that includes the given ID","tag":"refentry","type":"Function","methodName":"countEquivalentIDs"},{"id":"intltimezone.createdefault","name":"intltz_create_default","description":"Create a new copy of the default timezone for this host","tag":"refentry","type":"Function","methodName":"intltz_create_default"},{"id":"intltimezone.createdefault","name":"IntlTimeZone::createDefault","description":"Create a new copy of the default timezone for this host","tag":"refentry","type":"Function","methodName":"createDefault"},{"id":"intltimezone.createenumeration","name":"intltz_create_enumeration","description":"Get an enumeration over time zone IDs associated with the\n given country or offset","tag":"refentry","type":"Function","methodName":"intltz_create_enumeration"},{"id":"intltimezone.createenumeration","name":"IntlTimeZone::createEnumeration","description":"Get an enumeration over time zone IDs associated with the\n given country or offset","tag":"refentry","type":"Function","methodName":"createEnumeration"},{"id":"intltimezone.createtimezone","name":"intltz_create_time_zone","description":"Create a timezone object for the given ID","tag":"refentry","type":"Function","methodName":"intltz_create_time_zone"},{"id":"intltimezone.createtimezone","name":"IntlTimeZone::createTimeZone","description":"Create a timezone object for the given ID","tag":"refentry","type":"Function","methodName":"createTimeZone"},{"id":"intltimezone.createtimezoneidenumeration","name":"intltz_create_time_zone_id_enumeration","description":"Get an enumeration over system time zone IDs with the given filter conditions","tag":"refentry","type":"Function","methodName":"intltz_create_time_zone_id_enumeration"},{"id":"intltimezone.createtimezoneidenumeration","name":"IntlTimeZone::createTimeZoneIDEnumeration","description":"Get an enumeration over system time zone IDs with the given filter conditions","tag":"refentry","type":"Function","methodName":"createTimeZoneIDEnumeration"},{"id":"intltimezone.fromdatetimezone","name":"intltz_from_date_time_zone","description":"Create a timezone object from DateTimeZone","tag":"refentry","type":"Function","methodName":"intltz_from_date_time_zone"},{"id":"intltimezone.fromdatetimezone","name":"IntlTimeZone::fromDateTimeZone","description":"Create a timezone object from DateTimeZone","tag":"refentry","type":"Function","methodName":"fromDateTimeZone"},{"id":"intltimezone.getcanonicalid","name":"intltz_get_canonical_id","description":"Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID","tag":"refentry","type":"Function","methodName":"intltz_get_canonical_id"},{"id":"intltimezone.getcanonicalid","name":"IntlTimeZone::getCanonicalID","description":"Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID","tag":"refentry","type":"Function","methodName":"getCanonicalID"},{"id":"intltimezone.getdisplayname","name":"intltz_get_display_name","description":"Get a name of this time zone suitable for presentation to the user","tag":"refentry","type":"Function","methodName":"intltz_get_display_name"},{"id":"intltimezone.getdisplayname","name":"IntlTimeZone::getDisplayName","description":"Get a name of this time zone suitable for presentation to the user","tag":"refentry","type":"Function","methodName":"getDisplayName"},{"id":"intltimezone.getdstsavings","name":"intltz_get_dst_savings","description":"Get the amount of time to be added to local standard time to get local wall clock time","tag":"refentry","type":"Function","methodName":"intltz_get_dst_savings"},{"id":"intltimezone.getdstsavings","name":"IntlTimeZone::getDSTSavings","description":"Get the amount of time to be added to local standard time to get local wall clock time","tag":"refentry","type":"Function","methodName":"getDSTSavings"},{"id":"intltimezone.getequivalentid","name":"intltz_get_equivalent_id","description":"Get an ID in the equivalency group that includes the given ID","tag":"refentry","type":"Function","methodName":"intltz_get_equivalent_id"},{"id":"intltimezone.getequivalentid","name":"IntlTimeZone::getEquivalentID","description":"Get an ID in the equivalency group that includes the given ID","tag":"refentry","type":"Function","methodName":"getEquivalentID"},{"id":"intltimezone.geterrorcode","name":"intltz_get_error_code","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"intltz_get_error_code"},{"id":"intltimezone.geterrorcode","name":"IntlTimeZone::getErrorCode","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"intltimezone.geterrormessage","name":"intltz_get_error_message","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"intltz_get_error_message"},{"id":"intltimezone.geterrormessage","name":"IntlTimeZone::getErrorMessage","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"intltimezone.getgmt","name":"intltz_get_gmt","description":"Create GMT (UTC) timezone","tag":"refentry","type":"Function","methodName":"intltz_get_gmt"},{"id":"intltimezone.getgmt","name":"IntlTimeZone::getGMT","description":"Create GMT (UTC) timezone","tag":"refentry","type":"Function","methodName":"getGMT"},{"id":"intltimezone.getid","name":"intltz_get_id","description":"Get timezone ID","tag":"refentry","type":"Function","methodName":"intltz_get_id"},{"id":"intltimezone.getid","name":"IntlTimeZone::getID","description":"Get timezone ID","tag":"refentry","type":"Function","methodName":"getID"},{"id":"intltimezone.getidforwindowsid","name":"intltz_get_id_for_windows_id","description":"Translate a Windows timezone into a system timezone","tag":"refentry","type":"Function","methodName":"intltz_get_id_for_windows_id"},{"id":"intltimezone.getidforwindowsid","name":"IntlTimeZone::getIDForWindowsID","description":"Translate a Windows timezone into a system timezone","tag":"refentry","type":"Function","methodName":"getIDForWindowsID"},{"id":"intltimezone.getoffset","name":"intltz_get_offset","description":"Get the time zone raw and GMT offset for the given moment in time","tag":"refentry","type":"Function","methodName":"intltz_get_offset"},{"id":"intltimezone.getoffset","name":"IntlTimeZone::getOffset","description":"Get the time zone raw and GMT offset for the given moment in time","tag":"refentry","type":"Function","methodName":"getOffset"},{"id":"intltimezone.getrawoffset","name":"intltz_get_raw_offset","description":"Get the raw GMT offset (before taking daylight savings time into account","tag":"refentry","type":"Function","methodName":"intltz_get_raw_offset"},{"id":"intltimezone.getrawoffset","name":"IntlTimeZone::getRawOffset","description":"Get the raw GMT offset (before taking daylight savings time into account","tag":"refentry","type":"Function","methodName":"getRawOffset"},{"id":"intltimezone.getregion","name":"intltz_get_region","description":"Get the region code associated with the given system time zone ID","tag":"refentry","type":"Function","methodName":"intltz_get_region"},{"id":"intltimezone.getregion","name":"IntlTimeZone::getRegion","description":"Get the region code associated with the given system time zone ID","tag":"refentry","type":"Function","methodName":"getRegion"},{"id":"intltimezone.gettzdataversion","name":"intltz_get_tz_data_version","description":"Get the timezone data version currently used by ICU","tag":"refentry","type":"Function","methodName":"intltz_get_tz_data_version"},{"id":"intltimezone.gettzdataversion","name":"IntlTimeZone::getTZDataVersion","description":"Get the timezone data version currently used by ICU","tag":"refentry","type":"Function","methodName":"getTZDataVersion"},{"id":"intltimezone.getunknown","name":"intltz_get_unknown","description":"Get the \"unknown\" time zone","tag":"refentry","type":"Function","methodName":"intltz_get_unknown"},{"id":"intltimezone.getunknown","name":"IntlTimeZone::getUnknown","description":"Get the \"unknown\" time zone","tag":"refentry","type":"Function","methodName":"getUnknown"},{"id":"intltimezone.getwindowsid","name":"intltz_get_windows_id","description":"Translate a system timezone into a Windows timezone","tag":"refentry","type":"Function","methodName":"intltz_get_windows_id"},{"id":"intltimezone.getwindowsid","name":"IntlTimeZone::getWindowsID","description":"Translate a system timezone into a Windows timezone","tag":"refentry","type":"Function","methodName":"getWindowsID"},{"id":"intltimezone.hassamerules","name":"intltz_has_same_rules","description":"Check if this zone has the same rules and offset as another zone","tag":"refentry","type":"Function","methodName":"intltz_has_same_rules"},{"id":"intltimezone.hassamerules","name":"IntlTimeZone::hasSameRules","description":"Check if this zone has the same rules and offset as another zone","tag":"refentry","type":"Function","methodName":"hasSameRules"},{"id":"intltimezone.todatetimezone","name":"intltz_to_date_time_zone","description":"Convert to DateTimeZone object","tag":"refentry","type":"Function","methodName":"intltz_to_date_time_zone"},{"id":"intltimezone.todatetimezone","name":"IntlTimeZone::toDateTimeZone","description":"Convert to DateTimeZone object","tag":"refentry","type":"Function","methodName":"toDateTimeZone"},{"id":"intltimezone.usedaylighttime","name":"intltz_use_daylight_time","description":"Check if this time zone uses daylight savings time","tag":"refentry","type":"Function","methodName":"intltz_use_daylight_time"},{"id":"intltimezone.usedaylighttime","name":"IntlTimeZone::useDaylightTime","description":"Check if this time zone uses daylight savings time","tag":"refentry","type":"Function","methodName":"useDaylightTime"},{"id":"class.intltimezone","name":"IntlTimeZone","description":"The IntlTimeZone class","tag":"phpdoc:classref","type":"Class","methodName":"IntlTimeZone"},{"id":"intldateformatter.create","name":"IntlDateFormatter::__construct","description":"Create a date formatter","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intldateformatter.create","name":"datefmt_create","description":"Create a date formatter","tag":"refentry","type":"Function","methodName":"datefmt_create"},{"id":"intldateformatter.create","name":"IntlDateFormatter::create","description":"Create a date formatter","tag":"refentry","type":"Function","methodName":"create"},{"id":"intldateformatter.format","name":"datefmt_format","description":"Format the date\/time value as a string","tag":"refentry","type":"Function","methodName":"datefmt_format"},{"id":"intldateformatter.format","name":"IntlDateFormatter::format","description":"Format the date\/time value as a string","tag":"refentry","type":"Function","methodName":"format"},{"id":"intldateformatter.formatobject","name":"datefmt_format_object","description":"Formats an object","tag":"refentry","type":"Function","methodName":"datefmt_format_object"},{"id":"intldateformatter.formatobject","name":"IntlDateFormatter::formatObject","description":"Formats an object","tag":"refentry","type":"Function","methodName":"formatObject"},{"id":"intldateformatter.getcalendar","name":"datefmt_get_calendar","description":"Get the calendar type used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_get_calendar"},{"id":"intldateformatter.getcalendar","name":"IntlDateFormatter::getCalendar","description":"Get the calendar type used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"getCalendar"},{"id":"intldateformatter.getdatetype","name":"datefmt_get_datetype","description":"Get the datetype used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_get_datetype"},{"id":"intldateformatter.getdatetype","name":"IntlDateFormatter::getDateType","description":"Get the datetype used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"getDateType"},{"id":"intldateformatter.geterrorcode","name":"datefmt_get_error_code","description":"Get the error code from last operation","tag":"refentry","type":"Function","methodName":"datefmt_get_error_code"},{"id":"intldateformatter.geterrorcode","name":"IntlDateFormatter::getErrorCode","description":"Get the error code from last operation","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"intldateformatter.geterrormessage","name":"datefmt_get_error_message","description":"Get the error text from the last operation","tag":"refentry","type":"Function","methodName":"datefmt_get_error_message"},{"id":"intldateformatter.geterrormessage","name":"IntlDateFormatter::getErrorMessage","description":"Get the error text from the last operation","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"intldateformatter.getlocale","name":"datefmt_get_locale","description":"Get the locale used by formatter","tag":"refentry","type":"Function","methodName":"datefmt_get_locale"},{"id":"intldateformatter.getlocale","name":"IntlDateFormatter::getLocale","description":"Get the locale used by formatter","tag":"refentry","type":"Function","methodName":"getLocale"},{"id":"intldateformatter.getpattern","name":"datefmt_get_pattern","description":"Get the pattern used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_get_pattern"},{"id":"intldateformatter.getpattern","name":"IntlDateFormatter::getPattern","description":"Get the pattern used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"getPattern"},{"id":"intldateformatter.gettimetype","name":"datefmt_get_timetype","description":"Get the timetype used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_get_timetype"},{"id":"intldateformatter.gettimetype","name":"IntlDateFormatter::getTimeType","description":"Get the timetype used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"getTimeType"},{"id":"intldateformatter.gettimezoneid","name":"datefmt_get_timezone_id","description":"Get the timezone-id used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_get_timezone_id"},{"id":"intldateformatter.gettimezoneid","name":"IntlDateFormatter::getTimeZoneId","description":"Get the timezone-id used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"getTimeZoneId"},{"id":"intldateformatter.getcalendarobject","name":"datefmt_get_calendar_object","description":"Get copy of formatter\u02bcs calendar object","tag":"refentry","type":"Function","methodName":"datefmt_get_calendar_object"},{"id":"intldateformatter.getcalendarobject","name":"IntlDateFormatter::getCalendarObject","description":"Get copy of formatter\u02bcs calendar object","tag":"refentry","type":"Function","methodName":"getCalendarObject"},{"id":"intldateformatter.gettimezone","name":"datefmt_get_timezone","description":"Get formatter\u02bcs timezone","tag":"refentry","type":"Function","methodName":"datefmt_get_timezone"},{"id":"intldateformatter.gettimezone","name":"IntlDateFormatter::getTimeZone","description":"Get formatter\u02bcs timezone","tag":"refentry","type":"Function","methodName":"getTimeZone"},{"id":"intldateformatter.islenient","name":"datefmt_is_lenient","description":"Get the lenient used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_is_lenient"},{"id":"intldateformatter.islenient","name":"IntlDateFormatter::isLenient","description":"Get the lenient used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"isLenient"},{"id":"intldateformatter.localtime","name":"datefmt_localtime","description":"Parse string to a field-based time value","tag":"refentry","type":"Function","methodName":"datefmt_localtime"},{"id":"intldateformatter.localtime","name":"IntlDateFormatter::localtime","description":"Parse string to a field-based time value","tag":"refentry","type":"Function","methodName":"localtime"},{"id":"intldateformatter.parse","name":"datefmt_parse","description":"Parse string to a timestamp value","tag":"refentry","type":"Function","methodName":"datefmt_parse"},{"id":"intldateformatter.parse","name":"IntlDateFormatter::parse","description":"Parse string to a timestamp value","tag":"refentry","type":"Function","methodName":"parse"},{"id":"intldateformatter.setcalendar","name":"datefmt_set_calendar","description":"Sets the calendar type used by the formatter","tag":"refentry","type":"Function","methodName":"datefmt_set_calendar"},{"id":"intldateformatter.setcalendar","name":"IntlDateFormatter::setCalendar","description":"Sets the calendar type used by the formatter","tag":"refentry","type":"Function","methodName":"setCalendar"},{"id":"intldateformatter.setlenient","name":"datefmt_set_lenient","description":"Set the leniency of the parser","tag":"refentry","type":"Function","methodName":"datefmt_set_lenient"},{"id":"intldateformatter.setlenient","name":"IntlDateFormatter::setLenient","description":"Set the leniency of the parser","tag":"refentry","type":"Function","methodName":"setLenient"},{"id":"intldateformatter.setpattern","name":"datefmt_set_pattern","description":"Set the pattern used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"datefmt_set_pattern"},{"id":"intldateformatter.setpattern","name":"IntlDateFormatter::setPattern","description":"Set the pattern used for the IntlDateFormatter","tag":"refentry","type":"Function","methodName":"setPattern"},{"id":"intldateformatter.settimezone","name":"datefmt_set_timezone","description":"Sets formatter\u02bcs timezone","tag":"refentry","type":"Function","methodName":"datefmt_set_timezone"},{"id":"intldateformatter.settimezone","name":"IntlDateFormatter::setTimeZone","description":"Sets formatter\u02bcs timezone","tag":"refentry","type":"Function","methodName":"setTimeZone"},{"id":"class.intldateformatter","name":"IntlDateFormatter","description":"The IntlDateFormatter class","tag":"phpdoc:classref","type":"Class","methodName":"IntlDateFormatter"},{"id":"resourcebundle.count","name":"resourcebundle_count","description":"Get number of elements in the bundle","tag":"refentry","type":"Function","methodName":"resourcebundle_count"},{"id":"resourcebundle.count","name":"ResourceBundle::count","description":"Get number of elements in the bundle","tag":"refentry","type":"Function","methodName":"count"},{"id":"resourcebundle.create","name":"ResourceBundle::__construct","description":"Create a resource bundle","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"resourcebundle.create","name":"resourcebundle_create","description":"Create a resource bundle","tag":"refentry","type":"Function","methodName":"resourcebundle_create"},{"id":"resourcebundle.create","name":"ResourceBundle::create","description":"Create a resource bundle","tag":"refentry","type":"Function","methodName":"create"},{"id":"resourcebundle.get","name":"resourcebundle_get","description":"Get data from the bundle","tag":"refentry","type":"Function","methodName":"resourcebundle_get"},{"id":"resourcebundle.get","name":"ResourceBundle::get","description":"Get data from the bundle","tag":"refentry","type":"Function","methodName":"get"},{"id":"resourcebundle.geterrorcode","name":"resourcebundle_get_error_code","description":"Get bundle's last error code","tag":"refentry","type":"Function","methodName":"resourcebundle_get_error_code"},{"id":"resourcebundle.geterrorcode","name":"ResourceBundle::getErrorCode","description":"Get bundle's last error code","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"resourcebundle.geterrormessage","name":"resourcebundle_get_error_message","description":"Get bundle's last error message","tag":"refentry","type":"Function","methodName":"resourcebundle_get_error_message"},{"id":"resourcebundle.geterrormessage","name":"ResourceBundle::getErrorMessage","description":"Get bundle's last error message","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"resourcebundle.locales","name":"resourcebundle_locales","description":"Get supported locales","tag":"refentry","type":"Function","methodName":"resourcebundle_locales"},{"id":"resourcebundle.locales","name":"ResourceBundle::getLocales","description":"Get supported locales","tag":"refentry","type":"Function","methodName":"getLocales"},{"id":"class.resourcebundle","name":"ResourceBundle","description":"The ResourceBundle class","tag":"phpdoc:classref","type":"Class","methodName":"ResourceBundle"},{"id":"spoofchecker.areconfusable","name":"Spoofchecker::areConfusable","description":"Checks if given strings can be confused","tag":"refentry","type":"Function","methodName":"areConfusable"},{"id":"spoofchecker.construct","name":"Spoofchecker::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"spoofchecker.issuspicious","name":"Spoofchecker::isSuspicious","description":"Checks if a given text contains any suspicious characters","tag":"refentry","type":"Function","methodName":"isSuspicious"},{"id":"spoofchecker.setallowedlocales","name":"Spoofchecker::setAllowedLocales","description":"Locales to use when running checks","tag":"refentry","type":"Function","methodName":"setAllowedLocales"},{"id":"spoofchecker.setchecks","name":"Spoofchecker::setChecks","description":"Set the checks to run","tag":"refentry","type":"Function","methodName":"setChecks"},{"id":"spoofchecker.setrestrictionlevel","name":"Spoofchecker::setRestrictionLevel","description":"Set the restriction level","tag":"refentry","type":"Function","methodName":"setRestrictionLevel"},{"id":"class.spoofchecker","name":"Spoofchecker","description":"The Spoofchecker class","tag":"phpdoc:classref","type":"Class","methodName":"Spoofchecker"},{"id":"transliterator.construct","name":"Transliterator::__construct","description":"Private constructor to deny instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"transliterator.create","name":"transliterator_create","description":"Create a transliterator","tag":"refentry","type":"Function","methodName":"transliterator_create"},{"id":"transliterator.create","name":"Transliterator::create","description":"Create a transliterator","tag":"refentry","type":"Function","methodName":"create"},{"id":"transliterator.createfromrules","name":"transliterator_create_from_rules","description":"Create transliterator from rules","tag":"refentry","type":"Function","methodName":"transliterator_create_from_rules"},{"id":"transliterator.createfromrules","name":"Transliterator::createFromRules","description":"Create transliterator from rules","tag":"refentry","type":"Function","methodName":"createFromRules"},{"id":"transliterator.createinverse","name":"transliterator_create_inverse","description":"Create an inverse transliterator","tag":"refentry","type":"Function","methodName":"transliterator_create_inverse"},{"id":"transliterator.createinverse","name":"Transliterator::createInverse","description":"Create an inverse transliterator","tag":"refentry","type":"Function","methodName":"createInverse"},{"id":"transliterator.geterrorcode","name":"transliterator_get_error_code","description":"Get last error code","tag":"refentry","type":"Function","methodName":"transliterator_get_error_code"},{"id":"transliterator.geterrorcode","name":"Transliterator::getErrorCode","description":"Get last error code","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"transliterator.geterrormessage","name":"transliterator_get_error_message","description":"Get last error message","tag":"refentry","type":"Function","methodName":"transliterator_get_error_message"},{"id":"transliterator.geterrormessage","name":"Transliterator::getErrorMessage","description":"Get last error message","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"transliterator.listids","name":"transliterator_list_ids","description":"Get transliterator IDs","tag":"refentry","type":"Function","methodName":"transliterator_list_ids"},{"id":"transliterator.listids","name":"Transliterator::listIDs","description":"Get transliterator IDs","tag":"refentry","type":"Function","methodName":"listIDs"},{"id":"transliterator.transliterate","name":"transliterator_transliterate","description":"Transliterate a string","tag":"refentry","type":"Function","methodName":"transliterator_transliterate"},{"id":"transliterator.transliterate","name":"Transliterator::transliterate","description":"Transliterate a string","tag":"refentry","type":"Function","methodName":"transliterate"},{"id":"class.transliterator","name":"Transliterator","description":"The Transliterator class","tag":"phpdoc:classref","type":"Class","methodName":"Transliterator"},{"id":"intlbreakiterator.construct","name":"IntlBreakIterator::__construct","description":"Private constructor for disallowing instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intlbreakiterator.createcharacterinstance","name":"IntlBreakIterator::createCharacterInstance","description":"Create break iterator for boundaries of combining character sequences","tag":"refentry","type":"Function","methodName":"createCharacterInstance"},{"id":"intlbreakiterator.createcodepointinstance","name":"IntlBreakIterator::createCodePointInstance","description":"Create break iterator for boundaries of code points","tag":"refentry","type":"Function","methodName":"createCodePointInstance"},{"id":"intlbreakiterator.createlineinstance","name":"IntlBreakIterator::createLineInstance","description":"Create break iterator for logically possible line breaks","tag":"refentry","type":"Function","methodName":"createLineInstance"},{"id":"intlbreakiterator.createsentenceinstance","name":"IntlBreakIterator::createSentenceInstance","description":"Create break iterator for sentence breaks","tag":"refentry","type":"Function","methodName":"createSentenceInstance"},{"id":"intlbreakiterator.createtitleinstance","name":"IntlBreakIterator::createTitleInstance","description":"Create break iterator for title-casing breaks","tag":"refentry","type":"Function","methodName":"createTitleInstance"},{"id":"intlbreakiterator.createwordinstance","name":"IntlBreakIterator::createWordInstance","description":"Create break iterator for word breaks","tag":"refentry","type":"Function","methodName":"createWordInstance"},{"id":"intlbreakiterator.current","name":"IntlBreakIterator::current","description":"Get index of current position","tag":"refentry","type":"Function","methodName":"current"},{"id":"intlbreakiterator.first","name":"IntlBreakIterator::first","description":"Set position to the first character in the text","tag":"refentry","type":"Function","methodName":"first"},{"id":"intlbreakiterator.following","name":"IntlBreakIterator::following","description":"Advance the iterator to the first boundary following specified offset","tag":"refentry","type":"Function","methodName":"following"},{"id":"intlbreakiterator.geterrorcode","name":"intl_get_error_code","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"intl_get_error_code"},{"id":"intlbreakiterator.geterrorcode","name":"IntlBreakIterator::getErrorCode","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"intlbreakiterator.geterrormessage","name":"intl_get_error_message","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"intl_get_error_message"},{"id":"intlbreakiterator.geterrormessage","name":"IntlBreakIterator::getErrorMessage","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"intlbreakiterator.getlocale","name":"IntlBreakIterator::getLocale","description":"Get the locale associated with the object","tag":"refentry","type":"Function","methodName":"getLocale"},{"id":"intlbreakiterator.getpartsiterator","name":"IntlBreakIterator::getPartsIterator","description":"Create iterator for navigating fragments between boundaries","tag":"refentry","type":"Function","methodName":"getPartsIterator"},{"id":"intlbreakiterator.gettext","name":"IntlBreakIterator::getText","description":"Get the text being scanned","tag":"refentry","type":"Function","methodName":"getText"},{"id":"intlbreakiterator.isboundary","name":"IntlBreakIterator::isBoundary","description":"Tell whether an offset is a boundary\u02bcs offset","tag":"refentry","type":"Function","methodName":"isBoundary"},{"id":"intlbreakiterator.last","name":"IntlBreakIterator::last","description":"Set the iterator position to index beyond the last character","tag":"refentry","type":"Function","methodName":"last"},{"id":"intlbreakiterator.next","name":"IntlBreakIterator::next","description":"Advance the iterator the next boundary","tag":"refentry","type":"Function","methodName":"next"},{"id":"intlbreakiterator.preceding","name":"IntlBreakIterator::preceding","description":"Set the iterator position to the first boundary before an offset","tag":"refentry","type":"Function","methodName":"preceding"},{"id":"intlbreakiterator.previous","name":"IntlBreakIterator::previous","description":"Set the iterator position to the boundary immediately before the current","tag":"refentry","type":"Function","methodName":"previous"},{"id":"intlbreakiterator.settext","name":"IntlBreakIterator::setText","description":"Set the text being scanned","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.intlbreakiterator","name":"IntlBreakIterator","description":"The IntlBreakIterator class","tag":"phpdoc:classref","type":"Class","methodName":"IntlBreakIterator"},{"id":"intlrulebasedbreakiterator.construct","name":"IntlRuleBasedBreakIterator::__construct","description":"Create iterator from ruleset","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intlrulebasedbreakiterator.getbinaryrules","name":"IntlRuleBasedBreakIterator::getBinaryRules","description":"Get the binary form of compiled rules","tag":"refentry","type":"Function","methodName":"getBinaryRules"},{"id":"intlrulebasedbreakiterator.getrules","name":"IntlRuleBasedBreakIterator::getRules","description":"Get the rule set used to create this object","tag":"refentry","type":"Function","methodName":"getRules"},{"id":"intlrulebasedbreakiterator.getrulestatus","name":"IntlRuleBasedBreakIterator::getRuleStatus","description":"Get the largest status value from the break rules that determined the current break position","tag":"refentry","type":"Function","methodName":"getRuleStatus"},{"id":"intlrulebasedbreakiterator.getrulestatusvec","name":"IntlRuleBasedBreakIterator::getRuleStatusVec","description":"Get the status values from the break rules that determined the current break position","tag":"refentry","type":"Function","methodName":"getRuleStatusVec"},{"id":"class.intlrulebasedbreakiterator","name":"IntlRuleBasedBreakIterator","description":"The IntlRuleBasedBreakIterator class","tag":"phpdoc:classref","type":"Class","methodName":"IntlRuleBasedBreakIterator"},{"id":"intlcodepointbreakiterator.getlastcodepoint","name":"IntlCodePointBreakIterator::getLastCodePoint","description":"Get last code point passed over after advancing or receding the iterator","tag":"refentry","type":"Function","methodName":"getLastCodePoint"},{"id":"class.intlcodepointbreakiterator","name":"IntlCodePointBreakIterator","description":"The IntlCodePointBreakIterator class","tag":"phpdoc:classref","type":"Class","methodName":"IntlCodePointBreakIterator"},{"id":"intldatepatterngenerator.create","name":"IntlDatePatternGenerator::__construct","description":"Creates a new IntlDatePatternGenerator instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"intldatepatterngenerator.create","name":"IntlDatePatternGenerator::create","description":"Creates a new IntlDatePatternGenerator instance","tag":"refentry","type":"Function","methodName":"create"},{"id":"intldatepatterngenerator.getbestpattern","name":"IntlDatePatternGenerator::getBestPattern","description":"Determines the most suitable date\/time format","tag":"refentry","type":"Function","methodName":"getBestPattern"},{"id":"class.intldatepatterngenerator","name":"IntlDatePatternGenerator","description":"The IntlDatePatternGenerator class","tag":"phpdoc:classref","type":"Class","methodName":"IntlDatePatternGenerator"},{"id":"intlpartsiterator.getbreakiterator","name":"IntlPartsIterator::getBreakIterator","description":"Get IntlBreakIterator backing this parts iterator","tag":"refentry","type":"Function","methodName":"getBreakIterator"},{"id":"class.intlpartsiterator","name":"IntlPartsIterator","description":"The IntlPartsIterator class","tag":"phpdoc:classref","type":"Class","methodName":"IntlPartsIterator"},{"id":"uconverter.construct","name":"UConverter::__construct","description":"Create UConverter object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"uconverter.convert","name":"UConverter::convert","description":"Convert string from one charset to another","tag":"refentry","type":"Function","methodName":"convert"},{"id":"uconverter.fromucallback","name":"UConverter::fromUCallback","description":"Default \"from\" callback function","tag":"refentry","type":"Function","methodName":"fromUCallback"},{"id":"uconverter.getaliases","name":"UConverter::getAliases","description":"Get the aliases of the given name","tag":"refentry","type":"Function","methodName":"getAliases"},{"id":"uconverter.getavailable","name":"UConverter::getAvailable","description":"Get the available canonical converter names","tag":"refentry","type":"Function","methodName":"getAvailable"},{"id":"uconverter.getdestinationencoding","name":"UConverter::getDestinationEncoding","description":"Get the destination encoding","tag":"refentry","type":"Function","methodName":"getDestinationEncoding"},{"id":"uconverter.getdestinationtype","name":"UConverter::getDestinationType","description":"Get the destination converter type","tag":"refentry","type":"Function","methodName":"getDestinationType"},{"id":"uconverter.geterrorcode","name":"intl_get_error_code","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"intl_get_error_code"},{"id":"uconverter.geterrorcode","name":"UConverter::getErrorCode","description":"Get last error code on the object","tag":"refentry","type":"Function","methodName":"getErrorCode"},{"id":"uconverter.geterrormessage","name":"UConverter::getErrorMessage","description":"Get last error message on the object","tag":"refentry","type":"Function","methodName":"getErrorMessage"},{"id":"uconverter.getsourceencoding","name":"UConverter::getSourceEncoding","description":"Get the source encoding","tag":"refentry","type":"Function","methodName":"getSourceEncoding"},{"id":"uconverter.getsourcetype","name":"UConverter::getSourceType","description":"Get the source converter type","tag":"refentry","type":"Function","methodName":"getSourceType"},{"id":"uconverter.getstandards","name":"UConverter::getStandards","description":"Get standards associated to converter names","tag":"refentry","type":"Function","methodName":"getStandards"},{"id":"uconverter.getsubstchars","name":"UConverter::getSubstChars","description":"Get substitution chars","tag":"refentry","type":"Function","methodName":"getSubstChars"},{"id":"uconverter.reasontext","name":"UConverter::reasonText","description":"Get string representation of the callback reason","tag":"refentry","type":"Function","methodName":"reasonText"},{"id":"uconverter.setdestinationencoding","name":"UConverter::setDestinationEncoding","description":"Set the destination encoding","tag":"refentry","type":"Function","methodName":"setDestinationEncoding"},{"id":"uconverter.setsourceencoding","name":"UConverter::setSourceEncoding","description":"Set the source encoding","tag":"refentry","type":"Function","methodName":"setSourceEncoding"},{"id":"uconverter.setsubstchars","name":"UConverter::setSubstChars","description":"Set the substitution chars","tag":"refentry","type":"Function","methodName":"setSubstChars"},{"id":"uconverter.toucallback","name":"UConverter::toUCallback","description":"Default \"to\" callback function","tag":"refentry","type":"Function","methodName":"toUCallback"},{"id":"uconverter.transcode","name":"UConverter::transcode","description":"Convert a string from one character encoding to another","tag":"refentry","type":"Function","methodName":"transcode"},{"id":"class.uconverter","name":"UConverter","description":"The UConverter class","tag":"phpdoc:classref","type":"Class","methodName":"UConverter"},{"id":"function.grapheme-extract","name":"grapheme_extract","description":"Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8","tag":"refentry","type":"Function","methodName":"grapheme_extract"},{"id":"function.grapheme-str-split","name":"grapheme_str_split","description":"Split a string into an array","tag":"refentry","type":"Function","methodName":"grapheme_str_split"},{"id":"function.grapheme-stripos","name":"grapheme_stripos","description":"Find position (in grapheme units) of first occurrence of a case-insensitive string","tag":"refentry","type":"Function","methodName":"grapheme_stripos"},{"id":"function.grapheme-stristr","name":"grapheme_stristr","description":"Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack","tag":"refentry","type":"Function","methodName":"grapheme_stristr"},{"id":"function.grapheme-strlen","name":"grapheme_strlen","description":"Get string length in grapheme units","tag":"refentry","type":"Function","methodName":"grapheme_strlen"},{"id":"function.grapheme-strpos","name":"grapheme_strpos","description":"Find position (in grapheme units) of first occurrence of a string","tag":"refentry","type":"Function","methodName":"grapheme_strpos"},{"id":"function.grapheme-strripos","name":"grapheme_strripos","description":"Find position (in grapheme units) of last occurrence of a case-insensitive string","tag":"refentry","type":"Function","methodName":"grapheme_strripos"},{"id":"function.grapheme-strrpos","name":"grapheme_strrpos","description":"Find position (in grapheme units) of last occurrence of a string","tag":"refentry","type":"Function","methodName":"grapheme_strrpos"},{"id":"function.grapheme-strstr","name":"grapheme_strstr","description":"Returns part of haystack string from the first occurrence of needle to the end of haystack","tag":"refentry","type":"Function","methodName":"grapheme_strstr"},{"id":"function.grapheme-substr","name":"grapheme_substr","description":"Return part of a string","tag":"refentry","type":"Function","methodName":"grapheme_substr"},{"id":"ref.intl.grapheme","name":"Grapheme Functions","description":"Internationalization Functions","tag":"reference","type":"Extension","methodName":"Grapheme Functions"},{"id":"function.idn-to-ascii","name":"idn_to_ascii","description":"Convert domain name to IDNA ASCII form","tag":"refentry","type":"Function","methodName":"idn_to_ascii"},{"id":"function.idn-to-utf8","name":"idn_to_utf8","description":"Convert domain name from IDNA ASCII to Unicode","tag":"refentry","type":"Function","methodName":"idn_to_utf8"},{"id":"ref.intl.idn","name":"IDN Functions","description":"Internationalization Functions","tag":"reference","type":"Extension","methodName":"IDN Functions"},{"id":"intlchar.charage","name":"IntlChar::charAge","description":"Get the \"age\" of the code point","tag":"refentry","type":"Function","methodName":"charAge"},{"id":"intlchar.chardigitvalue","name":"IntlChar::charDigitValue","description":"Get the decimal digit value of a decimal digit character","tag":"refentry","type":"Function","methodName":"charDigitValue"},{"id":"intlchar.chardirection","name":"IntlChar::charDirection","description":"Get bidirectional category value for a code point","tag":"refentry","type":"Function","methodName":"charDirection"},{"id":"intlchar.charfromname","name":"IntlChar::charFromName","description":"Find Unicode character by name and return its code point value","tag":"refentry","type":"Function","methodName":"charFromName"},{"id":"intlchar.charmirror","name":"IntlChar::charMirror","description":"Get the \"mirror-image\" character for a code point","tag":"refentry","type":"Function","methodName":"charMirror"},{"id":"intlchar.charname","name":"IntlChar::charName","description":"Retrieve the name of a Unicode character","tag":"refentry","type":"Function","methodName":"charName"},{"id":"intlchar.chartype","name":"IntlChar::charType","description":"Get the general category value for a code point","tag":"refentry","type":"Function","methodName":"charType"},{"id":"intlchar.chr","name":"IntlChar::chr","description":"Return Unicode character by code point value","tag":"refentry","type":"Function","methodName":"chr"},{"id":"intlchar.digit","name":"IntlChar::digit","description":"Get the decimal digit value of a code point for a given radix","tag":"refentry","type":"Function","methodName":"digit"},{"id":"intlchar.enumcharnames","name":"IntlChar::enumCharNames","description":"Enumerate all assigned Unicode characters within a range","tag":"refentry","type":"Function","methodName":"enumCharNames"},{"id":"intlchar.enumchartypes","name":"IntlChar::enumCharTypes","description":"Enumerate all code points with their Unicode general categories","tag":"refentry","type":"Function","methodName":"enumCharTypes"},{"id":"intlchar.foldcase","name":"IntlChar::foldCase","description":"Perform case folding on a code point","tag":"refentry","type":"Function","methodName":"foldCase"},{"id":"intlchar.fordigit","name":"IntlChar::forDigit","description":"Get character representation for a given digit and radix","tag":"refentry","type":"Function","methodName":"forDigit"},{"id":"intlchar.getbidipairedbracket","name":"IntlChar::getBidiPairedBracket","description":"Get the paired bracket character for a code point","tag":"refentry","type":"Function","methodName":"getBidiPairedBracket"},{"id":"intlchar.getblockcode","name":"IntlChar::getBlockCode","description":"Get the Unicode allocation block containing a code point","tag":"refentry","type":"Function","methodName":"getBlockCode"},{"id":"intlchar.getcombiningclass","name":"IntlChar::getCombiningClass","description":"Get the combining class of a code point","tag":"refentry","type":"Function","methodName":"getCombiningClass"},{"id":"intlchar.getfc-nfkc-closure","name":"IntlChar::getFC_NFKC_Closure","description":"Get the FC_NFKC_Closure property for a code point","tag":"refentry","type":"Function","methodName":"getFC_NFKC_Closure"},{"id":"intlchar.getintpropertymaxvalue","name":"IntlChar::getIntPropertyMaxValue","description":"Get the max value for a Unicode property","tag":"refentry","type":"Function","methodName":"getIntPropertyMaxValue"},{"id":"intlchar.getintpropertyminvalue","name":"IntlChar::getIntPropertyMinValue","description":"Get the min value for a Unicode property","tag":"refentry","type":"Function","methodName":"getIntPropertyMinValue"},{"id":"intlchar.getintpropertyvalue","name":"IntlChar::getIntPropertyValue","description":"Get the value for a Unicode property for a code point","tag":"refentry","type":"Function","methodName":"getIntPropertyValue"},{"id":"intlchar.getnumericvalue","name":"IntlChar::getNumericValue","description":"Get the numeric value for a Unicode code point","tag":"refentry","type":"Function","methodName":"getNumericValue"},{"id":"intlchar.getpropertyenum","name":"IntlChar::getPropertyEnum","description":"Get the property constant value for a given property name","tag":"refentry","type":"Function","methodName":"getPropertyEnum"},{"id":"intlchar.getpropertyname","name":"IntlChar::getPropertyName","description":"Get the Unicode name for a property","tag":"refentry","type":"Function","methodName":"getPropertyName"},{"id":"intlchar.getpropertyvalueenum","name":"IntlChar::getPropertyValueEnum","description":"Get the property value for a given value name","tag":"refentry","type":"Function","methodName":"getPropertyValueEnum"},{"id":"intlchar.getpropertyvaluename","name":"IntlChar::getPropertyValueName","description":"Get the Unicode name for a property value","tag":"refentry","type":"Function","methodName":"getPropertyValueName"},{"id":"intlchar.getunicodeversion","name":"IntlChar::getUnicodeVersion","description":"Get the Unicode version","tag":"refentry","type":"Function","methodName":"getUnicodeVersion"},{"id":"intlchar.hasbinaryproperty","name":"IntlChar::hasBinaryProperty","description":"Check a binary Unicode property for a code point","tag":"refentry","type":"Function","methodName":"hasBinaryProperty"},{"id":"intlchar.isalnum","name":"IntlChar::isalnum","description":"Check if code point is an alphanumeric character","tag":"refentry","type":"Function","methodName":"isalnum"},{"id":"intlchar.isalpha","name":"IntlChar::isalpha","description":"Check if code point is a letter character","tag":"refentry","type":"Function","methodName":"isalpha"},{"id":"intlchar.isbase","name":"IntlChar::isbase","description":"Check if code point is a base character","tag":"refentry","type":"Function","methodName":"isbase"},{"id":"intlchar.isblank","name":"IntlChar::isblank","description":"Check if code point is a \"blank\" or \"horizontal space\" character","tag":"refentry","type":"Function","methodName":"isblank"},{"id":"intlchar.iscntrl","name":"IntlChar::iscntrl","description":"Check if code point is a control character","tag":"refentry","type":"Function","methodName":"iscntrl"},{"id":"intlchar.isdefined","name":"IntlChar::isdefined","description":"Check whether the code point is defined","tag":"refentry","type":"Function","methodName":"isdefined"},{"id":"intlchar.isdigit","name":"IntlChar::isdigit","description":"Check if code point is a digit character","tag":"refentry","type":"Function","methodName":"isdigit"},{"id":"intlchar.isgraph","name":"IntlChar::isgraph","description":"Check if code point is a graphic character","tag":"refentry","type":"Function","methodName":"isgraph"},{"id":"intlchar.isidignorable","name":"IntlChar::isIDIgnorable","description":"Check if code point is an ignorable character","tag":"refentry","type":"Function","methodName":"isIDIgnorable"},{"id":"intlchar.isidpart","name":"IntlChar::isIDPart","description":"Check if code point is permissible in an identifier","tag":"refentry","type":"Function","methodName":"isIDPart"},{"id":"intlchar.isidstart","name":"IntlChar::isIDStart","description":"Check if code point is permissible as the first character in an identifier","tag":"refentry","type":"Function","methodName":"isIDStart"},{"id":"intlchar.isisocontrol","name":"IntlChar::isISOControl","description":"Check if code point is an ISO control code","tag":"refentry","type":"Function","methodName":"isISOControl"},{"id":"intlchar.isjavaidpart","name":"IntlChar::isJavaIDPart","description":"Check if code point is permissible in a Java identifier","tag":"refentry","type":"Function","methodName":"isJavaIDPart"},{"id":"intlchar.isjavaidstart","name":"IntlChar::isJavaIDStart","description":"Check if code point is permissible as the first character in a Java identifier","tag":"refentry","type":"Function","methodName":"isJavaIDStart"},{"id":"intlchar.isjavaspacechar","name":"IntlChar::isJavaSpaceChar","description":"Check if code point is a space character according to Java","tag":"refentry","type":"Function","methodName":"isJavaSpaceChar"},{"id":"intlchar.islower","name":"IntlChar::islower","description":"Check if code point is a lowercase letter","tag":"refentry","type":"Function","methodName":"islower"},{"id":"intlchar.ismirrored","name":"IntlChar::isMirrored","description":"Check if code point has the Bidi_Mirrored property","tag":"refentry","type":"Function","methodName":"isMirrored"},{"id":"intlchar.isprint","name":"IntlChar::isprint","description":"Check if code point is a printable character","tag":"refentry","type":"Function","methodName":"isprint"},{"id":"intlchar.ispunct","name":"IntlChar::ispunct","description":"Check if code point is punctuation character","tag":"refentry","type":"Function","methodName":"ispunct"},{"id":"intlchar.isspace","name":"IntlChar::isspace","description":"Check if code point is a space character","tag":"refentry","type":"Function","methodName":"isspace"},{"id":"intlchar.istitle","name":"IntlChar::istitle","description":"Check if code point is a titlecase letter","tag":"refentry","type":"Function","methodName":"istitle"},{"id":"intlchar.isualphabetic","name":"IntlChar::isUAlphabetic","description":"Check if code point has the Alphabetic Unicode property","tag":"refentry","type":"Function","methodName":"isUAlphabetic"},{"id":"intlchar.isulowercase","name":"IntlChar::isULowercase","description":"Check if code point has the Lowercase Unicode property","tag":"refentry","type":"Function","methodName":"isULowercase"},{"id":"intlchar.isupper","name":"IntlChar::isupper","description":"Check if code point has the general category \"Lu\" (uppercase letter)","tag":"refentry","type":"Function","methodName":"isupper"},{"id":"intlchar.isuuppercase","name":"IntlChar::isUUppercase","description":"Check if code point has the Uppercase Unicode property","tag":"refentry","type":"Function","methodName":"isUUppercase"},{"id":"intlchar.isuwhitespace","name":"IntlChar::isUWhiteSpace","description":"Check if code point has the White_Space Unicode property","tag":"refentry","type":"Function","methodName":"isUWhiteSpace"},{"id":"intlchar.iswhitespace","name":"IntlChar::isWhitespace","description":"Check if code point is a whitespace character according to ICU","tag":"refentry","type":"Function","methodName":"isWhitespace"},{"id":"intlchar.isxdigit","name":"IntlChar::isxdigit","description":"Check if code point is a hexadecimal digit","tag":"refentry","type":"Function","methodName":"isxdigit"},{"id":"intlchar.ord","name":"IntlChar::ord","description":"Return Unicode code point value of character","tag":"refentry","type":"Function","methodName":"ord"},{"id":"intlchar.tolower","name":"IntlChar::tolower","description":"Make Unicode character lowercase","tag":"refentry","type":"Function","methodName":"tolower"},{"id":"intlchar.totitle","name":"IntlChar::totitle","description":"Make Unicode character titlecase","tag":"refentry","type":"Function","methodName":"totitle"},{"id":"intlchar.toupper","name":"IntlChar::toupper","description":"Make Unicode character uppercase","tag":"refentry","type":"Function","methodName":"toupper"},{"id":"class.intlchar","name":"IntlChar","description":"IntlChar","tag":"phpdoc:classref","type":"Class","methodName":"IntlChar"},{"id":"class.intlexception","name":"IntlException","description":"Exception class for intl errors","tag":"phpdoc:classref","type":"Class","methodName":"IntlException"},{"id":"intliterator.current","name":"IntlIterator::current","description":"Get the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"intliterator.key","name":"IntlIterator::key","description":"Get the current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"intliterator.next","name":"IntlIterator::next","description":"Move forward to the next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"intliterator.rewind","name":"IntlIterator::rewind","description":"Rewind the iterator to the first element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"intliterator.valid","name":"IntlIterator::valid","description":"Check if current position is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.intliterator","name":"IntlIterator","description":"The IntlIterator class","tag":"phpdoc:classref","type":"Class","methodName":"IntlIterator"},{"id":"function.intl-error-name","name":"intl_error_name","description":"Get symbolic name for a given error code","tag":"refentry","type":"Function","methodName":"intl_error_name"},{"id":"function.intl-get-error-code","name":"intl_get_error_code","description":"Get the last error code","tag":"refentry","type":"Function","methodName":"intl_get_error_code"},{"id":"function.intl-get-error-message","name":"intl_get_error_message","description":"Get description of the last error","tag":"refentry","type":"Function","methodName":"intl_get_error_message"},{"id":"function.intl-is-failure","name":"intl_is_failure","description":"Check whether the given error code indicates failure","tag":"refentry","type":"Function","methodName":"intl_is_failure"},{"id":"ref.intl","name":"intl Functions","description":"Internationalization Functions","tag":"reference","type":"Extension","methodName":"intl Functions"},{"id":"book.intl","name":"intl","description":"Internationalization Functions","tag":"book","type":"Extension","methodName":"intl"},{"id":"intro.mbstring","name":"Introduction","description":"Multibyte String","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mbstring.installation","name":"Installation","description":"Multibyte String","tag":"section","type":"General","methodName":"Installation"},{"id":"mbstring.configuration","name":"Runtime Configuration","description":"Multibyte String","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mbstring.setup","name":"Installing\/Configuring","description":"Multibyte String","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mbstring.constants","name":"Predefined Constants","description":"Multibyte String","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"mbstring.encodings","name":"Summaries of supported encodings","description":"Multibyte String","tag":"chapter","type":"General","methodName":"Summaries of supported encodings"},{"id":"mbstring.ja-basic","name":"Basics of Japanese multi-byte encodings","description":"Multibyte String","tag":"chapter","type":"General","methodName":"Basics of Japanese multi-byte encodings"},{"id":"mbstring.http","name":"HTTP Input and Output","description":"Multibyte String","tag":"chapter","type":"General","methodName":"HTTP Input and Output"},{"id":"mbstring.supported-encodings","name":"Supported Character Encodings","description":"Multibyte String","tag":"chapter","type":"General","methodName":"Supported Character Encodings"},{"id":"mbstring.overload","name":"Function Overloading Feature","description":"Multibyte String","tag":"chapter","type":"General","methodName":"Function Overloading Feature"},{"id":"mbstring.php4.req","name":"PHP Character Encoding Requirements","description":"Multibyte String","tag":"chapter","type":"General","methodName":"PHP Character Encoding Requirements"},{"id":"function.mb-check-encoding","name":"mb_check_encoding","description":"Check if strings are valid for the specified encoding","tag":"refentry","type":"Function","methodName":"mb_check_encoding"},{"id":"function.mb-chr","name":"mb_chr","description":"Return character by Unicode code point value","tag":"refentry","type":"Function","methodName":"mb_chr"},{"id":"function.mb-convert-case","name":"mb_convert_case","description":"Perform case folding on a string","tag":"refentry","type":"Function","methodName":"mb_convert_case"},{"id":"function.mb-convert-encoding","name":"mb_convert_encoding","description":"Convert a string from one character encoding to another","tag":"refentry","type":"Function","methodName":"mb_convert_encoding"},{"id":"function.mb-convert-kana","name":"mb_convert_kana","description":"Convert \"kana\" one from another (\"zen-kaku\", \"han-kaku\" and more)","tag":"refentry","type":"Function","methodName":"mb_convert_kana"},{"id":"function.mb-convert-variables","name":"mb_convert_variables","description":"Convert character code in variable(s)","tag":"refentry","type":"Function","methodName":"mb_convert_variables"},{"id":"function.mb-decode-mimeheader","name":"mb_decode_mimeheader","description":"Decode string in MIME header field","tag":"refentry","type":"Function","methodName":"mb_decode_mimeheader"},{"id":"function.mb-decode-numericentity","name":"mb_decode_numericentity","description":"Decode HTML numeric string reference to character","tag":"refentry","type":"Function","methodName":"mb_decode_numericentity"},{"id":"function.mb-detect-encoding","name":"mb_detect_encoding","description":"Detect character encoding","tag":"refentry","type":"Function","methodName":"mb_detect_encoding"},{"id":"function.mb-detect-order","name":"mb_detect_order","description":"Set\/Get character encoding detection order","tag":"refentry","type":"Function","methodName":"mb_detect_order"},{"id":"function.mb-encode-mimeheader","name":"mb_encode_mimeheader","description":"Encode string for MIME header","tag":"refentry","type":"Function","methodName":"mb_encode_mimeheader"},{"id":"function.mb-encode-numericentity","name":"mb_encode_numericentity","description":"Encode character to HTML numeric string reference","tag":"refentry","type":"Function","methodName":"mb_encode_numericentity"},{"id":"function.mb-encoding-aliases","name":"mb_encoding_aliases","description":"Get aliases of a known encoding type","tag":"refentry","type":"Function","methodName":"mb_encoding_aliases"},{"id":"function.mb-ereg","name":"mb_ereg","description":"Regular expression match with multibyte support","tag":"refentry","type":"Function","methodName":"mb_ereg"},{"id":"function.mb-ereg-match","name":"mb_ereg_match","description":"Regular expression match for multibyte string","tag":"refentry","type":"Function","methodName":"mb_ereg_match"},{"id":"function.mb-ereg-replace","name":"mb_ereg_replace","description":"Replace regular expression with multibyte support","tag":"refentry","type":"Function","methodName":"mb_ereg_replace"},{"id":"function.mb-ereg-replace-callback","name":"mb_ereg_replace_callback","description":"Perform a regular expression search and replace with multibyte support using a callback","tag":"refentry","type":"Function","methodName":"mb_ereg_replace_callback"},{"id":"function.mb-ereg-search","name":"mb_ereg_search","description":"Multibyte regular expression match for predefined multibyte string","tag":"refentry","type":"Function","methodName":"mb_ereg_search"},{"id":"function.mb-ereg-search-getpos","name":"mb_ereg_search_getpos","description":"Returns start point for next regular expression match","tag":"refentry","type":"Function","methodName":"mb_ereg_search_getpos"},{"id":"function.mb-ereg-search-getregs","name":"mb_ereg_search_getregs","description":"Retrieve the result from the last multibyte regular expression match","tag":"refentry","type":"Function","methodName":"mb_ereg_search_getregs"},{"id":"function.mb-ereg-search-init","name":"mb_ereg_search_init","description":"Setup string and regular expression for a multibyte regular expression match","tag":"refentry","type":"Function","methodName":"mb_ereg_search_init"},{"id":"function.mb-ereg-search-pos","name":"mb_ereg_search_pos","description":"Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string","tag":"refentry","type":"Function","methodName":"mb_ereg_search_pos"},{"id":"function.mb-ereg-search-regs","name":"mb_ereg_search_regs","description":"Returns the matched part of a multibyte regular expression","tag":"refentry","type":"Function","methodName":"mb_ereg_search_regs"},{"id":"function.mb-ereg-search-setpos","name":"mb_ereg_search_setpos","description":"Set start point of next regular expression match","tag":"refentry","type":"Function","methodName":"mb_ereg_search_setpos"},{"id":"function.mb-eregi","name":"mb_eregi","description":"Regular expression match ignoring case with multibyte support","tag":"refentry","type":"Function","methodName":"mb_eregi"},{"id":"function.mb-eregi-replace","name":"mb_eregi_replace","description":"Replace regular expression with multibyte support ignoring case","tag":"refentry","type":"Function","methodName":"mb_eregi_replace"},{"id":"function.mb-get-info","name":"mb_get_info","description":"Get internal settings of mbstring","tag":"refentry","type":"Function","methodName":"mb_get_info"},{"id":"function.mb-http-input","name":"mb_http_input","description":"Detect HTTP input character encoding","tag":"refentry","type":"Function","methodName":"mb_http_input"},{"id":"function.mb-http-output","name":"mb_http_output","description":"Set\/Get HTTP output character encoding","tag":"refentry","type":"Function","methodName":"mb_http_output"},{"id":"function.mb-internal-encoding","name":"mb_internal_encoding","description":"Set\/Get internal character encoding","tag":"refentry","type":"Function","methodName":"mb_internal_encoding"},{"id":"function.mb-language","name":"mb_language","description":"Set\/Get current language","tag":"refentry","type":"Function","methodName":"mb_language"},{"id":"function.mb-lcfirst","name":"mb_lcfirst","description":"Make a string's first character lowercase","tag":"refentry","type":"Function","methodName":"mb_lcfirst"},{"id":"function.mb-list-encodings","name":"mb_list_encodings","description":"Returns an array of all supported encodings","tag":"refentry","type":"Function","methodName":"mb_list_encodings"},{"id":"function.mb-ltrim","name":"mb_ltrim","description":"Strip whitespace (or other characters) from the beginning of a string","tag":"refentry","type":"Function","methodName":"mb_ltrim"},{"id":"function.mb-ord","name":"mb_ord","description":"Get Unicode code point of character","tag":"refentry","type":"Function","methodName":"mb_ord"},{"id":"function.mb-output-handler","name":"mb_output_handler","description":"Callback function converts character encoding in output buffer","tag":"refentry","type":"Function","methodName":"mb_output_handler"},{"id":"function.mb-parse-str","name":"mb_parse_str","description":"Parse GET\/POST\/COOKIE data and set global variable","tag":"refentry","type":"Function","methodName":"mb_parse_str"},{"id":"function.mb-preferred-mime-name","name":"mb_preferred_mime_name","description":"Get MIME charset string","tag":"refentry","type":"Function","methodName":"mb_preferred_mime_name"},{"id":"function.mb-regex-encoding","name":"mb_regex_encoding","description":"Set\/Get character encoding for multibyte regex","tag":"refentry","type":"Function","methodName":"mb_regex_encoding"},{"id":"function.mb-regex-set-options","name":"mb_regex_set_options","description":"Set\/Get the default options for mbregex functions","tag":"refentry","type":"Function","methodName":"mb_regex_set_options"},{"id":"function.mb-rtrim","name":"mb_rtrim","description":"Strip whitespace (or other characters) from the end of a string","tag":"refentry","type":"Function","methodName":"mb_rtrim"},{"id":"function.mb-scrub","name":"mb_scrub","description":"Replace ill-formed byte sequences with the substitute character","tag":"refentry","type":"Function","methodName":"mb_scrub"},{"id":"function.mb-send-mail","name":"mb_send_mail","description":"Send encoded mail","tag":"refentry","type":"Function","methodName":"mb_send_mail"},{"id":"function.mb-split","name":"mb_split","description":"Split multibyte string using regular expression","tag":"refentry","type":"Function","methodName":"mb_split"},{"id":"function.mb-str-pad","name":"mb_str_pad","description":"Pad a multibyte string to a certain length with another multibyte string","tag":"refentry","type":"Function","methodName":"mb_str_pad"},{"id":"function.mb-str-split","name":"mb_str_split","description":"Given a multibyte string, return an array of its characters","tag":"refentry","type":"Function","methodName":"mb_str_split"},{"id":"function.mb-strcut","name":"mb_strcut","description":"Get part of string","tag":"refentry","type":"Function","methodName":"mb_strcut"},{"id":"function.mb-strimwidth","name":"mb_strimwidth","description":"Get truncated string with specified width","tag":"refentry","type":"Function","methodName":"mb_strimwidth"},{"id":"function.mb-stripos","name":"mb_stripos","description":"Finds position of first occurrence of a string within another, case insensitive","tag":"refentry","type":"Function","methodName":"mb_stripos"},{"id":"function.mb-stristr","name":"mb_stristr","description":"Finds first occurrence of a string within another, case insensitive","tag":"refentry","type":"Function","methodName":"mb_stristr"},{"id":"function.mb-strlen","name":"mb_strlen","description":"Get string length","tag":"refentry","type":"Function","methodName":"mb_strlen"},{"id":"function.mb-strpos","name":"mb_strpos","description":"Find position of first occurrence of string in a string","tag":"refentry","type":"Function","methodName":"mb_strpos"},{"id":"function.mb-strrchr","name":"mb_strrchr","description":"Finds the last occurrence of a character in a string within another","tag":"refentry","type":"Function","methodName":"mb_strrchr"},{"id":"function.mb-strrichr","name":"mb_strrichr","description":"Finds the last occurrence of a character in a string within another, case insensitive","tag":"refentry","type":"Function","methodName":"mb_strrichr"},{"id":"function.mb-strripos","name":"mb_strripos","description":"Finds position of last occurrence of a string within another, case insensitive","tag":"refentry","type":"Function","methodName":"mb_strripos"},{"id":"function.mb-strrpos","name":"mb_strrpos","description":"Find position of last occurrence of a string in a string","tag":"refentry","type":"Function","methodName":"mb_strrpos"},{"id":"function.mb-strstr","name":"mb_strstr","description":"Finds first occurrence of a string within another","tag":"refentry","type":"Function","methodName":"mb_strstr"},{"id":"function.mb-strtolower","name":"mb_strtolower","description":"Make a string lowercase","tag":"refentry","type":"Function","methodName":"mb_strtolower"},{"id":"function.mb-strtoupper","name":"mb_strtoupper","description":"Make a string uppercase","tag":"refentry","type":"Function","methodName":"mb_strtoupper"},{"id":"function.mb-strwidth","name":"mb_strwidth","description":"Return width of string","tag":"refentry","type":"Function","methodName":"mb_strwidth"},{"id":"function.mb-substitute-character","name":"mb_substitute_character","description":"Set\/Get substitution character","tag":"refentry","type":"Function","methodName":"mb_substitute_character"},{"id":"function.mb-substr","name":"mb_substr","description":"Get part of string","tag":"refentry","type":"Function","methodName":"mb_substr"},{"id":"function.mb-substr-count","name":"mb_substr_count","description":"Count the number of substring occurrences","tag":"refentry","type":"Function","methodName":"mb_substr_count"},{"id":"function.mb-trim","name":"mb_trim","description":"Strip whitespace (or other characters) from the beginning and end of a string","tag":"refentry","type":"Function","methodName":"mb_trim"},{"id":"function.mb-ucfirst","name":"mb_ucfirst","description":"Make a string's first character uppercase","tag":"refentry","type":"Function","methodName":"mb_ucfirst"},{"id":"ref.mbstring","name":"Multibyte String Functions","description":"Multibyte String","tag":"reference","type":"Extension","methodName":"Multibyte String Functions"},{"id":"book.mbstring","name":"Multibyte String","description":"Human Language and Character Encoding Support","tag":"book","type":"Extension","methodName":"Multibyte String"},{"id":"intro.pspell","name":"Introduction","description":"Pspell","tag":"preface","type":"General","methodName":"Introduction"},{"id":"pspell.requirements","name":"Requirements","description":"Pspell","tag":"section","type":"General","methodName":"Requirements"},{"id":"pspell.installation","name":"Installation","description":"Pspell","tag":"section","type":"General","methodName":"Installation"},{"id":"pspell.resources","name":"Resource Types","description":"Pspell","tag":"section","type":"General","methodName":"Resource Types"},{"id":"pspell.setup","name":"Installing\/Configuring","description":"Pspell","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"pspell.constants","name":"Predefined Constants","description":"Pspell","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.pspell-add-to-personal","name":"pspell_add_to_personal","description":"Add the word to a personal wordlist","tag":"refentry","type":"Function","methodName":"pspell_add_to_personal"},{"id":"function.pspell-add-to-session","name":"pspell_add_to_session","description":"Add the word to the wordlist in the current session","tag":"refentry","type":"Function","methodName":"pspell_add_to_session"},{"id":"function.pspell-check","name":"pspell_check","description":"Check a word","tag":"refentry","type":"Function","methodName":"pspell_check"},{"id":"function.pspell-clear-session","name":"pspell_clear_session","description":"Clear the current session","tag":"refentry","type":"Function","methodName":"pspell_clear_session"},{"id":"function.pspell-config-create","name":"pspell_config_create","description":"Create a config used to open a dictionary","tag":"refentry","type":"Function","methodName":"pspell_config_create"},{"id":"function.pspell-config-data-dir","name":"pspell_config_data_dir","description":"Location of language data files","tag":"refentry","type":"Function","methodName":"pspell_config_data_dir"},{"id":"function.pspell-config-dict-dir","name":"pspell_config_dict_dir","description":"Location of the main word list","tag":"refentry","type":"Function","methodName":"pspell_config_dict_dir"},{"id":"function.pspell-config-ignore","name":"pspell_config_ignore","description":"Ignore words less than N characters long","tag":"refentry","type":"Function","methodName":"pspell_config_ignore"},{"id":"function.pspell-config-mode","name":"pspell_config_mode","description":"Change the mode number of suggestions returned","tag":"refentry","type":"Function","methodName":"pspell_config_mode"},{"id":"function.pspell-config-personal","name":"pspell_config_personal","description":"Set a file that contains personal wordlist","tag":"refentry","type":"Function","methodName":"pspell_config_personal"},{"id":"function.pspell-config-repl","name":"pspell_config_repl","description":"Set a file that contains replacement pairs","tag":"refentry","type":"Function","methodName":"pspell_config_repl"},{"id":"function.pspell-config-runtogether","name":"pspell_config_runtogether","description":"Consider run-together words as valid compounds","tag":"refentry","type":"Function","methodName":"pspell_config_runtogether"},{"id":"function.pspell-config-save-repl","name":"pspell_config_save_repl","description":"Determine whether to save a replacement pairs list\n along with the wordlist","tag":"refentry","type":"Function","methodName":"pspell_config_save_repl"},{"id":"function.pspell-new","name":"pspell_new","description":"Load a new dictionary","tag":"refentry","type":"Function","methodName":"pspell_new"},{"id":"function.pspell-new-config","name":"pspell_new_config","description":"Load a new dictionary with settings based on a given config","tag":"refentry","type":"Function","methodName":"pspell_new_config"},{"id":"function.pspell-new-personal","name":"pspell_new_personal","description":"Load a new dictionary with personal wordlist","tag":"refentry","type":"Function","methodName":"pspell_new_personal"},{"id":"function.pspell-save-wordlist","name":"pspell_save_wordlist","description":"Save the personal wordlist to a file","tag":"refentry","type":"Function","methodName":"pspell_save_wordlist"},{"id":"function.pspell-store-replacement","name":"pspell_store_replacement","description":"Store a replacement pair for a word","tag":"refentry","type":"Function","methodName":"pspell_store_replacement"},{"id":"function.pspell-suggest","name":"pspell_suggest","description":"Suggest spellings of a word","tag":"refentry","type":"Function","methodName":"pspell_suggest"},{"id":"ref.pspell","name":"Pspell Functions","description":"Pspell","tag":"reference","type":"Extension","methodName":"Pspell Functions"},{"id":"class.pspell-dictionary","name":"PSpell\\Dictionary","description":"The PSpell\\Dictionary class","tag":"phpdoc:classref","type":"Class","methodName":"PSpell\\Dictionary"},{"id":"class.pspell-config","name":"PSpell\\Config","description":"The PSpell\\Config class","tag":"phpdoc:classref","type":"Class","methodName":"PSpell\\Config"},{"id":"book.pspell","name":"Pspell","description":"Human Language and Character Encoding Support","tag":"book","type":"Extension","methodName":"Pspell"},{"id":"intro.recode","name":"Introduction","description":"GNU Recode","tag":"preface","type":"General","methodName":"Introduction"},{"id":"recode.requirements","name":"Requirements","description":"GNU Recode","tag":"section","type":"General","methodName":"Requirements"},{"id":"recode.installation","name":"Installation","description":"GNU Recode","tag":"section","type":"General","methodName":"Installation"},{"id":"recode.setup","name":"Installing\/Configuring","description":"GNU Recode","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.recode","name":"recode","description":"Alias of recode_string","tag":"refentry","type":"Function","methodName":"recode"},{"id":"function.recode-file","name":"recode_file","description":"Recode from file to file according to recode request","tag":"refentry","type":"Function","methodName":"recode_file"},{"id":"function.recode-string","name":"recode_string","description":"Recode a string according to a recode request","tag":"refentry","type":"Function","methodName":"recode_string"},{"id":"ref.recode","name":"Recode Functions","description":"GNU Recode","tag":"reference","type":"Extension","methodName":"Recode Functions"},{"id":"book.recode","name":"Recode","description":"GNU Recode","tag":"book","type":"Extension","methodName":"Recode"},{"id":"refs.international","name":"Human Language and Character Encoding Support","description":"Function Reference","tag":"set","type":"Extension","methodName":"Human Language and Character Encoding Support"},{"id":"intro.exif","name":"Introduction","description":"Exchangeable image information","tag":"preface","type":"General","methodName":"Introduction"},{"id":"exif.requirements","name":"Requirements","description":"Exchangeable image information","tag":"section","type":"General","methodName":"Requirements"},{"id":"exif.installation","name":"Installation","description":"Exchangeable image information","tag":"section","type":"General","methodName":"Installation"},{"id":"exif.configuration","name":"Runtime Configuration","description":"Exchangeable image information","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"exif.setup","name":"Installing\/Configuring","description":"Exchangeable image information","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"exif.constants","name":"Predefined Constants","description":"Exchangeable image information","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.exif-imagetype","name":"exif_imagetype","description":"Determine the type of an image","tag":"refentry","type":"Function","methodName":"exif_imagetype"},{"id":"function.exif-read-data","name":"exif_read_data","description":"Reads the EXIF headers from an image file","tag":"refentry","type":"Function","methodName":"exif_read_data"},{"id":"function.exif-tagname","name":"exif_tagname","description":"Get the header name for an index","tag":"refentry","type":"Function","methodName":"exif_tagname"},{"id":"function.exif-thumbnail","name":"exif_thumbnail","description":"Retrieve the embedded thumbnail of an image","tag":"refentry","type":"Function","methodName":"exif_thumbnail"},{"id":"function.read-exif-data","name":"read_exif_data","description":"Alias of exif_read_data","tag":"refentry","type":"Function","methodName":"read_exif_data"},{"id":"ref.exif","name":"Exif Functions","description":"Exchangeable image information","tag":"reference","type":"Extension","methodName":"Exif Functions"},{"id":"book.exif","name":"Exif","description":"Exchangeable image information","tag":"book","type":"Extension","methodName":"Exif"},{"id":"intro.image","name":"Introduction","description":"Image Processing and GD","tag":"preface","type":"General","methodName":"Introduction"},{"id":"image.requirements","name":"Requirements","description":"Image Processing and GD","tag":"section","type":"General","methodName":"Requirements"},{"id":"image.installation","name":"Installation","description":"Image Processing and GD","tag":"section","type":"General","methodName":"Installation"},{"id":"image.configuration","name":"Runtime Configuration","description":"Image Processing and GD","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"image.resources","name":"Resource Types","description":"Image Processing and GD","tag":"section","type":"General","methodName":"Resource Types"},{"id":"image.setup","name":"Installing\/Configuring","description":"Image Processing and GD","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"image.constants","name":"Predefined Constants","description":"Image Processing and GD","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"image.examples-png","name":"PNG creation with PHP","description":"Image Processing and GD","tag":"section","type":"General","methodName":"PNG creation with PHP"},{"id":"image.examples-watermark","name":"Adding watermarks to images using alpha channels","description":"Image Processing and GD","tag":"section","type":"General","methodName":"Adding watermarks to images using alpha channels"},{"id":"image.examples.merged-watermark","name":"Using imagecopymerge to create a translucent watermark","description":"Image Processing and GD","tag":"section","type":"General","methodName":"Using imagecopymerge to create a translucent watermark"},{"id":"image.examples","name":"Examples","description":"Image Processing and GD","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.gd-info","name":"gd_info","description":"Retrieve information about the currently installed GD library","tag":"refentry","type":"Function","methodName":"gd_info"},{"id":"function.getimagesize","name":"getimagesize","description":"Get the size of an image","tag":"refentry","type":"Function","methodName":"getimagesize"},{"id":"function.getimagesizefromstring","name":"getimagesizefromstring","description":"Get the size of an image from a string","tag":"refentry","type":"Function","methodName":"getimagesizefromstring"},{"id":"function.image-type-to-extension","name":"image_type_to_extension","description":"Get file extension for image type","tag":"refentry","type":"Function","methodName":"image_type_to_extension"},{"id":"function.image-type-to-mime-type","name":"image_type_to_mime_type","description":"Get Mime-Type for image-type returned by getimagesize,\n exif_read_data, exif_thumbnail, exif_imagetype","tag":"refentry","type":"Function","methodName":"image_type_to_mime_type"},{"id":"function.image2wbmp","name":"image2wbmp","description":"Output image to browser or file","tag":"refentry","type":"Function","methodName":"image2wbmp"},{"id":"function.imageaffine","name":"imageaffine","description":"Return an image containing the affine transformed src image, using an optional clipping area","tag":"refentry","type":"Function","methodName":"imageaffine"},{"id":"function.imageaffinematrixconcat","name":"imageaffinematrixconcat","description":"Concatenate two affine transformation matrices","tag":"refentry","type":"Function","methodName":"imageaffinematrixconcat"},{"id":"function.imageaffinematrixget","name":"imageaffinematrixget","description":"Get an affine transformation matrix","tag":"refentry","type":"Function","methodName":"imageaffinematrixget"},{"id":"function.imagealphablending","name":"imagealphablending","description":"Set the blending mode for an image","tag":"refentry","type":"Function","methodName":"imagealphablending"},{"id":"function.imageantialias","name":"imageantialias","description":"Should antialias functions be used or not","tag":"refentry","type":"Function","methodName":"imageantialias"},{"id":"function.imagearc","name":"imagearc","description":"Draws an arc","tag":"refentry","type":"Function","methodName":"imagearc"},{"id":"function.imageavif","name":"imageavif","description":"Output image to browser or file","tag":"refentry","type":"Function","methodName":"imageavif"},{"id":"function.imagebmp","name":"imagebmp","description":"Output a BMP image to browser or file","tag":"refentry","type":"Function","methodName":"imagebmp"},{"id":"function.imagechar","name":"imagechar","description":"Draw a character horizontally","tag":"refentry","type":"Function","methodName":"imagechar"},{"id":"function.imagecharup","name":"imagecharup","description":"Draw a character vertically","tag":"refentry","type":"Function","methodName":"imagecharup"},{"id":"function.imagecolorallocate","name":"imagecolorallocate","description":"Allocate a color for an image","tag":"refentry","type":"Function","methodName":"imagecolorallocate"},{"id":"function.imagecolorallocatealpha","name":"imagecolorallocatealpha","description":"Allocate a color for an image","tag":"refentry","type":"Function","methodName":"imagecolorallocatealpha"},{"id":"function.imagecolorat","name":"imagecolorat","description":"Get the index of the color of a pixel","tag":"refentry","type":"Function","methodName":"imagecolorat"},{"id":"function.imagecolorclosest","name":"imagecolorclosest","description":"Get the index of the closest color to the specified color","tag":"refentry","type":"Function","methodName":"imagecolorclosest"},{"id":"function.imagecolorclosestalpha","name":"imagecolorclosestalpha","description":"Get the index of the closest color to the specified color + alpha","tag":"refentry","type":"Function","methodName":"imagecolorclosestalpha"},{"id":"function.imagecolorclosesthwb","name":"imagecolorclosesthwb","description":"Get the index of the color which has the hue, white and blackness","tag":"refentry","type":"Function","methodName":"imagecolorclosesthwb"},{"id":"function.imagecolordeallocate","name":"imagecolordeallocate","description":"De-allocate a color for an image","tag":"refentry","type":"Function","methodName":"imagecolordeallocate"},{"id":"function.imagecolorexact","name":"imagecolorexact","description":"Get the index of the specified color","tag":"refentry","type":"Function","methodName":"imagecolorexact"},{"id":"function.imagecolorexactalpha","name":"imagecolorexactalpha","description":"Get the index of the specified color + alpha","tag":"refentry","type":"Function","methodName":"imagecolorexactalpha"},{"id":"function.imagecolormatch","name":"imagecolormatch","description":"Makes the colors of the palette version of an image more closely match the true color version","tag":"refentry","type":"Function","methodName":"imagecolormatch"},{"id":"function.imagecolorresolve","name":"imagecolorresolve","description":"Get the index of the specified color or its closest possible alternative","tag":"refentry","type":"Function","methodName":"imagecolorresolve"},{"id":"function.imagecolorresolvealpha","name":"imagecolorresolvealpha","description":"Get the index of the specified color + alpha or its closest possible alternative","tag":"refentry","type":"Function","methodName":"imagecolorresolvealpha"},{"id":"function.imagecolorset","name":"imagecolorset","description":"Set the color for the specified palette index","tag":"refentry","type":"Function","methodName":"imagecolorset"},{"id":"function.imagecolorsforindex","name":"imagecolorsforindex","description":"Get the colors for an index","tag":"refentry","type":"Function","methodName":"imagecolorsforindex"},{"id":"function.imagecolorstotal","name":"imagecolorstotal","description":"Find out the number of colors in an image's palette","tag":"refentry","type":"Function","methodName":"imagecolorstotal"},{"id":"function.imagecolortransparent","name":"imagecolortransparent","description":"Define a color as transparent","tag":"refentry","type":"Function","methodName":"imagecolortransparent"},{"id":"function.imageconvolution","name":"imageconvolution","description":"Apply a 3x3 convolution matrix, using coefficient and offset","tag":"refentry","type":"Function","methodName":"imageconvolution"},{"id":"function.imagecopy","name":"imagecopy","description":"Copy part of an image","tag":"refentry","type":"Function","methodName":"imagecopy"},{"id":"function.imagecopymerge","name":"imagecopymerge","description":"Copy and merge part of an image","tag":"refentry","type":"Function","methodName":"imagecopymerge"},{"id":"function.imagecopymergegray","name":"imagecopymergegray","description":"Copy and merge part of an image with gray scale","tag":"refentry","type":"Function","methodName":"imagecopymergegray"},{"id":"function.imagecopyresampled","name":"imagecopyresampled","description":"Copy and resize part of an image with resampling","tag":"refentry","type":"Function","methodName":"imagecopyresampled"},{"id":"function.imagecopyresized","name":"imagecopyresized","description":"Copy and resize part of an image","tag":"refentry","type":"Function","methodName":"imagecopyresized"},{"id":"function.imagecreate","name":"imagecreate","description":"Create a new palette based image","tag":"refentry","type":"Function","methodName":"imagecreate"},{"id":"function.imagecreatefromavif","name":"imagecreatefromavif","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromavif"},{"id":"function.imagecreatefrombmp","name":"imagecreatefrombmp","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefrombmp"},{"id":"function.imagecreatefromgd","name":"imagecreatefromgd","description":"Create a new image from GD file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromgd"},{"id":"function.imagecreatefromgd2","name":"imagecreatefromgd2","description":"Create a new image from GD2 file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromgd2"},{"id":"function.imagecreatefromgd2part","name":"imagecreatefromgd2part","description":"Create a new image from a given part of GD2 file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromgd2part"},{"id":"function.imagecreatefromgif","name":"imagecreatefromgif","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromgif"},{"id":"function.imagecreatefromjpeg","name":"imagecreatefromjpeg","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromjpeg"},{"id":"function.imagecreatefrompng","name":"imagecreatefrompng","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefrompng"},{"id":"function.imagecreatefromstring","name":"imagecreatefromstring","description":"Create a new image from the image stream in the string","tag":"refentry","type":"Function","methodName":"imagecreatefromstring"},{"id":"function.imagecreatefromtga","name":"imagecreatefromtga","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromtga"},{"id":"function.imagecreatefromwbmp","name":"imagecreatefromwbmp","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromwbmp"},{"id":"function.imagecreatefromwebp","name":"imagecreatefromwebp","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromwebp"},{"id":"function.imagecreatefromxbm","name":"imagecreatefromxbm","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromxbm"},{"id":"function.imagecreatefromxpm","name":"imagecreatefromxpm","description":"Create a new image from file or URL","tag":"refentry","type":"Function","methodName":"imagecreatefromxpm"},{"id":"function.imagecreatetruecolor","name":"imagecreatetruecolor","description":"Create a new true color image","tag":"refentry","type":"Function","methodName":"imagecreatetruecolor"},{"id":"function.imagecrop","name":"imagecrop","description":"Crop an image to the given rectangle","tag":"refentry","type":"Function","methodName":"imagecrop"},{"id":"function.imagecropauto","name":"imagecropauto","description":"Crop an image automatically using one of the available modes","tag":"refentry","type":"Function","methodName":"imagecropauto"},{"id":"function.imagedashedline","name":"imagedashedline","description":"Draw a dashed line","tag":"refentry","type":"Function","methodName":"imagedashedline"},{"id":"function.imagedestroy","name":"imagedestroy","description":"Destroy an image","tag":"refentry","type":"Function","methodName":"imagedestroy"},{"id":"function.imageellipse","name":"imageellipse","description":"Draw an ellipse","tag":"refentry","type":"Function","methodName":"imageellipse"},{"id":"function.imagefill","name":"imagefill","description":"Flood fill","tag":"refentry","type":"Function","methodName":"imagefill"},{"id":"function.imagefilledarc","name":"imagefilledarc","description":"Draw a partial arc and fill it","tag":"refentry","type":"Function","methodName":"imagefilledarc"},{"id":"function.imagefilledellipse","name":"imagefilledellipse","description":"Draw a filled ellipse","tag":"refentry","type":"Function","methodName":"imagefilledellipse"},{"id":"function.imagefilledpolygon","name":"imagefilledpolygon","description":"Draw a filled polygon","tag":"refentry","type":"Function","methodName":"imagefilledpolygon"},{"id":"function.imagefilledrectangle","name":"imagefilledrectangle","description":"Draw a filled rectangle","tag":"refentry","type":"Function","methodName":"imagefilledrectangle"},{"id":"function.imagefilltoborder","name":"imagefilltoborder","description":"Flood fill to specific color","tag":"refentry","type":"Function","methodName":"imagefilltoborder"},{"id":"function.imagefilter","name":"imagefilter","description":"Applies a filter to an image","tag":"refentry","type":"Function","methodName":"imagefilter"},{"id":"function.imageflip","name":"imageflip","description":"Flips an image using a given mode","tag":"refentry","type":"Function","methodName":"imageflip"},{"id":"function.imagefontheight","name":"imagefontheight","description":"Get font height","tag":"refentry","type":"Function","methodName":"imagefontheight"},{"id":"function.imagefontwidth","name":"imagefontwidth","description":"Get font width","tag":"refentry","type":"Function","methodName":"imagefontwidth"},{"id":"function.imageftbbox","name":"imageftbbox","description":"Give the bounding box of a text using fonts via freetype2","tag":"refentry","type":"Function","methodName":"imageftbbox"},{"id":"function.imagefttext","name":"imagefttext","description":"Write text to the image using fonts using FreeType 2","tag":"refentry","type":"Function","methodName":"imagefttext"},{"id":"function.imagegammacorrect","name":"imagegammacorrect","description":"Apply a gamma correction to a GD image","tag":"refentry","type":"Function","methodName":"imagegammacorrect"},{"id":"function.imagegd","name":"imagegd","description":"Output GD image to browser or file","tag":"refentry","type":"Function","methodName":"imagegd"},{"id":"function.imagegd2","name":"imagegd2","description":"Output GD2 image to browser or file","tag":"refentry","type":"Function","methodName":"imagegd2"},{"id":"function.imagegetclip","name":"imagegetclip","description":"Get the clipping rectangle","tag":"refentry","type":"Function","methodName":"imagegetclip"},{"id":"function.imagegetinterpolation","name":"imagegetinterpolation","description":"Get the interpolation method","tag":"refentry","type":"Function","methodName":"imagegetinterpolation"},{"id":"function.imagegif","name":"imagegif","description":"Output image to browser or file","tag":"refentry","type":"Function","methodName":"imagegif"},{"id":"function.imagegrabscreen","name":"imagegrabscreen","description":"Captures the whole screen","tag":"refentry","type":"Function","methodName":"imagegrabscreen"},{"id":"function.imagegrabwindow","name":"imagegrabwindow","description":"Captures a window","tag":"refentry","type":"Function","methodName":"imagegrabwindow"},{"id":"function.imageinterlace","name":"imageinterlace","description":"Enable or disable interlace","tag":"refentry","type":"Function","methodName":"imageinterlace"},{"id":"function.imageistruecolor","name":"imageistruecolor","description":"Finds whether an image is a truecolor image","tag":"refentry","type":"Function","methodName":"imageistruecolor"},{"id":"function.imagejpeg","name":"imagejpeg","description":"Output image to browser or file","tag":"refentry","type":"Function","methodName":"imagejpeg"},{"id":"function.imagelayereffect","name":"imagelayereffect","description":"Set the alpha blending flag to use layering effects","tag":"refentry","type":"Function","methodName":"imagelayereffect"},{"id":"function.imageline","name":"imageline","description":"Draw a line","tag":"refentry","type":"Function","methodName":"imageline"},{"id":"function.imageloadfont","name":"imageloadfont","description":"Load a new font","tag":"refentry","type":"Function","methodName":"imageloadfont"},{"id":"function.imageopenpolygon","name":"imageopenpolygon","description":"Draws an open polygon","tag":"refentry","type":"Function","methodName":"imageopenpolygon"},{"id":"function.imagepalettecopy","name":"imagepalettecopy","description":"Copy the palette from one image to another","tag":"refentry","type":"Function","methodName":"imagepalettecopy"},{"id":"function.imagepalettetotruecolor","name":"imagepalettetotruecolor","description":"Converts a palette based image to true color","tag":"refentry","type":"Function","methodName":"imagepalettetotruecolor"},{"id":"function.imagepng","name":"imagepng","description":"Output a PNG image to either the browser or a file","tag":"refentry","type":"Function","methodName":"imagepng"},{"id":"function.imagepolygon","name":"imagepolygon","description":"Draws a polygon","tag":"refentry","type":"Function","methodName":"imagepolygon"},{"id":"function.imagerectangle","name":"imagerectangle","description":"Draw a rectangle","tag":"refentry","type":"Function","methodName":"imagerectangle"},{"id":"function.imageresolution","name":"imageresolution","description":"Get or set the resolution of the image","tag":"refentry","type":"Function","methodName":"imageresolution"},{"id":"function.imagerotate","name":"imagerotate","description":"Rotate an image with a given angle","tag":"refentry","type":"Function","methodName":"imagerotate"},{"id":"function.imagesavealpha","name":"imagesavealpha","description":"Whether to retain full alpha channel information when saving images","tag":"refentry","type":"Function","methodName":"imagesavealpha"},{"id":"function.imagescale","name":"imagescale","description":"Scale an image using the given new width and height","tag":"refentry","type":"Function","methodName":"imagescale"},{"id":"function.imagesetbrush","name":"imagesetbrush","description":"Set the brush image for line drawing","tag":"refentry","type":"Function","methodName":"imagesetbrush"},{"id":"function.imagesetclip","name":"imagesetclip","description":"Set the clipping rectangle","tag":"refentry","type":"Function","methodName":"imagesetclip"},{"id":"function.imagesetinterpolation","name":"imagesetinterpolation","description":"Set the interpolation method","tag":"refentry","type":"Function","methodName":"imagesetinterpolation"},{"id":"function.imagesetpixel","name":"imagesetpixel","description":"Set a single pixel","tag":"refentry","type":"Function","methodName":"imagesetpixel"},{"id":"function.imagesetstyle","name":"imagesetstyle","description":"Set the style for line drawing","tag":"refentry","type":"Function","methodName":"imagesetstyle"},{"id":"function.imagesetthickness","name":"imagesetthickness","description":"Set the thickness for line drawing","tag":"refentry","type":"Function","methodName":"imagesetthickness"},{"id":"function.imagesettile","name":"imagesettile","description":"Set the tile image for filling","tag":"refentry","type":"Function","methodName":"imagesettile"},{"id":"function.imagestring","name":"imagestring","description":"Draw a string horizontally","tag":"refentry","type":"Function","methodName":"imagestring"},{"id":"function.imagestringup","name":"imagestringup","description":"Draw a string vertically","tag":"refentry","type":"Function","methodName":"imagestringup"},{"id":"function.imagesx","name":"imagesx","description":"Get image width","tag":"refentry","type":"Function","methodName":"imagesx"},{"id":"function.imagesy","name":"imagesy","description":"Get image height","tag":"refentry","type":"Function","methodName":"imagesy"},{"id":"function.imagetruecolortopalette","name":"imagetruecolortopalette","description":"Convert a true color image to a palette image","tag":"refentry","type":"Function","methodName":"imagetruecolortopalette"},{"id":"function.imagettfbbox","name":"imagettfbbox","description":"Give the bounding box of a text using TrueType fonts","tag":"refentry","type":"Function","methodName":"imagettfbbox"},{"id":"function.imagettftext","name":"imagettftext","description":"Write text to the image using TrueType fonts","tag":"refentry","type":"Function","methodName":"imagettftext"},{"id":"function.imagetypes","name":"imagetypes","description":"Return the image types supported by this PHP build","tag":"refentry","type":"Function","methodName":"imagetypes"},{"id":"function.imagewbmp","name":"imagewbmp","description":"Output image to browser or file","tag":"refentry","type":"Function","methodName":"imagewbmp"},{"id":"function.imagewebp","name":"imagewebp","description":"Output a WebP image to browser or file","tag":"refentry","type":"Function","methodName":"imagewebp"},{"id":"function.imagexbm","name":"imagexbm","description":"Output an XBM image to browser or file","tag":"refentry","type":"Function","methodName":"imagexbm"},{"id":"function.iptcembed","name":"iptcembed","description":"Embeds binary IPTC data into a JPEG image","tag":"refentry","type":"Function","methodName":"iptcembed"},{"id":"function.iptcparse","name":"iptcparse","description":"Parse a binary IPTC block into single tags","tag":"refentry","type":"Function","methodName":"iptcparse"},{"id":"function.jpeg2wbmp","name":"jpeg2wbmp","description":"Convert JPEG image file to WBMP image file","tag":"refentry","type":"Function","methodName":"jpeg2wbmp"},{"id":"function.png2wbmp","name":"png2wbmp","description":"Convert PNG image file to WBMP image file","tag":"refentry","type":"Function","methodName":"png2wbmp"},{"id":"ref.image","name":"GD and Image Functions","description":"Image Processing and GD","tag":"reference","type":"Extension","methodName":"GD and Image Functions"},{"id":"class.gdimage","name":"GdImage","description":"The GdImage class","tag":"phpdoc:classref","type":"Class","methodName":"GdImage"},{"id":"class.gdfont","name":"GdFont","description":"The GdFont class","tag":"phpdoc:classref","type":"Class","methodName":"GdFont"},{"id":"book.image","name":"GD","description":"Image Processing and GD","tag":"book","type":"Extension","methodName":"GD"},{"id":"intro.gmagick","name":"Introduction","description":"Gmagick","tag":"preface","type":"General","methodName":"Introduction"},{"id":"gmagick.requirements","name":"Requirements","description":"Gmagick","tag":"section","type":"General","methodName":"Requirements"},{"id":"gmagick.installation","name":"Installation","description":"Gmagick","tag":"section","type":"General","methodName":"Installation"},{"id":"gmagick.setup","name":"Installing\/Configuring","description":"Gmagick","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"gmagick.constants","name":"Predefined Constants","description":"Gmagick","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"gmagick.examples","name":"Examples","description":"Gmagick","tag":"chapter","type":"General","methodName":"Examples"},{"id":"gmagick.addimage","name":"Gmagick::addimage","description":"Adds new image to Gmagick object image list","tag":"refentry","type":"Function","methodName":"addimage"},{"id":"gmagick.addnoiseimage","name":"Gmagick::addnoiseimage","description":"Adds random noise to the image","tag":"refentry","type":"Function","methodName":"addnoiseimage"},{"id":"gmagick.annotateimage","name":"Gmagick::annotateimage","description":"Annotates an image with text","tag":"refentry","type":"Function","methodName":"annotateimage"},{"id":"gmagick.blurimage","name":"Gmagick::blurimage","description":"Adds blur filter to image","tag":"refentry","type":"Function","methodName":"blurimage"},{"id":"gmagick.borderimage","name":"Gmagick::borderimage","description":"Surrounds the image with a border","tag":"refentry","type":"Function","methodName":"borderimage"},{"id":"gmagick.charcoalimage","name":"Gmagick::charcoalimage","description":"Simulates a charcoal drawing","tag":"refentry","type":"Function","methodName":"charcoalimage"},{"id":"gmagick.chopimage","name":"Gmagick::chopimage","description":"Removes a region of an image and trims","tag":"refentry","type":"Function","methodName":"chopimage"},{"id":"gmagick.clear","name":"Gmagick::clear","description":"Clears all resources associated to Gmagick object","tag":"refentry","type":"Function","methodName":"clear"},{"id":"gmagick.commentimage","name":"Gmagick::commentimage","description":"Adds a comment to your image","tag":"refentry","type":"Function","methodName":"commentimage"},{"id":"gmagick.compositeimage","name":"Gmagick::compositeimage","description":"Composite one image onto another","tag":"refentry","type":"Function","methodName":"compositeimage"},{"id":"gmagick.construct","name":"Gmagick::__construct","description":"The Gmagick constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gmagick.cropimage","name":"Gmagick::cropimage","description":"Extracts a region of the image","tag":"refentry","type":"Function","methodName":"cropimage"},{"id":"gmagick.cropthumbnailimage","name":"Gmagick::cropthumbnailimage","description":"Creates a crop thumbnail","tag":"refentry","type":"Function","methodName":"cropthumbnailimage"},{"id":"gmagick.current","name":"Gmagick::current","description":"The current purpose","tag":"refentry","type":"Function","methodName":"current"},{"id":"gmagick.cyclecolormapimage","name":"Gmagick::cyclecolormapimage","description":"Displaces an image's colormap","tag":"refentry","type":"Function","methodName":"cyclecolormapimage"},{"id":"gmagick.deconstructimages","name":"Gmagick::deconstructimages","description":"Returns certain pixel differences between images","tag":"refentry","type":"Function","methodName":"deconstructimages"},{"id":"gmagick.despeckleimage","name":"Gmagick::despeckleimage","description":"The despeckleimage purpose","tag":"refentry","type":"Function","methodName":"despeckleimage"},{"id":"gmagick.destroy","name":"Gmagick::destroy","description":"The destroy purpose","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"gmagick.drawimage","name":"Gmagick::drawimage","description":"Renders the GmagickDraw object on the current image","tag":"refentry","type":"Function","methodName":"drawimage"},{"id":"gmagick.edgeimage","name":"Gmagick::edgeimage","description":"Enhance edges within the image","tag":"refentry","type":"Function","methodName":"edgeimage"},{"id":"gmagick.embossimage","name":"Gmagick::embossimage","description":"Returns a grayscale image with a three-dimensional effect","tag":"refentry","type":"Function","methodName":"embossimage"},{"id":"gmagick.enhanceimage","name":"Gmagick::enhanceimage","description":"Improves the quality of a noisy image","tag":"refentry","type":"Function","methodName":"enhanceimage"},{"id":"gmagick.equalizeimage","name":"Gmagick::equalizeimage","description":"Equalizes the image histogram","tag":"refentry","type":"Function","methodName":"equalizeimage"},{"id":"gmagick.flipimage","name":"Gmagick::flipimage","description":"Creates a vertical mirror image","tag":"refentry","type":"Function","methodName":"flipimage"},{"id":"gmagick.flopimage","name":"Gmagick::flopimage","description":"Creates a horizontal mirror image","tag":"refentry","type":"Function","methodName":"flopimage"},{"id":"gmagick.frameimage","name":"Gmagick::frameimage","description":"Adds a simulated three-dimensional border","tag":"refentry","type":"Function","methodName":"frameimage"},{"id":"gmagick.gammaimage","name":"Gmagick::gammaimage","description":"Gamma-corrects an image","tag":"refentry","type":"Function","methodName":"gammaimage"},{"id":"gmagick.getcopyright","name":"Gmagick::getcopyright","description":"Returns the GraphicsMagick API copyright as a string","tag":"refentry","type":"Function","methodName":"getcopyright"},{"id":"gmagick.getfilename","name":"Gmagick::getfilename","description":"The filename associated with an image sequence","tag":"refentry","type":"Function","methodName":"getfilename"},{"id":"gmagick.getimagebackgroundcolor","name":"Gmagick::getimagebackgroundcolor","description":"Returns the image background color","tag":"refentry","type":"Function","methodName":"getimagebackgroundcolor"},{"id":"gmagick.getimageblueprimary","name":"Gmagick::getimageblueprimary","description":"Returns the chromaticy blue primary point","tag":"refentry","type":"Function","methodName":"getimageblueprimary"},{"id":"gmagick.getimagebordercolor","name":"Gmagick::getimagebordercolor","description":"Returns the image border color","tag":"refentry","type":"Function","methodName":"getimagebordercolor"},{"id":"gmagick.getimagechanneldepth","name":"Gmagick::getimagechanneldepth","description":"Gets the depth for a particular image channel","tag":"refentry","type":"Function","methodName":"getimagechanneldepth"},{"id":"gmagick.getimagecolors","name":"Gmagick::getimagecolors","description":"Returns the color of the specified colormap index","tag":"refentry","type":"Function","methodName":"getimagecolors"},{"id":"gmagick.getimagecolorspace","name":"Gmagick::getimagecolorspace","description":"Gets the image colorspace","tag":"refentry","type":"Function","methodName":"getimagecolorspace"},{"id":"gmagick.getimagecompose","name":"Gmagick::getimagecompose","description":"Returns the composite operator associated with the image","tag":"refentry","type":"Function","methodName":"getimagecompose"},{"id":"gmagick.getimagedelay","name":"Gmagick::getimagedelay","description":"Gets the image delay","tag":"refentry","type":"Function","methodName":"getimagedelay"},{"id":"gmagick.getimagedepth","name":"Gmagick::getimagedepth","description":"Gets the depth of the image","tag":"refentry","type":"Function","methodName":"getimagedepth"},{"id":"gmagick.getimagedispose","name":"Gmagick::getimagedispose","description":"Gets the image disposal method","tag":"refentry","type":"Function","methodName":"getimagedispose"},{"id":"gmagick.getimageextrema","name":"Gmagick::getimageextrema","description":"Gets the extrema for the image","tag":"refentry","type":"Function","methodName":"getimageextrema"},{"id":"gmagick.getimagefilename","name":"Gmagick::getimagefilename","description":"Returns the filename of a particular image in a sequence","tag":"refentry","type":"Function","methodName":"getimagefilename"},{"id":"gmagick.getimageformat","name":"Gmagick::getimageformat","description":"Returns the format of a particular image in a sequence","tag":"refentry","type":"Function","methodName":"getimageformat"},{"id":"gmagick.getimagegamma","name":"Gmagick::getimagegamma","description":"Gets the image gamma","tag":"refentry","type":"Function","methodName":"getimagegamma"},{"id":"gmagick.getimagegreenprimary","name":"Gmagick::getimagegreenprimary","description":"Returns the chromaticy green primary point","tag":"refentry","type":"Function","methodName":"getimagegreenprimary"},{"id":"gmagick.getimageheight","name":"Gmagick::getimageheight","description":"Returns the image height","tag":"refentry","type":"Function","methodName":"getimageheight"},{"id":"gmagick.getimagehistogram","name":"Gmagick::getimagehistogram","description":"Gets the image histogram","tag":"refentry","type":"Function","methodName":"getimagehistogram"},{"id":"gmagick.getimageindex","name":"Gmagick::getimageindex","description":"Gets the index of the current active image","tag":"refentry","type":"Function","methodName":"getimageindex"},{"id":"gmagick.getimageinterlacescheme","name":"Gmagick::getimageinterlacescheme","description":"Gets the image interlace scheme","tag":"refentry","type":"Function","methodName":"getimageinterlacescheme"},{"id":"gmagick.getimageiterations","name":"Gmagick::getimageiterations","description":"Gets the image iterations","tag":"refentry","type":"Function","methodName":"getimageiterations"},{"id":"gmagick.getimagematte","name":"Gmagick::getimagematte","description":"Check if the image has a matte channel","tag":"refentry","type":"Function","methodName":"getimagematte"},{"id":"gmagick.getimagemattecolor","name":"Gmagick::getimagemattecolor","description":"Returns the image matte color","tag":"refentry","type":"Function","methodName":"getimagemattecolor"},{"id":"gmagick.getimageprofile","name":"Gmagick::getimageprofile","description":"Returns the named image profile","tag":"refentry","type":"Function","methodName":"getimageprofile"},{"id":"gmagick.getimageredprimary","name":"Gmagick::getimageredprimary","description":"Returns the chromaticity red primary point","tag":"refentry","type":"Function","methodName":"getimageredprimary"},{"id":"gmagick.getimagerenderingintent","name":"Gmagick::getimagerenderingintent","description":"Gets the image rendering intent","tag":"refentry","type":"Function","methodName":"getimagerenderingintent"},{"id":"gmagick.getimageresolution","name":"Gmagick::getimageresolution","description":"Gets the image X and Y resolution","tag":"refentry","type":"Function","methodName":"getimageresolution"},{"id":"gmagick.getimagescene","name":"Gmagick::getimagescene","description":"Gets the image scene","tag":"refentry","type":"Function","methodName":"getimagescene"},{"id":"gmagick.getimagesignature","name":"Gmagick::getimagesignature","description":"Generates an SHA-256 message digest","tag":"refentry","type":"Function","methodName":"getimagesignature"},{"id":"gmagick.getimagetype","name":"Gmagick::getimagetype","description":"Gets the potential image type","tag":"refentry","type":"Function","methodName":"getimagetype"},{"id":"gmagick.getimageunits","name":"Gmagick::getimageunits","description":"Gets the image units of resolution","tag":"refentry","type":"Function","methodName":"getimageunits"},{"id":"gmagick.getimagewhitepoint","name":"Gmagick::getimagewhitepoint","description":"Returns the chromaticity white point","tag":"refentry","type":"Function","methodName":"getimagewhitepoint"},{"id":"gmagick.getimagewidth","name":"Gmagick::getimagewidth","description":"Returns the width of the image","tag":"refentry","type":"Function","methodName":"getimagewidth"},{"id":"gmagick.getpackagename","name":"Gmagick::getpackagename","description":"Returns the GraphicsMagick package name","tag":"refentry","type":"Function","methodName":"getpackagename"},{"id":"gmagick.getquantumdepth","name":"Gmagick::getquantumdepth","description":"Returns the Gmagick quantum depth as a string","tag":"refentry","type":"Function","methodName":"getquantumdepth"},{"id":"gmagick.getreleasedate","name":"Gmagick::getreleasedate","description":"Returns the GraphicsMagick release date as a string","tag":"refentry","type":"Function","methodName":"getreleasedate"},{"id":"gmagick.getsamplingfactors","name":"Gmagick::getsamplingfactors","description":"Gets the horizontal and vertical sampling factor","tag":"refentry","type":"Function","methodName":"getsamplingfactors"},{"id":"gmagick.getsize","name":"Gmagick::getsize","description":"Returns the size associated with the Gmagick object","tag":"refentry","type":"Function","methodName":"getsize"},{"id":"gmagick.getversion","name":"Gmagick::getversion","description":"Returns the GraphicsMagick API version","tag":"refentry","type":"Function","methodName":"getversion"},{"id":"gmagick.hasnextimage","name":"Gmagick::hasnextimage","description":"Checks if the object has more images","tag":"refentry","type":"Function","methodName":"hasnextimage"},{"id":"gmagick.haspreviousimage","name":"Gmagick::haspreviousimage","description":"Checks if the object has a previous image","tag":"refentry","type":"Function","methodName":"haspreviousimage"},{"id":"gmagick.implodeimage","name":"Gmagick::implodeimage","description":"Creates a new image as a copy","tag":"refentry","type":"Function","methodName":"implodeimage"},{"id":"gmagick.labelimage","name":"Gmagick::labelimage","description":"Adds a label to an image","tag":"refentry","type":"Function","methodName":"labelimage"},{"id":"gmagick.levelimage","name":"Gmagick::levelimage","description":"Adjusts the levels of an image","tag":"refentry","type":"Function","methodName":"levelimage"},{"id":"gmagick.magnifyimage","name":"Gmagick::magnifyimage","description":"Scales an image proportionally 2x","tag":"refentry","type":"Function","methodName":"magnifyimage"},{"id":"gmagick.mapimage","name":"Gmagick::mapimage","description":"Replaces the colors of an image with the closest color from a reference image","tag":"refentry","type":"Function","methodName":"mapimage"},{"id":"gmagick.medianfilterimage","name":"Gmagick::medianfilterimage","description":"Applies a digital filter","tag":"refentry","type":"Function","methodName":"medianfilterimage"},{"id":"gmagick.minifyimage","name":"Gmagick::minifyimage","description":"Scales an image proportionally to half its size","tag":"refentry","type":"Function","methodName":"minifyimage"},{"id":"gmagick.modulateimage","name":"Gmagick::modulateimage","description":"Control the brightness, saturation, and hue","tag":"refentry","type":"Function","methodName":"modulateimage"},{"id":"gmagick.motionblurimage","name":"Gmagick::motionblurimage","description":"Simulates motion blur","tag":"refentry","type":"Function","methodName":"motionblurimage"},{"id":"gmagick.newimage","name":"Gmagick::newimage","description":"Creates a new image","tag":"refentry","type":"Function","methodName":"newimage"},{"id":"gmagick.nextimage","name":"Gmagick::nextimage","description":"Moves to the next image","tag":"refentry","type":"Function","methodName":"nextimage"},{"id":"gmagick.normalizeimage","name":"Gmagick::normalizeimage","description":"Enhances the contrast of a color image","tag":"refentry","type":"Function","methodName":"normalizeimage"},{"id":"gmagick.oilpaintimage","name":"Gmagick::oilpaintimage","description":"Simulates an oil painting","tag":"refentry","type":"Function","methodName":"oilpaintimage"},{"id":"gmagick.previousimage","name":"Gmagick::previousimage","description":"Move to the previous image in the object","tag":"refentry","type":"Function","methodName":"previousimage"},{"id":"gmagick.profileimage","name":"Gmagick::profileimage","description":"Adds or removes a profile from an image","tag":"refentry","type":"Function","methodName":"profileimage"},{"id":"gmagick.quantizeimage","name":"Gmagick::quantizeimage","description":"Analyzes the colors within a reference image","tag":"refentry","type":"Function","methodName":"quantizeimage"},{"id":"gmagick.quantizeimages","name":"Gmagick::quantizeimages","description":"The quantizeimages purpose","tag":"refentry","type":"Function","methodName":"quantizeimages"},{"id":"gmagick.queryfontmetrics","name":"Gmagick::queryfontmetrics","description":"Returns an array representing the font metrics","tag":"refentry","type":"Function","methodName":"queryfontmetrics"},{"id":"gmagick.queryfonts","name":"Gmagick::queryfonts","description":"Returns the configured fonts","tag":"refentry","type":"Function","methodName":"queryfonts"},{"id":"gmagick.queryformats","name":"Gmagick::queryformats","description":"Returns formats supported by Gmagick","tag":"refentry","type":"Function","methodName":"queryformats"},{"id":"gmagick.radialblurimage","name":"Gmagick::radialblurimage","description":"Radial blurs an image","tag":"refentry","type":"Function","methodName":"radialblurimage"},{"id":"gmagick.raiseimage","name":"Gmagick::raiseimage","description":"Creates a simulated 3d button-like effect","tag":"refentry","type":"Function","methodName":"raiseimage"},{"id":"gmagick.read","name":"Gmagick::read","description":"Reads image from filename","tag":"refentry","type":"Function","methodName":"read"},{"id":"gmagick.readimage","name":"Gmagick::readimage","description":"Reads image from filename","tag":"refentry","type":"Function","methodName":"readimage"},{"id":"gmagick.readimageblob","name":"Gmagick::readimageblob","description":"Reads image from a binary string","tag":"refentry","type":"Function","methodName":"readimageblob"},{"id":"gmagick.readimagefile","name":"Gmagick::readimagefile","description":"The readimagefile purpose","tag":"refentry","type":"Function","methodName":"readimagefile"},{"id":"gmagick.reducenoiseimage","name":"Gmagick::reducenoiseimage","description":"Smooths the contours of an image","tag":"refentry","type":"Function","methodName":"reducenoiseimage"},{"id":"gmagick.removeimage","name":"Gmagick::removeimage","description":"Removes an image from the image list","tag":"refentry","type":"Function","methodName":"removeimage"},{"id":"gmagick.removeimageprofile","name":"Gmagick::removeimageprofile","description":"Removes the named image profile and returns it","tag":"refentry","type":"Function","methodName":"removeimageprofile"},{"id":"gmagick.resampleimage","name":"Gmagick::resampleimage","description":"Resample image to desired resolution","tag":"refentry","type":"Function","methodName":"resampleimage"},{"id":"gmagick.resizeimage","name":"Gmagick::resizeimage","description":"Scales an image","tag":"refentry","type":"Function","methodName":"resizeimage"},{"id":"gmagick.rollimage","name":"Gmagick::rollimage","description":"Offsets an image","tag":"refentry","type":"Function","methodName":"rollimage"},{"id":"gmagick.rotateimage","name":"Gmagick::rotateimage","description":"Rotates an image","tag":"refentry","type":"Function","methodName":"rotateimage"},{"id":"gmagick.scaleimage","name":"Gmagick::scaleimage","description":"Scales the size of an image","tag":"refentry","type":"Function","methodName":"scaleimage"},{"id":"gmagick.separateimagechannel","name":"Gmagick::separateimagechannel","description":"Separates a channel from the image","tag":"refentry","type":"Function","methodName":"separateimagechannel"},{"id":"gmagick.setcompressionquality","name":"Gmagick::setCompressionQuality","description":"Sets the object's default compression quality","tag":"refentry","type":"Function","methodName":"setCompressionQuality"},{"id":"gmagick.setfilename","name":"Gmagick::setfilename","description":"Sets the filename before you read or write the image","tag":"refentry","type":"Function","methodName":"setfilename"},{"id":"gmagick.setimagebackgroundcolor","name":"Gmagick::setimagebackgroundcolor","description":"Sets the image background color","tag":"refentry","type":"Function","methodName":"setimagebackgroundcolor"},{"id":"gmagick.setimageblueprimary","name":"Gmagick::setimageblueprimary","description":"Sets the image chromaticity blue primary point","tag":"refentry","type":"Function","methodName":"setimageblueprimary"},{"id":"gmagick.setimagebordercolor","name":"Gmagick::setimagebordercolor","description":"Sets the image border color","tag":"refentry","type":"Function","methodName":"setimagebordercolor"},{"id":"gmagick.setimagechanneldepth","name":"Gmagick::setimagechanneldepth","description":"Sets the depth of a particular image channel","tag":"refentry","type":"Function","methodName":"setimagechanneldepth"},{"id":"gmagick.setimagecolorspace","name":"Gmagick::setimagecolorspace","description":"Sets the image colorspace","tag":"refentry","type":"Function","methodName":"setimagecolorspace"},{"id":"gmagick.setimagecompose","name":"Gmagick::setimagecompose","description":"Sets the image composite operator","tag":"refentry","type":"Function","methodName":"setimagecompose"},{"id":"gmagick.setimagedelay","name":"Gmagick::setimagedelay","description":"Sets the image delay","tag":"refentry","type":"Function","methodName":"setimagedelay"},{"id":"gmagick.setimagedepth","name":"Gmagick::setimagedepth","description":"Sets the image depth","tag":"refentry","type":"Function","methodName":"setimagedepth"},{"id":"gmagick.setimagedispose","name":"Gmagick::setimagedispose","description":"Sets the image disposal method","tag":"refentry","type":"Function","methodName":"setimagedispose"},{"id":"gmagick.setimagefilename","name":"Gmagick::setimagefilename","description":"Sets the filename of a particular image in a sequence","tag":"refentry","type":"Function","methodName":"setimagefilename"},{"id":"gmagick.setimageformat","name":"Gmagick::setimageformat","description":"Sets the format of a particular image","tag":"refentry","type":"Function","methodName":"setimageformat"},{"id":"gmagick.setimagegamma","name":"Gmagick::setimagegamma","description":"Sets the image gamma","tag":"refentry","type":"Function","methodName":"setimagegamma"},{"id":"gmagick.setimagegreenprimary","name":"Gmagick::setimagegreenprimary","description":"Sets the image chromaticity green primary point","tag":"refentry","type":"Function","methodName":"setimagegreenprimary"},{"id":"gmagick.setimageindex","name":"Gmagick::setimageindex","description":"Set the iterator to the position in the image list specified with the index parameter","tag":"refentry","type":"Function","methodName":"setimageindex"},{"id":"gmagick.setimageinterlacescheme","name":"Gmagick::setimageinterlacescheme","description":"Sets the interlace scheme of the image","tag":"refentry","type":"Function","methodName":"setimageinterlacescheme"},{"id":"gmagick.setimageiterations","name":"Gmagick::setimageiterations","description":"Sets the image iterations","tag":"refentry","type":"Function","methodName":"setimageiterations"},{"id":"gmagick.setimageprofile","name":"Gmagick::setimageprofile","description":"Adds a named profile to the Gmagick object","tag":"refentry","type":"Function","methodName":"setimageprofile"},{"id":"gmagick.setimageredprimary","name":"Gmagick::setimageredprimary","description":"Sets the image chromaticity red primary point","tag":"refentry","type":"Function","methodName":"setimageredprimary"},{"id":"gmagick.setimagerenderingintent","name":"Gmagick::setimagerenderingintent","description":"Sets the image rendering intent","tag":"refentry","type":"Function","methodName":"setimagerenderingintent"},{"id":"gmagick.setimageresolution","name":"Gmagick::setimageresolution","description":"Sets the image resolution","tag":"refentry","type":"Function","methodName":"setimageresolution"},{"id":"gmagick.setimagescene","name":"Gmagick::setimagescene","description":"Sets the image scene","tag":"refentry","type":"Function","methodName":"setimagescene"},{"id":"gmagick.setimagetype","name":"Gmagick::setimagetype","description":"Sets the image type","tag":"refentry","type":"Function","methodName":"setimagetype"},{"id":"gmagick.setimageunits","name":"Gmagick::setimageunits","description":"Sets the image units of resolution","tag":"refentry","type":"Function","methodName":"setimageunits"},{"id":"gmagick.setimagewhitepoint","name":"Gmagick::setimagewhitepoint","description":"Sets the image chromaticity white point","tag":"refentry","type":"Function","methodName":"setimagewhitepoint"},{"id":"gmagick.setsamplingfactors","name":"Gmagick::setsamplingfactors","description":"Sets the image sampling factors","tag":"refentry","type":"Function","methodName":"setsamplingfactors"},{"id":"gmagick.setsize","name":"Gmagick::setsize","description":"Sets the size of the Gmagick object","tag":"refentry","type":"Function","methodName":"setsize"},{"id":"gmagick.shearimage","name":"Gmagick::shearimage","description":"Creating a parallelogram","tag":"refentry","type":"Function","methodName":"shearimage"},{"id":"gmagick.solarizeimage","name":"Gmagick::solarizeimage","description":"Applies a solarizing effect to the image","tag":"refentry","type":"Function","methodName":"solarizeimage"},{"id":"gmagick.spreadimage","name":"Gmagick::spreadimage","description":"Randomly displaces each pixel in a block","tag":"refentry","type":"Function","methodName":"spreadimage"},{"id":"gmagick.stripimage","name":"Gmagick::stripimage","description":"Strips an image of all profiles and comments","tag":"refentry","type":"Function","methodName":"stripimage"},{"id":"gmagick.swirlimage","name":"Gmagick::swirlimage","description":"Swirls the pixels about the center of the image","tag":"refentry","type":"Function","methodName":"swirlimage"},{"id":"gmagick.thumbnailimage","name":"Gmagick::thumbnailimage","description":"Changes the size of an image","tag":"refentry","type":"Function","methodName":"thumbnailimage"},{"id":"gmagick.trimimage","name":"Gmagick::trimimage","description":"Remove edges from the image","tag":"refentry","type":"Function","methodName":"trimimage"},{"id":"gmagick.write","name":"Gmagick::write","description":"Alias of Gmagick::writeimage","tag":"refentry","type":"Function","methodName":"write"},{"id":"gmagick.writeimage","name":"Gmagick::writeimage","description":"Writes an image to the specified filename","tag":"refentry","type":"Function","methodName":"writeimage"},{"id":"class.gmagick","name":"Gmagick","description":"The Gmagick class","tag":"phpdoc:classref","type":"Class","methodName":"Gmagick"},{"id":"gmagickdraw.annotate","name":"GmagickDraw::annotate","description":"Draws text on the image","tag":"refentry","type":"Function","methodName":"annotate"},{"id":"gmagickdraw.arc","name":"GmagickDraw::arc","description":"Draws an arc","tag":"refentry","type":"Function","methodName":"arc"},{"id":"gmagickdraw.bezier","name":"GmagickDraw::bezier","description":"Draws a bezier curve","tag":"refentry","type":"Function","methodName":"bezier"},{"id":"gmagickdraw.ellipse","name":"GmagickDraw::ellipse","description":"Draws an ellipse on the image","tag":"refentry","type":"Function","methodName":"ellipse"},{"id":"gmagickdraw.getfillcolor","name":"GmagickDraw::getfillcolor","description":"Returns the fill color","tag":"refentry","type":"Function","methodName":"getfillcolor"},{"id":"gmagickdraw.getfillopacity","name":"GmagickDraw::getfillopacity","description":"Returns the opacity used when drawing","tag":"refentry","type":"Function","methodName":"getfillopacity"},{"id":"gmagickdraw.getfont","name":"GmagickDraw::getfont","description":"Returns the font","tag":"refentry","type":"Function","methodName":"getfont"},{"id":"gmagickdraw.getfontsize","name":"GmagickDraw::getfontsize","description":"Returns the font pointsize","tag":"refentry","type":"Function","methodName":"getfontsize"},{"id":"gmagickdraw.getfontstyle","name":"GmagickDraw::getfontstyle","description":"Returns the font style","tag":"refentry","type":"Function","methodName":"getfontstyle"},{"id":"gmagickdraw.getfontweight","name":"GmagickDraw::getfontweight","description":"Returns the font weight","tag":"refentry","type":"Function","methodName":"getfontweight"},{"id":"gmagickdraw.getstrokecolor","name":"GmagickDraw::getstrokecolor","description":"Returns the color used for stroking object outlines","tag":"refentry","type":"Function","methodName":"getstrokecolor"},{"id":"gmagickdraw.getstrokeopacity","name":"GmagickDraw::getstrokeopacity","description":"Returns the opacity of stroked object outlines","tag":"refentry","type":"Function","methodName":"getstrokeopacity"},{"id":"gmagickdraw.getstrokewidth","name":"GmagickDraw::getstrokewidth","description":"Returns the width of the stroke used to draw object outlines","tag":"refentry","type":"Function","methodName":"getstrokewidth"},{"id":"gmagickdraw.gettextdecoration","name":"GmagickDraw::gettextdecoration","description":"Returns the text decoration","tag":"refentry","type":"Function","methodName":"gettextdecoration"},{"id":"gmagickdraw.gettextencoding","name":"GmagickDraw::gettextencoding","description":"Returns the code set used for text annotations","tag":"refentry","type":"Function","methodName":"gettextencoding"},{"id":"gmagickdraw.line","name":"GmagickDraw::line","description":"Draws a line","tag":"refentry","type":"Function","methodName":"line"},{"id":"gmagickdraw.point","name":"GmagickDraw::point","description":"Draws a point","tag":"refentry","type":"Function","methodName":"point"},{"id":"gmagickdraw.polygon","name":"GmagickDraw::polygon","description":"Draws a polygon","tag":"refentry","type":"Function","methodName":"polygon"},{"id":"gmagickdraw.polyline","name":"GmagickDraw::polyline","description":"Draws a polyline","tag":"refentry","type":"Function","methodName":"polyline"},{"id":"gmagickdraw.rectangle","name":"GmagickDraw::rectangle","description":"Draws a rectangle","tag":"refentry","type":"Function","methodName":"rectangle"},{"id":"gmagickdraw.rotate","name":"GmagickDraw::rotate","description":"Applies the specified rotation to the current coordinate space","tag":"refentry","type":"Function","methodName":"rotate"},{"id":"gmagickdraw.roundrectangle","name":"GmagickDraw::roundrectangle","description":"Draws a rounded rectangle","tag":"refentry","type":"Function","methodName":"roundrectangle"},{"id":"gmagickdraw.scale","name":"GmagickDraw::scale","description":"Adjusts the scaling factor","tag":"refentry","type":"Function","methodName":"scale"},{"id":"gmagickdraw.setfillcolor","name":"GmagickDraw::setfillcolor","description":"Sets the fill color to be used for drawing filled objects","tag":"refentry","type":"Function","methodName":"setfillcolor"},{"id":"gmagickdraw.setfillopacity","name":"GmagickDraw::setfillopacity","description":"The setfillopacity purpose","tag":"refentry","type":"Function","methodName":"setfillopacity"},{"id":"gmagickdraw.setfont","name":"GmagickDraw::setfont","description":"Sets the fully-specified font to use when annotating with text","tag":"refentry","type":"Function","methodName":"setfont"},{"id":"gmagickdraw.setfontsize","name":"GmagickDraw::setfontsize","description":"Sets the font pointsize to use when annotating with text","tag":"refentry","type":"Function","methodName":"setfontsize"},{"id":"gmagickdraw.setfontstyle","name":"GmagickDraw::setfontstyle","description":"Sets the font style to use when annotating with text","tag":"refentry","type":"Function","methodName":"setfontstyle"},{"id":"gmagickdraw.setfontweight","name":"GmagickDraw::setfontweight","description":"Sets the font weight","tag":"refentry","type":"Function","methodName":"setfontweight"},{"id":"gmagickdraw.setstrokecolor","name":"GmagickDraw::setstrokecolor","description":"Sets the color used for stroking object outlines","tag":"refentry","type":"Function","methodName":"setstrokecolor"},{"id":"gmagickdraw.setstrokeopacity","name":"GmagickDraw::setstrokeopacity","description":"Specifies the opacity of stroked object outlines","tag":"refentry","type":"Function","methodName":"setstrokeopacity"},{"id":"gmagickdraw.setstrokewidth","name":"GmagickDraw::setstrokewidth","description":"Sets the width of the stroke used to draw object outlines","tag":"refentry","type":"Function","methodName":"setstrokewidth"},{"id":"gmagickdraw.settextdecoration","name":"GmagickDraw::settextdecoration","description":"Specifies a decoration","tag":"refentry","type":"Function","methodName":"settextdecoration"},{"id":"gmagickdraw.settextencoding","name":"GmagickDraw::settextencoding","description":"Specifies the text code set","tag":"refentry","type":"Function","methodName":"settextencoding"},{"id":"class.gmagickdraw","name":"GmagickDraw","description":"The GmagickDraw class","tag":"phpdoc:classref","type":"Class","methodName":"GmagickDraw"},{"id":"gmagickpixel.construct","name":"GmagickPixel::__construct","description":"The GmagickPixel constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gmagickpixel.getcolor","name":"GmagickPixel::getcolor","description":"Returns the color","tag":"refentry","type":"Function","methodName":"getcolor"},{"id":"gmagickpixel.getcolorcount","name":"GmagickPixel::getcolorcount","description":"Returns the color count associated with this color","tag":"refentry","type":"Function","methodName":"getcolorcount"},{"id":"gmagickpixel.getcolorvalue","name":"GmagickPixel::getcolorvalue","description":"Gets the normalized value of the provided color channel","tag":"refentry","type":"Function","methodName":"getcolorvalue"},{"id":"gmagickpixel.setcolor","name":"GmagickPixel::setcolor","description":"Sets the color","tag":"refentry","type":"Function","methodName":"setcolor"},{"id":"gmagickpixel.setcolorvalue","name":"GmagickPixel::setcolorvalue","description":"Sets the normalized value of one of the channels","tag":"refentry","type":"Function","methodName":"setcolorvalue"},{"id":"class.gmagickpixel","name":"GmagickPixel","description":"The GmagickPixel class","tag":"phpdoc:classref","type":"Class","methodName":"GmagickPixel"},{"id":"book.gmagick","name":"Gmagick","description":"Gmagick","tag":"book","type":"Extension","methodName":"Gmagick"},{"id":"intro.imagick","name":"Introduction","description":"Image Processing (ImageMagick)","tag":"preface","type":"General","methodName":"Introduction"},{"id":"imagick.requirements","name":"Requirements","description":"Image Processing (ImageMagick)","tag":"section","type":"General","methodName":"Requirements"},{"id":"imagick.installation","name":"Installation","description":"Image Processing (ImageMagick)","tag":"section","type":"General","methodName":"Installation"},{"id":"imagick.configuration","name":"Runtime Configuration","description":"Image Processing (ImageMagick)","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"imagick.setup","name":"Installing\/Configuring","description":"Image Processing (ImageMagick)","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"imagick.constants","name":"Predefined Constants","description":"Image Processing (ImageMagick)","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"imagick.examples-1","name":"Basic usage","description":"Image Processing (ImageMagick)","tag":"section","type":"General","methodName":"Basic usage"},{"id":"imagick.examples","name":"Examples","description":"Image Processing (ImageMagick)","tag":"chapter","type":"General","methodName":"Examples"},{"id":"imagick.adaptiveblurimage","name":"Imagick::adaptiveBlurImage","description":"Adds adaptive blur filter to image","tag":"refentry","type":"Function","methodName":"adaptiveBlurImage"},{"id":"imagick.adaptiveresizeimage","name":"Imagick::adaptiveResizeImage","description":"Adaptively resize image with data dependent triangulation","tag":"refentry","type":"Function","methodName":"adaptiveResizeImage"},{"id":"imagick.adaptivesharpenimage","name":"Imagick::adaptiveSharpenImage","description":"Adaptively sharpen the image","tag":"refentry","type":"Function","methodName":"adaptiveSharpenImage"},{"id":"imagick.adaptivethresholdimage","name":"Imagick::adaptiveThresholdImage","description":"Selects a threshold for each pixel based on a range of intensity","tag":"refentry","type":"Function","methodName":"adaptiveThresholdImage"},{"id":"imagick.addimage","name":"Imagick::addImage","description":"Adds new image to Imagick object image list","tag":"refentry","type":"Function","methodName":"addImage"},{"id":"imagick.addnoiseimage","name":"Imagick::addNoiseImage","description":"Adds random noise to the image","tag":"refentry","type":"Function","methodName":"addNoiseImage"},{"id":"imagick.affinetransformimage","name":"Imagick::affineTransformImage","description":"Transforms an image","tag":"refentry","type":"Function","methodName":"affineTransformImage"},{"id":"imagick.animateimages","name":"Imagick::animateImages","description":"Animates an image or images","tag":"refentry","type":"Function","methodName":"animateImages"},{"id":"imagick.annotateimage","name":"Imagick::annotateImage","description":"Annotates an image with text","tag":"refentry","type":"Function","methodName":"annotateImage"},{"id":"imagick.appendimages","name":"Imagick::appendImages","description":"Append a set of images","tag":"refentry","type":"Function","methodName":"appendImages"},{"id":"imagick.autolevelimage","name":"Imagick::autoLevelImage","description":"Adjusts the levels of a particular image channel","tag":"refentry","type":"Function","methodName":"autoLevelImage"},{"id":"imagick.averageimages","name":"Imagick::averageImages","description":"Average a set of images","tag":"refentry","type":"Function","methodName":"averageImages"},{"id":"imagick.blackthresholdimage","name":"Imagick::blackThresholdImage","description":"Forces all pixels below the threshold into black","tag":"refentry","type":"Function","methodName":"blackThresholdImage"},{"id":"imagick.blueshiftimage","name":"Imagick::blueShiftImage","description":"Mutes the colors of the image","tag":"refentry","type":"Function","methodName":"blueShiftImage"},{"id":"imagick.blurimage","name":"Imagick::blurImage","description":"Adds blur filter to image","tag":"refentry","type":"Function","methodName":"blurImage"},{"id":"imagick.borderimage","name":"Imagick::borderImage","description":"Surrounds the image with a border","tag":"refentry","type":"Function","methodName":"borderImage"},{"id":"imagick.brightnesscontrastimage","name":"Imagick::brightnessContrastImage","description":"Change the brightness and\/or contrast of an image","tag":"refentry","type":"Function","methodName":"brightnessContrastImage"},{"id":"imagick.charcoalimage","name":"Imagick::charcoalImage","description":"Simulates a charcoal drawing","tag":"refentry","type":"Function","methodName":"charcoalImage"},{"id":"imagick.chopimage","name":"Imagick::chopImage","description":"Removes a region of an image and trims","tag":"refentry","type":"Function","methodName":"chopImage"},{"id":"imagick.clampimage","name":"Imagick::clampImage","description":"Restricts the color range from 0 to the quantum depth.","tag":"refentry","type":"Function","methodName":"clampImage"},{"id":"imagick.clear","name":"Imagick::clear","description":"Clears all resources associated to Imagick object","tag":"refentry","type":"Function","methodName":"clear"},{"id":"imagick.clipimage","name":"Imagick::clipImage","description":"Clips along the first path from the 8BIM profile","tag":"refentry","type":"Function","methodName":"clipImage"},{"id":"imagick.clipimagepath","name":"Imagick::clipImagePath","description":"Clips along the named paths from the 8BIM profile, if present","tag":"refentry","type":"Function","methodName":"clipImagePath"},{"id":"imagick.clippathimage","name":"Imagick::clipPathImage","description":"Clips along the named paths from the 8BIM profile","tag":"refentry","type":"Function","methodName":"clipPathImage"},{"id":"imagick.clone","name":"Imagick::clone","description":"Makes an exact copy of the Imagick object","tag":"refentry","type":"Function","methodName":"clone"},{"id":"imagick.clutimage","name":"Imagick::clutImage","description":"Replaces colors in the image","tag":"refentry","type":"Function","methodName":"clutImage"},{"id":"imagick.coalesceimages","name":"Imagick::coalesceImages","description":"Composites a set of images","tag":"refentry","type":"Function","methodName":"coalesceImages"},{"id":"imagick.colorfloodfillimage","name":"Imagick::colorFloodfillImage","description":"Changes the color value of any pixel that matches target","tag":"refentry","type":"Function","methodName":"colorFloodfillImage"},{"id":"imagick.colorizeimage","name":"Imagick::colorizeImage","description":"Blends the fill color with the image","tag":"refentry","type":"Function","methodName":"colorizeImage"},{"id":"imagick.colormatriximage","name":"Imagick::colorMatrixImage","description":"Apply color transformation to an image","tag":"refentry","type":"Function","methodName":"colorMatrixImage"},{"id":"imagick.combineimages","name":"Imagick::combineImages","description":"Combines one or more images into a single image","tag":"refentry","type":"Function","methodName":"combineImages"},{"id":"imagick.commentimage","name":"Imagick::commentImage","description":"Adds a comment to your image","tag":"refentry","type":"Function","methodName":"commentImage"},{"id":"imagick.compareimagechannels","name":"Imagick::compareImageChannels","description":"Returns the difference in one or more images","tag":"refentry","type":"Function","methodName":"compareImageChannels"},{"id":"imagick.compareimagelayers","name":"Imagick::compareImageLayers","description":"Returns the maximum bounding region between images","tag":"refentry","type":"Function","methodName":"compareImageLayers"},{"id":"imagick.compareimages","name":"Imagick::compareImages","description":"Compares an image to a reconstructed image","tag":"refentry","type":"Function","methodName":"compareImages"},{"id":"imagick.compositeimage","name":"Imagick::compositeImage","description":"Composite one image onto another","tag":"refentry","type":"Function","methodName":"compositeImage"},{"id":"imagick.construct","name":"Imagick::__construct","description":"The Imagick constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"imagick.contrastimage","name":"Imagick::contrastImage","description":"Change the contrast of the image","tag":"refentry","type":"Function","methodName":"contrastImage"},{"id":"imagick.contraststretchimage","name":"Imagick::contrastStretchImage","description":"Enhances the contrast of a color image","tag":"refentry","type":"Function","methodName":"contrastStretchImage"},{"id":"imagick.convolveimage","name":"Imagick::convolveImage","description":"Applies a custom convolution kernel to the image","tag":"refentry","type":"Function","methodName":"convolveImage"},{"id":"imagick.count","name":"Imagick::count","description":"Get the number of images","tag":"refentry","type":"Function","methodName":"count"},{"id":"imagick.cropimage","name":"Imagick::cropImage","description":"Extracts a region of the image","tag":"refentry","type":"Function","methodName":"cropImage"},{"id":"imagick.cropthumbnailimage","name":"Imagick::cropThumbnailImage","description":"Creates a crop thumbnail","tag":"refentry","type":"Function","methodName":"cropThumbnailImage"},{"id":"imagick.current","name":"Imagick::current","description":"Returns a reference to the current Imagick object","tag":"refentry","type":"Function","methodName":"current"},{"id":"imagick.cyclecolormapimage","name":"Imagick::cycleColormapImage","description":"Displaces an image's colormap","tag":"refentry","type":"Function","methodName":"cycleColormapImage"},{"id":"imagick.decipherimage","name":"Imagick::decipherImage","description":"Deciphers an image","tag":"refentry","type":"Function","methodName":"decipherImage"},{"id":"imagick.deconstructimages","name":"Imagick::deconstructImages","description":"Returns certain pixel differences between images","tag":"refentry","type":"Function","methodName":"deconstructImages"},{"id":"imagick.deleteimageartifact","name":"Imagick::deleteImageArtifact","description":"Delete image artifact","tag":"refentry","type":"Function","methodName":"deleteImageArtifact"},{"id":"imagick.deleteimageproperty","name":"Imagick::deleteImageProperty","description":"Deletes an image property","tag":"refentry","type":"Function","methodName":"deleteImageProperty"},{"id":"imagick.deskewimage","name":"Imagick::deskewImage","description":"Removes skew from the image","tag":"refentry","type":"Function","methodName":"deskewImage"},{"id":"imagick.despeckleimage","name":"Imagick::despeckleImage","description":"Reduces the speckle noise in an image","tag":"refentry","type":"Function","methodName":"despeckleImage"},{"id":"imagick.destroy","name":"Imagick::destroy","description":"Destroys the Imagick object","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"imagick.displayimage","name":"Imagick::displayImage","description":"Displays an image","tag":"refentry","type":"Function","methodName":"displayImage"},{"id":"imagick.displayimages","name":"Imagick::displayImages","description":"Displays an image or image sequence","tag":"refentry","type":"Function","methodName":"displayImages"},{"id":"imagick.distortimage","name":"Imagick::distortImage","description":"Distorts an image using various distortion methods","tag":"refentry","type":"Function","methodName":"distortImage"},{"id":"imagick.drawimage","name":"Imagick::drawImage","description":"Renders the ImagickDraw object on the current image","tag":"refentry","type":"Function","methodName":"drawImage"},{"id":"imagick.edgeimage","name":"Imagick::edgeImage","description":"Enhance edges within the image","tag":"refentry","type":"Function","methodName":"edgeImage"},{"id":"imagick.embossimage","name":"Imagick::embossImage","description":"Returns a grayscale image with a three-dimensional effect","tag":"refentry","type":"Function","methodName":"embossImage"},{"id":"imagick.encipherimage","name":"Imagick::encipherImage","description":"Enciphers an image","tag":"refentry","type":"Function","methodName":"encipherImage"},{"id":"imagick.enhanceimage","name":"Imagick::enhanceImage","description":"Improves the quality of a noisy image","tag":"refentry","type":"Function","methodName":"enhanceImage"},{"id":"imagick.equalizeimage","name":"Imagick::equalizeImage","description":"Equalizes the image histogram","tag":"refentry","type":"Function","methodName":"equalizeImage"},{"id":"imagick.evaluateimage","name":"Imagick::evaluateImage","description":"Applies an expression to an image","tag":"refentry","type":"Function","methodName":"evaluateImage"},{"id":"imagick.exportimagepixels","name":"Imagick::exportImagePixels","description":"Exports raw image pixels","tag":"refentry","type":"Function","methodName":"exportImagePixels"},{"id":"imagick.extentimage","name":"Imagick::extentImage","description":"Set image size","tag":"refentry","type":"Function","methodName":"extentImage"},{"id":"imagick.filter","name":"Imagick::filter","description":"Applies a custom convolution kernel to the image","tag":"refentry","type":"Function","methodName":"filter"},{"id":"imagick.flattenimages","name":"Imagick::flattenImages","description":"Merges a sequence of images","tag":"refentry","type":"Function","methodName":"flattenImages"},{"id":"imagick.flipimage","name":"Imagick::flipImage","description":"Creates a vertical mirror image","tag":"refentry","type":"Function","methodName":"flipImage"},{"id":"imagick.floodfillpaintimage","name":"Imagick::floodFillPaintImage","description":"Changes the color value of any pixel that matches target","tag":"refentry","type":"Function","methodName":"floodFillPaintImage"},{"id":"imagick.flopimage","name":"Imagick::flopImage","description":"Creates a horizontal mirror image","tag":"refentry","type":"Function","methodName":"flopImage"},{"id":"imagick.forwardfouriertransformimage","name":"Imagick::forwardFourierTransformImage","description":"Implements the discrete Fourier transform (DFT)","tag":"refentry","type":"Function","methodName":"forwardFourierTransformImage"},{"id":"imagick.frameimage","name":"Imagick::frameImage","description":"Adds a simulated three-dimensional border","tag":"refentry","type":"Function","methodName":"frameImage"},{"id":"imagick.functionimage","name":"Imagick::functionImage","description":"Applies a function on the image","tag":"refentry","type":"Function","methodName":"functionImage"},{"id":"imagick.fximage","name":"Imagick::fxImage","description":"Evaluate expression for each pixel in the image","tag":"refentry","type":"Function","methodName":"fxImage"},{"id":"imagick.gammaimage","name":"Imagick::gammaImage","description":"Gamma-corrects an image","tag":"refentry","type":"Function","methodName":"gammaImage"},{"id":"imagick.gaussianblurimage","name":"Imagick::gaussianBlurImage","description":"Blurs an image","tag":"refentry","type":"Function","methodName":"gaussianBlurImage"},{"id":"imagick.getcolorspace","name":"Imagick::getColorspace","description":"Gets the colorspace","tag":"refentry","type":"Function","methodName":"getColorspace"},{"id":"imagick.getcompression","name":"Imagick::getCompression","description":"Gets the object compression type","tag":"refentry","type":"Function","methodName":"getCompression"},{"id":"imagick.getcompressionquality","name":"Imagick::getCompressionQuality","description":"Gets the object compression quality","tag":"refentry","type":"Function","methodName":"getCompressionQuality"},{"id":"imagick.getcopyright","name":"Imagick::getCopyright","description":"Returns the ImageMagick API copyright as a string","tag":"refentry","type":"Function","methodName":"getCopyright"},{"id":"imagick.getfilename","name":"Imagick::getFilename","description":"The filename associated with an image sequence","tag":"refentry","type":"Function","methodName":"getFilename"},{"id":"imagick.getfont","name":"Imagick::getFont","description":"Gets font","tag":"refentry","type":"Function","methodName":"getFont"},{"id":"imagick.getformat","name":"Imagick::getFormat","description":"Returns the format of the Imagick object","tag":"refentry","type":"Function","methodName":"getFormat"},{"id":"imagick.getgravity","name":"Imagick::getGravity","description":"Gets the gravity","tag":"refentry","type":"Function","methodName":"getGravity"},{"id":"imagick.gethomeurl","name":"Imagick::getHomeURL","description":"Returns the ImageMagick home URL","tag":"refentry","type":"Function","methodName":"getHomeURL"},{"id":"imagick.getimage","name":"Imagick::getImage","description":"Returns a new Imagick object","tag":"refentry","type":"Function","methodName":"getImage"},{"id":"imagick.getimagealphachannel","name":"Imagick::getImageAlphaChannel","description":"Checks if the image has an alpha channel","tag":"refentry","type":"Function","methodName":"getImageAlphaChannel"},{"id":"imagick.getimageartifact","name":"Imagick::getImageArtifact","description":"Get image artifact","tag":"refentry","type":"Function","methodName":"getImageArtifact"},{"id":"imagick.getimageattribute","name":"Imagick::getImageAttribute","description":"Returns a named attribute","tag":"refentry","type":"Function","methodName":"getImageAttribute"},{"id":"imagick.getimagebackgroundcolor","name":"Imagick::getImageBackgroundColor","description":"Returns the image background color","tag":"refentry","type":"Function","methodName":"getImageBackgroundColor"},{"id":"imagick.getimageblob","name":"Imagick::getImageBlob","description":"Returns the image sequence as a blob","tag":"refentry","type":"Function","methodName":"getImageBlob"},{"id":"imagick.getimageblueprimary","name":"Imagick::getImageBluePrimary","description":"Returns the chromaticy blue primary point","tag":"refentry","type":"Function","methodName":"getImageBluePrimary"},{"id":"imagick.getimagebordercolor","name":"Imagick::getImageBorderColor","description":"Returns the image border color","tag":"refentry","type":"Function","methodName":"getImageBorderColor"},{"id":"imagick.getimagechanneldepth","name":"Imagick::getImageChannelDepth","description":"Gets the depth for a particular image channel","tag":"refentry","type":"Function","methodName":"getImageChannelDepth"},{"id":"imagick.getimagechanneldistortion","name":"Imagick::getImageChannelDistortion","description":"Compares image channels of an image to a reconstructed image","tag":"refentry","type":"Function","methodName":"getImageChannelDistortion"},{"id":"imagick.getimagechanneldistortions","name":"Imagick::getImageChannelDistortions","description":"Gets channel distortions","tag":"refentry","type":"Function","methodName":"getImageChannelDistortions"},{"id":"imagick.getimagechannelextrema","name":"Imagick::getImageChannelExtrema","description":"Gets the extrema for one or more image channels","tag":"refentry","type":"Function","methodName":"getImageChannelExtrema"},{"id":"imagick.getimagechannelkurtosis","name":"Imagick::getImageChannelKurtosis","description":"The getImageChannelKurtosis purpose","tag":"refentry","type":"Function","methodName":"getImageChannelKurtosis"},{"id":"imagick.getimagechannelmean","name":"Imagick::getImageChannelMean","description":"Gets the mean and standard deviation","tag":"refentry","type":"Function","methodName":"getImageChannelMean"},{"id":"imagick.getimagechannelrange","name":"Imagick::getImageChannelRange","description":"Gets channel range","tag":"refentry","type":"Function","methodName":"getImageChannelRange"},{"id":"imagick.getimagechannelstatistics","name":"Imagick::getImageChannelStatistics","description":"Returns statistics for each channel in the image","tag":"refentry","type":"Function","methodName":"getImageChannelStatistics"},{"id":"imagick.getimageclipmask","name":"Imagick::getImageClipMask","description":"Gets image clip mask","tag":"refentry","type":"Function","methodName":"getImageClipMask"},{"id":"imagick.getimagecolormapcolor","name":"Imagick::getImageColormapColor","description":"Returns the color of the specified colormap index","tag":"refentry","type":"Function","methodName":"getImageColormapColor"},{"id":"imagick.getimagecolors","name":"Imagick::getImageColors","description":"Gets the number of unique colors in the image","tag":"refentry","type":"Function","methodName":"getImageColors"},{"id":"imagick.getimagecolorspace","name":"Imagick::getImageColorspace","description":"Gets the image colorspace","tag":"refentry","type":"Function","methodName":"getImageColorspace"},{"id":"imagick.getimagecompose","name":"Imagick::getImageCompose","description":"Returns the composite operator associated with the image","tag":"refentry","type":"Function","methodName":"getImageCompose"},{"id":"imagick.getimagecompression","name":"Imagick::getImageCompression","description":"Gets the current image's compression type","tag":"refentry","type":"Function","methodName":"getImageCompression"},{"id":"imagick.getimagecompressionquality","name":"Imagick::getImageCompressionQuality","description":"Gets the current image's compression quality","tag":"refentry","type":"Function","methodName":"getImageCompressionQuality"},{"id":"imagick.getimagedelay","name":"Imagick::getImageDelay","description":"Gets the image delay","tag":"refentry","type":"Function","methodName":"getImageDelay"},{"id":"imagick.getimagedepth","name":"Imagick::getImageDepth","description":"Gets the image depth","tag":"refentry","type":"Function","methodName":"getImageDepth"},{"id":"imagick.getimagedispose","name":"Imagick::getImageDispose","description":"Gets the image disposal method","tag":"refentry","type":"Function","methodName":"getImageDispose"},{"id":"imagick.getimagedistortion","name":"Imagick::getImageDistortion","description":"Compares an image to a reconstructed image","tag":"refentry","type":"Function","methodName":"getImageDistortion"},{"id":"imagick.getimageextrema","name":"Imagick::getImageExtrema","description":"Gets the extrema for the image","tag":"refentry","type":"Function","methodName":"getImageExtrema"},{"id":"imagick.getimagefilename","name":"Imagick::getImageFilename","description":"Returns the filename of a particular image in a sequence","tag":"refentry","type":"Function","methodName":"getImageFilename"},{"id":"imagick.getimageformat","name":"Imagick::getImageFormat","description":"Returns the format of a particular image in a sequence","tag":"refentry","type":"Function","methodName":"getImageFormat"},{"id":"imagick.getimagegamma","name":"Imagick::getImageGamma","description":"Gets the image gamma","tag":"refentry","type":"Function","methodName":"getImageGamma"},{"id":"imagick.getimagegeometry","name":"Imagick::getImageGeometry","description":"Gets the width and height as an associative array","tag":"refentry","type":"Function","methodName":"getImageGeometry"},{"id":"imagick.getimagegravity","name":"Imagick::getImageGravity","description":"Gets the image gravity","tag":"refentry","type":"Function","methodName":"getImageGravity"},{"id":"imagick.getimagegreenprimary","name":"Imagick::getImageGreenPrimary","description":"Returns the chromaticy green primary point","tag":"refentry","type":"Function","methodName":"getImageGreenPrimary"},{"id":"imagick.getimageheight","name":"Imagick::getImageHeight","description":"Returns the image height","tag":"refentry","type":"Function","methodName":"getImageHeight"},{"id":"imagick.getimagehistogram","name":"Imagick::getImageHistogram","description":"Gets the image histogram","tag":"refentry","type":"Function","methodName":"getImageHistogram"},{"id":"imagick.getimageindex","name":"Imagick::getImageIndex","description":"Gets the index of the current active image","tag":"refentry","type":"Function","methodName":"getImageIndex"},{"id":"imagick.getimageinterlacescheme","name":"Imagick::getImageInterlaceScheme","description":"Gets the image interlace scheme","tag":"refentry","type":"Function","methodName":"getImageInterlaceScheme"},{"id":"imagick.getimageinterpolatemethod","name":"Imagick::getImageInterpolateMethod","description":"Returns the interpolation method","tag":"refentry","type":"Function","methodName":"getImageInterpolateMethod"},{"id":"imagick.getimageiterations","name":"Imagick::getImageIterations","description":"Gets the image iterations","tag":"refentry","type":"Function","methodName":"getImageIterations"},{"id":"imagick.getimagelength","name":"Imagick::getImageLength","description":"Returns the image length in bytes","tag":"refentry","type":"Function","methodName":"getImageLength"},{"id":"imagick.getimagematte","name":"Imagick::getImageMatte","description":"Return if the image has a matte channel","tag":"refentry","type":"Function","methodName":"getImageMatte"},{"id":"imagick.getimagemattecolor","name":"Imagick::getImageMatteColor","description":"Returns the image matte color","tag":"refentry","type":"Function","methodName":"getImageMatteColor"},{"id":"imagick.getimagemimetype","name":"Imagick::getImageMimeType","description":"Returns the image mime-type","tag":"refentry","type":"Function","methodName":"getImageMimeType"},{"id":"imagick.getimageorientation","name":"Imagick::getImageOrientation","description":"Gets the image orientation","tag":"refentry","type":"Function","methodName":"getImageOrientation"},{"id":"imagick.getimagepage","name":"Imagick::getImagePage","description":"Returns the page geometry","tag":"refentry","type":"Function","methodName":"getImagePage"},{"id":"imagick.getimagepixelcolor","name":"Imagick::getImagePixelColor","description":"Returns the color of the specified pixel","tag":"refentry","type":"Function","methodName":"getImagePixelColor"},{"id":"imagick.getimageprofile","name":"Imagick::getImageProfile","description":"Returns the named image profile","tag":"refentry","type":"Function","methodName":"getImageProfile"},{"id":"imagick.getimageprofiles","name":"Imagick::getImageProfiles","description":"Returns the image profiles","tag":"refentry","type":"Function","methodName":"getImageProfiles"},{"id":"imagick.getimageproperties","name":"Imagick::getImageProperties","description":"Returns the image properties","tag":"refentry","type":"Function","methodName":"getImageProperties"},{"id":"imagick.getimageproperty","name":"Imagick::getImageProperty","description":"Returns the named image property","tag":"refentry","type":"Function","methodName":"getImageProperty"},{"id":"imagick.getimageredprimary","name":"Imagick::getImageRedPrimary","description":"Returns the chromaticity red primary point","tag":"refentry","type":"Function","methodName":"getImageRedPrimary"},{"id":"imagick.getimageregion","name":"Imagick::getImageRegion","description":"Extracts a region of the image","tag":"refentry","type":"Function","methodName":"getImageRegion"},{"id":"imagick.getimagerenderingintent","name":"Imagick::getImageRenderingIntent","description":"Gets the image rendering intent","tag":"refentry","type":"Function","methodName":"getImageRenderingIntent"},{"id":"imagick.getimageresolution","name":"Imagick::getImageResolution","description":"Gets the image X and Y resolution","tag":"refentry","type":"Function","methodName":"getImageResolution"},{"id":"imagick.getimagesblob","name":"Imagick::getImagesBlob","description":"Returns all image sequences as a blob","tag":"refentry","type":"Function","methodName":"getImagesBlob"},{"id":"imagick.getimagescene","name":"Imagick::getImageScene","description":"Gets the image scene","tag":"refentry","type":"Function","methodName":"getImageScene"},{"id":"imagick.getimagesignature","name":"Imagick::getImageSignature","description":"Generates an SHA-256 message digest","tag":"refentry","type":"Function","methodName":"getImageSignature"},{"id":"imagick.getimagesize","name":"Imagick::getImageSize","description":"Returns the image length in bytes","tag":"refentry","type":"Function","methodName":"getImageSize"},{"id":"imagick.getimagetickspersecond","name":"Imagick::getImageTicksPerSecond","description":"Gets the image ticks-per-second","tag":"refentry","type":"Function","methodName":"getImageTicksPerSecond"},{"id":"imagick.getimagetotalinkdensity","name":"Imagick::getImageTotalInkDensity","description":"Gets the image total ink density","tag":"refentry","type":"Function","methodName":"getImageTotalInkDensity"},{"id":"imagick.getimagetype","name":"Imagick::getImageType","description":"Gets the potential image type","tag":"refentry","type":"Function","methodName":"getImageType"},{"id":"imagick.getimageunits","name":"Imagick::getImageUnits","description":"Gets the image units of resolution","tag":"refentry","type":"Function","methodName":"getImageUnits"},{"id":"imagick.getimagevirtualpixelmethod","name":"Imagick::getImageVirtualPixelMethod","description":"Returns the virtual pixel method","tag":"refentry","type":"Function","methodName":"getImageVirtualPixelMethod"},{"id":"imagick.getimagewhitepoint","name":"Imagick::getImageWhitePoint","description":"Returns the chromaticity white point","tag":"refentry","type":"Function","methodName":"getImageWhitePoint"},{"id":"imagick.getimagewidth","name":"Imagick::getImageWidth","description":"Returns the image width","tag":"refentry","type":"Function","methodName":"getImageWidth"},{"id":"imagick.getinterlacescheme","name":"Imagick::getInterlaceScheme","description":"Gets the object interlace scheme","tag":"refentry","type":"Function","methodName":"getInterlaceScheme"},{"id":"imagick.getiteratorindex","name":"Imagick::getIteratorIndex","description":"Gets the index of the current active image","tag":"refentry","type":"Function","methodName":"getIteratorIndex"},{"id":"imagick.getnumberimages","name":"Imagick::getNumberImages","description":"Returns the number of images in the object","tag":"refentry","type":"Function","methodName":"getNumberImages"},{"id":"imagick.getoption","name":"Imagick::getOption","description":"Returns a value associated with the specified key","tag":"refentry","type":"Function","methodName":"getOption"},{"id":"imagick.getpackagename","name":"Imagick::getPackageName","description":"Returns the ImageMagick package name","tag":"refentry","type":"Function","methodName":"getPackageName"},{"id":"imagick.getpage","name":"Imagick::getPage","description":"Returns the page geometry","tag":"refentry","type":"Function","methodName":"getPage"},{"id":"imagick.getpixeliterator","name":"Imagick::getPixelIterator","description":"Returns a MagickPixelIterator","tag":"refentry","type":"Function","methodName":"getPixelIterator"},{"id":"imagick.getpixelregioniterator","name":"Imagick::getPixelRegionIterator","description":"Get an ImagickPixelIterator for an image section","tag":"refentry","type":"Function","methodName":"getPixelRegionIterator"},{"id":"imagick.getpointsize","name":"Imagick::getPointSize","description":"Gets point size","tag":"refentry","type":"Function","methodName":"getPointSize"},{"id":"imagick.getquantum","name":"Imagick::getQuantum","description":"Returns the ImageMagick quantum range","tag":"refentry","type":"Function","methodName":"getQuantum"},{"id":"imagick.getquantumdepth","name":"Imagick::getQuantumDepth","description":"Gets the quantum depth","tag":"refentry","type":"Function","methodName":"getQuantumDepth"},{"id":"imagick.getquantumrange","name":"Imagick::getQuantumRange","description":"Returns the Imagick quantum range","tag":"refentry","type":"Function","methodName":"getQuantumRange"},{"id":"imagick.getregistry","name":"Imagick::getRegistry","description":"Get a StringRegistry entry","tag":"refentry","type":"Function","methodName":"getRegistry"},{"id":"imagick.getreleasedate","name":"Imagick::getReleaseDate","description":"Returns the ImageMagick release date","tag":"refentry","type":"Function","methodName":"getReleaseDate"},{"id":"imagick.getresource","name":"Imagick::getResource","description":"Returns the specified resource's memory usage","tag":"refentry","type":"Function","methodName":"getResource"},{"id":"imagick.getresourcelimit","name":"Imagick::getResourceLimit","description":"Returns the specified resource limit","tag":"refentry","type":"Function","methodName":"getResourceLimit"},{"id":"imagick.getsamplingfactors","name":"Imagick::getSamplingFactors","description":"Gets the horizontal and vertical sampling factor","tag":"refentry","type":"Function","methodName":"getSamplingFactors"},{"id":"imagick.getsize","name":"Imagick::getSize","description":"Returns the size associated with the Imagick object","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"imagick.getsizeoffset","name":"Imagick::getSizeOffset","description":"Returns the size offset","tag":"refentry","type":"Function","methodName":"getSizeOffset"},{"id":"imagick.getversion","name":"Imagick::getVersion","description":"Returns the ImageMagick API version","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"imagick.haldclutimage","name":"Imagick::haldClutImage","description":"Replaces colors in the image","tag":"refentry","type":"Function","methodName":"haldClutImage"},{"id":"imagick.hasnextimage","name":"Imagick::hasNextImage","description":"Checks if the object has more images","tag":"refentry","type":"Function","methodName":"hasNextImage"},{"id":"imagick.haspreviousimage","name":"Imagick::hasPreviousImage","description":"Checks if the object has a previous image","tag":"refentry","type":"Function","methodName":"hasPreviousImage"},{"id":"imagick.identifyformat","name":"Imagick::identifyFormat","description":"Formats a string with image details","tag":"refentry","type":"Function","methodName":"identifyFormat"},{"id":"imagick.identifyimage","name":"Imagick::identifyImage","description":"Identifies an image and fetches attributes","tag":"refentry","type":"Function","methodName":"identifyImage"},{"id":"imagick.implodeimage","name":"Imagick::implodeImage","description":"Creates a new image as a copy","tag":"refentry","type":"Function","methodName":"implodeImage"},{"id":"imagick.importimagepixels","name":"Imagick::importImagePixels","description":"Imports image pixels","tag":"refentry","type":"Function","methodName":"importImagePixels"},{"id":"imagick.inversefouriertransformimage","name":"Imagick::inverseFourierTransformImage","description":"Implements the inverse discrete Fourier transform (DFT)","tag":"refentry","type":"Function","methodName":"inverseFourierTransformImage"},{"id":"imagick.labelimage","name":"Imagick::labelImage","description":"Adds a label to an image","tag":"refentry","type":"Function","methodName":"labelImage"},{"id":"imagick.levelimage","name":"Imagick::levelImage","description":"Adjusts the levels of an image","tag":"refentry","type":"Function","methodName":"levelImage"},{"id":"imagick.linearstretchimage","name":"Imagick::linearStretchImage","description":"Stretches with saturation the image intensity","tag":"refentry","type":"Function","methodName":"linearStretchImage"},{"id":"imagick.liquidrescaleimage","name":"Imagick::liquidRescaleImage","description":"Animates an image or images","tag":"refentry","type":"Function","methodName":"liquidRescaleImage"},{"id":"imagick.listregistry","name":"Imagick::listRegistry","description":"List all the registry settings","tag":"refentry","type":"Function","methodName":"listRegistry"},{"id":"imagick.magnifyimage","name":"Imagick::magnifyImage","description":"Scales an image proportionally 2x","tag":"refentry","type":"Function","methodName":"magnifyImage"},{"id":"imagick.mapimage","name":"Imagick::mapImage","description":"Replaces the colors of an image with the closest color from a reference image","tag":"refentry","type":"Function","methodName":"mapImage"},{"id":"imagick.mattefloodfillimage","name":"Imagick::matteFloodfillImage","description":"Changes the transparency value of a color","tag":"refentry","type":"Function","methodName":"matteFloodfillImage"},{"id":"imagick.medianfilterimage","name":"Imagick::medianFilterImage","description":"Applies a digital filter","tag":"refentry","type":"Function","methodName":"medianFilterImage"},{"id":"imagick.mergeimagelayers","name":"Imagick::mergeImageLayers","description":"Merges image layers","tag":"refentry","type":"Function","methodName":"mergeImageLayers"},{"id":"imagick.minifyimage","name":"Imagick::minifyImage","description":"Scales an image proportionally to half its size","tag":"refentry","type":"Function","methodName":"minifyImage"},{"id":"imagick.modulateimage","name":"Imagick::modulateImage","description":"Control the brightness, saturation, and hue","tag":"refentry","type":"Function","methodName":"modulateImage"},{"id":"imagick.montageimage","name":"Imagick::montageImage","description":"Creates a composite image","tag":"refentry","type":"Function","methodName":"montageImage"},{"id":"imagick.morphimages","name":"Imagick::morphImages","description":"Method morphs a set of images","tag":"refentry","type":"Function","methodName":"morphImages"},{"id":"imagick.morphology","name":"Imagick::morphology","description":"Applies a user supplied kernel to the image according to the given morphology method.","tag":"refentry","type":"Function","methodName":"morphology"},{"id":"imagick.mosaicimages","name":"Imagick::mosaicImages","description":"Forms a mosaic from images","tag":"refentry","type":"Function","methodName":"mosaicImages"},{"id":"imagick.motionblurimage","name":"Imagick::motionBlurImage","description":"Simulates motion blur","tag":"refentry","type":"Function","methodName":"motionBlurImage"},{"id":"imagick.negateimage","name":"Imagick::negateImage","description":"Negates the colors in the reference image","tag":"refentry","type":"Function","methodName":"negateImage"},{"id":"imagick.newimage","name":"Imagick::newImage","description":"Creates a new image","tag":"refentry","type":"Function","methodName":"newImage"},{"id":"imagick.newpseudoimage","name":"Imagick::newPseudoImage","description":"Creates a new image","tag":"refentry","type":"Function","methodName":"newPseudoImage"},{"id":"imagick.nextimage","name":"Imagick::nextImage","description":"Moves to the next image","tag":"refentry","type":"Function","methodName":"nextImage"},{"id":"imagick.normalizeimage","name":"Imagick::normalizeImage","description":"Enhances the contrast of a color image","tag":"refentry","type":"Function","methodName":"normalizeImage"},{"id":"imagick.oilpaintimage","name":"Imagick::oilPaintImage","description":"Simulates an oil painting","tag":"refentry","type":"Function","methodName":"oilPaintImage"},{"id":"imagick.opaquepaintimage","name":"Imagick::opaquePaintImage","description":"Changes the color value of any pixel that matches target","tag":"refentry","type":"Function","methodName":"opaquePaintImage"},{"id":"imagick.optimizeimagelayers","name":"Imagick::optimizeImageLayers","description":"Removes repeated portions of images to optimize","tag":"refentry","type":"Function","methodName":"optimizeImageLayers"},{"id":"imagick.orderedposterizeimage","name":"Imagick::orderedPosterizeImage","description":"Performs an ordered dither","tag":"refentry","type":"Function","methodName":"orderedPosterizeImage"},{"id":"imagick.paintfloodfillimage","name":"Imagick::paintFloodfillImage","description":"Changes the color value of any pixel that matches target","tag":"refentry","type":"Function","methodName":"paintFloodfillImage"},{"id":"imagick.paintopaqueimage","name":"Imagick::paintOpaqueImage","description":"Change any pixel that matches color","tag":"refentry","type":"Function","methodName":"paintOpaqueImage"},{"id":"imagick.painttransparentimage","name":"Imagick::paintTransparentImage","description":"Changes any pixel that matches color with the color defined by fill","tag":"refentry","type":"Function","methodName":"paintTransparentImage"},{"id":"imagick.pingimage","name":"Imagick::pingImage","description":"Fetch basic attributes about the image","tag":"refentry","type":"Function","methodName":"pingImage"},{"id":"imagick.pingimageblob","name":"Imagick::pingImageBlob","description":"Quickly fetch attributes","tag":"refentry","type":"Function","methodName":"pingImageBlob"},{"id":"imagick.pingimagefile","name":"Imagick::pingImageFile","description":"Get basic image attributes in a lightweight manner","tag":"refentry","type":"Function","methodName":"pingImageFile"},{"id":"imagick.polaroidimage","name":"Imagick::polaroidImage","description":"Simulates a Polaroid picture","tag":"refentry","type":"Function","methodName":"polaroidImage"},{"id":"imagick.posterizeimage","name":"Imagick::posterizeImage","description":"Reduces the image to a limited number of color level","tag":"refentry","type":"Function","methodName":"posterizeImage"},{"id":"imagick.previewimages","name":"Imagick::previewImages","description":"Quickly pin-point appropriate parameters for image processing","tag":"refentry","type":"Function","methodName":"previewImages"},{"id":"imagick.previousimage","name":"Imagick::previousImage","description":"Move to the previous image in the object","tag":"refentry","type":"Function","methodName":"previousImage"},{"id":"imagick.profileimage","name":"Imagick::profileImage","description":"Adds or removes a profile from an image","tag":"refentry","type":"Function","methodName":"profileImage"},{"id":"imagick.quantizeimage","name":"Imagick::quantizeImage","description":"Analyzes the colors within a reference image","tag":"refentry","type":"Function","methodName":"quantizeImage"},{"id":"imagick.quantizeimages","name":"Imagick::quantizeImages","description":"Analyzes the colors within a sequence of images","tag":"refentry","type":"Function","methodName":"quantizeImages"},{"id":"imagick.queryfontmetrics","name":"Imagick::queryFontMetrics","description":"Returns an array representing the font metrics","tag":"refentry","type":"Function","methodName":"queryFontMetrics"},{"id":"imagick.queryfonts","name":"Imagick::queryFonts","description":"Returns the configured fonts","tag":"refentry","type":"Function","methodName":"queryFonts"},{"id":"imagick.queryformats","name":"Imagick::queryFormats","description":"Returns formats supported by Imagick","tag":"refentry","type":"Function","methodName":"queryFormats"},{"id":"imagick.radialblurimage","name":"Imagick::radialBlurImage","description":"Radial blurs an image","tag":"refentry","type":"Function","methodName":"radialBlurImage"},{"id":"imagick.raiseimage","name":"Imagick::raiseImage","description":"Creates a simulated 3d button-like effect","tag":"refentry","type":"Function","methodName":"raiseImage"},{"id":"imagick.randomthresholdimage","name":"Imagick::randomThresholdImage","description":"Creates a high-contrast, two-color image","tag":"refentry","type":"Function","methodName":"randomThresholdImage"},{"id":"imagick.readimage","name":"Imagick::readImage","description":"Reads image from filename","tag":"refentry","type":"Function","methodName":"readImage"},{"id":"imagick.readimageblob","name":"Imagick::readImageBlob","description":"Reads image from a binary string","tag":"refentry","type":"Function","methodName":"readImageBlob"},{"id":"imagick.readimagefile","name":"Imagick::readImageFile","description":"Reads image from open filehandle","tag":"refentry","type":"Function","methodName":"readImageFile"},{"id":"imagick.readimages","name":"Imagick::readimages","description":"Reads image from an array of filenames","tag":"refentry","type":"Function","methodName":"readimages"},{"id":"imagick.recolorimage","name":"Imagick::recolorImage","description":"Recolors image","tag":"refentry","type":"Function","methodName":"recolorImage"},{"id":"imagick.reducenoiseimage","name":"Imagick::reduceNoiseImage","description":"Smooths the contours of an image","tag":"refentry","type":"Function","methodName":"reduceNoiseImage"},{"id":"imagick.remapimage","name":"Imagick::remapImage","description":"Remaps image colors","tag":"refentry","type":"Function","methodName":"remapImage"},{"id":"imagick.removeimage","name":"Imagick::removeImage","description":"Removes an image from the image list","tag":"refentry","type":"Function","methodName":"removeImage"},{"id":"imagick.removeimageprofile","name":"Imagick::removeImageProfile","description":"Removes the named image profile and returns it","tag":"refentry","type":"Function","methodName":"removeImageProfile"},{"id":"imagick.render","name":"Imagick::render","description":"Renders all preceding drawing commands","tag":"refentry","type":"Function","methodName":"render"},{"id":"imagick.resampleimage","name":"Imagick::resampleImage","description":"Resample image to desired resolution","tag":"refentry","type":"Function","methodName":"resampleImage"},{"id":"imagick.resetimagepage","name":"Imagick::resetImagePage","description":"Reset image page","tag":"refentry","type":"Function","methodName":"resetImagePage"},{"id":"imagick.resizeimage","name":"Imagick::resizeImage","description":"Scales an image","tag":"refentry","type":"Function","methodName":"resizeImage"},{"id":"imagick.rollimage","name":"Imagick::rollImage","description":"Offsets an image","tag":"refentry","type":"Function","methodName":"rollImage"},{"id":"imagick.rotateimage","name":"Imagick::rotateImage","description":"Rotates an image","tag":"refentry","type":"Function","methodName":"rotateImage"},{"id":"imagick.rotationalblurimage","name":"Imagick::rotationalBlurImage","description":"Rotational blurs an image","tag":"refentry","type":"Function","methodName":"rotationalBlurImage"},{"id":"imagick.roundcorners","name":"Imagick::roundCorners","description":"Rounds image corners","tag":"refentry","type":"Function","methodName":"roundCorners"},{"id":"imagick.sampleimage","name":"Imagick::sampleImage","description":"Scales an image with pixel sampling","tag":"refentry","type":"Function","methodName":"sampleImage"},{"id":"imagick.scaleimage","name":"Imagick::scaleImage","description":"Scales the size of an image","tag":"refentry","type":"Function","methodName":"scaleImage"},{"id":"imagick.segmentimage","name":"Imagick::segmentImage","description":"Segments an image","tag":"refentry","type":"Function","methodName":"segmentImage"},{"id":"imagick.selectiveblurimage","name":"Imagick::selectiveBlurImage","description":"Selectively blur an image within a contrast threshold","tag":"refentry","type":"Function","methodName":"selectiveBlurImage"},{"id":"imagick.separateimagechannel","name":"Imagick::separateImageChannel","description":"Separates a channel from the image","tag":"refentry","type":"Function","methodName":"separateImageChannel"},{"id":"imagick.sepiatoneimage","name":"Imagick::sepiaToneImage","description":"Sepia tones an image","tag":"refentry","type":"Function","methodName":"sepiaToneImage"},{"id":"imagick.setbackgroundcolor","name":"Imagick::setBackgroundColor","description":"Sets the object's default background color","tag":"refentry","type":"Function","methodName":"setBackgroundColor"},{"id":"imagick.setcolorspace","name":"Imagick::setColorspace","description":"Set colorspace","tag":"refentry","type":"Function","methodName":"setColorspace"},{"id":"imagick.setcompression","name":"Imagick::setCompression","description":"Sets the object's default compression type","tag":"refentry","type":"Function","methodName":"setCompression"},{"id":"imagick.setcompressionquality","name":"Imagick::setCompressionQuality","description":"Sets the object's default compression quality","tag":"refentry","type":"Function","methodName":"setCompressionQuality"},{"id":"imagick.setfilename","name":"Imagick::setFilename","description":"Sets the filename before you read or write the image","tag":"refentry","type":"Function","methodName":"setFilename"},{"id":"imagick.setfirstiterator","name":"Imagick::setFirstIterator","description":"Sets the Imagick iterator to the first image","tag":"refentry","type":"Function","methodName":"setFirstIterator"},{"id":"imagick.setfont","name":"Imagick::setFont","description":"Sets font","tag":"refentry","type":"Function","methodName":"setFont"},{"id":"imagick.setformat","name":"Imagick::setFormat","description":"Sets the format of the Imagick object","tag":"refentry","type":"Function","methodName":"setFormat"},{"id":"imagick.setgravity","name":"Imagick::setGravity","description":"Sets the gravity","tag":"refentry","type":"Function","methodName":"setGravity"},{"id":"imagick.setimage","name":"Imagick::setImage","description":"Replaces image in the object","tag":"refentry","type":"Function","methodName":"setImage"},{"id":"imagick.setimagealphachannel","name":"Imagick::setImageAlphaChannel","description":"Sets image alpha channel","tag":"refentry","type":"Function","methodName":"setImageAlphaChannel"},{"id":"imagick.setimageartifact","name":"Imagick::setImageArtifact","description":"Set image artifact","tag":"refentry","type":"Function","methodName":"setImageArtifact"},{"id":"imagick.setimageattribute","name":"Imagick::setImageAttribute","description":"Sets an image attribute","tag":"refentry","type":"Function","methodName":"setImageAttribute"},{"id":"imagick.setimagebackgroundcolor","name":"Imagick::setImageBackgroundColor","description":"Sets the image background color","tag":"refentry","type":"Function","methodName":"setImageBackgroundColor"},{"id":"imagick.setimagebias","name":"Imagick::setImageBias","description":"Sets the image bias for any method that convolves an image","tag":"refentry","type":"Function","methodName":"setImageBias"},{"id":"imagick.setimagebiasquantum","name":"Imagick::setImageBiasQuantum","description":"Sets the image bias","tag":"refentry","type":"Function","methodName":"setImageBiasQuantum"},{"id":"imagick.setimageblueprimary","name":"Imagick::setImageBluePrimary","description":"Sets the image chromaticity blue primary point","tag":"refentry","type":"Function","methodName":"setImageBluePrimary"},{"id":"imagick.setimagebordercolor","name":"Imagick::setImageBorderColor","description":"Sets the image border color","tag":"refentry","type":"Function","methodName":"setImageBorderColor"},{"id":"imagick.setimagechanneldepth","name":"Imagick::setImageChannelDepth","description":"Sets the depth of a particular image channel","tag":"refentry","type":"Function","methodName":"setImageChannelDepth"},{"id":"imagick.setimageclipmask","name":"Imagick::setImageClipMask","description":"Sets image clip mask","tag":"refentry","type":"Function","methodName":"setImageClipMask"},{"id":"imagick.setimagecolormapcolor","name":"Imagick::setImageColormapColor","description":"Sets the color of the specified colormap index","tag":"refentry","type":"Function","methodName":"setImageColormapColor"},{"id":"imagick.setimagecolorspace","name":"Imagick::setImageColorspace","description":"Sets the image colorspace","tag":"refentry","type":"Function","methodName":"setImageColorspace"},{"id":"imagick.setimagecompose","name":"Imagick::setImageCompose","description":"Sets the image composite operator","tag":"refentry","type":"Function","methodName":"setImageCompose"},{"id":"imagick.setimagecompression","name":"Imagick::setImageCompression","description":"Sets the image compression","tag":"refentry","type":"Function","methodName":"setImageCompression"},{"id":"imagick.setimagecompressionquality","name":"Imagick::setImageCompressionQuality","description":"Sets the image compression quality","tag":"refentry","type":"Function","methodName":"setImageCompressionQuality"},{"id":"imagick.setimagedelay","name":"Imagick::setImageDelay","description":"Sets the image delay","tag":"refentry","type":"Function","methodName":"setImageDelay"},{"id":"imagick.setimagedepth","name":"Imagick::setImageDepth","description":"Sets the image depth","tag":"refentry","type":"Function","methodName":"setImageDepth"},{"id":"imagick.setimagedispose","name":"Imagick::setImageDispose","description":"Sets the image disposal method","tag":"refentry","type":"Function","methodName":"setImageDispose"},{"id":"imagick.setimageextent","name":"Imagick::setImageExtent","description":"Sets the image size","tag":"refentry","type":"Function","methodName":"setImageExtent"},{"id":"imagick.setimagefilename","name":"Imagick::setImageFilename","description":"Sets the filename of a particular image","tag":"refentry","type":"Function","methodName":"setImageFilename"},{"id":"imagick.setimageformat","name":"Imagick::setImageFormat","description":"Sets the format of a particular image","tag":"refentry","type":"Function","methodName":"setImageFormat"},{"id":"imagick.setimagegamma","name":"Imagick::setImageGamma","description":"Sets the image gamma","tag":"refentry","type":"Function","methodName":"setImageGamma"},{"id":"imagick.setimagegravity","name":"Imagick::setImageGravity","description":"Sets the image gravity","tag":"refentry","type":"Function","methodName":"setImageGravity"},{"id":"imagick.setimagegreenprimary","name":"Imagick::setImageGreenPrimary","description":"Sets the image chromaticity green primary point","tag":"refentry","type":"Function","methodName":"setImageGreenPrimary"},{"id":"imagick.setimageindex","name":"Imagick::setImageIndex","description":"Set the iterator position","tag":"refentry","type":"Function","methodName":"setImageIndex"},{"id":"imagick.setimageinterlacescheme","name":"Imagick::setImageInterlaceScheme","description":"Sets the image compression","tag":"refentry","type":"Function","methodName":"setImageInterlaceScheme"},{"id":"imagick.setimageinterpolatemethod","name":"Imagick::setImageInterpolateMethod","description":"Sets the image interpolate pixel method","tag":"refentry","type":"Function","methodName":"setImageInterpolateMethod"},{"id":"imagick.setimageiterations","name":"Imagick::setImageIterations","description":"Sets the image iterations","tag":"refentry","type":"Function","methodName":"setImageIterations"},{"id":"imagick.setimagematte","name":"Imagick::setImageMatte","description":"Sets the image matte channel","tag":"refentry","type":"Function","methodName":"setImageMatte"},{"id":"imagick.setimagemattecolor","name":"Imagick::setImageMatteColor","description":"Sets the image matte color","tag":"refentry","type":"Function","methodName":"setImageMatteColor"},{"id":"imagick.setimageopacity","name":"Imagick::setImageOpacity","description":"Sets the image opacity level","tag":"refentry","type":"Function","methodName":"setImageOpacity"},{"id":"imagick.setimageorientation","name":"Imagick::setImageOrientation","description":"Sets the image orientation","tag":"refentry","type":"Function","methodName":"setImageOrientation"},{"id":"imagick.setimagepage","name":"Imagick::setImagePage","description":"Sets the page geometry of the image","tag":"refentry","type":"Function","methodName":"setImagePage"},{"id":"imagick.setimageprofile","name":"Imagick::setImageProfile","description":"Adds a named profile to the Imagick object","tag":"refentry","type":"Function","methodName":"setImageProfile"},{"id":"imagick.setimageproperty","name":"Imagick::setImageProperty","description":"Sets an image property","tag":"refentry","type":"Function","methodName":"setImageProperty"},{"id":"imagick.setimageredprimary","name":"Imagick::setImageRedPrimary","description":"Sets the image chromaticity red primary point","tag":"refentry","type":"Function","methodName":"setImageRedPrimary"},{"id":"imagick.setimagerenderingintent","name":"Imagick::setImageRenderingIntent","description":"Sets the image rendering intent","tag":"refentry","type":"Function","methodName":"setImageRenderingIntent"},{"id":"imagick.setimageresolution","name":"Imagick::setImageResolution","description":"Sets the image resolution","tag":"refentry","type":"Function","methodName":"setImageResolution"},{"id":"imagick.setimagescene","name":"Imagick::setImageScene","description":"Sets the image scene","tag":"refentry","type":"Function","methodName":"setImageScene"},{"id":"imagick.setimagetickspersecond","name":"Imagick::setImageTicksPerSecond","description":"Sets the image ticks-per-second","tag":"refentry","type":"Function","methodName":"setImageTicksPerSecond"},{"id":"imagick.setimagetype","name":"Imagick::setImageType","description":"Sets the image type","tag":"refentry","type":"Function","methodName":"setImageType"},{"id":"imagick.setimageunits","name":"Imagick::setImageUnits","description":"Sets the image units of resolution","tag":"refentry","type":"Function","methodName":"setImageUnits"},{"id":"imagick.setimagevirtualpixelmethod","name":"Imagick::setImageVirtualPixelMethod","description":"Sets the image virtual pixel method","tag":"refentry","type":"Function","methodName":"setImageVirtualPixelMethod"},{"id":"imagick.setimagewhitepoint","name":"Imagick::setImageWhitePoint","description":"Sets the image chromaticity white point","tag":"refentry","type":"Function","methodName":"setImageWhitePoint"},{"id":"imagick.setinterlacescheme","name":"Imagick::setInterlaceScheme","description":"Sets the image compression","tag":"refentry","type":"Function","methodName":"setInterlaceScheme"},{"id":"imagick.setiteratorindex","name":"Imagick::setIteratorIndex","description":"Set the iterator position","tag":"refentry","type":"Function","methodName":"setIteratorIndex"},{"id":"imagick.setlastiterator","name":"Imagick::setLastIterator","description":"Sets the Imagick iterator to the last image","tag":"refentry","type":"Function","methodName":"setLastIterator"},{"id":"imagick.setoption","name":"Imagick::setOption","description":"Set an option","tag":"refentry","type":"Function","methodName":"setOption"},{"id":"imagick.setpage","name":"Imagick::setPage","description":"Sets the page geometry of the Imagick object","tag":"refentry","type":"Function","methodName":"setPage"},{"id":"imagick.setpointsize","name":"Imagick::setPointSize","description":"Sets point size","tag":"refentry","type":"Function","methodName":"setPointSize"},{"id":"imagick.setprogressmonitor","name":"Imagick::setProgressMonitor","description":"Set a callback to be called during processing","tag":"refentry","type":"Function","methodName":"setProgressMonitor"},{"id":"imagick.setregistry","name":"Imagick::setRegistry","description":"Sets the ImageMagick registry entry named key to value","tag":"refentry","type":"Function","methodName":"setRegistry"},{"id":"imagick.setresolution","name":"Imagick::setResolution","description":"Sets the image resolution","tag":"refentry","type":"Function","methodName":"setResolution"},{"id":"imagick.setresourcelimit","name":"Imagick::setResourceLimit","description":"Sets the limit for a particular resource","tag":"refentry","type":"Function","methodName":"setResourceLimit"},{"id":"imagick.setsamplingfactors","name":"Imagick::setSamplingFactors","description":"Sets the image sampling factors","tag":"refentry","type":"Function","methodName":"setSamplingFactors"},{"id":"imagick.setsize","name":"Imagick::setSize","description":"Sets the size of the Imagick object","tag":"refentry","type":"Function","methodName":"setSize"},{"id":"imagick.setsizeoffset","name":"Imagick::setSizeOffset","description":"Sets the size and offset of the Imagick object","tag":"refentry","type":"Function","methodName":"setSizeOffset"},{"id":"imagick.settype","name":"Imagick::setType","description":"Sets the image type attribute","tag":"refentry","type":"Function","methodName":"setType"},{"id":"imagick.shadeimage","name":"Imagick::shadeImage","description":"Creates a 3D effect","tag":"refentry","type":"Function","methodName":"shadeImage"},{"id":"imagick.shadowimage","name":"Imagick::shadowImage","description":"Simulates an image shadow","tag":"refentry","type":"Function","methodName":"shadowImage"},{"id":"imagick.sharpenimage","name":"Imagick::sharpenImage","description":"Sharpens an image","tag":"refentry","type":"Function","methodName":"sharpenImage"},{"id":"imagick.shaveimage","name":"Imagick::shaveImage","description":"Shaves pixels from the image edges","tag":"refentry","type":"Function","methodName":"shaveImage"},{"id":"imagick.shearimage","name":"Imagick::shearImage","description":"Creating a parallelogram","tag":"refentry","type":"Function","methodName":"shearImage"},{"id":"imagick.sigmoidalcontrastimage","name":"Imagick::sigmoidalContrastImage","description":"Adjusts the contrast of an image","tag":"refentry","type":"Function","methodName":"sigmoidalContrastImage"},{"id":"imagick.sketchimage","name":"Imagick::sketchImage","description":"Simulates a pencil sketch","tag":"refentry","type":"Function","methodName":"sketchImage"},{"id":"imagick.smushimages","name":"Imagick::smushImages","description":"Takes all images from the current image pointer to the end of the image list and smushs them","tag":"refentry","type":"Function","methodName":"smushImages"},{"id":"imagick.solarizeimage","name":"Imagick::solarizeImage","description":"Applies a solarizing effect to the image","tag":"refentry","type":"Function","methodName":"solarizeImage"},{"id":"imagick.sparsecolorimage","name":"Imagick::sparseColorImage","description":"Interpolates colors","tag":"refentry","type":"Function","methodName":"sparseColorImage"},{"id":"imagick.spliceimage","name":"Imagick::spliceImage","description":"Splices a solid color into the image","tag":"refentry","type":"Function","methodName":"spliceImage"},{"id":"imagick.spreadimage","name":"Imagick::spreadImage","description":"Randomly displaces each pixel in a block","tag":"refentry","type":"Function","methodName":"spreadImage"},{"id":"imagick.statisticimage","name":"Imagick::statisticImage","description":"Modifies image using a statistics function","tag":"refentry","type":"Function","methodName":"statisticImage"},{"id":"imagick.steganoimage","name":"Imagick::steganoImage","description":"Hides a digital watermark within the image","tag":"refentry","type":"Function","methodName":"steganoImage"},{"id":"imagick.stereoimage","name":"Imagick::stereoImage","description":"Composites two images","tag":"refentry","type":"Function","methodName":"stereoImage"},{"id":"imagick.stripimage","name":"Imagick::stripImage","description":"Strips an image of all profiles and comments","tag":"refentry","type":"Function","methodName":"stripImage"},{"id":"imagick.subimagematch","name":"Imagick::subImageMatch","description":"Searches for a subimage in the current image and returns a similarity image","tag":"refentry","type":"Function","methodName":"subImageMatch"},{"id":"imagick.swirlimage","name":"Imagick::swirlImage","description":"Swirls the pixels about the center of the image","tag":"refentry","type":"Function","methodName":"swirlImage"},{"id":"imagick.textureimage","name":"Imagick::textureImage","description":"Repeatedly tiles the texture image","tag":"refentry","type":"Function","methodName":"textureImage"},{"id":"imagick.thresholdimage","name":"Imagick::thresholdImage","description":"Changes the value of individual pixels based on a threshold","tag":"refentry","type":"Function","methodName":"thresholdImage"},{"id":"imagick.thumbnailimage","name":"Imagick::thumbnailImage","description":"Changes the size of an image","tag":"refentry","type":"Function","methodName":"thumbnailImage"},{"id":"imagick.tintimage","name":"Imagick::tintImage","description":"Applies a color vector to each pixel in the image","tag":"refentry","type":"Function","methodName":"tintImage"},{"id":"imagick.tostring","name":"Imagick::__toString","description":"Returns the image as a string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"imagick.transformimage","name":"Imagick::transformImage","description":"Convenience method for setting crop size and the image geometry","tag":"refentry","type":"Function","methodName":"transformImage"},{"id":"imagick.transformimagecolorspace","name":"Imagick::transformImageColorspace","description":"Transforms an image to a new colorspace","tag":"refentry","type":"Function","methodName":"transformImageColorspace"},{"id":"imagick.transparentpaintimage","name":"Imagick::transparentPaintImage","description":"Paints pixels transparent","tag":"refentry","type":"Function","methodName":"transparentPaintImage"},{"id":"imagick.transposeimage","name":"Imagick::transposeImage","description":"Creates a vertical mirror image","tag":"refentry","type":"Function","methodName":"transposeImage"},{"id":"imagick.transverseimage","name":"Imagick::transverseImage","description":"Creates a horizontal mirror image","tag":"refentry","type":"Function","methodName":"transverseImage"},{"id":"imagick.trimimage","name":"Imagick::trimImage","description":"Remove edges from the image","tag":"refentry","type":"Function","methodName":"trimImage"},{"id":"imagick.uniqueimagecolors","name":"Imagick::uniqueImageColors","description":"Discards all but one of any pixel color","tag":"refentry","type":"Function","methodName":"uniqueImageColors"},{"id":"imagick.unsharpmaskimage","name":"Imagick::unsharpMaskImage","description":"Sharpens an image","tag":"refentry","type":"Function","methodName":"unsharpMaskImage"},{"id":"imagick.valid","name":"Imagick::valid","description":"Checks if the current item is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"imagick.vignetteimage","name":"Imagick::vignetteImage","description":"Adds vignette filter to the image","tag":"refentry","type":"Function","methodName":"vignetteImage"},{"id":"imagick.waveimage","name":"Imagick::waveImage","description":"Applies wave filter to the image","tag":"refentry","type":"Function","methodName":"waveImage"},{"id":"imagick.whitethresholdimage","name":"Imagick::whiteThresholdImage","description":"Force all pixels above the threshold into white","tag":"refentry","type":"Function","methodName":"whiteThresholdImage"},{"id":"imagick.writeimage","name":"Imagick::writeImage","description":"Writes an image to the specified filename","tag":"refentry","type":"Function","methodName":"writeImage"},{"id":"imagick.writeimagefile","name":"Imagick::writeImageFile","description":"Writes an image to a filehandle","tag":"refentry","type":"Function","methodName":"writeImageFile"},{"id":"imagick.writeimages","name":"Imagick::writeImages","description":"Writes an image or image sequence","tag":"refentry","type":"Function","methodName":"writeImages"},{"id":"imagick.writeimagesfile","name":"Imagick::writeImagesFile","description":"Writes frames to a filehandle","tag":"refentry","type":"Function","methodName":"writeImagesFile"},{"id":"class.imagick","name":"Imagick","description":"The Imagick class","tag":"phpdoc:classref","type":"Class","methodName":"Imagick"},{"id":"imagickdraw.affine","name":"ImagickDraw::affine","description":"Adjusts the current affine transformation matrix","tag":"refentry","type":"Function","methodName":"affine"},{"id":"imagickdraw.annotation","name":"ImagickDraw::annotation","description":"Draws text on the image","tag":"refentry","type":"Function","methodName":"annotation"},{"id":"imagickdraw.arc","name":"ImagickDraw::arc","description":"Draws an arc","tag":"refentry","type":"Function","methodName":"arc"},{"id":"imagickdraw.bezier","name":"ImagickDraw::bezier","description":"Draws a bezier curve","tag":"refentry","type":"Function","methodName":"bezier"},{"id":"imagickdraw.circle","name":"ImagickDraw::circle","description":"Draws a circle","tag":"refentry","type":"Function","methodName":"circle"},{"id":"imagickdraw.clear","name":"ImagickDraw::clear","description":"Clears the ImagickDraw","tag":"refentry","type":"Function","methodName":"clear"},{"id":"imagickdraw.clone","name":"ImagickDraw::clone","description":"Makes an exact copy of the specified ImagickDraw object","tag":"refentry","type":"Function","methodName":"clone"},{"id":"imagickdraw.color","name":"ImagickDraw::color","description":"Draws color on image","tag":"refentry","type":"Function","methodName":"color"},{"id":"imagickdraw.comment","name":"ImagickDraw::comment","description":"Adds a comment","tag":"refentry","type":"Function","methodName":"comment"},{"id":"imagickdraw.composite","name":"ImagickDraw::composite","description":"Composites an image onto the current image","tag":"refentry","type":"Function","methodName":"composite"},{"id":"imagickdraw.construct","name":"ImagickDraw::__construct","description":"The ImagickDraw constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"imagickdraw.destroy","name":"ImagickDraw::destroy","description":"Frees all associated resources","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"imagickdraw.ellipse","name":"ImagickDraw::ellipse","description":"Draws an ellipse on the image","tag":"refentry","type":"Function","methodName":"ellipse"},{"id":"imagickdraw.getclippath","name":"ImagickDraw::getClipPath","description":"Obtains the current clipping path ID","tag":"refentry","type":"Function","methodName":"getClipPath"},{"id":"imagickdraw.getcliprule","name":"ImagickDraw::getClipRule","description":"Returns the current polygon fill rule","tag":"refentry","type":"Function","methodName":"getClipRule"},{"id":"imagickdraw.getclipunits","name":"ImagickDraw::getClipUnits","description":"Returns the interpretation of clip path units","tag":"refentry","type":"Function","methodName":"getClipUnits"},{"id":"imagickdraw.getfillcolor","name":"ImagickDraw::getFillColor","description":"Returns the fill color","tag":"refentry","type":"Function","methodName":"getFillColor"},{"id":"imagickdraw.getfillopacity","name":"ImagickDraw::getFillOpacity","description":"Returns the opacity used when drawing","tag":"refentry","type":"Function","methodName":"getFillOpacity"},{"id":"imagickdraw.getfillrule","name":"ImagickDraw::getFillRule","description":"Returns the fill rule","tag":"refentry","type":"Function","methodName":"getFillRule"},{"id":"imagickdraw.getfont","name":"ImagickDraw::getFont","description":"Returns the font","tag":"refentry","type":"Function","methodName":"getFont"},{"id":"imagickdraw.getfontfamily","name":"ImagickDraw::getFontFamily","description":"Returns the font family","tag":"refentry","type":"Function","methodName":"getFontFamily"},{"id":"imagickdraw.getfontsize","name":"ImagickDraw::getFontSize","description":"Returns the font pointsize","tag":"refentry","type":"Function","methodName":"getFontSize"},{"id":"imagickdraw.getfontstretch","name":"ImagickDraw::getFontStretch","description":"Gets the font stretch to use when annotating with text","tag":"refentry","type":"Function","methodName":"getFontStretch"},{"id":"imagickdraw.getfontstyle","name":"ImagickDraw::getFontStyle","description":"Returns the font style","tag":"refentry","type":"Function","methodName":"getFontStyle"},{"id":"imagickdraw.getfontweight","name":"ImagickDraw::getFontWeight","description":"Returns the font weight","tag":"refentry","type":"Function","methodName":"getFontWeight"},{"id":"imagickdraw.getgravity","name":"ImagickDraw::getGravity","description":"Returns the text placement gravity","tag":"refentry","type":"Function","methodName":"getGravity"},{"id":"imagickdraw.getstrokeantialias","name":"ImagickDraw::getStrokeAntialias","description":"Returns the current stroke antialias setting","tag":"refentry","type":"Function","methodName":"getStrokeAntialias"},{"id":"imagickdraw.getstrokecolor","name":"ImagickDraw::getStrokeColor","description":"Returns the color used for stroking object outlines","tag":"refentry","type":"Function","methodName":"getStrokeColor"},{"id":"imagickdraw.getstrokedasharray","name":"ImagickDraw::getStrokeDashArray","description":"Returns an array representing the pattern of dashes and gaps used to stroke paths","tag":"refentry","type":"Function","methodName":"getStrokeDashArray"},{"id":"imagickdraw.getstrokedashoffset","name":"ImagickDraw::getStrokeDashOffset","description":"Returns the offset into the dash pattern to start the dash","tag":"refentry","type":"Function","methodName":"getStrokeDashOffset"},{"id":"imagickdraw.getstrokelinecap","name":"ImagickDraw::getStrokeLineCap","description":"Returns the shape to be used at the end of open subpaths when they are stroked","tag":"refentry","type":"Function","methodName":"getStrokeLineCap"},{"id":"imagickdraw.getstrokelinejoin","name":"ImagickDraw::getStrokeLineJoin","description":"Returns the shape to be used at the corners of paths when they are stroked","tag":"refentry","type":"Function","methodName":"getStrokeLineJoin"},{"id":"imagickdraw.getstrokemiterlimit","name":"ImagickDraw::getStrokeMiterLimit","description":"Returns the stroke miter limit","tag":"refentry","type":"Function","methodName":"getStrokeMiterLimit"},{"id":"imagickdraw.getstrokeopacity","name":"ImagickDraw::getStrokeOpacity","description":"Returns the opacity of stroked object outlines","tag":"refentry","type":"Function","methodName":"getStrokeOpacity"},{"id":"imagickdraw.getstrokewidth","name":"ImagickDraw::getStrokeWidth","description":"Returns the width of the stroke used to draw object outlines","tag":"refentry","type":"Function","methodName":"getStrokeWidth"},{"id":"imagickdraw.gettextalignment","name":"ImagickDraw::getTextAlignment","description":"Returns the text alignment","tag":"refentry","type":"Function","methodName":"getTextAlignment"},{"id":"imagickdraw.gettextantialias","name":"ImagickDraw::getTextAntialias","description":"Returns the current text antialias setting","tag":"refentry","type":"Function","methodName":"getTextAntialias"},{"id":"imagickdraw.gettextdecoration","name":"ImagickDraw::getTextDecoration","description":"Returns the text decoration","tag":"refentry","type":"Function","methodName":"getTextDecoration"},{"id":"imagickdraw.gettextencoding","name":"ImagickDraw::getTextEncoding","description":"Returns the code set used for text annotations","tag":"refentry","type":"Function","methodName":"getTextEncoding"},{"id":"imagickdraw.gettextinterlinespacing","name":"ImagickDraw::getTextInterlineSpacing","description":"Gets the text interword spacing","tag":"refentry","type":"Function","methodName":"getTextInterlineSpacing"},{"id":"imagickdraw.gettextinterwordspacing","name":"ImagickDraw::getTextInterwordSpacing","description":"Gets the text interword spacing","tag":"refentry","type":"Function","methodName":"getTextInterwordSpacing"},{"id":"imagickdraw.gettextkerning","name":"ImagickDraw::getTextKerning","description":"Gets the text kerning","tag":"refentry","type":"Function","methodName":"getTextKerning"},{"id":"imagickdraw.gettextundercolor","name":"ImagickDraw::getTextUnderColor","description":"Returns the text under color","tag":"refentry","type":"Function","methodName":"getTextUnderColor"},{"id":"imagickdraw.getvectorgraphics","name":"ImagickDraw::getVectorGraphics","description":"Returns a string containing vector graphics","tag":"refentry","type":"Function","methodName":"getVectorGraphics"},{"id":"imagickdraw.line","name":"ImagickDraw::line","description":"Draws a line","tag":"refentry","type":"Function","methodName":"line"},{"id":"imagickdraw.matte","name":"ImagickDraw::matte","description":"Paints on the image's opacity channel","tag":"refentry","type":"Function","methodName":"matte"},{"id":"imagickdraw.pathclose","name":"ImagickDraw::pathClose","description":"Adds a path element to the current path","tag":"refentry","type":"Function","methodName":"pathClose"},{"id":"imagickdraw.pathcurvetoabsolute","name":"ImagickDraw::pathCurveToAbsolute","description":"Draws a cubic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToAbsolute"},{"id":"imagickdraw.pathcurvetoquadraticbezierabsolute","name":"ImagickDraw::pathCurveToQuadraticBezierAbsolute","description":"Draws a quadratic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToQuadraticBezierAbsolute"},{"id":"imagickdraw.pathcurvetoquadraticbezierrelative","name":"ImagickDraw::pathCurveToQuadraticBezierRelative","description":"Draws a quadratic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToQuadraticBezierRelative"},{"id":"imagickdraw.pathcurvetoquadraticbeziersmoothabsolute","name":"ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute","description":"Draws a quadratic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToQuadraticBezierSmoothAbsolute"},{"id":"imagickdraw.pathcurvetoquadraticbeziersmoothrelative","name":"ImagickDraw::pathCurveToQuadraticBezierSmoothRelative","description":"Draws a quadratic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToQuadraticBezierSmoothRelative"},{"id":"imagickdraw.pathcurvetorelative","name":"ImagickDraw::pathCurveToRelative","description":"Draws a cubic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToRelative"},{"id":"imagickdraw.pathcurvetosmoothabsolute","name":"ImagickDraw::pathCurveToSmoothAbsolute","description":"Draws a cubic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToSmoothAbsolute"},{"id":"imagickdraw.pathcurvetosmoothrelative","name":"ImagickDraw::pathCurveToSmoothRelative","description":"Draws a cubic Bezier curve","tag":"refentry","type":"Function","methodName":"pathCurveToSmoothRelative"},{"id":"imagickdraw.pathellipticarcabsolute","name":"ImagickDraw::pathEllipticArcAbsolute","description":"Draws an elliptical arc","tag":"refentry","type":"Function","methodName":"pathEllipticArcAbsolute"},{"id":"imagickdraw.pathellipticarcrelative","name":"ImagickDraw::pathEllipticArcRelative","description":"Draws an elliptical arc","tag":"refentry","type":"Function","methodName":"pathEllipticArcRelative"},{"id":"imagickdraw.pathfinish","name":"ImagickDraw::pathFinish","description":"Terminates the current path","tag":"refentry","type":"Function","methodName":"pathFinish"},{"id":"imagickdraw.pathlinetoabsolute","name":"ImagickDraw::pathLineToAbsolute","description":"Draws a line path","tag":"refentry","type":"Function","methodName":"pathLineToAbsolute"},{"id":"imagickdraw.pathlinetohorizontalabsolute","name":"ImagickDraw::pathLineToHorizontalAbsolute","description":"Draws a horizontal line path","tag":"refentry","type":"Function","methodName":"pathLineToHorizontalAbsolute"},{"id":"imagickdraw.pathlinetohorizontalrelative","name":"ImagickDraw::pathLineToHorizontalRelative","description":"Draws a horizontal line","tag":"refentry","type":"Function","methodName":"pathLineToHorizontalRelative"},{"id":"imagickdraw.pathlinetorelative","name":"ImagickDraw::pathLineToRelative","description":"Draws a line path","tag":"refentry","type":"Function","methodName":"pathLineToRelative"},{"id":"imagickdraw.pathlinetoverticalabsolute","name":"ImagickDraw::pathLineToVerticalAbsolute","description":"Draws a vertical line","tag":"refentry","type":"Function","methodName":"pathLineToVerticalAbsolute"},{"id":"imagickdraw.pathlinetoverticalrelative","name":"ImagickDraw::pathLineToVerticalRelative","description":"Draws a vertical line path","tag":"refentry","type":"Function","methodName":"pathLineToVerticalRelative"},{"id":"imagickdraw.pathmovetoabsolute","name":"ImagickDraw::pathMoveToAbsolute","description":"Starts a new sub-path","tag":"refentry","type":"Function","methodName":"pathMoveToAbsolute"},{"id":"imagickdraw.pathmovetorelative","name":"ImagickDraw::pathMoveToRelative","description":"Starts a new sub-path","tag":"refentry","type":"Function","methodName":"pathMoveToRelative"},{"id":"imagickdraw.pathstart","name":"ImagickDraw::pathStart","description":"Declares the start of a path drawing list","tag":"refentry","type":"Function","methodName":"pathStart"},{"id":"imagickdraw.point","name":"ImagickDraw::point","description":"Draws a point","tag":"refentry","type":"Function","methodName":"point"},{"id":"imagickdraw.polygon","name":"ImagickDraw::polygon","description":"Draws a polygon","tag":"refentry","type":"Function","methodName":"polygon"},{"id":"imagickdraw.polyline","name":"ImagickDraw::polyline","description":"Draws a polyline","tag":"refentry","type":"Function","methodName":"polyline"},{"id":"imagickdraw.pop","name":"ImagickDraw::pop","description":"Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw","tag":"refentry","type":"Function","methodName":"pop"},{"id":"imagickdraw.popclippath","name":"ImagickDraw::popClipPath","description":"Terminates a clip path definition","tag":"refentry","type":"Function","methodName":"popClipPath"},{"id":"imagickdraw.popdefs","name":"ImagickDraw::popDefs","description":"Terminates a definition list","tag":"refentry","type":"Function","methodName":"popDefs"},{"id":"imagickdraw.poppattern","name":"ImagickDraw::popPattern","description":"Terminates a pattern definition","tag":"refentry","type":"Function","methodName":"popPattern"},{"id":"imagickdraw.push","name":"ImagickDraw::push","description":"Clones the current ImagickDraw and pushes it to the stack","tag":"refentry","type":"Function","methodName":"push"},{"id":"imagickdraw.pushclippath","name":"ImagickDraw::pushClipPath","description":"Starts a clip path definition","tag":"refentry","type":"Function","methodName":"pushClipPath"},{"id":"imagickdraw.pushdefs","name":"ImagickDraw::pushDefs","description":"Indicates that following commands create named elements for early processing","tag":"refentry","type":"Function","methodName":"pushDefs"},{"id":"imagickdraw.pushpattern","name":"ImagickDraw::pushPattern","description":"Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern","tag":"refentry","type":"Function","methodName":"pushPattern"},{"id":"imagickdraw.rectangle","name":"ImagickDraw::rectangle","description":"Draws a rectangle","tag":"refentry","type":"Function","methodName":"rectangle"},{"id":"imagickdraw.render","name":"ImagickDraw::render","description":"Renders all preceding drawing commands onto the image","tag":"refentry","type":"Function","methodName":"render"},{"id":"imagickdraw.resetvectorgraphics","name":"ImagickDraw::resetVectorGraphics","description":"Resets the vector graphics","tag":"refentry","type":"Function","methodName":"resetVectorGraphics"},{"id":"imagickdraw.rotate","name":"ImagickDraw::rotate","description":"Applies the specified rotation to the current coordinate space","tag":"refentry","type":"Function","methodName":"rotate"},{"id":"imagickdraw.roundrectangle","name":"ImagickDraw::roundRectangle","description":"Draws a rounded rectangle","tag":"refentry","type":"Function","methodName":"roundRectangle"},{"id":"imagickdraw.scale","name":"ImagickDraw::scale","description":"Adjusts the scaling factor","tag":"refentry","type":"Function","methodName":"scale"},{"id":"imagickdraw.setclippath","name":"ImagickDraw::setClipPath","description":"Associates a named clipping path with the image","tag":"refentry","type":"Function","methodName":"setClipPath"},{"id":"imagickdraw.setcliprule","name":"ImagickDraw::setClipRule","description":"Set the polygon fill rule to be used by the clipping path","tag":"refentry","type":"Function","methodName":"setClipRule"},{"id":"imagickdraw.setclipunits","name":"ImagickDraw::setClipUnits","description":"Sets the interpretation of clip path units","tag":"refentry","type":"Function","methodName":"setClipUnits"},{"id":"imagickdraw.setfillalpha","name":"ImagickDraw::setFillAlpha","description":"Sets the opacity to use when drawing using the fill color or fill texture","tag":"refentry","type":"Function","methodName":"setFillAlpha"},{"id":"imagickdraw.setfillcolor","name":"ImagickDraw::setFillColor","description":"Sets the fill color to be used for drawing filled objects","tag":"refentry","type":"Function","methodName":"setFillColor"},{"id":"imagickdraw.setfillopacity","name":"ImagickDraw::setFillOpacity","description":"Sets the opacity to use when drawing using the fill color or fill texture","tag":"refentry","type":"Function","methodName":"setFillOpacity"},{"id":"imagickdraw.setfillpatternurl","name":"ImagickDraw::setFillPatternURL","description":"Sets the URL to use as a fill pattern for filling objects","tag":"refentry","type":"Function","methodName":"setFillPatternURL"},{"id":"imagickdraw.setfillrule","name":"ImagickDraw::setFillRule","description":"Sets the fill rule to use while drawing polygons","tag":"refentry","type":"Function","methodName":"setFillRule"},{"id":"imagickdraw.setfont","name":"ImagickDraw::setFont","description":"Sets the fully-specified font to use when annotating with text","tag":"refentry","type":"Function","methodName":"setFont"},{"id":"imagickdraw.setfontfamily","name":"ImagickDraw::setFontFamily","description":"Sets the font family to use when annotating with text","tag":"refentry","type":"Function","methodName":"setFontFamily"},{"id":"imagickdraw.setfontsize","name":"ImagickDraw::setFontSize","description":"Sets the font pointsize to use when annotating with text","tag":"refentry","type":"Function","methodName":"setFontSize"},{"id":"imagickdraw.setfontstretch","name":"ImagickDraw::setFontStretch","description":"Sets the font stretch to use when annotating with text","tag":"refentry","type":"Function","methodName":"setFontStretch"},{"id":"imagickdraw.setfontstyle","name":"ImagickDraw::setFontStyle","description":"Sets the font style to use when annotating with text","tag":"refentry","type":"Function","methodName":"setFontStyle"},{"id":"imagickdraw.setfontweight","name":"ImagickDraw::setFontWeight","description":"Sets the font weight","tag":"refentry","type":"Function","methodName":"setFontWeight"},{"id":"imagickdraw.setgravity","name":"ImagickDraw::setGravity","description":"Sets the text placement gravity","tag":"refentry","type":"Function","methodName":"setGravity"},{"id":"imagickdraw.setresolution","name":"ImagickDraw::setResolution","description":"Sets the resolution","tag":"refentry","type":"Function","methodName":"setResolution"},{"id":"imagickdraw.setstrokealpha","name":"ImagickDraw::setStrokeAlpha","description":"Specifies the opacity of stroked object outlines","tag":"refentry","type":"Function","methodName":"setStrokeAlpha"},{"id":"imagickdraw.setstrokeantialias","name":"ImagickDraw::setStrokeAntialias","description":"Controls whether stroked outlines are antialiased","tag":"refentry","type":"Function","methodName":"setStrokeAntialias"},{"id":"imagickdraw.setstrokecolor","name":"ImagickDraw::setStrokeColor","description":"Sets the color used for stroking object outlines","tag":"refentry","type":"Function","methodName":"setStrokeColor"},{"id":"imagickdraw.setstrokedasharray","name":"ImagickDraw::setStrokeDashArray","description":"Specifies the pattern of dashes and gaps used to stroke paths","tag":"refentry","type":"Function","methodName":"setStrokeDashArray"},{"id":"imagickdraw.setstrokedashoffset","name":"ImagickDraw::setStrokeDashOffset","description":"Specifies the offset into the dash pattern to start the dash","tag":"refentry","type":"Function","methodName":"setStrokeDashOffset"},{"id":"imagickdraw.setstrokelinecap","name":"ImagickDraw::setStrokeLineCap","description":"Specifies the shape to be used at the end of open subpaths when they are stroked","tag":"refentry","type":"Function","methodName":"setStrokeLineCap"},{"id":"imagickdraw.setstrokelinejoin","name":"ImagickDraw::setStrokeLineJoin","description":"Specifies the shape to be used at the corners of paths when they are stroked","tag":"refentry","type":"Function","methodName":"setStrokeLineJoin"},{"id":"imagickdraw.setstrokemiterlimit","name":"ImagickDraw::setStrokeMiterLimit","description":"Specifies the miter limit","tag":"refentry","type":"Function","methodName":"setStrokeMiterLimit"},{"id":"imagickdraw.setstrokeopacity","name":"ImagickDraw::setStrokeOpacity","description":"Specifies the opacity of stroked object outlines","tag":"refentry","type":"Function","methodName":"setStrokeOpacity"},{"id":"imagickdraw.setstrokepatternurl","name":"ImagickDraw::setStrokePatternURL","description":"Sets the pattern used for stroking object outlines","tag":"refentry","type":"Function","methodName":"setStrokePatternURL"},{"id":"imagickdraw.setstrokewidth","name":"ImagickDraw::setStrokeWidth","description":"Sets the width of the stroke used to draw object outlines","tag":"refentry","type":"Function","methodName":"setStrokeWidth"},{"id":"imagickdraw.settextalignment","name":"ImagickDraw::setTextAlignment","description":"Specifies a text alignment","tag":"refentry","type":"Function","methodName":"setTextAlignment"},{"id":"imagickdraw.settextantialias","name":"ImagickDraw::setTextAntialias","description":"Controls whether text is antialiased","tag":"refentry","type":"Function","methodName":"setTextAntialias"},{"id":"imagickdraw.settextdecoration","name":"ImagickDraw::setTextDecoration","description":"Specifies a decoration","tag":"refentry","type":"Function","methodName":"setTextDecoration"},{"id":"imagickdraw.settextencoding","name":"ImagickDraw::setTextEncoding","description":"Specifies the text code set","tag":"refentry","type":"Function","methodName":"setTextEncoding"},{"id":"imagickdraw.settextinterlinespacing","name":"ImagickDraw::setTextInterlineSpacing","description":"Sets the text interline spacing","tag":"refentry","type":"Function","methodName":"setTextInterlineSpacing"},{"id":"imagickdraw.settextinterwordspacing","name":"ImagickDraw::setTextInterwordSpacing","description":"Sets the text interword spacing","tag":"refentry","type":"Function","methodName":"setTextInterwordSpacing"},{"id":"imagickdraw.settextkerning","name":"ImagickDraw::setTextKerning","description":"Sets the text kerning","tag":"refentry","type":"Function","methodName":"setTextKerning"},{"id":"imagickdraw.settextundercolor","name":"ImagickDraw::setTextUnderColor","description":"Specifies the color of a background rectangle","tag":"refentry","type":"Function","methodName":"setTextUnderColor"},{"id":"imagickdraw.setvectorgraphics","name":"ImagickDraw::setVectorGraphics","description":"Sets the vector graphics","tag":"refentry","type":"Function","methodName":"setVectorGraphics"},{"id":"imagickdraw.setviewbox","name":"ImagickDraw::setViewbox","description":"Sets the overall canvas size","tag":"refentry","type":"Function","methodName":"setViewbox"},{"id":"imagickdraw.skewx","name":"ImagickDraw::skewX","description":"Skews the current coordinate system in the horizontal direction","tag":"refentry","type":"Function","methodName":"skewX"},{"id":"imagickdraw.skewy","name":"ImagickDraw::skewY","description":"Skews the current coordinate system in the vertical direction","tag":"refentry","type":"Function","methodName":"skewY"},{"id":"imagickdraw.translate","name":"ImagickDraw::translate","description":"Applies a translation to the current coordinate system","tag":"refentry","type":"Function","methodName":"translate"},{"id":"class.imagickdraw","name":"ImagickDraw","description":"The ImagickDraw class","tag":"phpdoc:classref","type":"Class","methodName":"ImagickDraw"},{"id":"class.imagickdrawexception","name":"ImagickDrawException","description":"The ImagickDrawException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ImagickDrawException"},{"id":"class.imagickexception","name":"ImagickException","description":"The ImagickException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ImagickException"},{"id":"imagickkernel.addkernel","name":"ImagickKernel::addKernel","description":"Attach another kernel to a kernel list","tag":"refentry","type":"Function","methodName":"addKernel"},{"id":"imagickkernel.addunitykernel","name":"ImagickKernel::addUnityKernel","description":"Adds a Unity Kernel to the kernel list","tag":"refentry","type":"Function","methodName":"addUnityKernel"},{"id":"imagickkernel.frombuiltin","name":"ImagickKernel::fromBuiltIn","description":"Create a kernel from a builtin in kernel","tag":"refentry","type":"Function","methodName":"fromBuiltIn"},{"id":"imagickkernel.frommatrix","name":"ImagickKernel::fromMatrix","description":"Create a kernel from a 2d matrix of values","tag":"refentry","type":"Function","methodName":"fromMatrix"},{"id":"imagickkernel.getmatrix","name":"ImagickKernel::getMatrix","description":"Get the 2d matrix of values used in this kernel","tag":"refentry","type":"Function","methodName":"getMatrix"},{"id":"imagickkernel.scale","name":"ImagickKernel::scale","description":"Scales a kernel list by the given amount","tag":"refentry","type":"Function","methodName":"scale"},{"id":"imagickkernel.separate","name":"ImagickKernel::separate","description":"Separates a linked set of kernels and returns an array of ImagickKernels","tag":"refentry","type":"Function","methodName":"separate"},{"id":"class.imagickkernel","name":"ImagickKernel","description":"The ImagickKernel class","tag":"phpdoc:classref","type":"Class","methodName":"ImagickKernel"},{"id":"class.imagickkernelexception","name":"ImagickKernelException","description":"The ImagickKernelException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ImagickKernelException"},{"id":"imagickpixel.clear","name":"ImagickPixel::clear","description":"Clears resources associated with this object","tag":"refentry","type":"Function","methodName":"clear"},{"id":"imagickpixel.construct","name":"ImagickPixel::__construct","description":"The ImagickPixel constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"imagickpixel.destroy","name":"ImagickPixel::destroy","description":"Deallocates resources associated with this object","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"imagickpixel.getcolor","name":"ImagickPixel::getColor","description":"Returns the color","tag":"refentry","type":"Function","methodName":"getColor"},{"id":"imagickpixel.getcolorasstring","name":"ImagickPixel::getColorAsString","description":"Returns the color as a string","tag":"refentry","type":"Function","methodName":"getColorAsString"},{"id":"imagickpixel.getcolorcount","name":"ImagickPixel::getColorCount","description":"Returns the color count associated with this color","tag":"refentry","type":"Function","methodName":"getColorCount"},{"id":"imagickpixel.getcolorquantum","name":"ImagickPixel::getColorQuantum","description":"Returns the color of the pixel in an array as Quantum values","tag":"refentry","type":"Function","methodName":"getColorQuantum"},{"id":"imagickpixel.getcolorvalue","name":"ImagickPixel::getColorValue","description":"Gets the normalized value of the provided color channel","tag":"refentry","type":"Function","methodName":"getColorValue"},{"id":"imagickpixel.getcolorvaluequantum","name":"ImagickPixel::getColorValueQuantum","description":"Gets the quantum value of a color in the ImagickPixel","tag":"refentry","type":"Function","methodName":"getColorValueQuantum"},{"id":"imagickpixel.gethsl","name":"ImagickPixel::getHSL","description":"Returns the normalized HSL color of the ImagickPixel object","tag":"refentry","type":"Function","methodName":"getHSL"},{"id":"imagickpixel.getindex","name":"ImagickPixel::getIndex","description":"Gets the colormap index of the pixel wand","tag":"refentry","type":"Function","methodName":"getIndex"},{"id":"imagickpixel.ispixelsimilar","name":"ImagickPixel::isPixelSimilar","description":"Check the distance between this color and another","tag":"refentry","type":"Function","methodName":"isPixelSimilar"},{"id":"imagickpixel.ispixelsimilarquantum","name":"ImagickPixel::isPixelSimilarQuantum","description":"Returns whether two colors differ by less than the specified distance","tag":"refentry","type":"Function","methodName":"isPixelSimilarQuantum"},{"id":"imagickpixel.issimilar","name":"ImagickPixel::isSimilar","description":"Check the distance between this color and another","tag":"refentry","type":"Function","methodName":"isSimilar"},{"id":"imagickpixel.setcolor","name":"ImagickPixel::setColor","description":"Sets the color","tag":"refentry","type":"Function","methodName":"setColor"},{"id":"imagickpixel.setcolorcount","name":"ImagickPixel::setColorCount","description":"Sets the color count associated with this color","tag":"refentry","type":"Function","methodName":"setColorCount"},{"id":"imagickpixel.setcolorvalue","name":"ImagickPixel::setColorValue","description":"Sets the normalized value of one of the channels","tag":"refentry","type":"Function","methodName":"setColorValue"},{"id":"imagickpixel.setcolorvaluequantum","name":"ImagickPixel::setColorValueQuantum","description":"Sets the quantum value of a color element of the ImagickPixel","tag":"refentry","type":"Function","methodName":"setColorValueQuantum"},{"id":"imagickpixel.sethsl","name":"ImagickPixel::setHSL","description":"Sets the normalized HSL color","tag":"refentry","type":"Function","methodName":"setHSL"},{"id":"imagickpixel.setindex","name":"ImagickPixel::setIndex","description":"Sets the colormap index of the pixel wand","tag":"refentry","type":"Function","methodName":"setIndex"},{"id":"class.imagickpixel","name":"ImagickPixel","description":"The ImagickPixel class","tag":"phpdoc:classref","type":"Class","methodName":"ImagickPixel"},{"id":"class.imagickpixelexception","name":"ImagickPixelException","description":"The ImagickPixelException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ImagickPixelException"},{"id":"imagickpixeliterator.clear","name":"ImagickPixelIterator::clear","description":"Clear resources associated with a PixelIterator","tag":"refentry","type":"Function","methodName":"clear"},{"id":"imagickpixeliterator.construct","name":"ImagickPixelIterator::__construct","description":"The ImagickPixelIterator constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"imagickpixeliterator.destroy","name":"ImagickPixelIterator::destroy","description":"Deallocates resources associated with a PixelIterator","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"imagickpixeliterator.getcurrentiteratorrow","name":"ImagickPixelIterator::getCurrentIteratorRow","description":"Returns the current row of ImagickPixel objects","tag":"refentry","type":"Function","methodName":"getCurrentIteratorRow"},{"id":"imagickpixeliterator.getiteratorrow","name":"ImagickPixelIterator::getIteratorRow","description":"Returns the current pixel iterator row","tag":"refentry","type":"Function","methodName":"getIteratorRow"},{"id":"imagickpixeliterator.getnextiteratorrow","name":"ImagickPixelIterator::getNextIteratorRow","description":"Returns the next row of the pixel iterator","tag":"refentry","type":"Function","methodName":"getNextIteratorRow"},{"id":"imagickpixeliterator.getpreviousiteratorrow","name":"ImagickPixelIterator::getPreviousIteratorRow","description":"Returns the previous row","tag":"refentry","type":"Function","methodName":"getPreviousIteratorRow"},{"id":"imagickpixeliterator.newpixeliterator","name":"ImagickPixelIterator::newPixelIterator","description":"Returns a new pixel iterator","tag":"refentry","type":"Function","methodName":"newPixelIterator"},{"id":"imagickpixeliterator.newpixelregioniterator","name":"ImagickPixelIterator::newPixelRegionIterator","description":"Returns a new pixel iterator","tag":"refentry","type":"Function","methodName":"newPixelRegionIterator"},{"id":"imagickpixeliterator.resetiterator","name":"ImagickPixelIterator::resetIterator","description":"Resets the pixel iterator","tag":"refentry","type":"Function","methodName":"resetIterator"},{"id":"imagickpixeliterator.setiteratorfirstrow","name":"ImagickPixelIterator::setIteratorFirstRow","description":"Sets the pixel iterator to the first pixel row","tag":"refentry","type":"Function","methodName":"setIteratorFirstRow"},{"id":"imagickpixeliterator.setiteratorlastrow","name":"ImagickPixelIterator::setIteratorLastRow","description":"Sets the pixel iterator to the last pixel row","tag":"refentry","type":"Function","methodName":"setIteratorLastRow"},{"id":"imagickpixeliterator.setiteratorrow","name":"ImagickPixelIterator::setIteratorRow","description":"Set the pixel iterator row","tag":"refentry","type":"Function","methodName":"setIteratorRow"},{"id":"imagickpixeliterator.synciterator","name":"ImagickPixelIterator::syncIterator","description":"Syncs the pixel iterator","tag":"refentry","type":"Function","methodName":"syncIterator"},{"id":"class.imagickpixeliterator","name":"ImagickPixelIterator","description":"The ImagickPixelIterator class","tag":"phpdoc:classref","type":"Class","methodName":"ImagickPixelIterator"},{"id":"class.imagickpixeliteratorexception","name":"ImagickPixelIteratorException","description":"The ImagickPixelIteratorException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"ImagickPixelIteratorException"},{"id":"book.imagick","name":"ImageMagick","description":"Image Processing (ImageMagick)","tag":"book","type":"Extension","methodName":"ImageMagick"},{"id":"refs.utilspec.image","name":"Image Processing and Generation","description":"Function Reference","tag":"set","type":"Extension","methodName":"Image Processing and Generation"},{"id":"intro.imap","name":"Introduction","description":"IMAP, POP3 and NNTP","tag":"preface","type":"General","methodName":"Introduction"},{"id":"imap.requirements","name":"Requirements","description":"IMAP, POP3 and NNTP","tag":"section","type":"General","methodName":"Requirements"},{"id":"imap.installation","name":"Installation","description":"IMAP, POP3 and NNTP","tag":"section","type":"General","methodName":"Installation"},{"id":"imap.configuration","name":"Runtime Configuration","description":"IMAP, POP3 and NNTP","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"imap.resources","name":"Resource Types","description":"IMAP, POP3 and NNTP","tag":"section","type":"General","methodName":"Resource Types"},{"id":"imap.setup","name":"Installing\/Configuring","description":"IMAP, POP3 and NNTP","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"imap.constants","name":"Predefined Constants","description":"IMAP, POP3 and NNTP","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.imap-8bit","name":"imap_8bit","description":"Convert an 8bit string to a quoted-printable string","tag":"refentry","type":"Function","methodName":"imap_8bit"},{"id":"function.imap-alerts","name":"imap_alerts","description":"Returns all IMAP alert messages that have occurred","tag":"refentry","type":"Function","methodName":"imap_alerts"},{"id":"function.imap-append","name":"imap_append","description":"Append a string message to a specified mailbox","tag":"refentry","type":"Function","methodName":"imap_append"},{"id":"function.imap-base64","name":"imap_base64","description":"Decode BASE64 encoded text","tag":"refentry","type":"Function","methodName":"imap_base64"},{"id":"function.imap-binary","name":"imap_binary","description":"Convert an 8bit string to a base64 string","tag":"refentry","type":"Function","methodName":"imap_binary"},{"id":"function.imap-body","name":"imap_body","description":"Read the message body","tag":"refentry","type":"Function","methodName":"imap_body"},{"id":"function.imap-bodystruct","name":"imap_bodystruct","description":"Read the structure of a specified body section of a specific message","tag":"refentry","type":"Function","methodName":"imap_bodystruct"},{"id":"function.imap-check","name":"imap_check","description":"Check current mailbox","tag":"refentry","type":"Function","methodName":"imap_check"},{"id":"function.imap-clearflag-full","name":"imap_clearflag_full","description":"Clears flags on messages","tag":"refentry","type":"Function","methodName":"imap_clearflag_full"},{"id":"function.imap-close","name":"imap_close","description":"Close an IMAP stream","tag":"refentry","type":"Function","methodName":"imap_close"},{"id":"function.imap-create","name":"imap_create","description":"Alias of imap_createmailbox","tag":"refentry","type":"Function","methodName":"imap_create"},{"id":"function.imap-createmailbox","name":"imap_createmailbox","description":"Create a new mailbox","tag":"refentry","type":"Function","methodName":"imap_createmailbox"},{"id":"function.imap-delete","name":"imap_delete","description":"Mark a message for deletion from current mailbox","tag":"refentry","type":"Function","methodName":"imap_delete"},{"id":"function.imap-deletemailbox","name":"imap_deletemailbox","description":"Delete a mailbox","tag":"refentry","type":"Function","methodName":"imap_deletemailbox"},{"id":"function.imap-errors","name":"imap_errors","description":"Returns all of the IMAP errors that have occurred","tag":"refentry","type":"Function","methodName":"imap_errors"},{"id":"function.imap-expunge","name":"imap_expunge","description":"Delete all messages marked for deletion","tag":"refentry","type":"Function","methodName":"imap_expunge"},{"id":"function.imap-fetch-overview","name":"imap_fetch_overview","description":"Read an overview of the information in the headers of the given message","tag":"refentry","type":"Function","methodName":"imap_fetch_overview"},{"id":"function.imap-fetchbody","name":"imap_fetchbody","description":"Fetch a particular section of the body of the message","tag":"refentry","type":"Function","methodName":"imap_fetchbody"},{"id":"function.imap-fetchheader","name":"imap_fetchheader","description":"Returns header for a message","tag":"refentry","type":"Function","methodName":"imap_fetchheader"},{"id":"function.imap-fetchmime","name":"imap_fetchmime","description":"Fetch MIME headers for a particular section of the message","tag":"refentry","type":"Function","methodName":"imap_fetchmime"},{"id":"function.imap-fetchstructure","name":"imap_fetchstructure","description":"Read the structure of a particular message","tag":"refentry","type":"Function","methodName":"imap_fetchstructure"},{"id":"function.imap-fetchtext","name":"imap_fetchtext","description":"Alias of imap_body","tag":"refentry","type":"Function","methodName":"imap_fetchtext"},{"id":"function.imap-gc","name":"imap_gc","description":"Clears IMAP cache","tag":"refentry","type":"Function","methodName":"imap_gc"},{"id":"function.imap-get-quota","name":"imap_get_quota","description":"Retrieve the quota level settings, and usage statics per mailbox","tag":"refentry","type":"Function","methodName":"imap_get_quota"},{"id":"function.imap-get-quotaroot","name":"imap_get_quotaroot","description":"Retrieve the quota settings per user","tag":"refentry","type":"Function","methodName":"imap_get_quotaroot"},{"id":"function.imap-getacl","name":"imap_getacl","description":"Gets the ACL for a given mailbox","tag":"refentry","type":"Function","methodName":"imap_getacl"},{"id":"function.imap-getmailboxes","name":"imap_getmailboxes","description":"Read the list of mailboxes, returning detailed information on each one","tag":"refentry","type":"Function","methodName":"imap_getmailboxes"},{"id":"function.imap-getsubscribed","name":"imap_getsubscribed","description":"List all the subscribed mailboxes","tag":"refentry","type":"Function","methodName":"imap_getsubscribed"},{"id":"function.imap-header","name":"imap_header","description":"Alias of imap_headerinfo","tag":"refentry","type":"Function","methodName":"imap_header"},{"id":"function.imap-headerinfo","name":"imap_headerinfo","description":"Read the header of the message","tag":"refentry","type":"Function","methodName":"imap_headerinfo"},{"id":"function.imap-headers","name":"imap_headers","description":"Returns headers for all messages in a mailbox","tag":"refentry","type":"Function","methodName":"imap_headers"},{"id":"function.imap-is-open","name":"imap_is_open","description":"Check if the IMAP stream is still valid","tag":"refentry","type":"Function","methodName":"imap_is_open"},{"id":"function.imap-last-error","name":"imap_last_error","description":"Gets the last IMAP error that occurred during this page request","tag":"refentry","type":"Function","methodName":"imap_last_error"},{"id":"function.imap-list","name":"imap_list","description":"Read the list of mailboxes","tag":"refentry","type":"Function","methodName":"imap_list"},{"id":"function.imap-listmailbox","name":"imap_listmailbox","description":"Alias of imap_list","tag":"refentry","type":"Function","methodName":"imap_listmailbox"},{"id":"function.imap-listscan","name":"imap_listscan","description":"Returns the list of mailboxes that matches the given text","tag":"refentry","type":"Function","methodName":"imap_listscan"},{"id":"function.imap-listsubscribed","name":"imap_listsubscribed","description":"Alias of imap_lsub","tag":"refentry","type":"Function","methodName":"imap_listsubscribed"},{"id":"function.imap-lsub","name":"imap_lsub","description":"List all the subscribed mailboxes","tag":"refentry","type":"Function","methodName":"imap_lsub"},{"id":"function.imap-mail","name":"imap_mail","description":"Send an email message","tag":"refentry","type":"Function","methodName":"imap_mail"},{"id":"function.imap-mail-compose","name":"imap_mail_compose","description":"Create a MIME message based on given envelope and body sections","tag":"refentry","type":"Function","methodName":"imap_mail_compose"},{"id":"function.imap-mail-copy","name":"imap_mail_copy","description":"Copy specified messages to a mailbox","tag":"refentry","type":"Function","methodName":"imap_mail_copy"},{"id":"function.imap-mail-move","name":"imap_mail_move","description":"Move specified messages to a mailbox","tag":"refentry","type":"Function","methodName":"imap_mail_move"},{"id":"function.imap-mailboxmsginfo","name":"imap_mailboxmsginfo","description":"Get information about the current mailbox","tag":"refentry","type":"Function","methodName":"imap_mailboxmsginfo"},{"id":"function.imap-mime-header-decode","name":"imap_mime_header_decode","description":"Decode MIME header elements","tag":"refentry","type":"Function","methodName":"imap_mime_header_decode"},{"id":"function.imap-msgno","name":"imap_msgno","description":"Gets the message sequence number for the given UID","tag":"refentry","type":"Function","methodName":"imap_msgno"},{"id":"function.imap-mutf7-to-utf8","name":"imap_mutf7_to_utf8","description":"Decode a modified UTF-7 string to UTF-8","tag":"refentry","type":"Function","methodName":"imap_mutf7_to_utf8"},{"id":"function.imap-num-msg","name":"imap_num_msg","description":"Gets the number of messages in the current mailbox","tag":"refentry","type":"Function","methodName":"imap_num_msg"},{"id":"function.imap-num-recent","name":"imap_num_recent","description":"Gets the number of recent messages in current mailbox","tag":"refentry","type":"Function","methodName":"imap_num_recent"},{"id":"function.imap-open","name":"imap_open","description":"Open an IMAP stream to a mailbox","tag":"refentry","type":"Function","methodName":"imap_open"},{"id":"function.imap-ping","name":"imap_ping","description":"Check if the IMAP stream is still active","tag":"refentry","type":"Function","methodName":"imap_ping"},{"id":"function.imap-qprint","name":"imap_qprint","description":"Convert a quoted-printable string to an 8 bit string","tag":"refentry","type":"Function","methodName":"imap_qprint"},{"id":"function.imap-rename","name":"imap_rename","description":"Alias of imap_renamemailbox","tag":"refentry","type":"Function","methodName":"imap_rename"},{"id":"function.imap-renamemailbox","name":"imap_renamemailbox","description":"Rename an old mailbox to new mailbox","tag":"refentry","type":"Function","methodName":"imap_renamemailbox"},{"id":"function.imap-reopen","name":"imap_reopen","description":"Reopen IMAP stream to new mailbox","tag":"refentry","type":"Function","methodName":"imap_reopen"},{"id":"function.imap-rfc822-parse-adrlist","name":"imap_rfc822_parse_adrlist","description":"Parses an address string","tag":"refentry","type":"Function","methodName":"imap_rfc822_parse_adrlist"},{"id":"function.imap-rfc822-parse-headers","name":"imap_rfc822_parse_headers","description":"Parse mail headers from a string","tag":"refentry","type":"Function","methodName":"imap_rfc822_parse_headers"},{"id":"function.imap-rfc822-write-address","name":"imap_rfc822_write_address","description":"Returns a properly formatted email address given the mailbox, host, and personal info","tag":"refentry","type":"Function","methodName":"imap_rfc822_write_address"},{"id":"function.imap-savebody","name":"imap_savebody","description":"Save a specific body section to a file","tag":"refentry","type":"Function","methodName":"imap_savebody"},{"id":"function.imap-scan","name":"imap_scan","description":"Alias of imap_listscan","tag":"refentry","type":"Function","methodName":"imap_scan"},{"id":"function.imap-scanmailbox","name":"imap_scanmailbox","description":"Alias of imap_listscan","tag":"refentry","type":"Function","methodName":"imap_scanmailbox"},{"id":"function.imap-search","name":"imap_search","description":"This function returns an array of messages matching the given search criteria","tag":"refentry","type":"Function","methodName":"imap_search"},{"id":"function.imap-set-quota","name":"imap_set_quota","description":"Sets a quota for a given mailbox","tag":"refentry","type":"Function","methodName":"imap_set_quota"},{"id":"function.imap-setacl","name":"imap_setacl","description":"Sets the ACL for a given mailbox","tag":"refentry","type":"Function","methodName":"imap_setacl"},{"id":"function.imap-setflag-full","name":"imap_setflag_full","description":"Sets flags on messages","tag":"refentry","type":"Function","methodName":"imap_setflag_full"},{"id":"function.imap-sort","name":"imap_sort","description":"Gets and sort messages","tag":"refentry","type":"Function","methodName":"imap_sort"},{"id":"function.imap-status","name":"imap_status","description":"Returns status information on a mailbox","tag":"refentry","type":"Function","methodName":"imap_status"},{"id":"function.imap-subscribe","name":"imap_subscribe","description":"Subscribe to a mailbox","tag":"refentry","type":"Function","methodName":"imap_subscribe"},{"id":"function.imap-thread","name":"imap_thread","description":"Returns a tree of threaded message","tag":"refentry","type":"Function","methodName":"imap_thread"},{"id":"function.imap-timeout","name":"imap_timeout","description":"Set or fetch imap timeout","tag":"refentry","type":"Function","methodName":"imap_timeout"},{"id":"function.imap-uid","name":"imap_uid","description":"This function returns the UID for the given message sequence number","tag":"refentry","type":"Function","methodName":"imap_uid"},{"id":"function.imap-undelete","name":"imap_undelete","description":"Unmark the message which is marked deleted","tag":"refentry","type":"Function","methodName":"imap_undelete"},{"id":"function.imap-unsubscribe","name":"imap_unsubscribe","description":"Unsubscribe from a mailbox","tag":"refentry","type":"Function","methodName":"imap_unsubscribe"},{"id":"function.imap-utf7-decode","name":"imap_utf7_decode","description":"Decodes a modified UTF-7 encoded string","tag":"refentry","type":"Function","methodName":"imap_utf7_decode"},{"id":"function.imap-utf7-encode","name":"imap_utf7_encode","description":"Converts ISO-8859-1 string to modified UTF-7 text","tag":"refentry","type":"Function","methodName":"imap_utf7_encode"},{"id":"function.imap-utf8","name":"imap_utf8","description":"Converts MIME-encoded text to UTF-8","tag":"refentry","type":"Function","methodName":"imap_utf8"},{"id":"function.imap-utf8-to-mutf7","name":"imap_utf8_to_mutf7","description":"Encode a UTF-8 string to modified UTF-7","tag":"refentry","type":"Function","methodName":"imap_utf8_to_mutf7"},{"id":"ref.imap","name":"IMAP Functions","description":"IMAP, POP3 and NNTP","tag":"reference","type":"Extension","methodName":"IMAP Functions"},{"id":"class.imap-connection","name":"IMAP\\Connection","description":"The IMAP\\Connection class","tag":"phpdoc:classref","type":"Class","methodName":"IMAP\\Connection"},{"id":"book.imap","name":"IMAP","description":"IMAP, POP3 and NNTP","tag":"book","type":"Extension","methodName":"IMAP"},{"id":"intro.mail","name":"Introduction","description":"Mail","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mail.requirements","name":"Requirements","description":"Mail","tag":"section","type":"General","methodName":"Requirements"},{"id":"mail.configuration","name":"Runtime Configuration","description":"Mail","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mail.setup","name":"Installing\/Configuring","description":"Mail","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.ezmlm-hash","name":"ezmlm_hash","description":"Calculate the hash value needed by EZMLM","tag":"refentry","type":"Function","methodName":"ezmlm_hash"},{"id":"function.mail","name":"mail","description":"Send mail","tag":"refentry","type":"Function","methodName":"mail"},{"id":"ref.mail","name":"Mail Functions","description":"Mail","tag":"reference","type":"Extension","methodName":"Mail Functions"},{"id":"book.mail","name":"Mail","description":"Mail Related Extensions","tag":"book","type":"Extension","methodName":"Mail"},{"id":"intro.mailparse","name":"Introduction","description":"Mailparse","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mailparse.installation","name":"Installation","description":"Mailparse","tag":"section","type":"General","methodName":"Installation"},{"id":"mailparse.configuration","name":"Runtime Configuration","description":"Mailparse","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mailparse.resources","name":"Resource Types","description":"Mailparse","tag":"section","type":"General","methodName":"Resource Types"},{"id":"mailparse.setup","name":"Installing\/Configuring","description":"Mailparse","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mailparse.constants","name":"Predefined Constants","description":"Mailparse","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.mailparse-determine-best-xfer-encoding","name":"mailparse_determine_best_xfer_encoding","description":"Gets the best way of encoding","tag":"refentry","type":"Function","methodName":"mailparse_determine_best_xfer_encoding"},{"id":"function.mailparse-msg-create","name":"mailparse_msg_create","description":"Create a mime mail resource","tag":"refentry","type":"Function","methodName":"mailparse_msg_create"},{"id":"function.mailparse-msg-extract-part","name":"mailparse_msg_extract_part","description":"Extracts\/decodes a message section","tag":"refentry","type":"Function","methodName":"mailparse_msg_extract_part"},{"id":"function.mailparse-msg-extract-part-file","name":"mailparse_msg_extract_part_file","description":"Extracts\/decodes a message section","tag":"refentry","type":"Function","methodName":"mailparse_msg_extract_part_file"},{"id":"function.mailparse-msg-extract-whole-part-file","name":"mailparse_msg_extract_whole_part_file","description":"Extracts a message section including headers without decoding the transfer encoding","tag":"refentry","type":"Function","methodName":"mailparse_msg_extract_whole_part_file"},{"id":"function.mailparse-msg-free","name":"mailparse_msg_free","description":"Frees a MIME resource","tag":"refentry","type":"Function","methodName":"mailparse_msg_free"},{"id":"function.mailparse-msg-get-part","name":"mailparse_msg_get_part","description":"Returns a handle on a given section in a mimemessage","tag":"refentry","type":"Function","methodName":"mailparse_msg_get_part"},{"id":"function.mailparse-msg-get-part-data","name":"mailparse_msg_get_part_data","description":"Returns an associative array of info about the message","tag":"refentry","type":"Function","methodName":"mailparse_msg_get_part_data"},{"id":"function.mailparse-msg-get-structure","name":"mailparse_msg_get_structure","description":"Returns an array of mime section names in the supplied message","tag":"refentry","type":"Function","methodName":"mailparse_msg_get_structure"},{"id":"function.mailparse-msg-parse","name":"mailparse_msg_parse","description":"Incrementally parse data into buffer","tag":"refentry","type":"Function","methodName":"mailparse_msg_parse"},{"id":"function.mailparse-msg-parse-file","name":"mailparse_msg_parse_file","description":"Parses a file","tag":"refentry","type":"Function","methodName":"mailparse_msg_parse_file"},{"id":"function.mailparse-rfc822-parse-addresses","name":"mailparse_rfc822_parse_addresses","description":"Parse RFC 822 compliant addresses","tag":"refentry","type":"Function","methodName":"mailparse_rfc822_parse_addresses"},{"id":"function.mailparse-stream-encode","name":"mailparse_stream_encode","description":"Streams data from source file pointer, apply encoding and write to destfp","tag":"refentry","type":"Function","methodName":"mailparse_stream_encode"},{"id":"function.mailparse-uudecode-all","name":"mailparse_uudecode_all","description":"Scans the data from fp and extract each embedded uuencoded file","tag":"refentry","type":"Function","methodName":"mailparse_uudecode_all"},{"id":"ref.mailparse","name":"Mailparse Functions","description":"Mailparse","tag":"reference","type":"Extension","methodName":"Mailparse Functions"},{"id":"book.mailparse","name":"Mailparse","description":"Mail Related Extensions","tag":"book","type":"Extension","methodName":"Mailparse"},{"id":"refs.remote.mail","name":"Mail Related Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Mail Related Extensions"},{"id":"intro.bc","name":"Introduction","description":"BCMath Arbitrary Precision Mathematics","tag":"preface","type":"General","methodName":"Introduction"},{"id":"bc.installation","name":"Installation","description":"BCMath Arbitrary Precision Mathematics","tag":"section","type":"General","methodName":"Installation"},{"id":"bc.configuration","name":"Runtime Configuration","description":"BCMath Arbitrary Precision Mathematics","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"bc.setup","name":"Installing\/Configuring","description":"BCMath Arbitrary Precision Mathematics","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.bcadd","name":"bcadd","description":"Add two arbitrary precision numbers","tag":"refentry","type":"Function","methodName":"bcadd"},{"id":"function.bcceil","name":"bcceil","description":"Round up arbitrary precision number","tag":"refentry","type":"Function","methodName":"bcceil"},{"id":"function.bccomp","name":"bccomp","description":"Compare two arbitrary precision numbers","tag":"refentry","type":"Function","methodName":"bccomp"},{"id":"function.bcdiv","name":"bcdiv","description":"Divide two arbitrary precision numbers","tag":"refentry","type":"Function","methodName":"bcdiv"},{"id":"function.bcdivmod","name":"bcdivmod","description":"Get the quotient and modulus of an arbitrary precision number","tag":"refentry","type":"Function","methodName":"bcdivmod"},{"id":"function.bcfloor","name":"bcfloor","description":"Round down arbitrary precision number","tag":"refentry","type":"Function","methodName":"bcfloor"},{"id":"function.bcmod","name":"bcmod","description":"Get modulus of an arbitrary precision number","tag":"refentry","type":"Function","methodName":"bcmod"},{"id":"function.bcmul","name":"bcmul","description":"Multiply two arbitrary precision numbers","tag":"refentry","type":"Function","methodName":"bcmul"},{"id":"function.bcpow","name":"bcpow","description":"Raise an arbitrary precision number to another","tag":"refentry","type":"Function","methodName":"bcpow"},{"id":"function.bcpowmod","name":"bcpowmod","description":"Raise an arbitrary precision number to another, reduced by a specified modulus","tag":"refentry","type":"Function","methodName":"bcpowmod"},{"id":"function.bcround","name":"bcround","description":"Round arbitrary precision number","tag":"refentry","type":"Function","methodName":"bcround"},{"id":"function.bcscale","name":"bcscale","description":"Set or get default scale parameter for all bc math functions","tag":"refentry","type":"Function","methodName":"bcscale"},{"id":"function.bcsqrt","name":"bcsqrt","description":"Get the square root of an arbitrary precision number","tag":"refentry","type":"Function","methodName":"bcsqrt"},{"id":"function.bcsub","name":"bcsub","description":"Subtract one arbitrary precision number from another","tag":"refentry","type":"Function","methodName":"bcsub"},{"id":"ref.bc","name":"BC Math Functions","description":"BCMath Arbitrary Precision Mathematics","tag":"reference","type":"Extension","methodName":"BC Math Functions"},{"id":"bcmath-number.add","name":"BcMath\\Number::add","description":"Adds an arbitrary precision number","tag":"refentry","type":"Function","methodName":"add"},{"id":"bcmath-number.ceil","name":"BcMath\\Number::ceil","description":"Rounds up an arbitrary precision number","tag":"refentry","type":"Function","methodName":"ceil"},{"id":"bcmath-number.compare","name":"BcMath\\Number::compare","description":"Compares two arbitrary precision numbers","tag":"refentry","type":"Function","methodName":"compare"},{"id":"bcmath-number.construct","name":"BcMath\\Number::__construct","description":"Creates a BcMath\\Number object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"bcmath-number.div","name":"BcMath\\Number::div","description":"Divides by an arbitrary precision number","tag":"refentry","type":"Function","methodName":"div"},{"id":"bcmath-number.divmod","name":"BcMath\\Number::divmod","description":"Gets the quotient and modulus of an arbitrary precision number","tag":"refentry","type":"Function","methodName":"divmod"},{"id":"bcmath-number.floor","name":"BcMath\\Number::floor","description":"Rounds down an arbitrary precision number","tag":"refentry","type":"Function","methodName":"floor"},{"id":"bcmath-number.mod","name":"BcMath\\Number::mod","description":"Gets the modulus of an arbitrary precision number","tag":"refentry","type":"Function","methodName":"mod"},{"id":"bcmath-number.mul","name":"BcMath\\Number::mul","description":"Multiplies an arbitrary precision number","tag":"refentry","type":"Function","methodName":"mul"},{"id":"bcmath-number.pow","name":"BcMath\\Number::pow","description":"Raises an arbitrary precision number","tag":"refentry","type":"Function","methodName":"pow"},{"id":"bcmath-number.powmod","name":"BcMath\\Number::powmod","description":"Raises an arbitrary precision number, reduced by a specified modulus","tag":"refentry","type":"Function","methodName":"powmod"},{"id":"bcmath-number.round","name":"BcMath\\Number::round","description":"Rounds an arbitrary precision number","tag":"refentry","type":"Function","methodName":"round"},{"id":"bcmath-number.serialize","name":"BcMath\\Number::__serialize","description":"Serializes a BcMath\\Number object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"bcmath-number.sqrt","name":"BcMath\\Number::sqrt","description":"Gets the square root of an arbitrary precision number","tag":"refentry","type":"Function","methodName":"sqrt"},{"id":"bcmath-number.sub","name":"BcMath\\Number::sub","description":"Subtracts an arbitrary precision number","tag":"refentry","type":"Function","methodName":"sub"},{"id":"bcmath-number.tostring","name":"BcMath\\Number::__toString","description":"Converts BcMath\\Number to string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"bcmath-number.unserialize","name":"BcMath\\Number::__unserialize","description":"Deserializes a data parameter into a BcMath\\Number object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.bcmath-number","name":"BcMath\\Number","description":"The BcMath\\Number class","tag":"phpdoc:classref","type":"Class","methodName":"BcMath\\Number"},{"id":"book.bc","name":"BC Math","description":"BCMath Arbitrary Precision Mathematics","tag":"book","type":"Extension","methodName":"BC Math"},{"id":"intro.gmp","name":"Introduction","description":"GNU Multiple Precision","tag":"preface","type":"General","methodName":"Introduction"},{"id":"gmp.requirements","name":"Requirements","description":"GNU Multiple Precision","tag":"section","type":"General","methodName":"Requirements"},{"id":"gmp.installation","name":"Installation","description":"GNU Multiple Precision","tag":"section","type":"General","methodName":"Installation"},{"id":"gmp.setup","name":"Installing\/Configuring","description":"GNU Multiple Precision","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"gmp.constants","name":"Predefined Constants","description":"GNU Multiple Precision","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"gmp.examples","name":"Examples","description":"GNU Multiple Precision","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.gmp-abs","name":"gmp_abs","description":"Absolute value","tag":"refentry","type":"Function","methodName":"gmp_abs"},{"id":"function.gmp-add","name":"gmp_add","description":"Add numbers","tag":"refentry","type":"Function","methodName":"gmp_add"},{"id":"function.gmp-and","name":"gmp_and","description":"Bitwise AND","tag":"refentry","type":"Function","methodName":"gmp_and"},{"id":"function.gmp-binomial","name":"gmp_binomial","description":"Calculates binomial coefficient","tag":"refentry","type":"Function","methodName":"gmp_binomial"},{"id":"function.gmp-clrbit","name":"gmp_clrbit","description":"Clear bit","tag":"refentry","type":"Function","methodName":"gmp_clrbit"},{"id":"function.gmp-cmp","name":"gmp_cmp","description":"Compare numbers","tag":"refentry","type":"Function","methodName":"gmp_cmp"},{"id":"function.gmp-com","name":"gmp_com","description":"Calculates one's complement","tag":"refentry","type":"Function","methodName":"gmp_com"},{"id":"function.gmp-div","name":"gmp_div","description":"Alias of gmp_div_q","tag":"refentry","type":"Function","methodName":"gmp_div"},{"id":"function.gmp-div-q","name":"gmp_div_q","description":"Divide numbers","tag":"refentry","type":"Function","methodName":"gmp_div_q"},{"id":"function.gmp-div-qr","name":"gmp_div_qr","description":"Divide numbers and get quotient and remainder","tag":"refentry","type":"Function","methodName":"gmp_div_qr"},{"id":"function.gmp-div-r","name":"gmp_div_r","description":"Remainder of the division of numbers","tag":"refentry","type":"Function","methodName":"gmp_div_r"},{"id":"function.gmp-divexact","name":"gmp_divexact","description":"Exact division of numbers","tag":"refentry","type":"Function","methodName":"gmp_divexact"},{"id":"function.gmp-export","name":"gmp_export","description":"Export to a binary string","tag":"refentry","type":"Function","methodName":"gmp_export"},{"id":"function.gmp-fact","name":"gmp_fact","description":"Factorial","tag":"refentry","type":"Function","methodName":"gmp_fact"},{"id":"function.gmp-gcd","name":"gmp_gcd","description":"Calculate GCD","tag":"refentry","type":"Function","methodName":"gmp_gcd"},{"id":"function.gmp-gcdext","name":"gmp_gcdext","description":"Calculate GCD and multipliers","tag":"refentry","type":"Function","methodName":"gmp_gcdext"},{"id":"function.gmp-hamdist","name":"gmp_hamdist","description":"Hamming distance","tag":"refentry","type":"Function","methodName":"gmp_hamdist"},{"id":"function.gmp-import","name":"gmp_import","description":"Import from a binary string","tag":"refentry","type":"Function","methodName":"gmp_import"},{"id":"function.gmp-init","name":"gmp_init","description":"Create GMP number","tag":"refentry","type":"Function","methodName":"gmp_init"},{"id":"function.gmp-intval","name":"gmp_intval","description":"Convert GMP number to integer","tag":"refentry","type":"Function","methodName":"gmp_intval"},{"id":"function.gmp-invert","name":"gmp_invert","description":"Inverse by modulo","tag":"refentry","type":"Function","methodName":"gmp_invert"},{"id":"function.gmp-jacobi","name":"gmp_jacobi","description":"Jacobi symbol","tag":"refentry","type":"Function","methodName":"gmp_jacobi"},{"id":"function.gmp-kronecker","name":"gmp_kronecker","description":"Kronecker symbol","tag":"refentry","type":"Function","methodName":"gmp_kronecker"},{"id":"function.gmp-lcm","name":"gmp_lcm","description":"Calculate LCM","tag":"refentry","type":"Function","methodName":"gmp_lcm"},{"id":"function.gmp-legendre","name":"gmp_legendre","description":"Legendre symbol","tag":"refentry","type":"Function","methodName":"gmp_legendre"},{"id":"function.gmp-mod","name":"gmp_mod","description":"Modulo operation","tag":"refentry","type":"Function","methodName":"gmp_mod"},{"id":"function.gmp-mul","name":"gmp_mul","description":"Multiply numbers","tag":"refentry","type":"Function","methodName":"gmp_mul"},{"id":"function.gmp-neg","name":"gmp_neg","description":"Negate number","tag":"refentry","type":"Function","methodName":"gmp_neg"},{"id":"function.gmp-nextprime","name":"gmp_nextprime","description":"Find next prime number","tag":"refentry","type":"Function","methodName":"gmp_nextprime"},{"id":"function.gmp-or","name":"gmp_or","description":"Bitwise OR","tag":"refentry","type":"Function","methodName":"gmp_or"},{"id":"function.gmp-perfect-power","name":"gmp_perfect_power","description":"Perfect power check","tag":"refentry","type":"Function","methodName":"gmp_perfect_power"},{"id":"function.gmp-perfect-square","name":"gmp_perfect_square","description":"Perfect square check","tag":"refentry","type":"Function","methodName":"gmp_perfect_square"},{"id":"function.gmp-popcount","name":"gmp_popcount","description":"Population count","tag":"refentry","type":"Function","methodName":"gmp_popcount"},{"id":"function.gmp-pow","name":"gmp_pow","description":"Raise number into power","tag":"refentry","type":"Function","methodName":"gmp_pow"},{"id":"function.gmp-powm","name":"gmp_powm","description":"Raise number into power with modulo","tag":"refentry","type":"Function","methodName":"gmp_powm"},{"id":"function.gmp-prob-prime","name":"gmp_prob_prime","description":"Check if number is \"probably prime\"","tag":"refentry","type":"Function","methodName":"gmp_prob_prime"},{"id":"function.gmp-random","name":"gmp_random","description":"Random number","tag":"refentry","type":"Function","methodName":"gmp_random"},{"id":"function.gmp-random-bits","name":"gmp_random_bits","description":"Random number","tag":"refentry","type":"Function","methodName":"gmp_random_bits"},{"id":"function.gmp-random-range","name":"gmp_random_range","description":"Get a uniformly selected integer","tag":"refentry","type":"Function","methodName":"gmp_random_range"},{"id":"function.gmp-random-seed","name":"gmp_random_seed","description":"Sets the RNG seed","tag":"refentry","type":"Function","methodName":"gmp_random_seed"},{"id":"function.gmp-root","name":"gmp_root","description":"Take the integer part of nth root","tag":"refentry","type":"Function","methodName":"gmp_root"},{"id":"function.gmp-rootrem","name":"gmp_rootrem","description":"Take the integer part and remainder of nth root","tag":"refentry","type":"Function","methodName":"gmp_rootrem"},{"id":"function.gmp-scan0","name":"gmp_scan0","description":"Scan for 0","tag":"refentry","type":"Function","methodName":"gmp_scan0"},{"id":"function.gmp-scan1","name":"gmp_scan1","description":"Scan for 1","tag":"refentry","type":"Function","methodName":"gmp_scan1"},{"id":"function.gmp-setbit","name":"gmp_setbit","description":"Set bit","tag":"refentry","type":"Function","methodName":"gmp_setbit"},{"id":"function.gmp-sign","name":"gmp_sign","description":"Sign of number","tag":"refentry","type":"Function","methodName":"gmp_sign"},{"id":"function.gmp-sqrt","name":"gmp_sqrt","description":"Calculate square root","tag":"refentry","type":"Function","methodName":"gmp_sqrt"},{"id":"function.gmp-sqrtrem","name":"gmp_sqrtrem","description":"Square root with remainder","tag":"refentry","type":"Function","methodName":"gmp_sqrtrem"},{"id":"function.gmp-strval","name":"gmp_strval","description":"Convert GMP number to string","tag":"refentry","type":"Function","methodName":"gmp_strval"},{"id":"function.gmp-sub","name":"gmp_sub","description":"Subtract numbers","tag":"refentry","type":"Function","methodName":"gmp_sub"},{"id":"function.gmp-testbit","name":"gmp_testbit","description":"Tests if a bit is set","tag":"refentry","type":"Function","methodName":"gmp_testbit"},{"id":"function.gmp-xor","name":"gmp_xor","description":"Bitwise XOR","tag":"refentry","type":"Function","methodName":"gmp_xor"},{"id":"ref.gmp","name":"GMP Functions","description":"GNU Multiple Precision","tag":"reference","type":"Extension","methodName":"GMP Functions"},{"id":"gmp.construct","name":"GMP::__construct","description":"Create GMP number","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gmp.serialize","name":"GMP::__serialize","description":"Serializes the GMP object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"gmp.unserialize","name":"GMP::__unserialize","description":"Deserializes the data parameter into a GMP object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.gmp","name":"GMP","description":"The GMP class","tag":"phpdoc:classref","type":"Class","methodName":"GMP"},{"id":"book.gmp","name":"GMP","description":"GNU Multiple Precision","tag":"book","type":"Extension","methodName":"GMP"},{"id":"intro.math","name":"Introduction","description":"Mathematical Functions","tag":"preface","type":"General","methodName":"Introduction"},{"id":"math.constants","name":"Predefined Constants","description":"Mathematical Functions","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"enum.roundingmode","name":"RoundingMode","description":"The RoundingMode Enum","tag":"phpdoc:classref","type":"Class","methodName":"RoundingMode"},{"id":"function.abs","name":"abs","description":"Absolute value","tag":"refentry","type":"Function","methodName":"abs"},{"id":"function.acos","name":"acos","description":"Arc cosine","tag":"refentry","type":"Function","methodName":"acos"},{"id":"function.acosh","name":"acosh","description":"Inverse hyperbolic cosine","tag":"refentry","type":"Function","methodName":"acosh"},{"id":"function.asin","name":"asin","description":"Arc sine","tag":"refentry","type":"Function","methodName":"asin"},{"id":"function.asinh","name":"asinh","description":"Inverse hyperbolic sine","tag":"refentry","type":"Function","methodName":"asinh"},{"id":"function.atan","name":"atan","description":"Arc tangent","tag":"refentry","type":"Function","methodName":"atan"},{"id":"function.atan2","name":"atan2","description":"Arc tangent of two variables","tag":"refentry","type":"Function","methodName":"atan2"},{"id":"function.atanh","name":"atanh","description":"Inverse hyperbolic tangent","tag":"refentry","type":"Function","methodName":"atanh"},{"id":"function.base-convert","name":"base_convert","description":"Convert a number between arbitrary bases","tag":"refentry","type":"Function","methodName":"base_convert"},{"id":"function.bindec","name":"bindec","description":"Binary to decimal","tag":"refentry","type":"Function","methodName":"bindec"},{"id":"function.ceil","name":"ceil","description":"Round fractions up","tag":"refentry","type":"Function","methodName":"ceil"},{"id":"function.cos","name":"cos","description":"Cosine","tag":"refentry","type":"Function","methodName":"cos"},{"id":"function.cosh","name":"cosh","description":"Hyperbolic cosine","tag":"refentry","type":"Function","methodName":"cosh"},{"id":"function.decbin","name":"decbin","description":"Decimal to binary","tag":"refentry","type":"Function","methodName":"decbin"},{"id":"function.dechex","name":"dechex","description":"Decimal to hexadecimal","tag":"refentry","type":"Function","methodName":"dechex"},{"id":"function.decoct","name":"decoct","description":"Decimal to octal","tag":"refentry","type":"Function","methodName":"decoct"},{"id":"function.deg2rad","name":"deg2rad","description":"Converts the number in degrees to the radian equivalent","tag":"refentry","type":"Function","methodName":"deg2rad"},{"id":"function.exp","name":"exp","description":"Calculates the exponent of e","tag":"refentry","type":"Function","methodName":"exp"},{"id":"function.expm1","name":"expm1","description":"Returns exp($num) - 1, computed in a way that is accurate even\n when the value of number is close to zero","tag":"refentry","type":"Function","methodName":"expm1"},{"id":"function.fdiv","name":"fdiv","description":"Divides two numbers, according to IEEE 754","tag":"refentry","type":"Function","methodName":"fdiv"},{"id":"function.floor","name":"floor","description":"Round fractions down","tag":"refentry","type":"Function","methodName":"floor"},{"id":"function.fmod","name":"fmod","description":"Returns the floating point remainder (modulo) of the division\n of the arguments","tag":"refentry","type":"Function","methodName":"fmod"},{"id":"function.fpow","name":"fpow","description":"Raise one number to the power of another, according to IEEE 754","tag":"refentry","type":"Function","methodName":"fpow"},{"id":"function.hexdec","name":"hexdec","description":"Hexadecimal to decimal","tag":"refentry","type":"Function","methodName":"hexdec"},{"id":"function.hypot","name":"hypot","description":"Calculate the length of the hypotenuse of a right-angle triangle","tag":"refentry","type":"Function","methodName":"hypot"},{"id":"function.intdiv","name":"intdiv","description":"Integer division","tag":"refentry","type":"Function","methodName":"intdiv"},{"id":"function.is-finite","name":"is_finite","description":"Checks whether a float is finite","tag":"refentry","type":"Function","methodName":"is_finite"},{"id":"function.is-infinite","name":"is_infinite","description":"Checks whether a float is infinite","tag":"refentry","type":"Function","methodName":"is_infinite"},{"id":"function.is-nan","name":"is_nan","description":"Checks whether a float is NAN","tag":"refentry","type":"Function","methodName":"is_nan"},{"id":"function.log","name":"log","description":"Natural logarithm","tag":"refentry","type":"Function","methodName":"log"},{"id":"function.log10","name":"log10","description":"Base-10 logarithm","tag":"refentry","type":"Function","methodName":"log10"},{"id":"function.log1p","name":"log1p","description":"Returns log(1 + number), computed in a way that is accurate even when\n the value of number is close to zero","tag":"refentry","type":"Function","methodName":"log1p"},{"id":"function.max","name":"max","description":"Find highest value","tag":"refentry","type":"Function","methodName":"max"},{"id":"function.min","name":"min","description":"Find lowest value","tag":"refentry","type":"Function","methodName":"min"},{"id":"function.octdec","name":"octdec","description":"Octal to decimal","tag":"refentry","type":"Function","methodName":"octdec"},{"id":"function.pi","name":"pi","description":"Get value of pi","tag":"refentry","type":"Function","methodName":"pi"},{"id":"function.pow","name":"pow","description":"Exponential expression","tag":"refentry","type":"Function","methodName":"pow"},{"id":"function.rad2deg","name":"rad2deg","description":"Converts the radian number to the equivalent number in degrees","tag":"refentry","type":"Function","methodName":"rad2deg"},{"id":"function.round","name":"round","description":"Rounds a float","tag":"refentry","type":"Function","methodName":"round"},{"id":"function.sin","name":"sin","description":"Sine","tag":"refentry","type":"Function","methodName":"sin"},{"id":"function.sinh","name":"sinh","description":"Hyperbolic sine","tag":"refentry","type":"Function","methodName":"sinh"},{"id":"function.sqrt","name":"sqrt","description":"Square root","tag":"refentry","type":"Function","methodName":"sqrt"},{"id":"function.tan","name":"tan","description":"Tangent","tag":"refentry","type":"Function","methodName":"tan"},{"id":"function.tanh","name":"tanh","description":"Hyperbolic tangent","tag":"refentry","type":"Function","methodName":"tanh"},{"id":"ref.math","name":"Math Functions","description":"Mathematical Functions","tag":"reference","type":"Extension","methodName":"Math Functions"},{"id":"book.math","name":"Math","description":"Mathematical Functions","tag":"book","type":"Extension","methodName":"Math"},{"id":"intro.stats","name":"Introduction","description":"Statistics","tag":"preface","type":"General","methodName":"Introduction"},{"id":"stats.requirements","name":"Requirements","description":"Statistics","tag":"section","type":"General","methodName":"Requirements"},{"id":"stats.installation","name":"Installation","description":"Statistics","tag":"section","type":"General","methodName":"Installation"},{"id":"stats.setup","name":"Installing\/Configuring","description":"Statistics","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.stats-absolute-deviation","name":"stats_absolute_deviation","description":"Returns the absolute deviation of an array of values","tag":"refentry","type":"Function","methodName":"stats_absolute_deviation"},{"id":"function.stats-cdf-beta","name":"stats_cdf_beta","description":"Calculates any one parameter of the beta distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_beta"},{"id":"function.stats-cdf-binomial","name":"stats_cdf_binomial","description":"Calculates any one parameter of the binomial distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_binomial"},{"id":"function.stats-cdf-cauchy","name":"stats_cdf_cauchy","description":"Calculates any one parameter of the Cauchy distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_cauchy"},{"id":"function.stats-cdf-chisquare","name":"stats_cdf_chisquare","description":"Calculates any one parameter of the chi-square distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_chisquare"},{"id":"function.stats-cdf-exponential","name":"stats_cdf_exponential","description":"Calculates any one parameter of the exponential distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_exponential"},{"id":"function.stats-cdf-f","name":"stats_cdf_f","description":"Calculates any one parameter of the F distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_f"},{"id":"function.stats-cdf-gamma","name":"stats_cdf_gamma","description":"Calculates any one parameter of the gamma distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_gamma"},{"id":"function.stats-cdf-laplace","name":"stats_cdf_laplace","description":"Calculates any one parameter of the Laplace distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_laplace"},{"id":"function.stats-cdf-logistic","name":"stats_cdf_logistic","description":"Calculates any one parameter of the logistic distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_logistic"},{"id":"function.stats-cdf-negative-binomial","name":"stats_cdf_negative_binomial","description":"Calculates any one parameter of the negative binomial distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_negative_binomial"},{"id":"function.stats-cdf-noncentral-chisquare","name":"stats_cdf_noncentral_chisquare","description":"Calculates any one parameter of the non-central chi-square distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_noncentral_chisquare"},{"id":"function.stats-cdf-noncentral-f","name":"stats_cdf_noncentral_f","description":"Calculates any one parameter of the non-central F distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_noncentral_f"},{"id":"function.stats-cdf-noncentral-t","name":"stats_cdf_noncentral_t","description":"Calculates any one parameter of the non-central t-distribution give values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_noncentral_t"},{"id":"function.stats-cdf-normal","name":"stats_cdf_normal","description":"Calculates any one parameter of the normal distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_normal"},{"id":"function.stats-cdf-poisson","name":"stats_cdf_poisson","description":"Calculates any one parameter of the Poisson distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_poisson"},{"id":"function.stats-cdf-t","name":"stats_cdf_t","description":"Calculates any one parameter of the t-distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_t"},{"id":"function.stats-cdf-uniform","name":"stats_cdf_uniform","description":"Calculates any one parameter of the uniform distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_uniform"},{"id":"function.stats-cdf-weibull","name":"stats_cdf_weibull","description":"Calculates any one parameter of the Weibull distribution given values for the others","tag":"refentry","type":"Function","methodName":"stats_cdf_weibull"},{"id":"function.stats-covariance","name":"stats_covariance","description":"Computes the covariance of two data sets","tag":"refentry","type":"Function","methodName":"stats_covariance"},{"id":"function.stats-dens-beta","name":"stats_dens_beta","description":"Probability density function of the beta distribution","tag":"refentry","type":"Function","methodName":"stats_dens_beta"},{"id":"function.stats-dens-cauchy","name":"stats_dens_cauchy","description":"Probability density function of the Cauchy distribution","tag":"refentry","type":"Function","methodName":"stats_dens_cauchy"},{"id":"function.stats-dens-chisquare","name":"stats_dens_chisquare","description":"Probability density function of the chi-square distribution","tag":"refentry","type":"Function","methodName":"stats_dens_chisquare"},{"id":"function.stats-dens-exponential","name":"stats_dens_exponential","description":"Probability density function of the exponential distribution","tag":"refentry","type":"Function","methodName":"stats_dens_exponential"},{"id":"function.stats-dens-f","name":"stats_dens_f","description":"Probability density function of the F distribution","tag":"refentry","type":"Function","methodName":"stats_dens_f"},{"id":"function.stats-dens-gamma","name":"stats_dens_gamma","description":"Probability density function of the gamma distribution","tag":"refentry","type":"Function","methodName":"stats_dens_gamma"},{"id":"function.stats-dens-laplace","name":"stats_dens_laplace","description":"Probability density function of the Laplace distribution","tag":"refentry","type":"Function","methodName":"stats_dens_laplace"},{"id":"function.stats-dens-logistic","name":"stats_dens_logistic","description":"Probability density function of the logistic distribution","tag":"refentry","type":"Function","methodName":"stats_dens_logistic"},{"id":"function.stats-dens-normal","name":"stats_dens_normal","description":"Probability density function of the normal distribution","tag":"refentry","type":"Function","methodName":"stats_dens_normal"},{"id":"function.stats-dens-pmf-binomial","name":"stats_dens_pmf_binomial","description":"Probability mass function of the binomial distribution","tag":"refentry","type":"Function","methodName":"stats_dens_pmf_binomial"},{"id":"function.stats-dens-pmf-hypergeometric","name":"stats_dens_pmf_hypergeometric","description":"Probability mass function of the hypergeometric distribution","tag":"refentry","type":"Function","methodName":"stats_dens_pmf_hypergeometric"},{"id":"function.stats-dens-pmf-negative-binomial","name":"stats_dens_pmf_negative_binomial","description":"Probability mass function of the negative binomial distribution","tag":"refentry","type":"Function","methodName":"stats_dens_pmf_negative_binomial"},{"id":"function.stats-dens-pmf-poisson","name":"stats_dens_pmf_poisson","description":"Probability mass function of the Poisson distribution","tag":"refentry","type":"Function","methodName":"stats_dens_pmf_poisson"},{"id":"function.stats-dens-t","name":"stats_dens_t","description":"Probability density function of the t-distribution","tag":"refentry","type":"Function","methodName":"stats_dens_t"},{"id":"function.stats-dens-uniform","name":"stats_dens_uniform","description":"Probability density function of the uniform distribution","tag":"refentry","type":"Function","methodName":"stats_dens_uniform"},{"id":"function.stats-dens-weibull","name":"stats_dens_weibull","description":"Probability density function of the Weibull distribution","tag":"refentry","type":"Function","methodName":"stats_dens_weibull"},{"id":"function.stats-harmonic-mean","name":"stats_harmonic_mean","description":"Returns the harmonic mean of an array of values","tag":"refentry","type":"Function","methodName":"stats_harmonic_mean"},{"id":"function.stats-kurtosis","name":"stats_kurtosis","description":"Computes the kurtosis of the data in the array","tag":"refentry","type":"Function","methodName":"stats_kurtosis"},{"id":"function.stats-rand-gen-beta","name":"stats_rand_gen_beta","description":"Generates a random deviate from the beta distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_beta"},{"id":"function.stats-rand-gen-chisquare","name":"stats_rand_gen_chisquare","description":"Generates a random deviate from the chi-square distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_chisquare"},{"id":"function.stats-rand-gen-exponential","name":"stats_rand_gen_exponential","description":"Generates a random deviate from the exponential distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_exponential"},{"id":"function.stats-rand-gen-f","name":"stats_rand_gen_f","description":"Generates a random deviate from the F distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_f"},{"id":"function.stats-rand-gen-funiform","name":"stats_rand_gen_funiform","description":"Generates uniform float between low (exclusive) and high (exclusive)","tag":"refentry","type":"Function","methodName":"stats_rand_gen_funiform"},{"id":"function.stats-rand-gen-gamma","name":"stats_rand_gen_gamma","description":"Generates a random deviate from the gamma distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_gamma"},{"id":"function.stats-rand-gen-ibinomial","name":"stats_rand_gen_ibinomial","description":"Generates a random deviate from the binomial distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_ibinomial"},{"id":"function.stats-rand-gen-ibinomial-negative","name":"stats_rand_gen_ibinomial_negative","description":"Generates a random deviate from the negative binomial distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_ibinomial_negative"},{"id":"function.stats-rand-gen-int","name":"stats_rand_gen_int","description":"Generates random integer between 1 and 2147483562","tag":"refentry","type":"Function","methodName":"stats_rand_gen_int"},{"id":"function.stats-rand-gen-ipoisson","name":"stats_rand_gen_ipoisson","description":"Generates a single random deviate from a Poisson distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_ipoisson"},{"id":"function.stats-rand-gen-iuniform","name":"stats_rand_gen_iuniform","description":"Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)","tag":"refentry","type":"Function","methodName":"stats_rand_gen_iuniform"},{"id":"function.stats-rand-gen-noncentral-chisquare","name":"stats_rand_gen_noncentral_chisquare","description":"Generates a random deviate from the non-central chi-square distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_noncentral_chisquare"},{"id":"function.stats-rand-gen-noncentral-f","name":"stats_rand_gen_noncentral_f","description":"Generates a random deviate from the noncentral F distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_noncentral_f"},{"id":"function.stats-rand-gen-noncentral-t","name":"stats_rand_gen_noncentral_t","description":"Generates a single random deviate from a non-central t-distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_noncentral_t"},{"id":"function.stats-rand-gen-normal","name":"stats_rand_gen_normal","description":"Generates a single random deviate from a normal distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_normal"},{"id":"function.stats-rand-gen-t","name":"stats_rand_gen_t","description":"Generates a single random deviate from a t-distribution","tag":"refentry","type":"Function","methodName":"stats_rand_gen_t"},{"id":"function.stats-rand-get-seeds","name":"stats_rand_get_seeds","description":"Get the seed values of the random number generator","tag":"refentry","type":"Function","methodName":"stats_rand_get_seeds"},{"id":"function.stats-rand-phrase-to-seeds","name":"stats_rand_phrase_to_seeds","description":"Generate two seeds for the RGN random number generator","tag":"refentry","type":"Function","methodName":"stats_rand_phrase_to_seeds"},{"id":"function.stats-rand-ranf","name":"stats_rand_ranf","description":"Generates a random floating point number between 0 and 1","tag":"refentry","type":"Function","methodName":"stats_rand_ranf"},{"id":"function.stats-rand-setall","name":"stats_rand_setall","description":"Set seed values to the random generator","tag":"refentry","type":"Function","methodName":"stats_rand_setall"},{"id":"function.stats-skew","name":"stats_skew","description":"Computes the skewness of the data in the array","tag":"refentry","type":"Function","methodName":"stats_skew"},{"id":"function.stats-standard-deviation","name":"stats_standard_deviation","description":"Returns the standard deviation","tag":"refentry","type":"Function","methodName":"stats_standard_deviation"},{"id":"function.stats-stat-binomial-coef","name":"stats_stat_binomial_coef","description":"Returns a binomial coefficient","tag":"refentry","type":"Function","methodName":"stats_stat_binomial_coef"},{"id":"function.stats-stat-correlation","name":"stats_stat_correlation","description":"Returns the Pearson correlation coefficient of two data sets","tag":"refentry","type":"Function","methodName":"stats_stat_correlation"},{"id":"function.stats-stat-factorial","name":"stats_stat_factorial","description":"Returns the factorial of an integer","tag":"refentry","type":"Function","methodName":"stats_stat_factorial"},{"id":"function.stats-stat-independent-t","name":"stats_stat_independent_t","description":"Returns the t-value from the independent two-sample t-test","tag":"refentry","type":"Function","methodName":"stats_stat_independent_t"},{"id":"function.stats-stat-innerproduct","name":"stats_stat_innerproduct","description":"Returns the inner product of two vectors","tag":"refentry","type":"Function","methodName":"stats_stat_innerproduct"},{"id":"function.stats-stat-paired-t","name":"stats_stat_paired_t","description":"Returns the t-value of the dependent t-test for paired samples","tag":"refentry","type":"Function","methodName":"stats_stat_paired_t"},{"id":"function.stats-stat-percentile","name":"stats_stat_percentile","description":"Returns the percentile value","tag":"refentry","type":"Function","methodName":"stats_stat_percentile"},{"id":"function.stats-stat-powersum","name":"stats_stat_powersum","description":"Returns the power sum of a vector","tag":"refentry","type":"Function","methodName":"stats_stat_powersum"},{"id":"function.stats-variance","name":"stats_variance","description":"Returns the variance","tag":"refentry","type":"Function","methodName":"stats_variance"},{"id":"ref.stats","name":"Statistic Functions","description":"Statistics","tag":"reference","type":"Extension","methodName":"Statistic Functions"},{"id":"book.stats","name":"Statistics","description":"Mathematical Extensions","tag":"book","type":"Extension","methodName":"Statistics"},{"id":"intro.trader","name":"Introduction","description":"Technical Analysis for Traders","tag":"preface","type":"General","methodName":"Introduction"},{"id":"trader.requirements","name":"Requirements","description":"Technical Analysis for Traders","tag":"section","type":"General","methodName":"Requirements"},{"id":"trader.installation","name":"Installation","description":"Technical Analysis for Traders","tag":"section","type":"General","methodName":"Installation"},{"id":"trader.configuration","name":"Runtime Configuration","description":"Technical Analysis for Traders","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"trader.setup","name":"Installing\/Configuring","description":"Technical Analysis for Traders","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"trader.constants","name":"Predefined Constants","description":"Technical Analysis for Traders","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.trader-acos","name":"trader_acos","description":"Vector Trigonometric ACos","tag":"refentry","type":"Function","methodName":"trader_acos"},{"id":"function.trader-ad","name":"trader_ad","description":"Chaikin A\/D Line","tag":"refentry","type":"Function","methodName":"trader_ad"},{"id":"function.trader-add","name":"trader_add","description":"Vector Arithmetic Add","tag":"refentry","type":"Function","methodName":"trader_add"},{"id":"function.trader-adosc","name":"trader_adosc","description":"Chaikin A\/D Oscillator","tag":"refentry","type":"Function","methodName":"trader_adosc"},{"id":"function.trader-adx","name":"trader_adx","description":"Average Directional Movement Index","tag":"refentry","type":"Function","methodName":"trader_adx"},{"id":"function.trader-adxr","name":"trader_adxr","description":"Average Directional Movement Index Rating","tag":"refentry","type":"Function","methodName":"trader_adxr"},{"id":"function.trader-apo","name":"trader_apo","description":"Absolute Price Oscillator","tag":"refentry","type":"Function","methodName":"trader_apo"},{"id":"function.trader-aroon","name":"trader_aroon","description":"Aroon","tag":"refentry","type":"Function","methodName":"trader_aroon"},{"id":"function.trader-aroonosc","name":"trader_aroonosc","description":"Aroon Oscillator","tag":"refentry","type":"Function","methodName":"trader_aroonosc"},{"id":"function.trader-asin","name":"trader_asin","description":"Vector Trigonometric ASin","tag":"refentry","type":"Function","methodName":"trader_asin"},{"id":"function.trader-atan","name":"trader_atan","description":"Vector Trigonometric ATan","tag":"refentry","type":"Function","methodName":"trader_atan"},{"id":"function.trader-atr","name":"trader_atr","description":"Average True Range","tag":"refentry","type":"Function","methodName":"trader_atr"},{"id":"function.trader-avgprice","name":"trader_avgprice","description":"Average Price","tag":"refentry","type":"Function","methodName":"trader_avgprice"},{"id":"function.trader-bbands","name":"trader_bbands","description":"Bollinger Bands","tag":"refentry","type":"Function","methodName":"trader_bbands"},{"id":"function.trader-beta","name":"trader_beta","description":"Beta","tag":"refentry","type":"Function","methodName":"trader_beta"},{"id":"function.trader-bop","name":"trader_bop","description":"Balance Of Power","tag":"refentry","type":"Function","methodName":"trader_bop"},{"id":"function.trader-cci","name":"trader_cci","description":"Commodity Channel Index","tag":"refentry","type":"Function","methodName":"trader_cci"},{"id":"function.trader-cdl2crows","name":"trader_cdl2crows","description":"Two Crows","tag":"refentry","type":"Function","methodName":"trader_cdl2crows"},{"id":"function.trader-cdl3blackcrows","name":"trader_cdl3blackcrows","description":"Three Black Crows","tag":"refentry","type":"Function","methodName":"trader_cdl3blackcrows"},{"id":"function.trader-cdl3inside","name":"trader_cdl3inside","description":"Three Inside Up\/Down","tag":"refentry","type":"Function","methodName":"trader_cdl3inside"},{"id":"function.trader-cdl3linestrike","name":"trader_cdl3linestrike","description":"Three-Line Strike","tag":"refentry","type":"Function","methodName":"trader_cdl3linestrike"},{"id":"function.trader-cdl3outside","name":"trader_cdl3outside","description":"Three Outside Up\/Down","tag":"refentry","type":"Function","methodName":"trader_cdl3outside"},{"id":"function.trader-cdl3starsinsouth","name":"trader_cdl3starsinsouth","description":"Three Stars In The South","tag":"refentry","type":"Function","methodName":"trader_cdl3starsinsouth"},{"id":"function.trader-cdl3whitesoldiers","name":"trader_cdl3whitesoldiers","description":"Three Advancing White Soldiers","tag":"refentry","type":"Function","methodName":"trader_cdl3whitesoldiers"},{"id":"function.trader-cdlabandonedbaby","name":"trader_cdlabandonedbaby","description":"Abandoned Baby","tag":"refentry","type":"Function","methodName":"trader_cdlabandonedbaby"},{"id":"function.trader-cdladvanceblock","name":"trader_cdladvanceblock","description":"Advance Block","tag":"refentry","type":"Function","methodName":"trader_cdladvanceblock"},{"id":"function.trader-cdlbelthold","name":"trader_cdlbelthold","description":"Belt-hold","tag":"refentry","type":"Function","methodName":"trader_cdlbelthold"},{"id":"function.trader-cdlbreakaway","name":"trader_cdlbreakaway","description":"Breakaway","tag":"refentry","type":"Function","methodName":"trader_cdlbreakaway"},{"id":"function.trader-cdlclosingmarubozu","name":"trader_cdlclosingmarubozu","description":"Closing Marubozu","tag":"refentry","type":"Function","methodName":"trader_cdlclosingmarubozu"},{"id":"function.trader-cdlconcealbabyswall","name":"trader_cdlconcealbabyswall","description":"Concealing Baby Swallow","tag":"refentry","type":"Function","methodName":"trader_cdlconcealbabyswall"},{"id":"function.trader-cdlcounterattack","name":"trader_cdlcounterattack","description":"Counterattack","tag":"refentry","type":"Function","methodName":"trader_cdlcounterattack"},{"id":"function.trader-cdldarkcloudcover","name":"trader_cdldarkcloudcover","description":"Dark Cloud Cover","tag":"refentry","type":"Function","methodName":"trader_cdldarkcloudcover"},{"id":"function.trader-cdldoji","name":"trader_cdldoji","description":"Doji","tag":"refentry","type":"Function","methodName":"trader_cdldoji"},{"id":"function.trader-cdldojistar","name":"trader_cdldojistar","description":"Doji Star","tag":"refentry","type":"Function","methodName":"trader_cdldojistar"},{"id":"function.trader-cdldragonflydoji","name":"trader_cdldragonflydoji","description":"Dragonfly Doji","tag":"refentry","type":"Function","methodName":"trader_cdldragonflydoji"},{"id":"function.trader-cdlengulfing","name":"trader_cdlengulfing","description":"Engulfing Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlengulfing"},{"id":"function.trader-cdleveningdojistar","name":"trader_cdleveningdojistar","description":"Evening Doji Star","tag":"refentry","type":"Function","methodName":"trader_cdleveningdojistar"},{"id":"function.trader-cdleveningstar","name":"trader_cdleveningstar","description":"Evening Star","tag":"refentry","type":"Function","methodName":"trader_cdleveningstar"},{"id":"function.trader-cdlgapsidesidewhite","name":"trader_cdlgapsidesidewhite","description":"Up\/Down-gap side-by-side white lines","tag":"refentry","type":"Function","methodName":"trader_cdlgapsidesidewhite"},{"id":"function.trader-cdlgravestonedoji","name":"trader_cdlgravestonedoji","description":"Gravestone Doji","tag":"refentry","type":"Function","methodName":"trader_cdlgravestonedoji"},{"id":"function.trader-cdlhammer","name":"trader_cdlhammer","description":"Hammer","tag":"refentry","type":"Function","methodName":"trader_cdlhammer"},{"id":"function.trader-cdlhangingman","name":"trader_cdlhangingman","description":"Hanging Man","tag":"refentry","type":"Function","methodName":"trader_cdlhangingman"},{"id":"function.trader-cdlharami","name":"trader_cdlharami","description":"Harami Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlharami"},{"id":"function.trader-cdlharamicross","name":"trader_cdlharamicross","description":"Harami Cross Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlharamicross"},{"id":"function.trader-cdlhighwave","name":"trader_cdlhighwave","description":"High-Wave Candle","tag":"refentry","type":"Function","methodName":"trader_cdlhighwave"},{"id":"function.trader-cdlhikkake","name":"trader_cdlhikkake","description":"Hikkake Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlhikkake"},{"id":"function.trader-cdlhikkakemod","name":"trader_cdlhikkakemod","description":"Modified Hikkake Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlhikkakemod"},{"id":"function.trader-cdlhomingpigeon","name":"trader_cdlhomingpigeon","description":"Homing Pigeon","tag":"refentry","type":"Function","methodName":"trader_cdlhomingpigeon"},{"id":"function.trader-cdlidentical3crows","name":"trader_cdlidentical3crows","description":"Identical Three Crows","tag":"refentry","type":"Function","methodName":"trader_cdlidentical3crows"},{"id":"function.trader-cdlinneck","name":"trader_cdlinneck","description":"In-Neck Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlinneck"},{"id":"function.trader-cdlinvertedhammer","name":"trader_cdlinvertedhammer","description":"Inverted Hammer","tag":"refentry","type":"Function","methodName":"trader_cdlinvertedhammer"},{"id":"function.trader-cdlkicking","name":"trader_cdlkicking","description":"Kicking","tag":"refentry","type":"Function","methodName":"trader_cdlkicking"},{"id":"function.trader-cdlkickingbylength","name":"trader_cdlkickingbylength","description":"Kicking - bull\/bear determined by the longer marubozu","tag":"refentry","type":"Function","methodName":"trader_cdlkickingbylength"},{"id":"function.trader-cdlladderbottom","name":"trader_cdlladderbottom","description":"Ladder Bottom","tag":"refentry","type":"Function","methodName":"trader_cdlladderbottom"},{"id":"function.trader-cdllongleggeddoji","name":"trader_cdllongleggeddoji","description":"Long Legged Doji","tag":"refentry","type":"Function","methodName":"trader_cdllongleggeddoji"},{"id":"function.trader-cdllongline","name":"trader_cdllongline","description":"Long Line Candle","tag":"refentry","type":"Function","methodName":"trader_cdllongline"},{"id":"function.trader-cdlmarubozu","name":"trader_cdlmarubozu","description":"Marubozu","tag":"refentry","type":"Function","methodName":"trader_cdlmarubozu"},{"id":"function.trader-cdlmatchinglow","name":"trader_cdlmatchinglow","description":"Matching Low","tag":"refentry","type":"Function","methodName":"trader_cdlmatchinglow"},{"id":"function.trader-cdlmathold","name":"trader_cdlmathold","description":"Mat Hold","tag":"refentry","type":"Function","methodName":"trader_cdlmathold"},{"id":"function.trader-cdlmorningdojistar","name":"trader_cdlmorningdojistar","description":"Morning Doji Star","tag":"refentry","type":"Function","methodName":"trader_cdlmorningdojistar"},{"id":"function.trader-cdlmorningstar","name":"trader_cdlmorningstar","description":"Morning Star","tag":"refentry","type":"Function","methodName":"trader_cdlmorningstar"},{"id":"function.trader-cdlonneck","name":"trader_cdlonneck","description":"On-Neck Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlonneck"},{"id":"function.trader-cdlpiercing","name":"trader_cdlpiercing","description":"Piercing Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlpiercing"},{"id":"function.trader-cdlrickshawman","name":"trader_cdlrickshawman","description":"Rickshaw Man","tag":"refentry","type":"Function","methodName":"trader_cdlrickshawman"},{"id":"function.trader-cdlrisefall3methods","name":"trader_cdlrisefall3methods","description":"Rising\/Falling Three Methods","tag":"refentry","type":"Function","methodName":"trader_cdlrisefall3methods"},{"id":"function.trader-cdlseparatinglines","name":"trader_cdlseparatinglines","description":"Separating Lines","tag":"refentry","type":"Function","methodName":"trader_cdlseparatinglines"},{"id":"function.trader-cdlshootingstar","name":"trader_cdlshootingstar","description":"Shooting Star","tag":"refentry","type":"Function","methodName":"trader_cdlshootingstar"},{"id":"function.trader-cdlshortline","name":"trader_cdlshortline","description":"Short Line Candle","tag":"refentry","type":"Function","methodName":"trader_cdlshortline"},{"id":"function.trader-cdlspinningtop","name":"trader_cdlspinningtop","description":"Spinning Top","tag":"refentry","type":"Function","methodName":"trader_cdlspinningtop"},{"id":"function.trader-cdlstalledpattern","name":"trader_cdlstalledpattern","description":"Stalled Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlstalledpattern"},{"id":"function.trader-cdlsticksandwich","name":"trader_cdlsticksandwich","description":"Stick Sandwich","tag":"refentry","type":"Function","methodName":"trader_cdlsticksandwich"},{"id":"function.trader-cdltakuri","name":"trader_cdltakuri","description":"Takuri (Dragonfly Doji with very long lower shadow)","tag":"refentry","type":"Function","methodName":"trader_cdltakuri"},{"id":"function.trader-cdltasukigap","name":"trader_cdltasukigap","description":"Tasuki Gap","tag":"refentry","type":"Function","methodName":"trader_cdltasukigap"},{"id":"function.trader-cdlthrusting","name":"trader_cdlthrusting","description":"Thrusting Pattern","tag":"refentry","type":"Function","methodName":"trader_cdlthrusting"},{"id":"function.trader-cdltristar","name":"trader_cdltristar","description":"Tristar Pattern","tag":"refentry","type":"Function","methodName":"trader_cdltristar"},{"id":"function.trader-cdlunique3river","name":"trader_cdlunique3river","description":"Unique 3 River","tag":"refentry","type":"Function","methodName":"trader_cdlunique3river"},{"id":"function.trader-cdlupsidegap2crows","name":"trader_cdlupsidegap2crows","description":"Upside Gap Two Crows","tag":"refentry","type":"Function","methodName":"trader_cdlupsidegap2crows"},{"id":"function.trader-cdlxsidegap3methods","name":"trader_cdlxsidegap3methods","description":"Upside\/Downside Gap Three Methods","tag":"refentry","type":"Function","methodName":"trader_cdlxsidegap3methods"},{"id":"function.trader-ceil","name":"trader_ceil","description":"Vector Ceil","tag":"refentry","type":"Function","methodName":"trader_ceil"},{"id":"function.trader-cmo","name":"trader_cmo","description":"Chande Momentum Oscillator","tag":"refentry","type":"Function","methodName":"trader_cmo"},{"id":"function.trader-correl","name":"trader_correl","description":"Pearson's Correlation Coefficient (r)","tag":"refentry","type":"Function","methodName":"trader_correl"},{"id":"function.trader-cos","name":"trader_cos","description":"Vector Trigonometric Cos","tag":"refentry","type":"Function","methodName":"trader_cos"},{"id":"function.trader-cosh","name":"trader_cosh","description":"Vector Trigonometric Cosh","tag":"refentry","type":"Function","methodName":"trader_cosh"},{"id":"function.trader-dema","name":"trader_dema","description":"Double Exponential Moving Average","tag":"refentry","type":"Function","methodName":"trader_dema"},{"id":"function.trader-div","name":"trader_div","description":"Vector Arithmetic Div","tag":"refentry","type":"Function","methodName":"trader_div"},{"id":"function.trader-dx","name":"trader_dx","description":"Directional Movement Index","tag":"refentry","type":"Function","methodName":"trader_dx"},{"id":"function.trader-ema","name":"trader_ema","description":"Exponential Moving Average","tag":"refentry","type":"Function","methodName":"trader_ema"},{"id":"function.trader-errno","name":"trader_errno","description":"Get error code","tag":"refentry","type":"Function","methodName":"trader_errno"},{"id":"function.trader-exp","name":"trader_exp","description":"Vector Arithmetic Exp","tag":"refentry","type":"Function","methodName":"trader_exp"},{"id":"function.trader-floor","name":"trader_floor","description":"Vector Floor","tag":"refentry","type":"Function","methodName":"trader_floor"},{"id":"function.trader-get-compat","name":"trader_get_compat","description":"Get compatibility mode","tag":"refentry","type":"Function","methodName":"trader_get_compat"},{"id":"function.trader-get-unstable-period","name":"trader_get_unstable_period","description":"Get unstable period","tag":"refentry","type":"Function","methodName":"trader_get_unstable_period"},{"id":"function.trader-ht-dcperiod","name":"trader_ht_dcperiod","description":"Hilbert Transform - Dominant Cycle Period","tag":"refentry","type":"Function","methodName":"trader_ht_dcperiod"},{"id":"function.trader-ht-dcphase","name":"trader_ht_dcphase","description":"Hilbert Transform - Dominant Cycle Phase","tag":"refentry","type":"Function","methodName":"trader_ht_dcphase"},{"id":"function.trader-ht-phasor","name":"trader_ht_phasor","description":"Hilbert Transform - Phasor Components","tag":"refentry","type":"Function","methodName":"trader_ht_phasor"},{"id":"function.trader-ht-sine","name":"trader_ht_sine","description":"Hilbert Transform - SineWave","tag":"refentry","type":"Function","methodName":"trader_ht_sine"},{"id":"function.trader-ht-trendline","name":"trader_ht_trendline","description":"Hilbert Transform - Instantaneous Trendline","tag":"refentry","type":"Function","methodName":"trader_ht_trendline"},{"id":"function.trader-ht-trendmode","name":"trader_ht_trendmode","description":"Hilbert Transform - Trend vs Cycle Mode","tag":"refentry","type":"Function","methodName":"trader_ht_trendmode"},{"id":"function.trader-kama","name":"trader_kama","description":"Kaufman Adaptive Moving Average","tag":"refentry","type":"Function","methodName":"trader_kama"},{"id":"function.trader-linearreg","name":"trader_linearreg","description":"Linear Regression","tag":"refentry","type":"Function","methodName":"trader_linearreg"},{"id":"function.trader-linearreg-angle","name":"trader_linearreg_angle","description":"Linear Regression Angle","tag":"refentry","type":"Function","methodName":"trader_linearreg_angle"},{"id":"function.trader-linearreg-intercept","name":"trader_linearreg_intercept","description":"Linear Regression Intercept","tag":"refentry","type":"Function","methodName":"trader_linearreg_intercept"},{"id":"function.trader-linearreg-slope","name":"trader_linearreg_slope","description":"Linear Regression Slope","tag":"refentry","type":"Function","methodName":"trader_linearreg_slope"},{"id":"function.trader-ln","name":"trader_ln","description":"Vector Log Natural","tag":"refentry","type":"Function","methodName":"trader_ln"},{"id":"function.trader-log10","name":"trader_log10","description":"Vector Log10","tag":"refentry","type":"Function","methodName":"trader_log10"},{"id":"function.trader-ma","name":"trader_ma","description":"Moving average","tag":"refentry","type":"Function","methodName":"trader_ma"},{"id":"function.trader-macd","name":"trader_macd","description":"Moving Average Convergence\/Divergence","tag":"refentry","type":"Function","methodName":"trader_macd"},{"id":"function.trader-macdext","name":"trader_macdext","description":"MACD with controllable MA type","tag":"refentry","type":"Function","methodName":"trader_macdext"},{"id":"function.trader-macdfix","name":"trader_macdfix","description":"Moving Average Convergence\/Divergence Fix 12\/26","tag":"refentry","type":"Function","methodName":"trader_macdfix"},{"id":"function.trader-mama","name":"trader_mama","description":"MESA Adaptive Moving Average","tag":"refentry","type":"Function","methodName":"trader_mama"},{"id":"function.trader-mavp","name":"trader_mavp","description":"Moving average with variable period","tag":"refentry","type":"Function","methodName":"trader_mavp"},{"id":"function.trader-max","name":"trader_max","description":"Highest value over a specified period","tag":"refentry","type":"Function","methodName":"trader_max"},{"id":"function.trader-maxindex","name":"trader_maxindex","description":"Index of highest value over a specified period","tag":"refentry","type":"Function","methodName":"trader_maxindex"},{"id":"function.trader-medprice","name":"trader_medprice","description":"Median Price","tag":"refentry","type":"Function","methodName":"trader_medprice"},{"id":"function.trader-mfi","name":"trader_mfi","description":"Money Flow Index","tag":"refentry","type":"Function","methodName":"trader_mfi"},{"id":"function.trader-midpoint","name":"trader_midpoint","description":"MidPoint over period","tag":"refentry","type":"Function","methodName":"trader_midpoint"},{"id":"function.trader-midprice","name":"trader_midprice","description":"Midpoint Price over period","tag":"refentry","type":"Function","methodName":"trader_midprice"},{"id":"function.trader-min","name":"trader_min","description":"Lowest value over a specified period","tag":"refentry","type":"Function","methodName":"trader_min"},{"id":"function.trader-minindex","name":"trader_minindex","description":"Index of lowest value over a specified period","tag":"refentry","type":"Function","methodName":"trader_minindex"},{"id":"function.trader-minmax","name":"trader_minmax","description":"Lowest and highest values over a specified period","tag":"refentry","type":"Function","methodName":"trader_minmax"},{"id":"function.trader-minmaxindex","name":"trader_minmaxindex","description":"Indexes of lowest and highest values over a specified period","tag":"refentry","type":"Function","methodName":"trader_minmaxindex"},{"id":"function.trader-minus-di","name":"trader_minus_di","description":"Minus Directional Indicator","tag":"refentry","type":"Function","methodName":"trader_minus_di"},{"id":"function.trader-minus-dm","name":"trader_minus_dm","description":"Minus Directional Movement","tag":"refentry","type":"Function","methodName":"trader_minus_dm"},{"id":"function.trader-mom","name":"trader_mom","description":"Momentum","tag":"refentry","type":"Function","methodName":"trader_mom"},{"id":"function.trader-mult","name":"trader_mult","description":"Vector Arithmetic Mult","tag":"refentry","type":"Function","methodName":"trader_mult"},{"id":"function.trader-natr","name":"trader_natr","description":"Normalized Average True Range","tag":"refentry","type":"Function","methodName":"trader_natr"},{"id":"function.trader-obv","name":"trader_obv","description":"On Balance Volume","tag":"refentry","type":"Function","methodName":"trader_obv"},{"id":"function.trader-plus-di","name":"trader_plus_di","description":"Plus Directional Indicator","tag":"refentry","type":"Function","methodName":"trader_plus_di"},{"id":"function.trader-plus-dm","name":"trader_plus_dm","description":"Plus Directional Movement","tag":"refentry","type":"Function","methodName":"trader_plus_dm"},{"id":"function.trader-ppo","name":"trader_ppo","description":"Percentage Price Oscillator","tag":"refentry","type":"Function","methodName":"trader_ppo"},{"id":"function.trader-roc","name":"trader_roc","description":"Rate of change : ((price\/prevPrice)-1)*100","tag":"refentry","type":"Function","methodName":"trader_roc"},{"id":"function.trader-rocp","name":"trader_rocp","description":"Rate of change Percentage: (price-prevPrice)\/prevPrice","tag":"refentry","type":"Function","methodName":"trader_rocp"},{"id":"function.trader-rocr","name":"trader_rocr","description":"Rate of change ratio: (price\/prevPrice)","tag":"refentry","type":"Function","methodName":"trader_rocr"},{"id":"function.trader-rocr100","name":"trader_rocr100","description":"Rate of change ratio 100 scale: (price\/prevPrice)*100","tag":"refentry","type":"Function","methodName":"trader_rocr100"},{"id":"function.trader-rsi","name":"trader_rsi","description":"Relative Strength Index","tag":"refentry","type":"Function","methodName":"trader_rsi"},{"id":"function.trader-sar","name":"trader_sar","description":"Parabolic SAR","tag":"refentry","type":"Function","methodName":"trader_sar"},{"id":"function.trader-sarext","name":"trader_sarext","description":"Parabolic SAR - Extended","tag":"refentry","type":"Function","methodName":"trader_sarext"},{"id":"function.trader-set-compat","name":"trader_set_compat","description":"Set compatibility mode","tag":"refentry","type":"Function","methodName":"trader_set_compat"},{"id":"function.trader-set-unstable-period","name":"trader_set_unstable_period","description":"Set unstable period","tag":"refentry","type":"Function","methodName":"trader_set_unstable_period"},{"id":"function.trader-sin","name":"trader_sin","description":"Vector Trigonometric Sin","tag":"refentry","type":"Function","methodName":"trader_sin"},{"id":"function.trader-sinh","name":"trader_sinh","description":"Vector Trigonometric Sinh","tag":"refentry","type":"Function","methodName":"trader_sinh"},{"id":"function.trader-sma","name":"trader_sma","description":"Simple Moving Average","tag":"refentry","type":"Function","methodName":"trader_sma"},{"id":"function.trader-sqrt","name":"trader_sqrt","description":"Vector Square Root","tag":"refentry","type":"Function","methodName":"trader_sqrt"},{"id":"function.trader-stddev","name":"trader_stddev","description":"Standard Deviation","tag":"refentry","type":"Function","methodName":"trader_stddev"},{"id":"function.trader-stoch","name":"trader_stoch","description":"Stochastic","tag":"refentry","type":"Function","methodName":"trader_stoch"},{"id":"function.trader-stochf","name":"trader_stochf","description":"Stochastic Fast","tag":"refentry","type":"Function","methodName":"trader_stochf"},{"id":"function.trader-stochrsi","name":"trader_stochrsi","description":"Stochastic Relative Strength Index","tag":"refentry","type":"Function","methodName":"trader_stochrsi"},{"id":"function.trader-sub","name":"trader_sub","description":"Vector Arithmetic Subtraction","tag":"refentry","type":"Function","methodName":"trader_sub"},{"id":"function.trader-sum","name":"trader_sum","description":"Summation","tag":"refentry","type":"Function","methodName":"trader_sum"},{"id":"function.trader-t3","name":"trader_t3","description":"Triple Exponential Moving Average (T3)","tag":"refentry","type":"Function","methodName":"trader_t3"},{"id":"function.trader-tan","name":"trader_tan","description":"Vector Trigonometric Tan","tag":"refentry","type":"Function","methodName":"trader_tan"},{"id":"function.trader-tanh","name":"trader_tanh","description":"Vector Trigonometric Tanh","tag":"refentry","type":"Function","methodName":"trader_tanh"},{"id":"function.trader-tema","name":"trader_tema","description":"Triple Exponential Moving Average","tag":"refentry","type":"Function","methodName":"trader_tema"},{"id":"function.trader-trange","name":"trader_trange","description":"True Range","tag":"refentry","type":"Function","methodName":"trader_trange"},{"id":"function.trader-trima","name":"trader_trima","description":"Triangular Moving Average","tag":"refentry","type":"Function","methodName":"trader_trima"},{"id":"function.trader-trix","name":"trader_trix","description":"1-day Rate-Of-Change (ROC) of a Triple Smooth EMA","tag":"refentry","type":"Function","methodName":"trader_trix"},{"id":"function.trader-tsf","name":"trader_tsf","description":"Time Series Forecast","tag":"refentry","type":"Function","methodName":"trader_tsf"},{"id":"function.trader-typprice","name":"trader_typprice","description":"Typical Price","tag":"refentry","type":"Function","methodName":"trader_typprice"},{"id":"function.trader-ultosc","name":"trader_ultosc","description":"Ultimate Oscillator","tag":"refentry","type":"Function","methodName":"trader_ultosc"},{"id":"function.trader-var","name":"trader_var","description":"Variance","tag":"refentry","type":"Function","methodName":"trader_var"},{"id":"function.trader-wclprice","name":"trader_wclprice","description":"Weighted Close Price","tag":"refentry","type":"Function","methodName":"trader_wclprice"},{"id":"function.trader-willr","name":"trader_willr","description":"Williams' %R","tag":"refentry","type":"Function","methodName":"trader_willr"},{"id":"function.trader-wma","name":"trader_wma","description":"Weighted Moving Average","tag":"refentry","type":"Function","methodName":"trader_wma"},{"id":"ref.trader","name":"Trader Functions","description":"Technical Analysis for Traders","tag":"reference","type":"Extension","methodName":"Trader Functions"},{"id":"book.trader","name":"Trader","description":"Technical Analysis for Traders","tag":"book","type":"Extension","methodName":"Trader"},{"id":"refs.math","name":"Mathematical Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Mathematical Extensions"},{"id":"intro.fdf","name":"Introduction","description":"Forms Data Format","tag":"preface","type":"General","methodName":"Introduction"},{"id":"fdf.requirements","name":"Requirements","description":"Forms Data Format","tag":"section","type":"General","methodName":"Requirements"},{"id":"fdf.installation","name":"Installation","description":"Forms Data Format","tag":"section","type":"General","methodName":"Installation"},{"id":"fdf.resources","name":"Resource Types","description":"Forms Data Format","tag":"section","type":"General","methodName":"Resource Types"},{"id":"fdf.setup","name":"Installing\/Configuring","description":"Forms Data Format","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"fdf.constants","name":"Predefined Constants","description":"Forms Data Format","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"fdf.examples","name":"Examples","description":"Forms Data Format","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.fdf-add-doc-javascript","name":"fdf_add_doc_javascript","description":"Adds javascript code to the FDF document","tag":"refentry","type":"Function","methodName":"fdf_add_doc_javascript"},{"id":"function.fdf-add-template","name":"fdf_add_template","description":"Adds a template into the FDF document","tag":"refentry","type":"Function","methodName":"fdf_add_template"},{"id":"function.fdf-close","name":"fdf_close","description":"Close an FDF document","tag":"refentry","type":"Function","methodName":"fdf_close"},{"id":"function.fdf-create","name":"fdf_create","description":"Create a new FDF document","tag":"refentry","type":"Function","methodName":"fdf_create"},{"id":"function.fdf-enum-values","name":"fdf_enum_values","description":"Call a user defined function for each document value","tag":"refentry","type":"Function","methodName":"fdf_enum_values"},{"id":"function.fdf-errno","name":"fdf_errno","description":"Return error code for last fdf operation","tag":"refentry","type":"Function","methodName":"fdf_errno"},{"id":"function.fdf-error","name":"fdf_error","description":"Return error description for FDF error code","tag":"refentry","type":"Function","methodName":"fdf_error"},{"id":"function.fdf-get-ap","name":"fdf_get_ap","description":"Get the appearance of a field","tag":"refentry","type":"Function","methodName":"fdf_get_ap"},{"id":"function.fdf-get-attachment","name":"fdf_get_attachment","description":"Extracts uploaded file embedded in the FDF","tag":"refentry","type":"Function","methodName":"fdf_get_attachment"},{"id":"function.fdf-get-encoding","name":"fdf_get_encoding","description":"Get the value of the \/Encoding key","tag":"refentry","type":"Function","methodName":"fdf_get_encoding"},{"id":"function.fdf-get-file","name":"fdf_get_file","description":"Get the value of the \/F key","tag":"refentry","type":"Function","methodName":"fdf_get_file"},{"id":"function.fdf-get-flags","name":"fdf_get_flags","description":"Gets the flags of a field","tag":"refentry","type":"Function","methodName":"fdf_get_flags"},{"id":"function.fdf-get-opt","name":"fdf_get_opt","description":"Gets a value from the opt array of a field","tag":"refentry","type":"Function","methodName":"fdf_get_opt"},{"id":"function.fdf-get-status","name":"fdf_get_status","description":"Get the value of the \/STATUS key","tag":"refentry","type":"Function","methodName":"fdf_get_status"},{"id":"function.fdf-get-value","name":"fdf_get_value","description":"Get the value of a field","tag":"refentry","type":"Function","methodName":"fdf_get_value"},{"id":"function.fdf-get-version","name":"fdf_get_version","description":"Gets version number for FDF API or file","tag":"refentry","type":"Function","methodName":"fdf_get_version"},{"id":"function.fdf-header","name":"fdf_header","description":"Sets FDF-specific output headers","tag":"refentry","type":"Function","methodName":"fdf_header"},{"id":"function.fdf-next-field-name","name":"fdf_next_field_name","description":"Get the next field name","tag":"refentry","type":"Function","methodName":"fdf_next_field_name"},{"id":"function.fdf-open","name":"fdf_open","description":"Open a FDF document","tag":"refentry","type":"Function","methodName":"fdf_open"},{"id":"function.fdf-open-string","name":"fdf_open_string","description":"Read a FDF document from a string","tag":"refentry","type":"Function","methodName":"fdf_open_string"},{"id":"function.fdf-remove-item","name":"fdf_remove_item","description":"Sets target frame for form","tag":"refentry","type":"Function","methodName":"fdf_remove_item"},{"id":"function.fdf-save","name":"fdf_save","description":"Save a FDF document","tag":"refentry","type":"Function","methodName":"fdf_save"},{"id":"function.fdf-save-string","name":"fdf_save_string","description":"Returns the FDF document as a string","tag":"refentry","type":"Function","methodName":"fdf_save_string"},{"id":"function.fdf-set-ap","name":"fdf_set_ap","description":"Set the appearance of a field","tag":"refentry","type":"Function","methodName":"fdf_set_ap"},{"id":"function.fdf-set-encoding","name":"fdf_set_encoding","description":"Sets FDF character encoding","tag":"refentry","type":"Function","methodName":"fdf_set_encoding"},{"id":"function.fdf-set-file","name":"fdf_set_file","description":"Set PDF document to display FDF data in","tag":"refentry","type":"Function","methodName":"fdf_set_file"},{"id":"function.fdf-set-flags","name":"fdf_set_flags","description":"Sets a flag of a field","tag":"refentry","type":"Function","methodName":"fdf_set_flags"},{"id":"function.fdf-set-javascript-action","name":"fdf_set_javascript_action","description":"Sets an javascript action of a field","tag":"refentry","type":"Function","methodName":"fdf_set_javascript_action"},{"id":"function.fdf-set-on-import-javascript","name":"fdf_set_on_import_javascript","description":"Adds javascript code to be executed when Acrobat opens the FDF","tag":"refentry","type":"Function","methodName":"fdf_set_on_import_javascript"},{"id":"function.fdf-set-opt","name":"fdf_set_opt","description":"Sets an option of a field","tag":"refentry","type":"Function","methodName":"fdf_set_opt"},{"id":"function.fdf-set-status","name":"fdf_set_status","description":"Set the value of the \/STATUS key","tag":"refentry","type":"Function","methodName":"fdf_set_status"},{"id":"function.fdf-set-submit-form-action","name":"fdf_set_submit_form_action","description":"Sets a submit form action of a field","tag":"refentry","type":"Function","methodName":"fdf_set_submit_form_action"},{"id":"function.fdf-set-target-frame","name":"fdf_set_target_frame","description":"Set target frame for form display","tag":"refentry","type":"Function","methodName":"fdf_set_target_frame"},{"id":"function.fdf-set-value","name":"fdf_set_value","description":"Set the value of a field","tag":"refentry","type":"Function","methodName":"fdf_set_value"},{"id":"function.fdf-set-version","name":"fdf_set_version","description":"Sets version number for a FDF file","tag":"refentry","type":"Function","methodName":"fdf_set_version"},{"id":"ref.fdf","name":"FDF Functions","description":"Forms Data Format","tag":"reference","type":"Extension","methodName":"FDF Functions"},{"id":"book.fdf","name":"FDF","description":"Forms Data Format","tag":"book","type":"Extension","methodName":"FDF"},{"id":"intro.gnupg","name":"Introduction","description":"GNU Privacy Guard","tag":"preface","type":"General","methodName":"Introduction"},{"id":"gnupg.requirements","name":"Requirements","description":"GNU Privacy Guard","tag":"section","type":"General","methodName":"Requirements"},{"id":"gnupg.installation","name":"Installation","description":"GNU Privacy Guard","tag":"section","type":"General","methodName":"Installation"},{"id":"gnupg.setup","name":"Installing\/Configuring","description":"GNU Privacy Guard","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"gnupg.constants","name":"Predefined Constants","description":"GNU Privacy Guard","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"gnupg.examples-clearsign","name":"Clearsign text","description":"GNU Privacy Guard","tag":"section","type":"General","methodName":"Clearsign text"},{"id":"gnupg.examples","name":"Examples","description":"GNU Privacy Guard","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.gnupg-adddecryptkey","name":"gnupg_adddecryptkey","description":"Add a key for decryption","tag":"refentry","type":"Function","methodName":"gnupg_adddecryptkey"},{"id":"function.gnupg-addencryptkey","name":"gnupg_addencryptkey","description":"Add a key for encryption","tag":"refentry","type":"Function","methodName":"gnupg_addencryptkey"},{"id":"function.gnupg-addsignkey","name":"gnupg_addsignkey","description":"Add a key for signing","tag":"refentry","type":"Function","methodName":"gnupg_addsignkey"},{"id":"function.gnupg-cleardecryptkeys","name":"gnupg_cleardecryptkeys","description":"Removes all keys which were set for decryption before","tag":"refentry","type":"Function","methodName":"gnupg_cleardecryptkeys"},{"id":"function.gnupg-clearencryptkeys","name":"gnupg_clearencryptkeys","description":"Removes all keys which were set for encryption before","tag":"refentry","type":"Function","methodName":"gnupg_clearencryptkeys"},{"id":"function.gnupg-clearsignkeys","name":"gnupg_clearsignkeys","description":"Removes all keys which were set for signing before","tag":"refentry","type":"Function","methodName":"gnupg_clearsignkeys"},{"id":"function.gnupg-decrypt","name":"gnupg_decrypt","description":"Decrypts a given text","tag":"refentry","type":"Function","methodName":"gnupg_decrypt"},{"id":"function.gnupg-decryptverify","name":"gnupg_decryptverify","description":"Decrypts and verifies a given text","tag":"refentry","type":"Function","methodName":"gnupg_decryptverify"},{"id":"function.gnupg-deletekey","name":"gnupg_deletekey","description":"Delete a key from the keyring","tag":"refentry","type":"Function","methodName":"gnupg_deletekey"},{"id":"function.gnupg-encrypt","name":"gnupg_encrypt","description":"Encrypts a given text","tag":"refentry","type":"Function","methodName":"gnupg_encrypt"},{"id":"function.gnupg-encryptsign","name":"gnupg_encryptsign","description":"Encrypts and signs a given text","tag":"refentry","type":"Function","methodName":"gnupg_encryptsign"},{"id":"function.gnupg-export","name":"gnupg_export","description":"Exports a key","tag":"refentry","type":"Function","methodName":"gnupg_export"},{"id":"function.gnupg-getengineinfo","name":"gnupg_getengineinfo","description":"Returns the engine info","tag":"refentry","type":"Function","methodName":"gnupg_getengineinfo"},{"id":"function.gnupg-geterror","name":"gnupg_geterror","description":"Returns the errortext, if a function fails","tag":"refentry","type":"Function","methodName":"gnupg_geterror"},{"id":"function.gnupg-geterrorinfo","name":"gnupg_geterrorinfo","description":"Returns the error info","tag":"refentry","type":"Function","methodName":"gnupg_geterrorinfo"},{"id":"function.gnupg-getprotocol","name":"gnupg_getprotocol","description":"Returns the currently active protocol for all operations","tag":"refentry","type":"Function","methodName":"gnupg_getprotocol"},{"id":"function.gnupg-gettrustlist","name":"gnupg_gettrustlist","description":"Search the trust items","tag":"refentry","type":"Function","methodName":"gnupg_gettrustlist"},{"id":"function.gnupg-import","name":"gnupg_import","description":"Imports a key","tag":"refentry","type":"Function","methodName":"gnupg_import"},{"id":"function.gnupg-init","name":"gnupg_init","description":"Initialize a connection","tag":"refentry","type":"Function","methodName":"gnupg_init"},{"id":"function.gnupg-keyinfo","name":"gnupg_keyinfo","description":"Returns an array with information about all keys that matches the given pattern","tag":"refentry","type":"Function","methodName":"gnupg_keyinfo"},{"id":"function.gnupg-listsignatures","name":"gnupg_listsignatures","description":"List key signatures","tag":"refentry","type":"Function","methodName":"gnupg_listsignatures"},{"id":"function.gnupg-setarmor","name":"gnupg_setarmor","description":"Toggle armored output","tag":"refentry","type":"Function","methodName":"gnupg_setarmor"},{"id":"function.gnupg-seterrormode","name":"gnupg_seterrormode","description":"Sets the mode for error_reporting","tag":"refentry","type":"Function","methodName":"gnupg_seterrormode"},{"id":"function.gnupg-setsignmode","name":"gnupg_setsignmode","description":"Sets the mode for signing","tag":"refentry","type":"Function","methodName":"gnupg_setsignmode"},{"id":"function.gnupg-sign","name":"gnupg_sign","description":"Signs a given text","tag":"refentry","type":"Function","methodName":"gnupg_sign"},{"id":"function.gnupg-verify","name":"gnupg_verify","description":"Verifies a signed text","tag":"refentry","type":"Function","methodName":"gnupg_verify"},{"id":"ref.gnupg","name":"GnuPG Functions","description":"GNU Privacy Guard","tag":"reference","type":"Extension","methodName":"GnuPG Functions"},{"id":"book.gnupg","name":"GnuPG","description":"GNU Privacy Guard","tag":"book","type":"Extension","methodName":"GnuPG"},{"id":"intro.wkhtmltox","name":"Introduction","description":"wkhtmltox","tag":"preface","type":"General","methodName":"Introduction"},{"id":"wkhtmltox.requirements","name":"Requirements","description":"wkhtmltox","tag":"section","type":"General","methodName":"Requirements"},{"id":"wkhtmltox.installation","name":"Installation","description":"wkhtmltox","tag":"section","type":"General","methodName":"Installation"},{"id":"wkhtmltox.configuration","name":"Runtime Configuration","description":"wkhtmltox","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"wkhtmltox.setup","name":"Installing\/Configuring","description":"wkhtmltox","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"wkhtmltox-pdf-converter.add","name":"wkhtmltox\\PDF\\Converter::add","description":"Add an object for conversion","tag":"refentry","type":"Function","methodName":"add"},{"id":"wkhtmltox-pdf-converter.construct","name":"wkhtmltox\\PDF\\Converter::__construct","description":"Create a new PDF converter","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"wkhtmltox-pdf-converter.convert","name":"wkhtmltox\\PDF\\Converter::convert","description":"Perform PDF conversion","tag":"refentry","type":"Function","methodName":"convert"},{"id":"wkhtmltox-pdf-converter.getversion","name":"wkhtmltox\\PDF\\Converter::getVersion","description":"Determine version of Converter","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"class.wkhtmltox-pdf-converter","name":"wkhtmltox\\PDF\\Converter","description":"The wkhtmltox\\PDF\\Converter class","tag":"phpdoc:classref","type":"Class","methodName":"wkhtmltox\\PDF\\Converter"},{"id":"wkhtmltox-pdf-object.construct","name":"wkhtmltox\\PDF\\Object::__construct","description":"Create a new PDF Object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.wkhtmltox-pdf-object","name":"wkhtmltox\\PDF\\Object","description":"The wkhtmltox\\PDF\\Object class","tag":"phpdoc:classref","type":"Class","methodName":"wkhtmltox\\PDF\\Object"},{"id":"wkhtmltox-image-converter.construct","name":"wkhtmltox\\Image\\Converter::__construct","description":"Create a new Image converter","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"wkhtmltox-image-converter.convert","name":"wkhtmltox\\Image\\Converter::convert","description":"Perform Image conversion","tag":"refentry","type":"Function","methodName":"convert"},{"id":"wkhtmltox-image-converter.getversion","name":"wkhtmltox\\Image\\Converter::getVersion","description":"Determine version of Converter","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"class.wkhtmltox-image-converter","name":"wkhtmltox\\Image\\Converter","description":"The wkhtmltox\\Image\\Converter class","tag":"phpdoc:classref","type":"Class","methodName":"wkhtmltox\\Image\\Converter"},{"id":"book.wkhtmltox","name":"wkhtmltox","description":"wkhtmltox","tag":"book","type":"Extension","methodName":"wkhtmltox"},{"id":"intro.ps","name":"Introduction","description":"PostScript document creation","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ps.requirements","name":"Requirements","description":"PostScript document creation","tag":"section","type":"General","methodName":"Requirements"},{"id":"ps.installation","name":"Installation","description":"PostScript document creation","tag":"section","type":"General","methodName":"Installation"},{"id":"ps.resources","name":"Resource Types","description":"PostScript document creation","tag":"section","type":"General","methodName":"Resource Types"},{"id":"ps.setup","name":"Installing\/Configuring","description":"PostScript document creation","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ps.constants","name":"Predefined Constants","description":"PostScript document creation","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.ps-add-bookmark","name":"ps_add_bookmark","description":"Add bookmark to current page","tag":"refentry","type":"Function","methodName":"ps_add_bookmark"},{"id":"function.ps-add-launchlink","name":"ps_add_launchlink","description":"Adds link which launches file","tag":"refentry","type":"Function","methodName":"ps_add_launchlink"},{"id":"function.ps-add-locallink","name":"ps_add_locallink","description":"Adds link to a page in the same document","tag":"refentry","type":"Function","methodName":"ps_add_locallink"},{"id":"function.ps-add-note","name":"ps_add_note","description":"Adds note to current page","tag":"refentry","type":"Function","methodName":"ps_add_note"},{"id":"function.ps-add-pdflink","name":"ps_add_pdflink","description":"Adds link to a page in a second pdf document","tag":"refentry","type":"Function","methodName":"ps_add_pdflink"},{"id":"function.ps-add-weblink","name":"ps_add_weblink","description":"Adds link to a web location","tag":"refentry","type":"Function","methodName":"ps_add_weblink"},{"id":"function.ps-arc","name":"ps_arc","description":"Draws an arc counterclockwise","tag":"refentry","type":"Function","methodName":"ps_arc"},{"id":"function.ps-arcn","name":"ps_arcn","description":"Draws an arc clockwise","tag":"refentry","type":"Function","methodName":"ps_arcn"},{"id":"function.ps-begin-page","name":"ps_begin_page","description":"Start a new page","tag":"refentry","type":"Function","methodName":"ps_begin_page"},{"id":"function.ps-begin-pattern","name":"ps_begin_pattern","description":"Start a new pattern","tag":"refentry","type":"Function","methodName":"ps_begin_pattern"},{"id":"function.ps-begin-template","name":"ps_begin_template","description":"Start a new template","tag":"refentry","type":"Function","methodName":"ps_begin_template"},{"id":"function.ps-circle","name":"ps_circle","description":"Draws a circle","tag":"refentry","type":"Function","methodName":"ps_circle"},{"id":"function.ps-clip","name":"ps_clip","description":"Clips drawing to current path","tag":"refentry","type":"Function","methodName":"ps_clip"},{"id":"function.ps-close","name":"ps_close","description":"Closes a PostScript document","tag":"refentry","type":"Function","methodName":"ps_close"},{"id":"function.ps-close-image","name":"ps_close_image","description":"Closes image and frees memory","tag":"refentry","type":"Function","methodName":"ps_close_image"},{"id":"function.ps-closepath","name":"ps_closepath","description":"Closes path","tag":"refentry","type":"Function","methodName":"ps_closepath"},{"id":"function.ps-closepath-stroke","name":"ps_closepath_stroke","description":"Closes and strokes path","tag":"refentry","type":"Function","methodName":"ps_closepath_stroke"},{"id":"function.ps-continue-text","name":"ps_continue_text","description":"Continue text in next line","tag":"refentry","type":"Function","methodName":"ps_continue_text"},{"id":"function.ps-curveto","name":"ps_curveto","description":"Draws a curve","tag":"refentry","type":"Function","methodName":"ps_curveto"},{"id":"function.ps-delete","name":"ps_delete","description":"Deletes all resources of a PostScript document","tag":"refentry","type":"Function","methodName":"ps_delete"},{"id":"function.ps-end-page","name":"ps_end_page","description":"End a page","tag":"refentry","type":"Function","methodName":"ps_end_page"},{"id":"function.ps-end-pattern","name":"ps_end_pattern","description":"End a pattern","tag":"refentry","type":"Function","methodName":"ps_end_pattern"},{"id":"function.ps-end-template","name":"ps_end_template","description":"End a template","tag":"refentry","type":"Function","methodName":"ps_end_template"},{"id":"function.ps-fill","name":"ps_fill","description":"Fills the current path","tag":"refentry","type":"Function","methodName":"ps_fill"},{"id":"function.ps-fill-stroke","name":"ps_fill_stroke","description":"Fills and strokes the current path","tag":"refentry","type":"Function","methodName":"ps_fill_stroke"},{"id":"function.ps-findfont","name":"ps_findfont","description":"Loads a font","tag":"refentry","type":"Function","methodName":"ps_findfont"},{"id":"function.ps-get-buffer","name":"ps_get_buffer","description":"Fetches the full buffer containig the generated PS data","tag":"refentry","type":"Function","methodName":"ps_get_buffer"},{"id":"function.ps-get-parameter","name":"ps_get_parameter","description":"Gets certain parameters","tag":"refentry","type":"Function","methodName":"ps_get_parameter"},{"id":"function.ps-get-value","name":"ps_get_value","description":"Gets certain values","tag":"refentry","type":"Function","methodName":"ps_get_value"},{"id":"function.ps-hyphenate","name":"ps_hyphenate","description":"Hyphenates a word","tag":"refentry","type":"Function","methodName":"ps_hyphenate"},{"id":"function.ps-include-file","name":"ps_include_file","description":"Reads an external file with raw PostScript code","tag":"refentry","type":"Function","methodName":"ps_include_file"},{"id":"function.ps-lineto","name":"ps_lineto","description":"Draws a line","tag":"refentry","type":"Function","methodName":"ps_lineto"},{"id":"function.ps-makespotcolor","name":"ps_makespotcolor","description":"Create spot color","tag":"refentry","type":"Function","methodName":"ps_makespotcolor"},{"id":"function.ps-moveto","name":"ps_moveto","description":"Sets current point","tag":"refentry","type":"Function","methodName":"ps_moveto"},{"id":"function.ps-new","name":"ps_new","description":"Creates a new PostScript document object","tag":"refentry","type":"Function","methodName":"ps_new"},{"id":"function.ps-open-file","name":"ps_open_file","description":"Opens a file for output","tag":"refentry","type":"Function","methodName":"ps_open_file"},{"id":"function.ps-open-image","name":"ps_open_image","description":"Reads an image for later placement","tag":"refentry","type":"Function","methodName":"ps_open_image"},{"id":"function.ps-open-image-file","name":"ps_open_image_file","description":"Opens image from file","tag":"refentry","type":"Function","methodName":"ps_open_image_file"},{"id":"function.ps-open-memory-image","name":"ps_open_memory_image","description":"Takes an GD image and returns an image for placement in a PS document","tag":"refentry","type":"Function","methodName":"ps_open_memory_image"},{"id":"function.ps-place-image","name":"ps_place_image","description":"Places image on the page","tag":"refentry","type":"Function","methodName":"ps_place_image"},{"id":"function.ps-rect","name":"ps_rect","description":"Draws a rectangle","tag":"refentry","type":"Function","methodName":"ps_rect"},{"id":"function.ps-restore","name":"ps_restore","description":"Restore previously save context","tag":"refentry","type":"Function","methodName":"ps_restore"},{"id":"function.ps-rotate","name":"ps_rotate","description":"Sets rotation factor","tag":"refentry","type":"Function","methodName":"ps_rotate"},{"id":"function.ps-save","name":"ps_save","description":"Save current context","tag":"refentry","type":"Function","methodName":"ps_save"},{"id":"function.ps-scale","name":"ps_scale","description":"Sets scaling factor","tag":"refentry","type":"Function","methodName":"ps_scale"},{"id":"function.ps-set-border-color","name":"ps_set_border_color","description":"Sets color of border for annotations","tag":"refentry","type":"Function","methodName":"ps_set_border_color"},{"id":"function.ps-set-border-dash","name":"ps_set_border_dash","description":"Sets length of dashes for border of annotations","tag":"refentry","type":"Function","methodName":"ps_set_border_dash"},{"id":"function.ps-set-border-style","name":"ps_set_border_style","description":"Sets border style of annotations","tag":"refentry","type":"Function","methodName":"ps_set_border_style"},{"id":"function.ps-set-info","name":"ps_set_info","description":"Sets information fields of document","tag":"refentry","type":"Function","methodName":"ps_set_info"},{"id":"function.ps-set-parameter","name":"ps_set_parameter","description":"Sets certain parameters","tag":"refentry","type":"Function","methodName":"ps_set_parameter"},{"id":"function.ps-set-text-pos","name":"ps_set_text_pos","description":"Sets position for text output","tag":"refentry","type":"Function","methodName":"ps_set_text_pos"},{"id":"function.ps-set-value","name":"ps_set_value","description":"Sets certain values","tag":"refentry","type":"Function","methodName":"ps_set_value"},{"id":"function.ps-setcolor","name":"ps_setcolor","description":"Sets current color","tag":"refentry","type":"Function","methodName":"ps_setcolor"},{"id":"function.ps-setdash","name":"ps_setdash","description":"Sets appearance of a dashed line","tag":"refentry","type":"Function","methodName":"ps_setdash"},{"id":"function.ps-setflat","name":"ps_setflat","description":"Sets flatness","tag":"refentry","type":"Function","methodName":"ps_setflat"},{"id":"function.ps-setfont","name":"ps_setfont","description":"Sets font to use for following output","tag":"refentry","type":"Function","methodName":"ps_setfont"},{"id":"function.ps-setgray","name":"ps_setgray","description":"Sets gray value","tag":"refentry","type":"Function","methodName":"ps_setgray"},{"id":"function.ps-setlinecap","name":"ps_setlinecap","description":"Sets appearance of line ends","tag":"refentry","type":"Function","methodName":"ps_setlinecap"},{"id":"function.ps-setlinejoin","name":"ps_setlinejoin","description":"Sets how contected lines are joined","tag":"refentry","type":"Function","methodName":"ps_setlinejoin"},{"id":"function.ps-setlinewidth","name":"ps_setlinewidth","description":"Sets width of a line","tag":"refentry","type":"Function","methodName":"ps_setlinewidth"},{"id":"function.ps-setmiterlimit","name":"ps_setmiterlimit","description":"Sets the miter limit","tag":"refentry","type":"Function","methodName":"ps_setmiterlimit"},{"id":"function.ps-setoverprintmode","name":"ps_setoverprintmode","description":"Sets overprint mode","tag":"refentry","type":"Function","methodName":"ps_setoverprintmode"},{"id":"function.ps-setpolydash","name":"ps_setpolydash","description":"Sets appearance of a dashed line","tag":"refentry","type":"Function","methodName":"ps_setpolydash"},{"id":"function.ps-shading","name":"ps_shading","description":"Creates a shading for later use","tag":"refentry","type":"Function","methodName":"ps_shading"},{"id":"function.ps-shading-pattern","name":"ps_shading_pattern","description":"Creates a pattern based on a shading","tag":"refentry","type":"Function","methodName":"ps_shading_pattern"},{"id":"function.ps-shfill","name":"ps_shfill","description":"Fills an area with a shading","tag":"refentry","type":"Function","methodName":"ps_shfill"},{"id":"function.ps-show","name":"ps_show","description":"Output text","tag":"refentry","type":"Function","methodName":"ps_show"},{"id":"function.ps-show-boxed","name":"ps_show_boxed","description":"Output text in a box","tag":"refentry","type":"Function","methodName":"ps_show_boxed"},{"id":"function.ps-show-xy","name":"ps_show_xy","description":"Output text at given position","tag":"refentry","type":"Function","methodName":"ps_show_xy"},{"id":"function.ps-show-xy2","name":"ps_show_xy2","description":"Output text at position","tag":"refentry","type":"Function","methodName":"ps_show_xy2"},{"id":"function.ps-show2","name":"ps_show2","description":"Output a text at current position","tag":"refentry","type":"Function","methodName":"ps_show2"},{"id":"function.ps-string-geometry","name":"ps_string_geometry","description":"Gets geometry of a string","tag":"refentry","type":"Function","methodName":"ps_string_geometry"},{"id":"function.ps-stringwidth","name":"ps_stringwidth","description":"Gets width of a string","tag":"refentry","type":"Function","methodName":"ps_stringwidth"},{"id":"function.ps-stroke","name":"ps_stroke","description":"Draws the current path","tag":"refentry","type":"Function","methodName":"ps_stroke"},{"id":"function.ps-symbol","name":"ps_symbol","description":"Output a glyph","tag":"refentry","type":"Function","methodName":"ps_symbol"},{"id":"function.ps-symbol-name","name":"ps_symbol_name","description":"Gets name of a glyph","tag":"refentry","type":"Function","methodName":"ps_symbol_name"},{"id":"function.ps-symbol-width","name":"ps_symbol_width","description":"Gets width of a glyph","tag":"refentry","type":"Function","methodName":"ps_symbol_width"},{"id":"function.ps-translate","name":"ps_translate","description":"Sets translation","tag":"refentry","type":"Function","methodName":"ps_translate"},{"id":"ref.ps","name":"PS Functions","description":"PostScript document creation","tag":"reference","type":"Extension","methodName":"PS Functions"},{"id":"book.ps","name":"PS","description":"PostScript document creation","tag":"book","type":"Extension","methodName":"PS"},{"id":"intro.rpminfo","name":"Introduction","description":"RpmInfo","tag":"preface","type":"General","methodName":"Introduction"},{"id":"rpminfo.requirements","name":"Requirements","description":"RpmInfo","tag":"section","type":"General","methodName":"Requirements"},{"id":"rpminfo.installation","name":"Installation via PECL","description":"RpmInfo","tag":"section","type":"General","methodName":"Installation via PECL"},{"id":"rpminfo.setup","name":"Installing\/Configuring","description":"RpmInfo","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"rpminfo.constants","name":"Predefined Constants","description":"RpmInfo","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.rpmaddtag","name":"rpmaddtag","description":"Add tag retrieved in query","tag":"refentry","type":"Function","methodName":"rpmaddtag"},{"id":"function.rpmdbinfo","name":"rpmdbinfo","description":"Get information from installed RPM","tag":"refentry","type":"Function","methodName":"rpmdbinfo"},{"id":"function.rpmdbsearch","name":"rpmdbsearch","description":"Search RPM packages","tag":"refentry","type":"Function","methodName":"rpmdbsearch"},{"id":"function.rpmdefine","name":"rpmdefine","description":"Define or change a RPM macro value","tag":"refentry","type":"Function","methodName":"rpmdefine"},{"id":"function.rpmexpand","name":"rpmexpand","description":"Retrieve expanded value of a RPM macro","tag":"refentry","type":"Function","methodName":"rpmexpand"},{"id":"function.rpmexpandnumeric","name":"rpmexpandnumeric","description":"Retrieve numerical value of a RPM macro","tag":"refentry","type":"Function","methodName":"rpmexpandnumeric"},{"id":"function.rpmgetsymlink","name":"rpmgetsymlink","description":"Get target of a symlink","tag":"refentry","type":"Function","methodName":"rpmgetsymlink"},{"id":"function.rpminfo","name":"rpminfo","description":"Get information from a RPM file","tag":"refentry","type":"Function","methodName":"rpminfo"},{"id":"function.rpmvercmp","name":"rpmvercmp","description":"RPM version comparison","tag":"refentry","type":"Function","methodName":"rpmvercmp"},{"id":"ref.rpminfo","name":"RpmInfo Functions","description":"RpmInfo","tag":"reference","type":"Extension","methodName":"RpmInfo Functions"},{"id":"book.rpminfo","name":"RpmInfo","description":"RpmInfo","tag":"book","type":"Extension","methodName":"RpmInfo"},{"id":"intro.xlswriter","name":"Introduction","description":"XLSWriter","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xlswriter.requirements","name":"Requirements","description":"XLSWriter","tag":"section","type":"General","methodName":"Requirements"},{"id":"xlswriter.installation","name":"Installation","description":"XLSWriter","tag":"section","type":"General","methodName":"Installation"},{"id":"xlswriter.resources","name":"Resource Types","description":"XLSWriter","tag":"section","type":"General","methodName":"Resource Types"},{"id":"xlswriter.setup","name":"Installing\/Configuring","description":"XLSWriter","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"vtiful-kernel-excel.addSheet","name":"Vtiful\\Kernel\\Excel::addSheet","description":"Vtiful\\Kernel\\Excel addSheet","tag":"refentry","type":"Function","methodName":"addSheet"},{"id":"vtiful-kernel-excel.autoFilter","name":"Vtiful\\Kernel\\Excel::autoFilter","description":"Vtiful\\Kernel\\Excel autoFilter","tag":"refentry","type":"Function","methodName":"autoFilter"},{"id":"vtiful-kernel-excel.constMemory","name":"Vtiful\\Kernel\\Excel::constMemory","description":"Vtiful\\Kernel\\Excel constMemory","tag":"refentry","type":"Function","methodName":"constMemory"},{"id":"vtiful-kernel-excel.construct","name":"Vtiful\\Kernel\\Excel::__construct","description":"Vtiful\\Kernel\\Excel constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"vtiful-kernel-excel.data","name":"Vtiful\\Kernel\\Excel::data","description":"Vtiful\\Kernel\\Excel data","tag":"refentry","type":"Function","methodName":"data"},{"id":"vtiful-kernel-excel.filename","name":"Vtiful\\Kernel\\Excel::fileName","description":"Vtiful\\Kernel\\Excel fileName","tag":"refentry","type":"Function","methodName":"fileName"},{"id":"vtiful-kernel-excel.getHandle","name":"Vtiful\\Kernel\\Excel::getHandle","description":"Vtiful\\Kernel\\Excel getHandle","tag":"refentry","type":"Function","methodName":"getHandle"},{"id":"vtiful-kernel-excel.header","name":"Vtiful\\Kernel\\Excel::header","description":"Vtiful\\Kernel\\Excel header","tag":"refentry","type":"Function","methodName":"header"},{"id":"vtiful-kernel-excel.insertFormula","name":"Vtiful\\Kernel\\Excel::insertFormula","description":"Vtiful\\Kernel\\Excel insertFormula","tag":"refentry","type":"Function","methodName":"insertFormula"},{"id":"vtiful-kernel-excel.insertImage","name":"Vtiful\\Kernel\\Excel::insertImage","description":"Vtiful\\Kernel\\Excel insertImage","tag":"refentry","type":"Function","methodName":"insertImage"},{"id":"vtiful-kernel-excel.insertText","name":"Vtiful\\Kernel\\Excel::insertText","description":"Vtiful\\Kernel\\Excel insertText","tag":"refentry","type":"Function","methodName":"insertText"},{"id":"vtiful-kernel-excel.mergeCells","name":"Vtiful\\Kernel\\Excel::mergeCells","description":"Vtiful\\Kernel\\Excel mergeCells","tag":"refentry","type":"Function","methodName":"mergeCells"},{"id":"vtiful-kernel-excel.output","name":"Vtiful\\Kernel\\Excel::output","description":"Vtiful\\Kernel\\Excel output","tag":"refentry","type":"Function","methodName":"output"},{"id":"vtiful-kernel-excel.setColumn","name":"Vtiful\\Kernel\\Excel::setColumn","description":"Vtiful\\Kernel\\Excel setColumn","tag":"refentry","type":"Function","methodName":"setColumn"},{"id":"vtiful-kernel-excel.setRow","name":"Vtiful\\Kernel\\Excel::setRow","description":"Vtiful\\Kernel\\Excel setRow","tag":"refentry","type":"Function","methodName":"setRow"},{"id":"class.vtiful-kernel-excel","name":"Vtiful\\Kernel\\Excel","description":"The Vtiful\\Kernel\\Excel class","tag":"phpdoc:classref","type":"Class","methodName":"Vtiful\\Kernel\\Excel"},{"id":"vtiful-kernel-format.align","name":"Vtiful\\Kernel\\Format::align","description":"Vtiful\\Kernel\\Format align","tag":"refentry","type":"Function","methodName":"align"},{"id":"vtiful-kernel-format.bold","name":"Vtiful\\Kernel\\Format::bold","description":"Vtiful\\Kernel\\Format bold","tag":"refentry","type":"Function","methodName":"bold"},{"id":"vtiful-kernel-format.italic","name":"Vtiful\\Kernel\\Format::italic","description":"Vtiful\\Kernel\\Format italic","tag":"refentry","type":"Function","methodName":"italic"},{"id":"vtiful-kernel-format.underline","name":"Vtiful\\Kernel\\Format::underline","description":"Vtiful\\Kernel\\Format underline","tag":"refentry","type":"Function","methodName":"underline"},{"id":"class.vtiful-kernel-format","name":"Vtiful\\Kernel\\Format","description":"The Vtiful\\Kernel\\Format class","tag":"phpdoc:classref","type":"Class","methodName":"Vtiful\\Kernel\\Format"},{"id":"book.xlswriter","name":"XLSWriter","description":"Non-Text MIME Output","tag":"book","type":"Extension","methodName":"XLSWriter"},{"id":"refs.utilspec.nontext","name":"Non-Text MIME Output","description":"Function Reference","tag":"set","type":"Extension","methodName":"Non-Text MIME Output"},{"id":"intro.eio","name":"Introduction","description":"Eio","tag":"preface","type":"General","methodName":"Introduction"},{"id":"eio.requirements","name":"Requirements","description":"Eio","tag":"section","type":"General","methodName":"Requirements"},{"id":"eio.installation","name":"Installation","description":"Eio","tag":"section","type":"General","methodName":"Installation"},{"id":"eio.resources","name":"Resource Types","description":"Eio","tag":"section","type":"General","methodName":"Resource Types"},{"id":"eio.setup","name":"Installing\/Configuring","description":"Eio","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"eio.constants","name":"Predefined Constants","description":"Eio","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"eio.examples","name":"Examples","description":"Eio","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.eio-busy","name":"eio_busy","description":"Artificially increase load. Could be useful in tests,\n benchmarking","tag":"refentry","type":"Function","methodName":"eio_busy"},{"id":"function.eio-cancel","name":"eio_cancel","description":"Cancels a request","tag":"refentry","type":"Function","methodName":"eio_cancel"},{"id":"function.eio-chmod","name":"eio_chmod","description":"Change file\/directory permissions","tag":"refentry","type":"Function","methodName":"eio_chmod"},{"id":"function.eio-chown","name":"eio_chown","description":"Change file\/directory permissions","tag":"refentry","type":"Function","methodName":"eio_chown"},{"id":"function.eio-close","name":"eio_close","description":"Close file","tag":"refentry","type":"Function","methodName":"eio_close"},{"id":"function.eio-custom","name":"eio_custom","description":"Execute custom request like any other eio_* call","tag":"refentry","type":"Function","methodName":"eio_custom"},{"id":"function.eio-dup2","name":"eio_dup2","description":"Duplicate a file descriptor","tag":"refentry","type":"Function","methodName":"eio_dup2"},{"id":"function.eio-event-loop","name":"eio_event_loop","description":"Polls libeio until all requests proceeded","tag":"refentry","type":"Function","methodName":"eio_event_loop"},{"id":"function.eio-fallocate","name":"eio_fallocate","description":"Allows the caller to directly manipulate the allocated disk\n space for a file","tag":"refentry","type":"Function","methodName":"eio_fallocate"},{"id":"function.eio-fchmod","name":"eio_fchmod","description":"Change file permissions","tag":"refentry","type":"Function","methodName":"eio_fchmod"},{"id":"function.eio-fchown","name":"eio_fchown","description":"Change file ownership","tag":"refentry","type":"Function","methodName":"eio_fchown"},{"id":"function.eio-fdatasync","name":"eio_fdatasync","description":"Synchronize a file's in-core state with storage device","tag":"refentry","type":"Function","methodName":"eio_fdatasync"},{"id":"function.eio-fstat","name":"eio_fstat","description":"Get file status","tag":"refentry","type":"Function","methodName":"eio_fstat"},{"id":"function.eio-fstatvfs","name":"eio_fstatvfs","description":"Get file system statistics","tag":"refentry","type":"Function","methodName":"eio_fstatvfs"},{"id":"function.eio-fsync","name":"eio_fsync","description":"Synchronize a file's in-core state with storage device","tag":"refentry","type":"Function","methodName":"eio_fsync"},{"id":"function.eio-ftruncate","name":"eio_ftruncate","description":"Truncate a file","tag":"refentry","type":"Function","methodName":"eio_ftruncate"},{"id":"function.eio-futime","name":"eio_futime","description":"Change file last access and modification times","tag":"refentry","type":"Function","methodName":"eio_futime"},{"id":"function.eio-get-event-stream","name":"eio_get_event_stream","description":"Get stream representing a variable used in internal communications with libeio","tag":"refentry","type":"Function","methodName":"eio_get_event_stream"},{"id":"function.eio-get-last-error","name":"eio_get_last_error","description":"Returns string describing the last error associated with a request resource","tag":"refentry","type":"Function","methodName":"eio_get_last_error"},{"id":"function.eio-grp","name":"eio_grp","description":"Creates a request group","tag":"refentry","type":"Function","methodName":"eio_grp"},{"id":"function.eio-grp-add","name":"eio_grp_add","description":"Adds a request to the request group","tag":"refentry","type":"Function","methodName":"eio_grp_add"},{"id":"function.eio-grp-cancel","name":"eio_grp_cancel","description":"Cancels a request group","tag":"refentry","type":"Function","methodName":"eio_grp_cancel"},{"id":"function.eio-grp-limit","name":"eio_grp_limit","description":"Set group limit","tag":"refentry","type":"Function","methodName":"eio_grp_limit"},{"id":"function.eio-init","name":"eio_init","description":"(Re-)initialize Eio","tag":"refentry","type":"Function","methodName":"eio_init"},{"id":"function.eio-link","name":"eio_link","description":"Create a hardlink for file","tag":"refentry","type":"Function","methodName":"eio_link"},{"id":"function.eio-lstat","name":"eio_lstat","description":"Get file status","tag":"refentry","type":"Function","methodName":"eio_lstat"},{"id":"function.eio-mkdir","name":"eio_mkdir","description":"Create directory","tag":"refentry","type":"Function","methodName":"eio_mkdir"},{"id":"function.eio-mknod","name":"eio_mknod","description":"Create a special or ordinary file","tag":"refentry","type":"Function","methodName":"eio_mknod"},{"id":"function.eio-nop","name":"eio_nop","description":"Does nothing, except go through the whole request cycle","tag":"refentry","type":"Function","methodName":"eio_nop"},{"id":"function.eio-npending","name":"eio_npending","description":"Returns number of finished, but unhandled requests","tag":"refentry","type":"Function","methodName":"eio_npending"},{"id":"function.eio-nready","name":"eio_nready","description":"Returns number of not-yet handled requests","tag":"refentry","type":"Function","methodName":"eio_nready"},{"id":"function.eio-nreqs","name":"eio_nreqs","description":"Returns number of requests to be processed","tag":"refentry","type":"Function","methodName":"eio_nreqs"},{"id":"function.eio-nthreads","name":"eio_nthreads","description":"Returns number of threads currently in use","tag":"refentry","type":"Function","methodName":"eio_nthreads"},{"id":"function.eio-open","name":"eio_open","description":"Opens a file","tag":"refentry","type":"Function","methodName":"eio_open"},{"id":"function.eio-poll","name":"eio_poll","description":"Can be to be called whenever there are pending requests that need finishing","tag":"refentry","type":"Function","methodName":"eio_poll"},{"id":"function.eio-read","name":"eio_read","description":"Read from a file descriptor at given offset","tag":"refentry","type":"Function","methodName":"eio_read"},{"id":"function.eio-readahead","name":"eio_readahead","description":"Perform file readahead into page cache","tag":"refentry","type":"Function","methodName":"eio_readahead"},{"id":"function.eio-readdir","name":"eio_readdir","description":"Reads through a whole directory","tag":"refentry","type":"Function","methodName":"eio_readdir"},{"id":"function.eio-readlink","name":"eio_readlink","description":"Read value of a symbolic link","tag":"refentry","type":"Function","methodName":"eio_readlink"},{"id":"function.eio-realpath","name":"eio_realpath","description":"Get the canonicalized absolute pathname","tag":"refentry","type":"Function","methodName":"eio_realpath"},{"id":"function.eio-rename","name":"eio_rename","description":"Change the name or location of a file","tag":"refentry","type":"Function","methodName":"eio_rename"},{"id":"function.eio-rmdir","name":"eio_rmdir","description":"Remove a directory","tag":"refentry","type":"Function","methodName":"eio_rmdir"},{"id":"function.eio-seek","name":"eio_seek","description":"Seek to a position","tag":"refentry","type":"Function","methodName":"eio_seek"},{"id":"function.eio-sendfile","name":"eio_sendfile","description":"Transfer data between file descriptors","tag":"refentry","type":"Function","methodName":"eio_sendfile"},{"id":"function.eio-set-max-idle","name":"eio_set_max_idle","description":"Set maximum number of idle threads","tag":"refentry","type":"Function","methodName":"eio_set_max_idle"},{"id":"function.eio-set-max-parallel","name":"eio_set_max_parallel","description":"Set maximum parallel threads","tag":"refentry","type":"Function","methodName":"eio_set_max_parallel"},{"id":"function.eio-set-max-poll-reqs","name":"eio_set_max_poll_reqs","description":"Set maximum number of requests processed in a poll","tag":"refentry","type":"Function","methodName":"eio_set_max_poll_reqs"},{"id":"function.eio-set-max-poll-time","name":"eio_set_max_poll_time","description":"Set maximum poll time","tag":"refentry","type":"Function","methodName":"eio_set_max_poll_time"},{"id":"function.eio-set-min-parallel","name":"eio_set_min_parallel","description":"Set minimum parallel thread number","tag":"refentry","type":"Function","methodName":"eio_set_min_parallel"},{"id":"function.eio-stat","name":"eio_stat","description":"Get file status","tag":"refentry","type":"Function","methodName":"eio_stat"},{"id":"function.eio-statvfs","name":"eio_statvfs","description":"Get file system statistics","tag":"refentry","type":"Function","methodName":"eio_statvfs"},{"id":"function.eio-symlink","name":"eio_symlink","description":"Create a symbolic link","tag":"refentry","type":"Function","methodName":"eio_symlink"},{"id":"function.eio-sync","name":"eio_sync","description":"Commit buffer cache to disk","tag":"refentry","type":"Function","methodName":"eio_sync"},{"id":"function.eio-sync-file-range","name":"eio_sync_file_range","description":"Sync a file segment with disk","tag":"refentry","type":"Function","methodName":"eio_sync_file_range"},{"id":"function.eio-syncfs","name":"eio_syncfs","description":"Calls Linux' syncfs syscall, if available","tag":"refentry","type":"Function","methodName":"eio_syncfs"},{"id":"function.eio-truncate","name":"eio_truncate","description":"Truncate a file","tag":"refentry","type":"Function","methodName":"eio_truncate"},{"id":"function.eio-unlink","name":"eio_unlink","description":"Delete a name and possibly the file it refers to","tag":"refentry","type":"Function","methodName":"eio_unlink"},{"id":"function.eio-utime","name":"eio_utime","description":"Change file last access and modification times","tag":"refentry","type":"Function","methodName":"eio_utime"},{"id":"function.eio-write","name":"eio_write","description":"Write to file","tag":"refentry","type":"Function","methodName":"eio_write"},{"id":"ref.eio","name":"Eio Functions","description":"Eio","tag":"reference","type":"Extension","methodName":"Eio Functions"},{"id":"book.eio","name":"Eio","description":"Eio","tag":"book","type":"Extension","methodName":"Eio"},{"id":"intro.ev","name":"Introduction","description":"Ev","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ev.requirements","name":"Requirements","description":"Ev","tag":"section","type":"General","methodName":"Requirements"},{"id":"ev.installation","name":"Installation","description":"Ev","tag":"section","type":"General","methodName":"Installation"},{"id":"ev.setup","name":"Installing\/Configuring","description":"Ev","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ev.examples","name":"Examples","description":"Ev","tag":"chapter","type":"General","methodName":"Examples"},{"id":"ev.watchers","name":"Watchers","description":"Ev","tag":"chapter","type":"General","methodName":"Watchers"},{"id":"ev.watcher-callbacks","name":"Watcher callbacks","description":"Ev","tag":"chapter","type":"General","methodName":"Watcher callbacks"},{"id":"ev.periodic-modes","name":"Periodic watcher operation modes","description":"Ev","tag":"chapter","type":"General","methodName":"Periodic watcher operation modes"},{"id":"ev.backend","name":"Ev::backend","description":"Returns an integer describing the backend used by libev","tag":"refentry","type":"Function","methodName":"backend"},{"id":"ev.depth","name":"Ev::depth","description":"Returns recursion depth","tag":"refentry","type":"Function","methodName":"depth"},{"id":"ev.embeddablebackends","name":"Ev::embeddableBackends","description":"Returns the set of backends that are embeddable in other event loops","tag":"refentry","type":"Function","methodName":"embeddableBackends"},{"id":"ev.feedsignal","name":"Ev::feedSignal","description":"Feed a signal event info Ev","tag":"refentry","type":"Function","methodName":"feedSignal"},{"id":"ev.feedsignalevent","name":"Ev::feedSignalEvent","description":"Feed signal event into the default loop","tag":"refentry","type":"Function","methodName":"feedSignalEvent"},{"id":"ev.iteration","name":"Ev::iteration","description":"Return the number of times the default event loop has polled for new\n events","tag":"refentry","type":"Function","methodName":"iteration"},{"id":"ev.now","name":"Ev::now","description":"Returns the time when the last iteration of the default event\n loop has started","tag":"refentry","type":"Function","methodName":"now"},{"id":"ev.nowupdate","name":"Ev::nowUpdate","description":"Establishes the current time by querying the kernel, updating the time\n returned by Ev::now in the progress","tag":"refentry","type":"Function","methodName":"nowUpdate"},{"id":"ev.recommendedbackends","name":"Ev::recommendedBackends","description":"Returns a bit mask of recommended backends for current\n platform","tag":"refentry","type":"Function","methodName":"recommendedBackends"},{"id":"ev.resume","name":"Ev::resume","description":"Resume previously suspended default event loop","tag":"refentry","type":"Function","methodName":"resume"},{"id":"ev.run","name":"Ev::run","description":"Begin checking for events and calling callbacks for the default\n loop","tag":"refentry","type":"Function","methodName":"run"},{"id":"ev.sleep","name":"Ev::sleep","description":"Block the process for the given number of seconds","tag":"refentry","type":"Function","methodName":"sleep"},{"id":"ev.stop","name":"Ev::stop","description":"Stops the default event loop","tag":"refentry","type":"Function","methodName":"stop"},{"id":"ev.supportedbackends","name":"Ev::supportedBackends","description":"Returns the set of backends supported by current libev\n configuration","tag":"refentry","type":"Function","methodName":"supportedBackends"},{"id":"ev.suspend","name":"Ev::suspend","description":"Suspend the default event loop","tag":"refentry","type":"Function","methodName":"suspend"},{"id":"ev.time","name":"Ev::time","description":"Returns the current time in fractional seconds since the epoch","tag":"refentry","type":"Function","methodName":"time"},{"id":"ev.verify","name":"Ev::verify","description":"Performs internal consistency checks(for debugging)","tag":"refentry","type":"Function","methodName":"verify"},{"id":"class.ev","name":"Ev","description":"The Ev class","tag":"phpdoc:classref","type":"Class","methodName":"Ev"},{"id":"evcheck.construct","name":"EvCheck::__construct","description":"Constructs the EvCheck watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evcheck.createstopped","name":"EvCheck::createStopped","description":"Create instance of a stopped EvCheck watcher","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"class.evcheck","name":"EvCheck","description":"The EvCheck class","tag":"phpdoc:classref","type":"Class","methodName":"EvCheck"},{"id":"evchild.construct","name":"EvChild::__construct","description":"Constructs the EvChild watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evchild.createstopped","name":"EvChild::createStopped","description":"Create instance of a stopped EvCheck watcher","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evchild.set","name":"EvChild::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.evchild","name":"EvChild","description":"The EvChild class","tag":"phpdoc:classref","type":"Class","methodName":"EvChild"},{"id":"evembed.construct","name":"EvEmbed::__construct","description":"Constructs the EvEmbed object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evembed.createstopped","name":"EvEmbed::createStopped","description":"Create stopped EvEmbed watcher object","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evembed.set","name":"EvEmbed::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"evembed.sweep","name":"EvEmbed::sweep","description":"Make a single, non-blocking sweep over the embedded loop","tag":"refentry","type":"Function","methodName":"sweep"},{"id":"class.evembed","name":"EvEmbed","description":"The EvEmbed class","tag":"phpdoc:classref","type":"Class","methodName":"EvEmbed"},{"id":"evfork.construct","name":"EvFork::__construct","description":"Constructs the EvFork watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evfork.createstopped","name":"EvFork::createStopped","description":"Creates a stopped instance of EvFork watcher class","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"class.evfork","name":"EvFork","description":"The EvFork class","tag":"phpdoc:classref","type":"Class","methodName":"EvFork"},{"id":"evidle.construct","name":"EvIdle::__construct","description":"Constructs the EvIdle watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evidle.createstopped","name":"EvIdle::createStopped","description":"Creates instance of a stopped EvIdle watcher object","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"class.evidle","name":"EvIdle","description":"The EvIdle class","tag":"phpdoc:classref","type":"Class","methodName":"EvIdle"},{"id":"evio.construct","name":"EvIo::__construct","description":"Constructs EvIo watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evio.createstopped","name":"EvIo::createStopped","description":"Create stopped EvIo watcher object","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evio.set","name":"EvIo::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.evio","name":"EvIo","description":"The EvIo class","tag":"phpdoc:classref","type":"Class","methodName":"EvIo"},{"id":"evloop.backend","name":"EvLoop::backend","description":"Returns an integer describing the backend used by libev","tag":"refentry","type":"Function","methodName":"backend"},{"id":"evloop.check","name":"EvLoop::check","description":"Creates EvCheck object associated with the current event loop\n instance","tag":"refentry","type":"Function","methodName":"check"},{"id":"evloop.child","name":"EvLoop::child","description":"Creates EvChild object associated with the current event loop","tag":"refentry","type":"Function","methodName":"child"},{"id":"evloop.construct","name":"EvLoop::__construct","description":"Constructs the event loop object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evloop.defaultloop","name":"EvLoop::defaultLoop","description":"Returns or creates the default event loop","tag":"refentry","type":"Function","methodName":"defaultLoop"},{"id":"evloop.embed","name":"EvLoop::embed","description":"Creates an instance of EvEmbed watcher associated\n with the current EvLoop object","tag":"refentry","type":"Function","methodName":"embed"},{"id":"evloop.fork","name":"EvLoop::fork","description":"Creates EvFork watcher object associated with the current event\n loop instance","tag":"refentry","type":"Function","methodName":"fork"},{"id":"evloop.idle","name":"EvLoop::idle","description":"Creates EvIdle watcher object associated with the current event\n loop instance","tag":"refentry","type":"Function","methodName":"idle"},{"id":"evloop.invokepending","name":"EvLoop::invokePending","description":"Invoke all pending watchers while resetting their pending state","tag":"refentry","type":"Function","methodName":"invokePending"},{"id":"evloop.io","name":"EvLoop::io","description":"Create EvIo watcher object associated with the current event\n loop instance","tag":"refentry","type":"Function","methodName":"io"},{"id":"evloop.loopfork","name":"EvLoop::loopFork","description":"Must be called after a fork","tag":"refentry","type":"Function","methodName":"loopFork"},{"id":"evloop.now","name":"EvLoop::now","description":"Returns the current \"event loop time\"","tag":"refentry","type":"Function","methodName":"now"},{"id":"evloop.nowupdate","name":"EvLoop::nowUpdate","description":"Establishes the current time by querying the kernel, updating the time\n returned by EvLoop::now in the progress","tag":"refentry","type":"Function","methodName":"nowUpdate"},{"id":"evloop.periodic","name":"EvLoop::periodic","description":"Creates EvPeriodic watcher object associated with the current\n event loop instance","tag":"refentry","type":"Function","methodName":"periodic"},{"id":"evloop.prepare","name":"EvLoop::prepare","description":"Creates EvPrepare watcher object associated with the current\n event loop instance","tag":"refentry","type":"Function","methodName":"prepare"},{"id":"evloop.resume","name":"EvLoop::resume","description":"Resume previously suspended default event loop","tag":"refentry","type":"Function","methodName":"resume"},{"id":"evloop.run","name":"EvLoop::run","description":"Begin checking for events and calling callbacks for the loop","tag":"refentry","type":"Function","methodName":"run"},{"id":"evloop.signal","name":"EvLoop::signal","description":"Creates EvSignal watcher object associated with the current\n event loop instance","tag":"refentry","type":"Function","methodName":"signal"},{"id":"evloop.stat","name":"EvLoop::stat","description":"Creates EvStat watcher object associated with the current event\n loop instance","tag":"refentry","type":"Function","methodName":"stat"},{"id":"evloop.stop","name":"EvLoop::stop","description":"Stops the event loop","tag":"refentry","type":"Function","methodName":"stop"},{"id":"evloop.suspend","name":"EvLoop::suspend","description":"Suspend the loop","tag":"refentry","type":"Function","methodName":"suspend"},{"id":"evloop.timer","name":"EvLoop::timer","description":"Creates EvTimer watcher object associated with the current event\n loop instance","tag":"refentry","type":"Function","methodName":"timer"},{"id":"evloop.verify","name":"EvLoop::verify","description":"Performs internal consistency checks(for debugging)","tag":"refentry","type":"Function","methodName":"verify"},{"id":"class.evloop","name":"EvLoop","description":"The EvLoop class","tag":"phpdoc:classref","type":"Class","methodName":"EvLoop"},{"id":"evperiodic.again","name":"EvPeriodic::again","description":"Simply stops and restarts the periodic watcher again","tag":"refentry","type":"Function","methodName":"again"},{"id":"evperiodic.at","name":"EvPeriodic::at","description":"Returns the absolute time that this\n watcher is supposed to trigger next","tag":"refentry","type":"Function","methodName":"at"},{"id":"evperiodic.construct","name":"EvPeriodic::__construct","description":"Constructs EvPeriodic watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evperiodic.createstopped","name":"EvPeriodic::createStopped","description":"Create a stopped EvPeriodic watcher","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evperiodic.set","name":"EvPeriodic::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.evperiodic","name":"EvPeriodic","description":"The EvPeriodic class","tag":"phpdoc:classref","type":"Class","methodName":"EvPeriodic"},{"id":"evprepare.construct","name":"EvPrepare::__construct","description":"Constructs EvPrepare watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evprepare.createstopped","name":"EvPrepare::createStopped","description":"Creates a stopped instance of EvPrepare watcher","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"class.evprepare","name":"EvPrepare","description":"The EvPrepare class","tag":"phpdoc:classref","type":"Class","methodName":"EvPrepare"},{"id":"evsignal.construct","name":"EvSignal::__construct","description":"Constructs EvSignal watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evsignal.createstopped","name":"EvSignal::createStopped","description":"Create stopped EvSignal watcher object","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evsignal.set","name":"EvSignal::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.evsignal","name":"EvSignal","description":"The EvSignal class","tag":"phpdoc:classref","type":"Class","methodName":"EvSignal"},{"id":"evstat.attr","name":"EvStat::attr","description":"Returns the values most recently detected by Ev","tag":"refentry","type":"Function","methodName":"attr"},{"id":"evstat.construct","name":"EvStat::__construct","description":"Constructs EvStat watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evstat.createstopped","name":"EvStat::createStopped","description":"Create a stopped EvStat watcher object","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evstat.prev","name":"EvStat::prev","description":"Returns the previous set of values returned by EvStat::attr","tag":"refentry","type":"Function","methodName":"prev"},{"id":"evstat.set","name":"EvStat::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"evstat.stat","name":"EvStat::stat","description":"Initiates the stat call","tag":"refentry","type":"Function","methodName":"stat"},{"id":"class.evstat","name":"EvStat","description":"The EvStat class","tag":"phpdoc:classref","type":"Class","methodName":"EvStat"},{"id":"evtimer.again","name":"EvTimer::again","description":"Restarts the timer watcher","tag":"refentry","type":"Function","methodName":"again"},{"id":"evtimer.construct","name":"EvTimer::__construct","description":"Constructs an EvTimer watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evtimer.createstopped","name":"EvTimer::createStopped","description":"Creates EvTimer stopped watcher object","tag":"refentry","type":"Function","methodName":"createStopped"},{"id":"evtimer.set","name":"EvTimer::set","description":"Configures the watcher","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.evtimer","name":"EvTimer","description":"The EvTimer class","tag":"phpdoc:classref","type":"Class","methodName":"EvTimer"},{"id":"evwatcher.clear","name":"EvWatcher::clear","description":"Clear watcher pending status","tag":"refentry","type":"Function","methodName":"clear"},{"id":"evwatcher.construct","name":"EvWatcher::__construct","description":"Abstract constructor of a watcher object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"evwatcher.feed","name":"EvWatcher::feed","description":"Feeds the given revents set into the event loop","tag":"refentry","type":"Function","methodName":"feed"},{"id":"evwatcher.getloop","name":"EvWatcher::getLoop","description":"Returns the loop responsible for the watcher","tag":"refentry","type":"Function","methodName":"getLoop"},{"id":"evwatcher.invoke","name":"EvWatcher::invoke","description":"Invokes the watcher callback with the given received events bit\n mask","tag":"refentry","type":"Function","methodName":"invoke"},{"id":"evwatcher.keepalive","name":"EvWatcher::keepalive","description":"Configures whether to keep the loop from returning","tag":"refentry","type":"Function","methodName":"keepalive"},{"id":"evwatcher.setcallback","name":"EvWatcher::setCallback","description":"Sets new callback for the watcher","tag":"refentry","type":"Function","methodName":"setCallback"},{"id":"evwatcher.start","name":"EvWatcher::start","description":"Starts the watcher","tag":"refentry","type":"Function","methodName":"start"},{"id":"evwatcher.stop","name":"EvWatcher::stop","description":"Stops the watcher","tag":"refentry","type":"Function","methodName":"stop"},{"id":"class.evwatcher","name":"EvWatcher","description":"The EvWatcher class","tag":"phpdoc:classref","type":"Class","methodName":"EvWatcher"},{"id":"book.ev","name":"Ev","description":"Ev","tag":"book","type":"Extension","methodName":"Ev"},{"id":"intro.expect","name":"Introduction","description":"Expect","tag":"preface","type":"General","methodName":"Introduction"},{"id":"expect.requirements","name":"Requirements","description":"Expect","tag":"section","type":"General","methodName":"Requirements"},{"id":"expect.installation","name":"Installation","description":"Expect","tag":"section","type":"General","methodName":"Installation"},{"id":"expect.configuration","name":"Runtime Configuration","description":"Expect","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"expect.resources","name":"Resource Types","description":"Expect","tag":"section","type":"General","methodName":"Resource Types"},{"id":"expect.setup","name":"Installing\/Configuring","description":"Expect","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"expect.constants","name":"Predefined Constants","description":"Expect","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"expect.examples-usage","name":"Expect Usage Examples","description":"Expect","tag":"section","type":"General","methodName":"Expect Usage Examples"},{"id":"expect.examples","name":"Examples","description":"Expect","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.expect-expectl","name":"expect_expectl","description":"Waits until the output from a process matches one\n of the patterns, a specified time period has passed, or an EOF is seen","tag":"refentry","type":"Function","methodName":"expect_expectl"},{"id":"function.expect-popen","name":"expect_popen","description":"Execute command via Bourne shell, and open the PTY stream to\n the process","tag":"refentry","type":"Function","methodName":"expect_popen"},{"id":"ref.expect","name":"Expect Functions","description":"Expect","tag":"reference","type":"Extension","methodName":"Expect Functions"},{"id":"book.expect","name":"Expect","description":"Process Control Extensions","tag":"book","type":"Extension","methodName":"Expect"},{"id":"intro.pcntl","name":"Introduction","description":"Process Control","tag":"preface","type":"General","methodName":"Introduction"},{"id":"pcntl.installation","name":"Installation","description":"Process Control","tag":"section","type":"General","methodName":"Installation"},{"id":"pcntl.setup","name":"Installing\/Configuring","description":"Process Control","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"pcntl.constants","name":"Predefined Constants","description":"Process Control","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"pcntl.example","name":"Basic usage","description":"Process Control","tag":"section","type":"General","methodName":"Basic usage"},{"id":"pcntl.examples","name":"Examples","description":"Process Control","tag":"chapter","type":"General","methodName":"Examples"},{"id":"enum.pcntl-qosclass","name":"Pcntl\\QosClass","description":"The Pcntl\\QosClass Enum","tag":"phpdoc:classref","type":"Class","methodName":"Pcntl\\QosClass"},{"id":"function.pcntl-alarm","name":"pcntl_alarm","description":"Set an alarm clock for delivery of a signal","tag":"refentry","type":"Function","methodName":"pcntl_alarm"},{"id":"function.pcntl-async-signals","name":"pcntl_async_signals","description":"Enable\/disable asynchronous signal handling or return the old setting","tag":"refentry","type":"Function","methodName":"pcntl_async_signals"},{"id":"function.pcntl-errno","name":"pcntl_errno","description":"Alias of pcntl_get_last_error","tag":"refentry","type":"Function","methodName":"pcntl_errno"},{"id":"function.pcntl-exec","name":"pcntl_exec","description":"Executes specified program in current process space","tag":"refentry","type":"Function","methodName":"pcntl_exec"},{"id":"function.pcntl-fork","name":"pcntl_fork","description":"Forks the currently running process","tag":"refentry","type":"Function","methodName":"pcntl_fork"},{"id":"function.pcntl-get-last-error","name":"pcntl_get_last_error","description":"Retrieve the error number set by the last pcntl function which failed","tag":"refentry","type":"Function","methodName":"pcntl_get_last_error"},{"id":"function.pcntl-getcpuaffinity","name":"pcntl_getcpuaffinity","description":"Get the cpu affinity of a process","tag":"refentry","type":"Function","methodName":"pcntl_getcpuaffinity"},{"id":"function.pcntl-getpriority","name":"pcntl_getpriority","description":"Get the priority of any process","tag":"refentry","type":"Function","methodName":"pcntl_getpriority"},{"id":"function.pcntl-rfork","name":"pcntl_rfork","description":"Manipulates process resources","tag":"refentry","type":"Function","methodName":"pcntl_rfork"},{"id":"function.pcntl-setcpuaffinity","name":"pcntl_setcpuaffinity","description":"Set the cpu affinity of a process","tag":"refentry","type":"Function","methodName":"pcntl_setcpuaffinity"},{"id":"function.pcntl-setpriority","name":"pcntl_setpriority","description":"Change the priority of any process","tag":"refentry","type":"Function","methodName":"pcntl_setpriority"},{"id":"function.pcntl-signal","name":"pcntl_signal","description":"Installs a signal handler","tag":"refentry","type":"Function","methodName":"pcntl_signal"},{"id":"function.pcntl-signal-dispatch","name":"pcntl_signal_dispatch","description":"Calls signal handlers for pending signals","tag":"refentry","type":"Function","methodName":"pcntl_signal_dispatch"},{"id":"function.pcntl-signal-get-handler","name":"pcntl_signal_get_handler","description":"Get the current handler for specified signal","tag":"refentry","type":"Function","methodName":"pcntl_signal_get_handler"},{"id":"function.pcntl-sigprocmask","name":"pcntl_sigprocmask","description":"Sets and retrieves blocked signals","tag":"refentry","type":"Function","methodName":"pcntl_sigprocmask"},{"id":"function.pcntl-sigtimedwait","name":"pcntl_sigtimedwait","description":"Waits for signals, with a timeout","tag":"refentry","type":"Function","methodName":"pcntl_sigtimedwait"},{"id":"function.pcntl-sigwaitinfo","name":"pcntl_sigwaitinfo","description":"Waits for signals","tag":"refentry","type":"Function","methodName":"pcntl_sigwaitinfo"},{"id":"function.pcntl-strerror","name":"pcntl_strerror","description":"Retrieve the system error message associated with the given errno","tag":"refentry","type":"Function","methodName":"pcntl_strerror"},{"id":"function.pcntl-unshare","name":"pcntl_unshare","description":"Dissociates parts of the process execution context","tag":"refentry","type":"Function","methodName":"pcntl_unshare"},{"id":"function.pcntl-wait","name":"pcntl_wait","description":"Waits on or returns the status of a forked child","tag":"refentry","type":"Function","methodName":"pcntl_wait"},{"id":"function.pcntl-waitid","name":"pcntl_waitid","description":"Waits for a child process to change state","tag":"refentry","type":"Function","methodName":"pcntl_waitid"},{"id":"function.pcntl-waitpid","name":"pcntl_waitpid","description":"Waits on or returns the status of a forked child","tag":"refentry","type":"Function","methodName":"pcntl_waitpid"},{"id":"function.pcntl-wexitstatus","name":"pcntl_wexitstatus","description":"Returns the return code of a terminated child","tag":"refentry","type":"Function","methodName":"pcntl_wexitstatus"},{"id":"function.pcntl-wifexited","name":"pcntl_wifexited","description":"Checks if status code represents a normal exit","tag":"refentry","type":"Function","methodName":"pcntl_wifexited"},{"id":"function.pcntl-wifsignaled","name":"pcntl_wifsignaled","description":"Checks whether the status code represents a termination due to a signal","tag":"refentry","type":"Function","methodName":"pcntl_wifsignaled"},{"id":"function.pcntl-wifstopped","name":"pcntl_wifstopped","description":"Checks whether the child process is currently stopped","tag":"refentry","type":"Function","methodName":"pcntl_wifstopped"},{"id":"function.pcntl-wstopsig","name":"pcntl_wstopsig","description":"Returns the signal which caused the child to stop","tag":"refentry","type":"Function","methodName":"pcntl_wstopsig"},{"id":"function.pcntl-wtermsig","name":"pcntl_wtermsig","description":"Returns the signal which caused the child to terminate","tag":"refentry","type":"Function","methodName":"pcntl_wtermsig"},{"id":"ref.pcntl","name":"PCNTL Functions","description":"Process Control","tag":"reference","type":"Extension","methodName":"PCNTL Functions"},{"id":"book.pcntl","name":"PCNTL","description":"Process Control","tag":"book","type":"Extension","methodName":"PCNTL"},{"id":"intro.posix","name":"Introduction","description":"POSIX","tag":"preface","type":"General","methodName":"Introduction"},{"id":"posix.installation","name":"Installation","description":"POSIX","tag":"section","type":"General","methodName":"Installation"},{"id":"posix.setup","name":"Installing\/Configuring","description":"POSIX","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"posix.constants.access","name":"posix_access constants","description":"POSIX","tag":"section","type":"General","methodName":"posix_access constants"},{"id":"posix.constants.mknod","name":"posix_mknod constants","description":"POSIX","tag":"section","type":"General","methodName":"posix_mknod constants"},{"id":"posix.constants.setrlimit","name":"posix_setrlimit constants","description":"POSIX","tag":"section","type":"General","methodName":"posix_setrlimit constants"},{"id":"posix.constants.pathconf","name":"posix_pathconf constants","description":"POSIX","tag":"section","type":"General","methodName":"posix_pathconf constants"},{"id":"posix.constants.sysconf","name":"posix_sysconf constants","description":"POSIX","tag":"section","type":"General","methodName":"posix_sysconf constants"},{"id":"posix.constants","name":"Predefined Constants","description":"POSIX","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.posix-access","name":"posix_access","description":"Determine accessibility of a file","tag":"refentry","type":"Function","methodName":"posix_access"},{"id":"function.posix-ctermid","name":"posix_ctermid","description":"Get path name of controlling terminal","tag":"refentry","type":"Function","methodName":"posix_ctermid"},{"id":"function.posix-eaccess","name":"posix_eaccess","description":"Determine accessibility of a file","tag":"refentry","type":"Function","methodName":"posix_eaccess"},{"id":"function.posix-errno","name":"posix_errno","description":"Alias of posix_get_last_error","tag":"refentry","type":"Function","methodName":"posix_errno"},{"id":"function.posix-fpathconf","name":"posix_fpathconf","description":"Returns the value of a configurable limit","tag":"refentry","type":"Function","methodName":"posix_fpathconf"},{"id":"function.posix-get-last-error","name":"posix_get_last_error","description":"Retrieve the error number set by the last posix function that failed","tag":"refentry","type":"Function","methodName":"posix_get_last_error"},{"id":"function.posix-getcwd","name":"posix_getcwd","description":"Pathname of current directory","tag":"refentry","type":"Function","methodName":"posix_getcwd"},{"id":"function.posix-getegid","name":"posix_getegid","description":"Return the effective group ID of the current process","tag":"refentry","type":"Function","methodName":"posix_getegid"},{"id":"function.posix-geteuid","name":"posix_geteuid","description":"Return the effective user ID of the current process","tag":"refentry","type":"Function","methodName":"posix_geteuid"},{"id":"function.posix-getgid","name":"posix_getgid","description":"Return the real group ID of the current process","tag":"refentry","type":"Function","methodName":"posix_getgid"},{"id":"function.posix-getgrgid","name":"posix_getgrgid","description":"Return info about a group by group id","tag":"refentry","type":"Function","methodName":"posix_getgrgid"},{"id":"function.posix-getgrnam","name":"posix_getgrnam","description":"Return info about a group by name","tag":"refentry","type":"Function","methodName":"posix_getgrnam"},{"id":"function.posix-getgroups","name":"posix_getgroups","description":"Return the group set of the current process","tag":"refentry","type":"Function","methodName":"posix_getgroups"},{"id":"function.posix-getlogin","name":"posix_getlogin","description":"Return login name","tag":"refentry","type":"Function","methodName":"posix_getlogin"},{"id":"function.posix-getpgid","name":"posix_getpgid","description":"Get process group id for job control","tag":"refentry","type":"Function","methodName":"posix_getpgid"},{"id":"function.posix-getpgrp","name":"posix_getpgrp","description":"Return the current process group identifier","tag":"refentry","type":"Function","methodName":"posix_getpgrp"},{"id":"function.posix-getpid","name":"posix_getpid","description":"Return the current process identifier","tag":"refentry","type":"Function","methodName":"posix_getpid"},{"id":"function.posix-getppid","name":"posix_getppid","description":"Return the parent process identifier","tag":"refentry","type":"Function","methodName":"posix_getppid"},{"id":"function.posix-getpwnam","name":"posix_getpwnam","description":"Return info about a user by username","tag":"refentry","type":"Function","methodName":"posix_getpwnam"},{"id":"function.posix-getpwuid","name":"posix_getpwuid","description":"Return info about a user by user id","tag":"refentry","type":"Function","methodName":"posix_getpwuid"},{"id":"function.posix-getrlimit","name":"posix_getrlimit","description":"Return info about system resource limits","tag":"refentry","type":"Function","methodName":"posix_getrlimit"},{"id":"function.posix-getsid","name":"posix_getsid","description":"Get the current sid of the process","tag":"refentry","type":"Function","methodName":"posix_getsid"},{"id":"function.posix-getuid","name":"posix_getuid","description":"Return the real user ID of the current process","tag":"refentry","type":"Function","methodName":"posix_getuid"},{"id":"function.posix-initgroups","name":"posix_initgroups","description":"Calculate the group access list","tag":"refentry","type":"Function","methodName":"posix_initgroups"},{"id":"function.posix-isatty","name":"posix_isatty","description":"Determine if a file descriptor is an interactive terminal","tag":"refentry","type":"Function","methodName":"posix_isatty"},{"id":"function.posix-kill","name":"posix_kill","description":"Send a signal to a process","tag":"refentry","type":"Function","methodName":"posix_kill"},{"id":"function.posix-mkfifo","name":"posix_mkfifo","description":"Create a fifo special file (a named pipe)","tag":"refentry","type":"Function","methodName":"posix_mkfifo"},{"id":"function.posix-mknod","name":"posix_mknod","description":"Create a special or ordinary file (POSIX.1)","tag":"refentry","type":"Function","methodName":"posix_mknod"},{"id":"function.posix-pathconf","name":"posix_pathconf","description":"Returns the value of a configurable limit","tag":"refentry","type":"Function","methodName":"posix_pathconf"},{"id":"function.posix-setegid","name":"posix_setegid","description":"Set the effective GID of the current process","tag":"refentry","type":"Function","methodName":"posix_setegid"},{"id":"function.posix-seteuid","name":"posix_seteuid","description":"Set the effective UID of the current process","tag":"refentry","type":"Function","methodName":"posix_seteuid"},{"id":"function.posix-setgid","name":"posix_setgid","description":"Set the GID of the current process","tag":"refentry","type":"Function","methodName":"posix_setgid"},{"id":"function.posix-setpgid","name":"posix_setpgid","description":"Set process group id for job control","tag":"refentry","type":"Function","methodName":"posix_setpgid"},{"id":"function.posix-setrlimit","name":"posix_setrlimit","description":"Set system resource limits","tag":"refentry","type":"Function","methodName":"posix_setrlimit"},{"id":"function.posix-setsid","name":"posix_setsid","description":"Make the current process a session leader","tag":"refentry","type":"Function","methodName":"posix_setsid"},{"id":"function.posix-setuid","name":"posix_setuid","description":"Set the UID of the current process","tag":"refentry","type":"Function","methodName":"posix_setuid"},{"id":"function.posix-strerror","name":"posix_strerror","description":"Retrieve the system error message associated with the given errno","tag":"refentry","type":"Function","methodName":"posix_strerror"},{"id":"function.posix-sysconf","name":"posix_sysconf","description":"Returns system runtime information","tag":"refentry","type":"Function","methodName":"posix_sysconf"},{"id":"function.posix-times","name":"posix_times","description":"Get process times","tag":"refentry","type":"Function","methodName":"posix_times"},{"id":"function.posix-ttyname","name":"posix_ttyname","description":"Determine terminal device name","tag":"refentry","type":"Function","methodName":"posix_ttyname"},{"id":"function.posix-uname","name":"posix_uname","description":"Get system name","tag":"refentry","type":"Function","methodName":"posix_uname"},{"id":"ref.posix","name":"POSIX Functions","description":"POSIX","tag":"reference","type":"Extension","methodName":"POSIX Functions"},{"id":"book.posix","name":"POSIX","description":"Process Control Extensions","tag":"book","type":"Extension","methodName":"POSIX"},{"id":"intro.exec","name":"Introduction","description":"System program execution","tag":"preface","type":"General","methodName":"Introduction"},{"id":"exec.resources","name":"Resource Types","description":"System program execution","tag":"section","type":"General","methodName":"Resource Types"},{"id":"exec.setup","name":"Installing\/Configuring","description":"System program execution","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.escapeshellarg","name":"escapeshellarg","description":"Escape a string to be used as a shell argument","tag":"refentry","type":"Function","methodName":"escapeshellarg"},{"id":"function.escapeshellcmd","name":"escapeshellcmd","description":"Escape shell metacharacters","tag":"refentry","type":"Function","methodName":"escapeshellcmd"},{"id":"function.exec","name":"exec","description":"Execute an external program","tag":"refentry","type":"Function","methodName":"exec"},{"id":"function.passthru","name":"passthru","description":"Execute an external program and display raw output","tag":"refentry","type":"Function","methodName":"passthru"},{"id":"function.proc-close","name":"proc_close","description":"Close a process opened by proc_open and return the exit code of that process","tag":"refentry","type":"Function","methodName":"proc_close"},{"id":"function.proc-get-status","name":"proc_get_status","description":"Get information about a process opened by proc_open","tag":"refentry","type":"Function","methodName":"proc_get_status"},{"id":"function.proc-nice","name":"proc_nice","description":"Change the priority of the current process","tag":"refentry","type":"Function","methodName":"proc_nice"},{"id":"function.proc-open","name":"proc_open","description":"Execute a command and open file pointers for input\/output","tag":"refentry","type":"Function","methodName":"proc_open"},{"id":"function.proc-terminate","name":"proc_terminate","description":"Kills a process opened by proc_open","tag":"refentry","type":"Function","methodName":"proc_terminate"},{"id":"function.shell-exec","name":"shell_exec","description":"Execute command via shell and return the complete output as a string","tag":"refentry","type":"Function","methodName":"shell_exec"},{"id":"function.system","name":"system","description":"Execute an external program and display the output","tag":"refentry","type":"Function","methodName":"system"},{"id":"ref.exec","name":"Program execution Functions","description":"System program execution","tag":"reference","type":"Extension","methodName":"Program execution Functions"},{"id":"book.exec","name":"Program execution","description":"System program execution","tag":"book","type":"Extension","methodName":"Program execution"},{"id":"intro.parallel","name":"Introduction","description":"parallel","tag":"preface","type":"General","methodName":"Introduction"},{"id":"parallel.setup","name":"Installation","description":"parallel","tag":"chapter","type":"General","methodName":"Installation"},{"id":"philosophy.parallel","name":"Philosophy","description":"parallel","tag":"chapter","type":"General","methodName":"Philosophy"},{"id":"parallel.bootstrap","name":"parallel\\bootstrap","description":"Bootstrapping","tag":"refentry","type":"Function","methodName":"parallel\\bootstrap"},{"id":"parallel.run","name":"parallel\\run","description":"Execution","tag":"refentry","type":"Function","methodName":"parallel\\run"},{"id":"functional.parallel","name":"Functional API","description":"parallel","tag":"reference","type":"Extension","methodName":"Functional API"},{"id":"parallel-runtime.construct","name":"parallel\\Runtime::__construct","description":"Runtime Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"parallel-runtime.run","name":"parallel\\Runtime::run","description":"Execution","tag":"refentry","type":"Function","methodName":"run"},{"id":"parallel-runtime.close","name":"parallel\\Runtime::close","description":"Runtime Graceful Join","tag":"refentry","type":"Function","methodName":"close"},{"id":"parallel-runtime.kill","name":"parallel\\Runtime::kill","description":"Runtime Join","tag":"refentry","type":"Function","methodName":"kill"},{"id":"class.parallel-runtime","name":"parallel\\Runtime","description":"The parallel\\Runtime class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Runtime"},{"id":"parallel-future.cancel","name":"parallel\\Future::cancel","description":"Cancellation","tag":"refentry","type":"Function","methodName":"cancel"},{"id":"parallel-future.cancelled","name":"parallel\\Future::cancelled","description":"State Detection","tag":"refentry","type":"Function","methodName":"cancelled"},{"id":"parallel-future.done","name":"parallel\\Future::done","description":"State Detection","tag":"refentry","type":"Function","methodName":"done"},{"id":"parallel-future.value","name":"parallel\\Future::value","description":"Resolution","tag":"refentry","type":"Function","methodName":"value"},{"id":"class.parallel-future","name":"parallel\\Future","description":"The parallel\\Future class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Future"},{"id":"parallel-channel.construct","name":"parallel\\Channel::__construct","description":"Channel Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"parallel-channel.make","name":"parallel\\Channel::make","description":"Access","tag":"refentry","type":"Function","methodName":"make"},{"id":"parallel-channel.open","name":"parallel\\Channel::open","description":"Access","tag":"refentry","type":"Function","methodName":"open"},{"id":"parallel-channel.recv","name":"parallel\\Channel::recv","description":"Sharing","tag":"refentry","type":"Function","methodName":"recv"},{"id":"parallel-channel.send","name":"parallel\\Channel::send","description":"Sharing","tag":"refentry","type":"Function","methodName":"send"},{"id":"parallel-channel.close","name":"parallel\\Channel::close","description":"Closing","tag":"refentry","type":"Function","methodName":"close"},{"id":"class.parallel-channel","name":"parallel\\Channel","description":"The parallel\\Channel class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Channel"},{"id":"parallel-events.setblocking","name":"parallel\\Events::setBlocking","description":"Behaviour","tag":"refentry","type":"Function","methodName":"setBlocking"},{"id":"parallel-events.settimeout","name":"parallel\\Events::setTimeout","description":"Behaviour","tag":"refentry","type":"Function","methodName":"setTimeout"},{"id":"parallel-events.setinput","name":"parallel\\Events::setInput","description":"Input","tag":"refentry","type":"Function","methodName":"setInput"},{"id":"parallel-events.addchannel","name":"parallel\\Events::addChannel","description":"Targets","tag":"refentry","type":"Function","methodName":"addChannel"},{"id":"parallel-events.addfuture","name":"parallel\\Events::addFuture","description":"Targets","tag":"refentry","type":"Function","methodName":"addFuture"},{"id":"parallel-events.remove","name":"parallel\\Events::remove","description":"Targets","tag":"refentry","type":"Function","methodName":"remove"},{"id":"parallel-events.poll","name":"parallel\\Events::poll","description":"Polling","tag":"refentry","type":"Function","methodName":"poll"},{"id":"class.parallel-events","name":"parallel\\Events","description":"The parallel\\Events class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Events"},{"id":"parallel-events-input.add","name":"parallel\\Events\\Input::add","description":"Inputs","tag":"refentry","type":"Function","methodName":"add"},{"id":"parallel-events-input.clear","name":"parallel\\Events\\Input::clear","description":"Inputs","tag":"refentry","type":"Function","methodName":"clear"},{"id":"parallel-events-input.remove","name":"parallel\\Events\\Input::remove","description":"Inputs","tag":"refentry","type":"Function","methodName":"remove"},{"id":"class.parallel-events-input","name":"parallel\\Events\\Input","description":"The parallel\\Events\\Input class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Events\\Input"},{"id":"class.parallel-events-event","name":"parallel\\Events\\Event","description":"The parallel\\Events\\Event class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Events\\Event"},{"id":"class.parallel-events-event-type","name":"parallel\\Events\\Event\\Type","description":"The parallel\\Events\\Event\\Type class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Events\\Event\\Type"},{"id":"parallel-sync.construct","name":"parallel\\Sync::__construct","description":"Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"parallel-sync.get","name":"parallel\\Sync::get","description":"Access","tag":"refentry","type":"Function","methodName":"get"},{"id":"parallel-sync.set","name":"parallel\\Sync::set","description":"Access","tag":"refentry","type":"Function","methodName":"set"},{"id":"parallel-sync.wait","name":"parallel\\Sync::wait","description":"Synchronization","tag":"refentry","type":"Function","methodName":"wait"},{"id":"parallel-sync.notify","name":"parallel\\Sync::notify","description":"Synchronization","tag":"refentry","type":"Function","methodName":"notify"},{"id":"parallel-sync.invoke","name":"parallel\\Sync::__invoke","description":"Synchronization","tag":"refentry","type":"Function","methodName":"__invoke"},{"id":"class.parallel-sync","name":"parallel\\Sync","description":"The parallel\\Sync class","tag":"phpdoc:classref","type":"Class","methodName":"parallel\\Sync"},{"id":"book.parallel","name":"parallel","description":"parallel","tag":"book","type":"Extension","methodName":"parallel"},{"id":"intro.pthreads","name":"Introduction","description":"pthreads","tag":"preface","type":"General","methodName":"Introduction"},{"id":"pthreads.requirements","name":"Requirements","description":"pthreads","tag":"section","type":"General","methodName":"Requirements"},{"id":"pthreads.installation","name":"Installation","description":"pthreads","tag":"section","type":"General","methodName":"Installation"},{"id":"pthreads.setup","name":"Installing\/Configuring","description":"pthreads","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"pthreads.constants","name":"Predefined Constants","description":"pthreads","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"threaded.chunk","name":"Threaded::chunk","description":"Manipulation","tag":"refentry","type":"Function","methodName":"chunk"},{"id":"threaded.count","name":"Threaded::count","description":"Manipulation","tag":"refentry","type":"Function","methodName":"count"},{"id":"threaded.extend","name":"Threaded::extend","description":"Runtime Manipulation","tag":"refentry","type":"Function","methodName":"extend"},{"id":"thread.isrunning","name":"Threaded::isRunning","description":"State Detection","tag":"refentry","type":"Function","methodName":"isRunning"},{"id":"threaded.isterminated","name":"Threaded::isTerminated","description":"State Detection","tag":"refentry","type":"Function","methodName":"isTerminated"},{"id":"threaded.merge","name":"Threaded::merge","description":"Manipulation","tag":"refentry","type":"Function","methodName":"merge"},{"id":"threaded.notify","name":"Threaded::notify","description":"Synchronization","tag":"refentry","type":"Function","methodName":"notify"},{"id":"threaded.notifyone","name":"Threaded::notifyOne","description":"Synchronization","tag":"refentry","type":"Function","methodName":"notifyOne"},{"id":"threaded.pop","name":"Threaded::pop","description":"Manipulation","tag":"refentry","type":"Function","methodName":"pop"},{"id":"threaded.run","name":"Threaded::run","description":"Execution","tag":"refentry","type":"Function","methodName":"run"},{"id":"threaded.shift","name":"Threaded::shift","description":"Manipulation","tag":"refentry","type":"Function","methodName":"shift"},{"id":"threaded.synchronized","name":"Threaded::synchronized","description":"Synchronization","tag":"refentry","type":"Function","methodName":"synchronized"},{"id":"threaded.wait","name":"Threaded::wait","description":"Synchronization","tag":"refentry","type":"Function","methodName":"wait"},{"id":"class.threaded","name":"Threaded","description":"The Threaded class","tag":"phpdoc:classref","type":"Class","methodName":"Threaded"},{"id":"thread.getcreatorid","name":"Thread::getCreatorId","description":"Identification","tag":"refentry","type":"Function","methodName":"getCreatorId"},{"id":"thread.getcurrentthread","name":"Thread::getCurrentThread","description":"Identification","tag":"refentry","type":"Function","methodName":"getCurrentThread"},{"id":"thread.getcurrentthreadid","name":"Thread::getCurrentThreadId","description":"Identification","tag":"refentry","type":"Function","methodName":"getCurrentThreadId"},{"id":"thread.getthreadid","name":"Thread::getThreadId","description":"Identification","tag":"refentry","type":"Function","methodName":"getThreadId"},{"id":"thread.isjoined","name":"Thread::isJoined","description":"State Detection","tag":"refentry","type":"Function","methodName":"isJoined"},{"id":"thread.isstarted","name":"Thread::isStarted","description":"State Detection","tag":"refentry","type":"Function","methodName":"isStarted"},{"id":"thread.join","name":"Thread::join","description":"Synchronization","tag":"refentry","type":"Function","methodName":"join"},{"id":"thread.start","name":"Thread::start","description":"Execution","tag":"refentry","type":"Function","methodName":"start"},{"id":"class.thread","name":"Thread","description":"The Thread class","tag":"phpdoc:classref","type":"Class","methodName":"Thread"},{"id":"worker.collect","name":"Worker::collect","description":"Collect references to completed tasks","tag":"refentry","type":"Function","methodName":"collect"},{"id":"worker.getstacked","name":"Worker::getStacked","description":"Gets the remaining stack size","tag":"refentry","type":"Function","methodName":"getStacked"},{"id":"worker.isshutdown","name":"Worker::isShutdown","description":"State Detection","tag":"refentry","type":"Function","methodName":"isShutdown"},{"id":"worker.shutdown","name":"Worker::shutdown","description":"Shutdown the worker","tag":"refentry","type":"Function","methodName":"shutdown"},{"id":"worker.stack","name":"Worker::stack","description":"Stacking work","tag":"refentry","type":"Function","methodName":"stack"},{"id":"worker.unstack","name":"Worker::unstack","description":"Unstacking work","tag":"refentry","type":"Function","methodName":"unstack"},{"id":"class.worker","name":"Worker","description":"The Worker class","tag":"phpdoc:classref","type":"Class","methodName":"Worker"},{"id":"collectable.isgarbage","name":"Collectable::isGarbage","description":"Determine whether an object has been marked as garbage","tag":"refentry","type":"Function","methodName":"isGarbage"},{"id":"class.collectable","name":"Collectable","description":"The Collectable interface","tag":"phpdoc:classref","type":"Class","methodName":"Collectable"},{"id":"pool.collect","name":"Pool::collect","description":"Collect references to completed tasks","tag":"refentry","type":"Function","methodName":"collect"},{"id":"pool.construct","name":"Pool::__construct","description":"Creates a new Pool of Workers","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"pool.resize","name":"Pool::resize","description":"Resize the Pool","tag":"refentry","type":"Function","methodName":"resize"},{"id":"pool.shutdown","name":"Pool::shutdown","description":"Shutdown all workers","tag":"refentry","type":"Function","methodName":"shutdown"},{"id":"pool.submit","name":"Pool::submit","description":"Submits an object for execution","tag":"refentry","type":"Function","methodName":"submit"},{"id":"pool.submitTo","name":"Pool::submitTo","description":"Submits a task to a specific worker for execution","tag":"refentry","type":"Function","methodName":"submitTo"},{"id":"class.pool","name":"Pool","description":"The Pool class","tag":"phpdoc:classref","type":"Class","methodName":"Pool"},{"id":"class.volatile","name":"Volatile","description":"The Volatile class","tag":"phpdoc:classref","type":"Class","methodName":"Volatile"},{"id":"book.pthreads","name":"pthreads","description":"pthreads","tag":"book","type":"Extension","methodName":"pthreads"},{"id":"intro.sem","name":"Introduction","description":"Semaphore, Shared Memory and IPC","tag":"preface","type":"General","methodName":"Introduction"},{"id":"sem.installation","name":"Installation","description":"Semaphore, Shared Memory and IPC","tag":"section","type":"General","methodName":"Installation"},{"id":"sem.configuration","name":"Runtime Configuration","description":"Semaphore, Shared Memory and IPC","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"sem.resources","name":"Resource Types","description":"Semaphore, Shared Memory and IPC","tag":"section","type":"General","methodName":"Resource Types"},{"id":"sem.setup","name":"Installing\/Configuring","description":"Semaphore, Shared Memory and IPC","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"sem.constants","name":"Predefined Constants","description":"Semaphore, Shared Memory and IPC","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.ftok","name":"ftok","description":"Convert a pathname and a project identifier to a System V IPC key","tag":"refentry","type":"Function","methodName":"ftok"},{"id":"function.msg-get-queue","name":"msg_get_queue","description":"Create or attach to a message queue","tag":"refentry","type":"Function","methodName":"msg_get_queue"},{"id":"function.msg-queue-exists","name":"msg_queue_exists","description":"Check whether a message queue exists","tag":"refentry","type":"Function","methodName":"msg_queue_exists"},{"id":"function.msg-receive","name":"msg_receive","description":"Receive a message from a message queue","tag":"refentry","type":"Function","methodName":"msg_receive"},{"id":"function.msg-remove-queue","name":"msg_remove_queue","description":"Destroy a message queue","tag":"refentry","type":"Function","methodName":"msg_remove_queue"},{"id":"function.msg-send","name":"msg_send","description":"Send a message to a message queue","tag":"refentry","type":"Function","methodName":"msg_send"},{"id":"function.msg-set-queue","name":"msg_set_queue","description":"Set information in the message queue data structure","tag":"refentry","type":"Function","methodName":"msg_set_queue"},{"id":"function.msg-stat-queue","name":"msg_stat_queue","description":"Returns information from the message queue data structure","tag":"refentry","type":"Function","methodName":"msg_stat_queue"},{"id":"function.sem-acquire","name":"sem_acquire","description":"Acquire a semaphore","tag":"refentry","type":"Function","methodName":"sem_acquire"},{"id":"function.sem-get","name":"sem_get","description":"Get a semaphore id","tag":"refentry","type":"Function","methodName":"sem_get"},{"id":"function.sem-release","name":"sem_release","description":"Release a semaphore","tag":"refentry","type":"Function","methodName":"sem_release"},{"id":"function.sem-remove","name":"sem_remove","description":"Remove a semaphore","tag":"refentry","type":"Function","methodName":"sem_remove"},{"id":"function.shm-attach","name":"shm_attach","description":"Creates or open a shared memory segment","tag":"refentry","type":"Function","methodName":"shm_attach"},{"id":"function.shm-detach","name":"shm_detach","description":"Disconnects from shared memory segment","tag":"refentry","type":"Function","methodName":"shm_detach"},{"id":"function.shm-get-var","name":"shm_get_var","description":"Returns a variable from shared memory","tag":"refentry","type":"Function","methodName":"shm_get_var"},{"id":"function.shm-has-var","name":"shm_has_var","description":"Check whether a specific entry exists","tag":"refentry","type":"Function","methodName":"shm_has_var"},{"id":"function.shm-put-var","name":"shm_put_var","description":"Inserts or updates a variable in shared memory","tag":"refentry","type":"Function","methodName":"shm_put_var"},{"id":"function.shm-remove","name":"shm_remove","description":"Removes shared memory from Unix systems","tag":"refentry","type":"Function","methodName":"shm_remove"},{"id":"function.shm-remove-var","name":"shm_remove_var","description":"Removes a variable from shared memory","tag":"refentry","type":"Function","methodName":"shm_remove_var"},{"id":"ref.sem","name":"Semaphore Functions","description":"Semaphore, Shared Memory and IPC","tag":"reference","type":"Extension","methodName":"Semaphore Functions"},{"id":"class.sysvmessagequeue","name":"SysvMessageQueue","description":"The SysvMessageQueue class","tag":"phpdoc:classref","type":"Class","methodName":"SysvMessageQueue"},{"id":"class.sysvsemaphore","name":"SysvSemaphore","description":"The SysvSemaphore class","tag":"phpdoc:classref","type":"Class","methodName":"SysvSemaphore"},{"id":"class.sysvsharedmemory","name":"SysvSharedMemory","description":"The SysvSharedMemory class","tag":"phpdoc:classref","type":"Class","methodName":"SysvSharedMemory"},{"id":"book.sem","name":"Semaphore","description":"Semaphore, Shared Memory and IPC","tag":"book","type":"Extension","methodName":"Semaphore"},{"id":"intro.shmop","name":"Introduction","description":"Shared Memory","tag":"preface","type":"General","methodName":"Introduction"},{"id":"shmop.installation","name":"Installation","description":"Shared Memory","tag":"section","type":"General","methodName":"Installation"},{"id":"shmop.resources","name":"Resource Types","description":"Shared Memory","tag":"section","type":"General","methodName":"Resource Types"},{"id":"shmop.setup","name":"Installing\/Configuring","description":"Shared Memory","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"shmop.examples-basic","name":"Basic usage","description":"Shared Memory","tag":"section","type":"General","methodName":"Basic usage"},{"id":"shmop.examples","name":"Examples","description":"Shared Memory","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.shmop-close","name":"shmop_close","description":"Close shared memory block","tag":"refentry","type":"Function","methodName":"shmop_close"},{"id":"function.shmop-delete","name":"shmop_delete","description":"Delete shared memory block","tag":"refentry","type":"Function","methodName":"shmop_delete"},{"id":"function.shmop-open","name":"shmop_open","description":"Create or open shared memory block","tag":"refentry","type":"Function","methodName":"shmop_open"},{"id":"function.shmop-read","name":"shmop_read","description":"Read data from shared memory block","tag":"refentry","type":"Function","methodName":"shmop_read"},{"id":"function.shmop-size","name":"shmop_size","description":"Get size of shared memory block","tag":"refentry","type":"Function","methodName":"shmop_size"},{"id":"function.shmop-write","name":"shmop_write","description":"Write data into shared memory block","tag":"refentry","type":"Function","methodName":"shmop_write"},{"id":"ref.shmop","name":"Shared Memory Functions","description":"Shared Memory","tag":"reference","type":"Extension","methodName":"Shared Memory Functions"},{"id":"class.shmop","name":"Shmop","description":"The Shmop class","tag":"phpdoc:classref","type":"Class","methodName":"Shmop"},{"id":"book.shmop","name":"Shared Memory","description":"Process Control Extensions","tag":"book","type":"Extension","methodName":"Shared Memory"},{"id":"intro.sync","name":"Introduction","description":"Sync","tag":"preface","type":"General","methodName":"Introduction"},{"id":"sync.requirements","name":"Requirements","description":"Sync","tag":"section","type":"General","methodName":"Requirements"},{"id":"sync.installation","name":"Installation","description":"Sync","tag":"section","type":"General","methodName":"Installation"},{"id":"sync.setup","name":"Installing\/Configuring","description":"Sync","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"syncmutex.construct","name":"SyncMutex::__construct","description":"Constructs a new SyncMutex object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"syncmutex.lock","name":"SyncMutex::lock","description":"Waits for an exclusive lock","tag":"refentry","type":"Function","methodName":"lock"},{"id":"syncmutex.unlock","name":"SyncMutex::unlock","description":"Unlocks the mutex","tag":"refentry","type":"Function","methodName":"unlock"},{"id":"class.syncmutex","name":"SyncMutex","description":"The SyncMutex class","tag":"phpdoc:classref","type":"Class","methodName":"SyncMutex"},{"id":"syncsemaphore.construct","name":"SyncSemaphore::__construct","description":"Constructs a new SyncSemaphore object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"syncsemaphore.lock","name":"SyncSemaphore::lock","description":"Decreases the count of the semaphore or waits","tag":"refentry","type":"Function","methodName":"lock"},{"id":"syncsemaphore.unlock","name":"SyncSemaphore::unlock","description":"Increases the count of the semaphore","tag":"refentry","type":"Function","methodName":"unlock"},{"id":"class.syncsemaphore","name":"SyncSemaphore","description":"The SyncSemaphore class","tag":"phpdoc:classref","type":"Class","methodName":"SyncSemaphore"},{"id":"syncevent.construct","name":"SyncEvent::__construct","description":"Constructs a new SyncEvent object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"syncevent.fire","name":"SyncEvent::fire","description":"Fires\/sets the event","tag":"refentry","type":"Function","methodName":"fire"},{"id":"syncevent.reset","name":"SyncEvent::reset","description":"Resets a manual event","tag":"refentry","type":"Function","methodName":"reset"},{"id":"syncevent.wait","name":"SyncEvent::wait","description":"Waits for the event to be fired\/set","tag":"refentry","type":"Function","methodName":"wait"},{"id":"class.syncevent","name":"SyncEvent","description":"The SyncEvent class","tag":"phpdoc:classref","type":"Class","methodName":"SyncEvent"},{"id":"syncreaderwriter.construct","name":"SyncReaderWriter::__construct","description":"Constructs a new SyncReaderWriter object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"syncreaderwriter.readlock","name":"SyncReaderWriter::readlock","description":"Waits for a read lock","tag":"refentry","type":"Function","methodName":"readlock"},{"id":"syncreaderwriter.readunlock","name":"SyncReaderWriter::readunlock","description":"Releases a read lock","tag":"refentry","type":"Function","methodName":"readunlock"},{"id":"syncreaderwriter.writelock","name":"SyncReaderWriter::writelock","description":"Waits for an exclusive write lock","tag":"refentry","type":"Function","methodName":"writelock"},{"id":"syncreaderwriter.writeunlock","name":"SyncReaderWriter::writeunlock","description":"Releases a write lock","tag":"refentry","type":"Function","methodName":"writeunlock"},{"id":"class.syncreaderwriter","name":"SyncReaderWriter","description":"The SyncReaderWriter class","tag":"phpdoc:classref","type":"Class","methodName":"SyncReaderWriter"},{"id":"syncsharedmemory.construct","name":"SyncSharedMemory::__construct","description":"Constructs a new SyncSharedMemory object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"syncsharedmemory.first","name":"SyncSharedMemory::first","description":"Check to see if the object is the first instance system-wide of named shared memory","tag":"refentry","type":"Function","methodName":"first"},{"id":"syncsharedmemory.read","name":"SyncSharedMemory::read","description":"Copy data from named shared memory","tag":"refentry","type":"Function","methodName":"read"},{"id":"syncsharedmemory.size","name":"SyncSharedMemory::size","description":"Returns the size of the named shared memory","tag":"refentry","type":"Function","methodName":"size"},{"id":"syncsharedmemory.write","name":"SyncSharedMemory::write","description":"Copy data to named shared memory","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.syncsharedmemory","name":"SyncSharedMemory","description":"The SyncSharedMemory class","tag":"phpdoc:classref","type":"Class","methodName":"SyncSharedMemory"},{"id":"book.sync","name":"Sync","description":"Sync","tag":"book","type":"Extension","methodName":"Sync"},{"id":"refs.fileprocess.process","name":"Process Control Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Process Control Extensions"},{"id":"intro.geoip","name":"Introduction","description":"Geo IP Location","tag":"preface","type":"General","methodName":"Introduction"},{"id":"geoip.requirements","name":"Requirements","description":"Geo IP Location","tag":"section","type":"General","methodName":"Requirements"},{"id":"geoip.installation","name":"Installation","description":"Geo IP Location","tag":"section","type":"General","methodName":"Installation"},{"id":"geoip.configuration","name":"Runtime Configuration","description":"Geo IP Location","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"geoip.setup","name":"Installing\/Configuring","description":"Geo IP Location","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"geoip.constants","name":"Predefined Constants","description":"Geo IP Location","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.geoip-asnum-by-name","name":"geoip_asnum_by_name","description":"Get the Autonomous System Numbers (ASN)","tag":"refentry","type":"Function","methodName":"geoip_asnum_by_name"},{"id":"function.geoip-continent-code-by-name","name":"geoip_continent_code_by_name","description":"Get the two letter continent code","tag":"refentry","type":"Function","methodName":"geoip_continent_code_by_name"},{"id":"function.geoip-country-code-by-name","name":"geoip_country_code_by_name","description":"Get the two letter country code","tag":"refentry","type":"Function","methodName":"geoip_country_code_by_name"},{"id":"function.geoip-country-code3-by-name","name":"geoip_country_code3_by_name","description":"Get the three letter country code","tag":"refentry","type":"Function","methodName":"geoip_country_code3_by_name"},{"id":"function.geoip-country-name-by-name","name":"geoip_country_name_by_name","description":"Get the full country name","tag":"refentry","type":"Function","methodName":"geoip_country_name_by_name"},{"id":"function.geoip-database-info","name":"geoip_database_info","description":"Get GeoIP Database information","tag":"refentry","type":"Function","methodName":"geoip_database_info"},{"id":"function.geoip-db-avail","name":"geoip_db_avail","description":"Determine if GeoIP Database is available","tag":"refentry","type":"Function","methodName":"geoip_db_avail"},{"id":"function.geoip-db-filename","name":"geoip_db_filename","description":"Returns the filename of the corresponding GeoIP Database","tag":"refentry","type":"Function","methodName":"geoip_db_filename"},{"id":"function.geoip-db-get-all-info","name":"geoip_db_get_all_info","description":"Returns detailed information about all GeoIP database types","tag":"refentry","type":"Function","methodName":"geoip_db_get_all_info"},{"id":"function.geoip-domain-by-name","name":"geoip_domain_by_name","description":"Get the second level domain name","tag":"refentry","type":"Function","methodName":"geoip_domain_by_name"},{"id":"function.geoip-id-by-name","name":"geoip_id_by_name","description":"Get the Internet connection type","tag":"refentry","type":"Function","methodName":"geoip_id_by_name"},{"id":"function.geoip-isp-by-name","name":"geoip_isp_by_name","description":"Get the Internet Service Provider (ISP) name","tag":"refentry","type":"Function","methodName":"geoip_isp_by_name"},{"id":"function.geoip-netspeedcell-by-name","name":"geoip_netspeedcell_by_name","description":"Get the Internet connection speed","tag":"refentry","type":"Function","methodName":"geoip_netspeedcell_by_name"},{"id":"function.geoip-org-by-name","name":"geoip_org_by_name","description":"Get the organization name","tag":"refentry","type":"Function","methodName":"geoip_org_by_name"},{"id":"function.geoip-record-by-name","name":"geoip_record_by_name","description":"Returns the detailed City information found in the GeoIP Database","tag":"refentry","type":"Function","methodName":"geoip_record_by_name"},{"id":"function.geoip-region-by-name","name":"geoip_region_by_name","description":"Get the country code and region","tag":"refentry","type":"Function","methodName":"geoip_region_by_name"},{"id":"function.geoip-region-name-by-code","name":"geoip_region_name_by_code","description":"Returns the region name for some country and region code combo","tag":"refentry","type":"Function","methodName":"geoip_region_name_by_code"},{"id":"function.geoip-setup-custom-directory","name":"geoip_setup_custom_directory","description":"Set a custom directory for the GeoIP database","tag":"refentry","type":"Function","methodName":"geoip_setup_custom_directory"},{"id":"function.geoip-time-zone-by-country-and-region","name":"geoip_time_zone_by_country_and_region","description":"Returns the time zone for some country and region code combo","tag":"refentry","type":"Function","methodName":"geoip_time_zone_by_country_and_region"},{"id":"ref.geoip","name":"GeoIP Functions","description":"Geo IP Location","tag":"reference","type":"Extension","methodName":"GeoIP Functions"},{"id":"book.geoip","name":"GeoIP","description":"Geo IP Location","tag":"book","type":"Extension","methodName":"GeoIP"},{"id":"intro.fann","name":"Introduction","description":"FANN (Fast Artificial Neural Network)","tag":"preface","type":"General","methodName":"Introduction"},{"id":"fann.requirements","name":"Requirements","description":"FANN (Fast Artificial Neural Network)","tag":"section","type":"General","methodName":"Requirements"},{"id":"fann.installation","name":"Installation","description":"FANN (Fast Artificial Neural Network)","tag":"section","type":"General","methodName":"Installation"},{"id":"fann.resources","name":"Resource Types","description":"FANN (Fast Artificial Neural Network)","tag":"section","type":"General","methodName":"Resource Types"},{"id":"fann.setup","name":"Installing\/Configuring","description":"FANN (Fast Artificial Neural Network)","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"fann.constants","name":"Predefined Constants","description":"FANN (Fast Artificial Neural Network)","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"fann.examples-1","name":"XOR training","description":"FANN (Fast Artificial Neural Network)","tag":"section","type":"General","methodName":"XOR training"},{"id":"fann.examples","name":"Examples","description":"FANN (Fast Artificial Neural Network)","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.fann-cascadetrain-on-data","name":"fann_cascadetrain_on_data","description":"Trains on an entire dataset, for a period of time using the Cascade2 training algorithm","tag":"refentry","type":"Function","methodName":"fann_cascadetrain_on_data"},{"id":"function.fann-cascadetrain-on-file","name":"fann_cascadetrain_on_file","description":"Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm","tag":"refentry","type":"Function","methodName":"fann_cascadetrain_on_file"},{"id":"function.fann-clear-scaling-params","name":"fann_clear_scaling_params","description":"Clears scaling parameters","tag":"refentry","type":"Function","methodName":"fann_clear_scaling_params"},{"id":"function.fann-copy","name":"fann_copy","description":"Creates a copy of a fann structure","tag":"refentry","type":"Function","methodName":"fann_copy"},{"id":"function.fann-create-from-file","name":"fann_create_from_file","description":"Constructs a backpropagation neural network from a configuration file","tag":"refentry","type":"Function","methodName":"fann_create_from_file"},{"id":"function.fann-create-shortcut","name":"fann_create_shortcut","description":"Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections","tag":"refentry","type":"Function","methodName":"fann_create_shortcut"},{"id":"function.fann-create-shortcut-array","name":"fann_create_shortcut_array","description":"Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections","tag":"refentry","type":"Function","methodName":"fann_create_shortcut_array"},{"id":"function.fann-create-sparse","name":"fann_create_sparse","description":"Creates a standard backpropagation neural network, which is not fully connected","tag":"refentry","type":"Function","methodName":"fann_create_sparse"},{"id":"function.fann-create-sparse-array","name":"fann_create_sparse_array","description":"Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes","tag":"refentry","type":"Function","methodName":"fann_create_sparse_array"},{"id":"function.fann-create-standard","name":"fann_create_standard","description":"Creates a standard fully connected backpropagation neural network","tag":"refentry","type":"Function","methodName":"fann_create_standard"},{"id":"function.fann-create-standard-array","name":"fann_create_standard_array","description":"Creates a standard fully connected backpropagation neural network using an array of layer sizes","tag":"refentry","type":"Function","methodName":"fann_create_standard_array"},{"id":"function.fann-create-train","name":"fann_create_train","description":"Creates an empty training data struct","tag":"refentry","type":"Function","methodName":"fann_create_train"},{"id":"function.fann-create-train-from-callback","name":"fann_create_train_from_callback","description":"Creates the training data struct from a user supplied function","tag":"refentry","type":"Function","methodName":"fann_create_train_from_callback"},{"id":"function.fann-descale-input","name":"fann_descale_input","description":"Scale data in input vector after get it from ann based on previously calculated parameters","tag":"refentry","type":"Function","methodName":"fann_descale_input"},{"id":"function.fann-descale-output","name":"fann_descale_output","description":"Scale data in output vector after get it from ann based on previously calculated parameters","tag":"refentry","type":"Function","methodName":"fann_descale_output"},{"id":"function.fann-descale-train","name":"fann_descale_train","description":"Descale input and output data based on previously calculated parameters","tag":"refentry","type":"Function","methodName":"fann_descale_train"},{"id":"function.fann-destroy","name":"fann_destroy","description":"Destroys the entire network and properly freeing all the associated memory","tag":"refentry","type":"Function","methodName":"fann_destroy"},{"id":"function.fann-destroy-train","name":"fann_destroy_train","description":"Destructs the training data","tag":"refentry","type":"Function","methodName":"fann_destroy_train"},{"id":"function.fann-duplicate-train-data","name":"fann_duplicate_train_data","description":"Returns an exact copy of a fann train data","tag":"refentry","type":"Function","methodName":"fann_duplicate_train_data"},{"id":"function.fann-get-activation-function","name":"fann_get_activation_function","description":"Returns the activation function","tag":"refentry","type":"Function","methodName":"fann_get_activation_function"},{"id":"function.fann-get-activation-steepness","name":"fann_get_activation_steepness","description":"Returns the activation steepness for supplied neuron and layer number","tag":"refentry","type":"Function","methodName":"fann_get_activation_steepness"},{"id":"function.fann-get-bias-array","name":"fann_get_bias_array","description":"Get the number of bias in each layer in the network","tag":"refentry","type":"Function","methodName":"fann_get_bias_array"},{"id":"function.fann-get-bit-fail","name":"fann_get_bit_fail","description":"The number of fail bits","tag":"refentry","type":"Function","methodName":"fann_get_bit_fail"},{"id":"function.fann-get-bit-fail-limit","name":"fann_get_bit_fail_limit","description":"Returns the bit fail limit used during training","tag":"refentry","type":"Function","methodName":"fann_get_bit_fail_limit"},{"id":"function.fann-get-cascade-activation-functions","name":"fann_get_cascade_activation_functions","description":"Returns the cascade activation functions","tag":"refentry","type":"Function","methodName":"fann_get_cascade_activation_functions"},{"id":"function.fann-get-cascade-activation-functions-count","name":"fann_get_cascade_activation_functions_count","description":"Returns the number of cascade activation functions","tag":"refentry","type":"Function","methodName":"fann_get_cascade_activation_functions_count"},{"id":"function.fann-get-cascade-activation-steepnesses","name":"fann_get_cascade_activation_steepnesses","description":"Returns the cascade activation steepnesses","tag":"refentry","type":"Function","methodName":"fann_get_cascade_activation_steepnesses"},{"id":"function.fann-get-cascade-activation-steepnesses-count","name":"fann_get_cascade_activation_steepnesses_count","description":"The number of activation steepnesses","tag":"refentry","type":"Function","methodName":"fann_get_cascade_activation_steepnesses_count"},{"id":"function.fann-get-cascade-candidate-change-fraction","name":"fann_get_cascade_candidate_change_fraction","description":"Returns the cascade candidate change fraction","tag":"refentry","type":"Function","methodName":"fann_get_cascade_candidate_change_fraction"},{"id":"function.fann-get-cascade-candidate-limit","name":"fann_get_cascade_candidate_limit","description":"Return the candidate limit","tag":"refentry","type":"Function","methodName":"fann_get_cascade_candidate_limit"},{"id":"function.fann-get-cascade-candidate-stagnation-epochs","name":"fann_get_cascade_candidate_stagnation_epochs","description":"Returns the number of cascade candidate stagnation epochs","tag":"refentry","type":"Function","methodName":"fann_get_cascade_candidate_stagnation_epochs"},{"id":"function.fann-get-cascade-max-cand-epochs","name":"fann_get_cascade_max_cand_epochs","description":"Returns the maximum candidate epochs","tag":"refentry","type":"Function","methodName":"fann_get_cascade_max_cand_epochs"},{"id":"function.fann-get-cascade-max-out-epochs","name":"fann_get_cascade_max_out_epochs","description":"Returns the maximum out epochs","tag":"refentry","type":"Function","methodName":"fann_get_cascade_max_out_epochs"},{"id":"function.fann-get-cascade-min-cand-epochs","name":"fann_get_cascade_min_cand_epochs","description":"Returns the minimum candidate epochs","tag":"refentry","type":"Function","methodName":"fann_get_cascade_min_cand_epochs"},{"id":"function.fann-get-cascade-min-out-epochs","name":"fann_get_cascade_min_out_epochs","description":"Returns the minimum out epochs","tag":"refentry","type":"Function","methodName":"fann_get_cascade_min_out_epochs"},{"id":"function.fann-get-cascade-num-candidate-groups","name":"fann_get_cascade_num_candidate_groups","description":"Returns the number of candidate groups","tag":"refentry","type":"Function","methodName":"fann_get_cascade_num_candidate_groups"},{"id":"function.fann-get-cascade-num-candidates","name":"fann_get_cascade_num_candidates","description":"Returns the number of candidates used during training","tag":"refentry","type":"Function","methodName":"fann_get_cascade_num_candidates"},{"id":"function.fann-get-cascade-output-change-fraction","name":"fann_get_cascade_output_change_fraction","description":"Returns the cascade output change fraction","tag":"refentry","type":"Function","methodName":"fann_get_cascade_output_change_fraction"},{"id":"function.fann-get-cascade-output-stagnation-epochs","name":"fann_get_cascade_output_stagnation_epochs","description":"Returns the number of cascade output stagnation epochs","tag":"refentry","type":"Function","methodName":"fann_get_cascade_output_stagnation_epochs"},{"id":"function.fann-get-cascade-weight-multiplier","name":"fann_get_cascade_weight_multiplier","description":"Returns the weight multiplier","tag":"refentry","type":"Function","methodName":"fann_get_cascade_weight_multiplier"},{"id":"function.fann-get-connection-array","name":"fann_get_connection_array","description":"Get connections in the network","tag":"refentry","type":"Function","methodName":"fann_get_connection_array"},{"id":"function.fann-get-connection-rate","name":"fann_get_connection_rate","description":"Get the connection rate used when the network was created","tag":"refentry","type":"Function","methodName":"fann_get_connection_rate"},{"id":"function.fann-get-errno","name":"fann_get_errno","description":"Returns the last error number","tag":"refentry","type":"Function","methodName":"fann_get_errno"},{"id":"function.fann-get-errstr","name":"fann_get_errstr","description":"Returns the last errstr","tag":"refentry","type":"Function","methodName":"fann_get_errstr"},{"id":"function.fann-get-layer-array","name":"fann_get_layer_array","description":"Get the number of neurons in each layer in the network","tag":"refentry","type":"Function","methodName":"fann_get_layer_array"},{"id":"function.fann-get-learning-momentum","name":"fann_get_learning_momentum","description":"Returns the learning momentum","tag":"refentry","type":"Function","methodName":"fann_get_learning_momentum"},{"id":"function.fann-get-learning-rate","name":"fann_get_learning_rate","description":"Returns the learning rate","tag":"refentry","type":"Function","methodName":"fann_get_learning_rate"},{"id":"function.fann-get-mse","name":"fann_get_MSE","description":"Reads the mean square error from the network","tag":"refentry","type":"Function","methodName":"fann_get_MSE"},{"id":"function.fann-get-network-type","name":"fann_get_network_type","description":"Get the type of neural network it was created as","tag":"refentry","type":"Function","methodName":"fann_get_network_type"},{"id":"function.fann-get-num-input","name":"fann_get_num_input","description":"Get the number of input neurons","tag":"refentry","type":"Function","methodName":"fann_get_num_input"},{"id":"function.fann-get-num-layers","name":"fann_get_num_layers","description":"Get the number of layers in the neural network","tag":"refentry","type":"Function","methodName":"fann_get_num_layers"},{"id":"function.fann-get-num-output","name":"fann_get_num_output","description":"Get the number of output neurons","tag":"refentry","type":"Function","methodName":"fann_get_num_output"},{"id":"function.fann-get-quickprop-decay","name":"fann_get_quickprop_decay","description":"Returns the decay which is a factor that weights should decrease in each iteration during quickprop training","tag":"refentry","type":"Function","methodName":"fann_get_quickprop_decay"},{"id":"function.fann-get-quickprop-mu","name":"fann_get_quickprop_mu","description":"Returns the mu factor","tag":"refentry","type":"Function","methodName":"fann_get_quickprop_mu"},{"id":"function.fann-get-rprop-decrease-factor","name":"fann_get_rprop_decrease_factor","description":"Returns the increase factor used during RPROP training","tag":"refentry","type":"Function","methodName":"fann_get_rprop_decrease_factor"},{"id":"function.fann-get-rprop-delta-max","name":"fann_get_rprop_delta_max","description":"Returns the maximum step-size","tag":"refentry","type":"Function","methodName":"fann_get_rprop_delta_max"},{"id":"function.fann-get-rprop-delta-min","name":"fann_get_rprop_delta_min","description":"Returns the minimum step-size","tag":"refentry","type":"Function","methodName":"fann_get_rprop_delta_min"},{"id":"function.fann-get-rprop-delta-zero","name":"fann_get_rprop_delta_zero","description":"Returns the initial step-size","tag":"refentry","type":"Function","methodName":"fann_get_rprop_delta_zero"},{"id":"function.fann-get-rprop-increase-factor","name":"fann_get_rprop_increase_factor","description":"Returns the increase factor used during RPROP training","tag":"refentry","type":"Function","methodName":"fann_get_rprop_increase_factor"},{"id":"function.fann-get-sarprop-step-error-shift","name":"fann_get_sarprop_step_error_shift","description":"Returns the sarprop step error shift","tag":"refentry","type":"Function","methodName":"fann_get_sarprop_step_error_shift"},{"id":"function.fann-get-sarprop-step-error-threshold-factor","name":"fann_get_sarprop_step_error_threshold_factor","description":"Returns the sarprop step error threshold factor","tag":"refentry","type":"Function","methodName":"fann_get_sarprop_step_error_threshold_factor"},{"id":"function.fann-get-sarprop-temperature","name":"fann_get_sarprop_temperature","description":"Returns the sarprop temperature","tag":"refentry","type":"Function","methodName":"fann_get_sarprop_temperature"},{"id":"function.fann-get-sarprop-weight-decay-shift","name":"fann_get_sarprop_weight_decay_shift","description":"Returns the sarprop weight decay shift","tag":"refentry","type":"Function","methodName":"fann_get_sarprop_weight_decay_shift"},{"id":"function.fann-get-total-connections","name":"fann_get_total_connections","description":"Get the total number of connections in the entire network","tag":"refentry","type":"Function","methodName":"fann_get_total_connections"},{"id":"function.fann-get-total-neurons","name":"fann_get_total_neurons","description":"Get the total number of neurons in the entire network","tag":"refentry","type":"Function","methodName":"fann_get_total_neurons"},{"id":"function.fann-get-train-error-function","name":"fann_get_train_error_function","description":"Returns the error function used during training","tag":"refentry","type":"Function","methodName":"fann_get_train_error_function"},{"id":"function.fann-get-train-stop-function","name":"fann_get_train_stop_function","description":"Returns the stop function used during training","tag":"refentry","type":"Function","methodName":"fann_get_train_stop_function"},{"id":"function.fann-get-training-algorithm","name":"fann_get_training_algorithm","description":"Returns the training algorithm","tag":"refentry","type":"Function","methodName":"fann_get_training_algorithm"},{"id":"function.fann-init-weights","name":"fann_init_weights","description":"Initialize the weights using Widrow + Nguyen\u2019s algorithm","tag":"refentry","type":"Function","methodName":"fann_init_weights"},{"id":"function.fann-length-train-data","name":"fann_length_train_data","description":"Returns the number of training patterns in the train data","tag":"refentry","type":"Function","methodName":"fann_length_train_data"},{"id":"function.fann-merge-train-data","name":"fann_merge_train_data","description":"Merges the train data","tag":"refentry","type":"Function","methodName":"fann_merge_train_data"},{"id":"function.fann-num-input-train-data","name":"fann_num_input_train_data","description":"Returns the number of inputs in each of the training patterns in the train data","tag":"refentry","type":"Function","methodName":"fann_num_input_train_data"},{"id":"function.fann-num-output-train-data","name":"fann_num_output_train_data","description":"Returns the number of outputs in each of the training patterns in the train data","tag":"refentry","type":"Function","methodName":"fann_num_output_train_data"},{"id":"function.fann-print-error","name":"fann_print_error","description":"Prints the error string","tag":"refentry","type":"Function","methodName":"fann_print_error"},{"id":"function.fann-randomize-weights","name":"fann_randomize_weights","description":"Give each connection a random weight between min_weight and max_weight","tag":"refentry","type":"Function","methodName":"fann_randomize_weights"},{"id":"function.fann-read-train-from-file","name":"fann_read_train_from_file","description":"Reads a file that stores training data","tag":"refentry","type":"Function","methodName":"fann_read_train_from_file"},{"id":"function.fann-reset-errno","name":"fann_reset_errno","description":"Resets the last error number","tag":"refentry","type":"Function","methodName":"fann_reset_errno"},{"id":"function.fann-reset-errstr","name":"fann_reset_errstr","description":"Resets the last error string","tag":"refentry","type":"Function","methodName":"fann_reset_errstr"},{"id":"function.fann-reset-mse","name":"fann_reset_MSE","description":"Resets the mean square error from the network","tag":"refentry","type":"Function","methodName":"fann_reset_MSE"},{"id":"function.fann-run","name":"fann_run","description":"Will run input through the neural network","tag":"refentry","type":"Function","methodName":"fann_run"},{"id":"function.fann-save","name":"fann_save","description":"Saves the entire network to a configuration file","tag":"refentry","type":"Function","methodName":"fann_save"},{"id":"function.fann-save-train","name":"fann_save_train","description":"Save the training structure to a file","tag":"refentry","type":"Function","methodName":"fann_save_train"},{"id":"function.fann-scale-input","name":"fann_scale_input","description":"Scale data in input vector before feed it to ann based on previously calculated parameters","tag":"refentry","type":"Function","methodName":"fann_scale_input"},{"id":"function.fann-scale-input-train-data","name":"fann_scale_input_train_data","description":"Scales the inputs in the training data to the specified range","tag":"refentry","type":"Function","methodName":"fann_scale_input_train_data"},{"id":"function.fann-scale-output","name":"fann_scale_output","description":"Scale data in output vector before feed it to ann based on previously calculated parameters","tag":"refentry","type":"Function","methodName":"fann_scale_output"},{"id":"function.fann-scale-output-train-data","name":"fann_scale_output_train_data","description":"Scales the outputs in the training data to the specified range","tag":"refentry","type":"Function","methodName":"fann_scale_output_train_data"},{"id":"function.fann-scale-train","name":"fann_scale_train","description":"Scale input and output data based on previously calculated parameters","tag":"refentry","type":"Function","methodName":"fann_scale_train"},{"id":"function.fann-scale-train-data","name":"fann_scale_train_data","description":"Scales the inputs and outputs in the training data to the specified range","tag":"refentry","type":"Function","methodName":"fann_scale_train_data"},{"id":"function.fann-set-activation-function","name":"fann_set_activation_function","description":"Sets the activation function for supplied neuron and layer","tag":"refentry","type":"Function","methodName":"fann_set_activation_function"},{"id":"function.fann-set-activation-function-hidden","name":"fann_set_activation_function_hidden","description":"Sets the activation function for all of the hidden layers","tag":"refentry","type":"Function","methodName":"fann_set_activation_function_hidden"},{"id":"function.fann-set-activation-function-layer","name":"fann_set_activation_function_layer","description":"Sets the activation function for all the neurons in the supplied layer","tag":"refentry","type":"Function","methodName":"fann_set_activation_function_layer"},{"id":"function.fann-set-activation-function-output","name":"fann_set_activation_function_output","description":"Sets the activation function for the output layer","tag":"refentry","type":"Function","methodName":"fann_set_activation_function_output"},{"id":"function.fann-set-activation-steepness","name":"fann_set_activation_steepness","description":"Sets the activation steepness for supplied neuron and layer number","tag":"refentry","type":"Function","methodName":"fann_set_activation_steepness"},{"id":"function.fann-set-activation-steepness-hidden","name":"fann_set_activation_steepness_hidden","description":"Sets the steepness of the activation steepness for all neurons in the all hidden layers","tag":"refentry","type":"Function","methodName":"fann_set_activation_steepness_hidden"},{"id":"function.fann-set-activation-steepness-layer","name":"fann_set_activation_steepness_layer","description":"Sets the activation steepness for all of the neurons in the supplied layer number","tag":"refentry","type":"Function","methodName":"fann_set_activation_steepness_layer"},{"id":"function.fann-set-activation-steepness-output","name":"fann_set_activation_steepness_output","description":"Sets the steepness of the activation steepness in the output layer","tag":"refentry","type":"Function","methodName":"fann_set_activation_steepness_output"},{"id":"function.fann-set-bit-fail-limit","name":"fann_set_bit_fail_limit","description":"Set the bit fail limit used during training","tag":"refentry","type":"Function","methodName":"fann_set_bit_fail_limit"},{"id":"function.fann-set-callback","name":"fann_set_callback","description":"Sets the callback function for use during training","tag":"refentry","type":"Function","methodName":"fann_set_callback"},{"id":"function.fann-set-cascade-activation-functions","name":"fann_set_cascade_activation_functions","description":"Sets the array of cascade candidate activation functions","tag":"refentry","type":"Function","methodName":"fann_set_cascade_activation_functions"},{"id":"function.fann-set-cascade-activation-steepnesses","name":"fann_set_cascade_activation_steepnesses","description":"Sets the array of cascade candidate activation steepnesses","tag":"refentry","type":"Function","methodName":"fann_set_cascade_activation_steepnesses"},{"id":"function.fann-set-cascade-candidate-change-fraction","name":"fann_set_cascade_candidate_change_fraction","description":"Sets the cascade candidate change fraction","tag":"refentry","type":"Function","methodName":"fann_set_cascade_candidate_change_fraction"},{"id":"function.fann-set-cascade-candidate-limit","name":"fann_set_cascade_candidate_limit","description":"Sets the candidate limit","tag":"refentry","type":"Function","methodName":"fann_set_cascade_candidate_limit"},{"id":"function.fann-set-cascade-candidate-stagnation-epochs","name":"fann_set_cascade_candidate_stagnation_epochs","description":"Sets the number of cascade candidate stagnation epochs","tag":"refentry","type":"Function","methodName":"fann_set_cascade_candidate_stagnation_epochs"},{"id":"function.fann-set-cascade-max-cand-epochs","name":"fann_set_cascade_max_cand_epochs","description":"Sets the max candidate epochs","tag":"refentry","type":"Function","methodName":"fann_set_cascade_max_cand_epochs"},{"id":"function.fann-set-cascade-max-out-epochs","name":"fann_set_cascade_max_out_epochs","description":"Sets the maximum out epochs","tag":"refentry","type":"Function","methodName":"fann_set_cascade_max_out_epochs"},{"id":"function.fann-set-cascade-min-cand-epochs","name":"fann_set_cascade_min_cand_epochs","description":"Sets the min candidate epochs","tag":"refentry","type":"Function","methodName":"fann_set_cascade_min_cand_epochs"},{"id":"function.fann-set-cascade-min-out-epochs","name":"fann_set_cascade_min_out_epochs","description":"Sets the minimum out epochs","tag":"refentry","type":"Function","methodName":"fann_set_cascade_min_out_epochs"},{"id":"function.fann-set-cascade-num-candidate-groups","name":"fann_set_cascade_num_candidate_groups","description":"Sets the number of candidate groups","tag":"refentry","type":"Function","methodName":"fann_set_cascade_num_candidate_groups"},{"id":"function.fann-set-cascade-output-change-fraction","name":"fann_set_cascade_output_change_fraction","description":"Sets the cascade output change fraction","tag":"refentry","type":"Function","methodName":"fann_set_cascade_output_change_fraction"},{"id":"function.fann-set-cascade-output-stagnation-epochs","name":"fann_set_cascade_output_stagnation_epochs","description":"Sets the number of cascade output stagnation epochs","tag":"refentry","type":"Function","methodName":"fann_set_cascade_output_stagnation_epochs"},{"id":"function.fann-set-cascade-weight-multiplier","name":"fann_set_cascade_weight_multiplier","description":"Sets the weight multiplier","tag":"refentry","type":"Function","methodName":"fann_set_cascade_weight_multiplier"},{"id":"function.fann-set-error-log","name":"fann_set_error_log","description":"Sets where the errors are logged to","tag":"refentry","type":"Function","methodName":"fann_set_error_log"},{"id":"function.fann-set-input-scaling-params","name":"fann_set_input_scaling_params","description":"Calculate input scaling parameters for future use based on training data","tag":"refentry","type":"Function","methodName":"fann_set_input_scaling_params"},{"id":"function.fann-set-learning-momentum","name":"fann_set_learning_momentum","description":"Sets the learning momentum","tag":"refentry","type":"Function","methodName":"fann_set_learning_momentum"},{"id":"function.fann-set-learning-rate","name":"fann_set_learning_rate","description":"Sets the learning rate","tag":"refentry","type":"Function","methodName":"fann_set_learning_rate"},{"id":"function.fann-set-output-scaling-params","name":"fann_set_output_scaling_params","description":"Calculate output scaling parameters for future use based on training data","tag":"refentry","type":"Function","methodName":"fann_set_output_scaling_params"},{"id":"function.fann-set-quickprop-decay","name":"fann_set_quickprop_decay","description":"Sets the quickprop decay factor","tag":"refentry","type":"Function","methodName":"fann_set_quickprop_decay"},{"id":"function.fann-set-quickprop-mu","name":"fann_set_quickprop_mu","description":"Sets the quickprop mu factor","tag":"refentry","type":"Function","methodName":"fann_set_quickprop_mu"},{"id":"function.fann-set-rprop-decrease-factor","name":"fann_set_rprop_decrease_factor","description":"Sets the decrease factor used during RPROP training","tag":"refentry","type":"Function","methodName":"fann_set_rprop_decrease_factor"},{"id":"function.fann-set-rprop-delta-max","name":"fann_set_rprop_delta_max","description":"Sets the maximum step-size","tag":"refentry","type":"Function","methodName":"fann_set_rprop_delta_max"},{"id":"function.fann-set-rprop-delta-min","name":"fann_set_rprop_delta_min","description":"Sets the minimum step-size","tag":"refentry","type":"Function","methodName":"fann_set_rprop_delta_min"},{"id":"function.fann-set-rprop-delta-zero","name":"fann_set_rprop_delta_zero","description":"Sets the initial step-size","tag":"refentry","type":"Function","methodName":"fann_set_rprop_delta_zero"},{"id":"function.fann-set-rprop-increase-factor","name":"fann_set_rprop_increase_factor","description":"Sets the increase factor used during RPROP training","tag":"refentry","type":"Function","methodName":"fann_set_rprop_increase_factor"},{"id":"function.fann-set-sarprop-step-error-shift","name":"fann_set_sarprop_step_error_shift","description":"Sets the sarprop step error shift","tag":"refentry","type":"Function","methodName":"fann_set_sarprop_step_error_shift"},{"id":"function.fann-set-sarprop-step-error-threshold-factor","name":"fann_set_sarprop_step_error_threshold_factor","description":"Sets the sarprop step error threshold factor","tag":"refentry","type":"Function","methodName":"fann_set_sarprop_step_error_threshold_factor"},{"id":"function.fann-set-sarprop-temperature","name":"fann_set_sarprop_temperature","description":"Sets the sarprop temperature","tag":"refentry","type":"Function","methodName":"fann_set_sarprop_temperature"},{"id":"function.fann-set-sarprop-weight-decay-shift","name":"fann_set_sarprop_weight_decay_shift","description":"Sets the sarprop weight decay shift","tag":"refentry","type":"Function","methodName":"fann_set_sarprop_weight_decay_shift"},{"id":"function.fann-set-scaling-params","name":"fann_set_scaling_params","description":"Calculate input and output scaling parameters for future use based on training data","tag":"refentry","type":"Function","methodName":"fann_set_scaling_params"},{"id":"function.fann-set-train-error-function","name":"fann_set_train_error_function","description":"Sets the error function used during training","tag":"refentry","type":"Function","methodName":"fann_set_train_error_function"},{"id":"function.fann-set-train-stop-function","name":"fann_set_train_stop_function","description":"Sets the stop function used during training","tag":"refentry","type":"Function","methodName":"fann_set_train_stop_function"},{"id":"function.fann-set-training-algorithm","name":"fann_set_training_algorithm","description":"Sets the training algorithm","tag":"refentry","type":"Function","methodName":"fann_set_training_algorithm"},{"id":"function.fann-set-weight","name":"fann_set_weight","description":"Set a connection in the network","tag":"refentry","type":"Function","methodName":"fann_set_weight"},{"id":"function.fann-set-weight-array","name":"fann_set_weight_array","description":"Set connections in the network","tag":"refentry","type":"Function","methodName":"fann_set_weight_array"},{"id":"function.fann-shuffle-train-data","name":"fann_shuffle_train_data","description":"Shuffles training data, randomizing the order","tag":"refentry","type":"Function","methodName":"fann_shuffle_train_data"},{"id":"function.fann-subset-train-data","name":"fann_subset_train_data","description":"Returns an copy of a subset of the train data","tag":"refentry","type":"Function","methodName":"fann_subset_train_data"},{"id":"function.fann-test","name":"fann_test","description":"Test with a set of inputs, and a set of desired outputs","tag":"refentry","type":"Function","methodName":"fann_test"},{"id":"function.fann-test-data","name":"fann_test_data","description":"Test a set of training data and calculates the MSE for the training data","tag":"refentry","type":"Function","methodName":"fann_test_data"},{"id":"function.fann-train","name":"fann_train","description":"Train one iteration with a set of inputs, and a set of desired outputs","tag":"refentry","type":"Function","methodName":"fann_train"},{"id":"function.fann-train-epoch","name":"fann_train_epoch","description":"Train one epoch with a set of training data","tag":"refentry","type":"Function","methodName":"fann_train_epoch"},{"id":"function.fann-train-on-data","name":"fann_train_on_data","description":"Trains on an entire dataset for a period of time","tag":"refentry","type":"Function","methodName":"fann_train_on_data"},{"id":"function.fann-train-on-file","name":"fann_train_on_file","description":"Trains on an entire dataset, which is read from file, for a period of time","tag":"refentry","type":"Function","methodName":"fann_train_on_file"},{"id":"ref.fann","name":"Fann Functions","description":"FANN (Fast Artificial Neural Network)","tag":"reference","type":"Extension","methodName":"Fann Functions"},{"id":"fannconnection.construct","name":"FANNConnection::__construct","description":"The connection constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"fannconnection.getfromneuron","name":"FANNConnection::getFromNeuron","description":"Returns the postions of starting neuron","tag":"refentry","type":"Function","methodName":"getFromNeuron"},{"id":"fannconnection.gettoneuron","name":"FANNConnection::getToNeuron","description":"Returns the postions of terminating neuron","tag":"refentry","type":"Function","methodName":"getToNeuron"},{"id":"fannconnection.getweight","name":"FANNConnection::getWeight","description":"Returns the connection weight","tag":"refentry","type":"Function","methodName":"getWeight"},{"id":"fannconnection.setweight","name":"FANNConnection::setWeight","description":"Sets the connections weight","tag":"refentry","type":"Function","methodName":"setWeight"},{"id":"class.fannconnection","name":"FANNConnection","description":"The FANNConnection class","tag":"phpdoc:classref","type":"Class","methodName":"FANNConnection"},{"id":"book.fann","name":"FANN","description":"FANN (Fast Artificial Neural Network)","tag":"book","type":"Extension","methodName":"FANN"},{"id":"intro.igbinary","name":"Introduction","description":"Igbinary","tag":"preface","type":"General","methodName":"Introduction"},{"id":"igbinary.installation","name":"Installation","description":"Igbinary","tag":"section","type":"General","methodName":"Installation"},{"id":"igbinary.configuration","name":"Runtime Configuration","description":"Igbinary","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"igbinary.setup","name":"Installing\/Configuring","description":"Igbinary","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.igbinary-serialize","name":"igbinary_serialize","description":"Generates a compact, storable binary representation of a value","tag":"refentry","type":"Function","methodName":"igbinary_serialize"},{"id":"function.igbinary-unserialize","name":"igbinary_unserialize","description":"Creates a PHP value from a stored representation from igbinary_serialize","tag":"refentry","type":"Function","methodName":"igbinary_unserialize"},{"id":"ref.igbinary","name":"Igbinary Functions","description":"Igbinary","tag":"reference","type":"Extension","methodName":"Igbinary Functions"},{"id":"book.igbinary","name":"Igbinary","description":"Igbinary","tag":"book","type":"Extension","methodName":"Igbinary"},{"id":"intro.json","name":"Introduction","description":"JavaScript Object Notation","tag":"preface","type":"General","methodName":"Introduction"},{"id":"json.installation","name":"Installation","description":"JavaScript Object Notation","tag":"section","type":"General","methodName":"Installation"},{"id":"json.setup","name":"Installing\/Configuring","description":"JavaScript Object Notation","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"json.constants","name":"Predefined Constants","description":"JavaScript Object Notation","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"class.jsonexception","name":"JsonException","description":"The JsonException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"JsonException"},{"id":"jsonserializable.jsonserialize","name":"JsonSerializable::jsonSerialize","description":"Specify data which should be serialized to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"class.jsonserializable","name":"JsonSerializable","description":"The JsonSerializable interface","tag":"phpdoc:classref","type":"Class","methodName":"JsonSerializable"},{"id":"function.json-decode","name":"json_decode","description":"Decodes a JSON string","tag":"refentry","type":"Function","methodName":"json_decode"},{"id":"function.json-encode","name":"json_encode","description":"Returns the JSON representation of a value","tag":"refentry","type":"Function","methodName":"json_encode"},{"id":"function.json-last-error","name":"json_last_error","description":"Returns the last error occurred","tag":"refentry","type":"Function","methodName":"json_last_error"},{"id":"function.json-last-error-msg","name":"json_last_error_msg","description":"Returns the error string of the last json_validate(), json_encode() or json_decode() call","tag":"refentry","type":"Function","methodName":"json_last_error_msg"},{"id":"function.json-validate","name":"json_validate","description":"Checks if a string contains valid JSON","tag":"refentry","type":"Function","methodName":"json_validate"},{"id":"ref.json","name":"JSON Functions","description":"JavaScript Object Notation","tag":"reference","type":"Extension","methodName":"JSON Functions"},{"id":"book.json","name":"JSON","description":"JavaScript Object Notation","tag":"book","type":"Extension","methodName":"JSON"},{"id":"intro.simdjson","name":"Introduction","description":"Simdjson","tag":"preface","type":"General","methodName":"Introduction"},{"id":"simdjson.installation","name":"Installation","description":"Simdjson","tag":"section","type":"General","methodName":"Installation"},{"id":"simdjson.setup","name":"Installing\/Configuring","description":"Simdjson","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"simdjson.constants","name":"Predefined Constants","description":"Simdjson","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.simdjson-decode","name":"simdjson_decode","description":"Decodes a JSON string","tag":"refentry","type":"Function","methodName":"simdjson_decode"},{"id":"function.simdjson-is-valid","name":"simdjson_is_valid","description":"Check if a JSON string is valid","tag":"refentry","type":"Function","methodName":"simdjson_is_valid"},{"id":"function.simdjson-key-count","name":"simdjson_key_count","description":"Returns the value at a JSON pointer.","tag":"refentry","type":"Function","methodName":"simdjson_key_count"},{"id":"function.simdjson-key-exists","name":"simdjson_key_exists","description":"Check if the JSON contains the value referred to by a JSON pointer.","tag":"refentry","type":"Function","methodName":"simdjson_key_exists"},{"id":"function.simdjson-key-value","name":"simdjson_key_value","description":"Decodes the value of a JSON string located at the requested JSON pointer.","tag":"refentry","type":"Function","methodName":"simdjson_key_value"},{"id":"ref.simdjson","name":"Simdjson Functions","description":"Simdjson","tag":"reference","type":"Extension","methodName":"Simdjson Functions"},{"id":"class.simdjsonexception","name":"SimdJsonException","description":"The SimdJsonException class","tag":"phpdoc:classref","type":"Class","methodName":"SimdJsonException"},{"id":"class.simdjsonvalueerror","name":"SimdJsonValueError","description":"The SimdJsonValueError class","tag":"phpdoc:classref","type":"Class","methodName":"SimdJsonValueError"},{"id":"book.simdjson","name":"Simdjson","description":"Simdjson","tag":"book","type":"Extension","methodName":"Simdjson"},{"id":"intro.lua","name":"Introduction","description":"Lua","tag":"preface","type":"General","methodName":"Introduction"},{"id":"lua.requirements","name":"Requirements","description":"Lua","tag":"section","type":"General","methodName":"Requirements"},{"id":"lua.installation","name":"Installation","description":"Lua","tag":"section","type":"General","methodName":"Installation"},{"id":"lua.setup","name":"Installing\/Configuring","description":"Lua","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"lua.assign","name":"Lua::assign","description":"Assign a PHP variable to Lua","tag":"refentry","type":"Function","methodName":"assign"},{"id":"lua.call","name":"Lua::__call","description":"Call Lua functions","tag":"refentry","type":"Function","methodName":"__call"},{"id":"lua.call","name":"Lua::call","description":"Call Lua functions","tag":"refentry","type":"Function","methodName":"call"},{"id":"lua.construct","name":"Lua::__construct","description":"Lua constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"lua.eval","name":"Lua::eval","description":"Evaluate a string as Lua code","tag":"refentry","type":"Function","methodName":"eval"},{"id":"lua.getversion","name":"Lua::getVersion","description":"The getversion purpose","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"lua.include","name":"Lua::include","description":"Parse a Lua script file","tag":"refentry","type":"Function","methodName":"include"},{"id":"lua.registercallback","name":"Lua::registerCallback","description":"Register a PHP function to Lua","tag":"refentry","type":"Function","methodName":"registerCallback"},{"id":"class.lua","name":"Lua","description":"The Lua class","tag":"phpdoc:classref","type":"Class","methodName":"Lua"},{"id":"luaclosure.invoke","name":"LuaClosure::__invoke","description":"Invoke luaclosure","tag":"refentry","type":"Function","methodName":"__invoke"},{"id":"class.luaclosure","name":"LuaClosure","description":"The LuaClosure class","tag":"phpdoc:classref","type":"Class","methodName":"LuaClosure"},{"id":"book.lua","name":"Lua","description":"Lua","tag":"book","type":"Extension","methodName":"Lua"},{"id":"intro.luasandbox","name":"Introduction","description":"LuaSandbox","tag":"preface","type":"General","methodName":"Introduction"},{"id":"luasandbox.requirements","name":"Requirements","description":"LuaSandbox","tag":"section","type":"General","methodName":"Requirements"},{"id":"luasandbox.installation","name":"Installation","description":"LuaSandbox","tag":"section","type":"General","methodName":"Installation"},{"id":"luasandbox.setup","name":"Installing\/Configuring","description":"LuaSandbox","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"reference.luasandbox.differences","name":"Differences from Standard Lua","description":"LuaSandbox","tag":"chapter","type":"General","methodName":"Differences from Standard Lua"},{"id":"luasandbox.examples-basic","name":"Basic usage for LuaSandbox","description":"LuaSandbox","tag":"section","type":"General","methodName":"Basic usage for LuaSandbox"},{"id":"luasandbox.examples","name":"Examples","description":"LuaSandbox","tag":"chapter","type":"General","methodName":"Examples"},{"id":"luasandbox.callfunction","name":"LuaSandbox::callFunction","description":"Call a function in a Lua global variable","tag":"refentry","type":"Function","methodName":"callFunction"},{"id":"luasandbox.disableprofiler","name":"LuaSandbox::disableProfiler","description":"Disable the profiler","tag":"refentry","type":"Function","methodName":"disableProfiler"},{"id":"luasandbox.enableprofiler","name":"LuaSandbox::enableProfiler","description":"Enable the profiler.","tag":"refentry","type":"Function","methodName":"enableProfiler"},{"id":"luasandbox.getcpuusage","name":"LuaSandbox::getCPUUsage","description":"Fetch the current CPU time usage of the Lua environment","tag":"refentry","type":"Function","methodName":"getCPUUsage"},{"id":"luasandbox.getmemoryusage","name":"LuaSandbox::getMemoryUsage","description":"Fetch the current memory usage of the Lua environment","tag":"refentry","type":"Function","methodName":"getMemoryUsage"},{"id":"luasandbox.getpeakmemoryusage","name":"LuaSandbox::getPeakMemoryUsage","description":"Fetch the peak memory usage of the Lua environment","tag":"refentry","type":"Function","methodName":"getPeakMemoryUsage"},{"id":"luasandbox.getprofilerfunctionreport","name":"LuaSandbox::getProfilerFunctionReport","description":"Fetch profiler data","tag":"refentry","type":"Function","methodName":"getProfilerFunctionReport"},{"id":"luasandbox.getversioninfo","name":"LuaSandbox::getVersionInfo","description":"Return the versions of LuaSandbox and Lua","tag":"refentry","type":"Function","methodName":"getVersionInfo"},{"id":"luasandbox.loadbinary","name":"LuaSandbox::loadBinary","description":"Load a precompiled binary chunk into the Lua environment","tag":"refentry","type":"Function","methodName":"loadBinary"},{"id":"luasandbox.loadstring","name":"LuaSandbox::loadString","description":"Load Lua code into the Lua environment","tag":"refentry","type":"Function","methodName":"loadString"},{"id":"luasandbox.pauseusagetimer","name":"LuaSandbox::pauseUsageTimer","description":"Pause the CPU usage timer","tag":"refentry","type":"Function","methodName":"pauseUsageTimer"},{"id":"luasandbox.registerlibrary","name":"LuaSandbox::registerLibrary","description":"Register a set of PHP functions as a Lua library","tag":"refentry","type":"Function","methodName":"registerLibrary"},{"id":"luasandbox.setcpulimit","name":"LuaSandbox::setCPULimit","description":"Set the CPU time limit for the Lua environment","tag":"refentry","type":"Function","methodName":"setCPULimit"},{"id":"luasandbox.setmemorylimit","name":"LuaSandbox::setMemoryLimit","description":"Set the memory limit for the Lua environment","tag":"refentry","type":"Function","methodName":"setMemoryLimit"},{"id":"luasandbox.unpauseusagetimer","name":"LuaSandbox::unpauseUsageTimer","description":"Unpause the timer paused by LuaSandbox::pauseUsageTimer","tag":"refentry","type":"Function","methodName":"unpauseUsageTimer"},{"id":"luasandbox.wrapphpfunction","name":"LuaSandbox::wrapPhpFunction","description":"Wrap a PHP callable in a LuaSandboxFunction","tag":"refentry","type":"Function","methodName":"wrapPhpFunction"},{"id":"class.luasandbox","name":"LuaSandbox","description":"The LuaSandbox class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandbox"},{"id":"luasandboxfunction.call","name":"LuaSandboxFunction::call","description":"Call a Lua function","tag":"refentry","type":"Function","methodName":"call"},{"id":"luasandboxfunction.construct","name":"LuaSandboxFunction::__construct","description":"Unused","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"luasandboxfunction.dump","name":"LuaSandboxFunction::dump","description":"Dump the function as a binary blob","tag":"refentry","type":"Function","methodName":"dump"},{"id":"class.luasandboxfunction","name":"LuaSandboxFunction","description":"The LuaSandboxFunction class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxFunction"},{"id":"class.luasandboxerror","name":"LuaSandboxError","description":"The LuaSandboxError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxError"},{"id":"class.luasandboxerrorerror","name":"LuaSandboxErrorError","description":"The LuaSandboxErrorError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxErrorError"},{"id":"class.luasandboxfatalerror","name":"LuaSandboxFatalError","description":"The LuaSandboxFatalError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxFatalError"},{"id":"class.luasandboxmemoryerror","name":"LuaSandboxMemoryError","description":"The LuaSandboxMemoryError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxMemoryError"},{"id":"class.luasandboxruntimeerror","name":"LuaSandboxRuntimeError","description":"The LuaSandboxRuntimeError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxRuntimeError"},{"id":"class.luasandboxsyntaxerror","name":"LuaSandboxSyntaxError","description":"The LuaSandboxSyntaxError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxSyntaxError"},{"id":"class.luasandboxtimeouterror","name":"LuaSandboxTimeoutError","description":"The LuaSandboxTimeoutError class","tag":"phpdoc:classref","type":"Class","methodName":"LuaSandboxTimeoutError"},{"id":"book.luasandbox","name":"LuaSandbox","description":"LuaSandbox","tag":"book","type":"Extension","methodName":"LuaSandbox"},{"id":"intro.misc","name":"Introduction","description":"Miscellaneous Functions","tag":"preface","type":"General","methodName":"Introduction"},{"id":"misc.configuration","name":"Runtime Configuration","description":"Miscellaneous Functions","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"misc.setup","name":"Installing\/Configuring","description":"Miscellaneous Functions","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"misc.constants","name":"Predefined Constants","description":"Miscellaneous Functions","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.connection-aborted","name":"connection_aborted","description":"Check whether client disconnected","tag":"refentry","type":"Function","methodName":"connection_aborted"},{"id":"function.connection-status","name":"connection_status","description":"Returns connection status bitfield","tag":"refentry","type":"Function","methodName":"connection_status"},{"id":"function.constant","name":"constant","description":"Returns the value of a constant","tag":"refentry","type":"Function","methodName":"constant"},{"id":"function.define","name":"define","description":"Defines a named constant","tag":"refentry","type":"Function","methodName":"define"},{"id":"function.defined","name":"defined","description":"Checks whether a constant with the given name exists","tag":"refentry","type":"Function","methodName":"defined"},{"id":"function.die","name":"die","description":"Alias of exit","tag":"refentry","type":"Function","methodName":"die"},{"id":"function.eval","name":"eval","description":"Evaluate a string as PHP code","tag":"refentry","type":"Function","methodName":"eval"},{"id":"function.exit","name":"exit","description":"Terminate the current script with a status code or message","tag":"refentry","type":"Function","methodName":"exit"},{"id":"function.get-browser","name":"get_browser","description":"Tells what the user's browser is capable of","tag":"refentry","type":"Function","methodName":"get_browser"},{"id":"function.halt-compiler","name":"__halt_compiler","description":"Halts the compiler execution","tag":"refentry","type":"Function","methodName":"__halt_compiler"},{"id":"function.highlight-file","name":"highlight_file","description":"Syntax highlighting of a file","tag":"refentry","type":"Function","methodName":"highlight_file"},{"id":"function.highlight-string","name":"highlight_string","description":"Syntax highlighting of a string","tag":"refentry","type":"Function","methodName":"highlight_string"},{"id":"function.hrtime","name":"hrtime","description":"Get the system's high resolution time","tag":"refentry","type":"Function","methodName":"hrtime"},{"id":"function.ignore-user-abort","name":"ignore_user_abort","description":"Set whether a client disconnect should abort script execution","tag":"refentry","type":"Function","methodName":"ignore_user_abort"},{"id":"function.pack","name":"pack","description":"Pack data into binary string","tag":"refentry","type":"Function","methodName":"pack"},{"id":"function.php-strip-whitespace","name":"php_strip_whitespace","description":"Return source with stripped comments and whitespace","tag":"refentry","type":"Function","methodName":"php_strip_whitespace"},{"id":"function.sapi-windows-cp-conv","name":"sapi_windows_cp_conv","description":"Convert string from one codepage to another","tag":"refentry","type":"Function","methodName":"sapi_windows_cp_conv"},{"id":"function.sapi-windows-cp-get","name":"sapi_windows_cp_get","description":"Get current codepage","tag":"refentry","type":"Function","methodName":"sapi_windows_cp_get"},{"id":"function.sapi-windows-cp-is-utf8","name":"sapi_windows_cp_is_utf8","description":"Indicates whether the codepage is UTF-8 compatible","tag":"refentry","type":"Function","methodName":"sapi_windows_cp_is_utf8"},{"id":"function.sapi-windows-cp-set","name":"sapi_windows_cp_set","description":"Set process codepage","tag":"refentry","type":"Function","methodName":"sapi_windows_cp_set"},{"id":"function.sapi-windows-generate-ctrl-event","name":"sapi_windows_generate_ctrl_event","description":"Send a CTRL event to another process","tag":"refentry","type":"Function","methodName":"sapi_windows_generate_ctrl_event"},{"id":"function.sapi-windows-set-ctrl-handler","name":"sapi_windows_set_ctrl_handler","description":"Set or remove a CTRL event handler","tag":"refentry","type":"Function","methodName":"sapi_windows_set_ctrl_handler"},{"id":"function.sapi-windows-vt100-support","name":"sapi_windows_vt100_support","description":"Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.","tag":"refentry","type":"Function","methodName":"sapi_windows_vt100_support"},{"id":"function.show-source","name":"show_source","description":"Alias of highlight_file","tag":"refentry","type":"Function","methodName":"show_source"},{"id":"function.sleep","name":"sleep","description":"Delay execution","tag":"refentry","type":"Function","methodName":"sleep"},{"id":"function.sys-getloadavg","name":"sys_getloadavg","description":"Gets system load average","tag":"refentry","type":"Function","methodName":"sys_getloadavg"},{"id":"function.time-nanosleep","name":"time_nanosleep","description":"Delay for a number of seconds and nanoseconds","tag":"refentry","type":"Function","methodName":"time_nanosleep"},{"id":"function.time-sleep-until","name":"time_sleep_until","description":"Make the script sleep until the specified time","tag":"refentry","type":"Function","methodName":"time_sleep_until"},{"id":"function.uniqid","name":"uniqid","description":"Generate a time-based identifier","tag":"refentry","type":"Function","methodName":"uniqid"},{"id":"function.unpack","name":"unpack","description":"Unpack data from binary string","tag":"refentry","type":"Function","methodName":"unpack"},{"id":"function.usleep","name":"usleep","description":"Delay execution in microseconds","tag":"refentry","type":"Function","methodName":"usleep"},{"id":"ref.misc","name":"Misc. Functions","description":"Miscellaneous Functions","tag":"reference","type":"Extension","methodName":"Misc. Functions"},{"id":"changelog.misc","name":"Changelog","description":"Miscellaneous Functions","tag":"appendix","type":"General","methodName":"Changelog"},{"id":"book.misc","name":"Misc.","description":"Miscellaneous Functions","tag":"book","type":"Extension","methodName":"Misc."},{"id":"intro.random","name":"Introduction","description":"Random Number Generators and Functions Related to Randomness","tag":"preface","type":"General","methodName":"Introduction"},{"id":"random.constants","name":"Predefined Constants","description":"Random Number Generators and Functions Related to Randomness","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"random.examples","name":"Examples","description":"Random Number Generators and Functions Related to Randomness","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.getrandmax","name":"getrandmax","description":"Show largest possible random value","tag":"refentry","type":"Function","methodName":"getrandmax"},{"id":"function.lcg-value","name":"lcg_value","description":"Combined linear congruential generator","tag":"refentry","type":"Function","methodName":"lcg_value"},{"id":"function.mt-getrandmax","name":"mt_getrandmax","description":"Show largest possible random value","tag":"refentry","type":"Function","methodName":"mt_getrandmax"},{"id":"function.mt-rand","name":"mt_rand","description":"Generate a random value via the Mersenne Twister Random Number Generator","tag":"refentry","type":"Function","methodName":"mt_rand"},{"id":"function.mt-srand","name":"mt_srand","description":"Seeds the Mersenne Twister Random Number Generator","tag":"refentry","type":"Function","methodName":"mt_srand"},{"id":"function.rand","name":"rand","description":"Generate a random integer","tag":"refentry","type":"Function","methodName":"rand"},{"id":"function.random-bytes","name":"random_bytes","description":"Get cryptographically secure random bytes","tag":"refentry","type":"Function","methodName":"random_bytes"},{"id":"function.random-int","name":"random_int","description":"Get a cryptographically secure, uniformly selected integer","tag":"refentry","type":"Function","methodName":"random_int"},{"id":"function.srand","name":"srand","description":"Seed the random number generator","tag":"refentry","type":"Function","methodName":"srand"},{"id":"ref.random","name":"Random Functions","description":"Random Number Generators and Functions Related to Randomness","tag":"reference","type":"Extension","methodName":"Random Functions"},{"id":"random-randomizer.construct","name":"Random\\Randomizer::__construct","description":"Constructs a new Randomizer","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"random-randomizer.getbytes","name":"Random\\Randomizer::getBytes","description":"Get random bytes","tag":"refentry","type":"Function","methodName":"getBytes"},{"id":"random-randomizer.getbytesfromstring","name":"Random\\Randomizer::getBytesFromString","description":"Get random bytes from a source string","tag":"refentry","type":"Function","methodName":"getBytesFromString"},{"id":"random-randomizer.getfloat","name":"Random\\Randomizer::getFloat","description":"Get a uniformly selected float","tag":"refentry","type":"Function","methodName":"getFloat"},{"id":"random-randomizer.getint","name":"Random\\Randomizer::getInt","description":"Get a uniformly selected integer","tag":"refentry","type":"Function","methodName":"getInt"},{"id":"random-randomizer.nextfloat","name":"Random\\Randomizer::nextFloat","description":"Get a float from the right-open interval [0.0, 1.0)","tag":"refentry","type":"Function","methodName":"nextFloat"},{"id":"random-randomizer.nextint","name":"Random\\Randomizer::nextInt","description":"Get a positive integer","tag":"refentry","type":"Function","methodName":"nextInt"},{"id":"random-randomizer.pickarraykeys","name":"Random\\Randomizer::pickArrayKeys","description":"Select random array keys","tag":"refentry","type":"Function","methodName":"pickArrayKeys"},{"id":"random-randomizer.serialize","name":"Random\\Randomizer::__serialize","description":"Serializes the Randomizer object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"random-randomizer.shufflearray","name":"Random\\Randomizer::shuffleArray","description":"Get a permutation of an array","tag":"refentry","type":"Function","methodName":"shuffleArray"},{"id":"random-randomizer.shufflebytes","name":"Random\\Randomizer::shuffleBytes","description":"Get a byte-wise permutation of a string","tag":"refentry","type":"Function","methodName":"shuffleBytes"},{"id":"random-randomizer.unserialize","name":"Random\\Randomizer::__unserialize","description":"Deserializes the data parameter into a Randomizer object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.random-randomizer","name":"Random\\Randomizer","description":"The Random\\Randomizer class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\Randomizer"},{"id":"enum.random-intervalboundary","name":"Random\\IntervalBoundary","description":"The Random\\IntervalBoundary Enum","tag":"phpdoc:classref","type":"Class","methodName":"Random\\IntervalBoundary"},{"id":"random-engine.generate","name":"Random\\Engine::generate","description":"Generates randomness","tag":"refentry","type":"Function","methodName":"generate"},{"id":"class.random-engine","name":"Random\\Engine","description":"The Random\\Engine interface","tag":"phpdoc:classref","type":"Class","methodName":"Random\\Engine"},{"id":"class.random-cryptosafeengine","name":"Random\\CryptoSafeEngine","description":"The Random\\CryptoSafeEngine interface","tag":"phpdoc:classref","type":"Class","methodName":"Random\\CryptoSafeEngine"},{"id":"random-engine-secure.generate","name":"Random\\Engine\\Secure::generate","description":"Generate cryptographically secure randomness","tag":"refentry","type":"Function","methodName":"generate"},{"id":"class.random-engine-secure","name":"Random\\Engine\\Secure","description":"The Random\\Engine\\Secure class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\Engine\\Secure"},{"id":"random-engine-mt19937.construct","name":"Random\\Engine\\Mt19937::__construct","description":"Constructs a new Mt19937 engine","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"random-engine-mt19937.debuginfo","name":"Random\\Engine\\Mt19937::__debugInfo","description":"Returns the internal state of the engine","tag":"refentry","type":"Function","methodName":"__debugInfo"},{"id":"random-engine-mt19937.generate","name":"Random\\Engine\\Mt19937::generate","description":"Generate 32 bits of randomness","tag":"refentry","type":"Function","methodName":"generate"},{"id":"random-engine-mt19937.serialize","name":"Random\\Engine\\Mt19937::__serialize","description":"Serializes the Mt19937 object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"random-engine-mt19937.unserialize","name":"Random\\Engine\\Mt19937::__unserialize","description":"Deserializes the data parameter into a Mt19937 object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.random-engine-mt19937","name":"Random\\Engine\\Mt19937","description":"The Random\\Engine\\Mt19937 class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\Engine\\Mt19937"},{"id":"random-engine-pcgoneseq128xslrr64.construct","name":"Random\\Engine\\PcgOneseq128XslRr64::__construct","description":"Constructs a new PCG Oneseq 128 XSL RR 64 engine","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"random-engine-pcgoneseq128xslrr64.debuginfo","name":"Random\\Engine\\PcgOneseq128XslRr64::__debugInfo","description":"Returns the internal state of the engine","tag":"refentry","type":"Function","methodName":"__debugInfo"},{"id":"random-engine-pcgoneseq128xslrr64.generate","name":"Random\\Engine\\PcgOneseq128XslRr64::generate","description":"Generate 64 bits of randomness","tag":"refentry","type":"Function","methodName":"generate"},{"id":"random-engine-pcgoneseq128xslrr64.jump","name":"Random\\Engine\\PcgOneseq128XslRr64::jump","description":"Efficiently move the engine ahead multiple steps","tag":"refentry","type":"Function","methodName":"jump"},{"id":"random-engine-pcgoneseq128xslrr64.serialize","name":"Random\\Engine\\PcgOneseq128XslRr64::__serialize","description":"Serializes the PcgOneseq128XslRr64 object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"random-engine-pcgoneseq128xslrr64.unserialize","name":"Random\\Engine\\PcgOneseq128XslRr64::__unserialize","description":"Deserializes the data parameter into a PcgOneseq128XslRr64 object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.random-engine-pcgoneseq128xslrr64","name":"Random\\Engine\\PcgOneseq128XslRr64","description":"The Random\\Engine\\PcgOneseq128XslRr64 class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\Engine\\PcgOneseq128XslRr64"},{"id":"random-engine-xoshiro256starstar.construct","name":"Random\\Engine\\Xoshiro256StarStar::__construct","description":"Constructs a new xoshiro256** engine","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"random-engine-xoshiro256starstar.debuginfo","name":"Random\\Engine\\Xoshiro256StarStar::__debugInfo","description":"Returns the internal state of the engine","tag":"refentry","type":"Function","methodName":"__debugInfo"},{"id":"random-engine-xoshiro256starstar.generate","name":"Random\\Engine\\Xoshiro256StarStar::generate","description":"Generate 64 bits of randomness","tag":"refentry","type":"Function","methodName":"generate"},{"id":"random-engine-xoshiro256starstar.jump","name":"Random\\Engine\\Xoshiro256StarStar::jump","description":"Efficiently move the engine ahead by 2^128 steps","tag":"refentry","type":"Function","methodName":"jump"},{"id":"random-engine-xoshiro256starstar.jumplong","name":"Random\\Engine\\Xoshiro256StarStar::jumpLong","description":"Efficiently move the engine ahead by 2^192 steps","tag":"refentry","type":"Function","methodName":"jumpLong"},{"id":"random-engine-xoshiro256starstar.serialize","name":"Random\\Engine\\Xoshiro256StarStar::__serialize","description":"Serializes the Xoshiro256StarStar object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"random-engine-xoshiro256starstar.unserialize","name":"Random\\Engine\\Xoshiro256StarStar::__unserialize","description":"Deserializes the data parameter into a Xoshiro256StarStar object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"class.random-engine-xoshiro256starstar","name":"Random\\Engine\\Xoshiro256StarStar","description":"The Random\\Engine\\Xoshiro256StarStar class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\Engine\\Xoshiro256StarStar"},{"id":"class.random-randomerror","name":"Random\\RandomError","description":"The Random\\RandomError class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\RandomError"},{"id":"class.random-brokenrandomengineerror","name":"Random\\BrokenRandomEngineError","description":"The Random\\BrokenRandomEngineError class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\BrokenRandomEngineError"},{"id":"class.random-randomexception","name":"Random\\RandomException","description":"The Random\\RandomException class","tag":"phpdoc:classref","type":"Class","methodName":"Random\\RandomException"},{"id":"book.random","name":"Random","description":"Random Number Generators and Functions Related to Randomness","tag":"book","type":"Extension","methodName":"Random"},{"id":"intro.seaslog","name":"Introduction","description":"Seaslog","tag":"preface","type":"General","methodName":"Introduction"},{"id":"seaslog.requirements","name":"Requirements","description":"Seaslog","tag":"section","type":"General","methodName":"Requirements"},{"id":"seaslog.installation","name":"Installation","description":"Seaslog","tag":"section","type":"General","methodName":"Installation"},{"id":"seaslog.configuration","name":"Runtime Configuration","description":"Seaslog","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"seaslog.resources","name":"Resource Types","description":"Seaslog","tag":"section","type":"General","methodName":"Resource Types"},{"id":"seaslog.setup","name":"Installing\/Configuring","description":"Seaslog","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"seaslog.constants","name":"Predefined Constants","description":"Seaslog","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"seaslog.examples","name":"Examples","description":"Seaslog","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.seaslog-get-author","name":"seaslog_get_author","description":"Get SeasLog author.","tag":"refentry","type":"Function","methodName":"seaslog_get_author"},{"id":"function.seaslog-get-version","name":"seaslog_get_version","description":"Get SeasLog version.","tag":"refentry","type":"Function","methodName":"seaslog_get_version"},{"id":"ref.seaslog","name":"Seaslog Functions","description":"Seaslog","tag":"reference","type":"Extension","methodName":"Seaslog Functions"},{"id":"seaslog.alert","name":"SeasLog::alert","description":"Record alert log information","tag":"refentry","type":"Function","methodName":"alert"},{"id":"seaslog.analyzercount","name":"SeasLog::analyzerCount","description":"Get log count by level, log_path and key_word","tag":"refentry","type":"Function","methodName":"analyzerCount"},{"id":"seaslog.analyzerdetail","name":"SeasLog::analyzerDetail","description":"Get log detail by level, log_path, key_word, start, limit, order","tag":"refentry","type":"Function","methodName":"analyzerDetail"},{"id":"seaslog.closeloggerstream","name":"SeasLog::closeLoggerStream","description":"Manually release stream flow from logger","tag":"refentry","type":"Function","methodName":"closeLoggerStream"},{"id":"seaslog.construct","name":"SeasLog::__construct","description":"Description","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"seaslog.critical","name":"SeasLog::critical","description":"Record critical log information","tag":"refentry","type":"Function","methodName":"critical"},{"id":"seaslog.debug","name":"SeasLog::debug","description":"Record debug log information","tag":"refentry","type":"Function","methodName":"debug"},{"id":"seaslog.destruct","name":"SeasLog::__destruct","description":"Description","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"seaslog.emergency","name":"SeasLog::emergency","description":"Record emergency log information","tag":"refentry","type":"Function","methodName":"emergency"},{"id":"seaslog.error","name":"SeasLog::error","description":"Record error log information","tag":"refentry","type":"Function","methodName":"error"},{"id":"seaslog.flushbuffer","name":"SeasLog::flushBuffer","description":"Flush logs buffer, dump to appender file, or send to remote api with tcp\/udp","tag":"refentry","type":"Function","methodName":"flushBuffer"},{"id":"seaslog.getbasepath","name":"SeasLog::getBasePath","description":"Get SeasLog base path.","tag":"refentry","type":"Function","methodName":"getBasePath"},{"id":"seaslog.getbuffer","name":"SeasLog::getBuffer","description":"Get the logs buffer in memory as array","tag":"refentry","type":"Function","methodName":"getBuffer"},{"id":"seaslog.getbufferenabled","name":"SeasLog::getBufferEnabled","description":"Determin if buffer enabled","tag":"refentry","type":"Function","methodName":"getBufferEnabled"},{"id":"seaslog.getdatetimeformat","name":"SeasLog::getDatetimeFormat","description":"Get SeasLog datetime format style","tag":"refentry","type":"Function","methodName":"getDatetimeFormat"},{"id":"seaslog.getlastlogger","name":"SeasLog::getLastLogger","description":"Get SeasLog last logger path","tag":"refentry","type":"Function","methodName":"getLastLogger"},{"id":"seaslog.getrequestid","name":"SeasLog::getRequestID","description":"Get SeasLog request_id differentiated requests","tag":"refentry","type":"Function","methodName":"getRequestID"},{"id":"seaslog.getrequestvariable","name":"SeasLog::getRequestVariable","description":"Get SeasLog request variable","tag":"refentry","type":"Function","methodName":"getRequestVariable"},{"id":"seaslog.info","name":"SeasLog::info","description":"Record info log information","tag":"refentry","type":"Function","methodName":"info"},{"id":"seaslog.log","name":"SeasLog::log","description":"The Common Record Log Function","tag":"refentry","type":"Function","methodName":"log"},{"id":"seaslog.notice","name":"SeasLog::notice","description":"Record notice log information","tag":"refentry","type":"Function","methodName":"notice"},{"id":"seaslog.setbasepath","name":"SeasLog::setBasePath","description":"Set SeasLog base path","tag":"refentry","type":"Function","methodName":"setBasePath"},{"id":"seaslog.setdatetimeformat","name":"SeasLog::setDatetimeFormat","description":"Set SeasLog datetime format style","tag":"refentry","type":"Function","methodName":"setDatetimeFormat"},{"id":"seaslog.setlogger","name":"SeasLog::setLogger","description":"Set SeasLog logger name","tag":"refentry","type":"Function","methodName":"setLogger"},{"id":"seaslog.setrequestid","name":"SeasLog::setRequestID","description":"Set SeasLog request_id differentiated requests","tag":"refentry","type":"Function","methodName":"setRequestID"},{"id":"seaslog.setrequestvariable","name":"SeasLog::setRequestVariable","description":"Manually set SeasLog request variable","tag":"refentry","type":"Function","methodName":"setRequestVariable"},{"id":"seaslog.warning","name":"SeasLog::warning","description":"Record warning log information","tag":"refentry","type":"Function","methodName":"warning"},{"id":"class.seaslog","name":"SeasLog","description":"The SeasLog class","tag":"phpdoc:classref","type":"Class","methodName":"SeasLog"},{"id":"book.seaslog","name":"Seaslog","description":"Seaslog","tag":"book","type":"Extension","methodName":"Seaslog"},{"id":"outeriterator.getinneriterator","name":"OuterIterator::getInnerIterator","description":"Returns the inner iterator for the current entry","tag":"refentry","type":"Function","methodName":"getInnerIterator"},{"id":"class.outeriterator","name":"OuterIterator","description":"The OuterIterator interface","tag":"phpdoc:classref","type":"Class","methodName":"OuterIterator"},{"id":"recursiveiterator.getchildren","name":"RecursiveIterator::getChildren","description":"Returns an iterator for the current entry","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursiveiterator.haschildren","name":"RecursiveIterator::hasChildren","description":"Returns if an iterator can be created for the current entry","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"class.recursiveiterator","name":"RecursiveIterator","description":"The RecursiveIterator interface","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveIterator"},{"id":"seekableiterator.seek","name":"SeekableIterator::seek","description":"Seeks to a position","tag":"refentry","type":"Function","methodName":"seek"},{"id":"class.seekableiterator","name":"SeekableIterator","description":"The SeekableIterator interface","tag":"phpdoc:classref","type":"Class","methodName":"SeekableIterator"},{"id":"splobserver.update","name":"SplObserver::update","description":"Receive update from subject","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.splobserver","name":"SplObserver","description":"The SplObserver interface","tag":"phpdoc:classref","type":"Class","methodName":"SplObserver"},{"id":"splsubject.attach","name":"SplSubject::attach","description":"Attach an SplObserver","tag":"refentry","type":"Function","methodName":"attach"},{"id":"splsubject.detach","name":"SplSubject::detach","description":"Detach an observer","tag":"refentry","type":"Function","methodName":"detach"},{"id":"splsubject.notify","name":"SplSubject::notify","description":"Notify an observer","tag":"refentry","type":"Function","methodName":"notify"},{"id":"class.splsubject","name":"SplSubject","description":"The SplSubject interface","tag":"phpdoc:classref","type":"Class","methodName":"SplSubject"},{"id":"spl.interfaces","name":"Interfaces","description":"Standard PHP Library (SPL)","tag":"part","type":"General","methodName":"Interfaces"},{"id":"spldoublylinkedlist.add","name":"SplDoublyLinkedList::add","description":"Add\/insert a new value at the specified index","tag":"refentry","type":"Function","methodName":"add"},{"id":"spldoublylinkedlist.bottom","name":"SplDoublyLinkedList::bottom","description":"Peeks at the node from the beginning of the doubly linked list","tag":"refentry","type":"Function","methodName":"bottom"},{"id":"spldoublylinkedlist.count","name":"SplDoublyLinkedList::count","description":"Counts the number of elements in the doubly linked list","tag":"refentry","type":"Function","methodName":"count"},{"id":"spldoublylinkedlist.current","name":"SplDoublyLinkedList::current","description":"Return current array entry","tag":"refentry","type":"Function","methodName":"current"},{"id":"spldoublylinkedlist.getiteratormode","name":"SplDoublyLinkedList::getIteratorMode","description":"Returns the mode of iteration","tag":"refentry","type":"Function","methodName":"getIteratorMode"},{"id":"spldoublylinkedlist.isempty","name":"SplDoublyLinkedList::isEmpty","description":"Checks whether the doubly linked list is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"spldoublylinkedlist.key","name":"SplDoublyLinkedList::key","description":"Return current node index","tag":"refentry","type":"Function","methodName":"key"},{"id":"spldoublylinkedlist.next","name":"SplDoublyLinkedList::next","description":"Move to next entry","tag":"refentry","type":"Function","methodName":"next"},{"id":"spldoublylinkedlist.offsetexists","name":"SplDoublyLinkedList::offsetExists","description":"Returns whether the requested $index exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"spldoublylinkedlist.offsetget","name":"SplDoublyLinkedList::offsetGet","description":"Returns the value at the specified $index","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"spldoublylinkedlist.offsetset","name":"SplDoublyLinkedList::offsetSet","description":"Sets the value at the specified $index to $value","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"spldoublylinkedlist.offsetunset","name":"SplDoublyLinkedList::offsetUnset","description":"Unsets the value at the specified $index","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"spldoublylinkedlist.pop","name":"SplDoublyLinkedList::pop","description":"Pops a node from the end of the doubly linked list","tag":"refentry","type":"Function","methodName":"pop"},{"id":"spldoublylinkedlist.prev","name":"SplDoublyLinkedList::prev","description":"Move to previous entry","tag":"refentry","type":"Function","methodName":"prev"},{"id":"spldoublylinkedlist.push","name":"SplDoublyLinkedList::push","description":"Pushes an element at the end of the doubly linked list","tag":"refentry","type":"Function","methodName":"push"},{"id":"spldoublylinkedlist.rewind","name":"SplDoublyLinkedList::rewind","description":"Rewind iterator back to the start","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"spldoublylinkedlist.serialize","name":"SplDoublyLinkedList::serialize","description":"Serializes the storage","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"spldoublylinkedlist.setiteratormode","name":"SplDoublyLinkedList::setIteratorMode","description":"Sets the mode of iteration","tag":"refentry","type":"Function","methodName":"setIteratorMode"},{"id":"spldoublylinkedlist.shift","name":"SplDoublyLinkedList::shift","description":"Shifts a node from the beginning of the doubly linked list","tag":"refentry","type":"Function","methodName":"shift"},{"id":"spldoublylinkedlist.top","name":"SplDoublyLinkedList::top","description":"Peeks at the node from the end of the doubly linked list","tag":"refentry","type":"Function","methodName":"top"},{"id":"spldoublylinkedlist.unserialize","name":"SplDoublyLinkedList::unserialize","description":"Unserializes the storage","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"spldoublylinkedlist.unshift","name":"SplDoublyLinkedList::unshift","description":"Prepends the doubly linked list with an element","tag":"refentry","type":"Function","methodName":"unshift"},{"id":"spldoublylinkedlist.valid","name":"SplDoublyLinkedList::valid","description":"Check whether the doubly linked list contains more nodes","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.spldoublylinkedlist","name":"SplDoublyLinkedList","description":"The SplDoublyLinkedList class","tag":"phpdoc:classref","type":"Class","methodName":"SplDoublyLinkedList"},{"id":"class.splstack","name":"SplStack","description":"The SplStack class","tag":"phpdoc:classref","type":"Class","methodName":"SplStack"},{"id":"splqueue.dequeue","name":"SplQueue::dequeue","description":"Dequeues a node from the queue","tag":"refentry","type":"Function","methodName":"dequeue"},{"id":"splqueue.enqueue","name":"SplQueue::enqueue","description":"Adds an element to the queue","tag":"refentry","type":"Function","methodName":"enqueue"},{"id":"class.splqueue","name":"SplQueue","description":"The SplQueue class","tag":"phpdoc:classref","type":"Class","methodName":"SplQueue"},{"id":"splheap.compare","name":"SplHeap::compare","description":"Compare elements in order to place them correctly in the heap while sifting up","tag":"refentry","type":"Function","methodName":"compare"},{"id":"splheap.count","name":"SplHeap::count","description":"Counts the number of elements in the heap","tag":"refentry","type":"Function","methodName":"count"},{"id":"splheap.current","name":"SplHeap::current","description":"Return current node pointed by the iterator","tag":"refentry","type":"Function","methodName":"current"},{"id":"splheap.extract","name":"SplHeap::extract","description":"Extracts a node from top of the heap and sift up","tag":"refentry","type":"Function","methodName":"extract"},{"id":"splheap.insert","name":"SplHeap::insert","description":"Inserts an element in the heap by sifting it up","tag":"refentry","type":"Function","methodName":"insert"},{"id":"splheap.iscorrupted","name":"SplHeap::isCorrupted","description":"Tells if the heap is in a corrupted state","tag":"refentry","type":"Function","methodName":"isCorrupted"},{"id":"splheap.isempty","name":"SplHeap::isEmpty","description":"Checks whether the heap is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"splheap.key","name":"SplHeap::key","description":"Return current node index","tag":"refentry","type":"Function","methodName":"key"},{"id":"splheap.next","name":"SplHeap::next","description":"Move to the next node","tag":"refentry","type":"Function","methodName":"next"},{"id":"splheap.recoverfromcorruption","name":"SplHeap::recoverFromCorruption","description":"Recover from the corrupted state and allow further actions on the heap","tag":"refentry","type":"Function","methodName":"recoverFromCorruption"},{"id":"splheap.rewind","name":"SplHeap::rewind","description":"Rewind iterator back to the start (no-op)","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"splheap.top","name":"SplHeap::top","description":"Peeks at the node from the top of the heap","tag":"refentry","type":"Function","methodName":"top"},{"id":"splheap.valid","name":"SplHeap::valid","description":"Check whether the heap contains more nodes","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.splheap","name":"SplHeap","description":"The SplHeap class","tag":"phpdoc:classref","type":"Class","methodName":"SplHeap"},{"id":"splmaxheap.compare","name":"SplMaxHeap::compare","description":"Compare elements in order to place them correctly in the heap while sifting up","tag":"refentry","type":"Function","methodName":"compare"},{"id":"class.splmaxheap","name":"SplMaxHeap","description":"The SplMaxHeap class","tag":"phpdoc:classref","type":"Class","methodName":"SplMaxHeap"},{"id":"splminheap.compare","name":"SplMinHeap::compare","description":"Compare elements in order to place them correctly in the heap while sifting up","tag":"refentry","type":"Function","methodName":"compare"},{"id":"class.splminheap","name":"SplMinHeap","description":"The SplMinHeap class","tag":"phpdoc:classref","type":"Class","methodName":"SplMinHeap"},{"id":"splpriorityqueue.compare","name":"SplPriorityQueue::compare","description":"Compare priorities in order to place elements correctly in the heap while sifting up","tag":"refentry","type":"Function","methodName":"compare"},{"id":"splpriorityqueue.count","name":"SplPriorityQueue::count","description":"Counts the number of elements in the queue","tag":"refentry","type":"Function","methodName":"count"},{"id":"splpriorityqueue.current","name":"SplPriorityQueue::current","description":"Return current node pointed by the iterator","tag":"refentry","type":"Function","methodName":"current"},{"id":"splpriorityqueue.extract","name":"SplPriorityQueue::extract","description":"Extracts a node from top of the heap and sift up","tag":"refentry","type":"Function","methodName":"extract"},{"id":"splpriorityqueue.getextractflags","name":"SplPriorityQueue::getExtractFlags","description":"Get the flags of extraction","tag":"refentry","type":"Function","methodName":"getExtractFlags"},{"id":"splpriorityqueue.insert","name":"SplPriorityQueue::insert","description":"Inserts an element in the queue by sifting it up","tag":"refentry","type":"Function","methodName":"insert"},{"id":"splpriorityqueue.iscorrupted","name":"SplPriorityQueue::isCorrupted","description":"Tells if the priority queue is in a corrupted state","tag":"refentry","type":"Function","methodName":"isCorrupted"},{"id":"splpriorityqueue.isempty","name":"SplPriorityQueue::isEmpty","description":"Checks whether the queue is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"splpriorityqueue.key","name":"SplPriorityQueue::key","description":"Return current node index","tag":"refentry","type":"Function","methodName":"key"},{"id":"splpriorityqueue.next","name":"SplPriorityQueue::next","description":"Move to the next node","tag":"refentry","type":"Function","methodName":"next"},{"id":"splpriorityqueue.recoverfromcorruption","name":"SplPriorityQueue::recoverFromCorruption","description":"Recover from the corrupted state and allow further actions on the queue","tag":"refentry","type":"Function","methodName":"recoverFromCorruption"},{"id":"splpriorityqueue.rewind","name":"SplPriorityQueue::rewind","description":"Rewind iterator back to the start (no-op)","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"splpriorityqueue.setextractflags","name":"SplPriorityQueue::setExtractFlags","description":"Sets the mode of extraction","tag":"refentry","type":"Function","methodName":"setExtractFlags"},{"id":"splpriorityqueue.top","name":"SplPriorityQueue::top","description":"Peeks at the node from the top of the queue","tag":"refentry","type":"Function","methodName":"top"},{"id":"splpriorityqueue.valid","name":"SplPriorityQueue::valid","description":"Check whether the queue contains more nodes","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.splpriorityqueue","name":"SplPriorityQueue","description":"The SplPriorityQueue class","tag":"phpdoc:classref","type":"Class","methodName":"SplPriorityQueue"},{"id":"splfixedarray.construct","name":"SplFixedArray::__construct","description":"Constructs a new fixed array","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"splfixedarray.count","name":"SplFixedArray::count","description":"Returns the size of the array","tag":"refentry","type":"Function","methodName":"count"},{"id":"splfixedarray.current","name":"SplFixedArray::current","description":"Return current array entry","tag":"refentry","type":"Function","methodName":"current"},{"id":"splfixedarray.fromarray","name":"SplFixedArray::fromArray","description":"Import a PHP array in a SplFixedArray instance","tag":"refentry","type":"Function","methodName":"fromArray"},{"id":"splfixedarray.getiterator","name":"SplFixedArray::getIterator","description":"Retrieve the iterator to go through the array","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"splfixedarray.getsize","name":"SplFixedArray::getSize","description":"Gets the size of the array","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"splfixedarray.jsonserialize","name":"SplFixedArray::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"splfixedarray.key","name":"SplFixedArray::key","description":"Return current array index","tag":"refentry","type":"Function","methodName":"key"},{"id":"splfixedarray.next","name":"SplFixedArray::next","description":"Move to next entry","tag":"refentry","type":"Function","methodName":"next"},{"id":"splfixedarray.offsetexists","name":"SplFixedArray::offsetExists","description":"Returns whether the requested index exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"splfixedarray.offsetget","name":"SplFixedArray::offsetGet","description":"Returns the value at the specified index","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"splfixedarray.offsetset","name":"SplFixedArray::offsetSet","description":"Sets a new value at a specified index","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"splfixedarray.offsetunset","name":"SplFixedArray::offsetUnset","description":"Unsets the value at the specified $index","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"splfixedarray.rewind","name":"SplFixedArray::rewind","description":"Rewind iterator back to the start","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"splfixedarray.serialize","name":"SplFixedArray::__serialize","description":"Serializes the SplFixedArray object","tag":"refentry","type":"Function","methodName":"__serialize"},{"id":"splfixedarray.setsize","name":"SplFixedArray::setSize","description":"Change the size of an array","tag":"refentry","type":"Function","methodName":"setSize"},{"id":"splfixedarray.toarray","name":"SplFixedArray::toArray","description":"Returns a PHP array from the fixed array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"splfixedarray.unserialize","name":"SplFixedArray::__unserialize","description":"Deserializes the data parameter into an SplFixedArray object","tag":"refentry","type":"Function","methodName":"__unserialize"},{"id":"splfixedarray.valid","name":"SplFixedArray::valid","description":"Check whether the array contains more elements","tag":"refentry","type":"Function","methodName":"valid"},{"id":"splfixedarray.wakeup","name":"SplFixedArray::__wakeup","description":"Reinitialises the array after being unserialised","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"class.splfixedarray","name":"SplFixedArray","description":"The SplFixedArray class","tag":"phpdoc:classref","type":"Class","methodName":"SplFixedArray"},{"id":"arrayobject.append","name":"ArrayObject::append","description":"Appends the value","tag":"refentry","type":"Function","methodName":"append"},{"id":"arrayobject.asort","name":"ArrayObject::asort","description":"Sort the entries by value","tag":"refentry","type":"Function","methodName":"asort"},{"id":"arrayobject.construct","name":"ArrayObject::__construct","description":"Construct a new array object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"arrayobject.count","name":"ArrayObject::count","description":"Get the number of public properties in the ArrayObject","tag":"refentry","type":"Function","methodName":"count"},{"id":"arrayobject.exchangearray","name":"ArrayObject::exchangeArray","description":"Exchange the array for another one","tag":"refentry","type":"Function","methodName":"exchangeArray"},{"id":"arrayobject.getarraycopy","name":"ArrayObject::getArrayCopy","description":"Creates a copy of the ArrayObject","tag":"refentry","type":"Function","methodName":"getArrayCopy"},{"id":"arrayobject.getflags","name":"ArrayObject::getFlags","description":"Gets the behavior flags","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"arrayobject.getiterator","name":"ArrayObject::getIterator","description":"Create a new iterator from an ArrayObject instance","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"arrayobject.getiteratorclass","name":"ArrayObject::getIteratorClass","description":"Gets the iterator classname for the ArrayObject","tag":"refentry","type":"Function","methodName":"getIteratorClass"},{"id":"arrayobject.ksort","name":"ArrayObject::ksort","description":"Sort the entries by key","tag":"refentry","type":"Function","methodName":"ksort"},{"id":"arrayobject.natcasesort","name":"ArrayObject::natcasesort","description":"Sort an array using a case insensitive \"natural order\" algorithm","tag":"refentry","type":"Function","methodName":"natcasesort"},{"id":"arrayobject.natsort","name":"ArrayObject::natsort","description":"Sort entries using a \"natural order\" algorithm","tag":"refentry","type":"Function","methodName":"natsort"},{"id":"arrayobject.offsetexists","name":"ArrayObject::offsetExists","description":"Returns whether the requested index exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"arrayobject.offsetget","name":"ArrayObject::offsetGet","description":"Returns the value at the specified index","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"arrayobject.offsetset","name":"ArrayObject::offsetSet","description":"Sets the value at the specified index to newval","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"arrayobject.offsetunset","name":"ArrayObject::offsetUnset","description":"Unsets the value at the specified index","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"arrayobject.serialize","name":"ArrayObject::serialize","description":"Serialize an ArrayObject","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"arrayobject.setflags","name":"ArrayObject::setFlags","description":"Sets the behavior flags","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"arrayobject.setiteratorclass","name":"ArrayObject::setIteratorClass","description":"Sets the iterator classname for the ArrayObject","tag":"refentry","type":"Function","methodName":"setIteratorClass"},{"id":"arrayobject.uasort","name":"ArrayObject::uasort","description":"Sort the entries with a user-defined comparison function and maintain key association","tag":"refentry","type":"Function","methodName":"uasort"},{"id":"arrayobject.uksort","name":"ArrayObject::uksort","description":"Sort the entries by keys using a user-defined comparison function","tag":"refentry","type":"Function","methodName":"uksort"},{"id":"arrayobject.unserialize","name":"ArrayObject::unserialize","description":"Unserialize an ArrayObject","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"class.arrayobject","name":"ArrayObject","description":"The ArrayObject class","tag":"phpdoc:classref","type":"Class","methodName":"ArrayObject"},{"id":"splobjectstorage.addall","name":"SplObjectStorage::addAll","description":"Adds all objects from another storage","tag":"refentry","type":"Function","methodName":"addAll"},{"id":"splobjectstorage.attach","name":"SplObjectStorage::attach","description":"Adds an object in the storage","tag":"refentry","type":"Function","methodName":"attach"},{"id":"splobjectstorage.contains","name":"SplObjectStorage::contains","description":"Checks if the storage contains a specific object","tag":"refentry","type":"Function","methodName":"contains"},{"id":"splobjectstorage.count","name":"SplObjectStorage::count","description":"Returns the number of objects in the storage","tag":"refentry","type":"Function","methodName":"count"},{"id":"splobjectstorage.current","name":"SplObjectStorage::current","description":"Returns the current storage entry","tag":"refentry","type":"Function","methodName":"current"},{"id":"splobjectstorage.detach","name":"SplObjectStorage::detach","description":"Removes an object from the storage","tag":"refentry","type":"Function","methodName":"detach"},{"id":"splobjectstorage.gethash","name":"SplObjectStorage::getHash","description":"Calculate a unique identifier for the contained objects","tag":"refentry","type":"Function","methodName":"getHash"},{"id":"splobjectstorage.getinfo","name":"SplObjectStorage::getInfo","description":"Returns the data associated with the current iterator entry","tag":"refentry","type":"Function","methodName":"getInfo"},{"id":"splobjectstorage.key","name":"SplObjectStorage::key","description":"Returns the index at which the iterator currently is","tag":"refentry","type":"Function","methodName":"key"},{"id":"splobjectstorage.next","name":"SplObjectStorage::next","description":"Move to the next entry","tag":"refentry","type":"Function","methodName":"next"},{"id":"splobjectstorage.offsetexists","name":"SplObjectStorage::offsetExists","description":"Checks whether an object exists in the storage","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"splobjectstorage.offsetget","name":"SplObjectStorage::offsetGet","description":"Returns the data associated with an object","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"splobjectstorage.offsetset","name":"SplObjectStorage::offsetSet","description":"Associates data to an object in the storage","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"splobjectstorage.offsetunset","name":"SplObjectStorage::offsetUnset","description":"Removes an object from the storage","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"splobjectstorage.removeall","name":"SplObjectStorage::removeAll","description":"Removes objects contained in another storage from the current storage","tag":"refentry","type":"Function","methodName":"removeAll"},{"id":"splobjectstorage.removeallexcept","name":"SplObjectStorage::removeAllExcept","description":"Removes all objects except for those contained in another storage from the current storage","tag":"refentry","type":"Function","methodName":"removeAllExcept"},{"id":"splobjectstorage.rewind","name":"SplObjectStorage::rewind","description":"Rewind the iterator to the first storage element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"splobjectstorage.seek","name":"SplObjectStorage::seek","description":"Seeks iterator to a position","tag":"refentry","type":"Function","methodName":"seek"},{"id":"splobjectstorage.serialize","name":"SplObjectStorage::serialize","description":"Serializes the storage","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"splobjectstorage.setinfo","name":"SplObjectStorage::setInfo","description":"Sets the data associated with the current iterator entry","tag":"refentry","type":"Function","methodName":"setInfo"},{"id":"splobjectstorage.unserialize","name":"SplObjectStorage::unserialize","description":"Unserializes a storage from its string representation","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"splobjectstorage.valid","name":"SplObjectStorage::valid","description":"Returns if the current iterator entry is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.splobjectstorage","name":"SplObjectStorage","description":"The SplObjectStorage class","tag":"phpdoc:classref","type":"Class","methodName":"SplObjectStorage"},{"id":"spl.datastructures","name":"Datastructures","description":"Standard PHP Library (SPL)","tag":"part","type":"General","methodName":"Datastructures"},{"id":"class.badfunctioncallexception","name":"BadFunctionCallException","description":"The BadFunctionCallException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"BadFunctionCallException"},{"id":"class.badmethodcallexception","name":"BadMethodCallException","description":"The BadMethodCallException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"BadMethodCallException"},{"id":"class.domainexception","name":"DomainException","description":"The DomainException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DomainException"},{"id":"class.invalidargumentexception","name":"InvalidArgumentException","description":"The InvalidArgumentException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"InvalidArgumentException"},{"id":"class.lengthexception","name":"LengthException","description":"The LengthException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"LengthException"},{"id":"class.logicexception","name":"LogicException","description":"The LogicException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"LogicException"},{"id":"class.outofboundsexception","name":"OutOfBoundsException","description":"The OutOfBoundsException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"OutOfBoundsException"},{"id":"class.outofrangeexception","name":"OutOfRangeException","description":"The OutOfRangeException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"OutOfRangeException"},{"id":"class.overflowexception","name":"OverflowException","description":"The OverflowException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"OverflowException"},{"id":"class.rangeexception","name":"RangeException","description":"The RangeException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"RangeException"},{"id":"class.runtimeexception","name":"RuntimeException","description":"The RuntimeException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"RuntimeException"},{"id":"class.underflowexception","name":"UnderflowException","description":"The UnderflowException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"UnderflowException"},{"id":"class.unexpectedvalueexception","name":"UnexpectedValueException","description":"The UnexpectedValueException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"UnexpectedValueException"},{"id":"spl.exceptions","name":"Exceptions","description":"Standard PHP Library (SPL)","tag":"part","type":"General","methodName":"Exceptions"},{"id":"appenditerator.append","name":"AppendIterator::append","description":"Appends an iterator","tag":"refentry","type":"Function","methodName":"append"},{"id":"appenditerator.construct","name":"AppendIterator::__construct","description":"Constructs an AppendIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"appenditerator.current","name":"AppendIterator::current","description":"Gets the current value","tag":"refentry","type":"Function","methodName":"current"},{"id":"appenditerator.getarrayiterator","name":"AppendIterator::getArrayIterator","description":"Gets the ArrayIterator","tag":"refentry","type":"Function","methodName":"getArrayIterator"},{"id":"appenditerator.getiteratorindex","name":"AppendIterator::getIteratorIndex","description":"Gets an index of iterators","tag":"refentry","type":"Function","methodName":"getIteratorIndex"},{"id":"appenditerator.key","name":"AppendIterator::key","description":"Gets the current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"appenditerator.next","name":"AppendIterator::next","description":"Moves to the next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"appenditerator.rewind","name":"AppendIterator::rewind","description":"Rewinds the Iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"appenditerator.valid","name":"AppendIterator::valid","description":"Checks validity of the current element","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.appenditerator","name":"AppendIterator","description":"The AppendIterator class","tag":"phpdoc:classref","type":"Class","methodName":"AppendIterator"},{"id":"arrayiterator.append","name":"ArrayIterator::append","description":"Append an element","tag":"refentry","type":"Function","methodName":"append"},{"id":"arrayiterator.asort","name":"ArrayIterator::asort","description":"Sort entries by values","tag":"refentry","type":"Function","methodName":"asort"},{"id":"arrayiterator.construct","name":"ArrayIterator::__construct","description":"Construct an ArrayIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"arrayiterator.count","name":"ArrayIterator::count","description":"Count elements","tag":"refentry","type":"Function","methodName":"count"},{"id":"arrayiterator.current","name":"ArrayIterator::current","description":"Return current array entry","tag":"refentry","type":"Function","methodName":"current"},{"id":"arrayiterator.getarraycopy","name":"ArrayIterator::getArrayCopy","description":"Get array copy","tag":"refentry","type":"Function","methodName":"getArrayCopy"},{"id":"arrayiterator.getflags","name":"ArrayIterator::getFlags","description":"Get behavior flags","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"arrayiterator.key","name":"ArrayIterator::key","description":"Return current array key","tag":"refentry","type":"Function","methodName":"key"},{"id":"arrayiterator.ksort","name":"ArrayIterator::ksort","description":"Sort entries by keys","tag":"refentry","type":"Function","methodName":"ksort"},{"id":"arrayiterator.natcasesort","name":"ArrayIterator::natcasesort","description":"Sort entries naturally, case insensitive","tag":"refentry","type":"Function","methodName":"natcasesort"},{"id":"arrayiterator.natsort","name":"ArrayIterator::natsort","description":"Sort entries naturally","tag":"refentry","type":"Function","methodName":"natsort"},{"id":"arrayiterator.next","name":"ArrayIterator::next","description":"Move to next entry","tag":"refentry","type":"Function","methodName":"next"},{"id":"arrayiterator.offsetexists","name":"ArrayIterator::offsetExists","description":"Check if offset exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"arrayiterator.offsetget","name":"ArrayIterator::offsetGet","description":"Get value for an offset","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"arrayiterator.offsetset","name":"ArrayIterator::offsetSet","description":"Set value for an offset","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"arrayiterator.offsetunset","name":"ArrayIterator::offsetUnset","description":"Unset value for an offset","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"arrayiterator.rewind","name":"ArrayIterator::rewind","description":"Rewind array back to the start","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"arrayiterator.seek","name":"ArrayIterator::seek","description":"Seeks to a position","tag":"refentry","type":"Function","methodName":"seek"},{"id":"arrayiterator.serialize","name":"ArrayIterator::serialize","description":"Serialize","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"arrayiterator.setflags","name":"ArrayIterator::setFlags","description":"Set behaviour flags","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"arrayiterator.uasort","name":"ArrayIterator::uasort","description":"Sort with a user-defined comparison function and maintain index association","tag":"refentry","type":"Function","methodName":"uasort"},{"id":"arrayiterator.uksort","name":"ArrayIterator::uksort","description":"Sort by keys using a user-defined comparison function","tag":"refentry","type":"Function","methodName":"uksort"},{"id":"arrayiterator.unserialize","name":"ArrayIterator::unserialize","description":"Unserialize","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"arrayiterator.valid","name":"ArrayIterator::valid","description":"Check whether array contains more entries","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.arrayiterator","name":"ArrayIterator","description":"The ArrayIterator class","tag":"phpdoc:classref","type":"Class","methodName":"ArrayIterator"},{"id":"cachingiterator.construct","name":"CachingIterator::__construct","description":"Construct a new CachingIterator object for the iterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"cachingiterator.count","name":"CachingIterator::count","description":"The number of elements in the iterator","tag":"refentry","type":"Function","methodName":"count"},{"id":"cachingiterator.current","name":"CachingIterator::current","description":"Return the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"cachingiterator.getcache","name":"CachingIterator::getCache","description":"Retrieve the contents of the cache","tag":"refentry","type":"Function","methodName":"getCache"},{"id":"cachingiterator.getflags","name":"CachingIterator::getFlags","description":"Get flags used","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"cachingiterator.hasnext","name":"CachingIterator::hasNext","description":"Check whether the inner iterator has a valid next element","tag":"refentry","type":"Function","methodName":"hasNext"},{"id":"cachingiterator.key","name":"CachingIterator::key","description":"Return the key for the current element","tag":"refentry","type":"Function","methodName":"key"},{"id":"cachingiterator.next","name":"CachingIterator::next","description":"Move the iterator forward","tag":"refentry","type":"Function","methodName":"next"},{"id":"cachingiterator.offsetexists","name":"CachingIterator::offsetExists","description":"The offsetExists purpose","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"cachingiterator.offsetget","name":"CachingIterator::offsetGet","description":"The offsetGet purpose","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"cachingiterator.offsetset","name":"CachingIterator::offsetSet","description":"The offsetSet purpose","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"cachingiterator.offsetunset","name":"CachingIterator::offsetUnset","description":"The offsetUnset purpose","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"cachingiterator.rewind","name":"CachingIterator::rewind","description":"Rewind the iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"cachingiterator.setflags","name":"CachingIterator::setFlags","description":"The setFlags purpose","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"cachingiterator.tostring","name":"CachingIterator::__toString","description":"Return the string representation of the current element","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"cachingiterator.valid","name":"CachingIterator::valid","description":"Check whether the current element is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.cachingiterator","name":"CachingIterator","description":"The CachingIterator class","tag":"phpdoc:classref","type":"Class","methodName":"CachingIterator"},{"id":"callbackfilteriterator.accept","name":"CallbackFilterIterator::accept","description":"Calls the callback with the current value, the current key and the inner iterator as arguments","tag":"refentry","type":"Function","methodName":"accept"},{"id":"callbackfilteriterator.construct","name":"CallbackFilterIterator::__construct","description":"Create a filtered iterator from another iterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.callbackfilteriterator","name":"CallbackFilterIterator","description":"The CallbackFilterIterator class","tag":"phpdoc:classref","type":"Class","methodName":"CallbackFilterIterator"},{"id":"directoryiterator.construct","name":"DirectoryIterator::__construct","description":"Constructs a new directory iterator from a path","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"directoryiterator.current","name":"DirectoryIterator::current","description":"Return the current DirectoryIterator item","tag":"refentry","type":"Function","methodName":"current"},{"id":"directoryiterator.getbasename","name":"DirectoryIterator::getBasename","description":"Get base name of current DirectoryIterator item","tag":"refentry","type":"Function","methodName":"getBasename"},{"id":"directoryiterator.getextension","name":"DirectoryIterator::getExtension","description":"Gets the file extension","tag":"refentry","type":"Function","methodName":"getExtension"},{"id":"directoryiterator.getfilename","name":"DirectoryIterator::getFilename","description":"Return file name of current DirectoryIterator item","tag":"refentry","type":"Function","methodName":"getFilename"},{"id":"directoryiterator.isdot","name":"DirectoryIterator::isDot","description":"Determine if current DirectoryIterator item is '.' or '..'","tag":"refentry","type":"Function","methodName":"isDot"},{"id":"directoryiterator.key","name":"DirectoryIterator::key","description":"Return the key for the current DirectoryIterator item","tag":"refentry","type":"Function","methodName":"key"},{"id":"directoryiterator.next","name":"DirectoryIterator::next","description":"Move forward to next DirectoryIterator item","tag":"refentry","type":"Function","methodName":"next"},{"id":"directoryiterator.rewind","name":"DirectoryIterator::rewind","description":"Rewind the DirectoryIterator back to the start","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"directoryiterator.seek","name":"DirectoryIterator::seek","description":"Seek to a DirectoryIterator item","tag":"refentry","type":"Function","methodName":"seek"},{"id":"directoryiterator.tostring","name":"DirectoryIterator::__toString","description":"Get file name as a string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"directoryiterator.valid","name":"DirectoryIterator::valid","description":"Check whether current DirectoryIterator position is a valid file","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.directoryiterator","name":"DirectoryIterator","description":"The DirectoryIterator class","tag":"phpdoc:classref","type":"Class","methodName":"DirectoryIterator"},{"id":"emptyiterator.current","name":"EmptyIterator::current","description":"The current() method","tag":"refentry","type":"Function","methodName":"current"},{"id":"emptyiterator.key","name":"EmptyIterator::key","description":"The key() method","tag":"refentry","type":"Function","methodName":"key"},{"id":"emptyiterator.next","name":"EmptyIterator::next","description":"The next() method","tag":"refentry","type":"Function","methodName":"next"},{"id":"emptyiterator.rewind","name":"EmptyIterator::rewind","description":"The rewind() method","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"emptyiterator.valid","name":"EmptyIterator::valid","description":"Checks whether the current element is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.emptyiterator","name":"EmptyIterator","description":"The EmptyIterator class","tag":"phpdoc:classref","type":"Class","methodName":"EmptyIterator"},{"id":"filesystemiterator.construct","name":"FilesystemIterator::__construct","description":"Constructs a new filesystem iterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"filesystemiterator.current","name":"FilesystemIterator::current","description":"The current file","tag":"refentry","type":"Function","methodName":"current"},{"id":"filesystemiterator.getflags","name":"FilesystemIterator::getFlags","description":"Get the handling flags","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"filesystemiterator.key","name":"FilesystemIterator::key","description":"Retrieve the key for the current file","tag":"refentry","type":"Function","methodName":"key"},{"id":"filesystemiterator.next","name":"FilesystemIterator::next","description":"Move to the next file","tag":"refentry","type":"Function","methodName":"next"},{"id":"filesystemiterator.rewind","name":"FilesystemIterator::rewind","description":"Rewinds back to the beginning","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"filesystemiterator.setflags","name":"FilesystemIterator::setFlags","description":"Sets handling flags","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"class.filesystemiterator","name":"FilesystemIterator","description":"The FilesystemIterator class","tag":"phpdoc:classref","type":"Class","methodName":"FilesystemIterator"},{"id":"filteriterator.accept","name":"FilterIterator::accept","description":"Check whether the current element of the iterator is acceptable","tag":"refentry","type":"Function","methodName":"accept"},{"id":"filteriterator.construct","name":"FilterIterator::__construct","description":"Construct a filterIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"filteriterator.current","name":"FilterIterator::current","description":"Get the current element value","tag":"refentry","type":"Function","methodName":"current"},{"id":"filteriterator.key","name":"FilterIterator::key","description":"Get the current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"filteriterator.next","name":"FilterIterator::next","description":"Move the iterator forward","tag":"refentry","type":"Function","methodName":"next"},{"id":"filteriterator.rewind","name":"FilterIterator::rewind","description":"Rewind the iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"filteriterator.valid","name":"FilterIterator::valid","description":"Check whether the current element is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.filteriterator","name":"FilterIterator","description":"The FilterIterator class","tag":"phpdoc:classref","type":"Class","methodName":"FilterIterator"},{"id":"globiterator.construct","name":"GlobIterator::__construct","description":"Construct a directory using glob","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"globiterator.count","name":"GlobIterator::count","description":"Get the number of directories and files","tag":"refentry","type":"Function","methodName":"count"},{"id":"class.globiterator","name":"GlobIterator","description":"The GlobIterator class","tag":"phpdoc:classref","type":"Class","methodName":"GlobIterator"},{"id":"infiniteiterator.construct","name":"InfiniteIterator::__construct","description":"Constructs an InfiniteIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"infiniteiterator.next","name":"InfiniteIterator::next","description":"Moves the inner Iterator forward or rewinds it","tag":"refentry","type":"Function","methodName":"next"},{"id":"class.infiniteiterator","name":"InfiniteIterator","description":"The InfiniteIterator class","tag":"phpdoc:classref","type":"Class","methodName":"InfiniteIterator"},{"id":"iteratoriterator.construct","name":"IteratorIterator::__construct","description":"Create an iterator from anything that is traversable","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"iteratoriterator.current","name":"IteratorIterator::current","description":"Get the current value","tag":"refentry","type":"Function","methodName":"current"},{"id":"iteratoriterator.getinneriterator","name":"IteratorIterator::getInnerIterator","description":"Get the inner iterator","tag":"refentry","type":"Function","methodName":"getInnerIterator"},{"id":"iteratoriterator.key","name":"IteratorIterator::key","description":"Get the key of the current element","tag":"refentry","type":"Function","methodName":"key"},{"id":"iteratoriterator.next","name":"IteratorIterator::next","description":"Forward to the next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"iteratoriterator.rewind","name":"IteratorIterator::rewind","description":"Rewind to the first element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"iteratoriterator.valid","name":"IteratorIterator::valid","description":"Checks if the current element is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.iteratoriterator","name":"IteratorIterator","description":"The IteratorIterator class","tag":"phpdoc:classref","type":"Class","methodName":"IteratorIterator"},{"id":"limititerator.construct","name":"LimitIterator::__construct","description":"Construct a LimitIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"limititerator.current","name":"LimitIterator::current","description":"Get current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"limititerator.getposition","name":"LimitIterator::getPosition","description":"Return the current position","tag":"refentry","type":"Function","methodName":"getPosition"},{"id":"limititerator.key","name":"LimitIterator::key","description":"Get current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"limititerator.next","name":"LimitIterator::next","description":"Move the iterator forward","tag":"refentry","type":"Function","methodName":"next"},{"id":"limititerator.rewind","name":"LimitIterator::rewind","description":"Rewind the iterator to the specified starting offset","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"limititerator.seek","name":"LimitIterator::seek","description":"Seek to the given position","tag":"refentry","type":"Function","methodName":"seek"},{"id":"limititerator.valid","name":"LimitIterator::valid","description":"Check whether the current element is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.limititerator","name":"LimitIterator","description":"The LimitIterator class","tag":"phpdoc:classref","type":"Class","methodName":"LimitIterator"},{"id":"multipleiterator.attachiterator","name":"MultipleIterator::attachIterator","description":"Attaches iterator information","tag":"refentry","type":"Function","methodName":"attachIterator"},{"id":"multipleiterator.construct","name":"MultipleIterator::__construct","description":"Constructs a new MultipleIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"multipleiterator.containsiterator","name":"MultipleIterator::containsIterator","description":"Checks if an iterator is attached","tag":"refentry","type":"Function","methodName":"containsIterator"},{"id":"multipleiterator.countiterators","name":"MultipleIterator::countIterators","description":"Gets the number of attached iterator instances","tag":"refentry","type":"Function","methodName":"countIterators"},{"id":"multipleiterator.current","name":"MultipleIterator::current","description":"Gets the registered iterator instances","tag":"refentry","type":"Function","methodName":"current"},{"id":"multipleiterator.detachiterator","name":"MultipleIterator::detachIterator","description":"Detaches an iterator","tag":"refentry","type":"Function","methodName":"detachIterator"},{"id":"multipleiterator.getflags","name":"MultipleIterator::getFlags","description":"Gets the flag information","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"multipleiterator.key","name":"MultipleIterator::key","description":"Gets the registered iterator instances","tag":"refentry","type":"Function","methodName":"key"},{"id":"multipleiterator.next","name":"MultipleIterator::next","description":"Moves all attached iterator instances forward","tag":"refentry","type":"Function","methodName":"next"},{"id":"multipleiterator.rewind","name":"MultipleIterator::rewind","description":"Rewinds all attached iterator instances","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"multipleiterator.setflags","name":"MultipleIterator::setFlags","description":"Sets flags","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"multipleiterator.valid","name":"MultipleIterator::valid","description":"Checks the validity of sub iterators","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.multipleiterator","name":"MultipleIterator","description":"The MultipleIterator class","tag":"phpdoc:classref","type":"Class","methodName":"MultipleIterator"},{"id":"norewinditerator.construct","name":"NoRewindIterator::__construct","description":"Construct a NoRewindIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"norewinditerator.current","name":"NoRewindIterator::current","description":"Get the current value","tag":"refentry","type":"Function","methodName":"current"},{"id":"norewinditerator.key","name":"NoRewindIterator::key","description":"Get the current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"norewinditerator.next","name":"NoRewindIterator::next","description":"Forward to the next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"norewinditerator.rewind","name":"NoRewindIterator::rewind","description":"Prevents the rewind operation on the inner iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"norewinditerator.valid","name":"NoRewindIterator::valid","description":"Validates the iterator","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.norewinditerator","name":"NoRewindIterator","description":"The NoRewindIterator class","tag":"phpdoc:classref","type":"Class","methodName":"NoRewindIterator"},{"id":"parentiterator.accept","name":"ParentIterator::accept","description":"Determines acceptability","tag":"refentry","type":"Function","methodName":"accept"},{"id":"parentiterator.construct","name":"ParentIterator::__construct","description":"Constructs a ParentIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"parentiterator.getchildren","name":"ParentIterator::getChildren","description":"Return the inner iterator's children contained in a ParentIterator","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"parentiterator.haschildren","name":"ParentIterator::hasChildren","description":"Check whether the inner iterator's current element has children","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"parentiterator.next","name":"ParentIterator::next","description":"Move the iterator forward","tag":"refentry","type":"Function","methodName":"next"},{"id":"parentiterator.rewind","name":"ParentIterator::rewind","description":"Rewind the iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"class.parentiterator","name":"ParentIterator","description":"The ParentIterator class","tag":"phpdoc:classref","type":"Class","methodName":"ParentIterator"},{"id":"recursivearrayiterator.getchildren","name":"RecursiveArrayIterator::getChildren","description":"Returns an iterator for the current entry if it is an array or an object","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursivearrayiterator.haschildren","name":"RecursiveArrayIterator::hasChildren","description":"Returns whether current entry is an array or an object","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"class.recursivearrayiterator","name":"RecursiveArrayIterator","description":"The RecursiveArrayIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveArrayIterator"},{"id":"recursivecachingiterator.construct","name":"RecursiveCachingIterator::__construct","description":"Construct","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursivecachingiterator.getchildren","name":"RecursiveCachingIterator::getChildren","description":"Return the inner iterator's children as a RecursiveCachingIterator","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursivecachingiterator.haschildren","name":"RecursiveCachingIterator::hasChildren","description":"Check whether the current element of the inner iterator has children","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"class.recursivecachingiterator","name":"RecursiveCachingIterator","description":"The RecursiveCachingIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveCachingIterator"},{"id":"recursivecallbackfilteriterator.construct","name":"RecursiveCallbackFilterIterator::__construct","description":"Create a RecursiveCallbackFilterIterator from a RecursiveIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursivecallbackfilteriterator.getchildren","name":"RecursiveCallbackFilterIterator::getChildren","description":"Return the inner iterator's children contained in a RecursiveCallbackFilterIterator","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursivecallbackfilteriterator.haschildren","name":"RecursiveCallbackFilterIterator::hasChildren","description":"Check whether the inner iterator's current element has children","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"class.recursivecallbackfilteriterator","name":"RecursiveCallbackFilterIterator","description":"The RecursiveCallbackFilterIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveCallbackFilterIterator"},{"id":"recursivedirectoryiterator.construct","name":"RecursiveDirectoryIterator::__construct","description":"Constructs a RecursiveDirectoryIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursivedirectoryiterator.getchildren","name":"RecursiveDirectoryIterator::getChildren","description":"Returns an iterator for the current entry if it is a directory","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursivedirectoryiterator.getsubpath","name":"RecursiveDirectoryIterator::getSubPath","description":"Get sub path","tag":"refentry","type":"Function","methodName":"getSubPath"},{"id":"recursivedirectoryiterator.getsubpathname","name":"RecursiveDirectoryIterator::getSubPathname","description":"Get sub path and name","tag":"refentry","type":"Function","methodName":"getSubPathname"},{"id":"recursivedirectoryiterator.haschildren","name":"RecursiveDirectoryIterator::hasChildren","description":"Returns whether current entry is a directory and not '.' or '..'","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"recursivedirectoryiterator.key","name":"RecursiveDirectoryIterator::key","description":"Return path and filename of current dir entry","tag":"refentry","type":"Function","methodName":"key"},{"id":"recursivedirectoryiterator.next","name":"RecursiveDirectoryIterator::next","description":"Move to next entry","tag":"refentry","type":"Function","methodName":"next"},{"id":"recursivedirectoryiterator.rewind","name":"RecursiveDirectoryIterator::rewind","description":"Rewind dir back to the start","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"class.recursivedirectoryiterator","name":"RecursiveDirectoryIterator","description":"The RecursiveDirectoryIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveDirectoryIterator"},{"id":"recursivefilteriterator.construct","name":"RecursiveFilterIterator::__construct","description":"Create a RecursiveFilterIterator from a RecursiveIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursivefilteriterator.getchildren","name":"RecursiveFilterIterator::getChildren","description":"Return the inner iterator's children contained in a RecursiveFilterIterator","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursivefilteriterator.haschildren","name":"RecursiveFilterIterator::hasChildren","description":"Check whether the inner iterator's current element has children","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"class.recursivefilteriterator","name":"RecursiveFilterIterator","description":"The RecursiveFilterIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveFilterIterator"},{"id":"recursiveiteratoriterator.beginchildren","name":"RecursiveIteratorIterator::beginChildren","description":"Begin children","tag":"refentry","type":"Function","methodName":"beginChildren"},{"id":"recursiveiteratoriterator.beginiteration","name":"RecursiveIteratorIterator::beginIteration","description":"Begin Iteration","tag":"refentry","type":"Function","methodName":"beginIteration"},{"id":"recursiveiteratoriterator.callgetchildren","name":"RecursiveIteratorIterator::callGetChildren","description":"Get children","tag":"refentry","type":"Function","methodName":"callGetChildren"},{"id":"recursiveiteratoriterator.callhaschildren","name":"RecursiveIteratorIterator::callHasChildren","description":"Has children","tag":"refentry","type":"Function","methodName":"callHasChildren"},{"id":"recursiveiteratoriterator.construct","name":"RecursiveIteratorIterator::__construct","description":"Construct a RecursiveIteratorIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursiveiteratoriterator.current","name":"RecursiveIteratorIterator::current","description":"Access the current element value","tag":"refentry","type":"Function","methodName":"current"},{"id":"recursiveiteratoriterator.endchildren","name":"RecursiveIteratorIterator::endChildren","description":"End children","tag":"refentry","type":"Function","methodName":"endChildren"},{"id":"recursiveiteratoriterator.enditeration","name":"RecursiveIteratorIterator::endIteration","description":"End Iteration","tag":"refentry","type":"Function","methodName":"endIteration"},{"id":"recursiveiteratoriterator.getdepth","name":"RecursiveIteratorIterator::getDepth","description":"Get the current depth of the recursive iteration","tag":"refentry","type":"Function","methodName":"getDepth"},{"id":"recursiveiteratoriterator.getinneriterator","name":"RecursiveIteratorIterator::getInnerIterator","description":"Get inner iterator","tag":"refentry","type":"Function","methodName":"getInnerIterator"},{"id":"recursiveiteratoriterator.getmaxdepth","name":"RecursiveIteratorIterator::getMaxDepth","description":"Get max depth","tag":"refentry","type":"Function","methodName":"getMaxDepth"},{"id":"recursiveiteratoriterator.getsubiterator","name":"RecursiveIteratorIterator::getSubIterator","description":"The current active sub iterator","tag":"refentry","type":"Function","methodName":"getSubIterator"},{"id":"recursiveiteratoriterator.key","name":"RecursiveIteratorIterator::key","description":"Access the current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"recursiveiteratoriterator.next","name":"RecursiveIteratorIterator::next","description":"Move forward to the next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"recursiveiteratoriterator.nextelement","name":"RecursiveIteratorIterator::nextElement","description":"Next element","tag":"refentry","type":"Function","methodName":"nextElement"},{"id":"recursiveiteratoriterator.rewind","name":"RecursiveIteratorIterator::rewind","description":"Rewind the iterator to the first element of the top level inner iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"recursiveiteratoriterator.setmaxdepth","name":"RecursiveIteratorIterator::setMaxDepth","description":"Set max depth","tag":"refentry","type":"Function","methodName":"setMaxDepth"},{"id":"recursiveiteratoriterator.valid","name":"RecursiveIteratorIterator::valid","description":"Check whether the current position is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.recursiveiteratoriterator","name":"RecursiveIteratorIterator","description":"The RecursiveIteratorIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveIteratorIterator"},{"id":"recursiveregexiterator.construct","name":"RecursiveRegexIterator::__construct","description":"Creates a new RecursiveRegexIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursiveregexiterator.getchildren","name":"RecursiveRegexIterator::getChildren","description":"Returns an iterator for the current entry","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"recursiveregexiterator.haschildren","name":"RecursiveRegexIterator::hasChildren","description":"Returns whether an iterator can be obtained for the current entry","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"class.recursiveregexiterator","name":"RecursiveRegexIterator","description":"The RecursiveRegexIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveRegexIterator"},{"id":"recursivetreeiterator.beginchildren","name":"RecursiveTreeIterator::beginChildren","description":"Begin children","tag":"refentry","type":"Function","methodName":"beginChildren"},{"id":"recursivetreeiterator.beginiteration","name":"RecursiveTreeIterator::beginIteration","description":"Begin iteration","tag":"refentry","type":"Function","methodName":"beginIteration"},{"id":"recursivetreeiterator.callgetchildren","name":"RecursiveTreeIterator::callGetChildren","description":"Get children","tag":"refentry","type":"Function","methodName":"callGetChildren"},{"id":"recursivetreeiterator.callhaschildren","name":"RecursiveTreeIterator::callHasChildren","description":"Has children","tag":"refentry","type":"Function","methodName":"callHasChildren"},{"id":"recursivetreeiterator.construct","name":"RecursiveTreeIterator::__construct","description":"Construct a RecursiveTreeIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"recursivetreeiterator.current","name":"RecursiveTreeIterator::current","description":"Get current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"recursivetreeiterator.endchildren","name":"RecursiveTreeIterator::endChildren","description":"End children","tag":"refentry","type":"Function","methodName":"endChildren"},{"id":"recursivetreeiterator.enditeration","name":"RecursiveTreeIterator::endIteration","description":"End iteration","tag":"refentry","type":"Function","methodName":"endIteration"},{"id":"recursivetreeiterator.getentry","name":"RecursiveTreeIterator::getEntry","description":"Get current entry","tag":"refentry","type":"Function","methodName":"getEntry"},{"id":"recursivetreeiterator.getpostfix","name":"RecursiveTreeIterator::getPostfix","description":"Get the postfix","tag":"refentry","type":"Function","methodName":"getPostfix"},{"id":"recursivetreeiterator.getprefix","name":"RecursiveTreeIterator::getPrefix","description":"Get the prefix","tag":"refentry","type":"Function","methodName":"getPrefix"},{"id":"recursivetreeiterator.key","name":"RecursiveTreeIterator::key","description":"Get the key of the current element","tag":"refentry","type":"Function","methodName":"key"},{"id":"recursivetreeiterator.next","name":"RecursiveTreeIterator::next","description":"Move to next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"recursivetreeiterator.nextelement","name":"RecursiveTreeIterator::nextElement","description":"Next element","tag":"refentry","type":"Function","methodName":"nextElement"},{"id":"recursivetreeiterator.rewind","name":"RecursiveTreeIterator::rewind","description":"Rewind iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"recursivetreeiterator.setpostfix","name":"RecursiveTreeIterator::setPostfix","description":"Set postfix","tag":"refentry","type":"Function","methodName":"setPostfix"},{"id":"recursivetreeiterator.setprefixpart","name":"RecursiveTreeIterator::setPrefixPart","description":"Set a part of the prefix","tag":"refentry","type":"Function","methodName":"setPrefixPart"},{"id":"recursivetreeiterator.valid","name":"RecursiveTreeIterator::valid","description":"Check validity","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.recursivetreeiterator","name":"RecursiveTreeIterator","description":"The RecursiveTreeIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RecursiveTreeIterator"},{"id":"regexiterator.accept","name":"RegexIterator::accept","description":"Get accept status","tag":"refentry","type":"Function","methodName":"accept"},{"id":"regexiterator.construct","name":"RegexIterator::__construct","description":"Create a new RegexIterator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"regexiterator.getflags","name":"RegexIterator::getFlags","description":"Get flags","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"regexiterator.getmode","name":"RegexIterator::getMode","description":"Returns operation mode","tag":"refentry","type":"Function","methodName":"getMode"},{"id":"regexiterator.getpregflags","name":"RegexIterator::getPregFlags","description":"Returns the regular expression flags","tag":"refentry","type":"Function","methodName":"getPregFlags"},{"id":"regexiterator.getregex","name":"RegexIterator::getRegex","description":"Returns current regular expression","tag":"refentry","type":"Function","methodName":"getRegex"},{"id":"regexiterator.setflags","name":"RegexIterator::setFlags","description":"Sets the flags","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"regexiterator.setmode","name":"RegexIterator::setMode","description":"Sets the operation mode","tag":"refentry","type":"Function","methodName":"setMode"},{"id":"regexiterator.setpregflags","name":"RegexIterator::setPregFlags","description":"Sets the regular expression flags","tag":"refentry","type":"Function","methodName":"setPregFlags"},{"id":"class.regexiterator","name":"RegexIterator","description":"The RegexIterator class","tag":"phpdoc:classref","type":"Class","methodName":"RegexIterator"},{"id":"spl.iterators","name":"Iterators","description":"Standard PHP Library (SPL)","tag":"part","type":"General","methodName":"Iterators"},{"id":"splfileinfo.construct","name":"SplFileInfo::__construct","description":"Construct a new SplFileInfo object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"splfileinfo.getatime","name":"SplFileInfo::getATime","description":"Gets last access time of the file","tag":"refentry","type":"Function","methodName":"getATime"},{"id":"splfileinfo.getbasename","name":"SplFileInfo::getBasename","description":"Gets the base name of the file","tag":"refentry","type":"Function","methodName":"getBasename"},{"id":"splfileinfo.getctime","name":"SplFileInfo::getCTime","description":"Gets the inode change time","tag":"refentry","type":"Function","methodName":"getCTime"},{"id":"splfileinfo.getextension","name":"SplFileInfo::getExtension","description":"Gets the file extension","tag":"refentry","type":"Function","methodName":"getExtension"},{"id":"splfileinfo.getfileinfo","name":"SplFileInfo::getFileInfo","description":"Gets an SplFileInfo object for the file","tag":"refentry","type":"Function","methodName":"getFileInfo"},{"id":"splfileinfo.getfilename","name":"SplFileInfo::getFilename","description":"Gets the filename","tag":"refentry","type":"Function","methodName":"getFilename"},{"id":"splfileinfo.getgroup","name":"SplFileInfo::getGroup","description":"Gets the file group","tag":"refentry","type":"Function","methodName":"getGroup"},{"id":"splfileinfo.getinode","name":"SplFileInfo::getInode","description":"Gets the inode for the file","tag":"refentry","type":"Function","methodName":"getInode"},{"id":"splfileinfo.getlinktarget","name":"SplFileInfo::getLinkTarget","description":"Gets the target of a link","tag":"refentry","type":"Function","methodName":"getLinkTarget"},{"id":"splfileinfo.getmtime","name":"SplFileInfo::getMTime","description":"Gets the last modified time","tag":"refentry","type":"Function","methodName":"getMTime"},{"id":"splfileinfo.getowner","name":"SplFileInfo::getOwner","description":"Gets the owner of the file","tag":"refentry","type":"Function","methodName":"getOwner"},{"id":"splfileinfo.getpath","name":"SplFileInfo::getPath","description":"Gets the path without filename","tag":"refentry","type":"Function","methodName":"getPath"},{"id":"splfileinfo.getpathinfo","name":"SplFileInfo::getPathInfo","description":"Gets an SplFileInfo object for the path","tag":"refentry","type":"Function","methodName":"getPathInfo"},{"id":"splfileinfo.getpathname","name":"SplFileInfo::getPathname","description":"Gets the path to the file","tag":"refentry","type":"Function","methodName":"getPathname"},{"id":"splfileinfo.getperms","name":"SplFileInfo::getPerms","description":"Gets file permissions","tag":"refentry","type":"Function","methodName":"getPerms"},{"id":"splfileinfo.getrealpath","name":"SplFileInfo::getRealPath","description":"Gets absolute path to file","tag":"refentry","type":"Function","methodName":"getRealPath"},{"id":"splfileinfo.getsize","name":"SplFileInfo::getSize","description":"Gets file size","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"splfileinfo.gettype","name":"SplFileInfo::getType","description":"Gets file type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"splfileinfo.isdir","name":"SplFileInfo::isDir","description":"Tells if the file is a directory","tag":"refentry","type":"Function","methodName":"isDir"},{"id":"splfileinfo.isexecutable","name":"SplFileInfo::isExecutable","description":"Tells if the file is executable","tag":"refentry","type":"Function","methodName":"isExecutable"},{"id":"splfileinfo.isfile","name":"SplFileInfo::isFile","description":"Tells if the object references a regular file","tag":"refentry","type":"Function","methodName":"isFile"},{"id":"splfileinfo.islink","name":"SplFileInfo::isLink","description":"Tells if the file is a link","tag":"refentry","type":"Function","methodName":"isLink"},{"id":"splfileinfo.isreadable","name":"SplFileInfo::isReadable","description":"Tells if file is readable","tag":"refentry","type":"Function","methodName":"isReadable"},{"id":"splfileinfo.iswritable","name":"SplFileInfo::isWritable","description":"Tells if the entry is writable","tag":"refentry","type":"Function","methodName":"isWritable"},{"id":"splfileinfo.openfile","name":"SplFileInfo::openFile","description":"Gets an SplFileObject object for the file","tag":"refentry","type":"Function","methodName":"openFile"},{"id":"splfileinfo.setfileclass","name":"SplFileInfo::setFileClass","description":"Sets the class used with SplFileInfo::openFile","tag":"refentry","type":"Function","methodName":"setFileClass"},{"id":"splfileinfo.setinfoclass","name":"SplFileInfo::setInfoClass","description":"Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo","tag":"refentry","type":"Function","methodName":"setInfoClass"},{"id":"splfileinfo.tostring","name":"SplFileInfo::__toString","description":"Returns the path to the file as a string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.splfileinfo","name":"SplFileInfo","description":"The SplFileInfo class","tag":"phpdoc:classref","type":"Class","methodName":"SplFileInfo"},{"id":"splfileobject.construct","name":"SplFileObject::__construct","description":"Construct a new file object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"splfileobject.current","name":"SplFileObject::current","description":"Retrieve current line of file","tag":"refentry","type":"Function","methodName":"current"},{"id":"splfileobject.eof","name":"SplFileObject::eof","description":"Reached end of file","tag":"refentry","type":"Function","methodName":"eof"},{"id":"splfileobject.fflush","name":"SplFileObject::fflush","description":"Flushes the output to the file","tag":"refentry","type":"Function","methodName":"fflush"},{"id":"splfileobject.fgetc","name":"SplFileObject::fgetc","description":"Gets character from file","tag":"refentry","type":"Function","methodName":"fgetc"},{"id":"splfileobject.fgetcsv","name":"SplFileObject::fgetcsv","description":"Gets line from file and parse as CSV fields","tag":"refentry","type":"Function","methodName":"fgetcsv"},{"id":"splfileobject.fgets","name":"SplFileObject::fgets","description":"Gets line from file","tag":"refentry","type":"Function","methodName":"fgets"},{"id":"splfileobject.fgetss","name":"SplFileObject::fgetss","description":"Gets line from file and strip HTML tags","tag":"refentry","type":"Function","methodName":"fgetss"},{"id":"splfileobject.flock","name":"SplFileObject::flock","description":"Portable file locking","tag":"refentry","type":"Function","methodName":"flock"},{"id":"splfileobject.fpassthru","name":"SplFileObject::fpassthru","description":"Output all remaining data on a file pointer","tag":"refentry","type":"Function","methodName":"fpassthru"},{"id":"splfileobject.fputcsv","name":"SplFileObject::fputcsv","description":"Write a field array as a CSV line","tag":"refentry","type":"Function","methodName":"fputcsv"},{"id":"splfileobject.fread","name":"SplFileObject::fread","description":"Read from file","tag":"refentry","type":"Function","methodName":"fread"},{"id":"splfileobject.fscanf","name":"SplFileObject::fscanf","description":"Parses input from file according to a format","tag":"refentry","type":"Function","methodName":"fscanf"},{"id":"splfileobject.fseek","name":"SplFileObject::fseek","description":"Seek to a position","tag":"refentry","type":"Function","methodName":"fseek"},{"id":"splfileobject.fstat","name":"SplFileObject::fstat","description":"Gets information about the file","tag":"refentry","type":"Function","methodName":"fstat"},{"id":"splfileobject.ftell","name":"SplFileObject::ftell","description":"Return current file position","tag":"refentry","type":"Function","methodName":"ftell"},{"id":"splfileobject.ftruncate","name":"SplFileObject::ftruncate","description":"Truncates the file to a given length","tag":"refentry","type":"Function","methodName":"ftruncate"},{"id":"splfileobject.fwrite","name":"SplFileObject::fwrite","description":"Write to file","tag":"refentry","type":"Function","methodName":"fwrite"},{"id":"splfileobject.getchildren","name":"SplFileObject::getChildren","description":"No purpose","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"splfileobject.getcsvcontrol","name":"SplFileObject::getCsvControl","description":"Get the delimiter, enclosure and escape character for CSV","tag":"refentry","type":"Function","methodName":"getCsvControl"},{"id":"splfileobject.getcurrentline","name":"SplFileObject::getCurrentLine","description":"Alias of SplFileObject::fgets","tag":"refentry","type":"Function","methodName":"getCurrentLine"},{"id":"splfileobject.getflags","name":"SplFileObject::getFlags","description":"Gets flags for the SplFileObject","tag":"refentry","type":"Function","methodName":"getFlags"},{"id":"splfileobject.getmaxlinelen","name":"SplFileObject::getMaxLineLen","description":"Get maximum line length","tag":"refentry","type":"Function","methodName":"getMaxLineLen"},{"id":"splfileobject.haschildren","name":"SplFileObject::hasChildren","description":"SplFileObject does not have children","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"splfileobject.key","name":"SplFileObject::key","description":"Get line number","tag":"refentry","type":"Function","methodName":"key"},{"id":"splfileobject.next","name":"SplFileObject::next","description":"Read next line","tag":"refentry","type":"Function","methodName":"next"},{"id":"splfileobject.rewind","name":"SplFileObject::rewind","description":"Rewind the file to the first line","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"splfileobject.seek","name":"SplFileObject::seek","description":"Seek to specified line","tag":"refentry","type":"Function","methodName":"seek"},{"id":"splfileobject.setcsvcontrol","name":"SplFileObject::setCsvControl","description":"Set the delimiter, enclosure and escape character for CSV","tag":"refentry","type":"Function","methodName":"setCsvControl"},{"id":"splfileobject.setflags","name":"SplFileObject::setFlags","description":"Sets flags for the SplFileObject","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"splfileobject.setmaxlinelen","name":"SplFileObject::setMaxLineLen","description":"Set maximum line length","tag":"refentry","type":"Function","methodName":"setMaxLineLen"},{"id":"splfileobject.tostring","name":"SplFileObject::__toString","description":"Returns the current line as a string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"splfileobject.valid","name":"SplFileObject::valid","description":"Not at EOF","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.splfileobject","name":"SplFileObject","description":"The SplFileObject class","tag":"phpdoc:classref","type":"Class","methodName":"SplFileObject"},{"id":"spltempfileobject.construct","name":"SplTempFileObject::__construct","description":"Construct a new temporary file object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.spltempfileobject","name":"SplTempFileObject","description":"The SplTempFileObject class","tag":"phpdoc:classref","type":"Class","methodName":"SplTempFileObject"},{"id":"spl.files","name":"File Handling","description":"Standard PHP Library (SPL)","tag":"part","type":"General","methodName":"File Handling"},{"id":"function.class-implements","name":"class_implements","description":"Return the interfaces which are implemented by the given class or interface","tag":"refentry","type":"Function","methodName":"class_implements"},{"id":"function.class-parents","name":"class_parents","description":"Return the parent classes of the given class","tag":"refentry","type":"Function","methodName":"class_parents"},{"id":"function.class-uses","name":"class_uses","description":"Return the traits used by the given class","tag":"refentry","type":"Function","methodName":"class_uses"},{"id":"function.iterator-apply","name":"iterator_apply","description":"Call a function for every element in an iterator","tag":"refentry","type":"Function","methodName":"iterator_apply"},{"id":"function.iterator-count","name":"iterator_count","description":"Count the elements in an iterator","tag":"refentry","type":"Function","methodName":"iterator_count"},{"id":"function.iterator-to-array","name":"iterator_to_array","description":"Copy the iterator into an array","tag":"refentry","type":"Function","methodName":"iterator_to_array"},{"id":"function.spl-autoload","name":"spl_autoload","description":"Default implementation for __autoload()","tag":"refentry","type":"Function","methodName":"spl_autoload"},{"id":"function.spl-autoload-call","name":"spl_autoload_call","description":"Try all registered __autoload() functions to load the requested class","tag":"refentry","type":"Function","methodName":"spl_autoload_call"},{"id":"function.spl-autoload-extensions","name":"spl_autoload_extensions","description":"Register and return default file extensions for spl_autoload","tag":"refentry","type":"Function","methodName":"spl_autoload_extensions"},{"id":"function.spl-autoload-functions","name":"spl_autoload_functions","description":"Return all registered __autoload() functions","tag":"refentry","type":"Function","methodName":"spl_autoload_functions"},{"id":"function.spl-autoload-register","name":"spl_autoload_register","description":"Register given function as __autoload() implementation","tag":"refentry","type":"Function","methodName":"spl_autoload_register"},{"id":"function.spl-autoload-unregister","name":"spl_autoload_unregister","description":"Unregister given function as __autoload() implementation","tag":"refentry","type":"Function","methodName":"spl_autoload_unregister"},{"id":"function.spl-classes","name":"spl_classes","description":"Return available SPL classes","tag":"refentry","type":"Function","methodName":"spl_classes"},{"id":"function.spl-object-hash","name":"spl_object_hash","description":"Return hash id for given object","tag":"refentry","type":"Function","methodName":"spl_object_hash"},{"id":"function.spl-object-id","name":"spl_object_id","description":"Return the integer object handle for given object","tag":"refentry","type":"Function","methodName":"spl_object_id"},{"id":"ref.spl","name":"SPL Functions","description":"Standard PHP Library (SPL)","tag":"reference","type":"Extension","methodName":"SPL Functions"},{"id":"book.spl","name":"SPL","description":"Standard PHP Library (SPL)","tag":"book","type":"Extension","methodName":"SPL"},{"id":"intro.stream","name":"Introduction","description":"Streams","tag":"preface","type":"General","methodName":"Introduction"},{"id":"stream.resources","name":"Stream Classes","description":"Streams","tag":"section","type":"General","methodName":"Stream Classes"},{"id":"stream.setup","name":"Installing\/Configuring","description":"Streams","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"stream.constants","name":"Predefined Constants","description":"Streams","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"stream.filters","name":"Stream Filters","description":"Streams","tag":"chapter","type":"General","methodName":"Stream Filters"},{"id":"stream.contexts","name":"Stream Contexts","description":"Streams","tag":"chapter","type":"General","methodName":"Stream Contexts"},{"id":"stream.errors","name":"Stream Errors","description":"Streams","tag":"chapter","type":"General","methodName":"Stream Errors"},{"id":"stream.streamwrapper.example-1","name":"Example class registered as stream wrapper","description":"Streams","tag":"section","type":"General","methodName":"Example class registered as stream wrapper"},{"id":"stream.examples","name":"Examples","description":"Streams","tag":"chapter","type":"General","methodName":"Examples"},{"id":"php-user-filter.filter","name":"php_user_filter::filter","description":"Called when applying the filter","tag":"refentry","type":"Function","methodName":"filter"},{"id":"php-user-filter.onclose","name":"php_user_filter::onClose","description":"Called when closing the filter","tag":"refentry","type":"Function","methodName":"onClose"},{"id":"php-user-filter.oncreate","name":"php_user_filter::onCreate","description":"Called when creating the filter","tag":"refentry","type":"Function","methodName":"onCreate"},{"id":"class.php-user-filter","name":"php_user_filter","description":"The php_user_filter class","tag":"phpdoc:classref","type":"Class","methodName":"php_user_filter"},{"id":"streamwrapper.construct","name":"streamWrapper::__construct","description":"Constructs a new stream wrapper","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"streamwrapper.destruct","name":"streamWrapper::__destruct","description":"Destructs an existing stream wrapper","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"streamwrapper.dir-closedir","name":"streamWrapper::dir_closedir","description":"Close directory handle","tag":"refentry","type":"Function","methodName":"dir_closedir"},{"id":"streamwrapper.dir-opendir","name":"streamWrapper::dir_opendir","description":"Open directory handle","tag":"refentry","type":"Function","methodName":"dir_opendir"},{"id":"streamwrapper.dir-readdir","name":"streamWrapper::dir_readdir","description":"Read entry from directory handle","tag":"refentry","type":"Function","methodName":"dir_readdir"},{"id":"streamwrapper.dir-rewinddir","name":"streamWrapper::dir_rewinddir","description":"Rewind directory handle","tag":"refentry","type":"Function","methodName":"dir_rewinddir"},{"id":"streamwrapper.mkdir","name":"streamWrapper::mkdir","description":"Create a directory","tag":"refentry","type":"Function","methodName":"mkdir"},{"id":"streamwrapper.rename","name":"streamWrapper::rename","description":"Renames a file or directory","tag":"refentry","type":"Function","methodName":"rename"},{"id":"streamwrapper.rmdir","name":"streamWrapper::rmdir","description":"Removes a directory","tag":"refentry","type":"Function","methodName":"rmdir"},{"id":"streamwrapper.stream-cast","name":"streamWrapper::stream_cast","description":"Retrieve the underlying resource","tag":"refentry","type":"Function","methodName":"stream_cast"},{"id":"streamwrapper.stream-close","name":"streamWrapper::stream_close","description":"Close a resource","tag":"refentry","type":"Function","methodName":"stream_close"},{"id":"streamwrapper.stream-eof","name":"streamWrapper::stream_eof","description":"Tests for end-of-file on a file pointer","tag":"refentry","type":"Function","methodName":"stream_eof"},{"id":"streamwrapper.stream-flush","name":"streamWrapper::stream_flush","description":"Flushes the output","tag":"refentry","type":"Function","methodName":"stream_flush"},{"id":"streamwrapper.stream-lock","name":"streamWrapper::stream_lock","description":"Advisory file locking","tag":"refentry","type":"Function","methodName":"stream_lock"},{"id":"streamwrapper.stream-metadata","name":"streamWrapper::stream_metadata","description":"Change stream metadata","tag":"refentry","type":"Function","methodName":"stream_metadata"},{"id":"streamwrapper.stream-open","name":"streamWrapper::stream_open","description":"Opens file or URL","tag":"refentry","type":"Function","methodName":"stream_open"},{"id":"streamwrapper.stream-read","name":"streamWrapper::stream_read","description":"Read from stream","tag":"refentry","type":"Function","methodName":"stream_read"},{"id":"streamwrapper.stream-seek","name":"streamWrapper::stream_seek","description":"Seeks to specific location in a stream","tag":"refentry","type":"Function","methodName":"stream_seek"},{"id":"streamwrapper.stream-set-option","name":"streamWrapper::stream_set_option","description":"Change stream options","tag":"refentry","type":"Function","methodName":"stream_set_option"},{"id":"streamwrapper.stream-stat","name":"streamWrapper::stream_stat","description":"Retrieve information about a file resource","tag":"refentry","type":"Function","methodName":"stream_stat"},{"id":"streamwrapper.stream-tell","name":"streamWrapper::stream_tell","description":"Retrieve the current position of a stream","tag":"refentry","type":"Function","methodName":"stream_tell"},{"id":"streamwrapper.stream-truncate","name":"streamWrapper::stream_truncate","description":"Truncate stream","tag":"refentry","type":"Function","methodName":"stream_truncate"},{"id":"streamwrapper.stream-write","name":"streamWrapper::stream_write","description":"Write to stream","tag":"refentry","type":"Function","methodName":"stream_write"},{"id":"streamwrapper.unlink","name":"streamWrapper::unlink","description":"Delete a file","tag":"refentry","type":"Function","methodName":"unlink"},{"id":"streamwrapper.url-stat","name":"streamWrapper::url_stat","description":"Retrieve information about a file","tag":"refentry","type":"Function","methodName":"url_stat"},{"id":"class.streamwrapper","name":"streamWrapper","description":"The streamWrapper class","tag":"phpdoc:classref","type":"Class","methodName":"streamWrapper"},{"id":"function.stream-bucket-append","name":"stream_bucket_append","description":"Append bucket to brigade","tag":"refentry","type":"Function","methodName":"stream_bucket_append"},{"id":"function.stream-bucket-make-writeable","name":"stream_bucket_make_writeable","description":"Returns a bucket object from the brigade to operate on","tag":"refentry","type":"Function","methodName":"stream_bucket_make_writeable"},{"id":"function.stream-bucket-new","name":"stream_bucket_new","description":"Create a new bucket for use on the current stream","tag":"refentry","type":"Function","methodName":"stream_bucket_new"},{"id":"function.stream-bucket-prepend","name":"stream_bucket_prepend","description":"Prepend bucket to brigade","tag":"refentry","type":"Function","methodName":"stream_bucket_prepend"},{"id":"function.stream-context-create","name":"stream_context_create","description":"Creates a stream context","tag":"refentry","type":"Function","methodName":"stream_context_create"},{"id":"function.stream-context-get-default","name":"stream_context_get_default","description":"Retrieve the default stream context","tag":"refentry","type":"Function","methodName":"stream_context_get_default"},{"id":"function.stream-context-get-options","name":"stream_context_get_options","description":"Retrieve options for a stream\/wrapper\/context","tag":"refentry","type":"Function","methodName":"stream_context_get_options"},{"id":"function.stream-context-get-params","name":"stream_context_get_params","description":"Retrieves parameters from a context","tag":"refentry","type":"Function","methodName":"stream_context_get_params"},{"id":"function.stream-context-set-default","name":"stream_context_set_default","description":"Set the default stream context","tag":"refentry","type":"Function","methodName":"stream_context_set_default"},{"id":"function.stream-context-set-option","name":"stream_context_set_option","description":"Sets an option for a stream\/wrapper\/context","tag":"refentry","type":"Function","methodName":"stream_context_set_option"},{"id":"function.stream-context-set-options","name":"stream_context_set_options","description":"Sets options on the specified context","tag":"refentry","type":"Function","methodName":"stream_context_set_options"},{"id":"function.stream-context-set-params","name":"stream_context_set_params","description":"Set parameters for a stream\/wrapper\/context","tag":"refentry","type":"Function","methodName":"stream_context_set_params"},{"id":"function.stream-copy-to-stream","name":"stream_copy_to_stream","description":"Copies data from one stream to another","tag":"refentry","type":"Function","methodName":"stream_copy_to_stream"},{"id":"function.stream-filter-append","name":"stream_filter_append","description":"Attach a filter to a stream","tag":"refentry","type":"Function","methodName":"stream_filter_append"},{"id":"function.stream-filter-prepend","name":"stream_filter_prepend","description":"Attach a filter to a stream","tag":"refentry","type":"Function","methodName":"stream_filter_prepend"},{"id":"function.stream-filter-register","name":"stream_filter_register","description":"Register a user defined stream filter","tag":"refentry","type":"Function","methodName":"stream_filter_register"},{"id":"function.stream-filter-remove","name":"stream_filter_remove","description":"Remove a filter from a stream","tag":"refentry","type":"Function","methodName":"stream_filter_remove"},{"id":"function.stream-get-contents","name":"stream_get_contents","description":"Reads remainder of a stream into a string","tag":"refentry","type":"Function","methodName":"stream_get_contents"},{"id":"function.stream-get-filters","name":"stream_get_filters","description":"Retrieve list of registered filters","tag":"refentry","type":"Function","methodName":"stream_get_filters"},{"id":"function.stream-get-line","name":"stream_get_line","description":"Gets line from stream resource up to a given delimiter","tag":"refentry","type":"Function","methodName":"stream_get_line"},{"id":"function.stream-get-meta-data","name":"stream_get_meta_data","description":"Retrieves header\/meta data from streams\/file pointers","tag":"refentry","type":"Function","methodName":"stream_get_meta_data"},{"id":"function.stream-get-transports","name":"stream_get_transports","description":"Retrieve list of registered socket transports","tag":"refentry","type":"Function","methodName":"stream_get_transports"},{"id":"function.stream-get-wrappers","name":"stream_get_wrappers","description":"Retrieve list of registered streams","tag":"refentry","type":"Function","methodName":"stream_get_wrappers"},{"id":"function.stream-is-local","name":"stream_is_local","description":"Checks if a stream is a local stream","tag":"refentry","type":"Function","methodName":"stream_is_local"},{"id":"function.stream-isatty","name":"stream_isatty","description":"Check if a stream is a TTY","tag":"refentry","type":"Function","methodName":"stream_isatty"},{"id":"function.stream-notification-callback","name":"stream_notification_callback","description":"A callback function for the notification context parameter","tag":"refentry","type":"Function","methodName":"stream_notification_callback"},{"id":"function.stream-register-wrapper","name":"stream_register_wrapper","description":"Alias of stream_wrapper_register","tag":"refentry","type":"Function","methodName":"stream_register_wrapper"},{"id":"function.stream-resolve-include-path","name":"stream_resolve_include_path","description":"Resolve filename against the include path","tag":"refentry","type":"Function","methodName":"stream_resolve_include_path"},{"id":"function.stream-select","name":"stream_select","description":"Runs the equivalent of the select() system call on the given\n arrays of streams with a timeout specified by seconds and microseconds","tag":"refentry","type":"Function","methodName":"stream_select"},{"id":"function.stream-set-blocking","name":"stream_set_blocking","description":"Set blocking\/non-blocking mode on a stream","tag":"refentry","type":"Function","methodName":"stream_set_blocking"},{"id":"function.stream-set-chunk-size","name":"stream_set_chunk_size","description":"Set the stream chunk size","tag":"refentry","type":"Function","methodName":"stream_set_chunk_size"},{"id":"function.stream-set-read-buffer","name":"stream_set_read_buffer","description":"Set read file buffering on the given stream","tag":"refentry","type":"Function","methodName":"stream_set_read_buffer"},{"id":"function.stream-set-timeout","name":"stream_set_timeout","description":"Set timeout period on a stream","tag":"refentry","type":"Function","methodName":"stream_set_timeout"},{"id":"function.stream-set-write-buffer","name":"stream_set_write_buffer","description":"Sets write file buffering on the given stream","tag":"refentry","type":"Function","methodName":"stream_set_write_buffer"},{"id":"function.stream-socket-accept","name":"stream_socket_accept","description":"Accept a connection on a socket created by stream_socket_server","tag":"refentry","type":"Function","methodName":"stream_socket_accept"},{"id":"function.stream-socket-client","name":"stream_socket_client","description":"Open Internet or Unix domain socket connection","tag":"refentry","type":"Function","methodName":"stream_socket_client"},{"id":"function.stream-socket-enable-crypto","name":"stream_socket_enable_crypto","description":"Turns encryption on\/off on an already connected socket","tag":"refentry","type":"Function","methodName":"stream_socket_enable_crypto"},{"id":"function.stream-socket-get-name","name":"stream_socket_get_name","description":"Retrieve the name of the local or remote sockets","tag":"refentry","type":"Function","methodName":"stream_socket_get_name"},{"id":"function.stream-socket-pair","name":"stream_socket_pair","description":"Creates a pair of connected, indistinguishable socket streams","tag":"refentry","type":"Function","methodName":"stream_socket_pair"},{"id":"function.stream-socket-recvfrom","name":"stream_socket_recvfrom","description":"Receives data from a socket, connected or not","tag":"refentry","type":"Function","methodName":"stream_socket_recvfrom"},{"id":"function.stream-socket-sendto","name":"stream_socket_sendto","description":"Sends a message to a socket, whether it is connected or not","tag":"refentry","type":"Function","methodName":"stream_socket_sendto"},{"id":"function.stream-socket-server","name":"stream_socket_server","description":"Create an Internet or Unix domain server socket","tag":"refentry","type":"Function","methodName":"stream_socket_server"},{"id":"function.stream-socket-shutdown","name":"stream_socket_shutdown","description":"Shutdown a full-duplex connection","tag":"refentry","type":"Function","methodName":"stream_socket_shutdown"},{"id":"function.stream-supports-lock","name":"stream_supports_lock","description":"Tells whether the stream supports locking","tag":"refentry","type":"Function","methodName":"stream_supports_lock"},{"id":"function.stream-wrapper-register","name":"stream_wrapper_register","description":"Register a URL wrapper implemented as a PHP class","tag":"refentry","type":"Function","methodName":"stream_wrapper_register"},{"id":"function.stream-wrapper-restore","name":"stream_wrapper_restore","description":"Restores a previously unregistered built-in wrapper","tag":"refentry","type":"Function","methodName":"stream_wrapper_restore"},{"id":"function.stream-wrapper-unregister","name":"stream_wrapper_unregister","description":"Unregister a URL wrapper","tag":"refentry","type":"Function","methodName":"stream_wrapper_unregister"},{"id":"ref.stream","name":"Stream Functions","description":"Streams","tag":"reference","type":"Extension","methodName":"Stream Functions"},{"id":"book.stream","name":"Streams","description":"Other Basic Extensions","tag":"book","type":"Extension","methodName":"Streams"},{"id":"intro.swoole","name":"Introduction","description":"Swoole","tag":"preface","type":"General","methodName":"Introduction"},{"id":"swoole.requirements","name":"Requirements","description":"Swoole","tag":"section","type":"General","methodName":"Requirements"},{"id":"swoole.installation","name":"Installation","description":"Swoole","tag":"section","type":"General","methodName":"Installation"},{"id":"swoole.configuration","name":"Runtime Configuration","description":"Swoole","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"swoole.setup","name":"Installing\/Configuring","description":"Swoole","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"swoole.constants","name":"Predefined Constants","description":"Swoole","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.swoole-async-dns-lookup","name":"swoole_async_dns_lookup","description":"Async and non-blocking hostname to IP lookup","tag":"refentry","type":"Function","methodName":"swoole_async_dns_lookup"},{"id":"function.swoole-async-read","name":"swoole_async_read","description":"Read file stream asynchronously","tag":"refentry","type":"Function","methodName":"swoole_async_read"},{"id":"function.swoole-async-readfile","name":"swoole_async_readfile","description":"Read a file asynchronously","tag":"refentry","type":"Function","methodName":"swoole_async_readfile"},{"id":"function.swoole-async-set","name":"swoole_async_set","description":"Update the async I\/O options","tag":"refentry","type":"Function","methodName":"swoole_async_set"},{"id":"function.swoole-async-write","name":"swoole_async_write","description":"Write data to a file stream asynchronously","tag":"refentry","type":"Function","methodName":"swoole_async_write"},{"id":"function.swoole-async-writefile","name":"swoole_async_writefile","description":"Write data to a file asynchronously","tag":"refentry","type":"Function","methodName":"swoole_async_writefile"},{"id":"function.swoole-clear-error","name":"swoole_clear_error","description":"Clear errors in the socket or on the last error code","tag":"refentry","type":"Function","methodName":"swoole_clear_error"},{"id":"function.swoole-client-select","name":"swoole_client_select","description":"Get the file description which are ready to read\/write or error","tag":"refentry","type":"Function","methodName":"swoole_client_select"},{"id":"function.swoole-cpu-num","name":"swoole_cpu_num","description":"Get the number of CPU","tag":"refentry","type":"Function","methodName":"swoole_cpu_num"},{"id":"function.swoole-errno","name":"swoole_errno","description":"Get the error code of the latest system call","tag":"refentry","type":"Function","methodName":"swoole_errno"},{"id":"function.swoole-error-log","name":"swoole_error_log","description":"Output error messages to the log","tag":"refentry","type":"Function","methodName":"swoole_error_log"},{"id":"function.swoole-event-add","name":"swoole_event_add","description":"Add new callback functions of a socket into the EventLoop","tag":"refentry","type":"Function","methodName":"swoole_event_add"},{"id":"function.swoole-event-defer","name":"swoole_event_defer","description":"Add callback function to the next event loop","tag":"refentry","type":"Function","methodName":"swoole_event_defer"},{"id":"function.swoole-event-del","name":"swoole_event_del","description":"Remove all event callback functions of a socket","tag":"refentry","type":"Function","methodName":"swoole_event_del"},{"id":"function.swoole-event-exit","name":"swoole_event_exit","description":"Exit the eventloop, only available at the client side","tag":"refentry","type":"Function","methodName":"swoole_event_exit"},{"id":"function.swoole-event-set","name":"swoole_event_set","description":"Update the event callback functions of a socket","tag":"refentry","type":"Function","methodName":"swoole_event_set"},{"id":"function.swoole-event-wait","name":"swoole_event_wait","description":"Start the event loop","tag":"refentry","type":"Function","methodName":"swoole_event_wait"},{"id":"function.swoole-event-write","name":"swoole_event_write","description":"Write data to a socket","tag":"refentry","type":"Function","methodName":"swoole_event_write"},{"id":"function.swoole-get-local-ip","name":"swoole_get_local_ip","description":"Get the IPv4 IP addresses of each NIC on the machine","tag":"refentry","type":"Function","methodName":"swoole_get_local_ip"},{"id":"function.swoole-last-error","name":"swoole_last_error","description":"Get the lastest error message","tag":"refentry","type":"Function","methodName":"swoole_last_error"},{"id":"function.swoole-load-module","name":"swoole_load_module","description":"Load a swoole extension","tag":"refentry","type":"Function","methodName":"swoole_load_module"},{"id":"function.swoole-select","name":"swoole_select","description":"Select the file descriptions which are ready to read\/write or error in the eventloop","tag":"refentry","type":"Function","methodName":"swoole_select"},{"id":"function.swoole-set-process-name","name":"swoole_set_process_name","description":"Set the process name","tag":"refentry","type":"Function","methodName":"swoole_set_process_name"},{"id":"function.swoole-strerror","name":"swoole_strerror","description":"Convert the Errno into error messages","tag":"refentry","type":"Function","methodName":"swoole_strerror"},{"id":"function.swoole-timer-after","name":"swoole_timer_after","description":"Trigger a one time callback function in the future","tag":"refentry","type":"Function","methodName":"swoole_timer_after"},{"id":"function.swoole-timer-exists","name":"swoole_timer_exists","description":"Check if a timer callback function is existed","tag":"refentry","type":"Function","methodName":"swoole_timer_exists"},{"id":"function.swoole-timer-tick","name":"swoole_timer_tick","description":"Trigger a timer tick callback function by time interval","tag":"refentry","type":"Function","methodName":"swoole_timer_tick"},{"id":"function.swoole-version","name":"swoole_version","description":"Get the version of Swoole","tag":"refentry","type":"Function","methodName":"swoole_version"},{"id":"ref.swoole-funcs","name":"Swoole Functions","description":"Swoole","tag":"reference","type":"Extension","methodName":"Swoole Functions"},{"id":"swoole-async.dnslookup","name":"Swoole\\Async::dnsLookup","description":"Async and non-blocking hostname to IP lookup.","tag":"refentry","type":"Function","methodName":"dnsLookup"},{"id":"swoole-async.read","name":"Swoole\\Async::read","description":"Read file stream asynchronously.","tag":"refentry","type":"Function","methodName":"read"},{"id":"swoole-async.readfile","name":"Swoole\\Async::readFile","description":"Read a file asynchronously.","tag":"refentry","type":"Function","methodName":"readFile"},{"id":"swoole-async.set","name":"Swoole\\Async::set","description":"Update the async I\/O options.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-async.write","name":"Swoole\\Async::write","description":"Write data to a file stream asynchronously.","tag":"refentry","type":"Function","methodName":"write"},{"id":"swoole-async.writefile","name":"Swoole\\Async::writeFile","description":"Description","tag":"refentry","type":"Function","methodName":"writeFile"},{"id":"class.swoole-async","name":"Swoole\\Async","description":"The Swoole\\Async class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Async"},{"id":"swoole-atomic.add","name":"Swoole\\Atomic::add","description":"Add a number to the value to the atomic object.","tag":"refentry","type":"Function","methodName":"add"},{"id":"swoole-atomic.cmpset","name":"Swoole\\Atomic::cmpset","description":"Compare and set the value of the atomic object.","tag":"refentry","type":"Function","methodName":"cmpset"},{"id":"swoole-atomic.construct","name":"Swoole\\Atomic::__construct","description":"Construct a swoole atomic object.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-atomic.get","name":"Swoole\\Atomic::get","description":"Get the current value of the atomic object.","tag":"refentry","type":"Function","methodName":"get"},{"id":"swoole-atomic.set","name":"Swoole\\Atomic::set","description":"Set a new value to the atomic object.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-atomic.sub","name":"Swoole\\Atomic::sub","description":"Subtract a number to the value of the atomic object.","tag":"refentry","type":"Function","methodName":"sub"},{"id":"class.swoole-atomic","name":"Swoole\\Atomic","description":"The Swoole\\Atomic class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Atomic"},{"id":"swoole-buffer.append","name":"Swoole\\Buffer::append","description":"Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.","tag":"refentry","type":"Function","methodName":"append"},{"id":"swoole-buffer.clear","name":"Swoole\\Buffer::clear","description":"Reset the memory buffer.","tag":"refentry","type":"Function","methodName":"clear"},{"id":"swoole-buffer.construct","name":"Swoole\\Buffer::__construct","description":"Fixed size memory blocks allocation.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-buffer.destruct","name":"Swoole\\Buffer::__destruct","description":"Destruct the Swoole memory buffer.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-buffer.expand","name":"Swoole\\Buffer::expand","description":"Expand the size of memory buffer.","tag":"refentry","type":"Function","methodName":"expand"},{"id":"swoole-buffer.read","name":"Swoole\\Buffer::read","description":"Read data from the memory buffer based on offset and length.","tag":"refentry","type":"Function","methodName":"read"},{"id":"swoole-buffer.recycle","name":"Swoole\\Buffer::recycle","description":"Release the memory to OS which is not used by the memory buffer.","tag":"refentry","type":"Function","methodName":"recycle"},{"id":"swoole-buffer.substr","name":"Swoole\\Buffer::substr","description":"Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.","tag":"refentry","type":"Function","methodName":"substr"},{"id":"swoole-buffer.tostring","name":"Swoole\\Buffer::__toString","description":"Get the string value of the memory buffer.","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"swoole-buffer.write","name":"Swoole\\Buffer::write","description":"Write data to the memory buffer. The memory allocated for the buffer will not be changed.","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.swoole-buffer","name":"Swoole\\Buffer","description":"The Swoole\\Buffer class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Buffer"},{"id":"swoole-channel.construct","name":"Swoole\\Channel::__construct","description":"Construct a Swoole Channel","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-channel.destruct","name":"Swoole\\Channel::__destruct","description":"Destruct a Swoole channel.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-channel.pop","name":"Swoole\\Channel::pop","description":"Read and pop data from swoole channel.","tag":"refentry","type":"Function","methodName":"pop"},{"id":"swoole-channel.push","name":"Swoole\\Channel::push","description":"Write and push data into Swoole channel.","tag":"refentry","type":"Function","methodName":"push"},{"id":"swoole-channel.stats","name":"Swoole\\Channel::stats","description":"Get stats of swoole channel.","tag":"refentry","type":"Function","methodName":"stats"},{"id":"class.swoole-channel","name":"Swoole\\Channel","description":"The Swoole\\Channel class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Channel"},{"id":"swoole-client.close","name":"Swoole\\Client::close","description":"Close the connection established.","tag":"refentry","type":"Function","methodName":"close"},{"id":"swoole-client.connect","name":"Swoole\\Client::connect","description":"Connect to the remote TCP or UDP port.","tag":"refentry","type":"Function","methodName":"connect"},{"id":"swoole-client.construct","name":"Swoole\\Client::__construct","description":"Create Swoole sync or async TCP\/UDP client, with or without SSL.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-client.destruct","name":"Swoole\\Client::__destruct","description":"Destruct the Swoole client.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-client.getpeername","name":"Swoole\\Client::getpeername","description":"Get the remote socket name of the connection.","tag":"refentry","type":"Function","methodName":"getpeername"},{"id":"swoole-client.getsockname","name":"Swoole\\Client::getsockname","description":"Get the local socket name of the connection.","tag":"refentry","type":"Function","methodName":"getsockname"},{"id":"swoole-client.isconnected","name":"Swoole\\Client::isConnected","description":"Check if the connection is established.","tag":"refentry","type":"Function","methodName":"isConnected"},{"id":"swoole-client.on","name":"Swoole\\Client::on","description":"Add callback functions triggered by events.","tag":"refentry","type":"Function","methodName":"on"},{"id":"swoole-client.pause","name":"Swoole\\Client::pause","description":"Pause receiving data.","tag":"refentry","type":"Function","methodName":"pause"},{"id":"swoole-client.pipe","name":"Swoole\\Client::pipe","description":"Redirect the data to another file descriptor.","tag":"refentry","type":"Function","methodName":"pipe"},{"id":"swoole-client.recv","name":"Swoole\\Client::recv","description":"Receive data from the remote socket.","tag":"refentry","type":"Function","methodName":"recv"},{"id":"swoole-client.resume","name":"Swoole\\Client::resume","description":"Resume receiving data.","tag":"refentry","type":"Function","methodName":"resume"},{"id":"swoole-client.send","name":"Swoole\\Client::send","description":"Send data to the remote TCP socket.","tag":"refentry","type":"Function","methodName":"send"},{"id":"swoole-client.sendfile","name":"Swoole\\Client::sendfile","description":"Send file to the remote TCP socket.","tag":"refentry","type":"Function","methodName":"sendfile"},{"id":"swoole-client.sendto","name":"Swoole\\Client::sendto","description":"Send data to the remote UDP address.","tag":"refentry","type":"Function","methodName":"sendto"},{"id":"swoole-client.set","name":"Swoole\\Client::set","description":"Set the Swoole client parameters before the connection is established.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-client.sleep","name":"Swoole\\Client::sleep","description":"Remove the TCP client from system event loop.","tag":"refentry","type":"Function","methodName":"sleep"},{"id":"swoole-client.wakeup","name":"Swoole\\Client::wakeup","description":"Add the TCP client back into the system event loop.","tag":"refentry","type":"Function","methodName":"wakeup"},{"id":"class.swoole-client","name":"Swoole\\Client","description":"The Swoole\\Client class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Client"},{"id":"swoole-connection-iterator.count","name":"Swoole\\Connection\\Iterator::count","description":"Count connections.","tag":"refentry","type":"Function","methodName":"count"},{"id":"swoole-connection-iterator.current","name":"Swoole\\Connection\\Iterator::current","description":"Return current connection entry.","tag":"refentry","type":"Function","methodName":"current"},{"id":"swoole-connection-iterator.key","name":"Swoole\\Connection\\Iterator::key","description":"Return key of the current connection.","tag":"refentry","type":"Function","methodName":"key"},{"id":"swoole-connection-iterator.next","name":"Swoole\\Connection\\Iterator::next","description":"Move to the next connection.","tag":"refentry","type":"Function","methodName":"next"},{"id":"swoole-connection-iterator.offsetexists","name":"Swoole\\Connection\\Iterator::offsetExists","description":"Check if offset exists.","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"swoole-connection-iterator.offsetget","name":"Swoole\\Connection\\Iterator::offsetGet","description":"Offset to retrieve.","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"swoole-connection-iterator.offsetset","name":"Swoole\\Connection\\Iterator::offsetSet","description":"Assign a Connection to the specified offset.","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"swoole-connection-iterator.offsetunset","name":"Swoole\\Connection\\Iterator::offsetUnset","description":"Unset an offset.","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"swoole-connection-iterator.rewind","name":"Swoole\\Connection\\Iterator::rewind","description":"Rewinds iterator","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"swoole-connection-iterator.valid","name":"Swoole\\Connection\\Iterator::valid","description":"Check if current position is valid.","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.swoole-connection-iterator","name":"Swoole\\Connection\\Iterator","description":"The Swoole\\Connection\\Iterator class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Connection\\Iterator"},{"id":"swoole-coroutine.call-user-func","name":"Swoole\\Coroutine::call_user_func","description":"Call a callback given by the first parameter","tag":"refentry","type":"Function","methodName":"call_user_func"},{"id":"swoole-coroutine.call-user-func-array","name":"Swoole\\Coroutine::call_user_func_array","description":"Call a callback with an array of parameters","tag":"refentry","type":"Function","methodName":"call_user_func_array"},{"id":"swoole-coroutine.cli-wait","name":"Swoole\\Coroutine::cli_wait","description":"Description","tag":"refentry","type":"Function","methodName":"cli_wait"},{"id":"swoole-coroutine.create","name":"Swoole\\Coroutine::create","description":"Description","tag":"refentry","type":"Function","methodName":"create"},{"id":"swoole-coroutine.getuid","name":"Swoole\\Coroutine::getuid","description":"Description","tag":"refentry","type":"Function","methodName":"getuid"},{"id":"swoole-coroutine.resume","name":"Swoole\\Coroutine::resume","description":"Description","tag":"refentry","type":"Function","methodName":"resume"},{"id":"swoole-coroutine.suspend","name":"Swoole\\Coroutine::suspend","description":"Description","tag":"refentry","type":"Function","methodName":"suspend"},{"id":"class.swoole-coroutine","name":"Swoole\\Coroutine","description":"The Swoole\\Coroutine class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Coroutine"},{"id":"swoole-coroutine-lock.construct","name":"Swoole\\Coroutine\\Lock::__construct","description":"Construct a new coroutine lock","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-coroutine-lock.lock","name":"Swoole\\Coroutine\\Lock::lock","description":"Acquire the lock, blocking if necessary","tag":"refentry","type":"Function","methodName":"lock"},{"id":"swoole-coroutine-lock.trylock","name":"Swoole\\Coroutine\\Lock::trylock","description":"Attempt to acquire the lock without blocking","tag":"refentry","type":"Function","methodName":"trylock"},{"id":"swoole-coroutine-lock.unlock","name":"Swoole\\Coroutine\\Lock::unlock","description":"Release the lock","tag":"refentry","type":"Function","methodName":"unlock"},{"id":"class.swoole-coroutine-lock","name":"Swoole\\Coroutine\\Lock","description":"The Swoole\\Coroutine\\Lock class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Coroutine\\Lock"},{"id":"swoole-event.add","name":"Swoole\\Event::add","description":"Add new callback functions of a socket into the EventLoop.","tag":"refentry","type":"Function","methodName":"add"},{"id":"swoole-event.defer","name":"Swoole\\Event::defer","description":"Add a callback function to the next event loop.","tag":"refentry","type":"Function","methodName":"defer"},{"id":"swoole-event.del","name":"Swoole\\Event::del","description":"Remove all event callback functions of a socket.","tag":"refentry","type":"Function","methodName":"del"},{"id":"swoole-event.exit","name":"Swoole\\Event::exit","description":"Exit the eventloop, only available at client side.","tag":"refentry","type":"Function","methodName":"exit"},{"id":"swoole-event.set","name":"Swoole\\Event::set","description":"Update the event callback functions of a socket.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-event.wait","name":"Swoole\\Event::wait","description":"Description","tag":"refentry","type":"Function","methodName":"wait"},{"id":"swoole-event.write","name":"Swoole\\Event::write","description":"Write data to the socket.","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.swoole-event","name":"Swoole\\Event","description":"The Swoole\\Event class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Event"},{"id":"class.swoole-exception","name":"Swoole\\Exception","description":"The Swoole\\Exception class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Exception"},{"id":"swoole-http-client.addfile","name":"Swoole\\Http\\Client::addFile","description":"Add a file to the post form.","tag":"refentry","type":"Function","methodName":"addFile"},{"id":"swoole-http-client.close","name":"Swoole\\Http\\Client::close","description":"Close the http connection.","tag":"refentry","type":"Function","methodName":"close"},{"id":"swoole-http-client.construct","name":"Swoole\\Http\\Client::__construct","description":"Construct the async HTTP client.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-http-client.destruct","name":"Swoole\\Http\\Client::__destruct","description":"Destruct the HTTP client.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-http-client.download","name":"Swoole\\Http\\Client::download","description":"Download a file from the remote server.","tag":"refentry","type":"Function","methodName":"download"},{"id":"swoole-http-client.execute","name":"Swoole\\Http\\Client::execute","description":"Send the HTTP request after setting the parameters.","tag":"refentry","type":"Function","methodName":"execute"},{"id":"swoole-http-client.get","name":"Swoole\\Http\\Client::get","description":"Send GET http request to the remote server.","tag":"refentry","type":"Function","methodName":"get"},{"id":"swoole-http-client.isconnected","name":"Swoole\\Http\\Client::isConnected","description":"Check if the HTTP connection is connected.","tag":"refentry","type":"Function","methodName":"isConnected"},{"id":"swoole-http-client.on","name":"Swoole\\Http\\Client::on","description":"Register callback function by event name.","tag":"refentry","type":"Function","methodName":"on"},{"id":"swoole-http-client.post","name":"Swoole\\Http\\Client::post","description":"Send POST http request to the remote server.","tag":"refentry","type":"Function","methodName":"post"},{"id":"swoole-http-client.push","name":"Swoole\\Http\\Client::push","description":"Push data to websocket client.","tag":"refentry","type":"Function","methodName":"push"},{"id":"swoole-http-client.set","name":"Swoole\\Http\\Client::set","description":"Update the HTTP client parameters.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-http-client.setcookies","name":"Swoole\\Http\\Client::setCookies","description":"Set the http request cookies.","tag":"refentry","type":"Function","methodName":"setCookies"},{"id":"swoole-http-client.setdata","name":"Swoole\\Http\\Client::setData","description":"Set the HTTP request body data.","tag":"refentry","type":"Function","methodName":"setData"},{"id":"swoole-http-client.setheaders","name":"Swoole\\Http\\Client::setHeaders","description":"Set the HTTP request headers.","tag":"refentry","type":"Function","methodName":"setHeaders"},{"id":"swoole-http-client.setmethod","name":"Swoole\\Http\\Client::setMethod","description":"Set the HTTP request method.","tag":"refentry","type":"Function","methodName":"setMethod"},{"id":"swoole-http-client.upgrade","name":"Swoole\\Http\\Client::upgrade","description":"Upgrade to websocket protocol.","tag":"refentry","type":"Function","methodName":"upgrade"},{"id":"class.swoole-http-client","name":"Swoole\\Http\\Client","description":"The Swoole\\Http\\Client class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Http\\Client"},{"id":"swoole-http-request.destruct","name":"Swoole\\Http\\Request::__destruct","description":"Destruct the HTTP request.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-http-request.rawcontent","name":"Swoole\\Http\\Request::rawcontent","description":"Get the raw HTTP POST body.","tag":"refentry","type":"Function","methodName":"rawcontent"},{"id":"class.swoole-http-request","name":"Swoole\\Http\\Request","description":"The Swoole\\Http\\Request class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Http\\Request"},{"id":"swoole-http-response.cookie","name":"Swoole\\Http\\Response::cookie","description":"Set the cookies of the HTTP response.","tag":"refentry","type":"Function","methodName":"cookie"},{"id":"swoole-http-response.destruct","name":"Swoole\\Http\\Response::__destruct","description":"Destruct the HTTP response.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-http-response.end","name":"Swoole\\Http\\Response::end","description":"Send data for the HTTP request and finish the response.","tag":"refentry","type":"Function","methodName":"end"},{"id":"swoole-http-response.gzip","name":"Swoole\\Http\\Response::gzip","description":"Enable the gzip of response content.","tag":"refentry","type":"Function","methodName":"gzip"},{"id":"swoole-http-response.header","name":"Swoole\\Http\\Response::header","description":"Set the HTTP response headers.","tag":"refentry","type":"Function","methodName":"header"},{"id":"swoole-http-response.initheader","name":"Swoole\\Http\\Response::initHeader","description":"Init the HTTP response header.","tag":"refentry","type":"Function","methodName":"initHeader"},{"id":"swoole-http-response.rawcookie","name":"Swoole\\Http\\Response::rawcookie","description":"Set the raw cookies to the HTTP response.","tag":"refentry","type":"Function","methodName":"rawcookie"},{"id":"swoole-http-response.sendfile","name":"Swoole\\Http\\Response::sendfile","description":"Send file through the HTTP response.","tag":"refentry","type":"Function","methodName":"sendfile"},{"id":"swoole-http-response.status","name":"Swoole\\Http\\Response::status","description":"Set the status code of the HTTP response.","tag":"refentry","type":"Function","methodName":"status"},{"id":"swoole-http-response.write","name":"Swoole\\Http\\Response::write","description":"Append HTTP body content to the HTTP response.","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.swoole-http-response","name":"Swoole\\Http\\Response","description":"The Swoole\\Http\\Response class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Http\\Response"},{"id":"swoole-http-server.on","name":"Swoole\\Http\\Server::on","description":"Bind callback function to HTTP server by event name.","tag":"refentry","type":"Function","methodName":"on"},{"id":"swoole-http-server.start","name":"Swoole\\Http\\Server::start","description":"Start the swoole http server.","tag":"refentry","type":"Function","methodName":"start"},{"id":"class.swoole-http-server","name":"Swoole\\Http\\Server","description":"The Swoole\\Http\\Server class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Http\\Server"},{"id":"swoole-lock.construct","name":"Swoole\\Lock::__construct","description":"Construct a memory lock.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-lock.destruct","name":"Swoole\\Lock::__destruct","description":"Destroy a Swoole memory lock.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-lock.lock","name":"Swoole\\Lock::lock","description":"Try to acquire the lock. It will block if the lock is not available.","tag":"refentry","type":"Function","methodName":"lock"},{"id":"swoole-lock.lock-read","name":"Swoole\\Lock::lock_read","description":"Lock a read-write lock for reading.","tag":"refentry","type":"Function","methodName":"lock_read"},{"id":"swoole-lock.trylock","name":"Swoole\\Lock::trylock","description":"Try to acquire the lock and return straight away even the lock is not available.","tag":"refentry","type":"Function","methodName":"trylock"},{"id":"swoole-lock.trylock-read","name":"Swoole\\Lock::trylock_read","description":"Try to lock a read-write lock for reading and return straight away even the lock is not available.","tag":"refentry","type":"Function","methodName":"trylock_read"},{"id":"swoole-lock.unlock","name":"Swoole\\Lock::unlock","description":"Release the lock.","tag":"refentry","type":"Function","methodName":"unlock"},{"id":"class.swoole-lock","name":"Swoole\\Lock","description":"The Swoole\\Lock class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Lock"},{"id":"swoole-mmap.open","name":"Swoole\\Mmap::open","description":"Map a file into memory and return the stream resource which can be used by PHP stream operations.","tag":"refentry","type":"Function","methodName":"open"},{"id":"class.swoole-mmap","name":"Swoole\\Mmap","description":"The Swoole\\Mmap class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Mmap"},{"id":"swoole-mysql.close","name":"Swoole\\MySQL::close","description":"Close the async MySQL connection.","tag":"refentry","type":"Function","methodName":"close"},{"id":"swoole-mysql.connect","name":"Swoole\\MySQL::connect","description":"Connect to the remote MySQL server.","tag":"refentry","type":"Function","methodName":"connect"},{"id":"swoole-mysql.construct","name":"Swoole\\MySQL::__construct","description":"Construct an async MySQL client.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-mysql.destruct","name":"Swoole\\MySQL::__destruct","description":"Destroy the async MySQL client.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-mysql.getbuffer","name":"Swoole\\MySQL::getBuffer","description":"Description","tag":"refentry","type":"Function","methodName":"getBuffer"},{"id":"swoole-mysql.on","name":"Swoole\\MySQL::on","description":"Register callback function based on event name.","tag":"refentry","type":"Function","methodName":"on"},{"id":"swoole-mysql.query","name":"Swoole\\MySQL::query","description":"Run the SQL query.","tag":"refentry","type":"Function","methodName":"query"},{"id":"class.swoole-mysql","name":"Swoole\\MySQL","description":"The Swoole\\MySQL class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\MySQL"},{"id":"class.swoole-mysql-exception","name":"Swoole\\MySQL\\Exception","description":"The Swoole\\MySQL\\Exception class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\MySQL\\Exception"},{"id":"swoole-process.alarm","name":"Swoole\\Process::alarm","description":"High precision timer which triggers signal with fixed interval.","tag":"refentry","type":"Function","methodName":"alarm"},{"id":"swoole-process.close","name":"Swoole\\Process::close","description":"Close the pipe to the child process.","tag":"refentry","type":"Function","methodName":"close"},{"id":"swoole-process.construct","name":"Swoole\\Process::__construct","description":"Construct a process.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-process.daemon","name":"Swoole\\Process::daemon","description":"Change the process to be a daemon process.","tag":"refentry","type":"Function","methodName":"daemon"},{"id":"swoole-process.destruct","name":"Swoole\\Process::__destruct","description":"Destroy the process.","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"swoole-process.exec","name":"Swoole\\Process::exec","description":"Execute system commands.","tag":"refentry","type":"Function","methodName":"exec"},{"id":"swoole-process.exit","name":"Swoole\\Process::exit","description":"Stop the child processes.","tag":"refentry","type":"Function","methodName":"exit"},{"id":"swoole-process.freequeue","name":"Swoole\\Process::freeQueue","description":"Destroy the message queue created by swoole_process::useQueue.","tag":"refentry","type":"Function","methodName":"freeQueue"},{"id":"swoole-process.kill","name":"Swoole\\Process::kill","description":"Send signal to the child process.","tag":"refentry","type":"Function","methodName":"kill"},{"id":"swoole-process.name","name":"Swoole\\Process::name","description":"Set name of the process.","tag":"refentry","type":"Function","methodName":"name"},{"id":"swoole-process.pop","name":"Swoole\\Process::pop","description":"Read and pop data from the message queue.","tag":"refentry","type":"Function","methodName":"pop"},{"id":"swoole-process.push","name":"Swoole\\Process::push","description":"Write and push data into the message queue.","tag":"refentry","type":"Function","methodName":"push"},{"id":"swoole-process.read","name":"Swoole\\Process::read","description":"Read data sending to the process.","tag":"refentry","type":"Function","methodName":"read"},{"id":"swoole-process.signal","name":"Swoole\\Process::signal","description":"Send signal to the child processes.","tag":"refentry","type":"Function","methodName":"signal"},{"id":"swoole-process.start","name":"Swoole\\Process::start","description":"Start the process.","tag":"refentry","type":"Function","methodName":"start"},{"id":"swoole-process.statqueue","name":"Swoole\\Process::statQueue","description":"Get the stats of the message queue used as the communication method between processes.","tag":"refentry","type":"Function","methodName":"statQueue"},{"id":"swoole-process.usequeue","name":"Swoole\\Process::useQueue","description":"Create a message queue as the communication method between the parent process and child processes.","tag":"refentry","type":"Function","methodName":"useQueue"},{"id":"swoole-process.wait","name":"Swoole\\Process::wait","description":"Wait for the events of child processes.","tag":"refentry","type":"Function","methodName":"wait"},{"id":"swoole-process.write","name":"Swoole\\Process::write","description":"Write data into the pipe and communicate with the parent process or child processes.","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.swoole-process","name":"Swoole\\Process","description":"The Swoole\\Process class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Process"},{"id":"swoole-redis-server.format","name":"Swoole\\Redis\\Server::format","description":"Description","tag":"refentry","type":"Function","methodName":"format"},{"id":"swoole-redis-server.sethandler","name":"Swoole\\Redis\\Server::setHandler","description":"Description","tag":"refentry","type":"Function","methodName":"setHandler"},{"id":"swoole-redis-server.start","name":"Swoole\\Redis\\Server::start","description":"Description","tag":"refentry","type":"Function","methodName":"start"},{"id":"class.swoole-redis-server","name":"Swoole\\Redis\\Server","description":"The Swoole\\Redis\\Server class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Redis\\Server"},{"id":"swoole-runtime.enable-coroutine","name":"Swoole\\Runtime::enableCoroutine","description":"Enable coroutine for specified functions","tag":"refentry","type":"Function","methodName":"enableCoroutine"},{"id":"swoole-runtime.get-hook-flags","name":"Swoole\\Runtime::getHookFlags","description":"Get current hook flags","tag":"refentry","type":"Function","methodName":"getHookFlags"},{"id":"swoole-runtime.set-hook-flags","name":"Swoole\\Runtime::setHookFlags","description":"Set hook flags for coroutine","tag":"refentry","type":"Function","methodName":"setHookFlags"},{"id":"class.swoole-runtime","name":"Swoole\\Runtime","description":"The Swoole\\Runtime class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Runtime"},{"id":"swoole-serialize.pack","name":"Swoole\\Serialize::pack","description":"Serialize the data.","tag":"refentry","type":"Function","methodName":"pack"},{"id":"swoole-serialize.unpack","name":"Swoole\\Serialize::unpack","description":"Unserialize the data.","tag":"refentry","type":"Function","methodName":"unpack"},{"id":"class.swoole-serialize","name":"Swoole\\Serialize","description":"The Swoole\\Serialize class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Serialize"},{"id":"swoole-server.addlistener","name":"Swoole\\Server::addlistener","description":"Add a new listener to the server.","tag":"refentry","type":"Function","methodName":"addlistener"},{"id":"swoole-server.addprocess","name":"Swoole\\Server::addProcess","description":"Add a user defined swoole_process to the server.","tag":"refentry","type":"Function","methodName":"addProcess"},{"id":"swoole-server.after","name":"Swoole\\Server::after","description":"Trigger a callback function after a period of time.","tag":"refentry","type":"Function","methodName":"after"},{"id":"swoole-server.bind","name":"Swoole\\Server::bind","description":"Bind the connection to a user defined user ID.","tag":"refentry","type":"Function","methodName":"bind"},{"id":"swoole-server.cleartimer","name":"swoole_timer_clear","description":"Stop and destroy a timer.","tag":"refentry","type":"Function","methodName":"swoole_timer_clear"},{"id":"swoole-server.cleartimer","name":"Swoole\\Server::clearTimer","description":"Stop and destroy a timer.","tag":"refentry","type":"Function","methodName":"clearTimer"},{"id":"swoole-server.close","name":"Swoole\\Server::close","description":"Close a connection to the client.","tag":"refentry","type":"Function","methodName":"close"},{"id":"swoole-server.confirm","name":"Swoole\\Server::confirm","description":"Check status of the connection.","tag":"refentry","type":"Function","methodName":"confirm"},{"id":"swoole-server.connection-info","name":"Swoole\\Server::connection_info","description":"Get the connection info by file description.","tag":"refentry","type":"Function","methodName":"connection_info"},{"id":"swoole-server.connection-list","name":"Swoole\\Server::connection_list","description":"Get all of the established connections.","tag":"refentry","type":"Function","methodName":"connection_list"},{"id":"swoole-server.construct","name":"Swoole\\Server::__construct","description":"Construct a Swoole server.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-server.defer","name":"Swoole\\Server::defer","description":"Delay execution of the callback function at the end of current EventLoop.","tag":"refentry","type":"Function","methodName":"defer"},{"id":"swoole-server.exist","name":"Swoole\\Server::exist","description":"Check if the connection is existed.","tag":"refentry","type":"Function","methodName":"exist"},{"id":"swoole-server.finish","name":"Swoole\\Server::finish","description":"Used in task process for sending result to the worker process when the task is finished.","tag":"refentry","type":"Function","methodName":"finish"},{"id":"swoole-server.getclientinfo","name":"Swoole\\Server::getClientInfo","description":"Get the connection info by file description.","tag":"refentry","type":"Function","methodName":"getClientInfo"},{"id":"swoole-server.getclientlist","name":"Swoole\\Server::getClientList","description":"Get all of the established connections.","tag":"refentry","type":"Function","methodName":"getClientList"},{"id":"swoole-server.getlasterror","name":"Swoole\\Server::getLastError","description":"Get the error code of the most recent error.","tag":"refentry","type":"Function","methodName":"getLastError"},{"id":"swoole-server.heartbeat","name":"Swoole\\Server::heartbeat","description":"Check all the connections on the server.","tag":"refentry","type":"Function","methodName":"heartbeat"},{"id":"swoole-server.listen","name":"Swoole\\Server::listen","description":"Listen on the given IP and port, socket type.","tag":"refentry","type":"Function","methodName":"listen"},{"id":"swoole-server.on","name":"Swoole\\Server::on","description":"Register a callback function by event name.","tag":"refentry","type":"Function","methodName":"on"},{"id":"swoole-server.pause","name":"Swoole\\Server::pause","description":"Stop receiving data from the connection.","tag":"refentry","type":"Function","methodName":"pause"},{"id":"swoole-server.protect","name":"Swoole\\Server::protect","description":"Set the connection to be protected mode.","tag":"refentry","type":"Function","methodName":"protect"},{"id":"swoole-server.reload","name":"Swoole\\Server::reload","description":"Restart all the worker process.","tag":"refentry","type":"Function","methodName":"reload"},{"id":"swoole-server.resume","name":"Swoole\\Server::resume","description":"Start receiving data from the connection.","tag":"refentry","type":"Function","methodName":"resume"},{"id":"swoole-server.send","name":"Swoole\\Server::send","description":"Send data to the client.","tag":"refentry","type":"Function","methodName":"send"},{"id":"swoole-server.sendfile","name":"Swoole\\Server::sendfile","description":"Send file to the connection.","tag":"refentry","type":"Function","methodName":"sendfile"},{"id":"swoole-server.sendmessage","name":"Swoole\\Server::sendMessage","description":"Send message to worker processes by ID.","tag":"refentry","type":"Function","methodName":"sendMessage"},{"id":"swoole-server.sendto","name":"Swoole\\Server::sendto","description":"Send data to the remote UDP address.","tag":"refentry","type":"Function","methodName":"sendto"},{"id":"swoole-server.sendwait","name":"Swoole\\Server::sendwait","description":"Send data to the remote socket in the blocking way.","tag":"refentry","type":"Function","methodName":"sendwait"},{"id":"swoole-server.set","name":"Swoole\\Server::set","description":"Set the runtime settings of the swoole server.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-server.shutdown","name":"Swoole\\Server::shutdown","description":"Shutdown the master server process, this function can be called in worker processes.","tag":"refentry","type":"Function","methodName":"shutdown"},{"id":"swoole-server.start","name":"Swoole\\Server::start","description":"Start the Swoole server.","tag":"refentry","type":"Function","methodName":"start"},{"id":"swoole-server.stats","name":"Swoole\\Server::stats","description":"Get the stats of the Swoole server.","tag":"refentry","type":"Function","methodName":"stats"},{"id":"swoole-server.stop","name":"Swoole\\Server::stop","description":"Stop the Swoole server.","tag":"refentry","type":"Function","methodName":"stop"},{"id":"swoole-server.task","name":"Swoole\\Server::task","description":"Send data to the task worker processes.","tag":"refentry","type":"Function","methodName":"task"},{"id":"swoole-server.taskwait","name":"Swoole\\Server::taskwait","description":"Send data to the task worker processes in blocking way.","tag":"refentry","type":"Function","methodName":"taskwait"},{"id":"swoole-server.taskwaitmulti","name":"Swoole\\Server::taskWaitMulti","description":"Execute multiple tasks concurrently.","tag":"refentry","type":"Function","methodName":"taskWaitMulti"},{"id":"swoole-server.tick","name":"Swoole\\Server::tick","description":"Repeats a given function at every given time-interval.","tag":"refentry","type":"Function","methodName":"tick"},{"id":"class.swoole-server","name":"Swoole\\Server","description":"The Swoole\\Server class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Server"},{"id":"swoole-table.column","name":"Swoole\\Table::column","description":"Set the data type and size of the columns.","tag":"refentry","type":"Function","methodName":"column"},{"id":"swoole-table.construct","name":"Swoole\\Table::__construct","description":"Construct a Swoole memory table with fixed size.","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"swoole-table.count","name":"Swoole\\Table::count","description":"Count the rows in the table, or count all the elements in the table if $mode = 1.","tag":"refentry","type":"Function","methodName":"count"},{"id":"swoole-table.create","name":"Swoole\\Table::create","description":"Create the swoole memory table.","tag":"refentry","type":"Function","methodName":"create"},{"id":"swoole-table.current","name":"Swoole\\Table::current","description":"Get the current row.","tag":"refentry","type":"Function","methodName":"current"},{"id":"swoole-table.decr","name":"Swoole\\Table::decr","description":"Decrement the value in the Swoole table by $key and $column","tag":"refentry","type":"Function","methodName":"decr"},{"id":"swoole-table.del","name":"Swoole\\Table::del","description":"Delete a row in the Swoole table by $key","tag":"refentry","type":"Function","methodName":"del"},{"id":"swoole-table.destroy","name":"Swoole\\Table::destroy","description":"Destroy the Swoole table.","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"swoole-table.exist","name":"Swoole\\Table::exist","description":"Check if a row is existed by $row_key.","tag":"refentry","type":"Function","methodName":"exist"},{"id":"swoole-table.get","name":"Swoole\\Table::get","description":"Get the value in the Swoole table by $key and $field.","tag":"refentry","type":"Function","methodName":"get"},{"id":"swoole-table.incr","name":"Swoole\\Table::incr","description":"Increment the value by $key and $column","tag":"refentry","type":"Function","methodName":"incr"},{"id":"swoole-table.key","name":"Swoole\\Table::key","description":"Get the key of current row.","tag":"refentry","type":"Function","methodName":"key"},{"id":"swoole-table.next","name":"Swoole\\Table::next","description":"Iterator the next row","tag":"refentry","type":"Function","methodName":"next"},{"id":"swoole-table.rewind","name":"Swoole\\Table::rewind","description":"Rewind the iterator.","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"swoole-table.set","name":"Swoole\\Table::set","description":"Update a row of the table by $key.","tag":"refentry","type":"Function","methodName":"set"},{"id":"swoole-table.valid","name":"Swoole\\Table::valid","description":"Check if the current row is valid.","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.swoole-table","name":"Swoole\\Table","description":"The Swoole\\Table class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Table"},{"id":"swoole-timer.after","name":"Swoole\\Timer::after","description":"Trigger a callback function after a period of time.","tag":"refentry","type":"Function","methodName":"after"},{"id":"swoole-timer.clear","name":"Swoole\\Timer::clear","description":"Delete a timer by timer ID.","tag":"refentry","type":"Function","methodName":"clear"},{"id":"swoole-timer.exists","name":"Swoole\\Timer::exists","description":"Check if a timer is existed.","tag":"refentry","type":"Function","methodName":"exists"},{"id":"swoole-timer.tick","name":"Swoole\\Timer::tick","description":"Repeats a given function at every given time-interval.","tag":"refentry","type":"Function","methodName":"tick"},{"id":"class.swoole-timer","name":"Swoole\\Timer","description":"The Swoole\\Timer class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\Timer"},{"id":"class.swoole-websocket-frame","name":"Swoole\\WebSocket\\Frame","description":"The Swoole\\WebSocket\\Frame class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\WebSocket\\Frame"},{"id":"swoole-websocket-server.exist","name":"Swoole\\WebSocket\\Server::exist","description":"Check if the file descriptor exists.","tag":"refentry","type":"Function","methodName":"exist"},{"id":"swoole-websocket-server.on","name":"Swoole\\WebSocket\\Server::on","description":"Register event callback function","tag":"refentry","type":"Function","methodName":"on"},{"id":"swoole-websocket-server.pack","name":"Swoole\\WebSocket\\Server::pack","description":"Get a pack of binary data to send in a single frame.","tag":"refentry","type":"Function","methodName":"pack"},{"id":"swoole-websocket-server.push","name":"Swoole\\WebSocket\\Server::push","description":"Push data to the remote client.","tag":"refentry","type":"Function","methodName":"push"},{"id":"swoole-websocket-server.unpack","name":"Swoole\\WebSocket\\Server::unpack","description":"Unpack the binary data received from the client.","tag":"refentry","type":"Function","methodName":"unpack"},{"id":"class.swoole-websocket-server","name":"Swoole\\WebSocket\\Server","description":"The Swoole\\WebSocket\\Server class","tag":"phpdoc:classref","type":"Class","methodName":"Swoole\\WebSocket\\Server"},{"id":"book.swoole","name":"Swoole","description":"Swoole","tag":"book","type":"Extension","methodName":"Swoole"},{"id":"intro.tidy","name":"Introduction","description":"Tidy","tag":"preface","type":"General","methodName":"Introduction"},{"id":"tidy.requirements","name":"Requirements","description":"Tidy","tag":"section","type":"General","methodName":"Requirements"},{"id":"tidy.installation","name":"Installation","description":"Tidy","tag":"section","type":"General","methodName":"Installation"},{"id":"tidy.configuration","name":"Runtime Configuration","description":"Tidy","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"tidy.setup","name":"Installing\/Configuring","description":"Tidy","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"tidy.constants","name":"Predefined Constants","description":"Tidy","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"tidy.examples.basic","name":"Tidy example","description":"Tidy","tag":"section","type":"General","methodName":"Tidy example"},{"id":"tidy.examples","name":"Examples","description":"Tidy","tag":"appendix","type":"General","methodName":"Examples"},{"id":"tidy.body","name":"tidy_get_body","description":"Returns a tidyNode object starting from the tag of the tidy parse tree","tag":"refentry","type":"Function","methodName":"tidy_get_body"},{"id":"tidy.body","name":"tidy::body","description":"Returns a tidyNode object starting from the tag of the tidy parse tree","tag":"refentry","type":"Function","methodName":"body"},{"id":"tidy.cleanrepair","name":"tidy_clean_repair","description":"Execute configured cleanup and repair operations on parsed markup","tag":"refentry","type":"Function","methodName":"tidy_clean_repair"},{"id":"tidy.cleanrepair","name":"tidy::cleanRepair","description":"Execute configured cleanup and repair operations on parsed markup","tag":"refentry","type":"Function","methodName":"cleanRepair"},{"id":"tidy.construct","name":"tidy::__construct","description":"Constructs a new tidy object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"tidy.diagnose","name":"tidy_diagnose","description":"Run configured diagnostics on parsed and repaired markup","tag":"refentry","type":"Function","methodName":"tidy_diagnose"},{"id":"tidy.diagnose","name":"tidy::diagnose","description":"Run configured diagnostics on parsed and repaired markup","tag":"refentry","type":"Function","methodName":"diagnose"},{"id":"tidy.props.errorbuffer","name":"tidy_get_error_buffer","description":"Return warnings and errors which occurred parsing the specified document","tag":"refentry","type":"Function","methodName":"tidy_get_error_buffer"},{"id":"tidy.props.errorbuffer","name":"tidy::$errorBuffer","description":"Return warnings and errors which occurred parsing the specified document","tag":"refentry","type":"Function","methodName":"$errorBuffer"},{"id":"tidy.getconfig","name":"tidy_get_config","description":"Get current Tidy configuration","tag":"refentry","type":"Function","methodName":"tidy_get_config"},{"id":"tidy.getconfig","name":"tidy::getConfig","description":"Get current Tidy configuration","tag":"refentry","type":"Function","methodName":"getConfig"},{"id":"tidy.gethtmlver","name":"tidy_get_html_ver","description":"Get the Detected HTML version for the specified document","tag":"refentry","type":"Function","methodName":"tidy_get_html_ver"},{"id":"tidy.gethtmlver","name":"tidy::getHtmlVer","description":"Get the Detected HTML version for the specified document","tag":"refentry","type":"Function","methodName":"getHtmlVer"},{"id":"tidy.getopt","name":"tidy_getopt","description":"Returns the value of the specified configuration option for the tidy document","tag":"refentry","type":"Function","methodName":"tidy_getopt"},{"id":"tidy.getopt","name":"tidy::getOpt","description":"Returns the value of the specified configuration option for the tidy document","tag":"refentry","type":"Function","methodName":"getOpt"},{"id":"tidy.getoptdoc","name":"tidy_get_opt_doc","description":"Returns the documentation for the given option name","tag":"refentry","type":"Function","methodName":"tidy_get_opt_doc"},{"id":"tidy.getoptdoc","name":"tidy::getOptDoc","description":"Returns the documentation for the given option name","tag":"refentry","type":"Function","methodName":"getOptDoc"},{"id":"tidy.getrelease","name":"tidy_get_release","description":"Get release date (version) for Tidy library","tag":"refentry","type":"Function","methodName":"tidy_get_release"},{"id":"tidy.getrelease","name":"tidy::getRelease","description":"Get release date (version) for Tidy library","tag":"refentry","type":"Function","methodName":"getRelease"},{"id":"tidy.getstatus","name":"tidy_get_status","description":"Get status of specified document","tag":"refentry","type":"Function","methodName":"tidy_get_status"},{"id":"tidy.getstatus","name":"tidy::getStatus","description":"Get status of specified document","tag":"refentry","type":"Function","methodName":"getStatus"},{"id":"tidy.head","name":"tidy_get_head","description":"Returns a tidyNode object starting from the tag of the tidy parse tree","tag":"refentry","type":"Function","methodName":"tidy_get_head"},{"id":"tidy.head","name":"tidy::head","description":"Returns a tidyNode object starting from the tag of the tidy parse tree","tag":"refentry","type":"Function","methodName":"head"},{"id":"tidy.html","name":"tidy_get_html","description":"Returns a tidyNode object starting from the tag of the tidy parse tree","tag":"refentry","type":"Function","methodName":"tidy_get_html"},{"id":"tidy.html","name":"tidy::html","description":"Returns a tidyNode object starting from the tag of the tidy parse tree","tag":"refentry","type":"Function","methodName":"html"},{"id":"tidy.isxhtml","name":"tidy_is_xhtml","description":"Indicates if the document is a XHTML document","tag":"refentry","type":"Function","methodName":"tidy_is_xhtml"},{"id":"tidy.isxhtml","name":"tidy::isXhtml","description":"Indicates if the document is a XHTML document","tag":"refentry","type":"Function","methodName":"isXhtml"},{"id":"tidy.isxml","name":"tidy_is_xml","description":"Indicates if the document is a generic (non HTML\/XHTML) XML document","tag":"refentry","type":"Function","methodName":"tidy_is_xml"},{"id":"tidy.isxml","name":"tidy::isXml","description":"Indicates if the document is a generic (non HTML\/XHTML) XML document","tag":"refentry","type":"Function","methodName":"isXml"},{"id":"tidy.parsefile","name":"tidy_parse_file","description":"Parse markup in file or URI","tag":"refentry","type":"Function","methodName":"tidy_parse_file"},{"id":"tidy.parsefile","name":"tidy::parseFile","description":"Parse markup in file or URI","tag":"refentry","type":"Function","methodName":"parseFile"},{"id":"tidy.parsestring","name":"tidy_parse_string","description":"Parse a document stored in a string","tag":"refentry","type":"Function","methodName":"tidy_parse_string"},{"id":"tidy.parsestring","name":"tidy::parseString","description":"Parse a document stored in a string","tag":"refentry","type":"Function","methodName":"parseString"},{"id":"tidy.repairfile","name":"tidy_repair_file","description":"Repair a file and return it as a string","tag":"refentry","type":"Function","methodName":"tidy_repair_file"},{"id":"tidy.repairfile","name":"tidy::repairFile","description":"Repair a file and return it as a string","tag":"refentry","type":"Function","methodName":"repairFile"},{"id":"tidy.repairstring","name":"tidy_repair_string","description":"Repair a string using an optionally provided configuration file","tag":"refentry","type":"Function","methodName":"tidy_repair_string"},{"id":"tidy.repairstring","name":"tidy::repairString","description":"Repair a string using an optionally provided configuration file","tag":"refentry","type":"Function","methodName":"repairString"},{"id":"tidy.root","name":"tidy_get_root","description":"Returns a tidyNode object representing the root of the tidy parse tree","tag":"refentry","type":"Function","methodName":"tidy_get_root"},{"id":"tidy.root","name":"tidy::root","description":"Returns a tidyNode object representing the root of the tidy parse tree","tag":"refentry","type":"Function","methodName":"root"},{"id":"class.tidy","name":"tidy","description":"The tidy class","tag":"phpdoc:classref","type":"Class","methodName":"tidy"},{"id":"tidynode.construct","name":"tidyNode::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"tidynode.getnextsibling","name":"tidyNode::getNextSibling","description":"Returns the next sibling node of the current node","tag":"refentry","type":"Function","methodName":"getNextSibling"},{"id":"tidynode.getparent","name":"tidyNode::getParent","description":"Returns the parent node of the current node","tag":"refentry","type":"Function","methodName":"getParent"},{"id":"tidynode.getprevioussibling","name":"tidyNode::getPreviousSibling","description":"Returns the previous sibling node of the current node","tag":"refentry","type":"Function","methodName":"getPreviousSibling"},{"id":"tidynode.haschildren","name":"tidyNode::hasChildren","description":"Checks if a node has children","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"tidynode.hassiblings","name":"tidyNode::hasSiblings","description":"Checks if a node has siblings","tag":"refentry","type":"Function","methodName":"hasSiblings"},{"id":"tidynode.isasp","name":"tidyNode::isAsp","description":"Checks if this node is ASP","tag":"refentry","type":"Function","methodName":"isAsp"},{"id":"tidynode.iscomment","name":"tidyNode::isComment","description":"Checks if a node represents a comment","tag":"refentry","type":"Function","methodName":"isComment"},{"id":"tidynode.ishtml","name":"tidyNode::isHtml","description":"Checks if a node is an element node","tag":"refentry","type":"Function","methodName":"isHtml"},{"id":"tidynode.isjste","name":"tidyNode::isJste","description":"Checks if this node is JSTE","tag":"refentry","type":"Function","methodName":"isJste"},{"id":"tidynode.isphp","name":"tidyNode::isPhp","description":"Checks if a node is PHP","tag":"refentry","type":"Function","methodName":"isPhp"},{"id":"tidynode.istext","name":"tidyNode::isText","description":"Checks if a node represents text (no markup)","tag":"refentry","type":"Function","methodName":"isText"},{"id":"class.tidynode","name":"tidyNode","description":"The tidyNode class","tag":"phpdoc:classref","type":"Class","methodName":"tidyNode"},{"id":"function.ob-tidyhandler","name":"ob_tidyhandler","description":"ob_start callback function to repair the buffer","tag":"refentry","type":"Function","methodName":"ob_tidyhandler"},{"id":"function.tidy-access-count","name":"tidy_access_count","description":"Returns the Number of Tidy accessibility warnings encountered for specified document","tag":"refentry","type":"Function","methodName":"tidy_access_count"},{"id":"function.tidy-config-count","name":"tidy_config_count","description":"Returns the Number of Tidy configuration errors encountered for specified document","tag":"refentry","type":"Function","methodName":"tidy_config_count"},{"id":"function.tidy-error-count","name":"tidy_error_count","description":"Returns the Number of Tidy errors encountered for specified document","tag":"refentry","type":"Function","methodName":"tidy_error_count"},{"id":"function.tidy-get-output","name":"tidy_get_output","description":"Return a string representing the parsed tidy markup","tag":"refentry","type":"Function","methodName":"tidy_get_output"},{"id":"function.tidy-warning-count","name":"tidy_warning_count","description":"Returns the Number of Tidy warnings encountered for specified document","tag":"refentry","type":"Function","methodName":"tidy_warning_count"},{"id":"ref.tidy","name":"Tidy Functions","description":"Tidy","tag":"reference","type":"Extension","methodName":"Tidy Functions"},{"id":"book.tidy","name":"Tidy","description":"Tidy","tag":"book","type":"Extension","methodName":"Tidy"},{"id":"intro.tokenizer","name":"Introduction","description":"Tokenizer","tag":"preface","type":"General","methodName":"Introduction"},{"id":"tokenizer.installation","name":"Installation","description":"Tokenizer","tag":"section","type":"General","methodName":"Installation"},{"id":"tokenizer.setup","name":"Installing\/Configuring","description":"Tokenizer","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"tokenizer.constants","name":"Predefined Constants","description":"Tokenizer","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"tokenizer.examples","name":"Examples","description":"Tokenizer","tag":"appendix","type":"General","methodName":"Examples"},{"id":"phptoken.construct","name":"PhpToken::__construct","description":"Returns a new PhpToken object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"phptoken.gettokenname","name":"PhpToken::getTokenName","description":"Returns the name of the token.","tag":"refentry","type":"Function","methodName":"getTokenName"},{"id":"phptoken.is","name":"PhpToken::is","description":"Tells whether the token is of given kind.","tag":"refentry","type":"Function","methodName":"is"},{"id":"phptoken.isignorable","name":"PhpToken::isIgnorable","description":"Tells whether the token would be ignored by the PHP parser.","tag":"refentry","type":"Function","methodName":"isIgnorable"},{"id":"phptoken.tostring","name":"PhpToken::__toString","description":"Returns the textual content of the token.","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"phptoken.tokenize","name":"PhpToken::tokenize","description":"Splits given source into PHP tokens, represented by PhpToken objects.","tag":"refentry","type":"Function","methodName":"tokenize"},{"id":"class.phptoken","name":"PhpToken","description":"The PhpToken class","tag":"phpdoc:classref","type":"Class","methodName":"PhpToken"},{"id":"function.token-get-all","name":"token_get_all","description":"Split given source into PHP tokens","tag":"refentry","type":"Function","methodName":"token_get_all"},{"id":"function.token-name","name":"token_name","description":"Get the symbolic name of a given PHP token","tag":"refentry","type":"Function","methodName":"token_name"},{"id":"ref.tokenizer","name":"Tokenizer Functions","description":"Tokenizer","tag":"reference","type":"Extension","methodName":"Tokenizer Functions"},{"id":"book.tokenizer","name":"Tokenizer","description":"Tokenizer","tag":"book","type":"Extension","methodName":"Tokenizer"},{"id":"intro.url","name":"Introduction","description":"URLs","tag":"preface","type":"General","methodName":"Introduction"},{"id":"url.constants","name":"Predefined Constants","description":"URLs","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.base64-decode","name":"base64_decode","description":"Decodes data encoded with MIME base64","tag":"refentry","type":"Function","methodName":"base64_decode"},{"id":"function.base64-encode","name":"base64_encode","description":"Encodes data with MIME base64","tag":"refentry","type":"Function","methodName":"base64_encode"},{"id":"function.get-headers","name":"get_headers","description":"Fetches all the headers sent by the server in response to an HTTP request","tag":"refentry","type":"Function","methodName":"get_headers"},{"id":"function.get-meta-tags","name":"get_meta_tags","description":"Extracts all meta tag content attributes from a file and returns an array","tag":"refentry","type":"Function","methodName":"get_meta_tags"},{"id":"function.http-build-query","name":"http_build_query","description":"Generate URL-encoded query string","tag":"refentry","type":"Function","methodName":"http_build_query"},{"id":"function.parse-url","name":"parse_url","description":"Parse a URL and return its components","tag":"refentry","type":"Function","methodName":"parse_url"},{"id":"function.rawurldecode","name":"rawurldecode","description":"Decode URL-encoded strings","tag":"refentry","type":"Function","methodName":"rawurldecode"},{"id":"function.rawurlencode","name":"rawurlencode","description":"URL-encode according to RFC 3986","tag":"refentry","type":"Function","methodName":"rawurlencode"},{"id":"function.urldecode","name":"urldecode","description":"Decodes URL-encoded string","tag":"refentry","type":"Function","methodName":"urldecode"},{"id":"function.urlencode","name":"urlencode","description":"URL-encodes string","tag":"refentry","type":"Function","methodName":"urlencode"},{"id":"ref.url","name":"URL Functions","description":"URLs","tag":"reference","type":"Extension","methodName":"URL Functions"},{"id":"book.url","name":"URLs","description":"URLs","tag":"book","type":"Extension","methodName":"URLs"},{"id":"intro.v8js","name":"Introduction","description":"V8 Javascript Engine Integration","tag":"preface","type":"General","methodName":"Introduction"},{"id":"v8js.requirements","name":"Requirements","description":"V8 Javascript Engine Integration","tag":"section","type":"General","methodName":"Requirements"},{"id":"v8js.installation","name":"Installation","description":"V8 Javascript Engine Integration","tag":"section","type":"General","methodName":"Installation"},{"id":"v8js.configuration","name":"Runtime Configuration","description":"V8 Javascript Engine Integration","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"v8js.setup","name":"Installing\/Configuring","description":"V8 Javascript Engine Integration","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"v8js.examples","name":"Examples","description":"V8 Javascript Engine Integration","tag":"chapter","type":"General","methodName":"Examples"},{"id":"v8js.construct","name":"V8Js::__construct","description":"Construct a new V8Js object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"v8js.executestring","name":"V8Js::executeString","description":"Execute a string as Javascript code","tag":"refentry","type":"Function","methodName":"executeString"},{"id":"v8js.getextensions","name":"V8Js::getExtensions","description":"Return an array of registered extensions","tag":"refentry","type":"Function","methodName":"getExtensions"},{"id":"v8js.getpendingexception","name":"V8Js::getPendingException","description":"Return pending uncaught Javascript exception","tag":"refentry","type":"Function","methodName":"getPendingException"},{"id":"v8js.registerextension","name":"V8Js::registerExtension","description":"Register Javascript extensions for V8Js","tag":"refentry","type":"Function","methodName":"registerExtension"},{"id":"class.v8js","name":"V8Js","description":"The V8Js class","tag":"phpdoc:classref","type":"Class","methodName":"V8Js"},{"id":"v8jsexception.getjsfilename","name":"V8JsException::getJsFileName","description":"The getJsFileName purpose","tag":"refentry","type":"Function","methodName":"getJsFileName"},{"id":"v8jsexception.getjslinenumber","name":"V8JsException::getJsLineNumber","description":"The getJsLineNumber purpose","tag":"refentry","type":"Function","methodName":"getJsLineNumber"},{"id":"v8jsexception.getjssourceline","name":"V8JsException::getJsSourceLine","description":"The getJsSourceLine purpose","tag":"refentry","type":"Function","methodName":"getJsSourceLine"},{"id":"v8jsexception.getjstrace","name":"V8JsException::getJsTrace","description":"The getJsTrace purpose","tag":"refentry","type":"Function","methodName":"getJsTrace"},{"id":"class.v8jsexception","name":"V8JsException","description":"The V8JsException class","tag":"phpdoc:classref","type":"Class","methodName":"V8JsException"},{"id":"book.v8js","name":"V8js","description":"V8 Javascript Engine Integration","tag":"book","type":"Extension","methodName":"V8js"},{"id":"intro.yaml","name":"Introduction","description":"YAML Data Serialization","tag":"preface","type":"General","methodName":"Introduction"},{"id":"yaml.requirements","name":"Requirements","description":"YAML Data Serialization","tag":"section","type":"General","methodName":"Requirements"},{"id":"yaml.installation","name":"Installation","description":"YAML Data Serialization","tag":"section","type":"General","methodName":"Installation"},{"id":"yaml.configuration","name":"Runtime Configuration","description":"YAML Data Serialization","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"yaml.setup","name":"Installing\/Configuring","description":"YAML Data Serialization","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"yaml.constants","name":"Predefined Constants","description":"YAML Data Serialization","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"yaml.examples","name":"Examples","description":"YAML Data Serialization","tag":"chapter","type":"General","methodName":"Examples"},{"id":"yaml.callbacks.parse","name":"Parse callbacks","description":"YAML Data Serialization","tag":"section","type":"General","methodName":"Parse callbacks"},{"id":"yaml.callbacks.emit","name":"Emit callbacks","description":"YAML Data Serialization","tag":"section","type":"General","methodName":"Emit callbacks"},{"id":"yaml.callbacks","name":"Callbacks","description":"YAML Data Serialization","tag":"chapter","type":"General","methodName":"Callbacks"},{"id":"function.yaml-emit","name":"yaml_emit","description":"Returns the YAML representation of a value","tag":"refentry","type":"Function","methodName":"yaml_emit"},{"id":"function.yaml-emit-file","name":"yaml_emit_file","description":"Send the YAML representation of a value to a file","tag":"refentry","type":"Function","methodName":"yaml_emit_file"},{"id":"function.yaml-parse","name":"yaml_parse","description":"Parse a YAML stream","tag":"refentry","type":"Function","methodName":"yaml_parse"},{"id":"function.yaml-parse-file","name":"yaml_parse_file","description":"Parse a YAML stream from a file","tag":"refentry","type":"Function","methodName":"yaml_parse_file"},{"id":"function.yaml-parse-url","name":"yaml_parse_url","description":"Parse a Yaml stream from a URL","tag":"refentry","type":"Function","methodName":"yaml_parse_url"},{"id":"ref.yaml","name":"Yaml Functions","description":"YAML Data Serialization","tag":"reference","type":"Extension","methodName":"Yaml Functions"},{"id":"book.yaml","name":"Yaml","description":"YAML Data Serialization","tag":"book","type":"Extension","methodName":"Yaml"},{"id":"intro.yaf","name":"Introduction","description":"Yet Another Framework","tag":"preface","type":"General","methodName":"Introduction"},{"id":"yaf.installation","name":"Installation","description":"Yet Another Framework","tag":"section","type":"General","methodName":"Installation"},{"id":"yaf.configuration","name":"Runtime Configuration","description":"Yet Another Framework","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"yaf.setup","name":"Installing\/Configuring","description":"Yet Another Framework","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"yaf.constants","name":"Predefined Constants","description":"Yet Another Framework","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"yaf.tutorials","name":"Examples","description":"Yet Another Framework","tag":"chapter","type":"General","methodName":"Examples"},{"id":"yaf.appconfig","name":"Application Configuration","description":"Yet Another Framework","tag":"chapter","type":"General","methodName":"Application Configuration"},{"id":"yaf-application.app","name":"Yaf_Application::app","description":"Retrieve an Application instance","tag":"refentry","type":"Function","methodName":"app"},{"id":"yaf-application.bootstrap","name":"Yaf_Application::bootstrap","description":"Call bootstrap","tag":"refentry","type":"Function","methodName":"bootstrap"},{"id":"yaf-application.clearlasterror","name":"Yaf_Application::clearLastError","description":"Clear the last error info","tag":"refentry","type":"Function","methodName":"clearLastError"},{"id":"yaf-application.construct","name":"Yaf_Application::__construct","description":"Yaf_Application constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-application.destruct","name":"Yaf_Application::__destruct","description":"The __destruct purpose","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"yaf-application.environ","name":"Yaf_Application::environ","description":"Retrive environ","tag":"refentry","type":"Function","methodName":"environ"},{"id":"yaf-application.execute","name":"Yaf_Application::execute","description":"Execute a callback","tag":"refentry","type":"Function","methodName":"execute"},{"id":"yaf-application.getappdirectory","name":"Yaf_Application::getAppDirectory","description":"Get the application directory","tag":"refentry","type":"Function","methodName":"getAppDirectory"},{"id":"yaf-application.getconfig","name":"Yaf_Application::getConfig","description":"Retrive the config instance","tag":"refentry","type":"Function","methodName":"getConfig"},{"id":"yaf-application.getdispatcher","name":"Yaf_Application::getDispatcher","description":"Get Yaf_Dispatcher instance","tag":"refentry","type":"Function","methodName":"getDispatcher"},{"id":"yaf-application.getlasterrormsg","name":"Yaf_Application::getLastErrorMsg","description":"Get message of the last occurred error","tag":"refentry","type":"Function","methodName":"getLastErrorMsg"},{"id":"yaf-application.getlasterrorno","name":"Yaf_Application::getLastErrorNo","description":"Get code of last occurred error","tag":"refentry","type":"Function","methodName":"getLastErrorNo"},{"id":"yaf-application.getmodules","name":"Yaf_Application::getModules","description":"Get defined module names","tag":"refentry","type":"Function","methodName":"getModules"},{"id":"yaf-application.run","name":"Yaf_Application::run","description":"Start Yaf_Application","tag":"refentry","type":"Function","methodName":"run"},{"id":"yaf-application.setappdirectory","name":"Yaf_Application::setAppDirectory","description":"Change the application directory","tag":"refentry","type":"Function","methodName":"setAppDirectory"},{"id":"class.yaf-application","name":"Yaf_Application","description":"The Yaf_Application class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Application"},{"id":"class.yaf-bootstrap-abstract","name":"Yaf_Bootstrap_Abstract","description":"The Yaf_Bootstrap_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Bootstrap_Abstract"},{"id":"yaf-dispatcher.autorender","name":"Yaf_Dispatcher::autoRender","description":"Switch on\/off autorendering","tag":"refentry","type":"Function","methodName":"autoRender"},{"id":"yaf-dispatcher.catchexception","name":"Yaf_Dispatcher::catchException","description":"Switch on\/off exception catching","tag":"refentry","type":"Function","methodName":"catchException"},{"id":"yaf-dispatcher.construct","name":"Yaf_Dispatcher::__construct","description":"Yaf_Dispatcher constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-dispatcher.disableview","name":"Yaf_Dispatcher::disableView","description":"Disable view rendering","tag":"refentry","type":"Function","methodName":"disableView"},{"id":"yaf-dispatcher.dispatch","name":"Yaf_Dispatcher::dispatch","description":"Dispatch a request","tag":"refentry","type":"Function","methodName":"dispatch"},{"id":"yaf-dispatcher.enableview","name":"Yaf_Dispatcher::enableView","description":"Enable view rendering","tag":"refentry","type":"Function","methodName":"enableView"},{"id":"yaf-dispatcher.flushinstantly","name":"Yaf_Dispatcher::flushInstantly","description":"Switch on\/off the instant flushing","tag":"refentry","type":"Function","methodName":"flushInstantly"},{"id":"yaf-dispatcher.getapplication","name":"Yaf_Dispatcher::getApplication","description":"Retrieve the application","tag":"refentry","type":"Function","methodName":"getApplication"},{"id":"yaf-dispatcher.getdefaultaction","name":"Yaf_Dispatcher::getDefaultAction","description":"Retrive the default action name","tag":"refentry","type":"Function","methodName":"getDefaultAction"},{"id":"yaf-dispatcher.getdefaultcontroller","name":"Yaf_Dispatcher::getDefaultController","description":"Retrive the default controller name","tag":"refentry","type":"Function","methodName":"getDefaultController"},{"id":"yaf-dispatcher.getdefaultmodule","name":"Yaf_Dispatcher::getDefaultModule","description":"Retrive the default module name","tag":"refentry","type":"Function","methodName":"getDefaultModule"},{"id":"yaf-dispatcher.getinstance","name":"Yaf_Dispatcher::getInstance","description":"Retrive the dispatcher instance","tag":"refentry","type":"Function","methodName":"getInstance"},{"id":"yaf-dispatcher.getrequest","name":"Yaf_Dispatcher::getRequest","description":"Retrive the request instance","tag":"refentry","type":"Function","methodName":"getRequest"},{"id":"yaf-dispatcher.getrouter","name":"Yaf_Dispatcher::getRouter","description":"Retrive router instance","tag":"refentry","type":"Function","methodName":"getRouter"},{"id":"yaf-dispatcher.initview","name":"Yaf_Dispatcher::initView","description":"Initialize view and return it","tag":"refentry","type":"Function","methodName":"initView"},{"id":"yaf-dispatcher.registerplugin","name":"Yaf_Dispatcher::registerPlugin","description":"Register a plugin","tag":"refentry","type":"Function","methodName":"registerPlugin"},{"id":"yaf-dispatcher.returnresponse","name":"Yaf_Dispatcher::returnResponse","description":"The returnResponse purpose","tag":"refentry","type":"Function","methodName":"returnResponse"},{"id":"yaf-dispatcher.setdefaultaction","name":"Yaf_Dispatcher::setDefaultAction","description":"Change default action name","tag":"refentry","type":"Function","methodName":"setDefaultAction"},{"id":"yaf-dispatcher.setdefaultcontroller","name":"Yaf_Dispatcher::setDefaultController","description":"Change default controller name","tag":"refentry","type":"Function","methodName":"setDefaultController"},{"id":"yaf-dispatcher.setdefaultmodule","name":"Yaf_Dispatcher::setDefaultModule","description":"Change default module name","tag":"refentry","type":"Function","methodName":"setDefaultModule"},{"id":"yaf-dispatcher.seterrorhandler","name":"Yaf_Dispatcher::setErrorHandler","description":"Set error handler","tag":"refentry","type":"Function","methodName":"setErrorHandler"},{"id":"yaf-dispatcher.setrequest","name":"Yaf_Dispatcher::setRequest","description":"The setRequest purpose","tag":"refentry","type":"Function","methodName":"setRequest"},{"id":"yaf-dispatcher.setview","name":"Yaf_Dispatcher::setView","description":"Set a custom view engine","tag":"refentry","type":"Function","methodName":"setView"},{"id":"yaf-dispatcher.throwexception","name":"Yaf_Dispatcher::throwException","description":"Switch on\/off exception throwing","tag":"refentry","type":"Function","methodName":"throwException"},{"id":"class.yaf-dispatcher","name":"Yaf_Dispatcher","description":"The Yaf_Dispatcher class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Dispatcher"},{"id":"yaf-config-abstract.get","name":"Yaf_Config_Abstract::get","description":"Getter","tag":"refentry","type":"Function","methodName":"get"},{"id":"yaf-config-abstract.readonly","name":"Yaf_Config_Abstract::readonly","description":"Find a config whether readonly","tag":"refentry","type":"Function","methodName":"readonly"},{"id":"yaf-config-abstract.set","name":"Yaf_Config_Abstract::set","description":"Setter","tag":"refentry","type":"Function","methodName":"set"},{"id":"yaf-config-abstract.toarray","name":"Yaf_Config_Abstract::toArray","description":"Cast to array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.yaf-config-abstract","name":"Yaf_Config_Abstract","description":"The Yaf_Config_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Config_Abstract"},{"id":"yaf-config-ini.construct","name":"Yaf_Config_Ini::__construct","description":"Yaf_Config_Ini constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-config-ini.count","name":"Yaf_Config_Ini::count","description":"Count all elements in Yaf_Config.ini","tag":"refentry","type":"Function","methodName":"count"},{"id":"yaf-config-ini.current","name":"Yaf_Config_Ini::current","description":"Retrieve the current value","tag":"refentry","type":"Function","methodName":"current"},{"id":"yaf-config-ini.get","name":"Yaf_Config_Ini::__get","description":"Retrieve a element","tag":"refentry","type":"Function","methodName":"__get"},{"id":"yaf-config-ini.isset","name":"Yaf_Config_Ini::__isset","description":"Determine if a key is exists","tag":"refentry","type":"Function","methodName":"__isset"},{"id":"yaf-config-ini.key","name":"Yaf_Config_Ini::key","description":"Fetch current element's key","tag":"refentry","type":"Function","methodName":"key"},{"id":"yaf-config-ini.next","name":"Yaf_Config_Ini::next","description":"Advance the internal pointer","tag":"refentry","type":"Function","methodName":"next"},{"id":"yaf-config-ini.offsetexists","name":"Yaf_Config_Ini::offsetExists","description":"The offsetExists purpose","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"yaf-config-ini.offsetget","name":"Yaf_Config_Ini::offsetGet","description":"The offsetGet purpose","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"yaf-config-ini.offsetset","name":"Yaf_Config_Ini::offsetSet","description":"The offsetSet purpose","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"yaf-config-ini.offsetunset","name":"Yaf_Config_Ini::offsetUnset","description":"The offsetUnset purpose","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"yaf-config-ini.readonly","name":"Yaf_Config_Ini::readonly","description":"The readonly purpose","tag":"refentry","type":"Function","methodName":"readonly"},{"id":"yaf-config-ini.rewind","name":"Yaf_Config_Ini::rewind","description":"The rewind purpose","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"yaf-config-ini.set","name":"Yaf_Config_Ini::__set","description":"The __set purpose","tag":"refentry","type":"Function","methodName":"__set"},{"id":"yaf-config-ini.toarray","name":"Yaf_Config_Ini::toArray","description":"Return config as a PHP array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"yaf-config-ini.valid","name":"Yaf_Config_Ini::valid","description":"The valid purpose","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.yaf-config-ini","name":"Yaf_Config_Ini","description":"The Yaf_Config_Ini class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Config_Ini"},{"id":"yaf-config-simple.construct","name":"Yaf_Config_Simple::__construct","description":"The __construct purpose","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-config-simple.count","name":"Yaf_Config_Simple::count","description":"The count purpose","tag":"refentry","type":"Function","methodName":"count"},{"id":"yaf-config-simple.current","name":"Yaf_Config_Simple::current","description":"The current purpose","tag":"refentry","type":"Function","methodName":"current"},{"id":"yaf-config-simple.get","name":"Yaf_Config_Simple::__get","description":"The __get purpose","tag":"refentry","type":"Function","methodName":"__get"},{"id":"yaf-config-simple.isset","name":"Yaf_Config_Simple::__isset","description":"The __isset purpose","tag":"refentry","type":"Function","methodName":"__isset"},{"id":"yaf-config-simple.key","name":"Yaf_Config_Simple::key","description":"The key purpose","tag":"refentry","type":"Function","methodName":"key"},{"id":"yaf-config-simple.next","name":"Yaf_Config_Simple::next","description":"The next purpose","tag":"refentry","type":"Function","methodName":"next"},{"id":"yaf-config-simple.offsetexists","name":"Yaf_Config_Simple::offsetExists","description":"The offsetExists purpose","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"yaf-config-simple.offsetget","name":"Yaf_Config_Simple::offsetGet","description":"The offsetGet purpose","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"yaf-config-simple.offsetset","name":"Yaf_Config_Simple::offsetSet","description":"The offsetSet purpose","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"yaf-config-simple.offsetunset","name":"Yaf_Config_Simple::offsetUnset","description":"The offsetUnset purpose","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"yaf-config-simple.readonly","name":"Yaf_Config_Simple::readonly","description":"The readonly purpose","tag":"refentry","type":"Function","methodName":"readonly"},{"id":"yaf-config-simple.rewind","name":"Yaf_Config_Simple::rewind","description":"The rewind purpose","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"yaf-config-simple.set","name":"Yaf_Config_Simple::__set","description":"The __set purpose","tag":"refentry","type":"Function","methodName":"__set"},{"id":"yaf-config-simple.toarray","name":"Yaf_Config_Simple::toArray","description":"Returns a PHP array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"yaf-config-simple.valid","name":"Yaf_Config_Simple::valid","description":"The valid purpose","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.yaf-config-simple","name":"Yaf_Config_Simple","description":"The Yaf_Config_Simple class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Config_Simple"},{"id":"yaf-controller-abstract.construct","name":"Yaf_Controller_Abstract::__construct","description":"Yaf_Controller_Abstract constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-controller-abstract.display","name":"Yaf_Controller_Abstract::display","description":"The display purpose","tag":"refentry","type":"Function","methodName":"display"},{"id":"yaf-controller-abstract.forward","name":"Yaf_Controller_Abstract::forward","description":"Forward to another action","tag":"refentry","type":"Function","methodName":"forward"},{"id":"yaf-controller-abstract.getinvokearg","name":"Yaf_Controller_Abstract::getInvokeArg","description":"The getInvokeArg purpose","tag":"refentry","type":"Function","methodName":"getInvokeArg"},{"id":"yaf-controller-abstract.getinvokeargs","name":"Yaf_Controller_Abstract::getInvokeArgs","description":"The getInvokeArgs purpose","tag":"refentry","type":"Function","methodName":"getInvokeArgs"},{"id":"yaf-controller-abstract.getmodulename","name":"Yaf_Controller_Abstract::getModuleName","description":"Get module name","tag":"refentry","type":"Function","methodName":"getModuleName"},{"id":"yaf-controller-abstract.getname","name":"Yaf_Controller_Abstract::getName","description":"Get self name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"yaf-controller-abstract.getrequest","name":"Yaf_Controller_Abstract::getRequest","description":"Retrieve current request object","tag":"refentry","type":"Function","methodName":"getRequest"},{"id":"yaf-controller-abstract.getresponse","name":"Yaf_Controller_Abstract::getResponse","description":"Retrieve current response object","tag":"refentry","type":"Function","methodName":"getResponse"},{"id":"yaf-controller-abstract.getview","name":"Yaf_Controller_Abstract::getView","description":"Retrieve the view engine","tag":"refentry","type":"Function","methodName":"getView"},{"id":"yaf-controller-abstract.getviewpath","name":"Yaf_Controller_Abstract::getViewpath","description":"The getViewpath purpose","tag":"refentry","type":"Function","methodName":"getViewpath"},{"id":"yaf-controller-abstract.init","name":"Yaf_Controller_Abstract::init","description":"Controller initializer","tag":"refentry","type":"Function","methodName":"init"},{"id":"yaf-controller-abstract.initview","name":"Yaf_Controller_Abstract::initView","description":"The initView purpose","tag":"refentry","type":"Function","methodName":"initView"},{"id":"yaf-controller-abstract.redirect","name":"Yaf_Controller_Abstract::redirect","description":"Redirect to a URL","tag":"refentry","type":"Function","methodName":"redirect"},{"id":"yaf-controller-abstract.render","name":"Yaf_Controller_Abstract::render","description":"Render view template","tag":"refentry","type":"Function","methodName":"render"},{"id":"yaf-controller-abstract.setviewpath","name":"Yaf_Controller_Abstract::setViewpath","description":"The setViewpath purpose","tag":"refentry","type":"Function","methodName":"setViewpath"},{"id":"class.yaf-controller-abstract","name":"Yaf_Controller_Abstract","description":"The Yaf_Controller_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Controller_Abstract"},{"id":"yaf-action-abstract.execute","name":"Yaf_Action_Abstract::execute","description":"Action entry point","tag":"refentry","type":"Function","methodName":"execute"},{"id":"yaf-action-abstract.getcontroller","name":"Yaf_Action_Abstract::getController","description":"Retrieve controller object","tag":"refentry","type":"Function","methodName":"getController"},{"id":"yaf-controller-abstract.getcontrollername","name":"Yaf_Action_Abstract::getControllerName","description":"Get controller name","tag":"refentry","type":"Function","methodName":"getControllerName"},{"id":"class.yaf-action-abstract","name":"Yaf_Action_Abstract","description":"The Yaf_Action_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Action_Abstract"},{"id":"yaf-view-interface.assign","name":"Yaf_View_Interface::assign","description":"Assign value to View engine","tag":"refentry","type":"Function","methodName":"assign"},{"id":"yaf-view-interface.display","name":"Yaf_View_Interface::display","description":"Render and output a template","tag":"refentry","type":"Function","methodName":"display"},{"id":"yaf-view-interface.getscriptpath","name":"Yaf_View_Interface::getScriptPath","description":"The getScriptPath purpose","tag":"refentry","type":"Function","methodName":"getScriptPath"},{"id":"yaf-view-interface.render","name":"Yaf_View_Interface::render","description":"Render a template","tag":"refentry","type":"Function","methodName":"render"},{"id":"yaf-view-interface.setscriptpath","name":"Yaf_View_Interface::setScriptPath","description":"The setScriptPath purpose","tag":"refentry","type":"Function","methodName":"setScriptPath"},{"id":"class.yaf-view-interface","name":"Yaf_View_Interface","description":"The Yaf_View_Interface class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_View_Interface"},{"id":"yaf-view-simple.assign","name":"Yaf_View_Simple::assign","description":"Assign values","tag":"refentry","type":"Function","methodName":"assign"},{"id":"yaf-view-simple.assignref","name":"Yaf_View_Simple::assignRef","description":"The assignRef purpose","tag":"refentry","type":"Function","methodName":"assignRef"},{"id":"yaf-view-simple.clear","name":"Yaf_View_Simple::clear","description":"Clear Assigned values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"yaf-view-simple.construct","name":"Yaf_View_Simple::__construct","description":"Constructor of Yaf_View_Simple","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-view-simple.display","name":"Yaf_View_Simple::display","description":"Render and display","tag":"refentry","type":"Function","methodName":"display"},{"id":"yaf-view-simple.eval","name":"Yaf_View_Simple::eval","description":"Render template","tag":"refentry","type":"Function","methodName":"eval"},{"id":"yaf-view-simple.get","name":"Yaf_View_Simple::__get","description":"Retrieve assigned variable","tag":"refentry","type":"Function","methodName":"__get"},{"id":"yaf-view-simple.getscriptpath","name":"Yaf_View_Simple::getScriptPath","description":"Get templates directory","tag":"refentry","type":"Function","methodName":"getScriptPath"},{"id":"yaf-view-simple.isset","name":"Yaf_View_Simple::__isset","description":"The __isset purpose","tag":"refentry","type":"Function","methodName":"__isset"},{"id":"yaf-view-simple.render","name":"Yaf_View_Simple::render","description":"Render template","tag":"refentry","type":"Function","methodName":"render"},{"id":"yaf-view-simple.set","name":"Yaf_View_Simple::__set","description":"Set value to engine","tag":"refentry","type":"Function","methodName":"__set"},{"id":"yaf-view-simple.setscriptpath","name":"Yaf_View_Simple::setScriptPath","description":"Set tempaltes directory","tag":"refentry","type":"Function","methodName":"setScriptPath"},{"id":"class.yaf-view-simple","name":"Yaf_View_Simple","description":"The Yaf_View_Simple class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_View_Simple"},{"id":"yaf-loader.autoload","name":"Yaf_Loader::autoload","description":"The autoload purpose","tag":"refentry","type":"Function","methodName":"autoload"},{"id":"yaf-loader.clearlocalnamespace","name":"Yaf_Loader::clearLocalNamespace","description":"The clearLocalNamespace purpose","tag":"refentry","type":"Function","methodName":"clearLocalNamespace"},{"id":"yaf-loader.construct","name":"Yaf_Loader::__construct","description":"The __construct purpose","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-loader.getinstance","name":"Yaf_Loader::getInstance","description":"The getInstance purpose","tag":"refentry","type":"Function","methodName":"getInstance"},{"id":"yaf-loader.getlibrarypath","name":"Yaf_Loader::getLibraryPath","description":"Get the library path","tag":"refentry","type":"Function","methodName":"getLibraryPath"},{"id":"yaf-loader.getlocalnamespace","name":"Yaf_Loader::getLocalNamespace","description":"The getLocalNamespace purpose","tag":"refentry","type":"Function","methodName":"getLocalNamespace"},{"id":"yaf-loader.getnamespacepath","name":"Yaf_Loader::getNamespacePath","description":"Retieve path of a registered namespace","tag":"refentry","type":"Function","methodName":"getNamespacePath"},{"id":"yaf-loader.getnamespaces","name":"Yaf_Loader::getLocalNamespace","description":"Retrive all register namespaces info","tag":"refentry","type":"Function","methodName":"getLocalNamespace"},{"id":"yaf-loader.import","name":"Yaf_Loader::import","description":"The import purpose","tag":"refentry","type":"Function","methodName":"import"},{"id":"yaf-loader.islocalname","name":"Yaf_Loader::isLocalName","description":"The isLocalName purpose","tag":"refentry","type":"Function","methodName":"isLocalName"},{"id":"yaf-loader.registerlocalnamespace","name":"Yaf_Loader::registerLocalNamespace","description":"Register local class prefix","tag":"refentry","type":"Function","methodName":"registerLocalNamespace"},{"id":"yaf-loader.registernamespace","name":"Yaf_Loader::registerNamespace","description":"Register namespace with searching path","tag":"refentry","type":"Function","methodName":"registerNamespace"},{"id":"yaf-loader.setlibrarypath","name":"Yaf_Loader::setLibraryPath","description":"Change the library path","tag":"refentry","type":"Function","methodName":"setLibraryPath"},{"id":"class.yaf-loader","name":"Yaf_Loader","description":"The Yaf_Loader class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Loader"},{"id":"yaf-plugin-abstract.dispatchloopshutdown","name":"Yaf_Plugin_Abstract::dispatchLoopShutdown","description":"The dispatchLoopShutdown purpose","tag":"refentry","type":"Function","methodName":"dispatchLoopShutdown"},{"id":"yaf-plugin-abstract.dispatchloopstartup","name":"Yaf_Plugin_Abstract::dispatchLoopStartup","description":"Hook before dispatch loop","tag":"refentry","type":"Function","methodName":"dispatchLoopStartup"},{"id":"yaf-plugin-abstract.postdispatch","name":"Yaf_Plugin_Abstract::postDispatch","description":"The postDispatch purpose","tag":"refentry","type":"Function","methodName":"postDispatch"},{"id":"yaf-plugin-abstract.predispatch","name":"Yaf_Plugin_Abstract::preDispatch","description":"The preDispatch purpose","tag":"refentry","type":"Function","methodName":"preDispatch"},{"id":"yaf-plugin-abstract.preresponse","name":"Yaf_Plugin_Abstract::preResponse","description":"The preResponse purpose","tag":"refentry","type":"Function","methodName":"preResponse"},{"id":"yaf-plugin-abstract.routershutdown","name":"Yaf_Plugin_Abstract::routerShutdown","description":"The routerShutdown purpose","tag":"refentry","type":"Function","methodName":"routerShutdown"},{"id":"yaf-plugin-abstract.routerstartup","name":"Yaf_Plugin_Abstract::routerStartup","description":"RouterStartup hook","tag":"refentry","type":"Function","methodName":"routerStartup"},{"id":"class.yaf-plugin-abstract","name":"Yaf_Plugin_Abstract","description":"The Yaf_Plugin_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Plugin_Abstract"},{"id":"yaf-registry.construct","name":"Yaf_Registry::__construct","description":"Yaf_Registry implements singleton","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-registry.del","name":"Yaf_Registry::del","description":"Remove an item from registry","tag":"refentry","type":"Function","methodName":"del"},{"id":"yaf-registry.get","name":"Yaf_Registry::get","description":"Retrieve an item from registry","tag":"refentry","type":"Function","methodName":"get"},{"id":"yaf-registry.has","name":"Yaf_Registry::has","description":"Check whether an item exists","tag":"refentry","type":"Function","methodName":"has"},{"id":"yaf-registry.set","name":"Yaf_Registry::set","description":"Add an item into registry","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.yaf-registry","name":"Yaf_Registry","description":"The Yaf_Registry class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Registry"},{"id":"yaf-request-abstract.clearparams","name":"Yaf_Request_Abstract::clearParams","description":"Remove all params","tag":"refentry","type":"Function","methodName":"clearParams"},{"id":"yaf-request-abstract.getactionname","name":"Yaf_Request_Abstract::getActionName","description":"The getActionName purpose","tag":"refentry","type":"Function","methodName":"getActionName"},{"id":"yaf-request-abstract.getbaseuri","name":"Yaf_Request_Abstract::getBaseUri","description":"The getBaseUri purpose","tag":"refentry","type":"Function","methodName":"getBaseUri"},{"id":"yaf-request-abstract.getcontrollername","name":"Yaf_Request_Abstract::getControllerName","description":"The getControllerName purpose","tag":"refentry","type":"Function","methodName":"getControllerName"},{"id":"yaf-request-abstract.getenv","name":"Yaf_Request_Abstract::getEnv","description":"Retrieve ENV varialbe","tag":"refentry","type":"Function","methodName":"getEnv"},{"id":"yaf-request-abstract.getexception","name":"Yaf_Request_Abstract::getException","description":"The getException purpose","tag":"refentry","type":"Function","methodName":"getException"},{"id":"yaf-request-abstract.getlanguage","name":"Yaf_Request_Abstract::getLanguage","description":"Retrieve client's preferred language","tag":"refentry","type":"Function","methodName":"getLanguage"},{"id":"yaf-request-abstract.getmethod","name":"Yaf_Request_Abstract::getMethod","description":"Retrieve the request method","tag":"refentry","type":"Function","methodName":"getMethod"},{"id":"yaf-request-abstract.getmodulename","name":"Yaf_Request_Abstract::getModuleName","description":"The getModuleName purpose","tag":"refentry","type":"Function","methodName":"getModuleName"},{"id":"yaf-request-abstract.getparam","name":"Yaf_Request_Abstract::getParam","description":"Retrieve calling parameter","tag":"refentry","type":"Function","methodName":"getParam"},{"id":"yaf-request-abstract.getparams","name":"Yaf_Request_Abstract::getParams","description":"Retrieve all calling parameters","tag":"refentry","type":"Function","methodName":"getParams"},{"id":"yaf-request-abstract.getrequesturi","name":"Yaf_Request_Abstract::getRequestUri","description":"The getRequestUri purpose","tag":"refentry","type":"Function","methodName":"getRequestUri"},{"id":"yaf-request-abstract.getserver","name":"Yaf_Request_Abstract::getServer","description":"Retrieve SERVER variable","tag":"refentry","type":"Function","methodName":"getServer"},{"id":"yaf-request-abstract.iscli","name":"Yaf_Request_Abstract::isCli","description":"Determine if request is CLI request","tag":"refentry","type":"Function","methodName":"isCli"},{"id":"yaf-request-abstract.isdispatched","name":"Yaf_Request_Abstract::isDispatched","description":"Determin if the request is dispatched","tag":"refentry","type":"Function","methodName":"isDispatched"},{"id":"yaf-request-abstract.isget","name":"Yaf_Request_Abstract::isGet","description":"Determine if request is GET request","tag":"refentry","type":"Function","methodName":"isGet"},{"id":"yaf-request-abstract.ishead","name":"Yaf_Request_Abstract::isHead","description":"Determine if request is HEAD request","tag":"refentry","type":"Function","methodName":"isHead"},{"id":"yaf-request-abstract.isoptions","name":"Yaf_Request_Abstract::isOptions","description":"Determine if request is OPTIONS request","tag":"refentry","type":"Function","methodName":"isOptions"},{"id":"yaf-request-abstract.ispost","name":"Yaf_Request_Abstract::isPost","description":"Determine if request is POST request","tag":"refentry","type":"Function","methodName":"isPost"},{"id":"yaf-request-abstract.isput","name":"Yaf_Request_Abstract::isPut","description":"Determine if request is PUT request","tag":"refentry","type":"Function","methodName":"isPut"},{"id":"yaf-request-abstract.isrouted","name":"Yaf_Request_Abstract::isRouted","description":"Determin if request has been routed","tag":"refentry","type":"Function","methodName":"isRouted"},{"id":"yaf-request-abstract.isxmlhttprequest","name":"Yaf_Request_Abstract::isXmlHttpRequest","description":"Determine if request is AJAX request","tag":"refentry","type":"Function","methodName":"isXmlHttpRequest"},{"id":"yaf-request-abstract.setactionname","name":"Yaf_Request_Abstract::setActionName","description":"Set action name","tag":"refentry","type":"Function","methodName":"setActionName"},{"id":"yaf-request-abstract.setbaseuri","name":"Yaf_Request_Abstract::setBaseUri","description":"Set base URI","tag":"refentry","type":"Function","methodName":"setBaseUri"},{"id":"yaf-request-abstract.setcontrollername","name":"Yaf_Request_Abstract::setControllerName","description":"Set controller name","tag":"refentry","type":"Function","methodName":"setControllerName"},{"id":"yaf-request-abstract.setdispatched","name":"Yaf_Request_Abstract::setDispatched","description":"The setDispatched purpose","tag":"refentry","type":"Function","methodName":"setDispatched"},{"id":"yaf-request-abstract.setmodulename","name":"Yaf_Request_Abstract::setModuleName","description":"Set module name","tag":"refentry","type":"Function","methodName":"setModuleName"},{"id":"yaf-request-abstract.setparam","name":"Yaf_Request_Abstract::setParam","description":"Set a calling parameter to a request","tag":"refentry","type":"Function","methodName":"setParam"},{"id":"yaf-request-abstract.setrequesturi","name":"Yaf_Request_Abstract::setRequestUri","description":"The setRequestUri purpose","tag":"refentry","type":"Function","methodName":"setRequestUri"},{"id":"yaf-request-abstract.setrouted","name":"Yaf_Request_Abstract::setRouted","description":"The setRouted purpose","tag":"refentry","type":"Function","methodName":"setRouted"},{"id":"class.yaf-request-abstract","name":"Yaf_Request_Abstract","description":"The Yaf_Request_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Request_Abstract"},{"id":"yaf-request-http.construct","name":"Yaf_Request_Http::__construct","description":"Constructor of Yaf_Request_Http","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-request-http.get","name":"Yaf_Request_Http::get","description":"Retrieve variable from client","tag":"refentry","type":"Function","methodName":"get"},{"id":"yaf-request-http.getcookie","name":"Yaf_Request_Http::getCookie","description":"Retrieve Cookie variable","tag":"refentry","type":"Function","methodName":"getCookie"},{"id":"yaf-request-http.getfiles","name":"Yaf_Request_Http::getFiles","description":"The getFiles purpose","tag":"refentry","type":"Function","methodName":"getFiles"},{"id":"yaf-request-http.getpost","name":"Yaf_Request_Http::getPost","description":"Retrieve POST variable","tag":"refentry","type":"Function","methodName":"getPost"},{"id":"yaf-request-http.getquery","name":"Yaf_Request_Http::getQuery","description":"Fetch a query parameter","tag":"refentry","type":"Function","methodName":"getQuery"},{"id":"yaf-request-http.getraw","name":"Yaf_Request_Http::getRaw","description":"Retrieve Raw request body","tag":"refentry","type":"Function","methodName":"getRaw"},{"id":"yaf-request-http.getrequest","name":"Yaf_Request_Http::getRequest","description":"The getRequest purpose","tag":"refentry","type":"Function","methodName":"getRequest"},{"id":"yaf-request-http.isxmlhttprequest","name":"Yaf_Request_Http::isXmlHttpRequest","description":"Determin if request is Ajax Request","tag":"refentry","type":"Function","methodName":"isXmlHttpRequest"},{"id":"class.yaf-request-http","name":"Yaf_Request_Http","description":"The Yaf_Request_Http class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Request_Http"},{"id":"yaf-request-simple.construct","name":"Yaf_Request_Simple::__construct","description":"Constructor of Yaf_Request_Simple","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-request-simple.get","name":"Yaf_Request_Simple::get","description":"The get purpose","tag":"refentry","type":"Function","methodName":"get"},{"id":"yaf-request-simple.getcookie","name":"Yaf_Request_Simple::getCookie","description":"The getCookie purpose","tag":"refentry","type":"Function","methodName":"getCookie"},{"id":"yaf-request-simple.getfiles","name":"Yaf_Request_Simple::getFiles","description":"The getFiles purpose","tag":"refentry","type":"Function","methodName":"getFiles"},{"id":"yaf-request-simple.getpost","name":"Yaf_Request_Simple::getPost","description":"The getPost purpose","tag":"refentry","type":"Function","methodName":"getPost"},{"id":"yaf-request-simple.getquery","name":"Yaf_Request_Simple::getQuery","description":"The getQuery purpose","tag":"refentry","type":"Function","methodName":"getQuery"},{"id":"yaf-request-simple.getrequest","name":"Yaf_Request_Simple::getRequest","description":"The getRequest purpose","tag":"refentry","type":"Function","methodName":"getRequest"},{"id":"yaf-request-simple.isxmlhttprequest","name":"Yaf_Request_Simple::isXmlHttpRequest","description":"Determin if request is AJAX request","tag":"refentry","type":"Function","methodName":"isXmlHttpRequest"},{"id":"class.yaf-request-simple","name":"Yaf_Request_Simple","description":"The Yaf_Request_Simple class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Request_Simple"},{"id":"yaf-response-abstract.appendbody","name":"Yaf_Response_Abstract::appendBody","description":"Append to response body","tag":"refentry","type":"Function","methodName":"appendBody"},{"id":"yaf-response-abstract.clearbody","name":"Yaf_Response_Abstract::clearBody","description":"Discard all exists response body","tag":"refentry","type":"Function","methodName":"clearBody"},{"id":"yaf-response-abstract.clearheaders","name":"Yaf_Response_Abstract::clearHeaders","description":"Discard all set headers","tag":"refentry","type":"Function","methodName":"clearHeaders"},{"id":"yaf-response-abstract.construct","name":"Yaf_Response_Abstract::__construct","description":"The __construct purpose","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-response-abstract.destruct","name":"Yaf_Response_Abstract::__destruct","description":"The __destruct purpose","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"yaf-response-abstract.getbody","name":"Yaf_Response_Abstract::getBody","description":"Retrieve a exists content","tag":"refentry","type":"Function","methodName":"getBody"},{"id":"yaf-response-abstract.getheader","name":"Yaf_Response_Abstract::getHeader","description":"The getHeader purpose","tag":"refentry","type":"Function","methodName":"getHeader"},{"id":"yaf-response-abstract.prependbody","name":"Yaf_Response_Abstract::prependBody","description":"The prependBody purpose","tag":"refentry","type":"Function","methodName":"prependBody"},{"id":"yaf-response-abstract.response","name":"Yaf_Response_Abstract::response","description":"Send response","tag":"refentry","type":"Function","methodName":"response"},{"id":"yaf-response-abstract.setallheaders","name":"Yaf_Response_Abstract::setAllHeaders","description":"The setAllHeaders purpose","tag":"refentry","type":"Function","methodName":"setAllHeaders"},{"id":"yaf-response-abstract.setbody","name":"Yaf_Response_Abstract::setBody","description":"Set content to response","tag":"refentry","type":"Function","methodName":"setBody"},{"id":"yaf-response-abstract.setheader","name":"Yaf_Response_Abstract::setHeader","description":"Set reponse header","tag":"refentry","type":"Function","methodName":"setHeader"},{"id":"yaf-response-abstract.setredirect","name":"Yaf_Response_Abstract::setRedirect","description":"The setRedirect purpose","tag":"refentry","type":"Function","methodName":"setRedirect"},{"id":"yaf-response-abstract.tostring","name":"Yaf_Response_Abstract::__toString","description":"Retrieve all bodys as string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.yaf-response-abstract","name":"Yaf_Response_Abstract","description":"The Yaf_Response_Abstract class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Response_Abstract"},{"id":"yaf-route-interface.assemble","name":"Yaf_Route_Interface::assemble","description":"Assemble a request","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-interface.route","name":"Yaf_Route_Interface::route","description":"Route a request","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-interface","name":"Yaf_Route_Interface","description":"The Yaf_Route_Interface class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Interface"},{"id":"yaf-route-map.assemble","name":"Yaf_Route_Map::assemble","description":"Assemble a url","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-map.construct","name":"Yaf_Route_Map::__construct","description":"The __construct purpose","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-route-map.route","name":"Yaf_Route_Map::route","description":"The route purpose","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-map","name":"Yaf_Route_Map","description":"The Yaf_Route_Map class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Map"},{"id":"yaf-route-regex.assemble","name":"Yaf_Route_Regex::assemble","description":"Assemble a url","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-regex.construct","name":"Yaf_Route_Regex::__construct","description":"Yaf_Route_Regex constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-route-regex.route","name":"Yaf_Route_Regex::route","description":"The route purpose","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-regex","name":"Yaf_Route_Regex","description":"The Yaf_Route_Regex class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Regex"},{"id":"yaf-route-rewrite.assemble","name":"Yaf_Route_Rewrite::assemble","description":"Assemble a url","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-rewrite.construct","name":"Yaf_Route_Rewrite::__construct","description":"Yaf_Route_Rewrite constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-route-rewrite.route","name":"Yaf_Route_Rewrite::route","description":"The route purpose","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-rewrite","name":"Yaf_Route_Rewrite","description":"The Yaf_Route_Rewrite class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Rewrite"},{"id":"yaf-router.addconfig","name":"Yaf_Router::addConfig","description":"Add config-defined routes into Router","tag":"refentry","type":"Function","methodName":"addConfig"},{"id":"yaf-router.addroute","name":"Yaf_Router::addRoute","description":"Add new Route into Router","tag":"refentry","type":"Function","methodName":"addRoute"},{"id":"yaf-router.construct","name":"Yaf_Router::__construct","description":"Yaf_Router constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-router.getcurrentroute","name":"Yaf_Router::getCurrentRoute","description":"Get the effective route name","tag":"refentry","type":"Function","methodName":"getCurrentRoute"},{"id":"yaf-router.getroute","name":"Yaf_Router::getRoute","description":"Retrieve a route by name","tag":"refentry","type":"Function","methodName":"getRoute"},{"id":"yaf-router.getroutes","name":"Yaf_Router::getRoutes","description":"Retrieve registered routes","tag":"refentry","type":"Function","methodName":"getRoutes"},{"id":"yaf-router.route","name":"Yaf_Router::route","description":"The route purpose","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-router","name":"Yaf_Router","description":"The Yaf_Router class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Router"},{"id":"yaf-route-simple.assemble","name":"Yaf_Route_Simple::assemble","description":"Assemble a url","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-simple.construct","name":"Yaf_Route_Simple::__construct","description":"Yaf_Route_Simple constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-route-simple.route","name":"Yaf_Route_Simple::route","description":"Route a request","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-simple","name":"Yaf_Route_Simple","description":"The Yaf_Route_Simple class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Simple"},{"id":"yaf-route-static.assemble","name":"Yaf_Route_Static::assemble","description":"Assemble a url","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-static.match","name":"Yaf_Route_Static::match","description":"The match purpose","tag":"refentry","type":"Function","methodName":"match"},{"id":"yaf-route-static.route","name":"Yaf_Route_Static::route","description":"Route a request","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-static","name":"Yaf_Route_Static","description":"The Yaf_Route_Static class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Static"},{"id":"yaf-route-supervar.assemble","name":"Yaf_Route_Supervar::assemble","description":"Assemble a url","tag":"refentry","type":"Function","methodName":"assemble"},{"id":"yaf-route-supervar.construct","name":"Yaf_Route_Supervar::__construct","description":"The __construct purpose","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-route-supervar.route","name":"Yaf_Route_Supervar::route","description":"The route purpose","tag":"refentry","type":"Function","methodName":"route"},{"id":"class.yaf-route-supervar","name":"Yaf_Route_Supervar","description":"The Yaf_Route_Supervar class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Route_Supervar"},{"id":"yaf-session.construct","name":"Yaf_Session::__construct","description":"Constructor of Yaf_Session","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-session.count","name":"Yaf_Session::count","description":"The count purpose","tag":"refentry","type":"Function","methodName":"count"},{"id":"yaf-session.current","name":"Yaf_Session::current","description":"The current purpose","tag":"refentry","type":"Function","methodName":"current"},{"id":"yaf-session.del","name":"Yaf_Session::del","description":"The del purpose","tag":"refentry","type":"Function","methodName":"del"},{"id":"yaf-session.get","name":"Yaf_Session::__get","description":"The __get purpose","tag":"refentry","type":"Function","methodName":"__get"},{"id":"yaf-session.getinstance","name":"Yaf_Session::getInstance","description":"The getInstance purpose","tag":"refentry","type":"Function","methodName":"getInstance"},{"id":"yaf-session.has","name":"Yaf_Session::has","description":"The has purpose","tag":"refentry","type":"Function","methodName":"has"},{"id":"yaf-session.isset","name":"Yaf_Session::__isset","description":"The __isset purpose","tag":"refentry","type":"Function","methodName":"__isset"},{"id":"yaf-session.key","name":"Yaf_Session::key","description":"The key purpose","tag":"refentry","type":"Function","methodName":"key"},{"id":"yaf-session.next","name":"Yaf_Session::next","description":"The next purpose","tag":"refentry","type":"Function","methodName":"next"},{"id":"yaf-session.offsetexists","name":"Yaf_Session::offsetExists","description":"The offsetExists purpose","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"yaf-session.offsetget","name":"Yaf_Session::offsetGet","description":"The offsetGet purpose","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"yaf-session.offsetset","name":"Yaf_Session::offsetSet","description":"The offsetSet purpose","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"yaf-session.offsetunset","name":"Yaf_Session::offsetUnset","description":"The offsetUnset purpose","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"yaf-session.rewind","name":"Yaf_Session::rewind","description":"The rewind purpose","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"yaf-session.set","name":"Yaf_Session::__set","description":"The __set purpose","tag":"refentry","type":"Function","methodName":"__set"},{"id":"yaf-session.start","name":"Yaf_Session::start","description":"The start purpose","tag":"refentry","type":"Function","methodName":"start"},{"id":"yaf-session.unset","name":"Yaf_Session::__unset","description":"The __unset purpose","tag":"refentry","type":"Function","methodName":"__unset"},{"id":"yaf-session.valid","name":"Yaf_Session::valid","description":"The valid purpose","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.yaf-session","name":"Yaf_Session","description":"The Yaf_Session class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Session"},{"id":"yaf-exception.construct","name":"Yaf_Exception::__construct","description":"The __construct purpose","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yaf-exception.getprevious","name":"Yaf_Exception::getPrevious","description":"The getPrevious purpose","tag":"refentry","type":"Function","methodName":"getPrevious"},{"id":"class.yaf-exception","name":"Yaf_Exception","description":"The Yaf_Exception class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception"},{"id":"class.yaf-exception-typeerror","name":"Yaf_Exception_TypeError","description":"The Yaf_Exception_TypeError class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_TypeError"},{"id":"class.yaf-exception-startuperror","name":"Yaf_Exception_StartupError","description":"The Yaf_Exception_StartupError class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_StartupError"},{"id":"class.yaf-exception-dispatchfailed","name":"Yaf_Exception_DispatchFailed","description":"The Yaf_Exception_DispatchFailed class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_DispatchFailed"},{"id":"class.yaf-exception-routerfailed","name":"Yaf_Exception_RouterFailed","description":"The Yaf_Exception_RouterFailed class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_RouterFailed"},{"id":"class.yaf-exception-loadfailed","name":"Yaf_Exception_LoadFailed","description":"The Yaf_Exception_LoadFailed class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_LoadFailed"},{"id":"class.yaf-exception-loadfailed-module","name":"Yaf_Exception_LoadFailed_Module","description":"The Yaf_Exception_LoadFailed_Module class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_LoadFailed_Module"},{"id":"class.yaf-exception-loadfailed-controller","name":"Yaf_Exception_LoadFailed_Controller","description":"The Yaf_Exception_LoadFailed_Controller class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_LoadFailed_Controller"},{"id":"class.yaf-exception-loadfailed-action","name":"Yaf_Exception_LoadFailed_Action","description":"The Yaf_Exception_LoadFailed_Action class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_LoadFailed_Action"},{"id":"class.yaf-exception-loadfailed-view","name":"Yaf_Exception_LoadFailed_View","description":"The Yaf_Exception_LoadFailed_View class","tag":"phpdoc:classref","type":"Class","methodName":"Yaf_Exception_LoadFailed_View"},{"id":"book.yaf","name":"Yaf","description":"Yet Another Framework","tag":"book","type":"Extension","methodName":"Yaf"},{"id":"intro.yaconf","name":"Introduction","description":"Yaconf","tag":"preface","type":"General","methodName":"Introduction"},{"id":"yaconf.requirements","name":"Requirements","description":"Yaconf","tag":"section","type":"General","methodName":"Requirements"},{"id":"yaconf.installation","name":"Installation","description":"Yaconf","tag":"section","type":"General","methodName":"Installation"},{"id":"yaconf.configuration","name":"Runtime Configuration","description":"Yaconf","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"yaconf.resources","name":"Resource Types","description":"Yaconf","tag":"section","type":"General","methodName":"Resource Types"},{"id":"yaconf.setup","name":"Installing\/Configuring","description":"Yaconf","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"yaconf.get","name":"Yaconf::get","description":"Retrieve a item","tag":"refentry","type":"Function","methodName":"get"},{"id":"yaconf.has","name":"Yaconf::has","description":"Determine if a item exists","tag":"refentry","type":"Function","methodName":"has"},{"id":"class.yaconf","name":"Yaconf","description":"The Yaconf class","tag":"phpdoc:classref","type":"Class","methodName":"Yaconf"},{"id":"book.yaconf","name":"Yaconf","description":"Yaconf","tag":"book","type":"Extension","methodName":"Yaconf"},{"id":"intro.taint","name":"Introduction","description":"Taint","tag":"preface","type":"General","methodName":"Introduction"},{"id":"taint.installation","name":"Installation","description":"Taint","tag":"section","type":"General","methodName":"Installation"},{"id":"taint.configuration","name":"Runtime Configuration","description":"Taint","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"taint.setup","name":"Installing\/Configuring","description":"Taint","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"taint.detail.basic","name":"Functions and Statements which will spread the tainted mark of a\n tainted string","description":"Taint","tag":"section","type":"General","methodName":"Functions and Statements which will spread the tainted mark of a\n tainted string"},{"id":"taint.detail.taint","name":"Functions and statements which will check tainted string","description":"Taint","tag":"section","type":"General","methodName":"Functions and statements which will check tainted string"},{"id":"taint.detail.untaint","name":"Functions which untaint the tainted string","description":"Taint","tag":"section","type":"General","methodName":"Functions which untaint the tainted string"},{"id":"taint.detail","name":"More Details","description":"Taint","tag":"chapter","type":"General","methodName":"More Details"},{"id":"function.is-tainted","name":"is_tainted","description":"Checks whether a string is tainted","tag":"refentry","type":"Function","methodName":"is_tainted"},{"id":"function.taint","name":"taint","description":"Taint a string","tag":"refentry","type":"Function","methodName":"taint"},{"id":"function.untaint","name":"untaint","description":"Untaint strings","tag":"refentry","type":"Function","methodName":"untaint"},{"id":"ref.taint","name":"Taint Functions","description":"Taint","tag":"reference","type":"Extension","methodName":"Taint Functions"},{"id":"book.taint","name":"Taint","description":"Taint","tag":"book","type":"Extension","methodName":"Taint"},{"id":"intro.ds","name":"Introduction","description":"Data Structures","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ds.requirements","name":"Requirements","description":"Data Structures","tag":"section","type":"General","methodName":"Requirements"},{"id":"ds.installation","name":"Installation","description":"Data Structures","tag":"section","type":"General","methodName":"Installation"},{"id":"ds.setup","name":"Installing\/Configuring","description":"Data Structures","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ds.examples","name":"Examples","description":"Data Structures","tag":"chapter","type":"General","methodName":"Examples"},{"id":"ds-collection.clear","name":"Ds\\Collection::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-collection.copy","name":"Ds\\Collection::copy","description":"Returns a shallow copy of the collection","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-collection.isempty","name":"Ds\\Collection::isEmpty","description":"Returns whether the collection is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-collection.toarray","name":"Ds\\Collection::toArray","description":"Converts the collection to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.ds-collection","name":"Ds\\Collection","description":"The Collection interface","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Collection"},{"id":"ds-hashable.equals","name":"Ds\\Hashable::equals","description":"Determines whether an object is equal to the current instance","tag":"refentry","type":"Function","methodName":"equals"},{"id":"ds-hashable.hash","name":"Ds\\Hashable::hash","description":"Returns a scalar value to be used as a hash value","tag":"refentry","type":"Function","methodName":"hash"},{"id":"class.ds-hashable","name":"Ds\\Hashable","description":"The Hashable interface","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Hashable"},{"id":"ds-sequence.allocate","name":"Ds\\Sequence::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-sequence.apply","name":"Ds\\Sequence::apply","description":"Updates all values by applying a callback function to each value","tag":"refentry","type":"Function","methodName":"apply"},{"id":"ds-sequence.capacity","name":"Ds\\Sequence::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-sequence.contains","name":"Ds\\Sequence::contains","description":"Determines if the sequence contains given values","tag":"refentry","type":"Function","methodName":"contains"},{"id":"ds-sequence.filter","name":"Ds\\Sequence::filter","description":"Creates a new sequence using a callable to\n determine which values to include","tag":"refentry","type":"Function","methodName":"filter"},{"id":"ds-sequence.find","name":"Ds\\Sequence::find","description":"Attempts to find a value's index","tag":"refentry","type":"Function","methodName":"find"},{"id":"ds-sequence.first","name":"Ds\\Sequence::first","description":"Returns the first value in the sequence","tag":"refentry","type":"Function","methodName":"first"},{"id":"ds-sequence.get","name":"Ds\\Sequence::get","description":"Returns the value at a given index","tag":"refentry","type":"Function","methodName":"get"},{"id":"ds-sequence.insert","name":"Ds\\Sequence::insert","description":"Inserts values at a given index","tag":"refentry","type":"Function","methodName":"insert"},{"id":"ds-sequence.join","name":"Ds\\Sequence::join","description":"Joins all values together as a string","tag":"refentry","type":"Function","methodName":"join"},{"id":"ds-sequence.last","name":"Ds\\Sequence::last","description":"Returns the last value","tag":"refentry","type":"Function","methodName":"last"},{"id":"ds-sequence.map","name":"Ds\\Sequence::map","description":"Returns the result of applying a callback to each value","tag":"refentry","type":"Function","methodName":"map"},{"id":"ds-sequence.merge","name":"Ds\\Sequence::merge","description":"Returns the result of adding all given values to the sequence","tag":"refentry","type":"Function","methodName":"merge"},{"id":"ds-sequence.pop","name":"Ds\\Sequence::pop","description":"Removes and returns the last value","tag":"refentry","type":"Function","methodName":"pop"},{"id":"ds-sequence.push","name":"Ds\\Sequence::push","description":"Adds values to the end of the sequence","tag":"refentry","type":"Function","methodName":"push"},{"id":"ds-sequence.reduce","name":"Ds\\Sequence::reduce","description":"Reduces the sequence to a single value using a callback function","tag":"refentry","type":"Function","methodName":"reduce"},{"id":"ds-sequence.remove","name":"Ds\\Sequence::remove","description":"Removes and returns a value by index","tag":"refentry","type":"Function","methodName":"remove"},{"id":"ds-sequence.reverse","name":"Ds\\Sequence::reverse","description":"Reverses the sequence in-place","tag":"refentry","type":"Function","methodName":"reverse"},{"id":"ds-sequence.reversed","name":"Ds\\Sequence::reversed","description":"Returns a reversed copy","tag":"refentry","type":"Function","methodName":"reversed"},{"id":"ds-sequence.rotate","name":"Ds\\Sequence::rotate","description":"Rotates the sequence by a given number of rotations","tag":"refentry","type":"Function","methodName":"rotate"},{"id":"ds-sequence.set","name":"Ds\\Sequence::set","description":"Updates a value at a given index","tag":"refentry","type":"Function","methodName":"set"},{"id":"ds-sequence.shift","name":"Ds\\Sequence::shift","description":"Removes and returns the first value","tag":"refentry","type":"Function","methodName":"shift"},{"id":"ds-sequence.slice","name":"Ds\\Sequence::slice","description":"Returns a sub-sequence of a given range","tag":"refentry","type":"Function","methodName":"slice"},{"id":"ds-sequence.sort","name":"Ds\\Sequence::sort","description":"Sorts the sequence in-place","tag":"refentry","type":"Function","methodName":"sort"},{"id":"ds-sequence.sorted","name":"Ds\\Sequence::sorted","description":"Returns a sorted copy","tag":"refentry","type":"Function","methodName":"sorted"},{"id":"ds-sequence.sum","name":"Ds\\Sequence::sum","description":"Returns the sum of all values in the sequence","tag":"refentry","type":"Function","methodName":"sum"},{"id":"ds-sequence.unshift","name":"Ds\\Sequence::unshift","description":"Adds values to the front of the sequence","tag":"refentry","type":"Function","methodName":"unshift"},{"id":"class.ds-sequence","name":"Ds\\Sequence","description":"The Sequence interface","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Sequence"},{"id":"ds-vector.allocate","name":"Ds\\Vector::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-vector.apply","name":"Ds\\Vector::apply","description":"Updates all values by applying a callback function to each value","tag":"refentry","type":"Function","methodName":"apply"},{"id":"ds-vector.capacity","name":"Ds\\Vector::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-vector.clear","name":"Ds\\Vector::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-vector.construct","name":"Ds\\Vector::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-vector.contains","name":"Ds\\Vector::contains","description":"Determines if the vector contains given values","tag":"refentry","type":"Function","methodName":"contains"},{"id":"ds-vector.copy","name":"Ds\\Vector::copy","description":"Returns a shallow copy of the vector","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-vector.count","name":"Ds\\Vector::count","description":"Returns the number of values in the collection","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-vector.filter","name":"Ds\\Vector::filter","description":"Creates a new vector using a callable to\n determine which values to include","tag":"refentry","type":"Function","methodName":"filter"},{"id":"ds-vector.find","name":"Ds\\Vector::find","description":"Attempts to find a value's index","tag":"refentry","type":"Function","methodName":"find"},{"id":"ds-vector.first","name":"Ds\\Vector::first","description":"Returns the first value in the vector","tag":"refentry","type":"Function","methodName":"first"},{"id":"ds-vector.get","name":"Ds\\Vector::get","description":"Returns the value at a given index","tag":"refentry","type":"Function","methodName":"get"},{"id":"ds-vector.insert","name":"Ds\\Vector::insert","description":"Inserts values at a given index","tag":"refentry","type":"Function","methodName":"insert"},{"id":"ds-vector.isempty","name":"Ds\\Vector::isEmpty","description":"Returns whether the vector is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-vector.join","name":"Ds\\Vector::join","description":"Joins all values together as a string","tag":"refentry","type":"Function","methodName":"join"},{"id":"ds-vector.jsonserialize","name":"Ds\\Vector::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-vector.last","name":"Ds\\Vector::last","description":"Returns the last value","tag":"refentry","type":"Function","methodName":"last"},{"id":"ds-vector.map","name":"Ds\\Vector::map","description":"Returns the result of applying a callback to each value","tag":"refentry","type":"Function","methodName":"map"},{"id":"ds-vector.merge","name":"Ds\\Vector::merge","description":"Returns the result of adding all given values to the vector","tag":"refentry","type":"Function","methodName":"merge"},{"id":"ds-vector.pop","name":"Ds\\Vector::pop","description":"Removes and returns the last value","tag":"refentry","type":"Function","methodName":"pop"},{"id":"ds-vector.push","name":"Ds\\Vector::push","description":"Adds values to the end of the vector","tag":"refentry","type":"Function","methodName":"push"},{"id":"ds-vector.reduce","name":"Ds\\Vector::reduce","description":"Reduces the vector to a single value using a callback function","tag":"refentry","type":"Function","methodName":"reduce"},{"id":"ds-vector.remove","name":"Ds\\Vector::remove","description":"Removes and returns a value by index","tag":"refentry","type":"Function","methodName":"remove"},{"id":"ds-vector.reverse","name":"Ds\\Vector::reverse","description":"Reverses the vector in-place","tag":"refentry","type":"Function","methodName":"reverse"},{"id":"ds-vector.reversed","name":"Ds\\Vector::reversed","description":"Returns a reversed copy","tag":"refentry","type":"Function","methodName":"reversed"},{"id":"ds-vector.rotate","name":"Ds\\Vector::rotate","description":"Rotates the vector by a given number of rotations","tag":"refentry","type":"Function","methodName":"rotate"},{"id":"ds-vector.set","name":"Ds\\Vector::set","description":"Updates a value at a given index","tag":"refentry","type":"Function","methodName":"set"},{"id":"ds-vector.shift","name":"Ds\\Vector::shift","description":"Removes and returns the first value","tag":"refentry","type":"Function","methodName":"shift"},{"id":"ds-vector.slice","name":"Ds\\Vector::slice","description":"Returns a sub-vector of a given range","tag":"refentry","type":"Function","methodName":"slice"},{"id":"ds-vector.sort","name":"Ds\\Vector::sort","description":"Sorts the vector in-place","tag":"refentry","type":"Function","methodName":"sort"},{"id":"ds-vector.sorted","name":"Ds\\Vector::sorted","description":"Returns a sorted copy","tag":"refentry","type":"Function","methodName":"sorted"},{"id":"ds-vector.sum","name":"Ds\\Vector::sum","description":"Returns the sum of all values in the vector","tag":"refentry","type":"Function","methodName":"sum"},{"id":"ds-vector.toarray","name":"Ds\\Vector::toArray","description":"Converts the vector to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"ds-vector.unshift","name":"Ds\\Vector::unshift","description":"Adds values to the front of the vector","tag":"refentry","type":"Function","methodName":"unshift"},{"id":"class.ds-vector","name":"Ds\\Vector","description":"The Vector class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Vector"},{"id":"ds-deque.allocate","name":"Ds\\Deque::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-deque.apply","name":"Ds\\Deque::apply","description":"Updates all values by applying a callback function to each value","tag":"refentry","type":"Function","methodName":"apply"},{"id":"ds-deque.capacity","name":"Ds\\Deque::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-deque.clear","name":"Ds\\Deque::clear","description":"Removes all values from the deque","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-deque.construct","name":"Ds\\Deque::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-deque.contains","name":"Ds\\Deque::contains","description":"Determines if the deque contains given values","tag":"refentry","type":"Function","methodName":"contains"},{"id":"ds-deque.copy","name":"Ds\\Deque::copy","description":"Returns a shallow copy of the deque","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-deque.count","name":"Ds\\Deque::count","description":"Returns the number of values in the collection","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-deque.filter","name":"Ds\\Deque::filter","description":"Creates a new deque using a callable to\n determine which values to include","tag":"refentry","type":"Function","methodName":"filter"},{"id":"ds-deque.find","name":"Ds\\Deque::find","description":"Attempts to find a value's index","tag":"refentry","type":"Function","methodName":"find"},{"id":"ds-deque.first","name":"Ds\\Deque::first","description":"Returns the first value in the deque","tag":"refentry","type":"Function","methodName":"first"},{"id":"ds-deque.get","name":"Ds\\Deque::get","description":"Returns the value at a given index","tag":"refentry","type":"Function","methodName":"get"},{"id":"ds-deque.insert","name":"Ds\\Deque::insert","description":"Inserts values at a given index","tag":"refentry","type":"Function","methodName":"insert"},{"id":"ds-deque.isempty","name":"Ds\\Deque::isEmpty","description":"Returns whether the deque is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-deque.join","name":"Ds\\Deque::join","description":"Joins all values together as a string","tag":"refentry","type":"Function","methodName":"join"},{"id":"ds-deque.jsonserialize","name":"Ds\\Deque::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-deque.last","name":"Ds\\Deque::last","description":"Returns the last value","tag":"refentry","type":"Function","methodName":"last"},{"id":"ds-deque.map","name":"Ds\\Deque::map","description":"Returns the result of applying a callback to each value","tag":"refentry","type":"Function","methodName":"map"},{"id":"ds-deque.merge","name":"Ds\\Deque::merge","description":"Returns the result of adding all given values to the deque","tag":"refentry","type":"Function","methodName":"merge"},{"id":"ds-deque.pop","name":"Ds\\Deque::pop","description":"Removes and returns the last value","tag":"refentry","type":"Function","methodName":"pop"},{"id":"ds-deque.push","name":"Ds\\Deque::push","description":"Adds values to the end of the deque","tag":"refentry","type":"Function","methodName":"push"},{"id":"ds-deque.reduce","name":"Ds\\Deque::reduce","description":"Reduces the deque to a single value using a callback function","tag":"refentry","type":"Function","methodName":"reduce"},{"id":"ds-deque.remove","name":"Ds\\Deque::remove","description":"Removes and returns a value by index","tag":"refentry","type":"Function","methodName":"remove"},{"id":"ds-deque.reverse","name":"Ds\\Deque::reverse","description":"Reverses the deque in-place","tag":"refentry","type":"Function","methodName":"reverse"},{"id":"ds-deque.reversed","name":"Ds\\Deque::reversed","description":"Returns a reversed copy","tag":"refentry","type":"Function","methodName":"reversed"},{"id":"ds-deque.rotate","name":"Ds\\Deque::rotate","description":"Rotates the deque by a given number of rotations","tag":"refentry","type":"Function","methodName":"rotate"},{"id":"ds-deque.set","name":"Ds\\Deque::set","description":"Updates a value at a given index","tag":"refentry","type":"Function","methodName":"set"},{"id":"ds-deque.shift","name":"Ds\\Deque::shift","description":"Removes and returns the first value","tag":"refentry","type":"Function","methodName":"shift"},{"id":"ds-deque.slice","name":"Ds\\Deque::slice","description":"Returns a sub-deque of a given range","tag":"refentry","type":"Function","methodName":"slice"},{"id":"ds-deque.sort","name":"Ds\\Deque::sort","description":"Sorts the deque in-place","tag":"refentry","type":"Function","methodName":"sort"},{"id":"ds-deque.sorted","name":"Ds\\Deque::sorted","description":"Returns a sorted copy","tag":"refentry","type":"Function","methodName":"sorted"},{"id":"ds-deque.sum","name":"Ds\\Deque::sum","description":"Returns the sum of all values in the deque","tag":"refentry","type":"Function","methodName":"sum"},{"id":"ds-deque.toarray","name":"Ds\\Deque::toArray","description":"Converts the deque to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"ds-deque.unshift","name":"Ds\\Deque::unshift","description":"Adds values to the front of the deque","tag":"refentry","type":"Function","methodName":"unshift"},{"id":"class.ds-deque","name":"Ds\\Deque","description":"The Deque class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Deque"},{"id":"ds-map.allocate","name":"Ds\\Map::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-map.apply","name":"Ds\\Map::apply","description":"Updates all values by applying a callback function to each value","tag":"refentry","type":"Function","methodName":"apply"},{"id":"ds-map.capacity","name":"Ds\\Map::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-map.clear","name":"Ds\\Map::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-map.construct","name":"Ds\\Map::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-map.copy","name":"Ds\\Map::copy","description":"Returns a shallow copy of the map","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-map.count","name":"Ds\\Map::count","description":"Returns the number of values in the map","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-map.diff","name":"Ds\\Map::diff","description":"Creates a new map using keys that aren't in another map","tag":"refentry","type":"Function","methodName":"diff"},{"id":"ds-map.filter","name":"Ds\\Map::filter","description":"Creates a new map using a callable to determine which pairs to include","tag":"refentry","type":"Function","methodName":"filter"},{"id":"ds-map.first","name":"Ds\\Map::first","description":"Returns the first pair in the map","tag":"refentry","type":"Function","methodName":"first"},{"id":"ds-map.get","name":"Ds\\Map::get","description":"Returns the value for a given key","tag":"refentry","type":"Function","methodName":"get"},{"id":"ds-map.haskey","name":"Ds\\Map::hasKey","description":"Determines whether the map contains a given key","tag":"refentry","type":"Function","methodName":"hasKey"},{"id":"ds-map.hasvalue","name":"Ds\\Map::hasValue","description":"Determines whether the map contains a given value","tag":"refentry","type":"Function","methodName":"hasValue"},{"id":"ds-map.intersect","name":"Ds\\Map::intersect","description":"Creates a new map by intersecting keys with another map","tag":"refentry","type":"Function","methodName":"intersect"},{"id":"ds-map.isempty","name":"Ds\\Map::isEmpty","description":"Returns whether the map is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-map.jsonserialize","name":"Ds\\Map::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-map.keys","name":"Ds\\Map::keys","description":"Returns a set of the map's keys","tag":"refentry","type":"Function","methodName":"keys"},{"id":"ds-map.ksort","name":"Ds\\Map::ksort","description":"Sorts the map in-place by key","tag":"refentry","type":"Function","methodName":"ksort"},{"id":"ds-map.ksorted","name":"Ds\\Map::ksorted","description":"Returns a copy, sorted by key","tag":"refentry","type":"Function","methodName":"ksorted"},{"id":"ds-map.last","name":"Ds\\Map::last","description":"Returns the last pair of the map","tag":"refentry","type":"Function","methodName":"last"},{"id":"ds-map.map","name":"Ds\\Map::map","description":"Returns the result of applying a callback to each value","tag":"refentry","type":"Function","methodName":"map"},{"id":"ds-map.merge","name":"Ds\\Map::merge","description":"Returns the result of adding all given associations","tag":"refentry","type":"Function","methodName":"merge"},{"id":"ds-map.pairs","name":"Ds\\Map::pairs","description":"Returns a sequence containing all the pairs of the map","tag":"refentry","type":"Function","methodName":"pairs"},{"id":"ds-map.put","name":"Ds\\Map::put","description":"Associates a key with a value","tag":"refentry","type":"Function","methodName":"put"},{"id":"ds-map.putall","name":"Ds\\Map::putAll","description":"Associates all key-value pairs of a traversable object or array","tag":"refentry","type":"Function","methodName":"putAll"},{"id":"ds-map.reduce","name":"Ds\\Map::reduce","description":"Reduces the map to a single value using a callback function","tag":"refentry","type":"Function","methodName":"reduce"},{"id":"ds-map.remove","name":"Ds\\Map::remove","description":"Removes and returns a value by key","tag":"refentry","type":"Function","methodName":"remove"},{"id":"ds-map.reverse","name":"Ds\\Map::reverse","description":"Reverses the map in-place","tag":"refentry","type":"Function","methodName":"reverse"},{"id":"ds-map.reversed","name":"Ds\\Map::reversed","description":"Returns a reversed copy","tag":"refentry","type":"Function","methodName":"reversed"},{"id":"ds-map.skip","name":"Ds\\Map::skip","description":"Returns the pair at a given positional index","tag":"refentry","type":"Function","methodName":"skip"},{"id":"ds-map.slice","name":"Ds\\Map::slice","description":"Returns a subset of the map defined by a starting index and length","tag":"refentry","type":"Function","methodName":"slice"},{"id":"ds-map.sort","name":"Ds\\Map::sort","description":"Sorts the map in-place by value","tag":"refentry","type":"Function","methodName":"sort"},{"id":"ds-map.sorted","name":"Ds\\Map::sorted","description":"Returns a copy, sorted by value","tag":"refentry","type":"Function","methodName":"sorted"},{"id":"ds-map.sum","name":"Ds\\Map::sum","description":"Returns the sum of all values in the map","tag":"refentry","type":"Function","methodName":"sum"},{"id":"ds-map.toarray","name":"Ds\\Map::toArray","description":"Converts the map to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"ds-map.union","name":"Ds\\Map::union","description":"Creates a new map using values from the current instance and another map","tag":"refentry","type":"Function","methodName":"union"},{"id":"ds-map.values","name":"Ds\\Map::values","description":"Returns a sequence of the map's values","tag":"refentry","type":"Function","methodName":"values"},{"id":"ds-map.xor","name":"Ds\\Map::xor","description":"Creates a new map using keys of either the current instance or of another map, but not of both","tag":"refentry","type":"Function","methodName":"xor"},{"id":"class.ds-map","name":"Ds\\Map","description":"The Map class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Map"},{"id":"ds-pair.clear","name":"Ds\\Pair::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-pair.construct","name":"Ds\\Pair::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-pair.copy","name":"Ds\\Pair::copy","description":"Returns a shallow copy of the pair","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-pair.isempty","name":"Ds\\Pair::isEmpty","description":"Returns whether the pair is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-pair.jsonserialize","name":"Ds\\Pair::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-pair.toarray","name":"Ds\\Pair::toArray","description":"Converts the pair to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.ds-pair","name":"Ds\\Pair","description":"The Pair class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Pair"},{"id":"ds-set.add","name":"Ds\\Set::add","description":"Adds values to the set","tag":"refentry","type":"Function","methodName":"add"},{"id":"ds-set.allocate","name":"Ds\\Set::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-set.capacity","name":"Ds\\Set::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-set.clear","name":"Ds\\Set::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-set.construct","name":"Ds\\Set::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-set.contains","name":"Ds\\Set::contains","description":"Determines if the set contains all values","tag":"refentry","type":"Function","methodName":"contains"},{"id":"ds-set.copy","name":"Ds\\Set::copy","description":"Returns a shallow copy of the set","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-set.count","name":"Ds\\Set::count","description":"Returns the number of values in the set","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-set.diff","name":"Ds\\Set::diff","description":"Creates a new set using values that aren't in another set","tag":"refentry","type":"Function","methodName":"diff"},{"id":"ds-set.filter","name":"Ds\\Set::filter","description":"Creates a new set using a callable to\n determine which values to include","tag":"refentry","type":"Function","methodName":"filter"},{"id":"ds-set.first","name":"Ds\\Set::first","description":"Returns the first value in the set","tag":"refentry","type":"Function","methodName":"first"},{"id":"ds-set.get","name":"Ds\\Set::get","description":"Returns the value at a given index","tag":"refentry","type":"Function","methodName":"get"},{"id":"ds-set.intersect","name":"Ds\\Set::intersect","description":"Creates a new set by intersecting values with another set","tag":"refentry","type":"Function","methodName":"intersect"},{"id":"ds-set.isempty","name":"Ds\\Set::isEmpty","description":"Returns whether the set is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-set.join","name":"Ds\\Set::join","description":"Joins all values together as a string","tag":"refentry","type":"Function","methodName":"join"},{"id":"ds-set.jsonserialize","name":"Ds\\Set::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-set.last","name":"Ds\\Set::last","description":"Returns the last value in the set","tag":"refentry","type":"Function","methodName":"last"},{"id":"ds-set.map","name":"Ds\\Set::map","description":"Returns the result of applying a callback to each value","tag":"refentry","type":"Function","methodName":"map"},{"id":"ds-set.merge","name":"Ds\\Set::merge","description":"Returns the result of adding all given values to the set","tag":"refentry","type":"Function","methodName":"merge"},{"id":"ds-set.reduce","name":"Ds\\Set::reduce","description":"Reduces the set to a single value using a callback function","tag":"refentry","type":"Function","methodName":"reduce"},{"id":"ds-set.remove","name":"Ds\\Set::remove","description":"Removes all given values from the set","tag":"refentry","type":"Function","methodName":"remove"},{"id":"ds-set.reverse","name":"Ds\\Set::reverse","description":"Reverses the set in-place","tag":"refentry","type":"Function","methodName":"reverse"},{"id":"ds-set.reversed","name":"Ds\\Set::reversed","description":"Returns a reversed copy","tag":"refentry","type":"Function","methodName":"reversed"},{"id":"ds-set.slice","name":"Ds\\Set::slice","description":"Returns a sub-set of a given range","tag":"refentry","type":"Function","methodName":"slice"},{"id":"ds-set.sort","name":"Ds\\Set::sort","description":"Sorts the set in-place","tag":"refentry","type":"Function","methodName":"sort"},{"id":"ds-set.sorted","name":"Ds\\Set::sorted","description":"Returns a sorted copy","tag":"refentry","type":"Function","methodName":"sorted"},{"id":"ds-set.sum","name":"Ds\\Set::sum","description":"Returns the sum of all values in the set","tag":"refentry","type":"Function","methodName":"sum"},{"id":"ds-set.toarray","name":"Ds\\Set::toArray","description":"Converts the set to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"ds-set.union","name":"Ds\\Set::union","description":"Creates a new set using values from the current instance and another set","tag":"refentry","type":"Function","methodName":"union"},{"id":"ds-set.xor","name":"Ds\\Set::xor","description":"Creates a new set using values in either the current instance or in another set, but not in both","tag":"refentry","type":"Function","methodName":"xor"},{"id":"class.ds-set","name":"Ds\\Set","description":"The Set class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Set"},{"id":"ds-stack.allocate","name":"Ds\\Stack::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-stack.capacity","name":"Ds\\Stack::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-stack.clear","name":"Ds\\Stack::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-stack.construct","name":"Ds\\Stack::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-stack.copy","name":"Ds\\Stack::copy","description":"Returns a shallow copy of the stack","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-stack.count","name":"Ds\\Stack::count","description":"Returns the number of values in the stack","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-stack.isempty","name":"Ds\\Stack::isEmpty","description":"Returns whether the stack is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-stack.jsonserialize","name":"Ds\\Stack::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-stack.peek","name":"Ds\\Stack::peek","description":"Returns the value at the top of the stack","tag":"refentry","type":"Function","methodName":"peek"},{"id":"ds-stack.pop","name":"Ds\\Stack::pop","description":"Removes and returns the value at the top of the stack","tag":"refentry","type":"Function","methodName":"pop"},{"id":"ds-stack.push","name":"Ds\\Stack::push","description":"Pushes values onto the stack","tag":"refentry","type":"Function","methodName":"push"},{"id":"ds-stack.toarray","name":"Ds\\Stack::toArray","description":"Converts the stack to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.ds-stack","name":"Ds\\Stack","description":"The Stack class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Stack"},{"id":"ds-queue.allocate","name":"Ds\\Queue::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-queue.capacity","name":"Ds\\Queue::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-queue.clear","name":"Ds\\Queue::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-queue.construct","name":"Ds\\Queue::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-queue.copy","name":"Ds\\Queue::copy","description":"Returns a shallow copy of the queue","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-queue.count","name":"Ds\\Queue::count","description":"Returns the number of values in the queue","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-queue.isempty","name":"Ds\\Queue::isEmpty","description":"Returns whether the queue is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-queue.jsonserialize","name":"Ds\\Queue::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-queue.peek","name":"Ds\\Queue::peek","description":"Returns the value at the front of the queue","tag":"refentry","type":"Function","methodName":"peek"},{"id":"ds-queue.pop","name":"Ds\\Queue::pop","description":"Removes and returns the value at the front of the queue","tag":"refentry","type":"Function","methodName":"pop"},{"id":"ds-queue.push","name":"Ds\\Queue::push","description":"Pushes values into the queue","tag":"refentry","type":"Function","methodName":"push"},{"id":"ds-queue.toarray","name":"Ds\\Queue::toArray","description":"Converts the queue to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.ds-queue","name":"Ds\\Queue","description":"The Queue class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\Queue"},{"id":"ds-priorityqueue.allocate","name":"Ds\\PriorityQueue::allocate","description":"Allocates enough memory for a required capacity","tag":"refentry","type":"Function","methodName":"allocate"},{"id":"ds-priorityqueue.capacity","name":"Ds\\PriorityQueue::capacity","description":"Returns the current capacity","tag":"refentry","type":"Function","methodName":"capacity"},{"id":"ds-priorityqueue.clear","name":"Ds\\PriorityQueue::clear","description":"Removes all values","tag":"refentry","type":"Function","methodName":"clear"},{"id":"ds-priorityqueue.construct","name":"Ds\\PriorityQueue::__construct","description":"Creates a new instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ds-priorityqueue.copy","name":"Ds\\PriorityQueue::copy","description":"Returns a shallow copy of the queue","tag":"refentry","type":"Function","methodName":"copy"},{"id":"ds-priorityqueue.count","name":"Ds\\PriorityQueue::count","description":"Returns the number of values in the queue","tag":"refentry","type":"Function","methodName":"count"},{"id":"ds-priorityqueue.isempty","name":"Ds\\PriorityQueue::isEmpty","description":"Returns whether the queue is empty","tag":"refentry","type":"Function","methodName":"isEmpty"},{"id":"ds-priorityqueue.jsonserialize","name":"Ds\\PriorityQueue::jsonSerialize","description":"Returns a representation that can be converted to JSON","tag":"refentry","type":"Function","methodName":"jsonSerialize"},{"id":"ds-priorityqueue.peek","name":"Ds\\PriorityQueue::peek","description":"Returns the value at the front of the queue","tag":"refentry","type":"Function","methodName":"peek"},{"id":"ds-priorityqueue.pop","name":"Ds\\PriorityQueue::pop","description":"Removes and returns the value with the highest priority","tag":"refentry","type":"Function","methodName":"pop"},{"id":"ds-priorityqueue.push","name":"Ds\\PriorityQueue::push","description":"Pushes values into the queue","tag":"refentry","type":"Function","methodName":"push"},{"id":"ds-priorityqueue.toarray","name":"Ds\\PriorityQueue::toArray","description":"Converts the queue to an array","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.ds-priorityqueue","name":"Ds\\PriorityQueue","description":"The PriorityQueue class","tag":"phpdoc:classref","type":"Class","methodName":"Ds\\PriorityQueue"},{"id":"book.ds","name":"Data Structures","description":"Other Basic Extensions","tag":"book","type":"Extension","methodName":"Data Structures"},{"id":"intro.var_representation","name":"Introduction","description":"var_representation","tag":"preface","type":"General","methodName":"Introduction"},{"id":"var-representation.installation","name":"Installation","description":"var_representation","tag":"section","type":"General","methodName":"Installation"},{"id":"var-representation.setup","name":"Installing\/Configuring","description":"var_representation","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"var-representation.constants","name":"Predefined Constants","description":"var_representation","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.var-representation","name":"var_representation","description":"Returns a short, readable, parsable string representation of a variable","tag":"refentry","type":"Function","methodName":"var_representation"},{"id":"ref.var-representation","name":"var_representation Functions","description":"var_representation","tag":"reference","type":"Extension","methodName":"var_representation Functions"},{"id":"book.var_representation","name":"var_representation","description":"var_representation","tag":"book","type":"Extension","methodName":"var_representation"},{"id":"refs.basic.other","name":"Other Basic Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Other Basic Extensions"},{"id":"intro.curl","name":"Introduction","description":"Client URL Library","tag":"preface","type":"General","methodName":"Introduction"},{"id":"curl.requirements","name":"Requirements","description":"Client URL Library","tag":"section","type":"General","methodName":"Requirements"},{"id":"curl.installation","name":"Installation","description":"Client URL Library","tag":"section","type":"General","methodName":"Installation"},{"id":"curl.configuration","name":"Runtime Configuration","description":"Client URL Library","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"curl.resources","name":"Resource Types","description":"Client URL Library","tag":"section","type":"General","methodName":"Resource Types"},{"id":"curl.setup","name":"Installing\/Configuring","description":"Client URL Library","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"curl.constants","name":"Predefined Constants","description":"Client URL Library","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"curl.examples-basic","name":"Basic curl example","description":"Client URL Library","tag":"section","type":"General","methodName":"Basic curl example"},{"id":"curl.examples","name":"Examples","description":"Client URL Library","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.curl-close","name":"curl_close","description":"Close a cURL session","tag":"refentry","type":"Function","methodName":"curl_close"},{"id":"function.curl-copy-handle","name":"curl_copy_handle","description":"Copy a cURL handle along with all of its preferences","tag":"refentry","type":"Function","methodName":"curl_copy_handle"},{"id":"function.curl-errno","name":"curl_errno","description":"Return the last error number","tag":"refentry","type":"Function","methodName":"curl_errno"},{"id":"function.curl-error","name":"curl_error","description":"Return a string containing the last error for the current session","tag":"refentry","type":"Function","methodName":"curl_error"},{"id":"function.curl-escape","name":"curl_escape","description":"URL encodes the given string","tag":"refentry","type":"Function","methodName":"curl_escape"},{"id":"function.curl-exec","name":"curl_exec","description":"Perform a cURL session","tag":"refentry","type":"Function","methodName":"curl_exec"},{"id":"function.curl-getinfo","name":"curl_getinfo","description":"Get information regarding a specific transfer","tag":"refentry","type":"Function","methodName":"curl_getinfo"},{"id":"function.curl-init","name":"curl_init","description":"Initialize a cURL session","tag":"refentry","type":"Function","methodName":"curl_init"},{"id":"function.curl-multi-add-handle","name":"curl_multi_add_handle","description":"Add a normal cURL handle to a cURL multi handle","tag":"refentry","type":"Function","methodName":"curl_multi_add_handle"},{"id":"function.curl-multi-close","name":"curl_multi_close","description":"Remove all cURL handles from a multi handle","tag":"refentry","type":"Function","methodName":"curl_multi_close"},{"id":"function.curl-multi-errno","name":"curl_multi_errno","description":"Return the last multi curl error number","tag":"refentry","type":"Function","methodName":"curl_multi_errno"},{"id":"function.curl-multi-exec","name":"curl_multi_exec","description":"Run the sub-connections of the current cURL handle","tag":"refentry","type":"Function","methodName":"curl_multi_exec"},{"id":"function.curl-multi-getcontent","name":"curl_multi_getcontent","description":"Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set","tag":"refentry","type":"Function","methodName":"curl_multi_getcontent"},{"id":"function.curl-multi-info-read","name":"curl_multi_info_read","description":"Get information about the current transfers","tag":"refentry","type":"Function","methodName":"curl_multi_info_read"},{"id":"function.curl-multi-init","name":"curl_multi_init","description":"Returns a new cURL multi handle","tag":"refentry","type":"Function","methodName":"curl_multi_init"},{"id":"function.curl-multi-remove-handle","name":"curl_multi_remove_handle","description":"Remove a handle from a set of cURL handles","tag":"refentry","type":"Function","methodName":"curl_multi_remove_handle"},{"id":"function.curl-multi-select","name":"curl_multi_select","description":"Wait until reading or writing is possible for any cURL multi handle connection","tag":"refentry","type":"Function","methodName":"curl_multi_select"},{"id":"function.curl-multi-setopt","name":"curl_multi_setopt","description":"Set a cURL multi option","tag":"refentry","type":"Function","methodName":"curl_multi_setopt"},{"id":"function.curl-multi-strerror","name":"curl_multi_strerror","description":"Return string describing error code","tag":"refentry","type":"Function","methodName":"curl_multi_strerror"},{"id":"function.curl-pause","name":"curl_pause","description":"Pause and unpause a connection","tag":"refentry","type":"Function","methodName":"curl_pause"},{"id":"function.curl-reset","name":"curl_reset","description":"Reset all options of a libcurl session handle","tag":"refentry","type":"Function","methodName":"curl_reset"},{"id":"function.curl-setopt","name":"curl_setopt","description":"Set an option for a cURL transfer","tag":"refentry","type":"Function","methodName":"curl_setopt"},{"id":"function.curl-setopt-array","name":"curl_setopt_array","description":"Set multiple options for a cURL transfer","tag":"refentry","type":"Function","methodName":"curl_setopt_array"},{"id":"function.curl-share-close","name":"curl_share_close","description":"Close a cURL share handle","tag":"refentry","type":"Function","methodName":"curl_share_close"},{"id":"function.curl-share-errno","name":"curl_share_errno","description":"Return the last share curl error number","tag":"refentry","type":"Function","methodName":"curl_share_errno"},{"id":"function.curl-share-init","name":"curl_share_init","description":"Initialize a cURL share handle","tag":"refentry","type":"Function","methodName":"curl_share_init"},{"id":"function.curl-share-init-persistent","name":"curl_share_init_persistent","description":"Initialize a persistent cURL share handle","tag":"refentry","type":"Function","methodName":"curl_share_init_persistent"},{"id":"function.curl-share-setopt","name":"curl_share_setopt","description":"Set an option for a cURL share handle","tag":"refentry","type":"Function","methodName":"curl_share_setopt"},{"id":"function.curl-share-strerror","name":"curl_share_strerror","description":"Return string describing the given error code","tag":"refentry","type":"Function","methodName":"curl_share_strerror"},{"id":"function.curl-strerror","name":"curl_strerror","description":"Return string describing the given error code","tag":"refentry","type":"Function","methodName":"curl_strerror"},{"id":"function.curl-unescape","name":"curl_unescape","description":"Decodes the given URL encoded string","tag":"refentry","type":"Function","methodName":"curl_unescape"},{"id":"function.curl_upkeep","name":"curl_upkeep","description":"Performs any connection upkeep checks","tag":"refentry","type":"Function","methodName":"curl_upkeep"},{"id":"function.curl-version","name":"curl_version","description":"Gets cURL version information","tag":"refentry","type":"Function","methodName":"curl_version"},{"id":"ref.curl","name":"cURL Functions","description":"Client URL Library","tag":"reference","type":"Extension","methodName":"cURL Functions"},{"id":"class.curlhandle","name":"CurlHandle","description":"The CurlHandle class","tag":"phpdoc:classref","type":"Class","methodName":"CurlHandle"},{"id":"class.curlmultihandle","name":"CurlMultiHandle","description":"The CurlMultiHandle class","tag":"phpdoc:classref","type":"Class","methodName":"CurlMultiHandle"},{"id":"class.curlsharehandle","name":"CurlShareHandle","description":"The CurlShareHandle class","tag":"phpdoc:classref","type":"Class","methodName":"CurlShareHandle"},{"id":"class.curlsharepersistenthandle","name":"CurlSharePersistentHandle","description":"The CurlSharePersistentHandle class","tag":"phpdoc:classref","type":"Class","methodName":"CurlSharePersistentHandle"},{"id":"curlfile.construct","name":"curl_file_create","description":"Create a CURLFile object","tag":"refentry","type":"Function","methodName":"curl_file_create"},{"id":"curlfile.construct","name":"CURLFile::__construct","description":"Create a CURLFile object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"curlfile.getfilename","name":"CURLFile::getFilename","description":"Get file name","tag":"refentry","type":"Function","methodName":"getFilename"},{"id":"curlfile.getmimetype","name":"CURLFile::getMimeType","description":"Get MIME type","tag":"refentry","type":"Function","methodName":"getMimeType"},{"id":"curlfile.getpostfilename","name":"CURLFile::getPostFilename","description":"Get file name for POST","tag":"refentry","type":"Function","methodName":"getPostFilename"},{"id":"curlfile.setmimetype","name":"CURLFile::setMimeType","description":"Set MIME type","tag":"refentry","type":"Function","methodName":"setMimeType"},{"id":"curlfile.setpostfilename","name":"CURLFile::setPostFilename","description":"Set file name for POST","tag":"refentry","type":"Function","methodName":"setPostFilename"},{"id":"class.curlfile","name":"CURLFile","description":"The CURLFile class","tag":"phpdoc:classref","type":"Class","methodName":"CURLFile"},{"id":"curlstringfile.construct","name":"CURLStringFile::__construct","description":"Create a CURLStringFile object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.curlstringfile","name":"CURLStringFile","description":"The CURLStringFile class","tag":"phpdoc:classref","type":"Class","methodName":"CURLStringFile"},{"id":"book.curl","name":"cURL","description":"Client URL Library","tag":"book","type":"Extension","methodName":"cURL"},{"id":"intro.event","name":"Introduction","description":"Event","tag":"preface","type":"General","methodName":"Introduction"},{"id":"event.requirements","name":"Requirements","description":"Event","tag":"section","type":"General","methodName":"Requirements"},{"id":"event.installation","name":"Installation","description":"Event","tag":"section","type":"General","methodName":"Installation"},{"id":"event.setup","name":"Installing\/Configuring","description":"Event","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"event.examples","name":"Examples","description":"Event","tag":"chapter","type":"General","methodName":"Examples"},{"id":"event.flags","name":"Event flags","description":"Event","tag":"chapter","type":"General","methodName":"Event flags"},{"id":"event.persistence","name":"About event persistence","description":"Event","tag":"chapter","type":"General","methodName":"About event persistence"},{"id":"event.callbacks","name":"Event callbacks","description":"Event","tag":"chapter","type":"General","methodName":"Event callbacks"},{"id":"event.constructing.signal.events","name":"Constructing signal events","description":"Event","tag":"chapter","type":"General","methodName":"Constructing signal events"},{"id":"event.add","name":"Event::add","description":"Makes event pending","tag":"refentry","type":"Function","methodName":"add"},{"id":"event.addsignal","name":"Event::addSignal","description":"Alias of Event::add","tag":"refentry","type":"Function","methodName":"addSignal"},{"id":"event.addtimer","name":"Event::addTimer","description":"Alias of Event::add","tag":"refentry","type":"Function","methodName":"addTimer"},{"id":"event.construct","name":"Event::__construct","description":"Constructs Event object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"event.del","name":"Event::del","description":"Makes event non-pending","tag":"refentry","type":"Function","methodName":"del"},{"id":"event.delsignal","name":"Event::delSignal","description":"Alias of Event::del","tag":"refentry","type":"Function","methodName":"delSignal"},{"id":"event.deltimer","name":"Event::delTimer","description":"Alias of Event::del","tag":"refentry","type":"Function","methodName":"delTimer"},{"id":"event.free","name":"Event::free","description":"Make event non-pending and free resources allocated for this\n event","tag":"refentry","type":"Function","methodName":"free"},{"id":"event.getsupportedmethods","name":"Event::getSupportedMethods","description":"Returns array with of the names of the methods supported in this version of Libevent","tag":"refentry","type":"Function","methodName":"getSupportedMethods"},{"id":"event.pending","name":"Event::pending","description":"Detects whether event is pending or scheduled","tag":"refentry","type":"Function","methodName":"pending"},{"id":"event.set","name":"Event::set","description":"Re-configures event","tag":"refentry","type":"Function","methodName":"set"},{"id":"event.setpriority","name":"Event::setPriority","description":"Set event priority","tag":"refentry","type":"Function","methodName":"setPriority"},{"id":"event.settimer","name":"Event::setTimer","description":"Re-configures timer event","tag":"refentry","type":"Function","methodName":"setTimer"},{"id":"event.signal","name":"Event::signal","description":"Constructs signal event object","tag":"refentry","type":"Function","methodName":"signal"},{"id":"event.timer","name":"Event::timer","description":"Constructs timer event object","tag":"refentry","type":"Function","methodName":"timer"},{"id":"class.event","name":"Event","description":"The Event class","tag":"phpdoc:classref","type":"Class","methodName":"Event"},{"id":"eventbase.construct","name":"EventBase::__construct","description":"Constructs EventBase object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventbase.dispatch","name":"EventBase::dispatch","description":"Dispatch pending events","tag":"refentry","type":"Function","methodName":"dispatch"},{"id":"eventbase.exit","name":"EventBase::exit","description":"Stop dispatching events","tag":"refentry","type":"Function","methodName":"exit"},{"id":"eventbase.free","name":"EventBase::free","description":"Free resources allocated for this event base","tag":"refentry","type":"Function","methodName":"free"},{"id":"eventbase.getfeatures","name":"EventBase::getFeatures","description":"Returns bitmask of features supported","tag":"refentry","type":"Function","methodName":"getFeatures"},{"id":"eventbase.getmethod","name":"EventBase::getMethod","description":"Returns event method in use","tag":"refentry","type":"Function","methodName":"getMethod"},{"id":"eventbase.gettimeofdaycached","name":"EventBase::getTimeOfDayCached","description":"Returns the current event base time","tag":"refentry","type":"Function","methodName":"getTimeOfDayCached"},{"id":"eventbase.gotexit","name":"EventBase::gotExit","description":"Checks if the event loop was told to exit","tag":"refentry","type":"Function","methodName":"gotExit"},{"id":"eventbase.gotstop","name":"EventBase::gotStop","description":"Checks if the event loop was told to exit","tag":"refentry","type":"Function","methodName":"gotStop"},{"id":"eventbase.loop","name":"EventBase::loop","description":"Dispatch pending events","tag":"refentry","type":"Function","methodName":"loop"},{"id":"eventbase.priorityinit","name":"EventBase::priorityInit","description":"Sets number of priorities per event base","tag":"refentry","type":"Function","methodName":"priorityInit"},{"id":"eventbase.reinit","name":"EventBase::reInit","description":"Re-initialize event base(after a fork)","tag":"refentry","type":"Function","methodName":"reInit"},{"id":"eventbase.stop","name":"EventBase::stop","description":"Tells event_base to stop dispatching events","tag":"refentry","type":"Function","methodName":"stop"},{"id":"class.eventbase","name":"EventBase","description":"The EventBase class","tag":"phpdoc:classref","type":"Class","methodName":"EventBase"},{"id":"eventbuffer.add","name":"EventBuffer::add","description":"Append data to the end of an event buffer","tag":"refentry","type":"Function","methodName":"add"},{"id":"eventbuffer.addbuffer","name":"EventBuffer::addBuffer","description":"Move all data from a buffer provided to the current instance of EventBuffer","tag":"refentry","type":"Function","methodName":"addBuffer"},{"id":"eventbuffer.appendfrom","name":"EventBuffer::appendFrom","description":"Moves the specified number of bytes from a source buffer to the\n end of the current buffer","tag":"refentry","type":"Function","methodName":"appendFrom"},{"id":"eventbuffer.construct","name":"EventBuffer::__construct","description":"Constructs EventBuffer object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventbuffer.copyout","name":"EventBuffer::copyout","description":"Copies out specified number of bytes from the front of the buffer","tag":"refentry","type":"Function","methodName":"copyout"},{"id":"eventbuffer.drain","name":"EventBuffer::drain","description":"Removes specified number of bytes from the front of the buffer\n without copying it anywhere","tag":"refentry","type":"Function","methodName":"drain"},{"id":"eventbuffer.enablelocking","name":"EventBuffer::enableLocking","description":"Description","tag":"refentry","type":"Function","methodName":"enableLocking"},{"id":"eventbuffer.expand","name":"EventBuffer::expand","description":"Reserves space in buffer","tag":"refentry","type":"Function","methodName":"expand"},{"id":"eventbuffer.freeze","name":"EventBuffer::freeze","description":"Prevent calls that modify an event buffer from succeeding","tag":"refentry","type":"Function","methodName":"freeze"},{"id":"eventbuffer.lock","name":"EventBuffer::lock","description":"Acquires a lock on buffer","tag":"refentry","type":"Function","methodName":"lock"},{"id":"eventbuffer.prepend","name":"EventBuffer::prepend","description":"Prepend data to the front of the buffer","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"eventbuffer.prependbuffer","name":"EventBuffer::prependBuffer","description":"Moves all data from source buffer to the front of current buffer","tag":"refentry","type":"Function","methodName":"prependBuffer"},{"id":"eventbuffer.pullup","name":"EventBuffer::pullup","description":"Linearizes data within buffer\n and returns it's contents as a string","tag":"refentry","type":"Function","methodName":"pullup"},{"id":"eventbuffer.read","name":"EventBuffer::read","description":"Read data from an evbuffer and drain the bytes read","tag":"refentry","type":"Function","methodName":"read"},{"id":"eventbuffer.readfrom","name":"EventBuffer::readFrom","description":"Read data from a file onto the end of the buffer","tag":"refentry","type":"Function","methodName":"readFrom"},{"id":"eventbuffer.readline","name":"EventBuffer::readLine","description":"Extracts a line from the front of the buffer","tag":"refentry","type":"Function","methodName":"readLine"},{"id":"eventbuffer.search","name":"EventBuffer::search","description":"Scans the buffer for an occurrence of a string","tag":"refentry","type":"Function","methodName":"search"},{"id":"eventbuffer.searcheol","name":"EventBuffer::searchEol","description":"Scans the buffer for an occurrence of an end of line","tag":"refentry","type":"Function","methodName":"searchEol"},{"id":"eventbuffer.substr","name":"EventBuffer::substr","description":"Substracts a portion of the buffer data","tag":"refentry","type":"Function","methodName":"substr"},{"id":"eventbuffer.unfreeze","name":"EventBuffer::unfreeze","description":"Re-enable calls that modify an event buffer","tag":"refentry","type":"Function","methodName":"unfreeze"},{"id":"eventbuffer.unlock","name":"EventBuffer::unlock","description":"Releases lock acquired by EventBuffer::lock","tag":"refentry","type":"Function","methodName":"unlock"},{"id":"eventbuffer.write","name":"EventBuffer::write","description":"Write contents of the buffer to a file or socket","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.eventbuffer","name":"EventBuffer","description":"The EventBuffer class","tag":"phpdoc:classref","type":"Class","methodName":"EventBuffer"},{"id":"eventbufferevent.close","name":"EventBufferEvent::close","description":"Closes file descriptor associated with the current buffer event","tag":"refentry","type":"Function","methodName":"close"},{"id":"eventbufferevent.connect","name":"EventBufferEvent::connect","description":"Connect buffer event's file descriptor to given address or\n UNIX socket","tag":"refentry","type":"Function","methodName":"connect"},{"id":"eventbufferevent.connecthost","name":"EventBufferEvent::connectHost","description":"Connects to a hostname with optionally asyncronous DNS resolving","tag":"refentry","type":"Function","methodName":"connectHost"},{"id":"eventbufferevent.construct","name":"EventBufferEvent::__construct","description":"Constructs EventBufferEvent object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventbufferevent.createpair","name":"EventBufferEvent::createPair","description":"Creates two buffer events connected to each other","tag":"refentry","type":"Function","methodName":"createPair"},{"id":"eventbufferevent.disable","name":"EventBufferEvent::disable","description":"Disable events read, write, or both on a buffer event","tag":"refentry","type":"Function","methodName":"disable"},{"id":"eventbufferevent.enable","name":"EventBufferEvent::enable","description":"Enable events read, write, or both on a buffer event","tag":"refentry","type":"Function","methodName":"enable"},{"id":"eventbufferevent.free","name":"EventBufferEvent::free","description":"Free a buffer event","tag":"refentry","type":"Function","methodName":"free"},{"id":"eventbufferevent.getdnserrorstring","name":"EventBufferEvent::getDnsErrorString","description":"Returns string describing the last failed DNS lookup attempt","tag":"refentry","type":"Function","methodName":"getDnsErrorString"},{"id":"eventbufferevent.getenabled","name":"EventBufferEvent::getEnabled","description":"Returns bitmask of events currently enabled on the buffer event","tag":"refentry","type":"Function","methodName":"getEnabled"},{"id":"eventbufferevent.getinput","name":"EventBufferEvent::getInput","description":"Returns underlying input buffer associated with current buffer\n event","tag":"refentry","type":"Function","methodName":"getInput"},{"id":"eventbufferevent.getoutput","name":"EventBufferEvent::getOutput","description":"Returns underlying output buffer associated with current buffer\n event","tag":"refentry","type":"Function","methodName":"getOutput"},{"id":"eventbufferevent.read","name":"EventBufferEvent::read","description":"Read buffer's data","tag":"refentry","type":"Function","methodName":"read"},{"id":"eventbufferevent.readbuffer","name":"EventBufferEvent::readBuffer","description":"Drains the entire contents of the input buffer and places them into buf","tag":"refentry","type":"Function","methodName":"readBuffer"},{"id":"eventbufferevent.setcallbacks","name":"EventBufferEvent::setCallbacks","description":"Assigns read, write and event(status) callbacks","tag":"refentry","type":"Function","methodName":"setCallbacks"},{"id":"eventbufferevent.setpriority","name":"EventBufferEvent::setPriority","description":"Assign a priority to a bufferevent","tag":"refentry","type":"Function","methodName":"setPriority"},{"id":"eventbufferevent.settimeouts","name":"EventBufferEvent::setTimeouts","description":"Set the read and write timeout for a buffer event","tag":"refentry","type":"Function","methodName":"setTimeouts"},{"id":"eventbufferevent.setwatermark","name":"EventBufferEvent::setWatermark","description":"Adjusts read and\/or write watermarks","tag":"refentry","type":"Function","methodName":"setWatermark"},{"id":"eventbufferevent.sslerror","name":"EventBufferEvent::sslError","description":"Returns most recent OpenSSL error reported on the buffer event","tag":"refentry","type":"Function","methodName":"sslError"},{"id":"eventbufferevent.sslfilter","name":"EventBufferEvent::sslFilter","description":"Create a new SSL buffer event to send its data over another buffer event","tag":"refentry","type":"Function","methodName":"sslFilter"},{"id":"eventbufferevent.sslgetcipherinfo","name":"EventBufferEvent::sslGetCipherInfo","description":"Returns a textual description of the cipher","tag":"refentry","type":"Function","methodName":"sslGetCipherInfo"},{"id":"eventbufferevent.sslgetciphername","name":"EventBufferEvent::sslGetCipherName","description":"Returns the current cipher name of the SSL connection","tag":"refentry","type":"Function","methodName":"sslGetCipherName"},{"id":"eventbufferevent.sslgetcipherversion","name":"EventBufferEvent::sslGetCipherVersion","description":"Returns version of cipher used by current SSL connection","tag":"refentry","type":"Function","methodName":"sslGetCipherVersion"},{"id":"eventbufferevent.sslgetprotocol","name":"EventBufferEvent::sslGetProtocol","description":"Returns the name of the protocol used for current SSL connection","tag":"refentry","type":"Function","methodName":"sslGetProtocol"},{"id":"eventbufferevent.sslrenegotiate","name":"EventBufferEvent::sslRenegotiate","description":"Tells a bufferevent to begin SSL renegotiation","tag":"refentry","type":"Function","methodName":"sslRenegotiate"},{"id":"eventbufferevent.sslsocket","name":"EventBufferEvent::sslSocket","description":"Creates a new SSL buffer event to send its data over an SSL on a socket","tag":"refentry","type":"Function","methodName":"sslSocket"},{"id":"eventbufferevent.write","name":"EventBufferEvent::write","description":"Adds data to a buffer event's output buffer","tag":"refentry","type":"Function","methodName":"write"},{"id":"eventbufferevent.writebuffer","name":"EventBufferEvent::writeBuffer","description":"Adds contents of the entire buffer to a buffer event's output\n buffer","tag":"refentry","type":"Function","methodName":"writeBuffer"},{"id":"class.eventbufferevent","name":"EventBufferEvent","description":"The EventBufferEvent class","tag":"phpdoc:classref","type":"Class","methodName":"EventBufferEvent"},{"id":"eventbufferevent.about.callbacks","name":"About buffer event callbacks","description":"Event","tag":"chapter","type":"General","methodName":"About buffer event callbacks"},{"id":"eventconfig.avoidmethod","name":"EventConfig::avoidMethod","description":"Tells libevent to avoid specific event method","tag":"refentry","type":"Function","methodName":"avoidMethod"},{"id":"eventconfig.construct","name":"EventConfig::__construct","description":"Constructs EventConfig object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventconfig.requirefeatures","name":"EventConfig::requireFeatures","description":"Enters a required event method feature that the application demands","tag":"refentry","type":"Function","methodName":"requireFeatures"},{"id":"eventconfig.setflags","name":"EventConfig::setFlags","description":"Sets one or more flags to configure the eventual EventBase will be initialized","tag":"refentry","type":"Function","methodName":"setFlags"},{"id":"eventconfig.setmaxdispatchinterval","name":"EventConfig::setMaxDispatchInterval","description":"Prevents priority inversion","tag":"refentry","type":"Function","methodName":"setMaxDispatchInterval"},{"id":"class.eventconfig","name":"EventConfig","description":"The EventConfig class","tag":"phpdoc:classref","type":"Class","methodName":"EventConfig"},{"id":"eventdnsbase.addnameserverip","name":"EventDnsBase::addNameserverIp","description":"Adds a nameserver to the DNS base","tag":"refentry","type":"Function","methodName":"addNameserverIp"},{"id":"eventdnsbase.addsearch","name":"EventDnsBase::addSearch","description":"Adds a domain to the list of search domains","tag":"refentry","type":"Function","methodName":"addSearch"},{"id":"eventdnsbase.clearsearch","name":"EventDnsBase::clearSearch","description":"Removes all current search suffixes","tag":"refentry","type":"Function","methodName":"clearSearch"},{"id":"eventdnsbase.construct","name":"EventDnsBase::__construct","description":"Constructs EventDnsBase object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventdnsbase.countnameservers","name":"EventDnsBase::countNameservers","description":"Gets the number of configured nameservers","tag":"refentry","type":"Function","methodName":"countNameservers"},{"id":"eventdnsbase.loadhosts","name":"EventDnsBase::loadHosts","description":"Loads a hosts file (in the same format as \/etc\/hosts) from hosts file","tag":"refentry","type":"Function","methodName":"loadHosts"},{"id":"eventdnsbase.parseresolvconf","name":"EventDnsBase::parseResolvConf","description":"Scans the resolv.conf-formatted file","tag":"refentry","type":"Function","methodName":"parseResolvConf"},{"id":"eventdnsbase.setoption","name":"EventDnsBase::setOption","description":"Set the value of a configuration option","tag":"refentry","type":"Function","methodName":"setOption"},{"id":"eventdnsbase.setsearchndots","name":"EventDnsBase::setSearchNdots","description":"Set the 'ndots' parameter for searches","tag":"refentry","type":"Function","methodName":"setSearchNdots"},{"id":"class.eventdnsbase","name":"EventDnsBase","description":"The EventDnsBase class","tag":"phpdoc:classref","type":"Class","methodName":"EventDnsBase"},{"id":"eventhttp.accept","name":"EventHttp::accept","description":"Makes an HTTP server accept connections on the specified socket stream or resource","tag":"refentry","type":"Function","methodName":"accept"},{"id":"eventhttp.addserveralias","name":"EventHttp::addServerAlias","description":"Adds a server alias to the HTTP server object","tag":"refentry","type":"Function","methodName":"addServerAlias"},{"id":"eventhttp.bind","name":"EventHttp::bind","description":"Binds an HTTP server on the specified address and port","tag":"refentry","type":"Function","methodName":"bind"},{"id":"eventhttp.construct","name":"EventHttp::__construct","description":"Constructs EventHttp object (the HTTP server)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventhttp.removeserveralias","name":"EventHttp::removeServerAlias","description":"Removes server alias","tag":"refentry","type":"Function","methodName":"removeServerAlias"},{"id":"eventhttp.setallowedmethods","name":"EventHttp::setAllowedMethods","description":"Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks","tag":"refentry","type":"Function","methodName":"setAllowedMethods"},{"id":"eventhttp.setcallback","name":"EventHttp::setCallback","description":"Sets a callback for specified URI","tag":"refentry","type":"Function","methodName":"setCallback"},{"id":"eventhttp.setdefaultcallback","name":"EventHttp::setDefaultCallback","description":"Sets default callback to handle requests that are not caught by specific callbacks","tag":"refentry","type":"Function","methodName":"setDefaultCallback"},{"id":"eventhttp.setmaxbodysize","name":"EventHttp::setMaxBodySize","description":"Sets maximum request body size","tag":"refentry","type":"Function","methodName":"setMaxBodySize"},{"id":"eventhttp.setmaxheaderssize","name":"EventHttp::setMaxHeadersSize","description":"Sets maximum HTTP header size","tag":"refentry","type":"Function","methodName":"setMaxHeadersSize"},{"id":"eventhttp.settimeout","name":"EventHttp::setTimeout","description":"Sets the timeout for an HTTP request","tag":"refentry","type":"Function","methodName":"setTimeout"},{"id":"class.eventhttp","name":"EventHttp","description":"The EventHttp class","tag":"phpdoc:classref","type":"Class","methodName":"EventHttp"},{"id":"eventhttpconnection.construct","name":"EventHttpConnection::__construct","description":"Constructs EventHttpConnection object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventhttpconnection.getbase","name":"EventHttpConnection::getBase","description":"Returns event base associated with the connection","tag":"refentry","type":"Function","methodName":"getBase"},{"id":"eventhttpconnection.getpeer","name":"EventHttpConnection::getPeer","description":"Gets the remote address and port associated with the connection","tag":"refentry","type":"Function","methodName":"getPeer"},{"id":"eventhttpconnection.makerequest","name":"EventHttpConnection::makeRequest","description":"Makes an HTTP request over the specified connection","tag":"refentry","type":"Function","methodName":"makeRequest"},{"id":"eventhttpconnection.setclosecallback","name":"EventHttpConnection::setCloseCallback","description":"Set callback for connection close","tag":"refentry","type":"Function","methodName":"setCloseCallback"},{"id":"eventhttpconnection.setlocaladdress","name":"EventHttpConnection::setLocalAddress","description":"Sets the IP address from which HTTP connections are made","tag":"refentry","type":"Function","methodName":"setLocalAddress"},{"id":"eventhttpconnection.setlocalport","name":"EventHttpConnection::setLocalPort","description":"Sets the local port from which connections are made","tag":"refentry","type":"Function","methodName":"setLocalPort"},{"id":"eventhttpconnection.setmaxbodysize","name":"EventHttpConnection::setMaxBodySize","description":"Sets maximum body size for the connection","tag":"refentry","type":"Function","methodName":"setMaxBodySize"},{"id":"eventhttpconnection.setmaxheaderssize","name":"EventHttpConnection::setMaxHeadersSize","description":"Sets maximum header size","tag":"refentry","type":"Function","methodName":"setMaxHeadersSize"},{"id":"eventhttpconnection.setretries","name":"EventHttpConnection::setRetries","description":"Sets the retry limit for the connection","tag":"refentry","type":"Function","methodName":"setRetries"},{"id":"eventhttpconnection.settimeout","name":"EventHttpConnection::setTimeout","description":"Sets the timeout for the connection","tag":"refentry","type":"Function","methodName":"setTimeout"},{"id":"class.eventhttpconnection","name":"EventHttpConnection","description":"The EventHttpConnection class","tag":"phpdoc:classref","type":"Class","methodName":"EventHttpConnection"},{"id":"eventhttprequest.addheader","name":"EventHttpRequest::addHeader","description":"Adds an HTTP header to the headers of the request","tag":"refentry","type":"Function","methodName":"addHeader"},{"id":"eventhttprequest.cancel","name":"EventHttpRequest::cancel","description":"Cancels a pending HTTP request","tag":"refentry","type":"Function","methodName":"cancel"},{"id":"eventhttprequest.clearheaders","name":"EventHttpRequest::clearHeaders","description":"Removes all output headers from the header list of the request","tag":"refentry","type":"Function","methodName":"clearHeaders"},{"id":"eventhttprequest.closeconnection","name":"EventHttpRequest::closeConnection","description":"Closes associated HTTP connection","tag":"refentry","type":"Function","methodName":"closeConnection"},{"id":"eventhttprequest.construct","name":"EventHttpRequest::__construct","description":"Constructs EventHttpRequest object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventhttprequest.findheader","name":"EventHttpRequest::findHeader","description":"Finds the value belonging a header","tag":"refentry","type":"Function","methodName":"findHeader"},{"id":"eventhttprequest.free","name":"EventHttpRequest::free","description":"Frees the object and removes associated events","tag":"refentry","type":"Function","methodName":"free"},{"id":"eventhttprequest.getbufferevent","name":"EventHttpRequest::getBufferEvent","description":"Returns EventBufferEvent object","tag":"refentry","type":"Function","methodName":"getBufferEvent"},{"id":"eventhttprequest.getcommand","name":"EventHttpRequest::getCommand","description":"Returns the request command(method)","tag":"refentry","type":"Function","methodName":"getCommand"},{"id":"eventhttprequest.getconnection","name":"EventHttpRequest::getConnection","description":"Returns EventHttpConnection object","tag":"refentry","type":"Function","methodName":"getConnection"},{"id":"eventhttprequest.gethost","name":"EventHttpRequest::getHost","description":"Returns the request host","tag":"refentry","type":"Function","methodName":"getHost"},{"id":"eventhttprequest.getinputbuffer","name":"EventHttpRequest::getInputBuffer","description":"Returns the input buffer","tag":"refentry","type":"Function","methodName":"getInputBuffer"},{"id":"eventhttprequest.getinputheaders","name":"EventHttpRequest::getInputHeaders","description":"Returns associative array of the input headers","tag":"refentry","type":"Function","methodName":"getInputHeaders"},{"id":"eventhttprequest.getoutputbuffer","name":"EventHttpRequest::getOutputBuffer","description":"Returns the output buffer of the request","tag":"refentry","type":"Function","methodName":"getOutputBuffer"},{"id":"eventhttprequest.getoutputheaders","name":"EventHttpRequest::getOutputHeaders","description":"Returns associative array of the output headers","tag":"refentry","type":"Function","methodName":"getOutputHeaders"},{"id":"eventhttprequest.getresponsecode","name":"EventHttpRequest::getResponseCode","description":"Returns the response code","tag":"refentry","type":"Function","methodName":"getResponseCode"},{"id":"eventhttprequest.geturi","name":"EventHttpRequest::getUri","description":"Returns the request URI","tag":"refentry","type":"Function","methodName":"getUri"},{"id":"eventhttprequest.removeheader","name":"EventHttpRequest::removeHeader","description":"Removes an HTTP header from the headers of the request","tag":"refentry","type":"Function","methodName":"removeHeader"},{"id":"eventhttprequest.senderror","name":"EventHttpRequest::sendError","description":"Send an HTML error message to the client","tag":"refentry","type":"Function","methodName":"sendError"},{"id":"eventhttprequest.sendreply","name":"EventHttpRequest::sendReply","description":"Send an HTML reply to the client","tag":"refentry","type":"Function","methodName":"sendReply"},{"id":"eventhttprequest.sendreplychunk","name":"EventHttpRequest::sendReplyChunk","description":"Send another data chunk as part of an ongoing chunked reply","tag":"refentry","type":"Function","methodName":"sendReplyChunk"},{"id":"eventhttprequest.sendreplyend","name":"EventHttpRequest::sendReplyEnd","description":"Complete a chunked reply, freeing the request as appropriate","tag":"refentry","type":"Function","methodName":"sendReplyEnd"},{"id":"eventhttprequest.sendreplystart","name":"EventHttpRequest::sendReplyStart","description":"Initiate a chunked reply","tag":"refentry","type":"Function","methodName":"sendReplyStart"},{"id":"class.eventhttprequest","name":"EventHttpRequest","description":"The EventHttpRequest class","tag":"phpdoc:classref","type":"Class","methodName":"EventHttpRequest"},{"id":"eventlistener.construct","name":"EventListener::__construct","description":"Creates new connection listener associated with an event base","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventlistener.disable","name":"EventListener::disable","description":"Disables an event connect listener object","tag":"refentry","type":"Function","methodName":"disable"},{"id":"eventlistener.enable","name":"EventListener::enable","description":"Enables an event connect listener object","tag":"refentry","type":"Function","methodName":"enable"},{"id":"eventlistener.getbase","name":"EventListener::getBase","description":"Returns event base associated with the event listener","tag":"refentry","type":"Function","methodName":"getBase"},{"id":"eventlistener.getsocketname","name":"EventListener::getSocketName","description":"Retreives the current address to which the\n listener's socket is bound","tag":"refentry","type":"Function","methodName":"getSocketName"},{"id":"eventlistener.setcallback","name":"EventListener::setCallback","description":"The setCallback purpose","tag":"refentry","type":"Function","methodName":"setCallback"},{"id":"eventlistener.seterrorcallback","name":"EventListener::setErrorCallback","description":"Set event listener's error callback","tag":"refentry","type":"Function","methodName":"setErrorCallback"},{"id":"class.eventlistener","name":"EventListener","description":"The EventListener class","tag":"phpdoc:classref","type":"Class","methodName":"EventListener"},{"id":"eventsslcontext.construct","name":"EventSslContext::__construct","description":"Constructs an OpenSSL context for use with Event classes","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.eventsslcontext","name":"EventSslContext","description":"The EventSslContext class","tag":"phpdoc:classref","type":"Class","methodName":"EventSslContext"},{"id":"eventutil.construct","name":"EventUtil::__construct","description":"The abstract constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"eventutil.getlastsocketerrno","name":"EventUtil::getLastSocketErrno","description":"Returns the most recent socket error number","tag":"refentry","type":"Function","methodName":"getLastSocketErrno"},{"id":"eventutil.getlastsocketerror","name":"EventUtil::getLastSocketError","description":"Returns the most recent socket error","tag":"refentry","type":"Function","methodName":"getLastSocketError"},{"id":"eventutil.getsocketfd","name":"EventUtil::getSocketFd","description":"Returns numeric file descriptor of a socket, or stream","tag":"refentry","type":"Function","methodName":"getSocketFd"},{"id":"eventutil.getsocketname","name":"EventUtil::getSocketName","description":"Retreives the current address to which the\n socket is bound","tag":"refentry","type":"Function","methodName":"getSocketName"},{"id":"eventutil.setsocketoption","name":"EventUtil::setSocketOption","description":"Sets socket options","tag":"refentry","type":"Function","methodName":"setSocketOption"},{"id":"eventutil.sslrandpoll","name":"EventUtil::sslRandPoll","description":"Generates entropy by means of OpenSSL's RAND_poll()","tag":"refentry","type":"Function","methodName":"sslRandPoll"},{"id":"class.eventutil","name":"EventUtil","description":"The EventUtil class","tag":"phpdoc:classref","type":"Class","methodName":"EventUtil"},{"id":"class.eventexception","name":"EventException","description":"The EventException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"EventException"},{"id":"book.event","name":"Event","description":"Event","tag":"book","type":"Extension","methodName":"Event"},{"id":"intro.ftp","name":"Introduction","description":"FTP","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ftp.installation","name":"Installation","description":"FTP","tag":"section","type":"General","methodName":"Installation"},{"id":"ftp.resources","name":"Resource Types","description":"FTP","tag":"section","type":"General","methodName":"Resource Types"},{"id":"ftp.setup","name":"Installing\/Configuring","description":"FTP","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ftp.constants","name":"Predefined Constants","description":"FTP","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"ftp.examples-basic","name":"Basic usage","description":"FTP","tag":"section","type":"General","methodName":"Basic usage"},{"id":"ftp.examples","name":"Examples","description":"FTP","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.ftp-alloc","name":"ftp_alloc","description":"Allocates space for a file to be uploaded","tag":"refentry","type":"Function","methodName":"ftp_alloc"},{"id":"function.ftp-append","name":"ftp_append","description":"Append the contents of a file to another file on the FTP server","tag":"refentry","type":"Function","methodName":"ftp_append"},{"id":"function.ftp-cdup","name":"ftp_cdup","description":"Changes to the parent directory","tag":"refentry","type":"Function","methodName":"ftp_cdup"},{"id":"function.ftp-chdir","name":"ftp_chdir","description":"Changes the current directory on a FTP server","tag":"refentry","type":"Function","methodName":"ftp_chdir"},{"id":"function.ftp-chmod","name":"ftp_chmod","description":"Set permissions on a file via FTP","tag":"refentry","type":"Function","methodName":"ftp_chmod"},{"id":"function.ftp-close","name":"ftp_close","description":"Closes an FTP connection","tag":"refentry","type":"Function","methodName":"ftp_close"},{"id":"function.ftp-connect","name":"ftp_connect","description":"Opens an FTP connection","tag":"refentry","type":"Function","methodName":"ftp_connect"},{"id":"function.ftp-delete","name":"ftp_delete","description":"Deletes a file on the FTP server","tag":"refentry","type":"Function","methodName":"ftp_delete"},{"id":"function.ftp-exec","name":"ftp_exec","description":"Requests execution of a command on the FTP server","tag":"refentry","type":"Function","methodName":"ftp_exec"},{"id":"function.ftp-fget","name":"ftp_fget","description":"Downloads a file from the FTP server and saves to an open file","tag":"refentry","type":"Function","methodName":"ftp_fget"},{"id":"function.ftp-fput","name":"ftp_fput","description":"Uploads from an open file to the FTP server","tag":"refentry","type":"Function","methodName":"ftp_fput"},{"id":"function.ftp-get","name":"ftp_get","description":"Downloads a file from the FTP server","tag":"refentry","type":"Function","methodName":"ftp_get"},{"id":"function.ftp-get-option","name":"ftp_get_option","description":"Retrieves various runtime behaviours of the current FTP connection","tag":"refentry","type":"Function","methodName":"ftp_get_option"},{"id":"function.ftp-login","name":"ftp_login","description":"Logs in to an FTP connection","tag":"refentry","type":"Function","methodName":"ftp_login"},{"id":"function.ftp-mdtm","name":"ftp_mdtm","description":"Returns the last modified time of the given file","tag":"refentry","type":"Function","methodName":"ftp_mdtm"},{"id":"function.ftp-mkdir","name":"ftp_mkdir","description":"Creates a directory","tag":"refentry","type":"Function","methodName":"ftp_mkdir"},{"id":"function.ftp-mlsd","name":"ftp_mlsd","description":"Returns a list of files in the given directory","tag":"refentry","type":"Function","methodName":"ftp_mlsd"},{"id":"function.ftp-nb-continue","name":"ftp_nb_continue","description":"Continues retrieving\/sending a file (non-blocking)","tag":"refentry","type":"Function","methodName":"ftp_nb_continue"},{"id":"function.ftp-nb-fget","name":"ftp_nb_fget","description":"Retrieves a file from the FTP server and writes it to an open file (non-blocking)","tag":"refentry","type":"Function","methodName":"ftp_nb_fget"},{"id":"function.ftp-nb-fput","name":"ftp_nb_fput","description":"Stores a file from an open file to the FTP server (non-blocking)","tag":"refentry","type":"Function","methodName":"ftp_nb_fput"},{"id":"function.ftp-nb-get","name":"ftp_nb_get","description":"Retrieves a file from the FTP server and writes it to a local file (non-blocking)","tag":"refentry","type":"Function","methodName":"ftp_nb_get"},{"id":"function.ftp-nb-put","name":"ftp_nb_put","description":"Stores a file on the FTP server (non-blocking)","tag":"refentry","type":"Function","methodName":"ftp_nb_put"},{"id":"function.ftp-nlist","name":"ftp_nlist","description":"Returns a list of files in the given directory","tag":"refentry","type":"Function","methodName":"ftp_nlist"},{"id":"function.ftp-pasv","name":"ftp_pasv","description":"Turns passive mode on or off","tag":"refentry","type":"Function","methodName":"ftp_pasv"},{"id":"function.ftp-put","name":"ftp_put","description":"Uploads a file to the FTP server","tag":"refentry","type":"Function","methodName":"ftp_put"},{"id":"function.ftp-pwd","name":"ftp_pwd","description":"Returns the current directory name","tag":"refentry","type":"Function","methodName":"ftp_pwd"},{"id":"function.ftp-quit","name":"ftp_quit","description":"Alias of ftp_close","tag":"refentry","type":"Function","methodName":"ftp_quit"},{"id":"function.ftp-raw","name":"ftp_raw","description":"Sends an arbitrary command to an FTP server","tag":"refentry","type":"Function","methodName":"ftp_raw"},{"id":"function.ftp-rawlist","name":"ftp_rawlist","description":"Returns a detailed list of files in the given directory","tag":"refentry","type":"Function","methodName":"ftp_rawlist"},{"id":"function.ftp-rename","name":"ftp_rename","description":"Renames a file or a directory on the FTP server","tag":"refentry","type":"Function","methodName":"ftp_rename"},{"id":"function.ftp-rmdir","name":"ftp_rmdir","description":"Removes a directory","tag":"refentry","type":"Function","methodName":"ftp_rmdir"},{"id":"function.ftp-set-option","name":"ftp_set_option","description":"Set miscellaneous runtime FTP options","tag":"refentry","type":"Function","methodName":"ftp_set_option"},{"id":"function.ftp-site","name":"ftp_site","description":"Sends a SITE command to the server","tag":"refentry","type":"Function","methodName":"ftp_site"},{"id":"function.ftp-size","name":"ftp_size","description":"Returns the size of the given file","tag":"refentry","type":"Function","methodName":"ftp_size"},{"id":"function.ftp-ssl-connect","name":"ftp_ssl_connect","description":"Opens a Secure SSL-FTP connection","tag":"refentry","type":"Function","methodName":"ftp_ssl_connect"},{"id":"function.ftp-systype","name":"ftp_systype","description":"Returns the system type identifier of the remote FTP server","tag":"refentry","type":"Function","methodName":"ftp_systype"},{"id":"ref.ftp","name":"FTP Functions","description":"FTP","tag":"reference","type":"Extension","methodName":"FTP Functions"},{"id":"class.ftp-connection","name":"FTP\\Connection","description":"The FTP\\Connection class","tag":"phpdoc:classref","type":"Class","methodName":"FTP\\Connection"},{"id":"book.ftp","name":"FTP","description":"Other Services","tag":"book","type":"Extension","methodName":"FTP"},{"id":"intro.gearman","name":"Introduction","description":"Gearman","tag":"preface","type":"General","methodName":"Introduction"},{"id":"gearman.requirements","name":"Requirements","description":"Gearman","tag":"section","type":"General","methodName":"Requirements"},{"id":"gearman.installation","name":"Installation","description":"Gearman","tag":"section","type":"General","methodName":"Installation"},{"id":"gearman.setup","name":"Installing\/Configuring","description":"Gearman","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"gearman.constants","name":"Predefined Constants","description":"Gearman","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"gearman.examples-reverse","name":"Basic usage","description":"Gearman","tag":"section","type":"General","methodName":"Basic usage"},{"id":"gearman.examples-reverse-bg","name":"Basic Gearman client and worker, background","description":"Gearman","tag":"section","type":"General","methodName":"Basic Gearman client and worker, background"},{"id":"gearman.examples-reverse-task","name":"Basic Gearman client and worker, submitting tasks","description":"Gearman","tag":"section","type":"General","methodName":"Basic Gearman client and worker, submitting tasks"},{"id":"gearman.examples","name":"Examples","description":"Gearman","tag":"chapter","type":"General","methodName":"Examples"},{"id":"gearmanclient.addoptions","name":"GearmanClient::addOptions","description":"Add client options","tag":"refentry","type":"Function","methodName":"addOptions"},{"id":"gearmanclient.addserver","name":"GearmanClient::addServer","description":"Add a job server to the client","tag":"refentry","type":"Function","methodName":"addServer"},{"id":"gearmanclient.addservers","name":"GearmanClient::addServers","description":"Add a list of job servers to the client","tag":"refentry","type":"Function","methodName":"addServers"},{"id":"gearmanclient.addtask","name":"GearmanClient::addTask","description":"Add a task to be run in parallel","tag":"refentry","type":"Function","methodName":"addTask"},{"id":"gearmanclient.addtaskbackground","name":"GearmanClient::addTaskBackground","description":"Add a background task to be run in parallel","tag":"refentry","type":"Function","methodName":"addTaskBackground"},{"id":"gearmanclient.addtaskhigh","name":"GearmanClient::addTaskHigh","description":"Add a high priority task to run in parallel","tag":"refentry","type":"Function","methodName":"addTaskHigh"},{"id":"gearmanclient.addtaskhighbackground","name":"GearmanClient::addTaskHighBackground","description":"Add a high priority background task to be run in parallel","tag":"refentry","type":"Function","methodName":"addTaskHighBackground"},{"id":"gearmanclient.addtasklow","name":"GearmanClient::addTaskLow","description":"Add a low priority task to run in parallel","tag":"refentry","type":"Function","methodName":"addTaskLow"},{"id":"gearmanclient.addtasklowbackground","name":"GearmanClient::addTaskLowBackground","description":"Add a low priority background task to be run in parallel","tag":"refentry","type":"Function","methodName":"addTaskLowBackground"},{"id":"gearmanclient.addtaskstatus","name":"GearmanClient::addTaskStatus","description":"Add a task to get status","tag":"refentry","type":"Function","methodName":"addTaskStatus"},{"id":"gearmanclient.clearcallbacks","name":"GearmanClient::clearCallbacks","description":"Clear all task callback functions","tag":"refentry","type":"Function","methodName":"clearCallbacks"},{"id":"gearmanclient.clone","name":"GearmanClient::clone","description":"Create a copy of a GearmanClient object","tag":"refentry","type":"Function","methodName":"clone"},{"id":"gearmanclient.construct","name":"GearmanClient::__construct","description":"Create a GearmanClient instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gearmanclient.context","name":"GearmanClient::context","description":"Get the application context","tag":"refentry","type":"Function","methodName":"context"},{"id":"gearmanclient.data","name":"GearmanClient::data","description":"Get the application data (deprecated)","tag":"refentry","type":"Function","methodName":"data"},{"id":"gearmanclient.do","name":"GearmanClient::do","description":"Run a single task and return a result [deprecated]","tag":"refentry","type":"Function","methodName":"do"},{"id":"gearmanclient.dobackground","name":"GearmanClient::doBackground","description":"Run a task in the background","tag":"refentry","type":"Function","methodName":"doBackground"},{"id":"gearmanclient.dohigh","name":"GearmanClient::doHigh","description":"Run a single high priority task","tag":"refentry","type":"Function","methodName":"doHigh"},{"id":"gearmanclient.dohighbackground","name":"GearmanClient::doHighBackground","description":"Run a high priority task in the background","tag":"refentry","type":"Function","methodName":"doHighBackground"},{"id":"gearmanclient.dojobhandle","name":"GearmanClient::doJobHandle","description":"Get the job handle for the running task","tag":"refentry","type":"Function","methodName":"doJobHandle"},{"id":"gearmanclient.dolow","name":"GearmanClient::doLow","description":"Run a single low priority task","tag":"refentry","type":"Function","methodName":"doLow"},{"id":"gearmanclient.dolowbackground","name":"GearmanClient::doLowBackground","description":"Run a low priority task in the background","tag":"refentry","type":"Function","methodName":"doLowBackground"},{"id":"gearmanclient.donormal","name":"GearmanClient::doNormal","description":"Run a single task and return a result","tag":"refentry","type":"Function","methodName":"doNormal"},{"id":"gearmanclient.dostatus","name":"GearmanClient::doStatus","description":"Get the status for the running task","tag":"refentry","type":"Function","methodName":"doStatus"},{"id":"gearmanclient.echo","name":"GearmanClient::echo","description":"Send data to all job servers to see if they echo it back [deprecated]","tag":"refentry","type":"Function","methodName":"echo"},{"id":"gearmanclient.error","name":"GearmanClient::error","description":"Returns an error string for the last error encountered","tag":"refentry","type":"Function","methodName":"error"},{"id":"gearmanclient.geterrno","name":"GearmanClient::getErrno","description":"Get an errno value","tag":"refentry","type":"Function","methodName":"getErrno"},{"id":"gearmanclient.jobstatus","name":"gearman_job_status","description":"Get the status of a background job","tag":"refentry","type":"Function","methodName":"gearman_job_status"},{"id":"gearmanclient.jobstatus","name":"GearmanClient::jobStatus","description":"Get the status of a background job","tag":"refentry","type":"Function","methodName":"jobStatus"},{"id":"gearmanclient.ping","name":"GearmanClient::ping","description":"Send data to all job servers to see if they echo it back","tag":"refentry","type":"Function","methodName":"ping"},{"id":"gearmanclient.removeoptions","name":"GearmanClient::removeOptions","description":"Remove client options","tag":"refentry","type":"Function","methodName":"removeOptions"},{"id":"gearmanclient.returncode","name":"GearmanClient::returnCode","description":"Get the last Gearman return code","tag":"refentry","type":"Function","methodName":"returnCode"},{"id":"gearmanclient.runtasks","name":"GearmanClient::runTasks","description":"Run a list of tasks in parallel","tag":"refentry","type":"Function","methodName":"runTasks"},{"id":"gearmanclient.setclientcallback","name":"GearmanClient::setClientCallback","description":"Callback function when there is a data packet for a task (deprecated)","tag":"refentry","type":"Function","methodName":"setClientCallback"},{"id":"gearmanclient.setcompletecallback","name":"GearmanClient::setCompleteCallback","description":"Set a function to be called on task completion","tag":"refentry","type":"Function","methodName":"setCompleteCallback"},{"id":"gearmanclient.setcontext","name":"GearmanClient::setContext","description":"Set application context","tag":"refentry","type":"Function","methodName":"setContext"},{"id":"gearmanclient.setcreatedcallback","name":"GearmanClient::setCreatedCallback","description":"Set a callback for when a task is queued","tag":"refentry","type":"Function","methodName":"setCreatedCallback"},{"id":"gearmanclient.setdata","name":"GearmanClient::setData","description":"Set application data (deprecated)","tag":"refentry","type":"Function","methodName":"setData"},{"id":"gearmanclient.setdatacallback","name":"GearmanClient::setDataCallback","description":"Callback function when there is a data packet for a task","tag":"refentry","type":"Function","methodName":"setDataCallback"},{"id":"gearmanclient.setexceptioncallback","name":"GearmanClient::setExceptionCallback","description":"Set a callback for worker exceptions","tag":"refentry","type":"Function","methodName":"setExceptionCallback"},{"id":"gearmanclient.setfailcallback","name":"GearmanClient::setFailCallback","description":"Set callback for job failure","tag":"refentry","type":"Function","methodName":"setFailCallback"},{"id":"gearmanclient.setoptions","name":"GearmanClient::setOptions","description":"Set client options","tag":"refentry","type":"Function","methodName":"setOptions"},{"id":"gearmanclient.setstatuscallback","name":"GearmanClient::setStatusCallback","description":"Set a callback for collecting task status","tag":"refentry","type":"Function","methodName":"setStatusCallback"},{"id":"gearmanclient.settimeout","name":"GearmanClient::setTimeout","description":"Set socket I\/O activity timeout","tag":"refentry","type":"Function","methodName":"setTimeout"},{"id":"gearmanclient.setwarningcallback","name":"GearmanClient::setWarningCallback","description":"Set a callback for worker warnings","tag":"refentry","type":"Function","methodName":"setWarningCallback"},{"id":"gearmanclient.setworkloadcallback","name":"GearmanClient::setWorkloadCallback","description":"Set a callback for accepting incremental data updates","tag":"refentry","type":"Function","methodName":"setWorkloadCallback"},{"id":"gearmanclient.timeout","name":"GearmanClient::timeout","description":"Get current socket I\/O activity timeout value","tag":"refentry","type":"Function","methodName":"timeout"},{"id":"gearmanclient.wait","name":"GearmanClient::wait","description":"Wait for I\/O activity on all connections in a client","tag":"refentry","type":"Function","methodName":"wait"},{"id":"class.gearmanclient","name":"GearmanClient","description":"The GearmanClient class","tag":"phpdoc:classref","type":"Class","methodName":"GearmanClient"},{"id":"gearmanjob.complete","name":"GearmanJob::complete","description":"Send the result and complete status (deprecated)","tag":"refentry","type":"Function","methodName":"complete"},{"id":"gearmanjob.construct","name":"GearmanJob::__construct","description":"Create a GearmanJob instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gearmanjob.data","name":"GearmanJob::data","description":"Send data for a running job (deprecated)","tag":"refentry","type":"Function","methodName":"data"},{"id":"gearmanjob.exception","name":"GearmanJob::exception","description":"Send exception for running job (deprecated)","tag":"refentry","type":"Function","methodName":"exception"},{"id":"gearmanjob.fail","name":"GearmanJob::fail","description":"Send fail status (deprecated)","tag":"refentry","type":"Function","methodName":"fail"},{"id":"gearmanjob.functionname","name":"GearmanJob::functionName","description":"Get function name","tag":"refentry","type":"Function","methodName":"functionName"},{"id":"gearmanjob.handle","name":"GearmanJob::handle","description":"Get the job handle","tag":"refentry","type":"Function","methodName":"handle"},{"id":"gearmanjob.returncode","name":"GearmanJob::returnCode","description":"Get last return code","tag":"refentry","type":"Function","methodName":"returnCode"},{"id":"gearmanjob.sendcomplete","name":"GearmanJob::sendComplete","description":"Send the result and complete status","tag":"refentry","type":"Function","methodName":"sendComplete"},{"id":"gearmanjob.senddata","name":"GearmanJob::sendData","description":"Send data for a running job","tag":"refentry","type":"Function","methodName":"sendData"},{"id":"gearmanjob.sendexception","name":"GearmanJob::sendException","description":"Send exception for running job (exception)","tag":"refentry","type":"Function","methodName":"sendException"},{"id":"gearmanjob.sendfail","name":"GearmanJob::sendFail","description":"Send fail status","tag":"refentry","type":"Function","methodName":"sendFail"},{"id":"gearmanjob.sendstatus","name":"GearmanJob::sendStatus","description":"Send status","tag":"refentry","type":"Function","methodName":"sendStatus"},{"id":"gearmanjob.sendwarning","name":"GearmanJob::sendWarning","description":"Send a warning","tag":"refentry","type":"Function","methodName":"sendWarning"},{"id":"gearmanjob.setreturn","name":"GearmanJob::setReturn","description":"Set a return value","tag":"refentry","type":"Function","methodName":"setReturn"},{"id":"gearmanjob.status","name":"GearmanJob::status","description":"Send status (deprecated)","tag":"refentry","type":"Function","methodName":"status"},{"id":"gearmanjob.unique","name":"GearmanJob::unique","description":"Get the unique identifier","tag":"refentry","type":"Function","methodName":"unique"},{"id":"gearmanjob.warning","name":"GearmanJob::warning","description":"Send a warning (deprecated)","tag":"refentry","type":"Function","methodName":"warning"},{"id":"gearmanjob.workload","name":"GearmanJob::workload","description":"Get workload","tag":"refentry","type":"Function","methodName":"workload"},{"id":"gearmanjob.workloadsize","name":"GearmanJob::workloadSize","description":"Get size of work load","tag":"refentry","type":"Function","methodName":"workloadSize"},{"id":"class.gearmanjob","name":"GearmanJob","description":"The GearmanJob class","tag":"phpdoc:classref","type":"Class","methodName":"GearmanJob"},{"id":"gearmantask.construct","name":"GearmanTask::__construct","description":"Create a GearmanTask instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gearmantask.create","name":"GearmanTask::create","description":"Create a task (deprecated)","tag":"refentry","type":"Function","methodName":"create"},{"id":"gearmantask.data","name":"GearmanTask::data","description":"Get data returned for a task","tag":"refentry","type":"Function","methodName":"data"},{"id":"gearmantask.datasize","name":"GearmanTask::dataSize","description":"Get the size of returned data","tag":"refentry","type":"Function","methodName":"dataSize"},{"id":"gearmantask.function","name":"GearmanTask::function","description":"Get associated function name (deprecated)","tag":"refentry","type":"Function","methodName":"function"},{"id":"gearmantask.functionname","name":"GearmanTask::functionName","description":"Get associated function name","tag":"refentry","type":"Function","methodName":"functionName"},{"id":"gearmantask.isknown","name":"GearmanTask::isKnown","description":"Determine if task is known","tag":"refentry","type":"Function","methodName":"isKnown"},{"id":"gearmantask.isrunning","name":"GearmanTask::isRunning","description":"Test whether the task is currently running","tag":"refentry","type":"Function","methodName":"isRunning"},{"id":"gearmantask.jobhandle","name":"gearman_job_handle","description":"Get the job handle","tag":"refentry","type":"Function","methodName":"gearman_job_handle"},{"id":"gearmantask.jobhandle","name":"GearmanTask::jobHandle","description":"Get the job handle","tag":"refentry","type":"Function","methodName":"jobHandle"},{"id":"gearmantask.recvdata","name":"GearmanTask::recvData","description":"Read work or result data into a buffer for a task","tag":"refentry","type":"Function","methodName":"recvData"},{"id":"gearmantask.returncode","name":"GearmanTask::returnCode","description":"Get the last return code","tag":"refentry","type":"Function","methodName":"returnCode"},{"id":"gearmantask.senddata","name":"GearmanTask::sendData","description":"Send data for a task (deprecated)","tag":"refentry","type":"Function","methodName":"sendData"},{"id":"gearmantask.sendworkload","name":"GearmanTask::sendWorkload","description":"Send data for a task","tag":"refentry","type":"Function","methodName":"sendWorkload"},{"id":"gearmantask.taskdenominator","name":"GearmanTask::taskDenominator","description":"Get completion percentage denominator","tag":"refentry","type":"Function","methodName":"taskDenominator"},{"id":"gearmantask.tasknumerator","name":"GearmanTask::taskNumerator","description":"Get completion percentage numerator","tag":"refentry","type":"Function","methodName":"taskNumerator"},{"id":"gearmantask.unique","name":"GearmanTask::unique","description":"Get the unique identifier for a task","tag":"refentry","type":"Function","methodName":"unique"},{"id":"gearmantask.uuid","name":"GearmanTask::uuid","description":"Get the unique identifier for a task (deprecated)","tag":"refentry","type":"Function","methodName":"uuid"},{"id":"class.gearmantask","name":"GearmanTask","description":"The GearmanTask class","tag":"phpdoc:classref","type":"Class","methodName":"GearmanTask"},{"id":"gearmanworker.addfunction","name":"GearmanWorker::addFunction","description":"Register and add callback function","tag":"refentry","type":"Function","methodName":"addFunction"},{"id":"gearmanworker.addoptions","name":"GearmanWorker::addOptions","description":"Add worker options","tag":"refentry","type":"Function","methodName":"addOptions"},{"id":"gearmanworker.addserver","name":"GearmanWorker::addServer","description":"Add a job server","tag":"refentry","type":"Function","methodName":"addServer"},{"id":"gearmanworker.addservers","name":"GearmanWorker::addServers","description":"Add job servers","tag":"refentry","type":"Function","methodName":"addServers"},{"id":"gearmanworker.clone","name":"GearmanWorker::clone","description":"Create a copy of the worker","tag":"refentry","type":"Function","methodName":"clone"},{"id":"gearmanworker.construct","name":"GearmanWorker::__construct","description":"Create a GearmanWorker instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"gearmanworker.echo","name":"GearmanWorker::echo","description":"Test job server response","tag":"refentry","type":"Function","methodName":"echo"},{"id":"gearmanworker.error","name":"GearmanWorker::error","description":"Get the last error encountered","tag":"refentry","type":"Function","methodName":"error"},{"id":"gearmanworker.geterrno","name":"GearmanWorker::getErrno","description":"Get errno","tag":"refentry","type":"Function","methodName":"getErrno"},{"id":"gearmanworker.options","name":"GearmanWorker::options","description":"Get worker options","tag":"refentry","type":"Function","methodName":"options"},{"id":"gearmanworker.register","name":"GearmanWorker::register","description":"Register a function with the job server","tag":"refentry","type":"Function","methodName":"register"},{"id":"gearmanworker.removeoptions","name":"GearmanWorker::removeOptions","description":"Remove worker options","tag":"refentry","type":"Function","methodName":"removeOptions"},{"id":"gearmanworker.returncode","name":"GearmanWorker::returnCode","description":"Get last Gearman return code","tag":"refentry","type":"Function","methodName":"returnCode"},{"id":"gearmanworker.setid","name":"GearmanWorker::setId","description":"Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers","tag":"refentry","type":"Function","methodName":"setId"},{"id":"gearmanworker.setoptions","name":"GearmanWorker::setOptions","description":"Set worker options","tag":"refentry","type":"Function","methodName":"setOptions"},{"id":"gearmanworker.settimeout","name":"GearmanWorker::setTimeout","description":"Set socket I\/O activity timeout","tag":"refentry","type":"Function","methodName":"setTimeout"},{"id":"gearmanworker.timeout","name":"GearmanWorker::timeout","description":"Get socket I\/O activity timeout","tag":"refentry","type":"Function","methodName":"timeout"},{"id":"gearmanworker.unregister","name":"GearmanWorker::unregister","description":"Unregister a function name with the job servers","tag":"refentry","type":"Function","methodName":"unregister"},{"id":"gearmanworker.unregisterall","name":"GearmanWorker::unregisterAll","description":"Unregister all function names with the job servers","tag":"refentry","type":"Function","methodName":"unregisterAll"},{"id":"gearmanworker.wait","name":"GearmanWorker::wait","description":"Wait for activity from one of the job servers","tag":"refentry","type":"Function","methodName":"wait"},{"id":"gearmanworker.work","name":"GearmanWorker::work","description":"Wait for and perform jobs","tag":"refentry","type":"Function","methodName":"work"},{"id":"class.gearmanworker","name":"GearmanWorker","description":"The GearmanWorker class","tag":"phpdoc:classref","type":"Class","methodName":"GearmanWorker"},{"id":"class.gearmanexception","name":"GearmanException","description":"The GearmanException class","tag":"phpdoc:classref","type":"Class","methodName":"GearmanException"},{"id":"book.gearman","name":"Gearman","description":"Gearman","tag":"book","type":"Extension","methodName":"Gearman"},{"id":"intro.ldap","name":"Introduction","description":"Lightweight Directory Access Protocol","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ldap.requirements","name":"Requirements","description":"Lightweight Directory Access Protocol","tag":"section","type":"General","methodName":"Requirements"},{"id":"ldap.installation","name":"Installation","description":"Lightweight Directory Access Protocol","tag":"section","type":"General","methodName":"Installation"},{"id":"ldap.configuration","name":"Runtime Configuration","description":"Lightweight Directory Access Protocol","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"ldap.resources","name":"Resource Types","description":"Lightweight Directory Access Protocol","tag":"section","type":"General","methodName":"Resource Types"},{"id":"ldap.setup","name":"Installing\/Configuring","description":"Lightweight Directory Access Protocol","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ldap.constants","name":"Predefined Constants","description":"Lightweight Directory Access Protocol","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"ldap.using","name":"Using the PHP LDAP calls","description":"Lightweight Directory Access Protocol","tag":"chapter","type":"General","methodName":"Using the PHP LDAP calls"},{"id":"ldap.controls","name":"LDAP controls","description":"Lightweight Directory Access Protocol","tag":"chapter","type":"General","methodName":"LDAP controls"},{"id":"ldap.examples-basic","name":"Basic usage","description":"Lightweight Directory Access Protocol","tag":"section","type":"General","methodName":"Basic usage"},{"id":"ldap.examples-controls","name":"LDAP Controls","description":"Lightweight Directory Access Protocol","tag":"section","type":"General","methodName":"LDAP Controls"},{"id":"ldap.examples","name":"Examples","description":"Lightweight Directory Access Protocol","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.ldap-8859-to-t61","name":"ldap_8859_to_t61","description":"Translate 8859 characters to t61 characters","tag":"refentry","type":"Function","methodName":"ldap_8859_to_t61"},{"id":"function.ldap-add","name":"ldap_add","description":"Add entries to LDAP directory","tag":"refentry","type":"Function","methodName":"ldap_add"},{"id":"function.ldap-add-ext","name":"ldap_add_ext","description":"Add entries to LDAP directory","tag":"refentry","type":"Function","methodName":"ldap_add_ext"},{"id":"function.ldap-bind","name":"ldap_bind","description":"Bind to LDAP directory","tag":"refentry","type":"Function","methodName":"ldap_bind"},{"id":"function.ldap-bind-ext","name":"ldap_bind_ext","description":"Bind to LDAP directory","tag":"refentry","type":"Function","methodName":"ldap_bind_ext"},{"id":"function.ldap-close","name":"ldap_close","description":"Alias of ldap_unbind","tag":"refentry","type":"Function","methodName":"ldap_close"},{"id":"function.ldap-compare","name":"ldap_compare","description":"Compare value of attribute found in entry specified with DN","tag":"refentry","type":"Function","methodName":"ldap_compare"},{"id":"function.ldap-connect","name":"ldap_connect","description":"Connect to an LDAP server","tag":"refentry","type":"Function","methodName":"ldap_connect"},{"id":"function.ldap-connect-wallet","name":"ldap_connect_wallet","description":"Connect to an LDAP server","tag":"refentry","type":"Function","methodName":"ldap_connect_wallet"},{"id":"function.ldap-control-paged-result","name":"ldap_control_paged_result","description":"Send LDAP pagination control","tag":"refentry","type":"Function","methodName":"ldap_control_paged_result"},{"id":"function.ldap-control-paged-result-response","name":"ldap_control_paged_result_response","description":"Retrieve the LDAP pagination cookie","tag":"refentry","type":"Function","methodName":"ldap_control_paged_result_response"},{"id":"function.ldap-count-entries","name":"ldap_count_entries","description":"Count the number of entries in a search","tag":"refentry","type":"Function","methodName":"ldap_count_entries"},{"id":"function.ldap-count-references","name":"ldap_count_references","description":"Counts the number of references in a search result","tag":"refentry","type":"Function","methodName":"ldap_count_references"},{"id":"function.ldap-delete","name":"ldap_delete","description":"Delete an entry from a directory","tag":"refentry","type":"Function","methodName":"ldap_delete"},{"id":"function.ldap-delete-ext","name":"ldap_delete_ext","description":"Delete an entry from a directory","tag":"refentry","type":"Function","methodName":"ldap_delete_ext"},{"id":"function.ldap-dn2ufn","name":"ldap_dn2ufn","description":"Convert DN to User Friendly Naming format","tag":"refentry","type":"Function","methodName":"ldap_dn2ufn"},{"id":"function.ldap-err2str","name":"ldap_err2str","description":"Convert LDAP error number into string error message","tag":"refentry","type":"Function","methodName":"ldap_err2str"},{"id":"function.ldap-errno","name":"ldap_errno","description":"Return the LDAP error number of the last LDAP command","tag":"refentry","type":"Function","methodName":"ldap_errno"},{"id":"function.ldap-error","name":"ldap_error","description":"Return the LDAP error message of the last LDAP command","tag":"refentry","type":"Function","methodName":"ldap_error"},{"id":"function.ldap-escape","name":"ldap_escape","description":"Escape a string for use in an LDAP filter or DN","tag":"refentry","type":"Function","methodName":"ldap_escape"},{"id":"function.ldap-exop","name":"ldap_exop","description":"Performs an extended operation","tag":"refentry","type":"Function","methodName":"ldap_exop"},{"id":"function.ldap-exop-passwd","name":"ldap_exop_passwd","description":"PASSWD extended operation helper","tag":"refentry","type":"Function","methodName":"ldap_exop_passwd"},{"id":"function.ldap-exop-refresh","name":"ldap_exop_refresh","description":"Refresh extended operation helper","tag":"refentry","type":"Function","methodName":"ldap_exop_refresh"},{"id":"function.ldap-exop-sync","name":"ldap_exop_sync","description":"Performs an extended operation","tag":"refentry","type":"Function","methodName":"ldap_exop_sync"},{"id":"function.ldap-exop-whoami","name":"ldap_exop_whoami","description":"WHOAMI extended operation helper","tag":"refentry","type":"Function","methodName":"ldap_exop_whoami"},{"id":"function.ldap-explode-dn","name":"ldap_explode_dn","description":"Splits DN into its component parts","tag":"refentry","type":"Function","methodName":"ldap_explode_dn"},{"id":"function.ldap-first-attribute","name":"ldap_first_attribute","description":"Return first attribute","tag":"refentry","type":"Function","methodName":"ldap_first_attribute"},{"id":"function.ldap-first-entry","name":"ldap_first_entry","description":"Return first result id","tag":"refentry","type":"Function","methodName":"ldap_first_entry"},{"id":"function.ldap-first-reference","name":"ldap_first_reference","description":"Return first reference","tag":"refentry","type":"Function","methodName":"ldap_first_reference"},{"id":"function.ldap-free-result","name":"ldap_free_result","description":"Free result memory","tag":"refentry","type":"Function","methodName":"ldap_free_result"},{"id":"function.ldap-get-attributes","name":"ldap_get_attributes","description":"Get attributes from a search result entry","tag":"refentry","type":"Function","methodName":"ldap_get_attributes"},{"id":"function.ldap-get-dn","name":"ldap_get_dn","description":"Get the DN of a result entry","tag":"refentry","type":"Function","methodName":"ldap_get_dn"},{"id":"function.ldap-get-entries","name":"ldap_get_entries","description":"Get all result entries","tag":"refentry","type":"Function","methodName":"ldap_get_entries"},{"id":"function.ldap-get-option","name":"ldap_get_option","description":"Get the current value for given option","tag":"refentry","type":"Function","methodName":"ldap_get_option"},{"id":"function.ldap-get-values","name":"ldap_get_values","description":"Get all values from a result entry","tag":"refentry","type":"Function","methodName":"ldap_get_values"},{"id":"function.ldap-get-values-len","name":"ldap_get_values_len","description":"Get all binary values from a result entry","tag":"refentry","type":"Function","methodName":"ldap_get_values_len"},{"id":"function.ldap-list","name":"ldap_list","description":"Single-level search","tag":"refentry","type":"Function","methodName":"ldap_list"},{"id":"function.ldap-mod-add","name":"ldap_mod_add","description":"Add attribute values to current attributes","tag":"refentry","type":"Function","methodName":"ldap_mod_add"},{"id":"function.ldap-mod_add-ext","name":"ldap_mod_add_ext","description":"Add attribute values to current attributes","tag":"refentry","type":"Function","methodName":"ldap_mod_add_ext"},{"id":"function.ldap-mod-del","name":"ldap_mod_del","description":"Delete attribute values from current attributes","tag":"refentry","type":"Function","methodName":"ldap_mod_del"},{"id":"function.ldap-mod_del-ext","name":"ldap_mod_del_ext","description":"Delete attribute values from current attributes","tag":"refentry","type":"Function","methodName":"ldap_mod_del_ext"},{"id":"function.ldap-mod-replace","name":"ldap_mod_replace","description":"Replace attribute values with new ones","tag":"refentry","type":"Function","methodName":"ldap_mod_replace"},{"id":"function.ldap-mod_replace-ext","name":"ldap_mod_replace_ext","description":"Replace attribute values with new ones","tag":"refentry","type":"Function","methodName":"ldap_mod_replace_ext"},{"id":"function.ldap-modify","name":"ldap_modify","description":"Alias of ldap_mod_replace","tag":"refentry","type":"Function","methodName":"ldap_modify"},{"id":"function.ldap-modify-batch","name":"ldap_modify_batch","description":"Batch and execute modifications on an LDAP entry","tag":"refentry","type":"Function","methodName":"ldap_modify_batch"},{"id":"function.ldap-next-attribute","name":"ldap_next_attribute","description":"Get the next attribute in result","tag":"refentry","type":"Function","methodName":"ldap_next_attribute"},{"id":"function.ldap-next-entry","name":"ldap_next_entry","description":"Get next result entry","tag":"refentry","type":"Function","methodName":"ldap_next_entry"},{"id":"function.ldap-next-reference","name":"ldap_next_reference","description":"Get next reference","tag":"refentry","type":"Function","methodName":"ldap_next_reference"},{"id":"function.ldap-parse-exop","name":"ldap_parse_exop","description":"Parse result object from an LDAP extended operation","tag":"refentry","type":"Function","methodName":"ldap_parse_exop"},{"id":"function.ldap-parse-reference","name":"ldap_parse_reference","description":"Extract information from reference entry","tag":"refentry","type":"Function","methodName":"ldap_parse_reference"},{"id":"function.ldap-parse-result","name":"ldap_parse_result","description":"Extract information from result","tag":"refentry","type":"Function","methodName":"ldap_parse_result"},{"id":"function.ldap-read","name":"ldap_read","description":"Read an entry","tag":"refentry","type":"Function","methodName":"ldap_read"},{"id":"function.ldap-rename","name":"ldap_rename","description":"Modify the name of an entry","tag":"refentry","type":"Function","methodName":"ldap_rename"},{"id":"function.ldap-rename-ext","name":"ldap_rename_ext","description":"Modify the name of an entry","tag":"refentry","type":"Function","methodName":"ldap_rename_ext"},{"id":"function.ldap-sasl-bind","name":"ldap_sasl_bind","description":"Bind to LDAP directory using SASL","tag":"refentry","type":"Function","methodName":"ldap_sasl_bind"},{"id":"function.ldap-search","name":"ldap_search","description":"Search LDAP tree","tag":"refentry","type":"Function","methodName":"ldap_search"},{"id":"function.ldap-set-option","name":"ldap_set_option","description":"Set the value of the given option","tag":"refentry","type":"Function","methodName":"ldap_set_option"},{"id":"function.ldap-set-rebind-proc","name":"ldap_set_rebind_proc","description":"Set a callback function to do re-binds on referral chasing","tag":"refentry","type":"Function","methodName":"ldap_set_rebind_proc"},{"id":"function.ldap-sort","name":"ldap_sort","description":"Sort LDAP result entries on the client side","tag":"refentry","type":"Function","methodName":"ldap_sort"},{"id":"function.ldap-start-tls","name":"ldap_start_tls","description":"Start TLS","tag":"refentry","type":"Function","methodName":"ldap_start_tls"},{"id":"function.ldap-t61-to-8859","name":"ldap_t61_to_8859","description":"Translate t61 characters to 8859 characters","tag":"refentry","type":"Function","methodName":"ldap_t61_to_8859"},{"id":"function.ldap-unbind","name":"ldap_unbind","description":"Unbind from LDAP directory","tag":"refentry","type":"Function","methodName":"ldap_unbind"},{"id":"ref.ldap","name":"LDAP Functions","description":"Lightweight Directory Access Protocol","tag":"reference","type":"Extension","methodName":"LDAP Functions"},{"id":"class.ldap-connection","name":"LDAP\\Connection","description":"The LDAP\\Connection class","tag":"phpdoc:classref","type":"Class","methodName":"LDAP\\Connection"},{"id":"class.ldap-result","name":"LDAP\\Result","description":"The LDAP\\Result class","tag":"phpdoc:classref","type":"Class","methodName":"LDAP\\Result"},{"id":"class.ldap-result-entry","name":"LDAP\\ResultEntry","description":"The LDAP\\ResultEntry class","tag":"phpdoc:classref","type":"Class","methodName":"LDAP\\ResultEntry"},{"id":"book.ldap","name":"LDAP","description":"Lightweight Directory Access Protocol","tag":"book","type":"Extension","methodName":"LDAP"},{"id":"intro.memcache","name":"Introduction","description":"Memcache","tag":"preface","type":"General","methodName":"Introduction"},{"id":"memcache.requirements","name":"Requirements","description":"Memcache","tag":"section","type":"General","methodName":"Requirements"},{"id":"memcache.installation","name":"Installation","description":"Memcache","tag":"section","type":"General","methodName":"Installation"},{"id":"memcache.ini","name":"Runtime Configuration","description":"Memcache","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"memcache.resources","name":"Resource Types","description":"Memcache","tag":"section","type":"General","methodName":"Resource Types"},{"id":"memcache.setup","name":"Installing\/Configuring","description":"Memcache","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"memcache.constants","name":"Predefined Constants","description":"Memcache","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"memcache.examples-overview","name":"Basic usage","description":"Memcache","tag":"section","type":"General","methodName":"Basic usage"},{"id":"memcache.examples","name":"Examples","description":"Memcache","tag":"chapter","type":"General","methodName":"Examples"},{"id":"memcache.add","name":"memcache_add","description":"Add an item to the server","tag":"refentry","type":"Function","methodName":"memcache_add"},{"id":"memcache.add","name":"Memcache::add","description":"Add an item to the server","tag":"refentry","type":"Function","methodName":"add"},{"id":"memcache.addserver","name":"memcache_add_server","description":"Add a memcached server to connection pool","tag":"refentry","type":"Function","methodName":"memcache_add_server"},{"id":"memcache.addserver","name":"Memcache::addServer","description":"Add a memcached server to connection pool","tag":"refentry","type":"Function","methodName":"addServer"},{"id":"memcache.close","name":"memcache_close","description":"Close memcached server connection","tag":"refentry","type":"Function","methodName":"memcache_close"},{"id":"memcache.close","name":"Memcache::close","description":"Close memcached server connection","tag":"refentry","type":"Function","methodName":"close"},{"id":"memcache.connect","name":"memcache_connect","description":"Open memcached server connection","tag":"refentry","type":"Function","methodName":"memcache_connect"},{"id":"memcache.connect","name":"Memcache::connect","description":"Open memcached server connection","tag":"refentry","type":"Function","methodName":"connect"},{"id":"memcache.decrement","name":"memcache_decrement","description":"Decrement item's value","tag":"refentry","type":"Function","methodName":"memcache_decrement"},{"id":"memcache.decrement","name":"Memcache::decrement","description":"Decrement item's value","tag":"refentry","type":"Function","methodName":"decrement"},{"id":"memcache.delete","name":"memcache_delete","description":"Delete item from the server","tag":"refentry","type":"Function","methodName":"memcache_delete"},{"id":"memcache.delete","name":"Memcache::delete","description":"Delete item from the server","tag":"refentry","type":"Function","methodName":"delete"},{"id":"memcache.flush","name":"memcache_flush","description":"Flush all existing items at the server","tag":"refentry","type":"Function","methodName":"memcache_flush"},{"id":"memcache.flush","name":"Memcache::flush","description":"Flush all existing items at the server","tag":"refentry","type":"Function","methodName":"flush"},{"id":"memcache.get","name":"memcache_get","description":"Retrieve item from the server","tag":"refentry","type":"Function","methodName":"memcache_get"},{"id":"memcache.get","name":"Memcache::get","description":"Retrieve item from the server","tag":"refentry","type":"Function","methodName":"get"},{"id":"memcache.getextendedstats","name":"memcache_get_extended_stats","description":"Get statistics from all servers in pool","tag":"refentry","type":"Function","methodName":"memcache_get_extended_stats"},{"id":"memcache.getextendedstats","name":"Memcache::getExtendedStats","description":"Get statistics from all servers in pool","tag":"refentry","type":"Function","methodName":"getExtendedStats"},{"id":"memcache.getserverstatus","name":"memcache_get_server_status","description":"Returns server status","tag":"refentry","type":"Function","methodName":"memcache_get_server_status"},{"id":"memcache.getserverstatus","name":"Memcache::getServerStatus","description":"Returns server status","tag":"refentry","type":"Function","methodName":"getServerStatus"},{"id":"memcache.getstats","name":"memcache_get_stats","description":"Get statistics of the server","tag":"refentry","type":"Function","methodName":"memcache_get_stats"},{"id":"memcache.getstats","name":"Memcache::getStats","description":"Get statistics of the server","tag":"refentry","type":"Function","methodName":"getStats"},{"id":"memcache.getversion","name":"memcache_get_version","description":"Return version of the server","tag":"refentry","type":"Function","methodName":"memcache_get_version"},{"id":"memcache.getversion","name":"Memcache::getVersion","description":"Return version of the server","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"memcache.increment","name":"memcache_increment","description":"Increment item's value","tag":"refentry","type":"Function","methodName":"memcache_increment"},{"id":"memcache.increment","name":"Memcache::increment","description":"Increment item's value","tag":"refentry","type":"Function","methodName":"increment"},{"id":"memcache.pconnect","name":"memcache_pconnect","description":"Open memcached server persistent connection","tag":"refentry","type":"Function","methodName":"memcache_pconnect"},{"id":"memcache.pconnect","name":"Memcache::pconnect","description":"Open memcached server persistent connection","tag":"refentry","type":"Function","methodName":"pconnect"},{"id":"memcache.replace","name":"memcache_replace","description":"Replace value of the existing item","tag":"refentry","type":"Function","methodName":"memcache_replace"},{"id":"memcache.replace","name":"Memcache::replace","description":"Replace value of the existing item","tag":"refentry","type":"Function","methodName":"replace"},{"id":"memcache.set","name":"memcache_set","description":"Store data at the server","tag":"refentry","type":"Function","methodName":"memcache_set"},{"id":"memcache.set","name":"Memcache::set","description":"Store data at the server","tag":"refentry","type":"Function","methodName":"set"},{"id":"memcache.setcompressthreshold","name":"memcache_set_compress_threshold","description":"Enable automatic compression of large values","tag":"refentry","type":"Function","methodName":"memcache_set_compress_threshold"},{"id":"memcache.setcompressthreshold","name":"Memcache::setCompressThreshold","description":"Enable automatic compression of large values","tag":"refentry","type":"Function","methodName":"setCompressThreshold"},{"id":"memcache.setserverparams","name":"memcache_set_server_params","description":"Changes server parameters and status at runtime","tag":"refentry","type":"Function","methodName":"memcache_set_server_params"},{"id":"memcache.setserverparams","name":"Memcache::setServerParams","description":"Changes server parameters and status at runtime","tag":"refentry","type":"Function","methodName":"setServerParams"},{"id":"class.memcache","name":"Memcache","description":"The Memcache class","tag":"phpdoc:classref","type":"Class","methodName":"Memcache"},{"id":"function.memcache-debug","name":"memcache_debug","description":"Turn debug output on\/off","tag":"refentry","type":"Function","methodName":"memcache_debug"},{"id":"ref.memcache","name":"Memcache Functions","description":"Memcache","tag":"reference","type":"Extension","methodName":"Memcache Functions"},{"id":"book.memcache","name":"Memcache","description":"Other Services","tag":"book","type":"Extension","methodName":"Memcache"},{"id":"intro.memcached","name":"Introduction","description":"Memcached","tag":"preface","type":"General","methodName":"Introduction"},{"id":"memcached.requirements","name":"Requirements","description":"Memcached","tag":"section","type":"General","methodName":"Requirements"},{"id":"memcached.installation","name":"Installation","description":"Memcached","tag":"section","type":"General","methodName":"Installation"},{"id":"memcached.configuration","name":"Runtime Configuration","description":"Memcached","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"memcached.setup","name":"Installing\/Configuring","description":"Memcached","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"memcached.constants","name":"Predefined Constants","description":"Memcached","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"memcached.expiration","name":"Expiration Times","description":"Memcached","tag":"chapter","type":"General","methodName":"Expiration Times"},{"id":"memcached.callbacks.result","name":"Result callbacks","description":"Memcached","tag":"section","type":"General","methodName":"Result callbacks"},{"id":"memcached.callbacks.read-through","name":"Read-through cache callbacks","description":"Memcached","tag":"section","type":"General","methodName":"Read-through cache callbacks"},{"id":"memcached.callbacks","name":"Callbacks","description":"Memcached","tag":"chapter","type":"General","methodName":"Callbacks"},{"id":"memcached.sessions","name":"Sessions support","description":"Memcached","tag":"chapter","type":"General","methodName":"Sessions support"},{"id":"memcached.add","name":"Memcached::add","description":"Add an item under a new key","tag":"refentry","type":"Function","methodName":"add"},{"id":"memcached.addbykey","name":"Memcached::addByKey","description":"Add an item under a new key on a specific server","tag":"refentry","type":"Function","methodName":"addByKey"},{"id":"memcached.addserver","name":"Memcached::addServer","description":"Add a server to the server pool","tag":"refentry","type":"Function","methodName":"addServer"},{"id":"memcached.addservers","name":"Memcached::addServers","description":"Add multiple servers to the server pool","tag":"refentry","type":"Function","methodName":"addServers"},{"id":"memcached.append","name":"Memcached::append","description":"Append data to an existing item","tag":"refentry","type":"Function","methodName":"append"},{"id":"memcached.appendbykey","name":"Memcached::appendByKey","description":"Append data to an existing item on a specific server","tag":"refentry","type":"Function","methodName":"appendByKey"},{"id":"memcached.cas","name":"Memcached::cas","description":"Compare and swap an item","tag":"refentry","type":"Function","methodName":"cas"},{"id":"memcached.casbykey","name":"Memcached::casByKey","description":"Compare and swap an item on a specific server","tag":"refentry","type":"Function","methodName":"casByKey"},{"id":"memcached.construct","name":"Memcached::__construct","description":"Create a Memcached instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"memcached.decrement","name":"Memcached::decrement","description":"Decrement numeric item's value","tag":"refentry","type":"Function","methodName":"decrement"},{"id":"memcached.decrementbykey","name":"Memcached::decrementByKey","description":"Decrement numeric item's value, stored on a specific server","tag":"refentry","type":"Function","methodName":"decrementByKey"},{"id":"memcached.delete","name":"Memcached::delete","description":"Delete an item","tag":"refentry","type":"Function","methodName":"delete"},{"id":"memcached.deletebykey","name":"Memcached::deleteByKey","description":"Delete an item from a specific server","tag":"refentry","type":"Function","methodName":"deleteByKey"},{"id":"memcached.deletemulti","name":"Memcached::deleteMulti","description":"Delete multiple items","tag":"refentry","type":"Function","methodName":"deleteMulti"},{"id":"memcached.deletemultibykey","name":"Memcached::deleteMultiByKey","description":"Delete multiple items from a specific server","tag":"refentry","type":"Function","methodName":"deleteMultiByKey"},{"id":"memcached.fetch","name":"Memcached::fetch","description":"Fetch the next result","tag":"refentry","type":"Function","methodName":"fetch"},{"id":"memcached.fetchall","name":"Memcached::fetchAll","description":"Fetch all the remaining results","tag":"refentry","type":"Function","methodName":"fetchAll"},{"id":"memcached.flush","name":"Memcached::flush","description":"Invalidate all items in the cache","tag":"refentry","type":"Function","methodName":"flush"},{"id":"memcached.get","name":"Memcached::get","description":"Retrieve an item","tag":"refentry","type":"Function","methodName":"get"},{"id":"memcached.getallkeys","name":"Memcached::getAllKeys","description":"Gets the keys stored on all the servers","tag":"refentry","type":"Function","methodName":"getAllKeys"},{"id":"memcached.getbykey","name":"Memcached::getByKey","description":"Retrieve an item from a specific server","tag":"refentry","type":"Function","methodName":"getByKey"},{"id":"memcached.getdelayed","name":"Memcached::getDelayed","description":"Request multiple items","tag":"refentry","type":"Function","methodName":"getDelayed"},{"id":"memcached.getdelayedbykey","name":"Memcached::getDelayedByKey","description":"Request multiple items from a specific server","tag":"refentry","type":"Function","methodName":"getDelayedByKey"},{"id":"memcached.getmulti","name":"Memcached::getMulti","description":"Retrieve multiple items","tag":"refentry","type":"Function","methodName":"getMulti"},{"id":"memcached.getmultibykey","name":"Memcached::getMultiByKey","description":"Retrieve multiple items from a specific server","tag":"refentry","type":"Function","methodName":"getMultiByKey"},{"id":"memcached.getoption","name":"Memcached::getOption","description":"Retrieve a Memcached option value","tag":"refentry","type":"Function","methodName":"getOption"},{"id":"memcached.getresultcode","name":"Memcached::getResultCode","description":"Return the result code of the last operation","tag":"refentry","type":"Function","methodName":"getResultCode"},{"id":"memcached.getresultmessage","name":"Memcached::getResultMessage","description":"Return the message describing the result of the last operation","tag":"refentry","type":"Function","methodName":"getResultMessage"},{"id":"memcached.getserverbykey","name":"Memcached::getServerByKey","description":"Map a key to a server","tag":"refentry","type":"Function","methodName":"getServerByKey"},{"id":"memcached.getserverlist","name":"Memcached::getServerList","description":"Get the list of the servers in the pool","tag":"refentry","type":"Function","methodName":"getServerList"},{"id":"memcached.getstats","name":"Memcached::getStats","description":"Get server pool statistics","tag":"refentry","type":"Function","methodName":"getStats"},{"id":"memcached.getversion","name":"Memcached::getVersion","description":"Get server pool version info","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"memcached.increment","name":"Memcached::increment","description":"Increment numeric item's value","tag":"refentry","type":"Function","methodName":"increment"},{"id":"memcached.incrementbykey","name":"Memcached::incrementByKey","description":"Increment numeric item's value, stored on a specific server","tag":"refentry","type":"Function","methodName":"incrementByKey"},{"id":"memcached.ispersistent","name":"Memcached::isPersistent","description":"Check if a persitent connection to memcache is being used","tag":"refentry","type":"Function","methodName":"isPersistent"},{"id":"memcached.ispristine","name":"Memcached::isPristine","description":"Check if the instance was recently created","tag":"refentry","type":"Function","methodName":"isPristine"},{"id":"memcached.prepend","name":"Memcached::prepend","description":"Prepend data to an existing item","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"memcached.prependbykey","name":"Memcached::prependByKey","description":"Prepend data to an existing item on a specific server","tag":"refentry","type":"Function","methodName":"prependByKey"},{"id":"memcached.quit","name":"Memcached::quit","description":"Close any open connections","tag":"refentry","type":"Function","methodName":"quit"},{"id":"memcached.replace","name":"Memcached::replace","description":"Replace the item under an existing key","tag":"refentry","type":"Function","methodName":"replace"},{"id":"memcached.replacebykey","name":"Memcached::replaceByKey","description":"Replace the item under an existing key on a specific server","tag":"refentry","type":"Function","methodName":"replaceByKey"},{"id":"memcached.resetserverlist","name":"Memcached::resetServerList","description":"Clears all servers from the server list","tag":"refentry","type":"Function","methodName":"resetServerList"},{"id":"memcached.set","name":"Memcached::set","description":"Store an item","tag":"refentry","type":"Function","methodName":"set"},{"id":"memcached.setbykey","name":"Memcached::setByKey","description":"Store an item on a specific server","tag":"refentry","type":"Function","methodName":"setByKey"},{"id":"memcached.setencodingkey","name":"Memcached::setEncodingKey","description":"Set AES encryption key for data in Memcached","tag":"refentry","type":"Function","methodName":"setEncodingKey"},{"id":"memcached.setmulti","name":"Memcached::setMulti","description":"Store multiple items","tag":"refentry","type":"Function","methodName":"setMulti"},{"id":"memcached.setmultibykey","name":"Memcached::setMultiByKey","description":"Store multiple items on a specific server","tag":"refentry","type":"Function","methodName":"setMultiByKey"},{"id":"memcached.setoption","name":"Memcached::setOption","description":"Set a Memcached option","tag":"refentry","type":"Function","methodName":"setOption"},{"id":"memcached.setoptions","name":"Memcached::setOptions","description":"Set Memcached options","tag":"refentry","type":"Function","methodName":"setOptions"},{"id":"memcached.setsaslauthdata","name":"Memcached::setSaslAuthData","description":"Set the credentials to use for authentication","tag":"refentry","type":"Function","methodName":"setSaslAuthData"},{"id":"memcached.touch","name":"Memcached::touch","description":"Set a new expiration on an item","tag":"refentry","type":"Function","methodName":"touch"},{"id":"memcached.touchbykey","name":"Memcached::touchByKey","description":"Set a new expiration on an item on a specific server","tag":"refentry","type":"Function","methodName":"touchByKey"},{"id":"class.memcached","name":"Memcached","description":"The Memcached class","tag":"phpdoc:classref","type":"Class","methodName":"Memcached"},{"id":"class.memcachedexception","name":"MemcachedException","description":"The MemcachedException class","tag":"phpdoc:classref","type":"Class","methodName":"MemcachedException"},{"id":"book.memcached","name":"Memcached","description":"Memcached","tag":"book","type":"Extension","methodName":"Memcached"},{"id":"intro.mqseries","name":"Introduction","description":"mqseries","tag":"preface","type":"General","methodName":"Introduction"},{"id":"mqseries.requirements","name":"Requirements","description":"mqseries","tag":"section","type":"General","methodName":"Requirements"},{"id":"mqseries.configure","name":"Installation","description":"mqseries","tag":"section","type":"General","methodName":"Installation"},{"id":"mqseries.ini","name":"Runtime Configuration","description":"mqseries","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"mqseries.resources","name":"Resource Types","description":"mqseries","tag":"section","type":"General","methodName":"Resource Types"},{"id":"mqseries.setup","name":"Installing\/Configuring","description":"mqseries","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"mqseries.constants","name":"Predefined Constants","description":"mqseries","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.mqseries-back","name":"mqseries_back","description":"MQSeries MQBACK","tag":"refentry","type":"Function","methodName":"mqseries_back"},{"id":"function.mqseries-begin","name":"mqseries_begin","description":"MQseries MQBEGIN","tag":"refentry","type":"Function","methodName":"mqseries_begin"},{"id":"function.mqseries-close","name":"mqseries_close","description":"MQSeries MQCLOSE","tag":"refentry","type":"Function","methodName":"mqseries_close"},{"id":"function.mqseries-cmit","name":"mqseries_cmit","description":"MQSeries MQCMIT","tag":"refentry","type":"Function","methodName":"mqseries_cmit"},{"id":"function.mqseries-conn","name":"mqseries_conn","description":"MQSeries MQCONN","tag":"refentry","type":"Function","methodName":"mqseries_conn"},{"id":"function.mqseries-connx","name":"mqseries_connx","description":"MQSeries MQCONNX","tag":"refentry","type":"Function","methodName":"mqseries_connx"},{"id":"function.mqseries-disc","name":"mqseries_disc","description":"MQSeries MQDISC","tag":"refentry","type":"Function","methodName":"mqseries_disc"},{"id":"function.mqseries-get","name":"mqseries_get","description":"MQSeries MQGET","tag":"refentry","type":"Function","methodName":"mqseries_get"},{"id":"function.mqseries-inq","name":"mqseries_inq","description":"MQSeries MQINQ","tag":"refentry","type":"Function","methodName":"mqseries_inq"},{"id":"function.mqseries-open","name":"mqseries_open","description":"MQSeries MQOPEN","tag":"refentry","type":"Function","methodName":"mqseries_open"},{"id":"function.mqseries-put","name":"mqseries_put","description":"MQSeries MQPUT","tag":"refentry","type":"Function","methodName":"mqseries_put"},{"id":"function.mqseries-put1","name":"mqseries_put1","description":"MQSeries MQPUT1","tag":"refentry","type":"Function","methodName":"mqseries_put1"},{"id":"function.mqseries-set","name":"mqseries_set","description":"MQSeries MQSET","tag":"refentry","type":"Function","methodName":"mqseries_set"},{"id":"function.mqseries-strerror","name":"mqseries_strerror","description":"Returns the error message corresponding to a result code (MQRC)","tag":"refentry","type":"Function","methodName":"mqseries_strerror"},{"id":"ref.mqseries","name":"mqseries Functions","description":"mqseries","tag":"reference","type":"Extension","methodName":"mqseries Functions"},{"id":"book.mqseries","name":"mqseries","description":"Other Services","tag":"book","type":"Extension","methodName":"mqseries"},{"id":"intro.network","name":"Introduction","description":"Network","tag":"preface","type":"General","methodName":"Introduction"},{"id":"network.requirements","name":"Requirements","description":"Network","tag":"section","type":"General","methodName":"Requirements"},{"id":"network.resources","name":"Resource Types","description":"Network","tag":"section","type":"General","methodName":"Resource Types"},{"id":"network.setup","name":"Installing\/Configuring","description":"Network","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"network.constants","name":"Predefined Constants","description":"Network","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.checkdnsrr","name":"checkdnsrr","description":"Check DNS records corresponding to a given Internet host name or IP address","tag":"refentry","type":"Function","methodName":"checkdnsrr"},{"id":"function.closelog","name":"closelog","description":"Close connection to system logger","tag":"refentry","type":"Function","methodName":"closelog"},{"id":"function.dns-check-record","name":"dns_check_record","description":"Alias of checkdnsrr","tag":"refentry","type":"Function","methodName":"dns_check_record"},{"id":"function.dns-get-mx","name":"dns_get_mx","description":"Alias of getmxrr","tag":"refentry","type":"Function","methodName":"dns_get_mx"},{"id":"function.dns-get-record","name":"dns_get_record","description":"Fetch DNS Resource Records associated with a hostname","tag":"refentry","type":"Function","methodName":"dns_get_record"},{"id":"function.fsockopen","name":"fsockopen","description":"Open Internet or Unix domain socket connection","tag":"refentry","type":"Function","methodName":"fsockopen"},{"id":"function.gethostbyaddr","name":"gethostbyaddr","description":"Get the Internet host name corresponding to a given IP address","tag":"refentry","type":"Function","methodName":"gethostbyaddr"},{"id":"function.gethostbyname","name":"gethostbyname","description":"Get the IPv4 address corresponding to a given Internet host name","tag":"refentry","type":"Function","methodName":"gethostbyname"},{"id":"function.gethostbynamel","name":"gethostbynamel","description":"Get a list of IPv4 addresses corresponding to a given Internet host\n name","tag":"refentry","type":"Function","methodName":"gethostbynamel"},{"id":"function.gethostname","name":"gethostname","description":"Gets the host name","tag":"refentry","type":"Function","methodName":"gethostname"},{"id":"function.getmxrr","name":"getmxrr","description":"Get MX records corresponding to a given Internet host name","tag":"refentry","type":"Function","methodName":"getmxrr"},{"id":"function.getprotobyname","name":"getprotobyname","description":"Get protocol number associated with protocol name","tag":"refentry","type":"Function","methodName":"getprotobyname"},{"id":"function.getprotobynumber","name":"getprotobynumber","description":"Get protocol name associated with protocol number","tag":"refentry","type":"Function","methodName":"getprotobynumber"},{"id":"function.getservbyname","name":"getservbyname","description":"Get port number associated with an Internet service and protocol","tag":"refentry","type":"Function","methodName":"getservbyname"},{"id":"function.getservbyport","name":"getservbyport","description":"Get Internet service which corresponds to port and protocol","tag":"refentry","type":"Function","methodName":"getservbyport"},{"id":"function.header","name":"header","description":"Send a raw HTTP header","tag":"refentry","type":"Function","methodName":"header"},{"id":"function.header-register-callback","name":"header_register_callback","description":"Call a header function","tag":"refentry","type":"Function","methodName":"header_register_callback"},{"id":"function.header-remove","name":"header_remove","description":"Remove previously set headers","tag":"refentry","type":"Function","methodName":"header_remove"},{"id":"function.headers-list","name":"headers_list","description":"Returns a list of response headers sent (or ready to send)","tag":"refentry","type":"Function","methodName":"headers_list"},{"id":"function.headers-sent","name":"headers_sent","description":"Checks if or where headers have been sent","tag":"refentry","type":"Function","methodName":"headers_sent"},{"id":"function.http-clear-last-response-headers","name":"http_clear_last_response_headers","description":"Clears the stored HTTP response headers","tag":"refentry","type":"Function","methodName":"http_clear_last_response_headers"},{"id":"function.http-get-last-response-headers","name":"http_get_last_response_headers","description":"Retrieve last HTTP response headers","tag":"refentry","type":"Function","methodName":"http_get_last_response_headers"},{"id":"function.http-response-code","name":"http_response_code","description":"Get or Set the HTTP response code","tag":"refentry","type":"Function","methodName":"http_response_code"},{"id":"function.inet-ntop","name":"inet_ntop","description":"Converts a packed internet address to a human readable representation","tag":"refentry","type":"Function","methodName":"inet_ntop"},{"id":"function.inet-pton","name":"inet_pton","description":"Converts a human readable IP address to its packed in_addr representation","tag":"refentry","type":"Function","methodName":"inet_pton"},{"id":"function.ip2long","name":"ip2long","description":"Converts a string containing an (IPv4) Internet Protocol dotted address into a long integer","tag":"refentry","type":"Function","methodName":"ip2long"},{"id":"function.long2ip","name":"long2ip","description":"Converts a long integer address into a string in (IPv4) Internet standard dotted format","tag":"refentry","type":"Function","methodName":"long2ip"},{"id":"function.net-get-interfaces","name":"net_get_interfaces","description":"Get network interfaces","tag":"refentry","type":"Function","methodName":"net_get_interfaces"},{"id":"function.openlog","name":"openlog","description":"Open connection to system logger","tag":"refentry","type":"Function","methodName":"openlog"},{"id":"function.pfsockopen","name":"pfsockopen","description":"Open persistent Internet or Unix domain socket connection","tag":"refentry","type":"Function","methodName":"pfsockopen"},{"id":"function.request-parse-body","name":"request_parse_body","description":"Read and parse the request body and return the result","tag":"refentry","type":"Function","methodName":"request_parse_body"},{"id":"function.setcookie","name":"setcookie","description":"Send a cookie","tag":"refentry","type":"Function","methodName":"setcookie"},{"id":"function.setrawcookie","name":"setrawcookie","description":"Send a cookie without urlencoding the cookie value","tag":"refentry","type":"Function","methodName":"setrawcookie"},{"id":"function.socket-get-status","name":"socket_get_status","description":"Alias of stream_get_meta_data","tag":"refentry","type":"Function","methodName":"socket_get_status"},{"id":"function.socket-set-blocking","name":"socket_set_blocking","description":"Alias of stream_set_blocking","tag":"refentry","type":"Function","methodName":"socket_set_blocking"},{"id":"function.socket-set-timeout","name":"socket_set_timeout","description":"Alias of stream_set_timeout","tag":"refentry","type":"Function","methodName":"socket_set_timeout"},{"id":"function.syslog","name":"syslog","description":"Generate a system log message","tag":"refentry","type":"Function","methodName":"syslog"},{"id":"ref.network","name":"Network Functions","description":"Network","tag":"reference","type":"Extension","methodName":"Network Functions"},{"id":"book.network","name":"Network","description":"Other Services","tag":"book","type":"Extension","methodName":"Network"},{"id":"intro.rrd","name":"Introduction","description":"RRDtool","tag":"preface","type":"General","methodName":"Introduction"},{"id":"rrd.requirements","name":"Requirements","description":"RRDtool","tag":"section","type":"General","methodName":"Requirements"},{"id":"rrd.installation","name":"Installation","description":"RRDtool","tag":"section","type":"General","methodName":"Installation"},{"id":"rrd.setup","name":"Installing\/Configuring","description":"RRDtool","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"rrd.examples-procedural","name":"Procedural PECL\/rrd example","description":"RRDtool","tag":"section","type":"General","methodName":"Procedural PECL\/rrd example"},{"id":"rrd.examples-oop","name":"OOP PECL\/rrd example","description":"RRDtool","tag":"section","type":"General","methodName":"OOP PECL\/rrd example"},{"id":"rrd.examples","name":"Examples","description":"RRDtool","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.rrd-create","name":"rrd_create","description":"Creates rrd database file","tag":"refentry","type":"Function","methodName":"rrd_create"},{"id":"function.rrd-error","name":"rrd_error","description":"Gets latest error message","tag":"refentry","type":"Function","methodName":"rrd_error"},{"id":"function.rrd-fetch","name":"rrd_fetch","description":"Fetch the data for graph as array","tag":"refentry","type":"Function","methodName":"rrd_fetch"},{"id":"function.rrd-first","name":"rrd_first","description":"Gets the timestamp of the first sample from rrd file","tag":"refentry","type":"Function","methodName":"rrd_first"},{"id":"function.rrd-graph","name":"rrd_graph","description":"Creates image from a data","tag":"refentry","type":"Function","methodName":"rrd_graph"},{"id":"function.rrd-info","name":"rrd_info","description":"Gets information about rrd file","tag":"refentry","type":"Function","methodName":"rrd_info"},{"id":"function.rrd-last","name":"rrd_last","description":"Gets unix timestamp of the last sample","tag":"refentry","type":"Function","methodName":"rrd_last"},{"id":"function.rrd-lastupdate","name":"rrd_lastupdate","description":"Gets information about last updated data","tag":"refentry","type":"Function","methodName":"rrd_lastupdate"},{"id":"function.rrd-restore","name":"rrd_restore","description":"Restores the RRD file from XML dump","tag":"refentry","type":"Function","methodName":"rrd_restore"},{"id":"function.rrd-tune","name":"rrd_tune","description":"Tunes some RRD database file header options","tag":"refentry","type":"Function","methodName":"rrd_tune"},{"id":"function.rrd-update","name":"rrd_update","description":"Updates the RRD database","tag":"refentry","type":"Function","methodName":"rrd_update"},{"id":"function.rrd-version","name":"rrd_version","description":"Gets information about underlying rrdtool library","tag":"refentry","type":"Function","methodName":"rrd_version"},{"id":"function.rrd-xport","name":"rrd_xport","description":"Exports the information about RRD database","tag":"refentry","type":"Function","methodName":"rrd_xport"},{"id":"function.rrdc-disconnect","name":"rrdc_disconnect","description":"Close any outstanding connection to rrd caching daemon","tag":"refentry","type":"Function","methodName":"rrdc_disconnect"},{"id":"ref.rrd","name":"RRD Functions","description":"RRDtool","tag":"reference","type":"Extension","methodName":"RRD Functions"},{"id":"rrdcreator.addarchive","name":"RRDCreator::addArchive","description":"Adds RRA - archive of data values for each data source","tag":"refentry","type":"Function","methodName":"addArchive"},{"id":"rrdcreator.adddatasource","name":"RRDCreator::addDataSource","description":"Adds data source definition for RRD database","tag":"refentry","type":"Function","methodName":"addDataSource"},{"id":"rrdcreator.construct","name":"RRDCreator::__construct","description":"Creates new RRDCreator instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"rrdcreator.save","name":"RRDCreator::save","description":"Saves the RRD database to a file","tag":"refentry","type":"Function","methodName":"save"},{"id":"class.rrdcreator","name":"RRDCreator","description":"The RRDCreator class","tag":"phpdoc:classref","type":"Class","methodName":"RRDCreator"},{"id":"rrdgraph.construct","name":"RRDGraph::__construct","description":"Creates new RRDGraph instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"rrdgraph.save","name":"RRDGraph::save","description":"Saves the result of query into image","tag":"refentry","type":"Function","methodName":"save"},{"id":"rrdgraph.saveverbose","name":"RRDGraph::saveVerbose","description":"Saves the RRD database query into image and returns the verbose\n information about generated graph","tag":"refentry","type":"Function","methodName":"saveVerbose"},{"id":"rrdgraph.setoptions","name":"RRDGraph::setOptions","description":"Sets the options for rrd graph export","tag":"refentry","type":"Function","methodName":"setOptions"},{"id":"class.rrdgraph","name":"RRDGraph","description":"The RRDGraph class","tag":"phpdoc:classref","type":"Class","methodName":"RRDGraph"},{"id":"rrdupdater.construct","name":"RRDUpdater::__construct","description":"Creates new RRDUpdater instance","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"rrdupdater.update","name":"RRDUpdater::update","description":"Update the RRD database file","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.rrdupdater","name":"RRDUpdater","description":"The RRDUpdater class","tag":"phpdoc:classref","type":"Class","methodName":"RRDUpdater"},{"id":"book.rrd","name":"RRD","description":"RRDtool","tag":"book","type":"Extension","methodName":"RRD"},{"id":"intro.scoutapm","name":"Introduction","description":"ScoutAPM","tag":"preface","type":"General","methodName":"Introduction"},{"id":"scoutapm.requirements","name":"Requirements","description":"ScoutAPM","tag":"section","type":"General","methodName":"Requirements"},{"id":"scoutapm.installation","name":"Installation","description":"ScoutAPM","tag":"section","type":"General","methodName":"Installation"},{"id":"scoutapm.setup","name":"Installing\/Configuring","description":"ScoutAPM","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.scoutapm-get-calls","name":"scoutapm_get_calls","description":"Returns a list of instrumented calls that have occurred","tag":"refentry","type":"Function","methodName":"scoutapm_get_calls"},{"id":"function.scoutapm-list-instrumented-functions","name":"scoutapm_list_instrumented_functions","description":"List functions scoutapm will instrument.","tag":"refentry","type":"Function","methodName":"scoutapm_list_instrumented_functions"},{"id":"ref.scoutapm","name":"Scoutapm Functions","description":"ScoutAPM","tag":"reference","type":"Extension","methodName":"Scoutapm Functions"},{"id":"book.scoutapm","name":"ScoutAPM","description":"ScoutAPM","tag":"book","type":"Extension","methodName":"ScoutAPM"},{"id":"intro.snmp","name":"Introduction","description":"SNMP","tag":"preface","type":"General","methodName":"Introduction"},{"id":"snmp.requirements","name":"Requirements","description":"SNMP","tag":"section","type":"General","methodName":"Requirements"},{"id":"snmp.installation","name":"Installation","description":"SNMP","tag":"section","type":"General","methodName":"Installation"},{"id":"snmp.setup","name":"Installing\/Configuring","description":"SNMP","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"snmp.constants","name":"Predefined Constants","description":"SNMP","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.snmp-get-quick-print","name":"snmp_get_quick_print","description":"Fetches the current value of the NET-SNMP library's quick_print setting","tag":"refentry","type":"Function","methodName":"snmp_get_quick_print"},{"id":"function.snmp-get-valueretrieval","name":"snmp_get_valueretrieval","description":"Return the method how the SNMP values will be returned","tag":"refentry","type":"Function","methodName":"snmp_get_valueretrieval"},{"id":"function.snmp-read-mib","name":"snmp_read_mib","description":"Reads and parses a MIB file into the active MIB tree","tag":"refentry","type":"Function","methodName":"snmp_read_mib"},{"id":"function.snmp-set-enum-print","name":"snmp_set_enum_print","description":"Return all values that are enums with their enum value instead of the raw integer","tag":"refentry","type":"Function","methodName":"snmp_set_enum_print"},{"id":"function.snmp-set-oid-numeric-print","name":"snmp_set_oid_numeric_print","description":"Alias of snmp_set_oid_output_format","tag":"refentry","type":"Function","methodName":"snmp_set_oid_numeric_print"},{"id":"function.snmp-set-oid-output-format","name":"snmp_set_oid_output_format","description":"Set the OID output format","tag":"refentry","type":"Function","methodName":"snmp_set_oid_output_format"},{"id":"function.snmp-set-quick-print","name":"snmp_set_quick_print","description":"Set the value of enable within the NET-SNMP library","tag":"refentry","type":"Function","methodName":"snmp_set_quick_print"},{"id":"function.snmp-set-valueretrieval","name":"snmp_set_valueretrieval","description":"Specify the method how the SNMP values will be returned","tag":"refentry","type":"Function","methodName":"snmp_set_valueretrieval"},{"id":"function.snmp2-get","name":"snmp2_get","description":"Fetch an SNMP object","tag":"refentry","type":"Function","methodName":"snmp2_get"},{"id":"function.snmp2-getnext","name":"snmp2_getnext","description":"Fetch the SNMP object which follows the given object id","tag":"refentry","type":"Function","methodName":"snmp2_getnext"},{"id":"function.snmp2-real-walk","name":"snmp2_real_walk","description":"Return all objects including their respective object ID within the specified one","tag":"refentry","type":"Function","methodName":"snmp2_real_walk"},{"id":"function.snmp2-set","name":"snmp2_set","description":"Set the value of an SNMP object","tag":"refentry","type":"Function","methodName":"snmp2_set"},{"id":"function.snmp2-walk","name":"snmp2_walk","description":"Fetch all the SNMP objects from an agent","tag":"refentry","type":"Function","methodName":"snmp2_walk"},{"id":"function.snmp3-get","name":"snmp3_get","description":"Fetch an SNMP object","tag":"refentry","type":"Function","methodName":"snmp3_get"},{"id":"function.snmp3-getnext","name":"snmp3_getnext","description":"Fetch the SNMP object which follows the given object id","tag":"refentry","type":"Function","methodName":"snmp3_getnext"},{"id":"function.snmp3-real-walk","name":"snmp3_real_walk","description":"Return all objects including their respective object ID within the specified one","tag":"refentry","type":"Function","methodName":"snmp3_real_walk"},{"id":"function.snmp3-set","name":"snmp3_set","description":"Set the value of an SNMP object","tag":"refentry","type":"Function","methodName":"snmp3_set"},{"id":"function.snmp3-walk","name":"snmp3_walk","description":"Fetch all the SNMP objects from an agent","tag":"refentry","type":"Function","methodName":"snmp3_walk"},{"id":"function.snmpget","name":"snmpget","description":"Fetch an SNMP object","tag":"refentry","type":"Function","methodName":"snmpget"},{"id":"function.snmpgetnext","name":"snmpgetnext","description":"Fetch the SNMP object which follows the given object id","tag":"refentry","type":"Function","methodName":"snmpgetnext"},{"id":"function.snmprealwalk","name":"snmprealwalk","description":"Return all objects including their respective object ID within the specified one","tag":"refentry","type":"Function","methodName":"snmprealwalk"},{"id":"function.snmpset","name":"snmpset","description":"Set the value of an SNMP object","tag":"refentry","type":"Function","methodName":"snmpset"},{"id":"function.snmpwalk","name":"snmpwalk","description":"Fetch all the SNMP objects from an agent","tag":"refentry","type":"Function","methodName":"snmpwalk"},{"id":"function.snmpwalkoid","name":"snmpwalkoid","description":"Query for a tree of information about a network entity","tag":"refentry","type":"Function","methodName":"snmpwalkoid"},{"id":"ref.snmp","name":"SNMP Functions","description":"SNMP","tag":"reference","type":"Extension","methodName":"SNMP Functions"},{"id":"snmp.close","name":"SNMP::close","description":"Close SNMP session","tag":"refentry","type":"Function","methodName":"close"},{"id":"snmp.construct","name":"SNMP::__construct","description":"Creates SNMP instance representing session to remote SNMP agent","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"snmp.get","name":"SNMP::get","description":"Fetch an SNMP object","tag":"refentry","type":"Function","methodName":"get"},{"id":"snmp.geterrno","name":"SNMP::getErrno","description":"Get last error code","tag":"refentry","type":"Function","methodName":"getErrno"},{"id":"snmp.geterror","name":"SNMP::getError","description":"Get last error message","tag":"refentry","type":"Function","methodName":"getError"},{"id":"snmp.getnext","name":"SNMP::getnext","description":"Fetch an SNMP object which\n follows the given object id","tag":"refentry","type":"Function","methodName":"getnext"},{"id":"snmp.set","name":"SNMP::set","description":"Set the value of an SNMP object","tag":"refentry","type":"Function","methodName":"set"},{"id":"snmp.setsecurity","name":"SNMP::setSecurity","description":"Configures security-related SNMPv3 session parameters","tag":"refentry","type":"Function","methodName":"setSecurity"},{"id":"snmp.walk","name":"SNMP::walk","description":"Fetch SNMP object subtree","tag":"refentry","type":"Function","methodName":"walk"},{"id":"class.snmp","name":"SNMP","description":"The SNMP class","tag":"phpdoc:classref","type":"Class","methodName":"SNMP"},{"id":"class.snmpexception","name":"SNMPException","description":"The SNMPException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"SNMPException"},{"id":"book.snmp","name":"SNMP","description":"Other Services","tag":"book","type":"Extension","methodName":"SNMP"},{"id":"intro.sockets","name":"Introduction","description":"Sockets","tag":"preface","type":"General","methodName":"Introduction"},{"id":"sockets.installation","name":"Installation","description":"Sockets","tag":"section","type":"General","methodName":"Installation"},{"id":"sockets.resources","name":"Resource Types","description":"Sockets","tag":"section","type":"General","methodName":"Resource Types"},{"id":"sockets.setup","name":"Installing\/Configuring","description":"Sockets","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"sockets.constants","name":"Predefined Constants","description":"Sockets","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"sockets.examples","name":"Examples","description":"Sockets","tag":"chapter","type":"General","methodName":"Examples"},{"id":"sockets.errors","name":"Socket Errors","description":"Sockets","tag":"chapter","type":"General","methodName":"Socket Errors"},{"id":"function.socket-accept","name":"socket_accept","description":"Accepts a connection on a socket","tag":"refentry","type":"Function","methodName":"socket_accept"},{"id":"function.socket-addrinfo-bind","name":"socket_addrinfo_bind","description":"Create and bind to a socket from a given addrinfo","tag":"refentry","type":"Function","methodName":"socket_addrinfo_bind"},{"id":"function.socket-addrinfo-connect","name":"socket_addrinfo_connect","description":"Create and connect to a socket from a given addrinfo","tag":"refentry","type":"Function","methodName":"socket_addrinfo_connect"},{"id":"function.socket-addrinfo-explain","name":"socket_addrinfo_explain","description":"Get information about addrinfo","tag":"refentry","type":"Function","methodName":"socket_addrinfo_explain"},{"id":"function.socket-addrinfo-lookup","name":"socket_addrinfo_lookup","description":"Get array with contents of getaddrinfo about the given hostname","tag":"refentry","type":"Function","methodName":"socket_addrinfo_lookup"},{"id":"function.socket-atmark","name":"socket_atmark","description":"Determines whether socket is at out-of-band mark","tag":"refentry","type":"Function","methodName":"socket_atmark"},{"id":"function.socket-bind","name":"socket_bind","description":"Binds a name to a socket","tag":"refentry","type":"Function","methodName":"socket_bind"},{"id":"function.socket-clear-error","name":"socket_clear_error","description":"Clears the error on the socket or the last error code","tag":"refentry","type":"Function","methodName":"socket_clear_error"},{"id":"function.socket-close","name":"socket_close","description":"Closes a Socket instance","tag":"refentry","type":"Function","methodName":"socket_close"},{"id":"function.socket-cmsg-space","name":"socket_cmsg_space","description":"Calculate message buffer size","tag":"refentry","type":"Function","methodName":"socket_cmsg_space"},{"id":"function.socket-connect","name":"socket_connect","description":"Initiates a connection on a socket","tag":"refentry","type":"Function","methodName":"socket_connect"},{"id":"function.socket-create","name":"socket_create","description":"Create a socket (endpoint for communication)","tag":"refentry","type":"Function","methodName":"socket_create"},{"id":"function.socket-create-listen","name":"socket_create_listen","description":"Opens a socket on port to accept connections","tag":"refentry","type":"Function","methodName":"socket_create_listen"},{"id":"function.socket-create-pair","name":"socket_create_pair","description":"Creates a pair of indistinguishable sockets and stores them in an array","tag":"refentry","type":"Function","methodName":"socket_create_pair"},{"id":"function.socket-export-stream","name":"socket_export_stream","description":"Export a socket into a stream that encapsulates a socket","tag":"refentry","type":"Function","methodName":"socket_export_stream"},{"id":"function.socket-get-option","name":"socket_get_option","description":"Gets socket options for the socket","tag":"refentry","type":"Function","methodName":"socket_get_option"},{"id":"function.socket-getopt","name":"socket_getopt","description":"Alias of socket_get_option","tag":"refentry","type":"Function","methodName":"socket_getopt"},{"id":"function.socket-getpeername","name":"socket_getpeername","description":"Queries the remote side of the given socket","tag":"refentry","type":"Function","methodName":"socket_getpeername"},{"id":"function.socket-getsockname","name":"socket_getsockname","description":"Queries the local side of the given socket which may either result in host\/port or in a Unix filesystem path, dependent on its type","tag":"refentry","type":"Function","methodName":"socket_getsockname"},{"id":"function.socket-import-stream","name":"socket_import_stream","description":"Import a stream","tag":"refentry","type":"Function","methodName":"socket_import_stream"},{"id":"function.socket-last-error","name":"socket_last_error","description":"Returns the last error on the socket","tag":"refentry","type":"Function","methodName":"socket_last_error"},{"id":"function.socket-listen","name":"socket_listen","description":"Listens for a connection on a socket","tag":"refentry","type":"Function","methodName":"socket_listen"},{"id":"function.socket-read","name":"socket_read","description":"Reads a maximum of length bytes from a socket","tag":"refentry","type":"Function","methodName":"socket_read"},{"id":"function.socket-recv","name":"socket_recv","description":"Receives data from a connected socket","tag":"refentry","type":"Function","methodName":"socket_recv"},{"id":"function.socket-recvfrom","name":"socket_recvfrom","description":"Receives data from a socket whether or not it is connection-oriented","tag":"refentry","type":"Function","methodName":"socket_recvfrom"},{"id":"function.socket-recvmsg","name":"socket_recvmsg","description":"Read a message","tag":"refentry","type":"Function","methodName":"socket_recvmsg"},{"id":"function.socket-select","name":"socket_select","description":"Runs the select() system call on the given arrays of sockets with a specified timeout","tag":"refentry","type":"Function","methodName":"socket_select"},{"id":"function.socket-send","name":"socket_send","description":"Sends data to a connected socket","tag":"refentry","type":"Function","methodName":"socket_send"},{"id":"function.socket-sendmsg","name":"socket_sendmsg","description":"Send a message","tag":"refentry","type":"Function","methodName":"socket_sendmsg"},{"id":"function.socket-sendto","name":"socket_sendto","description":"Sends a message to a socket, whether it is connected or not","tag":"refentry","type":"Function","methodName":"socket_sendto"},{"id":"function.socket-set-block","name":"socket_set_block","description":"Sets blocking mode on a socket","tag":"refentry","type":"Function","methodName":"socket_set_block"},{"id":"function.socket-set-nonblock","name":"socket_set_nonblock","description":"Sets nonblocking mode for file descriptor fd","tag":"refentry","type":"Function","methodName":"socket_set_nonblock"},{"id":"function.socket-set-option","name":"socket_set_option","description":"Sets socket options for the socket","tag":"refentry","type":"Function","methodName":"socket_set_option"},{"id":"function.socket-setopt","name":"socket_setopt","description":"Alias of socket_set_option","tag":"refentry","type":"Function","methodName":"socket_setopt"},{"id":"function.socket-shutdown","name":"socket_shutdown","description":"Shuts down a socket for receiving, sending, or both","tag":"refentry","type":"Function","methodName":"socket_shutdown"},{"id":"function.socket-strerror","name":"socket_strerror","description":"Return a string describing a socket error","tag":"refentry","type":"Function","methodName":"socket_strerror"},{"id":"function.socket-write","name":"socket_write","description":"Write to a socket","tag":"refentry","type":"Function","methodName":"socket_write"},{"id":"function.socket-wsaprotocol-info-export","name":"socket_wsaprotocol_info_export","description":"Exports the WSAPROTOCOL_INFO Structure","tag":"refentry","type":"Function","methodName":"socket_wsaprotocol_info_export"},{"id":"function.socket-wsaprotocol-info-import","name":"socket_wsaprotocol_info_import","description":"Imports a Socket from another Process","tag":"refentry","type":"Function","methodName":"socket_wsaprotocol_info_import"},{"id":"function.socket-wsaprotocol-info-release","name":"socket_wsaprotocol_info_release","description":"Releases an exported WSAPROTOCOL_INFO Structure","tag":"refentry","type":"Function","methodName":"socket_wsaprotocol_info_release"},{"id":"ref.sockets","name":"Socket Functions","description":"Sockets","tag":"reference","type":"Extension","methodName":"Socket Functions"},{"id":"class.socket","name":"Socket","description":"The Socket class","tag":"phpdoc:classref","type":"Class","methodName":"Socket"},{"id":"class.addressinfo","name":"AddressInfo","description":"The AddressInfo class","tag":"phpdoc:classref","type":"Class","methodName":"AddressInfo"},{"id":"book.sockets","name":"Sockets","description":"Other Services","tag":"book","type":"Extension","methodName":"Sockets"},{"id":"intro.ssh2","name":"Introduction","description":"Secure Shell2","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ssh2.requirements","name":"Requirements","description":"Secure Shell2","tag":"section","type":"General","methodName":"Requirements"},{"id":"ssh2.installation","name":"Installation","description":"Secure Shell2","tag":"section","type":"General","methodName":"Installation"},{"id":"ssh2.resources","name":"Resource Types","description":"Secure Shell2","tag":"section","type":"General","methodName":"Resource Types"},{"id":"ssh2.setup","name":"Installing\/Configuring","description":"Secure Shell2","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ssh2.constants","name":"Predefined Constants","description":"Secure Shell2","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.ssh2-auth-agent","name":"ssh2_auth_agent","description":"Authenticate over SSH using the ssh agent","tag":"refentry","type":"Function","methodName":"ssh2_auth_agent"},{"id":"function.ssh2-auth-hostbased-file","name":"ssh2_auth_hostbased_file","description":"Authenticate using a public hostkey","tag":"refentry","type":"Function","methodName":"ssh2_auth_hostbased_file"},{"id":"function.ssh2-auth-none","name":"ssh2_auth_none","description":"Authenticate as \"none\"","tag":"refentry","type":"Function","methodName":"ssh2_auth_none"},{"id":"function.ssh2-auth-password","name":"ssh2_auth_password","description":"Authenticate over SSH using a plain password","tag":"refentry","type":"Function","methodName":"ssh2_auth_password"},{"id":"function.ssh2-auth-pubkey-file","name":"ssh2_auth_pubkey_file","description":"Authenticate using a public key","tag":"refentry","type":"Function","methodName":"ssh2_auth_pubkey_file"},{"id":"function.ssh2-connect","name":"ssh2_connect","description":"Connect to an SSH server","tag":"refentry","type":"Function","methodName":"ssh2_connect"},{"id":"function.ssh2-disconnect","name":"ssh2_disconnect","description":"Close a connection to a remote SSH server","tag":"refentry","type":"Function","methodName":"ssh2_disconnect"},{"id":"function.ssh2-exec","name":"ssh2_exec","description":"Execute a command on a remote server","tag":"refentry","type":"Function","methodName":"ssh2_exec"},{"id":"function.ssh2-fetch-stream","name":"ssh2_fetch_stream","description":"Fetch an extended data stream","tag":"refentry","type":"Function","methodName":"ssh2_fetch_stream"},{"id":"function.ssh2-fingerprint","name":"ssh2_fingerprint","description":"Retrieve fingerprint of remote server","tag":"refentry","type":"Function","methodName":"ssh2_fingerprint"},{"id":"function.ssh2-forward-accept","name":"ssh2_forward_accept","description":"Accept a connection created by a listener","tag":"refentry","type":"Function","methodName":"ssh2_forward_accept"},{"id":"function.ssh2-forward-listen","name":"ssh2_forward_listen","description":"Bind a port on the remote server and listen for connections","tag":"refentry","type":"Function","methodName":"ssh2_forward_listen"},{"id":"function.ssh2-methods-negotiated","name":"ssh2_methods_negotiated","description":"Return list of negotiated methods","tag":"refentry","type":"Function","methodName":"ssh2_methods_negotiated"},{"id":"function.ssh2-poll","name":"ssh2_poll","description":"Poll the channels\/listeners\/streams for events","tag":"refentry","type":"Function","methodName":"ssh2_poll"},{"id":"function.ssh2-publickey-add","name":"ssh2_publickey_add","description":"Add an authorized publickey","tag":"refentry","type":"Function","methodName":"ssh2_publickey_add"},{"id":"function.ssh2-publickey-init","name":"ssh2_publickey_init","description":"Initialize Publickey subsystem","tag":"refentry","type":"Function","methodName":"ssh2_publickey_init"},{"id":"function.ssh2-publickey-list","name":"ssh2_publickey_list","description":"List currently authorized publickeys","tag":"refentry","type":"Function","methodName":"ssh2_publickey_list"},{"id":"function.ssh2-publickey-remove","name":"ssh2_publickey_remove","description":"Remove an authorized publickey","tag":"refentry","type":"Function","methodName":"ssh2_publickey_remove"},{"id":"function.ssh2-scp-recv","name":"ssh2_scp_recv","description":"Request a file via SCP","tag":"refentry","type":"Function","methodName":"ssh2_scp_recv"},{"id":"function.ssh2-scp-send","name":"ssh2_scp_send","description":"Send a file via SCP","tag":"refentry","type":"Function","methodName":"ssh2_scp_send"},{"id":"function.ssh2-send-eof","name":"ssh2_send_eof","description":"Send EOF to stream","tag":"refentry","type":"Function","methodName":"ssh2_send_eof"},{"id":"function.ssh2-sftp","name":"ssh2_sftp","description":"Initialize SFTP subsystem","tag":"refentry","type":"Function","methodName":"ssh2_sftp"},{"id":"function.ssh2-sftp-chmod","name":"ssh2_sftp_chmod","description":"Changes file mode","tag":"refentry","type":"Function","methodName":"ssh2_sftp_chmod"},{"id":"function.ssh2-sftp-lstat","name":"ssh2_sftp_lstat","description":"Stat a symbolic link","tag":"refentry","type":"Function","methodName":"ssh2_sftp_lstat"},{"id":"function.ssh2-sftp-mkdir","name":"ssh2_sftp_mkdir","description":"Create a directory","tag":"refentry","type":"Function","methodName":"ssh2_sftp_mkdir"},{"id":"function.ssh2-sftp-readlink","name":"ssh2_sftp_readlink","description":"Return the target of a symbolic link","tag":"refentry","type":"Function","methodName":"ssh2_sftp_readlink"},{"id":"function.ssh2-sftp-realpath","name":"ssh2_sftp_realpath","description":"Resolve the realpath of a provided path string","tag":"refentry","type":"Function","methodName":"ssh2_sftp_realpath"},{"id":"function.ssh2-sftp-rename","name":"ssh2_sftp_rename","description":"Rename a remote file","tag":"refentry","type":"Function","methodName":"ssh2_sftp_rename"},{"id":"function.ssh2-sftp-rmdir","name":"ssh2_sftp_rmdir","description":"Remove a directory","tag":"refentry","type":"Function","methodName":"ssh2_sftp_rmdir"},{"id":"function.ssh2-sftp-stat","name":"ssh2_sftp_stat","description":"Stat a file on a remote filesystem","tag":"refentry","type":"Function","methodName":"ssh2_sftp_stat"},{"id":"function.ssh2-sftp-symlink","name":"ssh2_sftp_symlink","description":"Create a symlink","tag":"refentry","type":"Function","methodName":"ssh2_sftp_symlink"},{"id":"function.ssh2-sftp-unlink","name":"ssh2_sftp_unlink","description":"Delete a file","tag":"refentry","type":"Function","methodName":"ssh2_sftp_unlink"},{"id":"function.ssh2-shell","name":"ssh2_shell","description":"Request an interactive shell","tag":"refentry","type":"Function","methodName":"ssh2_shell"},{"id":"function.ssh2-tunnel","name":"ssh2_tunnel","description":"Open a tunnel through a remote server","tag":"refentry","type":"Function","methodName":"ssh2_tunnel"},{"id":"ref.ssh2","name":"SSH2 Functions","description":"Secure Shell2","tag":"reference","type":"Extension","methodName":"SSH2 Functions"},{"id":"book.ssh2","name":"SSH2","description":"Secure Shell2","tag":"book","type":"Extension","methodName":"SSH2"},{"id":"intro.stomp","name":"Introduction","description":"Stomp Client","tag":"preface","type":"General","methodName":"Introduction"},{"id":"stomp.requirements","name":"Requirements","description":"Stomp Client","tag":"section","type":"General","methodName":"Requirements"},{"id":"stomp.installation","name":"Installation","description":"Stomp Client","tag":"section","type":"General","methodName":"Installation"},{"id":"stomp.configuration","name":"Runtime Configuration","description":"Stomp Client","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"stomp.resources","name":"Resource Types","description":"Stomp Client","tag":"section","type":"General","methodName":"Resource Types"},{"id":"stomp.setup","name":"Installing\/Configuring","description":"Stomp Client","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"stomp.examples","name":"Examples","description":"Stomp Client","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.stomp-connect-error","name":"stomp_connect_error","description":"Returns a string description of the last connect error","tag":"refentry","type":"Function","methodName":"stomp_connect_error"},{"id":"function.stomp-version","name":"stomp_version","description":"Gets the current stomp extension version","tag":"refentry","type":"Function","methodName":"stomp_version"},{"id":"ref.stomp","name":"Stomp Functions","description":"Stomp Client","tag":"reference","type":"Extension","methodName":"Stomp Functions"},{"id":"stomp.abort","name":"stomp_abort","description":"Rolls back a transaction in progress","tag":"refentry","type":"Function","methodName":"stomp_abort"},{"id":"stomp.abort","name":"Stomp::abort","description":"Rolls back a transaction in progress","tag":"refentry","type":"Function","methodName":"abort"},{"id":"stomp.ack","name":"stomp_ack","description":"Acknowledges consumption of a message","tag":"refentry","type":"Function","methodName":"stomp_ack"},{"id":"stomp.ack","name":"Stomp::ack","description":"Acknowledges consumption of a message","tag":"refentry","type":"Function","methodName":"ack"},{"id":"stomp.begin","name":"stomp_begin","description":"Starts a transaction","tag":"refentry","type":"Function","methodName":"stomp_begin"},{"id":"stomp.begin","name":"Stomp::begin","description":"Starts a transaction","tag":"refentry","type":"Function","methodName":"begin"},{"id":"stomp.commit","name":"stomp_commit","description":"Commits a transaction in progress","tag":"refentry","type":"Function","methodName":"stomp_commit"},{"id":"stomp.commit","name":"Stomp::commit","description":"Commits a transaction in progress","tag":"refentry","type":"Function","methodName":"commit"},{"id":"stomp.construct","name":"stomp_connect","description":"Opens a connection","tag":"refentry","type":"Function","methodName":"stomp_connect"},{"id":"stomp.construct","name":"Stomp::__construct","description":"Opens a connection","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"stomp.destruct","name":"stomp_close","description":"Closes stomp connection","tag":"refentry","type":"Function","methodName":"stomp_close"},{"id":"stomp.destruct","name":"Stomp::__destruct","description":"Closes stomp connection","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"stomp.error","name":"stomp_error","description":"Gets the last stomp error","tag":"refentry","type":"Function","methodName":"stomp_error"},{"id":"stomp.error","name":"Stomp::error","description":"Gets the last stomp error","tag":"refentry","type":"Function","methodName":"error"},{"id":"stomp.getreadtimeout","name":"stomp_get_read_timeout","description":"Gets read timeout","tag":"refentry","type":"Function","methodName":"stomp_get_read_timeout"},{"id":"stomp.getreadtimeout","name":"Stomp::getReadTimeout","description":"Gets read timeout","tag":"refentry","type":"Function","methodName":"getReadTimeout"},{"id":"stomp.getsessionid","name":"stomp_get_session_id","description":"Gets the current stomp session ID","tag":"refentry","type":"Function","methodName":"stomp_get_session_id"},{"id":"stomp.getsessionid","name":"Stomp::getSessionId","description":"Gets the current stomp session ID","tag":"refentry","type":"Function","methodName":"getSessionId"},{"id":"stomp.hasframe","name":"stomp_has_frame","description":"Indicates whether or not there is a frame ready to read","tag":"refentry","type":"Function","methodName":"stomp_has_frame"},{"id":"stomp.hasframe","name":"Stomp::hasFrame","description":"Indicates whether or not there is a frame ready to read","tag":"refentry","type":"Function","methodName":"hasFrame"},{"id":"stomp.readframe","name":"stomp_read_frame","description":"Reads the next frame","tag":"refentry","type":"Function","methodName":"stomp_read_frame"},{"id":"stomp.readframe","name":"Stomp::readFrame","description":"Reads the next frame","tag":"refentry","type":"Function","methodName":"readFrame"},{"id":"stomp.send","name":"stomp_send","description":"Sends a message","tag":"refentry","type":"Function","methodName":"stomp_send"},{"id":"stomp.send","name":"Stomp::send","description":"Sends a message","tag":"refentry","type":"Function","methodName":"send"},{"id":"stomp.setreadtimeout","name":"stomp_set_read_timeout","description":"Sets read timeout","tag":"refentry","type":"Function","methodName":"stomp_set_read_timeout"},{"id":"stomp.setreadtimeout","name":"Stomp::setReadTimeout","description":"Sets read timeout","tag":"refentry","type":"Function","methodName":"setReadTimeout"},{"id":"stomp.subscribe","name":"stomp_subscribe","description":"Registers to listen to a given destination","tag":"refentry","type":"Function","methodName":"stomp_subscribe"},{"id":"stomp.subscribe","name":"Stomp::subscribe","description":"Registers to listen to a given destination","tag":"refentry","type":"Function","methodName":"subscribe"},{"id":"stomp.unsubscribe","name":"stomp_unsubscribe","description":"Removes an existing subscription","tag":"refentry","type":"Function","methodName":"stomp_unsubscribe"},{"id":"stomp.unsubscribe","name":"Stomp::unsubscribe","description":"Removes an existing subscription","tag":"refentry","type":"Function","methodName":"unsubscribe"},{"id":"class.stomp","name":"Stomp","description":"The Stomp class","tag":"phpdoc:classref","type":"Class","methodName":"Stomp"},{"id":"stompframe.construct","name":"StompFrame::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.stompframe","name":"StompFrame","description":"The StompFrame class","tag":"phpdoc:classref","type":"Class","methodName":"StompFrame"},{"id":"stomp.getdetails","name":"StompException::getDetails","description":"Get exception details","tag":"refentry","type":"Function","methodName":"getDetails"},{"id":"class.stompexception","name":"StompException","description":"The StompException class","tag":"phpdoc:classref","type":"Class","methodName":"StompException"},{"id":"book.stomp","name":"Stomp","description":"Stomp Client","tag":"book","type":"Extension","methodName":"Stomp"},{"id":"intro.svm","name":"Introduction","description":"Support Vector Machine","tag":"preface","type":"General","methodName":"Introduction"},{"id":"svm.requirements","name":"Requirements","description":"Support Vector Machine","tag":"section","type":"General","methodName":"Requirements"},{"id":"svm.installation","name":"Installation","description":"Support Vector Machine","tag":"section","type":"General","methodName":"Installation"},{"id":"svm.setup","name":"Installing\/Configuring","description":"Support Vector Machine","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"svm.examples","name":"Examples","description":"Support Vector Machine","tag":"chapter","type":"General","methodName":"Examples"},{"id":"svm.construct","name":"SVM::__construct","description":"Construct a new SVM object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"svm.crossvalidate","name":"SVM::crossvalidate","description":"Test training params on subsets of the training data","tag":"refentry","type":"Function","methodName":"crossvalidate"},{"id":"svm.getoptions","name":"SVM::getOptions","description":"Return the current training parameters","tag":"refentry","type":"Function","methodName":"getOptions"},{"id":"svm.setoptions","name":"SVM::setOptions","description":"Set training parameters","tag":"refentry","type":"Function","methodName":"setOptions"},{"id":"svm.train","name":"SVM::train","description":"Create a SVMModel based on training data","tag":"refentry","type":"Function","methodName":"train"},{"id":"class.svm","name":"SVM","description":"The SVM class","tag":"phpdoc:classref","type":"Class","methodName":"SVM"},{"id":"svmmodel.checkprobabilitymodel","name":"SVMModel::checkProbabilityModel","description":"Returns true if the model has probability information","tag":"refentry","type":"Function","methodName":"checkProbabilityModel"},{"id":"svmmodel.construct","name":"SVMModel::__construct","description":"Construct a new SVMModel","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"svmmodel.getlabels","name":"SVMModel::getLabels","description":"Get the labels the model was trained on","tag":"refentry","type":"Function","methodName":"getLabels"},{"id":"svmmodel.getnrclass","name":"SVMModel::getNrClass","description":"Returns the number of classes the model was trained with","tag":"refentry","type":"Function","methodName":"getNrClass"},{"id":"svmmodel.getsvmtype","name":"SVMModel::getSvmType","description":"Get the SVM type the model was trained with","tag":"refentry","type":"Function","methodName":"getSvmType"},{"id":"svmmodel.getsvrprobability","name":"SVMModel::getSvrProbability","description":"Get the sigma value for regression types","tag":"refentry","type":"Function","methodName":"getSvrProbability"},{"id":"svmmodel.load","name":"SVMModel::load","description":"Load a saved SVM Model","tag":"refentry","type":"Function","methodName":"load"},{"id":"svmmodel.predict","name":"SVMModel::predict","description":"Predict a value for previously unseen data","tag":"refentry","type":"Function","methodName":"predict"},{"id":"svmmodel.predict-probability","name":"SVMModel::predict_probability","description":"Return class probabilities for previous unseen data","tag":"refentry","type":"Function","methodName":"predict_probability"},{"id":"svmmodel.save","name":"SVMModel::save","description":"Save a model to a file","tag":"refentry","type":"Function","methodName":"save"},{"id":"class.svmmodel","name":"SVMModel","description":"The SVMModel class","tag":"phpdoc:classref","type":"Class","methodName":"SVMModel"},{"id":"book.svm","name":"SVM","description":"Support Vector Machine","tag":"book","type":"Extension","methodName":"SVM"},{"id":"intro.svn","name":"Introduction","description":"Subversion","tag":"preface","type":"General","methodName":"Introduction"},{"id":"svn.requirements","name":"Requirements","description":"Subversion","tag":"section","type":"General","methodName":"Requirements"},{"id":"svn.installation","name":"Installation","description":"Subversion","tag":"section","type":"General","methodName":"Installation"},{"id":"svn.setup","name":"Installing\/Configuring","description":"Subversion","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"svn.constants","name":"Predefined Constants","description":"Subversion","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.svn-add","name":"svn_add","description":"Schedules the addition of an item in a working directory","tag":"refentry","type":"Function","methodName":"svn_add"},{"id":"function.svn-auth-get-parameter","name":"svn_auth_get_parameter","description":"Retrieves authentication parameter","tag":"refentry","type":"Function","methodName":"svn_auth_get_parameter"},{"id":"function.svn-auth-set-parameter","name":"svn_auth_set_parameter","description":"Sets an authentication parameter","tag":"refentry","type":"Function","methodName":"svn_auth_set_parameter"},{"id":"function.svn-blame","name":"svn_blame","description":"Get the SVN blame for a file","tag":"refentry","type":"Function","methodName":"svn_blame"},{"id":"function.svn-cat","name":"svn_cat","description":"Returns the contents of a file in a repository","tag":"refentry","type":"Function","methodName":"svn_cat"},{"id":"function.svn-checkout","name":"svn_checkout","description":"Checks out a working copy from the repository","tag":"refentry","type":"Function","methodName":"svn_checkout"},{"id":"function.svn-cleanup","name":"svn_cleanup","description":"Recursively cleanup a working copy directory, finishing incomplete operations and removing locks","tag":"refentry","type":"Function","methodName":"svn_cleanup"},{"id":"function.svn-client-version","name":"svn_client_version","description":"Returns the version of the SVN client libraries","tag":"refentry","type":"Function","methodName":"svn_client_version"},{"id":"function.svn-commit","name":"svn_commit","description":"Sends changes from the local working copy to the repository","tag":"refentry","type":"Function","methodName":"svn_commit"},{"id":"function.svn-delete","name":"svn_delete","description":"Delete items from a working copy or repository","tag":"refentry","type":"Function","methodName":"svn_delete"},{"id":"function.svn-diff","name":"svn_diff","description":"Recursively diffs two paths","tag":"refentry","type":"Function","methodName":"svn_diff"},{"id":"function.svn-export","name":"svn_export","description":"Export the contents of a SVN directory","tag":"refentry","type":"Function","methodName":"svn_export"},{"id":"function.svn-fs-abort-txn","name":"svn_fs_abort_txn","description":"Aborts a transaction","tag":"refentry","type":"Function","methodName":"svn_fs_abort_txn"},{"id":"function.svn-fs-apply-text","name":"svn_fs_apply_text","description":"Creates and returns a stream that will be used to replace","tag":"refentry","type":"Function","methodName":"svn_fs_apply_text"},{"id":"function.svn-fs-begin-txn2","name":"svn_fs_begin_txn2","description":"Create a new transaction","tag":"refentry","type":"Function","methodName":"svn_fs_begin_txn2"},{"id":"function.svn-fs-change-node-prop","name":"svn_fs_change_node_prop","description":"Return true if everything is ok, false otherwise","tag":"refentry","type":"Function","methodName":"svn_fs_change_node_prop"},{"id":"function.svn-fs-check-path","name":"svn_fs_check_path","description":"Determines what kind of item lives at path in a given repository fsroot","tag":"refentry","type":"Function","methodName":"svn_fs_check_path"},{"id":"function.svn-fs-contents-changed","name":"svn_fs_contents_changed","description":"Return true if content is different, false otherwise","tag":"refentry","type":"Function","methodName":"svn_fs_contents_changed"},{"id":"function.svn-fs-copy","name":"svn_fs_copy","description":"Copies a file or a directory","tag":"refentry","type":"Function","methodName":"svn_fs_copy"},{"id":"function.svn-fs-delete","name":"svn_fs_delete","description":"Deletes a file or a directory","tag":"refentry","type":"Function","methodName":"svn_fs_delete"},{"id":"function.svn-fs-dir-entries","name":"svn_fs_dir_entries","description":"Enumerates the directory entries under path; returns a hash of dir names to file type","tag":"refentry","type":"Function","methodName":"svn_fs_dir_entries"},{"id":"function.svn-fs-file-contents","name":"svn_fs_file_contents","description":"Returns a stream to access the contents of a file from a given version of the fs","tag":"refentry","type":"Function","methodName":"svn_fs_file_contents"},{"id":"function.svn-fs-file-length","name":"svn_fs_file_length","description":"Returns the length of a file from a given version of the fs","tag":"refentry","type":"Function","methodName":"svn_fs_file_length"},{"id":"function.svn-fs-is-dir","name":"svn_fs_is_dir","description":"Determines if a path points to a directory","tag":"refentry","type":"Function","methodName":"svn_fs_is_dir"},{"id":"function.svn-fs-is-file","name":"svn_fs_is_file","description":"Determines if a path points to a file","tag":"refentry","type":"Function","methodName":"svn_fs_is_file"},{"id":"function.svn-fs-make-dir","name":"svn_fs_make_dir","description":"Creates a new empty directory","tag":"refentry","type":"Function","methodName":"svn_fs_make_dir"},{"id":"function.svn-fs-make-file","name":"svn_fs_make_file","description":"Creates a new empty file","tag":"refentry","type":"Function","methodName":"svn_fs_make_file"},{"id":"function.svn-fs-node-created-rev","name":"svn_fs_node_created_rev","description":"Returns the revision in which path under fsroot was created","tag":"refentry","type":"Function","methodName":"svn_fs_node_created_rev"},{"id":"function.svn-fs-node-prop","name":"svn_fs_node_prop","description":"Returns the value of a property for a node","tag":"refentry","type":"Function","methodName":"svn_fs_node_prop"},{"id":"function.svn-fs-props-changed","name":"svn_fs_props_changed","description":"Return true if props are different, false otherwise","tag":"refentry","type":"Function","methodName":"svn_fs_props_changed"},{"id":"function.svn-fs-revision-prop","name":"svn_fs_revision_prop","description":"Fetches the value of a named property","tag":"refentry","type":"Function","methodName":"svn_fs_revision_prop"},{"id":"function.svn-fs-revision-root","name":"svn_fs_revision_root","description":"Get a handle on a specific version of the repository root","tag":"refentry","type":"Function","methodName":"svn_fs_revision_root"},{"id":"function.svn-fs-txn-root","name":"svn_fs_txn_root","description":"Creates and returns a transaction root","tag":"refentry","type":"Function","methodName":"svn_fs_txn_root"},{"id":"function.svn-fs-youngest-rev","name":"svn_fs_youngest_rev","description":"Returns the number of the youngest revision in the filesystem","tag":"refentry","type":"Function","methodName":"svn_fs_youngest_rev"},{"id":"function.svn-import","name":"svn_import","description":"Imports an unversioned path into a repository","tag":"refentry","type":"Function","methodName":"svn_import"},{"id":"function.svn-log","name":"svn_log","description":"Returns the commit log messages of a repository URL","tag":"refentry","type":"Function","methodName":"svn_log"},{"id":"function.svn-ls","name":"svn_ls","description":"Returns list of directory contents in repository URL, optionally at revision number","tag":"refentry","type":"Function","methodName":"svn_ls"},{"id":"function.svn-mkdir","name":"svn_mkdir","description":"Creates a directory in a working copy or repository","tag":"refentry","type":"Function","methodName":"svn_mkdir"},{"id":"function.svn-repos-create","name":"svn_repos_create","description":"Create a new subversion repository at path","tag":"refentry","type":"Function","methodName":"svn_repos_create"},{"id":"function.svn-repos-fs","name":"svn_repos_fs","description":"Gets a handle on the filesystem for a repository","tag":"refentry","type":"Function","methodName":"svn_repos_fs"},{"id":"function.svn-repos-fs-begin-txn-for-commit","name":"svn_repos_fs_begin_txn_for_commit","description":"Create a new transaction","tag":"refentry","type":"Function","methodName":"svn_repos_fs_begin_txn_for_commit"},{"id":"function.svn-repos-fs-commit-txn","name":"svn_repos_fs_commit_txn","description":"Commits a transaction and returns the new revision","tag":"refentry","type":"Function","methodName":"svn_repos_fs_commit_txn"},{"id":"function.svn-repos-hotcopy","name":"svn_repos_hotcopy","description":"Make a hot-copy of the repos at repospath; copy it to destpath","tag":"refentry","type":"Function","methodName":"svn_repos_hotcopy"},{"id":"function.svn-repos-open","name":"svn_repos_open","description":"Open a shared lock on a repository","tag":"refentry","type":"Function","methodName":"svn_repos_open"},{"id":"function.svn-repos-recover","name":"svn_repos_recover","description":"Run recovery procedures on the repository located at path","tag":"refentry","type":"Function","methodName":"svn_repos_recover"},{"id":"function.svn-revert","name":"svn_revert","description":"Revert changes to the working copy","tag":"refentry","type":"Function","methodName":"svn_revert"},{"id":"function.svn-status","name":"svn_status","description":"Returns the status of working copy files and directories","tag":"refentry","type":"Function","methodName":"svn_status"},{"id":"function.svn-update","name":"svn_update","description":"Update working copy","tag":"refentry","type":"Function","methodName":"svn_update"},{"id":"ref.svn","name":"SVN Functions","description":"Subversion","tag":"reference","type":"Extension","methodName":"SVN Functions"},{"id":"book.svn","name":"SVN","description":"Subversion","tag":"book","type":"Extension","methodName":"SVN"},{"id":"intro.tcpwrap","name":"Introduction","description":"TCP Wrappers","tag":"preface","type":"General","methodName":"Introduction"},{"id":"tcpwrap.installation","name":"Installation","description":"TCP Wrappers","tag":"section","type":"General","methodName":"Installation"},{"id":"tcpwrap.setup","name":"Installing\/Configuring","description":"TCP Wrappers","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.tcpwrap-check","name":"tcpwrap_check","description":"Performs a tcpwrap check","tag":"refentry","type":"Function","methodName":"tcpwrap_check"},{"id":"ref.tcpwrap","name":"TCP Functions","description":"TCP Wrappers","tag":"reference","type":"Extension","methodName":"TCP Functions"},{"id":"book.tcpwrap","name":"TCP","description":"TCP Wrappers","tag":"book","type":"Extension","methodName":"TCP"},{"id":"intro.varnish","name":"Introduction","description":"Varnish","tag":"preface","type":"General","methodName":"Introduction"},{"id":"varnish.requirements","name":"Requirements","description":"Varnish","tag":"section","type":"General","methodName":"Requirements"},{"id":"varnish.installation","name":"Installation","description":"Varnish","tag":"section","type":"General","methodName":"Installation"},{"id":"varnish.setup","name":"Installing\/Configuring","description":"Varnish","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"varnish.constants","name":"Predefined Constants","description":"Varnish","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"varnish.example.admin","name":"Basic VarnishAdmin usage","description":"Varnish","tag":"section","type":"General","methodName":"Basic VarnishAdmin usage"},{"id":"varnish.example.stat","name":"Basic VarnishStat usage","description":"Varnish","tag":"section","type":"General","methodName":"Basic VarnishStat usage"},{"id":"varnish.example.log","name":"Basic VarnishLog usage","description":"Varnish","tag":"section","type":"General","methodName":"Basic VarnishLog usage"},{"id":"varnish.examples","name":"Examples","description":"Varnish","tag":"chapter","type":"General","methodName":"Examples"},{"id":"varnishadmin.auth","name":"VarnishAdmin::auth","description":"Authenticate on a varnish instance","tag":"refentry","type":"Function","methodName":"auth"},{"id":"varnishadmin.ban","name":"VarnishAdmin::ban","description":"Ban URLs using a VCL expression","tag":"refentry","type":"Function","methodName":"ban"},{"id":"varnishadmin.banurl","name":"VarnishAdmin::banUrl","description":"Ban an URL using a VCL expression","tag":"refentry","type":"Function","methodName":"banUrl"},{"id":"varnishadmin.clearpanic","name":"VarnishAdmin::clearPanic","description":"Clear varnish instance panic messages","tag":"refentry","type":"Function","methodName":"clearPanic"},{"id":"varnishadmin.connect","name":"VarnishAdmin::connect","description":"Connect to a varnish instance administration interface","tag":"refentry","type":"Function","methodName":"connect"},{"id":"varnishadmin.construct","name":"VarnishAdmin::__construct","description":"VarnishAdmin constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"varnishadmin.disconnect","name":"VarnishAdmin::disconnect","description":"Disconnect from a varnish instance administration interface","tag":"refentry","type":"Function","methodName":"disconnect"},{"id":"varnishadmin.getpanic","name":"VarnishAdmin::getPanic","description":"Get the last panic message on a varnish instance","tag":"refentry","type":"Function","methodName":"getPanic"},{"id":"varnishadmin.getparams","name":"VarnishAdmin::getParams","description":"Fetch current varnish instance configuration parameters","tag":"refentry","type":"Function","methodName":"getParams"},{"id":"varnishadmin.isrunning","name":"VarnishAdmin::isRunning","description":"Check if the varnish slave process is currently running","tag":"refentry","type":"Function","methodName":"isRunning"},{"id":"varnishadmin.setcompat","name":"VarnishAdmin::setCompat","description":"Set the class compat configuration param","tag":"refentry","type":"Function","methodName":"setCompat"},{"id":"varnishadmin.sethost","name":"VarnishAdmin::setHost","description":"Set the class host configuration param","tag":"refentry","type":"Function","methodName":"setHost"},{"id":"varnishadmin.setident","name":"VarnishAdmin::setIdent","description":"Set the class ident configuration param","tag":"refentry","type":"Function","methodName":"setIdent"},{"id":"varnishadmin.setparam","name":"VarnishAdmin::setParam","description":"Set configuration param on the current varnish instance","tag":"refentry","type":"Function","methodName":"setParam"},{"id":"varnishadmin.setport","name":"VarnishAdmin::setPort","description":"Set the class port configuration param","tag":"refentry","type":"Function","methodName":"setPort"},{"id":"varnishadmin.setsecret","name":"VarnishAdmin::setSecret","description":"Set the class secret configuration param","tag":"refentry","type":"Function","methodName":"setSecret"},{"id":"varnishadmin.settimeout","name":"VarnishAdmin::setTimeout","description":"Set the class timeout configuration param","tag":"refentry","type":"Function","methodName":"setTimeout"},{"id":"varnishadmin.start","name":"VarnishAdmin::start","description":"Start varnish worker process","tag":"refentry","type":"Function","methodName":"start"},{"id":"varnishadmin.stop","name":"VarnishAdmin::stop","description":"Stop varnish worker process","tag":"refentry","type":"Function","methodName":"stop"},{"id":"class.varnishadmin","name":"VarnishAdmin","description":"The VarnishAdmin class","tag":"phpdoc:classref","type":"Class","methodName":"VarnishAdmin"},{"id":"varnishstat.construct","name":"VarnishStat::__construct","description":"VarnishStat constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"varnishstat.getsnapshot","name":"VarnishStat::getSnapshot","description":"Get the current varnish instance statistics snapshot","tag":"refentry","type":"Function","methodName":"getSnapshot"},{"id":"class.varnishstat","name":"VarnishStat","description":"The VarnishStat class","tag":"phpdoc:classref","type":"Class","methodName":"VarnishStat"},{"id":"varnishlog.construct","name":"VarnishLog::__construct","description":"Varnishlog constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"varnishlog.getline","name":"VarnishLog::getLine","description":"Get next log line","tag":"refentry","type":"Function","methodName":"getLine"},{"id":"varnishlog.gettagname","name":"VarnishLog::getTagName","description":"Get the log tag string representation by its index","tag":"refentry","type":"Function","methodName":"getTagName"},{"id":"class.varnishlog","name":"VarnishLog","description":"The VarnishLog class","tag":"phpdoc:classref","type":"Class","methodName":"VarnishLog"},{"id":"book.varnish","name":"Varnish","description":"Varnish","tag":"book","type":"Extension","methodName":"Varnish"},{"id":"intro.yaz","name":"Introduction","description":"YAZ","tag":"preface","type":"General","methodName":"Introduction"},{"id":"yaz.requirements","name":"Requirements","description":"YAZ","tag":"section","type":"General","methodName":"Requirements"},{"id":"yaz.installation","name":"Installation","description":"YAZ","tag":"section","type":"General","methodName":"Installation"},{"id":"yaz.setup","name":"Installing\/Configuring","description":"YAZ","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"yaz.examples","name":"Examples","description":"YAZ","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.yaz-addinfo","name":"yaz_addinfo","description":"Returns additional error information","tag":"refentry","type":"Function","methodName":"yaz_addinfo"},{"id":"function.yaz-ccl-conf","name":"yaz_ccl_conf","description":"Configure CCL parser","tag":"refentry","type":"Function","methodName":"yaz_ccl_conf"},{"id":"function.yaz-ccl-parse","name":"yaz_ccl_parse","description":"Invoke CCL Parser","tag":"refentry","type":"Function","methodName":"yaz_ccl_parse"},{"id":"function.yaz-close","name":"yaz_close","description":"Close YAZ connection","tag":"refentry","type":"Function","methodName":"yaz_close"},{"id":"function.yaz-connect","name":"yaz_connect","description":"Prepares for a connection to a Z39.50 server","tag":"refentry","type":"Function","methodName":"yaz_connect"},{"id":"function.yaz-database","name":"yaz_database","description":"Specifies the databases within a session","tag":"refentry","type":"Function","methodName":"yaz_database"},{"id":"function.yaz-element","name":"yaz_element","description":"Specifies Element-Set Name for retrieval","tag":"refentry","type":"Function","methodName":"yaz_element"},{"id":"function.yaz-errno","name":"yaz_errno","description":"Returns error number","tag":"refentry","type":"Function","methodName":"yaz_errno"},{"id":"function.yaz-error","name":"yaz_error","description":"Returns error description","tag":"refentry","type":"Function","methodName":"yaz_error"},{"id":"function.yaz-es","name":"yaz_es","description":"Prepares for an Extended Service Request","tag":"refentry","type":"Function","methodName":"yaz_es"},{"id":"function.yaz-es-result","name":"yaz_es_result","description":"Inspects Extended Services Result","tag":"refentry","type":"Function","methodName":"yaz_es_result"},{"id":"function.yaz-get-option","name":"yaz_get_option","description":"Returns value of option for connection","tag":"refentry","type":"Function","methodName":"yaz_get_option"},{"id":"function.yaz-hits","name":"yaz_hits","description":"Returns number of hits for last search","tag":"refentry","type":"Function","methodName":"yaz_hits"},{"id":"function.yaz-itemorder","name":"yaz_itemorder","description":"Prepares for Z39.50 Item Order with an ILL-Request package","tag":"refentry","type":"Function","methodName":"yaz_itemorder"},{"id":"function.yaz-present","name":"yaz_present","description":"Prepares for retrieval (Z39.50 present)","tag":"refentry","type":"Function","methodName":"yaz_present"},{"id":"function.yaz-range","name":"yaz_range","description":"Specifies a range of records to retrieve","tag":"refentry","type":"Function","methodName":"yaz_range"},{"id":"function.yaz-record","name":"yaz_record","description":"Returns a record","tag":"refentry","type":"Function","methodName":"yaz_record"},{"id":"function.yaz-scan","name":"yaz_scan","description":"Prepares for a scan","tag":"refentry","type":"Function","methodName":"yaz_scan"},{"id":"function.yaz-scan-result","name":"yaz_scan_result","description":"Returns Scan Response result","tag":"refentry","type":"Function","methodName":"yaz_scan_result"},{"id":"function.yaz-schema","name":"yaz_schema","description":"Specifies schema for retrieval","tag":"refentry","type":"Function","methodName":"yaz_schema"},{"id":"function.yaz-search","name":"yaz_search","description":"Prepares for a search","tag":"refentry","type":"Function","methodName":"yaz_search"},{"id":"function.yaz-set-option","name":"yaz_set_option","description":"Sets one or more options for connection","tag":"refentry","type":"Function","methodName":"yaz_set_option"},{"id":"function.yaz-sort","name":"yaz_sort","description":"Sets sorting criteria","tag":"refentry","type":"Function","methodName":"yaz_sort"},{"id":"function.yaz-syntax","name":"yaz_syntax","description":"Specifies the preferred record syntax for retrieval","tag":"refentry","type":"Function","methodName":"yaz_syntax"},{"id":"function.yaz-wait","name":"yaz_wait","description":"Wait for Z39.50 requests to complete","tag":"refentry","type":"Function","methodName":"yaz_wait"},{"id":"ref.yaz","name":"YAZ Functions","description":"YAZ","tag":"reference","type":"Extension","methodName":"YAZ Functions"},{"id":"book.yaz","name":"YAZ","description":"Other Services","tag":"book","type":"Extension","methodName":"YAZ"},{"id":"intro.zmq","name":"Introduction","description":"ZMQ","tag":"preface","type":"General","methodName":"Introduction"},{"id":"zmq.requirements","name":"Requirements","description":"ZMQ","tag":"section","type":"General","methodName":"Requirements"},{"id":"zmq.installation","name":"Installation","description":"ZMQ","tag":"section","type":"General","methodName":"Installation"},{"id":"zmq.setup","name":"Installing\/Configuring","description":"ZMQ","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"zmq.construct","name":"ZMQ::__construct","description":"ZMQ constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.zmq","name":"ZMQ","description":"The ZMQ class","tag":"phpdoc:classref","type":"Class","methodName":"ZMQ"},{"id":"zmqcontext.construct","name":"ZMQContext::__construct","description":"Construct a new ZMQContext object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"zmqcontext.getopt","name":"ZMQContext::getOpt","description":"Get context option","tag":"refentry","type":"Function","methodName":"getOpt"},{"id":"zmqcontext.getsocket","name":"ZMQContext::getSocket","description":"Create a new socket","tag":"refentry","type":"Function","methodName":"getSocket"},{"id":"zmqcontext.ispersistent","name":"ZMQContext::isPersistent","description":"Whether the context is persistent","tag":"refentry","type":"Function","methodName":"isPersistent"},{"id":"zmqcontext.setopt","name":"ZMQContext::setOpt","description":"Set a socket option","tag":"refentry","type":"Function","methodName":"setOpt"},{"id":"class.zmqcontext","name":"ZMQContext","description":"The ZMQContext class","tag":"phpdoc:classref","type":"Class","methodName":"ZMQContext"},{"id":"zmqsocket.bind","name":"ZMQSocket::bind","description":"Bind the socket","tag":"refentry","type":"Function","methodName":"bind"},{"id":"zmqsocket.connect","name":"ZMQSocket::connect","description":"Connect the socket","tag":"refentry","type":"Function","methodName":"connect"},{"id":"zmqsocket.construct","name":"ZMQSocket::__construct","description":"Construct a new ZMQSocket","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"zmqsocket.disconnect","name":"ZMQSocket::disconnect","description":"Disconnect a socket","tag":"refentry","type":"Function","methodName":"disconnect"},{"id":"zmqsocket.getendpoints","name":"ZMQSocket::getEndpoints","description":"Get list of endpoints","tag":"refentry","type":"Function","methodName":"getEndpoints"},{"id":"zmqsocket.getpersistentid","name":"ZMQSocket::getPersistentId","description":"Get the persistent id","tag":"refentry","type":"Function","methodName":"getPersistentId"},{"id":"zmqsocket.getsockettype","name":"ZMQSocket::getSocketType","description":"Get the socket type","tag":"refentry","type":"Function","methodName":"getSocketType"},{"id":"zmqsocket.getsockopt","name":"ZMQSocket::getSockOpt","description":"Get socket option","tag":"refentry","type":"Function","methodName":"getSockOpt"},{"id":"zmqsocket.ispersistent","name":"ZMQSocket::isPersistent","description":"Whether the socket is persistent","tag":"refentry","type":"Function","methodName":"isPersistent"},{"id":"zmqsocket.recv","name":"ZMQSocket::recv","description":"Receives a message","tag":"refentry","type":"Function","methodName":"recv"},{"id":"zmqsocket.recvmulti","name":"ZMQSocket::recvMulti","description":"Receives a multipart message","tag":"refentry","type":"Function","methodName":"recvMulti"},{"id":"zmqsocket.send","name":"ZMQSocket::send","description":"Sends a message","tag":"refentry","type":"Function","methodName":"send"},{"id":"zmqsocket.sendmulti","name":"ZMQSocket::sendmulti","description":"Sends a multipart message","tag":"refentry","type":"Function","methodName":"sendmulti"},{"id":"zmqsocket.setsockopt","name":"ZMQSocket::setSockOpt","description":"Set a socket option","tag":"refentry","type":"Function","methodName":"setSockOpt"},{"id":"zmqsocket.unbind","name":"ZMQSocket::unbind","description":"Unbind the socket","tag":"refentry","type":"Function","methodName":"unbind"},{"id":"class.zmqsocket","name":"ZMQSocket","description":"The ZMQSocket class","tag":"phpdoc:classref","type":"Class","methodName":"ZMQSocket"},{"id":"zmqpoll.add","name":"ZMQPoll::add","description":"Add item to the poll set","tag":"refentry","type":"Function","methodName":"add"},{"id":"zmqpoll.clear","name":"ZMQPoll::clear","description":"Clear the poll set","tag":"refentry","type":"Function","methodName":"clear"},{"id":"zmqpoll.count","name":"ZMQPoll::count","description":"Count items in the poll set","tag":"refentry","type":"Function","methodName":"count"},{"id":"zmqpoll.getlasterrors","name":"ZMQPoll::getLastErrors","description":"Get poll errors","tag":"refentry","type":"Function","methodName":"getLastErrors"},{"id":"zmqpoll.poll","name":"ZMQPoll::poll","description":"Poll the items","tag":"refentry","type":"Function","methodName":"poll"},{"id":"zmqpoll.remove","name":"ZMQPoll::remove","description":"Remove item from poll set","tag":"refentry","type":"Function","methodName":"remove"},{"id":"class.zmqpoll","name":"ZMQPoll","description":"The ZMQPoll class","tag":"phpdoc:classref","type":"Class","methodName":"ZMQPoll"},{"id":"zmqdevice.construct","name":"ZMQDevice::__construct","description":"Construct a new device","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"zmqdevice.getidletimeout","name":"ZMQDevice::getIdleTimeout","description":"Get the idle timeout","tag":"refentry","type":"Function","methodName":"getIdleTimeout"},{"id":"zmqdevice.gettimertimeout","name":"ZMQDevice::getTimerTimeout","description":"Get the timer timeout","tag":"refentry","type":"Function","methodName":"getTimerTimeout"},{"id":"zmqdevice.run","name":"ZMQDevice::run","description":"Run the new device","tag":"refentry","type":"Function","methodName":"run"},{"id":"zmqdevice.setidlecallback","name":"ZMQDevice::setIdleCallback","description":"Set the idle callback function","tag":"refentry","type":"Function","methodName":"setIdleCallback"},{"id":"zmqdevice.setidletimeout","name":"ZMQDevice::setIdleTimeout","description":"Set the idle timeout","tag":"refentry","type":"Function","methodName":"setIdleTimeout"},{"id":"zmqdevice.settimercallback","name":"ZMQDevice::setTimerCallback","description":"Set the timer callback function","tag":"refentry","type":"Function","methodName":"setTimerCallback"},{"id":"zmqdevice.settimertimeout","name":"ZMQDevice::setTimerTimeout","description":"Set the timer timeout","tag":"refentry","type":"Function","methodName":"setTimerTimeout"},{"id":"class.zmqdevice","name":"ZMQDevice","description":"The ZMQDevice class","tag":"phpdoc:classref","type":"Class","methodName":"ZMQDevice"},{"id":"book.zmq","name":"0MQ messaging","description":"ZMQ","tag":"book","type":"Extension","methodName":"0MQ messaging"},{"id":"intro.zookeeper","name":"Introduction","description":"ZooKeeper","tag":"preface","type":"General","methodName":"Introduction"},{"id":"zookeeper.requirements","name":"Requirements","description":"ZooKeeper","tag":"section","type":"General","methodName":"Requirements"},{"id":"zookeeper.installation","name":"Installation","description":"ZooKeeper","tag":"section","type":"General","methodName":"Installation"},{"id":"zookeeper.configuration","name":"Runtime Configuration","description":"ZooKeeper","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"zookeeper.setup","name":"Installing\/Configuring","description":"ZooKeeper","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.zookeeper-dispatch","name":"zookeeper_dispatch","description":"Calls callbacks for pending operations","tag":"refentry","type":"Function","methodName":"zookeeper_dispatch"},{"id":"ref.zookeeper","name":"ZooKeeper Functions","description":"ZooKeeper","tag":"reference","type":"Extension","methodName":"ZooKeeper Functions"},{"id":"zookeeper.addauth","name":"Zookeeper::addAuth","description":"Specify application credentials","tag":"refentry","type":"Function","methodName":"addAuth"},{"id":"zookeeper.close","name":"Zookeeper::close","description":"Close the zookeeper handle and free up any resources","tag":"refentry","type":"Function","methodName":"close"},{"id":"zookeeper.connect","name":"Zookeeper::connect","description":"Create a handle to used communicate with zookeeper","tag":"refentry","type":"Function","methodName":"connect"},{"id":"zookeeper.construct","name":"Zookeeper::__construct","description":"Create a handle to used communicate with zookeeper","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"zookeeper.create","name":"Zookeeper::create","description":"Create a node synchronously","tag":"refentry","type":"Function","methodName":"create"},{"id":"zookeeper.delete","name":"Zookeeper::delete","description":"Delete a node in zookeeper synchronously","tag":"refentry","type":"Function","methodName":"delete"},{"id":"zookeeper.exists","name":"Zookeeper::exists","description":"Checks the existence of a node in zookeeper synchronously","tag":"refentry","type":"Function","methodName":"exists"},{"id":"zookeeper.get","name":"Zookeeper::get","description":"Gets the data associated with a node synchronously","tag":"refentry","type":"Function","methodName":"get"},{"id":"zookeeper.getacl","name":"Zookeeper::getAcl","description":"Gets the acl associated with a node synchronously","tag":"refentry","type":"Function","methodName":"getAcl"},{"id":"zookeeper.getchildren","name":"Zookeeper::getChildren","description":"Lists the children of a node synchronously","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"zookeeper.getclientid","name":"Zookeeper::getClientId","description":"Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)","tag":"refentry","type":"Function","methodName":"getClientId"},{"id":"zookeeper.getconfig","name":"Zookeeper::getConfig","description":"Get instance of ZookeeperConfig","tag":"refentry","type":"Function","methodName":"getConfig"},{"id":"zookeeper.getrecvtimeout","name":"Zookeeper::getRecvTimeout","description":"Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect","tag":"refentry","type":"Function","methodName":"getRecvTimeout"},{"id":"zookeeper.getstate","name":"Zookeeper::getState","description":"Get the state of the zookeeper connection","tag":"refentry","type":"Function","methodName":"getState"},{"id":"zookeeper.isrecoverable","name":"Zookeeper::isRecoverable","description":"Checks if the current zookeeper connection state can be recovered","tag":"refentry","type":"Function","methodName":"isRecoverable"},{"id":"zookeeper.set","name":"Zookeeper::set","description":"Sets the data associated with a node","tag":"refentry","type":"Function","methodName":"set"},{"id":"zookeeper.setacl","name":"Zookeeper::setAcl","description":"Sets the acl associated with a node synchronously","tag":"refentry","type":"Function","methodName":"setAcl"},{"id":"zookeeper.setdebuglevel","name":"Zookeeper::setDebugLevel","description":"Sets the debugging level for the library","tag":"refentry","type":"Function","methodName":"setDebugLevel"},{"id":"zookeeper.setdeterministicconnorder","name":"Zookeeper::setDeterministicConnOrder","description":"Enable\/disable quorum endpoint order randomization","tag":"refentry","type":"Function","methodName":"setDeterministicConnOrder"},{"id":"zookeeper.setlogstream","name":"Zookeeper::setLogStream","description":"Sets the stream to be used by the library for logging","tag":"refentry","type":"Function","methodName":"setLogStream"},{"id":"zookeeper.setwatcher","name":"Zookeeper::setWatcher","description":"Set a watcher function","tag":"refentry","type":"Function","methodName":"setWatcher"},{"id":"class.zookeeper","name":"Zookeeper","description":"The Zookeeper class","tag":"phpdoc:classref","type":"Class","methodName":"Zookeeper"},{"id":"zookeeperconfig.add","name":"ZookeeperConfig::add","description":"Add servers to the ensemble","tag":"refentry","type":"Function","methodName":"add"},{"id":"zookeeperconfig.get","name":"ZookeeperConfig::get","description":"Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously","tag":"refentry","type":"Function","methodName":"get"},{"id":"zookeeperconfig.remove","name":"ZookeeperConfig::remove","description":"Remove servers from the ensemble","tag":"refentry","type":"Function","methodName":"remove"},{"id":"zookeeperconfig.set","name":"ZookeeperConfig::set","description":"Change ZK cluster ensemble membership and roles of ensemble peers","tag":"refentry","type":"Function","methodName":"set"},{"id":"class.zookeeperconfig","name":"ZookeeperConfig","description":"The ZookeeperConfig class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperConfig"},{"id":"class.zookeeperexception","name":"ZookeeperException","description":"The ZookeeperException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperException"},{"id":"class.zookeeperauthenticationexception","name":"ZookeeperAuthenticationException","description":"The ZookeeperAuthenticationException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperAuthenticationException"},{"id":"class.zookeeperconnectionexception","name":"ZookeeperConnectionException","description":"The ZookeeperConnectionException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperConnectionException"},{"id":"class.zookeepermarshallingexception","name":"ZookeeperMarshallingException","description":"The ZookeeperMarshallingException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperMarshallingException"},{"id":"class.zookeepernonodeexception","name":"ZookeeperNoNodeException","description":"The ZookeeperNoNodeException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperNoNodeException"},{"id":"class.zookeeperoperationtimeoutexception","name":"ZookeeperOperationTimeoutException","description":"The ZookeeperOperationTimeoutException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperOperationTimeoutException"},{"id":"class.zookeepersessionexception","name":"ZookeeperSessionException","description":"The ZookeeperSessionException class","tag":"phpdoc:classref","type":"Class","methodName":"ZookeeperSessionException"},{"id":"book.zookeeper","name":"ZooKeeper","description":"ZooKeeper","tag":"book","type":"Extension","methodName":"ZooKeeper"},{"id":"refs.remote.other","name":"Other Services","description":"Function Reference","tag":"set","type":"Extension","methodName":"Other Services"},{"id":"intro.solr","name":"Introduction","description":"Apache Solr","tag":"preface","type":"General","methodName":"Introduction"},{"id":"solr.requirements","name":"Requirements","description":"Apache Solr","tag":"section","type":"General","methodName":"Requirements"},{"id":"solr.installation","name":"Installation","description":"Apache Solr","tag":"section","type":"General","methodName":"Installation"},{"id":"solr.setup","name":"Installing\/Configuring","description":"Apache Solr","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"solr.constants","name":"Predefined Constants","description":"Apache Solr","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.solr-get-version","name":"solr_get_version","description":"Returns the current version of the Apache Solr extension","tag":"refentry","type":"Function","methodName":"solr_get_version"},{"id":"ref.solr","name":"Solr Functions","description":"Apache Solr","tag":"reference","type":"Extension","methodName":"Solr Functions"},{"id":"solr.examples","name":"Examples","description":"Apache Solr","tag":"chapter","type":"General","methodName":"Examples"},{"id":"solrutils.digestxmlresponse","name":"SolrUtils::digestXmlResponse","description":"Parses an response XML string into a SolrObject","tag":"refentry","type":"Function","methodName":"digestXmlResponse"},{"id":"solrutils.escapequerychars","name":"SolrUtils::escapeQueryChars","description":"Escapes a lucene query string","tag":"refentry","type":"Function","methodName":"escapeQueryChars"},{"id":"solrutils.getsolrversion","name":"SolrUtils::getSolrVersion","description":"Returns the current version of the Solr extension","tag":"refentry","type":"Function","methodName":"getSolrVersion"},{"id":"solrutils.queryphrase","name":"SolrUtils::queryPhrase","description":"Prepares a phrase from an unescaped lucene string","tag":"refentry","type":"Function","methodName":"queryPhrase"},{"id":"class.solrutils","name":"SolrUtils","description":"The SolrUtils class","tag":"phpdoc:classref","type":"Class","methodName":"SolrUtils"},{"id":"solrinputdocument.addchilddocument","name":"SolrInputDocument::addChildDocument","description":"Adds a child document for block indexing","tag":"refentry","type":"Function","methodName":"addChildDocument"},{"id":"solrinputdocument.addchilddocuments","name":"SolrInputDocument::addChildDocuments","description":"Adds an array of child documents","tag":"refentry","type":"Function","methodName":"addChildDocuments"},{"id":"solrinputdocument.addfield","name":"SolrInputDocument::addField","description":"Adds a field to the document","tag":"refentry","type":"Function","methodName":"addField"},{"id":"solrinputdocument.clear","name":"SolrInputDocument::clear","description":"Resets the input document","tag":"refentry","type":"Function","methodName":"clear"},{"id":"solrinputdocument.clone","name":"SolrInputDocument::__clone","description":"Creates a copy of a SolrDocument","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"solrinputdocument.construct","name":"SolrInputDocument::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrinputdocument.deletefield","name":"SolrInputDocument::deleteField","description":"Removes a field from the document","tag":"refentry","type":"Function","methodName":"deleteField"},{"id":"solrinputdocument.destruct","name":"SolrInputDocument::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"solrinputdocument.fieldexists","name":"SolrInputDocument::fieldExists","description":"Checks if a field exists","tag":"refentry","type":"Function","methodName":"fieldExists"},{"id":"solrinputdocument.getboost","name":"SolrInputDocument::getBoost","description":"Retrieves the current boost value for the document","tag":"refentry","type":"Function","methodName":"getBoost"},{"id":"solrinputdocument.getchilddocuments","name":"SolrInputDocument::getChildDocuments","description":"Returns an array of child documents (SolrInputDocument)","tag":"refentry","type":"Function","methodName":"getChildDocuments"},{"id":"solrinputdocument.getchilddocumentscount","name":"SolrInputDocument::getChildDocumentsCount","description":"Returns the number of child documents","tag":"refentry","type":"Function","methodName":"getChildDocumentsCount"},{"id":"solrinputdocument.getfield","name":"SolrInputDocument::getField","description":"Retrieves a field by name","tag":"refentry","type":"Function","methodName":"getField"},{"id":"solrinputdocument.getfieldboost","name":"SolrInputDocument::getFieldBoost","description":"Retrieves the boost value for a particular field","tag":"refentry","type":"Function","methodName":"getFieldBoost"},{"id":"solrinputdocument.getfieldcount","name":"SolrInputDocument::getFieldCount","description":"Returns the number of fields in the document","tag":"refentry","type":"Function","methodName":"getFieldCount"},{"id":"solrinputdocument.getfieldnames","name":"SolrInputDocument::getFieldNames","description":"Returns an array containing all the fields in the document","tag":"refentry","type":"Function","methodName":"getFieldNames"},{"id":"solrinputdocument.haschilddocuments","name":"SolrInputDocument::hasChildDocuments","description":"Returns true if the document has any child documents","tag":"refentry","type":"Function","methodName":"hasChildDocuments"},{"id":"solrinputdocument.merge","name":"SolrInputDocument::merge","description":"Merges one input document into another","tag":"refentry","type":"Function","methodName":"merge"},{"id":"solrinputdocument.reset","name":"SolrInputDocument::reset","description":"Alias of SolrInputDocument::clear","tag":"refentry","type":"Function","methodName":"reset"},{"id":"solrinputdocument.setboost","name":"SolrInputDocument::setBoost","description":"Sets the boost value for this document","tag":"refentry","type":"Function","methodName":"setBoost"},{"id":"solrinputdocument.setfieldboost","name":"SolrInputDocument::setFieldBoost","description":"Sets the index-time boost value for a field","tag":"refentry","type":"Function","methodName":"setFieldBoost"},{"id":"solrinputdocument.sort","name":"SolrInputDocument::sort","description":"Sorts the fields within the document","tag":"refentry","type":"Function","methodName":"sort"},{"id":"solrinputdocument.toarray","name":"SolrInputDocument::toArray","description":"Returns an array representation of the input document","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"class.solrinputdocument","name":"SolrInputDocument","description":"The SolrInputDocument class","tag":"phpdoc:classref","type":"Class","methodName":"SolrInputDocument"},{"id":"solrdocument.addfield","name":"SolrDocument::addField","description":"Adds a field to the document","tag":"refentry","type":"Function","methodName":"addField"},{"id":"solrdocument.clear","name":"SolrDocument::clear","description":"Drops all the fields in the document","tag":"refentry","type":"Function","methodName":"clear"},{"id":"solrdocument.clone","name":"SolrDocument::__clone","description":"Creates a copy of a SolrDocument object","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"solrdocument.construct","name":"SolrDocument::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrdocument.current","name":"SolrDocument::current","description":"Retrieves the current field","tag":"refentry","type":"Function","methodName":"current"},{"id":"solrdocument.deletefield","name":"SolrDocument::deleteField","description":"Removes a field from the document","tag":"refentry","type":"Function","methodName":"deleteField"},{"id":"solrdocument.destruct","name":"SolrDocument::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"solrdocument.fieldexists","name":"SolrDocument::fieldExists","description":"Checks if a field exists in the document","tag":"refentry","type":"Function","methodName":"fieldExists"},{"id":"solrdocument.get","name":"SolrDocument::__get","description":"Access the field as a property","tag":"refentry","type":"Function","methodName":"__get"},{"id":"solrdocument.getchilddocuments","name":"SolrDocument::getChildDocuments","description":"Returns an array of child documents (SolrDocument)","tag":"refentry","type":"Function","methodName":"getChildDocuments"},{"id":"solrdocument.getchilddocumentscount","name":"SolrDocument::getChildDocumentsCount","description":"Returns the number of child documents","tag":"refentry","type":"Function","methodName":"getChildDocumentsCount"},{"id":"solrdocument.getfield","name":"SolrDocument::getField","description":"Retrieves a field by name","tag":"refentry","type":"Function","methodName":"getField"},{"id":"solrdocument.getfieldcount","name":"SolrDocument::getFieldCount","description":"Returns the number of fields in this document","tag":"refentry","type":"Function","methodName":"getFieldCount"},{"id":"solrdocument.getfieldnames","name":"SolrDocument::getFieldNames","description":"Returns an array of fields names in the document","tag":"refentry","type":"Function","methodName":"getFieldNames"},{"id":"solrdocument.getinputdocument","name":"SolrDocument::getInputDocument","description":"Returns a SolrInputDocument equivalent of the object","tag":"refentry","type":"Function","methodName":"getInputDocument"},{"id":"solrdocument.haschilddocuments","name":"SolrDocument::hasChildDocuments","description":"Checks whether the document has any child documents","tag":"refentry","type":"Function","methodName":"hasChildDocuments"},{"id":"solrdocument.isset","name":"SolrDocument::__isset","description":"Checks if a field exists","tag":"refentry","type":"Function","methodName":"__isset"},{"id":"solrdocument.key","name":"SolrDocument::key","description":"Retrieves the current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"solrdocument.merge","name":"SolrDocument::merge","description":"Merges source to the current SolrDocument","tag":"refentry","type":"Function","methodName":"merge"},{"id":"solrdocument.next","name":"SolrDocument::next","description":"Moves the internal pointer to the next field","tag":"refentry","type":"Function","methodName":"next"},{"id":"solrdocument.offsetexists","name":"SolrDocument::offsetExists","description":"Checks if a particular field exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"solrdocument.offsetget","name":"SolrDocument::offsetGet","description":"Retrieves a field","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"solrdocument.offsetset","name":"SolrDocument::offsetSet","description":"Adds a field to the document","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"solrdocument.offsetunset","name":"SolrDocument::offsetUnset","description":"Removes a field","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"solrdocument.reset","name":"SolrDocument::reset","description":"Alias of SolrDocument::clear","tag":"refentry","type":"Function","methodName":"reset"},{"id":"solrdocument.rewind","name":"SolrDocument::rewind","description":"Resets the internal pointer to the beginning","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"solrdocument.serialize","name":"SolrDocument::serialize","description":"Used for custom serialization","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"solrdocument.set","name":"SolrDocument::__set","description":"Adds another field to the document","tag":"refentry","type":"Function","methodName":"__set"},{"id":"solrdocument.sort","name":"SolrDocument::sort","description":"Sorts the fields in the document","tag":"refentry","type":"Function","methodName":"sort"},{"id":"solrdocument.toarray","name":"SolrDocument::toArray","description":"Returns an array representation of the document","tag":"refentry","type":"Function","methodName":"toArray"},{"id":"solrdocument.unserialize","name":"SolrDocument::unserialize","description":"Custom serialization of SolrDocument objects","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"solrdocument.unset","name":"SolrDocument::__unset","description":"Removes a field from the document","tag":"refentry","type":"Function","methodName":"__unset"},{"id":"solrdocument.valid","name":"SolrDocument::valid","description":"Checks if the current position internally is still valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"class.solrdocument","name":"SolrDocument","description":"The SolrDocument class","tag":"phpdoc:classref","type":"Class","methodName":"SolrDocument"},{"id":"solrdocumentfield.construct","name":"SolrDocumentField::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrdocumentfield.destruct","name":"SolrDocumentField::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"class.solrdocumentfield","name":"SolrDocumentField","description":"The SolrDocumentField class","tag":"phpdoc:classref","type":"Class","methodName":"SolrDocumentField"},{"id":"solrobject.construct","name":"SolrObject::__construct","description":"Creates Solr object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrobject.destruct","name":"SolrObject::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"solrobject.getpropertynames","name":"SolrObject::getPropertyNames","description":"Returns an array of all the names of the properties","tag":"refentry","type":"Function","methodName":"getPropertyNames"},{"id":"solrobject.offsetexists","name":"SolrObject::offsetExists","description":"Checks if the property exists","tag":"refentry","type":"Function","methodName":"offsetExists"},{"id":"solrobject.offsetget","name":"SolrObject::offsetGet","description":"Used to retrieve a property","tag":"refentry","type":"Function","methodName":"offsetGet"},{"id":"solrobject.offsetset","name":"SolrObject::offsetSet","description":"Sets the value for a property","tag":"refentry","type":"Function","methodName":"offsetSet"},{"id":"solrobject.offsetunset","name":"SolrObject::offsetUnset","description":"Unsets the value for the property","tag":"refentry","type":"Function","methodName":"offsetUnset"},{"id":"class.solrobject","name":"SolrObject","description":"The SolrObject class","tag":"phpdoc:classref","type":"Class","methodName":"SolrObject"},{"id":"solrclient.adddocument","name":"SolrClient::addDocument","description":"Adds a document to the index","tag":"refentry","type":"Function","methodName":"addDocument"},{"id":"solrclient.adddocuments","name":"SolrClient::addDocuments","description":"Adds a collection of SolrInputDocument instances to the index","tag":"refentry","type":"Function","methodName":"addDocuments"},{"id":"solrclient.commit","name":"SolrClient::commit","description":"Finalizes all add\/deletes made to the index","tag":"refentry","type":"Function","methodName":"commit"},{"id":"solrclient.construct","name":"SolrClient::__construct","description":"Constructor for the SolrClient object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrclient.deletebyid","name":"SolrClient::deleteById","description":"Delete by Id","tag":"refentry","type":"Function","methodName":"deleteById"},{"id":"solrclient.deletebyids","name":"SolrClient::deleteByIds","description":"Deletes by Ids","tag":"refentry","type":"Function","methodName":"deleteByIds"},{"id":"solrclient.deletebyqueries","name":"SolrClient::deleteByQueries","description":"Removes all documents matching any of the queries","tag":"refentry","type":"Function","methodName":"deleteByQueries"},{"id":"solrclient.deletebyquery","name":"SolrClient::deleteByQuery","description":"Deletes all documents matching the given query","tag":"refentry","type":"Function","methodName":"deleteByQuery"},{"id":"solrclient.destruct","name":"SolrClient::__destruct","description":"Destructor for SolrClient","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"solrclient.getbyid","name":"SolrClient::getById","description":"Get Document By Id. Utilizes Solr Realtime Get (RTG)","tag":"refentry","type":"Function","methodName":"getById"},{"id":"solrclient.getbyids","name":"SolrClient::getByIds","description":"Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)","tag":"refentry","type":"Function","methodName":"getByIds"},{"id":"solrclient.getdebug","name":"SolrClient::getDebug","description":"Returns the debug data for the last connection attempt","tag":"refentry","type":"Function","methodName":"getDebug"},{"id":"solrclient.getoptions","name":"SolrClient::getOptions","description":"Returns the client options set internally","tag":"refentry","type":"Function","methodName":"getOptions"},{"id":"solrclient.optimize","name":"SolrClient::optimize","description":"Defragments the index","tag":"refentry","type":"Function","methodName":"optimize"},{"id":"solrclient.ping","name":"SolrClient::ping","description":"Checks if Solr server is still up","tag":"refentry","type":"Function","methodName":"ping"},{"id":"solrclient.query","name":"SolrClient::query","description":"Sends a query to the server","tag":"refentry","type":"Function","methodName":"query"},{"id":"solrclient.request","name":"SolrClient::request","description":"Sends a raw update request","tag":"refentry","type":"Function","methodName":"request"},{"id":"solrclient.rollback","name":"SolrClient::rollback","description":"Rollbacks all add\/deletes made to the index since the last commit","tag":"refentry","type":"Function","methodName":"rollback"},{"id":"solrclient.setresponsewriter","name":"SolrClient::setResponseWriter","description":"Sets the response writer used to prepare the response from Solr","tag":"refentry","type":"Function","methodName":"setResponseWriter"},{"id":"solrclient.setservlet","name":"SolrClient::setServlet","description":"Changes the specified servlet type to a new value","tag":"refentry","type":"Function","methodName":"setServlet"},{"id":"solrclient.system","name":"SolrClient::system","description":"Retrieve Solr Server information","tag":"refentry","type":"Function","methodName":"system"},{"id":"solrclient.threads","name":"SolrClient::threads","description":"Checks the threads status","tag":"refentry","type":"Function","methodName":"threads"},{"id":"class.solrclient","name":"SolrClient","description":"The SolrClient class","tag":"phpdoc:classref","type":"Class","methodName":"SolrClient"},{"id":"solrresponse.getdigestedresponse","name":"SolrResponse::getDigestedResponse","description":"Returns the XML response as serialized PHP data","tag":"refentry","type":"Function","methodName":"getDigestedResponse"},{"id":"solrresponse.gethttpstatus","name":"SolrResponse::getHttpStatus","description":"Returns the HTTP status of the response","tag":"refentry","type":"Function","methodName":"getHttpStatus"},{"id":"solrresponse.gethttpstatusmessage","name":"SolrResponse::getHttpStatusMessage","description":"Returns more details on the HTTP status","tag":"refentry","type":"Function","methodName":"getHttpStatusMessage"},{"id":"solrresponse.getrawrequest","name":"SolrResponse::getRawRequest","description":"Returns the raw request sent to the Solr server","tag":"refentry","type":"Function","methodName":"getRawRequest"},{"id":"solrresponse.getrawrequestheaders","name":"SolrResponse::getRawRequestHeaders","description":"Returns the raw request headers sent to the Solr server","tag":"refentry","type":"Function","methodName":"getRawRequestHeaders"},{"id":"solrresponse.getrawresponse","name":"SolrResponse::getRawResponse","description":"Returns the raw response from the server","tag":"refentry","type":"Function","methodName":"getRawResponse"},{"id":"solrresponse.getrawresponseheaders","name":"SolrResponse::getRawResponseHeaders","description":"Returns the raw response headers from the server","tag":"refentry","type":"Function","methodName":"getRawResponseHeaders"},{"id":"solrresponse.getrequesturl","name":"SolrResponse::getRequestUrl","description":"Returns the full URL the request was sent to","tag":"refentry","type":"Function","methodName":"getRequestUrl"},{"id":"solrresponse.getresponse","name":"SolrResponse::getResponse","description":"Returns a SolrObject representing the XML response from the server","tag":"refentry","type":"Function","methodName":"getResponse"},{"id":"solrresponse.setparsemode","name":"SolrResponse::setParseMode","description":"Sets the parse mode","tag":"refentry","type":"Function","methodName":"setParseMode"},{"id":"solrresponse.success","name":"SolrResponse::success","description":"Was the request a success","tag":"refentry","type":"Function","methodName":"success"},{"id":"class.solrresponse","name":"SolrResponse","description":"The SolrResponse class","tag":"phpdoc:classref","type":"Class","methodName":"SolrResponse"},{"id":"solrqueryresponse.construct","name":"SolrQueryResponse::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrqueryresponse.destruct","name":"SolrQueryResponse::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"class.solrqueryresponse","name":"SolrQueryResponse","description":"The SolrQueryResponse class","tag":"phpdoc:classref","type":"Class","methodName":"SolrQueryResponse"},{"id":"solrupdateresponse.construct","name":"SolrUpdateResponse::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrupdateresponse.destruct","name":"SolrUpdateResponse::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"class.solrupdateresponse","name":"SolrUpdateResponse","description":"The SolrUpdateResponse class","tag":"phpdoc:classref","type":"Class","methodName":"SolrUpdateResponse"},{"id":"solrpingresponse.construct","name":"SolrPingResponse::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrpingresponse.destruct","name":"SolrPingResponse::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"solrpingresponse.getresponse","name":"SolrPingResponse::getResponse","description":"Returns the response from the server","tag":"refentry","type":"Function","methodName":"getResponse"},{"id":"class.solrpingresponse","name":"SolrPingResponse","description":"The SolrPingResponse class","tag":"phpdoc:classref","type":"Class","methodName":"SolrPingResponse"},{"id":"solrgenericresponse.construct","name":"SolrGenericResponse::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrgenericresponse.destruct","name":"SolrGenericResponse::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"class.solrgenericresponse","name":"SolrGenericResponse","description":"The SolrGenericResponse class","tag":"phpdoc:classref","type":"Class","methodName":"SolrGenericResponse"},{"id":"solrparams.add","name":"SolrParams::add","description":"Alias of SolrParams::addParam","tag":"refentry","type":"Function","methodName":"add"},{"id":"solrparams.addparam","name":"SolrParams::addParam","description":"Adds a parameter to the object","tag":"refentry","type":"Function","methodName":"addParam"},{"id":"solrparams.get","name":"SolrParams::get","description":"Alias of SolrParams::getParam","tag":"refentry","type":"Function","methodName":"get"},{"id":"solrparams.getparam","name":"SolrParams::getParam","description":"Returns a parameter value","tag":"refentry","type":"Function","methodName":"getParam"},{"id":"solrparams.getparams","name":"SolrParams::getParams","description":"Returns an array of non URL-encoded parameters","tag":"refentry","type":"Function","methodName":"getParams"},{"id":"solrparams.getpreparedparams","name":"SolrParams::getPreparedParams","description":"Returns an array of URL-encoded parameters","tag":"refentry","type":"Function","methodName":"getPreparedParams"},{"id":"solrparams.serialize","name":"SolrParams::serialize","description":"Used for custom serialization","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"solrparams.set","name":"SolrParams::set","description":"Alias of SolrParams::setParam","tag":"refentry","type":"Function","methodName":"set"},{"id":"solrparams.setparam","name":"SolrParams::setParam","description":"Sets the parameter to the specified value","tag":"refentry","type":"Function","methodName":"setParam"},{"id":"solrparams.tostring","name":"SolrParams::toString","description":"Returns all the name-value pair parameters in the object","tag":"refentry","type":"Function","methodName":"toString"},{"id":"solrparams.unserialize","name":"SolrParams::unserialize","description":"Used for custom serialization","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"class.solrparams","name":"SolrParams","description":"The SolrParams class","tag":"phpdoc:classref","type":"Class","methodName":"SolrParams"},{"id":"solrmodifiableparams.construct","name":"SolrModifiableParams::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrmodifiableparams.destruct","name":"SolrModifiableParams::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"class.solrmodifiableparams","name":"SolrModifiableParams","description":"The SolrModifiableParams class","tag":"phpdoc:classref","type":"Class","methodName":"SolrModifiableParams"},{"id":"solrquery.addexpandfilterquery","name":"SolrQuery::addExpandFilterQuery","description":"Overrides main filter query, determines which documents to include in the main group","tag":"refentry","type":"Function","methodName":"addExpandFilterQuery"},{"id":"solrquery.addexpandsortfield","name":"SolrQuery::addExpandSortField","description":"Orders the documents within the expanded groups (expand.sort parameter)","tag":"refentry","type":"Function","methodName":"addExpandSortField"},{"id":"solrquery.addfacetdatefield","name":"SolrQuery::addFacetDateField","description":"Maps to facet.date","tag":"refentry","type":"Function","methodName":"addFacetDateField"},{"id":"solrquery.addfacetdateother","name":"SolrQuery::addFacetDateOther","description":"Adds another facet.date.other parameter","tag":"refentry","type":"Function","methodName":"addFacetDateOther"},{"id":"solrquery.addfacetfield","name":"SolrQuery::addFacetField","description":"Adds another field to the facet","tag":"refentry","type":"Function","methodName":"addFacetField"},{"id":"solrquery.addfacetquery","name":"SolrQuery::addFacetQuery","description":"Adds a facet query","tag":"refentry","type":"Function","methodName":"addFacetQuery"},{"id":"solrquery.addfield","name":"SolrQuery::addField","description":"Specifies which fields to return in the result","tag":"refentry","type":"Function","methodName":"addField"},{"id":"solrquery.addfilterquery","name":"SolrQuery::addFilterQuery","description":"Specifies a filter query","tag":"refentry","type":"Function","methodName":"addFilterQuery"},{"id":"solrquery.addgroupfield","name":"SolrQuery::addGroupField","description":"Add a field to be used to group results","tag":"refentry","type":"Function","methodName":"addGroupField"},{"id":"solrquery.addgroupfunction","name":"SolrQuery::addGroupFunction","description":"Allows grouping results based on the unique values of a function query (group.func parameter)","tag":"refentry","type":"Function","methodName":"addGroupFunction"},{"id":"solrquery.addgroupquery","name":"SolrQuery::addGroupQuery","description":"Allows grouping of documents that match the given query","tag":"refentry","type":"Function","methodName":"addGroupQuery"},{"id":"solrquery.addgroupsortfield","name":"SolrQuery::addGroupSortField","description":"Add a group sort field (group.sort parameter)","tag":"refentry","type":"Function","methodName":"addGroupSortField"},{"id":"solrquery.addhighlightfield","name":"SolrQuery::addHighlightField","description":"Maps to hl.fl","tag":"refentry","type":"Function","methodName":"addHighlightField"},{"id":"solrquery.addmltfield","name":"SolrQuery::addMltField","description":"Sets a field to use for similarity","tag":"refentry","type":"Function","methodName":"addMltField"},{"id":"solrquery.addmltqueryfield","name":"SolrQuery::addMltQueryField","description":"Maps to mlt.qf","tag":"refentry","type":"Function","methodName":"addMltQueryField"},{"id":"solrquery.addsortfield","name":"SolrQuery::addSortField","description":"Used to control how the results should be sorted","tag":"refentry","type":"Function","methodName":"addSortField"},{"id":"solrquery.addstatsfacet","name":"SolrQuery::addStatsFacet","description":"Requests a return of sub results for values within the given facet","tag":"refentry","type":"Function","methodName":"addStatsFacet"},{"id":"solrquery.addstatsfield","name":"SolrQuery::addStatsField","description":"Maps to stats.field parameter","tag":"refentry","type":"Function","methodName":"addStatsField"},{"id":"solrquery.collapse","name":"SolrQuery::collapse","description":"Collapses the result set to a single document per group","tag":"refentry","type":"Function","methodName":"collapse"},{"id":"solrquery.construct","name":"SolrQuery::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrquery.destruct","name":"SolrQuery::__destruct","description":"Destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"solrquery.getexpand","name":"SolrQuery::getExpand","description":"Returns true if group expanding is enabled","tag":"refentry","type":"Function","methodName":"getExpand"},{"id":"solrquery.getexpandfilterqueries","name":"SolrQuery::getExpandFilterQueries","description":"Returns the expand filter queries","tag":"refentry","type":"Function","methodName":"getExpandFilterQueries"},{"id":"solrquery.getexpandquery","name":"SolrQuery::getExpandQuery","description":"Returns the expand query expand.q parameter","tag":"refentry","type":"Function","methodName":"getExpandQuery"},{"id":"solrquery.getexpandrows","name":"SolrQuery::getExpandRows","description":"Returns The number of rows to display in each group (expand.rows)","tag":"refentry","type":"Function","methodName":"getExpandRows"},{"id":"solrquery.getexpandsortfields","name":"SolrQuery::getExpandSortFields","description":"Returns an array of fields","tag":"refentry","type":"Function","methodName":"getExpandSortFields"},{"id":"solrquery.getfacet","name":"SolrQuery::getFacet","description":"Returns the value of the facet parameter","tag":"refentry","type":"Function","methodName":"getFacet"},{"id":"solrquery.getfacetdateend","name":"SolrQuery::getFacetDateEnd","description":"Returns the value for the facet.date.end parameter","tag":"refentry","type":"Function","methodName":"getFacetDateEnd"},{"id":"solrquery.getfacetdatefields","name":"SolrQuery::getFacetDateFields","description":"Returns all the facet.date fields","tag":"refentry","type":"Function","methodName":"getFacetDateFields"},{"id":"solrquery.getfacetdategap","name":"SolrQuery::getFacetDateGap","description":"Returns the value of the facet.date.gap parameter","tag":"refentry","type":"Function","methodName":"getFacetDateGap"},{"id":"solrquery.getfacetdatehardend","name":"SolrQuery::getFacetDateHardEnd","description":"Returns the value of the facet.date.hardend parameter","tag":"refentry","type":"Function","methodName":"getFacetDateHardEnd"},{"id":"solrquery.getfacetdateother","name":"SolrQuery::getFacetDateOther","description":"Returns the value for the facet.date.other parameter","tag":"refentry","type":"Function","methodName":"getFacetDateOther"},{"id":"solrquery.getfacetdatestart","name":"SolrQuery::getFacetDateStart","description":"Returns the lower bound for the first date range for all date faceting on this field","tag":"refentry","type":"Function","methodName":"getFacetDateStart"},{"id":"solrquery.getfacetfields","name":"SolrQuery::getFacetFields","description":"Returns all the facet fields","tag":"refentry","type":"Function","methodName":"getFacetFields"},{"id":"solrquery.getfacetlimit","name":"SolrQuery::getFacetLimit","description":"Returns the maximum number of constraint counts that should be returned for the facet fields","tag":"refentry","type":"Function","methodName":"getFacetLimit"},{"id":"solrquery.getfacetmethod","name":"SolrQuery::getFacetMethod","description":"Returns the value of the facet.method parameter","tag":"refentry","type":"Function","methodName":"getFacetMethod"},{"id":"solrquery.getfacetmincount","name":"SolrQuery::getFacetMinCount","description":"Returns the minimum counts for facet fields should be included in the response","tag":"refentry","type":"Function","methodName":"getFacetMinCount"},{"id":"solrquery.getfacetmissing","name":"SolrQuery::getFacetMissing","description":"Returns the current state of the facet.missing parameter","tag":"refentry","type":"Function","methodName":"getFacetMissing"},{"id":"solrquery.getfacetoffset","name":"SolrQuery::getFacetOffset","description":"Returns an offset into the list of constraints to be used for pagination","tag":"refentry","type":"Function","methodName":"getFacetOffset"},{"id":"solrquery.getfacetprefix","name":"SolrQuery::getFacetPrefix","description":"Returns the facet prefix","tag":"refentry","type":"Function","methodName":"getFacetPrefix"},{"id":"solrquery.getfacetqueries","name":"SolrQuery::getFacetQueries","description":"Returns all the facet queries","tag":"refentry","type":"Function","methodName":"getFacetQueries"},{"id":"solrquery.getfacetsort","name":"SolrQuery::getFacetSort","description":"Returns the facet sort type","tag":"refentry","type":"Function","methodName":"getFacetSort"},{"id":"solrquery.getfields","name":"SolrQuery::getFields","description":"Returns the list of fields that will be returned in the response","tag":"refentry","type":"Function","methodName":"getFields"},{"id":"solrquery.getfilterqueries","name":"SolrQuery::getFilterQueries","description":"Returns an array of filter queries","tag":"refentry","type":"Function","methodName":"getFilterQueries"},{"id":"solrquery.getgroup","name":"SolrQuery::getGroup","description":"Returns true if grouping is enabled","tag":"refentry","type":"Function","methodName":"getGroup"},{"id":"solrquery.getgroupcachepercent","name":"SolrQuery::getGroupCachePercent","description":"Returns group cache percent value","tag":"refentry","type":"Function","methodName":"getGroupCachePercent"},{"id":"solrquery.getgroupfacet","name":"SolrQuery::getGroupFacet","description":"Returns the group.facet parameter value","tag":"refentry","type":"Function","methodName":"getGroupFacet"},{"id":"solrquery.getgroupfields","name":"SolrQuery::getGroupFields","description":"Returns group fields (group.field parameter values)","tag":"refentry","type":"Function","methodName":"getGroupFields"},{"id":"solrquery.getgroupformat","name":"SolrQuery::getGroupFormat","description":"Returns the group.format value","tag":"refentry","type":"Function","methodName":"getGroupFormat"},{"id":"solrquery.getgroupfunctions","name":"SolrQuery::getGroupFunctions","description":"Returns group functions (group.func parameter values)","tag":"refentry","type":"Function","methodName":"getGroupFunctions"},{"id":"solrquery.getgrouplimit","name":"SolrQuery::getGroupLimit","description":"Returns the group.limit value","tag":"refentry","type":"Function","methodName":"getGroupLimit"},{"id":"solrquery.getgroupmain","name":"SolrQuery::getGroupMain","description":"Returns the group.main value","tag":"refentry","type":"Function","methodName":"getGroupMain"},{"id":"solrquery.getgroupngroups","name":"SolrQuery::getGroupNGroups","description":"Returns the group.ngroups value","tag":"refentry","type":"Function","methodName":"getGroupNGroups"},{"id":"solrquery.getgroupoffset","name":"SolrQuery::getGroupOffset","description":"Returns the group.offset value","tag":"refentry","type":"Function","methodName":"getGroupOffset"},{"id":"solrquery.getgroupqueries","name":"SolrQuery::getGroupQueries","description":"Returns all the group.query parameter values","tag":"refentry","type":"Function","methodName":"getGroupQueries"},{"id":"solrquery.getgroupsortfields","name":"SolrQuery::getGroupSortFields","description":"Returns the group.sort value","tag":"refentry","type":"Function","methodName":"getGroupSortFields"},{"id":"solrquery.getgrouptruncate","name":"SolrQuery::getGroupTruncate","description":"Returns the group.truncate value","tag":"refentry","type":"Function","methodName":"getGroupTruncate"},{"id":"solrquery.gethighlight","name":"SolrQuery::getHighlight","description":"Returns the state of the hl parameter","tag":"refentry","type":"Function","methodName":"getHighlight"},{"id":"solrquery.gethighlightalternatefield","name":"SolrQuery::getHighlightAlternateField","description":"Returns the highlight field to use as backup or default","tag":"refentry","type":"Function","methodName":"getHighlightAlternateField"},{"id":"solrquery.gethighlightfields","name":"SolrQuery::getHighlightFields","description":"Returns all the fields that Solr should generate highlighted snippets for","tag":"refentry","type":"Function","methodName":"getHighlightFields"},{"id":"solrquery.gethighlightformatter","name":"SolrQuery::getHighlightFormatter","description":"Returns the formatter for the highlighted output","tag":"refentry","type":"Function","methodName":"getHighlightFormatter"},{"id":"solrquery.gethighlightfragmenter","name":"SolrQuery::getHighlightFragmenter","description":"Returns the text snippet generator for highlighted text","tag":"refentry","type":"Function","methodName":"getHighlightFragmenter"},{"id":"solrquery.gethighlightfragsize","name":"SolrQuery::getHighlightFragsize","description":"Returns the number of characters of fragments to consider for highlighting","tag":"refentry","type":"Function","methodName":"getHighlightFragsize"},{"id":"solrquery.gethighlighthighlightmultiterm","name":"SolrQuery::getHighlightHighlightMultiTerm","description":"Returns whether or not to enable highlighting for range\/wildcard\/fuzzy\/prefix queries","tag":"refentry","type":"Function","methodName":"getHighlightHighlightMultiTerm"},{"id":"solrquery.gethighlightmaxalternatefieldlength","name":"SolrQuery::getHighlightMaxAlternateFieldLength","description":"Returns the maximum number of characters of the field to return","tag":"refentry","type":"Function","methodName":"getHighlightMaxAlternateFieldLength"},{"id":"solrquery.gethighlightmaxanalyzedchars","name":"SolrQuery::getHighlightMaxAnalyzedChars","description":"Returns the maximum number of characters into a document to look for suitable snippets","tag":"refentry","type":"Function","methodName":"getHighlightMaxAnalyzedChars"},{"id":"solrquery.gethighlightmergecontiguous","name":"SolrQuery::getHighlightMergeContiguous","description":"Returns whether or not the collapse contiguous fragments into a single fragment","tag":"refentry","type":"Function","methodName":"getHighlightMergeContiguous"},{"id":"solrquery.gethighlightquery","name":"SolrQuery::getHighlightQuery","description":"return the highlightquery (hl.q)","tag":"refentry","type":"Function","methodName":"getHighlightQuery"},{"id":"solrquery.gethighlightregexmaxanalyzedchars","name":"SolrQuery::getHighlightRegexMaxAnalyzedChars","description":"Returns the maximum number of characters from a field when using the regex fragmenter","tag":"refentry","type":"Function","methodName":"getHighlightRegexMaxAnalyzedChars"},{"id":"solrquery.gethighlightregexpattern","name":"SolrQuery::getHighlightRegexPattern","description":"Returns the regular expression for fragmenting","tag":"refentry","type":"Function","methodName":"getHighlightRegexPattern"},{"id":"solrquery.gethighlightregexslop","name":"SolrQuery::getHighlightRegexSlop","description":"Returns the deviation factor from the ideal fragment size","tag":"refentry","type":"Function","methodName":"getHighlightRegexSlop"},{"id":"solrquery.gethighlightrequirefieldmatch","name":"SolrQuery::getHighlightRequireFieldMatch","description":"Returns if a field will only be highlighted if the query matched in this particular field","tag":"refentry","type":"Function","methodName":"getHighlightRequireFieldMatch"},{"id":"solrquery.gethighlightsimplepost","name":"SolrQuery::getHighlightSimplePost","description":"Returns the text which appears after a highlighted term","tag":"refentry","type":"Function","methodName":"getHighlightSimplePost"},{"id":"solrquery.gethighlightsimplepre","name":"SolrQuery::getHighlightSimplePre","description":"Returns the text which appears before a highlighted term","tag":"refentry","type":"Function","methodName":"getHighlightSimplePre"},{"id":"solrquery.gethighlightsnippets","name":"SolrQuery::getHighlightSnippets","description":"Returns the maximum number of highlighted snippets to generate per field","tag":"refentry","type":"Function","methodName":"getHighlightSnippets"},{"id":"solrquery.gethighlightusephrasehighlighter","name":"SolrQuery::getHighlightUsePhraseHighlighter","description":"Returns the state of the hl.usePhraseHighlighter parameter","tag":"refentry","type":"Function","methodName":"getHighlightUsePhraseHighlighter"},{"id":"solrquery.getmlt","name":"SolrQuery::getMlt","description":"Returns whether or not MoreLikeThis results should be enabled","tag":"refentry","type":"Function","methodName":"getMlt"},{"id":"solrquery.getmltboost","name":"SolrQuery::getMltBoost","description":"Returns whether or not the query will be boosted by the interesting term relevance","tag":"refentry","type":"Function","methodName":"getMltBoost"},{"id":"solrquery.getmltcount","name":"SolrQuery::getMltCount","description":"Returns the number of similar documents to return for each result","tag":"refentry","type":"Function","methodName":"getMltCount"},{"id":"solrquery.getmltfields","name":"SolrQuery::getMltFields","description":"Returns all the fields to use for similarity","tag":"refentry","type":"Function","methodName":"getMltFields"},{"id":"solrquery.getmltmaxnumqueryterms","name":"SolrQuery::getMltMaxNumQueryTerms","description":"Returns the maximum number of query terms that will be included in any generated query","tag":"refentry","type":"Function","methodName":"getMltMaxNumQueryTerms"},{"id":"solrquery.getmltmaxnumtokens","name":"SolrQuery::getMltMaxNumTokens","description":"Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support","tag":"refentry","type":"Function","methodName":"getMltMaxNumTokens"},{"id":"solrquery.getmltmaxwordlength","name":"SolrQuery::getMltMaxWordLength","description":"Returns the maximum word length above which words will be ignored","tag":"refentry","type":"Function","methodName":"getMltMaxWordLength"},{"id":"solrquery.getmltmindocfrequency","name":"SolrQuery::getMltMinDocFrequency","description":"Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs","tag":"refentry","type":"Function","methodName":"getMltMinDocFrequency"},{"id":"solrquery.getmltmintermfrequency","name":"SolrQuery::getMltMinTermFrequency","description":"Returns the frequency below which terms will be ignored in the source document","tag":"refentry","type":"Function","methodName":"getMltMinTermFrequency"},{"id":"solrquery.getmltminwordlength","name":"SolrQuery::getMltMinWordLength","description":"Returns the minimum word length below which words will be ignored","tag":"refentry","type":"Function","methodName":"getMltMinWordLength"},{"id":"solrquery.getmltqueryfields","name":"SolrQuery::getMltQueryFields","description":"Returns the query fields and their boosts","tag":"refentry","type":"Function","methodName":"getMltQueryFields"},{"id":"solrquery.getquery","name":"SolrQuery::getQuery","description":"Returns the main query","tag":"refentry","type":"Function","methodName":"getQuery"},{"id":"solrquery.getrows","name":"SolrQuery::getRows","description":"Returns the maximum number of documents","tag":"refentry","type":"Function","methodName":"getRows"},{"id":"solrquery.getsortfields","name":"SolrQuery::getSortFields","description":"Returns all the sort fields","tag":"refentry","type":"Function","methodName":"getSortFields"},{"id":"solrquery.getstart","name":"SolrQuery::getStart","description":"Returns the offset in the complete result set","tag":"refentry","type":"Function","methodName":"getStart"},{"id":"solrquery.getstats","name":"SolrQuery::getStats","description":"Returns whether or not stats is enabled","tag":"refentry","type":"Function","methodName":"getStats"},{"id":"solrquery.getstatsfacets","name":"SolrQuery::getStatsFacets","description":"Returns all the stats facets that were set","tag":"refentry","type":"Function","methodName":"getStatsFacets"},{"id":"solrquery.getstatsfields","name":"SolrQuery::getStatsFields","description":"Returns all the statistics fields","tag":"refentry","type":"Function","methodName":"getStatsFields"},{"id":"solrquery.getterms","name":"SolrQuery::getTerms","description":"Returns whether or not the TermsComponent is enabled","tag":"refentry","type":"Function","methodName":"getTerms"},{"id":"solrquery.gettermsfield","name":"SolrQuery::getTermsField","description":"Returns the field from which the terms are retrieved","tag":"refentry","type":"Function","methodName":"getTermsField"},{"id":"solrquery.gettermsincludelowerbound","name":"SolrQuery::getTermsIncludeLowerBound","description":"Returns whether or not to include the lower bound in the result set","tag":"refentry","type":"Function","methodName":"getTermsIncludeLowerBound"},{"id":"solrquery.gettermsincludeupperbound","name":"SolrQuery::getTermsIncludeUpperBound","description":"Returns whether or not to include the upper bound term in the result set","tag":"refentry","type":"Function","methodName":"getTermsIncludeUpperBound"},{"id":"solrquery.gettermslimit","name":"SolrQuery::getTermsLimit","description":"Returns the maximum number of terms Solr should return","tag":"refentry","type":"Function","methodName":"getTermsLimit"},{"id":"solrquery.gettermslowerbound","name":"SolrQuery::getTermsLowerBound","description":"Returns the term to start at","tag":"refentry","type":"Function","methodName":"getTermsLowerBound"},{"id":"solrquery.gettermsmaxcount","name":"SolrQuery::getTermsMaxCount","description":"Returns the maximum document frequency","tag":"refentry","type":"Function","methodName":"getTermsMaxCount"},{"id":"solrquery.gettermsmincount","name":"SolrQuery::getTermsMinCount","description":"Returns the minimum document frequency to return in order to be included","tag":"refentry","type":"Function","methodName":"getTermsMinCount"},{"id":"solrquery.gettermsprefix","name":"SolrQuery::getTermsPrefix","description":"Returns the term prefix","tag":"refentry","type":"Function","methodName":"getTermsPrefix"},{"id":"solrquery.gettermsreturnraw","name":"SolrQuery::getTermsReturnRaw","description":"Whether or not to return raw characters","tag":"refentry","type":"Function","methodName":"getTermsReturnRaw"},{"id":"solrquery.gettermssort","name":"SolrQuery::getTermsSort","description":"Returns an integer indicating how terms are sorted","tag":"refentry","type":"Function","methodName":"getTermsSort"},{"id":"solrquery.gettermsupperbound","name":"SolrQuery::getTermsUpperBound","description":"Returns the term to stop at","tag":"refentry","type":"Function","methodName":"getTermsUpperBound"},{"id":"solrquery.gettimeallowed","name":"SolrQuery::getTimeAllowed","description":"Returns the time in milliseconds allowed for the query to finish","tag":"refentry","type":"Function","methodName":"getTimeAllowed"},{"id":"solrquery.removeexpandfilterquery","name":"SolrQuery::removeExpandFilterQuery","description":"Removes an expand filter query","tag":"refentry","type":"Function","methodName":"removeExpandFilterQuery"},{"id":"solrquery.removeexpandsortfield","name":"SolrQuery::removeExpandSortField","description":"Removes an expand sort field from the expand.sort parameter","tag":"refentry","type":"Function","methodName":"removeExpandSortField"},{"id":"solrquery.removefacetdatefield","name":"SolrQuery::removeFacetDateField","description":"Removes one of the facet date fields","tag":"refentry","type":"Function","methodName":"removeFacetDateField"},{"id":"solrquery.removefacetdateother","name":"SolrQuery::removeFacetDateOther","description":"Removes one of the facet.date.other parameters","tag":"refentry","type":"Function","methodName":"removeFacetDateOther"},{"id":"solrquery.removefacetfield","name":"SolrQuery::removeFacetField","description":"Removes one of the facet.date parameters","tag":"refentry","type":"Function","methodName":"removeFacetField"},{"id":"solrquery.removefacetquery","name":"SolrQuery::removeFacetQuery","description":"Removes one of the facet.query parameters","tag":"refentry","type":"Function","methodName":"removeFacetQuery"},{"id":"solrquery.removefield","name":"SolrQuery::removeField","description":"Removes a field from the list of fields","tag":"refentry","type":"Function","methodName":"removeField"},{"id":"solrquery.removefilterquery","name":"SolrQuery::removeFilterQuery","description":"Removes a filter query","tag":"refentry","type":"Function","methodName":"removeFilterQuery"},{"id":"solrquery.removehighlightfield","name":"SolrQuery::removeHighlightField","description":"Removes one of the fields used for highlighting","tag":"refentry","type":"Function","methodName":"removeHighlightField"},{"id":"solrquery.removemltfield","name":"SolrQuery::removeMltField","description":"Removes one of the moreLikeThis fields","tag":"refentry","type":"Function","methodName":"removeMltField"},{"id":"solrquery.removemltqueryfield","name":"SolrQuery::removeMltQueryField","description":"Removes one of the moreLikeThis query fields","tag":"refentry","type":"Function","methodName":"removeMltQueryField"},{"id":"solrquery.removesortfield","name":"SolrQuery::removeSortField","description":"Removes one of the sort fields","tag":"refentry","type":"Function","methodName":"removeSortField"},{"id":"solrquery.removestatsfacet","name":"SolrQuery::removeStatsFacet","description":"Removes one of the stats.facet parameters","tag":"refentry","type":"Function","methodName":"removeStatsFacet"},{"id":"solrquery.removestatsfield","name":"SolrQuery::removeStatsField","description":"Removes one of the stats.field parameters","tag":"refentry","type":"Function","methodName":"removeStatsField"},{"id":"solrquery.setechohandler","name":"SolrQuery::setEchoHandler","description":"Toggles the echoHandler parameter","tag":"refentry","type":"Function","methodName":"setEchoHandler"},{"id":"solrquery.setechoparams","name":"SolrQuery::setEchoParams","description":"Determines what kind of parameters to include in the response","tag":"refentry","type":"Function","methodName":"setEchoParams"},{"id":"solrquery.setexpand","name":"SolrQuery::setExpand","description":"Enables\/Disables the Expand Component","tag":"refentry","type":"Function","methodName":"setExpand"},{"id":"solrquery.setexpandquery","name":"SolrQuery::setExpandQuery","description":"Sets the expand.q parameter","tag":"refentry","type":"Function","methodName":"setExpandQuery"},{"id":"solrquery.setexpandrows","name":"SolrQuery::setExpandRows","description":"Sets the number of rows to display in each group (expand.rows). Server Default 5","tag":"refentry","type":"Function","methodName":"setExpandRows"},{"id":"solrquery.setexplainother","name":"SolrQuery::setExplainOther","description":"Sets the explainOther common query parameter","tag":"refentry","type":"Function","methodName":"setExplainOther"},{"id":"solrquery.setfacet","name":"SolrQuery::setFacet","description":"Maps to the facet parameter. Enables or disables facetting","tag":"refentry","type":"Function","methodName":"setFacet"},{"id":"solrquery.setfacetdateend","name":"SolrQuery::setFacetDateEnd","description":"Maps to facet.date.end","tag":"refentry","type":"Function","methodName":"setFacetDateEnd"},{"id":"solrquery.setfacetdategap","name":"SolrQuery::setFacetDateGap","description":"Maps to facet.date.gap","tag":"refentry","type":"Function","methodName":"setFacetDateGap"},{"id":"solrquery.setfacetdatehardend","name":"SolrQuery::setFacetDateHardEnd","description":"Maps to facet.date.hardend","tag":"refentry","type":"Function","methodName":"setFacetDateHardEnd"},{"id":"solrquery.setfacetdatestart","name":"SolrQuery::setFacetDateStart","description":"Maps to facet.date.start","tag":"refentry","type":"Function","methodName":"setFacetDateStart"},{"id":"solrquery.setfacetenumcachemindefaultfrequency","name":"SolrQuery::setFacetEnumCacheMinDefaultFrequency","description":"Sets the minimum document frequency used for determining term count","tag":"refentry","type":"Function","methodName":"setFacetEnumCacheMinDefaultFrequency"},{"id":"solrquery.setfacetlimit","name":"SolrQuery::setFacetLimit","description":"Maps to facet.limit","tag":"refentry","type":"Function","methodName":"setFacetLimit"},{"id":"solrquery.setfacetmethod","name":"SolrQuery::setFacetMethod","description":"Specifies the type of algorithm to use when faceting a field","tag":"refentry","type":"Function","methodName":"setFacetMethod"},{"id":"solrquery.setfacetmincount","name":"SolrQuery::setFacetMinCount","description":"Maps to facet.mincount","tag":"refentry","type":"Function","methodName":"setFacetMinCount"},{"id":"solrquery.setfacetmissing","name":"SolrQuery::setFacetMissing","description":"Maps to facet.missing","tag":"refentry","type":"Function","methodName":"setFacetMissing"},{"id":"solrquery.setfacetoffset","name":"SolrQuery::setFacetOffset","description":"Sets the offset into the list of constraints to allow for pagination","tag":"refentry","type":"Function","methodName":"setFacetOffset"},{"id":"solrquery.setfacetprefix","name":"SolrQuery::setFacetPrefix","description":"Specifies a string prefix with which to limits the terms on which to facet","tag":"refentry","type":"Function","methodName":"setFacetPrefix"},{"id":"solrquery.setfacetsort","name":"SolrQuery::setFacetSort","description":"Determines the ordering of the facet field constraints","tag":"refentry","type":"Function","methodName":"setFacetSort"},{"id":"solrquery.setgroup","name":"SolrQuery::setGroup","description":"Enable\/Disable result grouping (group parameter)","tag":"refentry","type":"Function","methodName":"setGroup"},{"id":"solrquery.setgroupcachepercent","name":"SolrQuery::setGroupCachePercent","description":"Enables caching for result grouping","tag":"refentry","type":"Function","methodName":"setGroupCachePercent"},{"id":"solrquery.setgroupfacet","name":"SolrQuery::setGroupFacet","description":"Sets group.facet parameter","tag":"refentry","type":"Function","methodName":"setGroupFacet"},{"id":"solrquery.setgroupformat","name":"SolrQuery::setGroupFormat","description":"Sets the group format, result structure (group.format parameter)","tag":"refentry","type":"Function","methodName":"setGroupFormat"},{"id":"solrquery.setgrouplimit","name":"SolrQuery::setGroupLimit","description":"Specifies the number of results to return for each group. The server default value is 1","tag":"refentry","type":"Function","methodName":"setGroupLimit"},{"id":"solrquery.setgroupmain","name":"SolrQuery::setGroupMain","description":"If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple","tag":"refentry","type":"Function","methodName":"setGroupMain"},{"id":"solrquery.setgroupngroups","name":"SolrQuery::setGroupNGroups","description":"If true, Solr includes the number of groups that have matched the query in the results","tag":"refentry","type":"Function","methodName":"setGroupNGroups"},{"id":"solrquery.setgroupoffset","name":"SolrQuery::setGroupOffset","description":"Sets the group.offset parameter","tag":"refentry","type":"Function","methodName":"setGroupOffset"},{"id":"solrquery.setgrouptruncate","name":"SolrQuery::setGroupTruncate","description":"If true, facet counts are based on the most relevant document of each group matching the query","tag":"refentry","type":"Function","methodName":"setGroupTruncate"},{"id":"solrquery.sethighlight","name":"SolrQuery::setHighlight","description":"Enables or disables highlighting","tag":"refentry","type":"Function","methodName":"setHighlight"},{"id":"solrquery.sethighlightalternatefield","name":"SolrQuery::setHighlightAlternateField","description":"Specifies the backup field to use","tag":"refentry","type":"Function","methodName":"setHighlightAlternateField"},{"id":"solrquery.sethighlightformatter","name":"SolrQuery::setHighlightFormatter","description":"Specify a formatter for the highlight output","tag":"refentry","type":"Function","methodName":"setHighlightFormatter"},{"id":"solrquery.sethighlightfragmenter","name":"SolrQuery::setHighlightFragmenter","description":"Sets a text snippet generator for highlighted text","tag":"refentry","type":"Function","methodName":"setHighlightFragmenter"},{"id":"solrquery.sethighlightfragsize","name":"SolrQuery::setHighlightFragsize","description":"The size of fragments to consider for highlighting","tag":"refentry","type":"Function","methodName":"setHighlightFragsize"},{"id":"solrquery.sethighlighthighlightmultiterm","name":"SolrQuery::setHighlightHighlightMultiTerm","description":"Use SpanScorer to highlight phrase terms","tag":"refentry","type":"Function","methodName":"setHighlightHighlightMultiTerm"},{"id":"solrquery.sethighlightmaxalternatefieldlength","name":"SolrQuery::setHighlightMaxAlternateFieldLength","description":"Sets the maximum number of characters of the field to return","tag":"refentry","type":"Function","methodName":"setHighlightMaxAlternateFieldLength"},{"id":"solrquery.sethighlightmaxanalyzedchars","name":"SolrQuery::setHighlightMaxAnalyzedChars","description":"Specifies the number of characters into a document to look for suitable snippets","tag":"refentry","type":"Function","methodName":"setHighlightMaxAnalyzedChars"},{"id":"solrquery.sethighlightmergecontiguous","name":"SolrQuery::setHighlightMergeContiguous","description":"Whether or not to collapse contiguous fragments into a single fragment","tag":"refentry","type":"Function","methodName":"setHighlightMergeContiguous"},{"id":"solrquery.sethighlightquery","name":"SolrQuery::setHighlightQuery","description":"A query designated for highlighting (hl.q)","tag":"refentry","type":"Function","methodName":"setHighlightQuery"},{"id":"solrquery.sethighlightregexmaxanalyzedchars","name":"SolrQuery::setHighlightRegexMaxAnalyzedChars","description":"Specify the maximum number of characters to analyze","tag":"refentry","type":"Function","methodName":"setHighlightRegexMaxAnalyzedChars"},{"id":"solrquery.sethighlightregexpattern","name":"SolrQuery::setHighlightRegexPattern","description":"Specify the regular expression for fragmenting","tag":"refentry","type":"Function","methodName":"setHighlightRegexPattern"},{"id":"solrquery.sethighlightregexslop","name":"SolrQuery::setHighlightRegexSlop","description":"Sets the factor by which the regex fragmenter can stray from the ideal fragment size","tag":"refentry","type":"Function","methodName":"setHighlightRegexSlop"},{"id":"solrquery.sethighlightrequirefieldmatch","name":"SolrQuery::setHighlightRequireFieldMatch","description":"Require field matching during highlighting","tag":"refentry","type":"Function","methodName":"setHighlightRequireFieldMatch"},{"id":"solrquery.sethighlightsimplepost","name":"SolrQuery::setHighlightSimplePost","description":"Sets the text which appears after a highlighted term","tag":"refentry","type":"Function","methodName":"setHighlightSimplePost"},{"id":"solrquery.sethighlightsimplepre","name":"SolrQuery::setHighlightSimplePre","description":"Sets the text which appears before a highlighted term","tag":"refentry","type":"Function","methodName":"setHighlightSimplePre"},{"id":"solrquery.sethighlightsnippets","name":"SolrQuery::setHighlightSnippets","description":"Sets the maximum number of highlighted snippets to generate per field","tag":"refentry","type":"Function","methodName":"setHighlightSnippets"},{"id":"solrquery.sethighlightusephrasehighlighter","name":"SolrQuery::setHighlightUsePhraseHighlighter","description":"Whether to highlight phrase terms only when they appear within the query phrase","tag":"refentry","type":"Function","methodName":"setHighlightUsePhraseHighlighter"},{"id":"solrquery.setmlt","name":"SolrQuery::setMlt","description":"Enables or disables moreLikeThis","tag":"refentry","type":"Function","methodName":"setMlt"},{"id":"solrquery.setmltboost","name":"SolrQuery::setMltBoost","description":"Set if the query will be boosted by the interesting term relevance","tag":"refentry","type":"Function","methodName":"setMltBoost"},{"id":"solrquery.setmltcount","name":"SolrQuery::setMltCount","description":"Set the number of similar documents to return for each result","tag":"refentry","type":"Function","methodName":"setMltCount"},{"id":"solrquery.setmltmaxnumqueryterms","name":"SolrQuery::setMltMaxNumQueryTerms","description":"Sets the maximum number of query terms included","tag":"refentry","type":"Function","methodName":"setMltMaxNumQueryTerms"},{"id":"solrquery.setmltmaxnumtokens","name":"SolrQuery::setMltMaxNumTokens","description":"Specifies the maximum number of tokens to parse","tag":"refentry","type":"Function","methodName":"setMltMaxNumTokens"},{"id":"solrquery.setmltmaxwordlength","name":"SolrQuery::setMltMaxWordLength","description":"Sets the maximum word length","tag":"refentry","type":"Function","methodName":"setMltMaxWordLength"},{"id":"solrquery.setmltmindocfrequency","name":"SolrQuery::setMltMinDocFrequency","description":"Sets the mltMinDoc frequency","tag":"refentry","type":"Function","methodName":"setMltMinDocFrequency"},{"id":"solrquery.setmltmintermfrequency","name":"SolrQuery::setMltMinTermFrequency","description":"Sets the frequency below which terms will be ignored in the source docs","tag":"refentry","type":"Function","methodName":"setMltMinTermFrequency"},{"id":"solrquery.setmltminwordlength","name":"SolrQuery::setMltMinWordLength","description":"Sets the minimum word length","tag":"refentry","type":"Function","methodName":"setMltMinWordLength"},{"id":"solrquery.setomitheader","name":"SolrQuery::setOmitHeader","description":"Exclude the header from the returned results","tag":"refentry","type":"Function","methodName":"setOmitHeader"},{"id":"solrquery.setquery","name":"SolrQuery::setQuery","description":"Sets the search query","tag":"refentry","type":"Function","methodName":"setQuery"},{"id":"solrquery.setrows","name":"SolrQuery::setRows","description":"Specifies the maximum number of rows to return in the result","tag":"refentry","type":"Function","methodName":"setRows"},{"id":"solrquery.setshowdebuginfo","name":"SolrQuery::setShowDebugInfo","description":"Flag to show debug information","tag":"refentry","type":"Function","methodName":"setShowDebugInfo"},{"id":"solrquery.setstart","name":"SolrQuery::setStart","description":"Specifies the number of rows to skip","tag":"refentry","type":"Function","methodName":"setStart"},{"id":"solrquery.setstats","name":"SolrQuery::setStats","description":"Enables or disables the Stats component","tag":"refentry","type":"Function","methodName":"setStats"},{"id":"solrquery.setterms","name":"SolrQuery::setTerms","description":"Enables or disables the TermsComponent","tag":"refentry","type":"Function","methodName":"setTerms"},{"id":"solrquery.settermsfield","name":"SolrQuery::setTermsField","description":"Sets the name of the field to get the Terms from","tag":"refentry","type":"Function","methodName":"setTermsField"},{"id":"solrquery.settermsincludelowerbound","name":"SolrQuery::setTermsIncludeLowerBound","description":"Include the lower bound term in the result set","tag":"refentry","type":"Function","methodName":"setTermsIncludeLowerBound"},{"id":"solrquery.settermsincludeupperbound","name":"SolrQuery::setTermsIncludeUpperBound","description":"Include the upper bound term in the result set","tag":"refentry","type":"Function","methodName":"setTermsIncludeUpperBound"},{"id":"solrquery.settermslimit","name":"SolrQuery::setTermsLimit","description":"Sets the maximum number of terms to return","tag":"refentry","type":"Function","methodName":"setTermsLimit"},{"id":"solrquery.settermslowerbound","name":"SolrQuery::setTermsLowerBound","description":"Specifies the Term to start from","tag":"refentry","type":"Function","methodName":"setTermsLowerBound"},{"id":"solrquery.settermsmaxcount","name":"SolrQuery::setTermsMaxCount","description":"Sets the maximum document frequency","tag":"refentry","type":"Function","methodName":"setTermsMaxCount"},{"id":"solrquery.settermsmincount","name":"SolrQuery::setTermsMinCount","description":"Sets the minimum document frequency","tag":"refentry","type":"Function","methodName":"setTermsMinCount"},{"id":"solrquery.settermsprefix","name":"SolrQuery::setTermsPrefix","description":"Restrict matches to terms that start with the prefix","tag":"refentry","type":"Function","methodName":"setTermsPrefix"},{"id":"solrquery.settermsreturnraw","name":"SolrQuery::setTermsReturnRaw","description":"Return the raw characters of the indexed term","tag":"refentry","type":"Function","methodName":"setTermsReturnRaw"},{"id":"solrquery.settermssort","name":"SolrQuery::setTermsSort","description":"Specifies how to sort the returned terms","tag":"refentry","type":"Function","methodName":"setTermsSort"},{"id":"solrquery.settermsupperbound","name":"SolrQuery::setTermsUpperBound","description":"Sets the term to stop at","tag":"refentry","type":"Function","methodName":"setTermsUpperBound"},{"id":"solrquery.settimeallowed","name":"SolrQuery::setTimeAllowed","description":"The time allowed for search to finish","tag":"refentry","type":"Function","methodName":"setTimeAllowed"},{"id":"class.solrquery","name":"SolrQuery","description":"The SolrQuery class","tag":"phpdoc:classref","type":"Class","methodName":"SolrQuery"},{"id":"solrdismaxquery.addbigramphrasefield","name":"SolrDisMaxQuery::addBigramPhraseField","description":"Adds a Phrase Bigram Field (pf2 parameter)","tag":"refentry","type":"Function","methodName":"addBigramPhraseField"},{"id":"solrdismaxquery.addboostquery","name":"SolrDisMaxQuery::addBoostQuery","description":"Adds a boost query field with value and optional boost (bq parameter)","tag":"refentry","type":"Function","methodName":"addBoostQuery"},{"id":"solrdismaxquery.addphrasefield","name":"SolrDisMaxQuery::addPhraseField","description":"Adds a Phrase Field (pf parameter)","tag":"refentry","type":"Function","methodName":"addPhraseField"},{"id":"solrdismaxquery.addqueryfield","name":"SolrDisMaxQuery::addQueryField","description":"Add a query field with optional boost (qf parameter)","tag":"refentry","type":"Function","methodName":"addQueryField"},{"id":"solrdismaxquery.addtrigramphrasefield","name":"SolrDisMaxQuery::addTrigramPhraseField","description":"Adds a Trigram Phrase Field (pf3 parameter)","tag":"refentry","type":"Function","methodName":"addTrigramPhraseField"},{"id":"solrdismaxquery.adduserfield","name":"SolrDisMaxQuery::addUserField","description":"Adds a field to User Fields Parameter (uf)","tag":"refentry","type":"Function","methodName":"addUserField"},{"id":"solrdismaxquery.construct","name":"SolrDisMaxQuery::__construct","description":"Class Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrdismaxquery.removebigramphrasefield","name":"SolrDisMaxQuery::removeBigramPhraseField","description":"Removes phrase bigram field (pf2 parameter)","tag":"refentry","type":"Function","methodName":"removeBigramPhraseField"},{"id":"solrdismaxquery.removeboostquery","name":"SolrDisMaxQuery::removeBoostQuery","description":"Removes a boost query partial by field name (bq)","tag":"refentry","type":"Function","methodName":"removeBoostQuery"},{"id":"solrdismaxquery.removephrasefield","name":"SolrDisMaxQuery::removePhraseField","description":"Removes a Phrase Field (pf parameter)","tag":"refentry","type":"Function","methodName":"removePhraseField"},{"id":"solrdismaxquery.removequeryfield","name":"SolrDisMaxQuery::removeQueryField","description":"Removes a Query Field (qf parameter)","tag":"refentry","type":"Function","methodName":"removeQueryField"},{"id":"solrdismaxquery.removetrigramphrasefield","name":"SolrDisMaxQuery::removeTrigramPhraseField","description":"Removes a Trigram Phrase Field (pf3 parameter)","tag":"refentry","type":"Function","methodName":"removeTrigramPhraseField"},{"id":"solrdismaxquery.removeuserfield","name":"SolrDisMaxQuery::removeUserField","description":"Removes a field from The User Fields Parameter (uf)","tag":"refentry","type":"Function","methodName":"removeUserField"},{"id":"solrdismaxquery.setbigramphrasefields","name":"SolrDisMaxQuery::setBigramPhraseFields","description":"Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter","tag":"refentry","type":"Function","methodName":"setBigramPhraseFields"},{"id":"solrdismaxquery.setbigramphraseslop","name":"SolrDisMaxQuery::setBigramPhraseSlop","description":"Sets Bigram Phrase Slop (ps2 parameter)","tag":"refentry","type":"Function","methodName":"setBigramPhraseSlop"},{"id":"solrdismaxquery.setboostfunction","name":"SolrDisMaxQuery::setBoostFunction","description":"Sets a Boost Function (bf parameter)","tag":"refentry","type":"Function","methodName":"setBoostFunction"},{"id":"solrdismaxquery.setboostquery","name":"SolrDisMaxQuery::setBoostQuery","description":"Directly Sets Boost Query Parameter (bq)","tag":"refentry","type":"Function","methodName":"setBoostQuery"},{"id":"solrdismaxquery.setminimummatch","name":"SolrDisMaxQuery::setMinimumMatch","description":"Set Minimum \"Should\" Match (mm)","tag":"refentry","type":"Function","methodName":"setMinimumMatch"},{"id":"solrdismaxquery.setphrasefields","name":"SolrDisMaxQuery::setPhraseFields","description":"Sets Phrase Fields and their boosts (and slops) using pf2 parameter","tag":"refentry","type":"Function","methodName":"setPhraseFields"},{"id":"solrdismaxquery.setphraseslop","name":"SolrDisMaxQuery::setPhraseSlop","description":"Sets the default slop on phrase queries (ps parameter)","tag":"refentry","type":"Function","methodName":"setPhraseSlop"},{"id":"solrdismaxquery.setqueryalt","name":"SolrDisMaxQuery::setQueryAlt","description":"Set Query Alternate (q.alt parameter)","tag":"refentry","type":"Function","methodName":"setQueryAlt"},{"id":"solrdismaxquery.setqueryphraseslop","name":"SolrDisMaxQuery::setQueryPhraseSlop","description":"Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)","tag":"refentry","type":"Function","methodName":"setQueryPhraseSlop"},{"id":"solrdismaxquery.settiebreaker","name":"SolrDisMaxQuery::setTieBreaker","description":"Sets Tie Breaker parameter (tie parameter)","tag":"refentry","type":"Function","methodName":"setTieBreaker"},{"id":"solrdismaxquery.settrigramphrasefields","name":"SolrDisMaxQuery::setTrigramPhraseFields","description":"Directly Sets Trigram Phrase Fields (pf3 parameter)","tag":"refentry","type":"Function","methodName":"setTrigramPhraseFields"},{"id":"solrdismaxquery.settrigramphraseslop","name":"SolrDisMaxQuery::setTrigramPhraseSlop","description":"Sets Trigram Phrase Slop (ps3 parameter)","tag":"refentry","type":"Function","methodName":"setTrigramPhraseSlop"},{"id":"solrdismaxquery.setuserfields","name":"SolrDisMaxQuery::setUserFields","description":"Sets User Fields parameter (uf)","tag":"refentry","type":"Function","methodName":"setUserFields"},{"id":"solrdismaxquery.usedismaxqueryparser","name":"SolrDisMaxQuery::useDisMaxQueryParser","description":"Switch QueryParser to be DisMax Query Parser","tag":"refentry","type":"Function","methodName":"useDisMaxQueryParser"},{"id":"solrdismaxquery.useedismaxqueryparser","name":"SolrDisMaxQuery::useEDisMaxQueryParser","description":"Switch QueryParser to be EDisMax","tag":"refentry","type":"Function","methodName":"useEDisMaxQueryParser"},{"id":"class.solrdismaxquery","name":"SolrDisMaxQuery","description":"The SolrDisMaxQuery class","tag":"phpdoc:classref","type":"Class","methodName":"SolrDisMaxQuery"},{"id":"solrcollapsefunction.construct","name":"SolrCollapseFunction::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"solrcollapsefunction.getfield","name":"SolrCollapseFunction::getField","description":"Returns the field that is being collapsed on","tag":"refentry","type":"Function","methodName":"getField"},{"id":"solrcollapsefunction.gethint","name":"SolrCollapseFunction::getHint","description":"Returns collapse hint","tag":"refentry","type":"Function","methodName":"getHint"},{"id":"solrcollapsefunction.getmax","name":"SolrCollapseFunction::getMax","description":"Returns max parameter","tag":"refentry","type":"Function","methodName":"getMax"},{"id":"solrcollapsefunction.getmin","name":"SolrCollapseFunction::getMin","description":"Returns min parameter","tag":"refentry","type":"Function","methodName":"getMin"},{"id":"solrcollapsefunction.getnullpolicy","name":"SolrCollapseFunction::getNullPolicy","description":"Returns null policy","tag":"refentry","type":"Function","methodName":"getNullPolicy"},{"id":"solrcollapsefunction.getsize","name":"SolrCollapseFunction::getSize","description":"Returns size parameter","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"solrcollapsefunction.setfield","name":"SolrCollapseFunction::setField","description":"Sets the field to collapse on","tag":"refentry","type":"Function","methodName":"setField"},{"id":"solrcollapsefunction.sethint","name":"SolrCollapseFunction::setHint","description":"Sets collapse hint","tag":"refentry","type":"Function","methodName":"setHint"},{"id":"solrcollapsefunction.setmax","name":"SolrCollapseFunction::setMax","description":"Selects the group heads by the max value of a numeric field or function query","tag":"refentry","type":"Function","methodName":"setMax"},{"id":"solrcollapsefunction.setmin","name":"SolrCollapseFunction::setMin","description":"Sets the initial size of the collapse data structures when collapsing on a numeric field only","tag":"refentry","type":"Function","methodName":"setMin"},{"id":"solrcollapsefunction.setnullpolicy","name":"SolrCollapseFunction::setNullPolicy","description":"Sets the NULL Policy","tag":"refentry","type":"Function","methodName":"setNullPolicy"},{"id":"solrcollapsefunction.setsize","name":"SolrCollapseFunction::setSize","description":"Sets the initial size of the collapse data structures when collapsing on a numeric field only","tag":"refentry","type":"Function","methodName":"setSize"},{"id":"solrcollapsefunction.tostring","name":"SolrCollapseFunction::__toString","description":"Returns a string representing the constructed collapse function","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.solrcollapsefunction","name":"SolrCollapseFunction","description":"The SolrCollapseFunction class","tag":"phpdoc:classref","type":"Class","methodName":"SolrCollapseFunction"},{"id":"solrexception.getinternalinfo","name":"SolrException::getInternalInfo","description":"Returns internal information where the Exception was thrown","tag":"refentry","type":"Function","methodName":"getInternalInfo"},{"id":"class.solrexception","name":"SolrException","description":"The SolrException class","tag":"phpdoc:classref","type":"Class","methodName":"SolrException"},{"id":"solrclientexception.getinternalinfo","name":"SolrClientException::getInternalInfo","description":"Returns internal information where the Exception was thrown","tag":"refentry","type":"Function","methodName":"getInternalInfo"},{"id":"class.solrclientexception","name":"SolrClientException","description":"The SolrClientException class","tag":"phpdoc:classref","type":"Class","methodName":"SolrClientException"},{"id":"solrserverexception.getinternalinfo","name":"SolrServerException::getInternalInfo","description":"Returns internal information where the Exception was thrown","tag":"refentry","type":"Function","methodName":"getInternalInfo"},{"id":"class.solrserverexception","name":"SolrServerException","description":"The SolrServerException class","tag":"phpdoc:classref","type":"Class","methodName":"SolrServerException"},{"id":"solrillegalargumentexception.getinternalinfo","name":"SolrIllegalArgumentException::getInternalInfo","description":"Returns internal information where the Exception was thrown","tag":"refentry","type":"Function","methodName":"getInternalInfo"},{"id":"class.solrillegalargumentexception","name":"SolrIllegalArgumentException","description":"The SolrIllegalArgumentException class","tag":"phpdoc:classref","type":"Class","methodName":"SolrIllegalArgumentException"},{"id":"solrillegaloperationexception.getinternalinfo","name":"SolrIllegalOperationException::getInternalInfo","description":"Returns internal information where the Exception was thrown","tag":"refentry","type":"Function","methodName":"getInternalInfo"},{"id":"class.solrillegaloperationexception","name":"SolrIllegalOperationException","description":"The SolrIllegalOperationException class","tag":"phpdoc:classref","type":"Class","methodName":"SolrIllegalOperationException"},{"id":"class.solrmissingmandatoryparameterexception","name":"SolrMissingMandatoryParameterException","description":"The SolrMissingMandatoryParameterException class","tag":"phpdoc:classref","type":"Class","methodName":"SolrMissingMandatoryParameterException"},{"id":"book.solr","name":"Solr","description":"Apache Solr","tag":"book","type":"Extension","methodName":"Solr"},{"id":"refs.search","name":"Search Engine Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Search Engine Extensions"},{"id":"intro.apache","name":"Introduction","description":"Apache","tag":"preface","type":"General","methodName":"Introduction"},{"id":"apache.installation","name":"Installation","description":"Apache","tag":"section","type":"General","methodName":"Installation"},{"id":"apache.configuration","name":"Runtime Configuration","description":"Apache","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"apache.setup","name":"Installing\/Configuring","description":"Apache","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.apache-child-terminate","name":"apache_child_terminate","description":"Terminate apache process after this request","tag":"refentry","type":"Function","methodName":"apache_child_terminate"},{"id":"function.apache-get-modules","name":"apache_get_modules","description":"Get a list of loaded Apache modules","tag":"refentry","type":"Function","methodName":"apache_get_modules"},{"id":"function.apache-get-version","name":"apache_get_version","description":"Fetch Apache version","tag":"refentry","type":"Function","methodName":"apache_get_version"},{"id":"function.apache-getenv","name":"apache_getenv","description":"Get an Apache subprocess_env variable","tag":"refentry","type":"Function","methodName":"apache_getenv"},{"id":"function.apache-lookup-uri","name":"apache_lookup_uri","description":"Perform a partial request for the specified URI and return all info about it","tag":"refentry","type":"Function","methodName":"apache_lookup_uri"},{"id":"function.apache-note","name":"apache_note","description":"Get and set apache request notes","tag":"refentry","type":"Function","methodName":"apache_note"},{"id":"function.apache-request-headers","name":"apache_request_headers","description":"Fetch all HTTP request headers","tag":"refentry","type":"Function","methodName":"apache_request_headers"},{"id":"function.apache-response-headers","name":"apache_response_headers","description":"Fetch all HTTP response headers","tag":"refentry","type":"Function","methodName":"apache_response_headers"},{"id":"function.apache-setenv","name":"apache_setenv","description":"Set an Apache subprocess_env variable","tag":"refentry","type":"Function","methodName":"apache_setenv"},{"id":"function.getallheaders","name":"getallheaders","description":"Fetch all HTTP request headers","tag":"refentry","type":"Function","methodName":"getallheaders"},{"id":"function.virtual","name":"virtual","description":"Perform an Apache sub-request","tag":"refentry","type":"Function","methodName":"virtual"},{"id":"ref.apache","name":"Apache Functions","description":"Apache","tag":"reference","type":"Extension","methodName":"Apache Functions"},{"id":"book.apache","name":"Apache","description":"Server Specific Extensions","tag":"book","type":"Extension","methodName":"Apache"},{"id":"intro.fpm","name":"Introduction","description":"FastCGI Process Manager","tag":"preface","type":"General","methodName":"Introduction"},{"id":"fpm.setup","name":"Installing\/Configuring","description":"FastCGI Process Manager","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"fpm.status","name":"Status Page","description":"FastCGI Process Manager","tag":"sect1","type":"General","methodName":"Status Page"},{"id":"fpm.observability","name":"Observability","description":"FastCGI Process Manager","tag":"chapter","type":"General","methodName":"Observability"},{"id":"function.fastcgi-finish-request","name":"fastcgi_finish_request","description":"Flushes all response data to the client","tag":"refentry","type":"Function","methodName":"fastcgi_finish_request"},{"id":"function.fpm-get-status","name":"fpm_get_status","description":"Returns the current FPM pool status","tag":"refentry","type":"Function","methodName":"fpm_get_status"},{"id":"ref.fpm","name":"FPM Functions","description":"FastCGI Process Manager","tag":"reference","type":"Extension","methodName":"FPM Functions"},{"id":"book.fpm","name":"FastCGI Process Manager","description":"Server Specific Extensions","tag":"book","type":"Extension","methodName":"FastCGI Process Manager"},{"id":"refs.utilspec.server","name":"Server Specific Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Server Specific Extensions"},{"id":"intro.session","name":"Introduction","description":"Session Handling","tag":"preface","type":"General","methodName":"Introduction"},{"id":"session.requirements","name":"Requirements","description":"Session Handling","tag":"section","type":"General","methodName":"Requirements"},{"id":"session.installation","name":"Installation","description":"Session Handling","tag":"section","type":"General","methodName":"Installation"},{"id":"session.configuration","name":"Runtime Configuration","description":"Session Handling","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"session.setup","name":"Installing\/Configuring","description":"Session Handling","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"session.constants","name":"Predefined Constants","description":"Session Handling","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"session.examples.basic","name":"Basic usage","description":"Session Handling","tag":"section","type":"General","methodName":"Basic usage"},{"id":"session.idpassing","name":"Passing the Session ID","description":"Session Handling","tag":"section","type":"General","methodName":"Passing the Session ID"},{"id":"session.customhandler","name":"Custom Session Handlers","description":"Session Handling","tag":"section","type":"General","methodName":"Custom Session Handlers"},{"id":"session.examples","name":"Examples","description":"Session Handling","tag":"appendix","type":"General","methodName":"Examples"},{"id":"session.upload-progress","name":"Session Upload Progress","description":"Session Handling","tag":"chapter","type":"General","methodName":"Session Upload Progress"},{"id":"features.session.security.management","name":"Session Management Basics","description":"Session Handling","tag":"sect1","type":"General","methodName":"Session Management Basics"},{"id":"session.security.ini","name":"Securing Session INI Settings","description":"Session Handling","tag":"sect1","type":"General","methodName":"Securing Session INI Settings"},{"id":"session.security","name":"Sessions and Security","description":"Session Handling","tag":"chapter","type":"General","methodName":"Sessions and Security"},{"id":"function.session-abort","name":"session_abort","description":"Discard session array changes and finish session","tag":"refentry","type":"Function","methodName":"session_abort"},{"id":"function.session-cache-expire","name":"session_cache_expire","description":"Get and\/or set current cache expire","tag":"refentry","type":"Function","methodName":"session_cache_expire"},{"id":"function.session-cache-limiter","name":"session_cache_limiter","description":"Get and\/or set the current cache limiter","tag":"refentry","type":"Function","methodName":"session_cache_limiter"},{"id":"function.session-commit","name":"session_commit","description":"Alias of session_write_close","tag":"refentry","type":"Function","methodName":"session_commit"},{"id":"function.session-create-id","name":"session_create_id","description":"Create new session id","tag":"refentry","type":"Function","methodName":"session_create_id"},{"id":"function.session-decode","name":"session_decode","description":"Decodes session data from a session encoded string","tag":"refentry","type":"Function","methodName":"session_decode"},{"id":"function.session-destroy","name":"session_destroy","description":"Destroys all data registered to a session","tag":"refentry","type":"Function","methodName":"session_destroy"},{"id":"function.session-encode","name":"session_encode","description":"Encodes the current session data as a session encoded string","tag":"refentry","type":"Function","methodName":"session_encode"},{"id":"function.session-gc","name":"session_gc","description":"Perform session data garbage collection","tag":"refentry","type":"Function","methodName":"session_gc"},{"id":"function.session-get-cookie-params","name":"session_get_cookie_params","description":"Get the session cookie parameters","tag":"refentry","type":"Function","methodName":"session_get_cookie_params"},{"id":"function.session-id","name":"session_id","description":"Get and\/or set the current session id","tag":"refentry","type":"Function","methodName":"session_id"},{"id":"function.session-module-name","name":"session_module_name","description":"Get and\/or set the current session module","tag":"refentry","type":"Function","methodName":"session_module_name"},{"id":"function.session-name","name":"session_name","description":"Get and\/or set the current session name","tag":"refentry","type":"Function","methodName":"session_name"},{"id":"function.session-regenerate-id","name":"session_regenerate_id","description":"Update the current session id with a newly generated one","tag":"refentry","type":"Function","methodName":"session_regenerate_id"},{"id":"function.session-register-shutdown","name":"session_register_shutdown","description":"Session shutdown function","tag":"refentry","type":"Function","methodName":"session_register_shutdown"},{"id":"function.session-reset","name":"session_reset","description":"Re-initialize session array with original values","tag":"refentry","type":"Function","methodName":"session_reset"},{"id":"function.session-save-path","name":"session_save_path","description":"Get and\/or set the current session save path","tag":"refentry","type":"Function","methodName":"session_save_path"},{"id":"function.session-set-cookie-params","name":"session_set_cookie_params","description":"Set the session cookie parameters","tag":"refentry","type":"Function","methodName":"session_set_cookie_params"},{"id":"function.session-set-save-handler","name":"session_set_save_handler","description":"Sets user-level session storage functions","tag":"refentry","type":"Function","methodName":"session_set_save_handler"},{"id":"function.session-start","name":"session_start","description":"Start new or resume existing session","tag":"refentry","type":"Function","methodName":"session_start"},{"id":"function.session-status","name":"session_status","description":"Returns the current session status","tag":"refentry","type":"Function","methodName":"session_status"},{"id":"function.session-unset","name":"session_unset","description":"Free all session variables","tag":"refentry","type":"Function","methodName":"session_unset"},{"id":"function.session-write-close","name":"session_write_close","description":"Write session data and end session","tag":"refentry","type":"Function","methodName":"session_write_close"},{"id":"ref.session","name":"Session Functions","description":"Session Handling","tag":"reference","type":"Extension","methodName":"Session Functions"},{"id":"sessionhandler.close","name":"SessionHandler::close","description":"Close the session","tag":"refentry","type":"Function","methodName":"close"},{"id":"sessionhandler.create-sid","name":"SessionHandler::create_sid","description":"Return a new session ID","tag":"refentry","type":"Function","methodName":"create_sid"},{"id":"sessionhandler.destroy","name":"SessionHandler::destroy","description":"Destroy a session","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"sessionhandler.gc","name":"SessionHandler::gc","description":"Cleanup old sessions","tag":"refentry","type":"Function","methodName":"gc"},{"id":"sessionhandler.open","name":"SessionHandler::open","description":"Initialize session","tag":"refentry","type":"Function","methodName":"open"},{"id":"sessionhandler.read","name":"SessionHandler::read","description":"Read session data","tag":"refentry","type":"Function","methodName":"read"},{"id":"sessionhandler.write","name":"SessionHandler::write","description":"Write session data","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.sessionhandler","name":"SessionHandler","description":"The SessionHandler class","tag":"phpdoc:classref","type":"Class","methodName":"SessionHandler"},{"id":"sessionhandlerinterface.close","name":"SessionHandlerInterface::close","description":"Close the session","tag":"refentry","type":"Function","methodName":"close"},{"id":"sessionhandlerinterface.destroy","name":"SessionHandlerInterface::destroy","description":"Destroy a session","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"sessionhandlerinterface.gc","name":"SessionHandlerInterface::gc","description":"Cleanup old sessions","tag":"refentry","type":"Function","methodName":"gc"},{"id":"sessionhandlerinterface.open","name":"SessionHandlerInterface::open","description":"Initialize session","tag":"refentry","type":"Function","methodName":"open"},{"id":"sessionhandlerinterface.read","name":"SessionHandlerInterface::read","description":"Read session data","tag":"refentry","type":"Function","methodName":"read"},{"id":"sessionhandlerinterface.write","name":"SessionHandlerInterface::write","description":"Write session data","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.sessionhandlerinterface","name":"SessionHandlerInterface","description":"The SessionHandlerInterface class","tag":"phpdoc:classref","type":"Class","methodName":"SessionHandlerInterface"},{"id":"sessionidinterface.create-sid","name":"SessionIdInterface::create_sid","description":"Create session ID","tag":"refentry","type":"Function","methodName":"create_sid"},{"id":"class.sessionidinterface","name":"SessionIdInterface","description":"The SessionIdInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"SessionIdInterface"},{"id":"sessionupdatetimestamphandlerinterface.updatetimestamp","name":"SessionUpdateTimestampHandlerInterface::updateTimestamp","description":"Update timestamp","tag":"refentry","type":"Function","methodName":"updateTimestamp"},{"id":"sessionupdatetimestamphandlerinterface.validateid","name":"SessionUpdateTimestampHandlerInterface::validateId","description":"Validate ID","tag":"refentry","type":"Function","methodName":"validateId"},{"id":"class.sessionupdatetimestamphandlerinterface","name":"SessionUpdateTimestampHandlerInterface","description":"The SessionUpdateTimestampHandlerInterface interface","tag":"phpdoc:classref","type":"Class","methodName":"SessionUpdateTimestampHandlerInterface"},{"id":"book.session","name":"Sessions","description":"Session Handling","tag":"book","type":"Extension","methodName":"Sessions"},{"id":"refs.basic.session","name":"Session Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Session Extensions"},{"id":"intro.cmark","name":"Introduction","description":"CommonMark","tag":"preface","type":"General","methodName":"Introduction"},{"id":"cmark.requirements","name":"Requirements","description":"CommonMark","tag":"section","type":"General","methodName":"Requirements"},{"id":"cmark.installation","name":"Installation","description":"CommonMark","tag":"section","type":"General","methodName":"Installation"},{"id":"cmark.setup","name":"Installing\/Configuring","description":"CommonMark","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"cmark.constants","name":"Predefined Constants","description":"CommonMark","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"class.commonmark-node-document","name":"CommonMark\\Node\\Document","description":"Document concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Document"},{"id":"commonmark-node-heading.construct","name":"CommonMark\\Node\\Heading::__construct","description":"Heading Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-heading","name":"CommonMark\\Node\\Heading","description":"Heading concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Heading"},{"id":"class.commonmark-node-paragraph","name":"CommonMark\\Node\\Paragraph","description":"Paragraph concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Paragraph"},{"id":"class.commonmark-node-blockquote","name":"CommonMark\\Node\\BlockQuote","description":"BlockQuote concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\BlockQuote"},{"id":"commonmark-node-bulletlist.construct","name":"CommonMark\\Node\\BulletList::__construct","description":"BulletList Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-bulletlist","name":"CommonMark\\Node\\BulletList","description":"BulletList concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\BulletList"},{"id":"commonmark-node-orderedlist.construct","name":"CommonMark\\Node\\OrderedList::__construct","description":"OrderedList Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-orderedlist","name":"CommonMark\\Node\\OrderedList","description":"OrderedList concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\OrderedList"},{"id":"class.commonmark-node-item","name":"CommonMark\\Node\\Item","description":"Item concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Item"},{"id":"commonmark-node-text.construct","name":"CommonMark\\Node\\Text::__construct","description":"Text Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-text","name":"CommonMark\\Node\\Text","description":"Text concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Text"},{"id":"class.commonmark-node-text-strong","name":"CommonMark\\Node\\Text\\Strong","description":"Strong concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Text\\Strong"},{"id":"class.commonmark-node-text-emphasis","name":"CommonMark\\Node\\Text\\Emphasis","description":"Emphasis concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Text\\Emphasis"},{"id":"class.commonmark-node-thematicbreak","name":"CommonMark\\Node\\ThematicBreak","description":"ThematicBreak concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\ThematicBreak"},{"id":"class.commonmark-node-softbreak","name":"CommonMark\\Node\\SoftBreak","description":"SoftBreak concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\SoftBreak"},{"id":"class.commonmark-node-linebreak","name":"CommonMark\\Node\\LineBreak","description":"LineBreak concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\LineBreak"},{"id":"class.commonmark-node-code","name":"CommonMark\\Node\\Code","description":"Code concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Code"},{"id":"commonmark-node-codeblock.construct","name":"CommonMark\\Node\\CodeBlock::__construct","description":"CodeBlock Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-codeblock","name":"CommonMark\\Node\\CodeBlock","description":"CodeBlock concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\CodeBlock"},{"id":"class.commonmark-node-htmlblock","name":"CommonMark\\Node\\HTMLBlock","description":"HTMLBlock concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\HTMLBlock"},{"id":"class.commonmark-node-htmlinline","name":"CommonMark\\Node\\HTMLInline","description":"HTMLInline concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\HTMLInline"},{"id":"commonmark-node-image.construct","name":"CommonMark\\Node\\Image::__construct","description":"Image Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-image","name":"CommonMark\\Node\\Image","description":"Image concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Image"},{"id":"commonmark-node-link.construct","name":"CommonMark\\Node\\Link::__construct","description":"Link Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.commonmark-node-link","name":"CommonMark\\Node\\Link","description":"Link concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\Link"},{"id":"class.commonmark-node-customblock","name":"CommonMark\\Node\\CustomBlock","description":"CustomBlock concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\CustomBlock"},{"id":"class.commonmark-node-custominline","name":"CommonMark\\Node\\CustomInline","description":"CustomInline concrete CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node\\CustomInline"},{"id":"commonmark-node.appendchild","name":"CommonMark\\Node::appendChild","description":"AST Manipulation","tag":"refentry","type":"Function","methodName":"appendChild"},{"id":"commonmark-node.prependchild","name":"CommonMark\\Node::prependChild","description":"AST Manipulation","tag":"refentry","type":"Function","methodName":"prependChild"},{"id":"commonmark-node.insertafter","name":"CommonMark\\Node::insertAfter","description":"AST Manipulation","tag":"refentry","type":"Function","methodName":"insertAfter"},{"id":"commonmark-node.insertbefore","name":"CommonMark\\Node::insertBefore","description":"AST Manipulation","tag":"refentry","type":"Function","methodName":"insertBefore"},{"id":"commonmark-node.replace","name":"CommonMark\\Node::replace","description":"AST Manipulation","tag":"refentry","type":"Function","methodName":"replace"},{"id":"commonmark-node.unlink","name":"CommonMark\\Node::unlink","description":"AST Manipulation","tag":"refentry","type":"Function","methodName":"unlink"},{"id":"commonmark-node.accept","name":"CommonMark\\Node::accept","description":"Visitation","tag":"refentry","type":"Function","methodName":"accept"},{"id":"class.commonmark-node","name":"CommonMark\\Node","description":"Abstract CommonMark\\Node","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Node"},{"id":"commonmark-interfaces-ivisitor.enter","name":"CommonMark\\Interfaces\\IVisitor::enter","description":"Visitation","tag":"refentry","type":"Function","methodName":"enter"},{"id":"commonmark-interfaces-ivisitor.leave","name":"CommonMark\\Interfaces\\IVisitor::leave","description":"Visitation","tag":"refentry","type":"Function","methodName":"leave"},{"id":"class.commonmark-interfaces-ivisitor","name":"CommonMark\\Interfaces\\IVisitor","description":"The CommonMark\\Interfaces\\IVisitor interface","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Interfaces\\IVisitor"},{"id":"commonmark-interfaces-ivisitable.accept","name":"CommonMark\\Interfaces\\IVisitable::accept","description":"Visitation","tag":"refentry","type":"Function","methodName":"accept"},{"id":"class.commonmark-interfaces-ivisitable","name":"CommonMark\\Interfaces\\IVisitable","description":"The CommonMark\\Interfaces\\IVisitable interface","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Interfaces\\IVisitable"},{"id":"commonmark-parser.construct","name":"CommonMark\\Parser::__construct","description":"Parsing","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"commonmark-parser.parse","name":"CommonMark\\Parser::parse","description":"Parsing","tag":"refentry","type":"Function","methodName":"parse"},{"id":"commonmark-parser.finish","name":"CommonMark\\Parser::finish","description":"Parsing","tag":"refentry","type":"Function","methodName":"finish"},{"id":"class.commonmark-parser","name":"CommonMark\\Parser","description":"The CommonMark\\Parser class","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\Parser"},{"id":"commonmark-cql.construct","name":"CommonMark\\CQL::__construct","description":"CQL Construction","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"commonmark-cql.invoke","name":"CommonMark\\CQL::__invoke","description":"CQL Execution","tag":"refentry","type":"Function","methodName":"__invoke"},{"id":"class.commonmark-cql","name":"CommonMark\\CQL","description":"The CommonMark\\CQL class","tag":"phpdoc:classref","type":"Class","methodName":"CommonMark\\CQL"},{"id":"function.commonmark-parse","name":"CommonMark\\Parse","description":"Parsing","tag":"refentry","type":"Function","methodName":"CommonMark\\Parse"},{"id":"function.commonmark-render","name":"CommonMark\\Render","description":"Rendering","tag":"refentry","type":"Function","methodName":"CommonMark\\Render"},{"id":"function.commonmark-render-html","name":"CommonMark\\Render\\HTML","description":"Rendering","tag":"refentry","type":"Function","methodName":"CommonMark\\Render\\HTML"},{"id":"function.commonmark-render-latex","name":"CommonMark\\Render\\Latex","description":"Rendering","tag":"refentry","type":"Function","methodName":"CommonMark\\Render\\Latex"},{"id":"function.commonmark-render-man","name":"CommonMark\\Render\\Man","description":"Rendering","tag":"refentry","type":"Function","methodName":"CommonMark\\Render\\Man"},{"id":"function.commonmark-render-xml","name":"CommonMark\\Render\\XML","description":"Rendering","tag":"refentry","type":"Function","methodName":"CommonMark\\Render\\XML"},{"id":"ref.cmark","name":"CommonMark Functions","description":"CommonMark","tag":"reference","type":"Extension","methodName":"CommonMark Functions"},{"id":"book.cmark","name":"CommonMark","description":"CommonMark","tag":"book","type":"Extension","methodName":"CommonMark"},{"id":"intro.parle","name":"Introduction","description":"Parsing and lexing","tag":"preface","type":"General","methodName":"Introduction"},{"id":"parle.requirements","name":"Requirements","description":"Parsing and lexing","tag":"section","type":"General","methodName":"Requirements"},{"id":"parle.installation","name":"Installation","description":"Parsing and lexing","tag":"section","type":"General","methodName":"Installation"},{"id":"parle.setup","name":"Installing\/Configuring","description":"Parsing and lexing","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"parle.constants","name":"Predefined Constants","description":"Parsing and lexing","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"parle.pattern.matching","name":"Pattern matching","description":"Parle pattern matching","tag":"chapter","type":"General","methodName":"Pattern matching"},{"id":"parle.examples.lexer","name":"Lexer examples","description":"Parsing and lexing","tag":"section","type":"General","methodName":"Lexer examples"},{"id":"parle.examples.parser","name":"Parser examples","description":"Parsing and lexing","tag":"section","type":"General","methodName":"Parser examples"},{"id":"parle.examples","name":"Examples","description":"Parsing and lexing","tag":"chapter","type":"General","methodName":"Examples"},{"id":"parle-lexer.advance","name":"Parle\\Lexer::advance","description":"Process next lexer rule","tag":"refentry","type":"Function","methodName":"advance"},{"id":"parle-lexer.build","name":"Parle\\Lexer::build","description":"Finalize the lexer rule set","tag":"refentry","type":"Function","methodName":"build"},{"id":"parle-lexer.callout","name":"Parle\\Lexer::callout","description":"Define token callback","tag":"refentry","type":"Function","methodName":"callout"},{"id":"parle-lexer.consume","name":"Parle\\Lexer::consume","description":"Pass the data for processing","tag":"refentry","type":"Function","methodName":"consume"},{"id":"parle-lexer.dump","name":"Parle\\Lexer::dump","description":"Dump the state machine","tag":"refentry","type":"Function","methodName":"dump"},{"id":"parle-lexer.gettoken","name":"Parle\\Lexer::getToken","description":"Retrieve the current token","tag":"refentry","type":"Function","methodName":"getToken"},{"id":"parle-lexer.insertmacro","name":"Parle\\Lexer::insertMacro","description":"Insert regex macro","tag":"refentry","type":"Function","methodName":"insertMacro"},{"id":"parle-lexer.push","name":"Parle\\Lexer::push","description":"Add a lexer rule","tag":"refentry","type":"Function","methodName":"push"},{"id":"parle-lexer.reset","name":"Parle\\Lexer::reset","description":"Reset lexer","tag":"refentry","type":"Function","methodName":"reset"},{"id":"class.parle-lexer","name":"Parle\\Lexer","description":"The Parle\\Lexer class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\Lexer"},{"id":"parle-rlexer.advance","name":"Parle\\RLexer::advance","description":"Process next lexer rule","tag":"refentry","type":"Function","methodName":"advance"},{"id":"parle-rlexer.build","name":"Parle\\RLexer::build","description":"Finalize the lexer rule set","tag":"refentry","type":"Function","methodName":"build"},{"id":"parle-rlexer.callout","name":"Parle\\RLexer::callout","description":"Define token callback","tag":"refentry","type":"Function","methodName":"callout"},{"id":"parle-rlexer.consume","name":"Parle\\RLexer::consume","description":"Pass the data for processing","tag":"refentry","type":"Function","methodName":"consume"},{"id":"parle-rlexer.dump","name":"Parle\\RLexer::dump","description":"Dump the state machine","tag":"refentry","type":"Function","methodName":"dump"},{"id":"parle-rlexer.gettoken","name":"Parle\\RLexer::getToken","description":"Retrieve the current token","tag":"refentry","type":"Function","methodName":"getToken"},{"id":"parle-rlexer.insertmacro","name":"Parle\\RLexer::insertMacro","description":"Insert regex macro","tag":"refentry","type":"Function","methodName":"insertMacro"},{"id":"parle-rlexer.push","name":"Parle\\RLexer::push","description":"Add a lexer rule","tag":"refentry","type":"Function","methodName":"push"},{"id":"parle-rlexer.pushstate","name":"Parle\\RLexer::pushState","description":"Push a new start state","tag":"refentry","type":"Function","methodName":"pushState"},{"id":"parle-rlexer.reset","name":"Parle\\RLexer::reset","description":"Reset lexer","tag":"refentry","type":"Function","methodName":"reset"},{"id":"class.parle-rlexer","name":"Parle\\RLexer","description":"The Parle\\RLexer class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\RLexer"},{"id":"parle-parser.advance","name":"Parle\\Parser::advance","description":"Process next parser rule","tag":"refentry","type":"Function","methodName":"advance"},{"id":"parle-parser.build","name":"Parle\\Parser::build","description":"Finalize the grammar rules","tag":"refentry","type":"Function","methodName":"build"},{"id":"parle-parser.consume","name":"Parle\\Parser::consume","description":"Consume the data for processing","tag":"refentry","type":"Function","methodName":"consume"},{"id":"parle-parser.dump","name":"Parle\\Parser::dump","description":"Dump the grammar","tag":"refentry","type":"Function","methodName":"dump"},{"id":"parle-parser.errorinfo","name":"Parle\\Parser::errorInfo","description":"Retrieve the error information","tag":"refentry","type":"Function","methodName":"errorInfo"},{"id":"parle-parser.left","name":"Parle\\Parser::left","description":"Declare a token with left-associativity","tag":"refentry","type":"Function","methodName":"left"},{"id":"parle-parser.nonassoc","name":"Parle\\Parser::nonassoc","description":"Declare a token with no associativity","tag":"refentry","type":"Function","methodName":"nonassoc"},{"id":"parle-parser.precedence","name":"Parle\\Parser::precedence","description":"Declare a precedence rule","tag":"refentry","type":"Function","methodName":"precedence"},{"id":"parle-parser.push","name":"Parle\\Parser::push","description":"Add a grammar rule","tag":"refentry","type":"Function","methodName":"push"},{"id":"parle-parser.reset","name":"Parle\\Parser::reset","description":"Reset parser state","tag":"refentry","type":"Function","methodName":"reset"},{"id":"parle-parser.right","name":"Parle\\Parser::right","description":"Declare a token with right-associativity","tag":"refentry","type":"Function","methodName":"right"},{"id":"parle-parser.sigil","name":"Parle\\Parser::sigil","description":"Retrieve a matching part of a rule","tag":"refentry","type":"Function","methodName":"sigil"},{"id":"parle-parser.sigilcount","name":"Parle\\Parser::sigilCount","description":"Number of elements in matched rule","tag":"refentry","type":"Function","methodName":"sigilCount"},{"id":"parle-parser.sigilname","name":"Parle\\Parser::sigilName","description":"Retrieve a rule or token name","tag":"refentry","type":"Function","methodName":"sigilName"},{"id":"parle-parser.token","name":"Parle\\Parser::token","description":"Declare a token","tag":"refentry","type":"Function","methodName":"token"},{"id":"parle-parser.tokenid","name":"Parle\\Parser::tokenId","description":"Get token id","tag":"refentry","type":"Function","methodName":"tokenId"},{"id":"parle-parser.trace","name":"Parle\\Parser::trace","description":"Trace the parser operation","tag":"refentry","type":"Function","methodName":"trace"},{"id":"parle-parser.validate","name":"Parle\\Parser::validate","description":"Validate input","tag":"refentry","type":"Function","methodName":"validate"},{"id":"class.parle-parser","name":"Parle\\Parser","description":"The Parle\\Parser class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\Parser"},{"id":"parle-rparser.advance","name":"Parle\\RParser::advance","description":"Process next parser rule","tag":"refentry","type":"Function","methodName":"advance"},{"id":"parle-rparser.build","name":"Parle\\RParser::build","description":"Finalize the grammar rules","tag":"refentry","type":"Function","methodName":"build"},{"id":"parle-rparser.consume","name":"Parle\\RParser::consume","description":"Consume the data for processing","tag":"refentry","type":"Function","methodName":"consume"},{"id":"parle-rparser.dump","name":"Parle\\RParser::dump","description":"Dump the grammar","tag":"refentry","type":"Function","methodName":"dump"},{"id":"parle-rparser.errorinfo","name":"Parle\\RParser::errorInfo","description":"Retrieve the error information","tag":"refentry","type":"Function","methodName":"errorInfo"},{"id":"parle-rparser.left","name":"Parle\\RParser::left","description":"Declare a token with left-associativity","tag":"refentry","type":"Function","methodName":"left"},{"id":"parle-rparser.nonassoc","name":"Parle\\RParser::nonassoc","description":"Declare a token with no associativity","tag":"refentry","type":"Function","methodName":"nonassoc"},{"id":"parle-rparser.precedence","name":"Parle\\RParser::precedence","description":"Declare a precedence rule","tag":"refentry","type":"Function","methodName":"precedence"},{"id":"parle-rparser.push","name":"Parle\\RParser::push","description":"Add a grammar rule","tag":"refentry","type":"Function","methodName":"push"},{"id":"parle-rparser.reset","name":"Parle\\RParser::reset","description":"Reset parser state","tag":"refentry","type":"Function","methodName":"reset"},{"id":"parle-rparser.right","name":"Parle\\RParser::right","description":"Declare a token with right-associativity","tag":"refentry","type":"Function","methodName":"right"},{"id":"parle-rparser.sigil","name":"Parle\\RParser::sigil","description":"Retrieve a matching part of a rule","tag":"refentry","type":"Function","methodName":"sigil"},{"id":"parle-rparser.sigilcount","name":"Parle\\RParser::sigilCount","description":"Number of elements in matched rule","tag":"refentry","type":"Function","methodName":"sigilCount"},{"id":"parle-rparser.sigilname","name":"Parle\\RParser::sigilName","description":"Retrieve a rule or token name","tag":"refentry","type":"Function","methodName":"sigilName"},{"id":"parle-rparser.token","name":"Parle\\RParser::token","description":"Declare a token","tag":"refentry","type":"Function","methodName":"token"},{"id":"parle-rparser.tokenid","name":"Parle\\RParser::tokenId","description":"Get token id","tag":"refentry","type":"Function","methodName":"tokenId"},{"id":"parle-rparser.trace","name":"Parle\\RParser::trace","description":"Trace the parser operation","tag":"refentry","type":"Function","methodName":"trace"},{"id":"parle-rparser.validate","name":"Parle\\RParser::validate","description":"Validate input","tag":"refentry","type":"Function","methodName":"validate"},{"id":"class.parle-rparser","name":"Parle\\RParser","description":"The Parle\\RParser class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\RParser"},{"id":"parle-stack.pop","name":"Parle\\Stack::pop","description":"Pop an item from the stack","tag":"refentry","type":"Function","methodName":"pop"},{"id":"parle-stack.push","name":"Parle\\Stack::push","description":"Push an item into the stack","tag":"refentry","type":"Function","methodName":"push"},{"id":"class.parle-stack","name":"Parle\\Stack","description":"The Parle\\Stack class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\Stack"},{"id":"class.parle-token","name":"Parle\\Token","description":"The Parle\\Token class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\Token"},{"id":"class.parle-errorinfo","name":"Parle\\ErrorInfo","description":"The Parle\\ErrorInfo class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\ErrorInfo"},{"id":"class.parle-lexerexception","name":"Parle\\LexerException","description":"The Parle\\LexerException class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\LexerException"},{"id":"class.parle-parserexception","name":"Parle\\ParserException","description":"The Parle\\ParserException class","tag":"phpdoc:classref","type":"Class","methodName":"Parle\\ParserException"},{"id":"book.parle","name":"Parle","description":"Parsing and lexing","tag":"book","type":"Extension","methodName":"Parle"},{"id":"intro.pcre","name":"Introduction","description":"Regular Expressions (Perl-Compatible)","tag":"preface","type":"General","methodName":"Introduction"},{"id":"pcre.installation","name":"Installation","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Installation"},{"id":"pcre.configuration","name":"Runtime Configuration","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"pcre.setup","name":"Installing\/Configuring","description":"Regular Expressions (Perl-Compatible)","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"pcre.constants","name":"Predefined Constants","description":"Regular Expressions (Perl-Compatible)","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"pcre.examples","name":"Examples","description":"Regular Expressions (Perl-Compatible)","tag":"appendix","type":"General","methodName":"Examples"},{"id":"regexp.introduction","name":"Introduction","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Introduction"},{"id":"regexp.reference.delimiters","name":"Delimiters","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Delimiters"},{"id":"regexp.reference.meta","name":"Meta-characters","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Meta-characters"},{"id":"regexp.reference.escape","name":"Escape sequences","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Escape sequences"},{"id":"regexp.reference.unicode","name":"Unicode character properties","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Unicode character properties"},{"id":"regexp.reference.anchors","name":"Anchors","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Anchors"},{"id":"regexp.reference.dot","name":"Dot","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Dot"},{"id":"regexp.reference.character-classes","name":"Character classes","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Character classes"},{"id":"regexp.reference.alternation","name":"Alternation","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Alternation"},{"id":"regexp.reference.internal-options","name":"Internal option setting","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Internal option setting"},{"id":"regexp.reference.subpatterns","name":"Subpatterns","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Subpatterns"},{"id":"regexp.reference.repetition","name":"Repetition","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Repetition"},{"id":"regexp.reference.back-references","name":"Back references","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Back references"},{"id":"regexp.reference.assertions","name":"Assertions","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Assertions"},{"id":"regexp.reference.onlyonce","name":"Once-only subpatterns","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Once-only subpatterns"},{"id":"regexp.reference.conditional","name":"Conditional subpatterns","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Conditional subpatterns"},{"id":"regexp.reference.comments","name":"Comments","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Comments"},{"id":"regexp.reference.recursive","name":"Recursive patterns","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Recursive patterns"},{"id":"regexp.reference.performance","name":"Performance","description":"Regular Expressions (Perl-Compatible)","tag":"section","type":"General","methodName":"Performance"},{"id":"reference.pcre.pattern.syntax","name":"PCRE regex syntax","description":"Pattern Syntax","tag":"chapter","type":"General","methodName":"PCRE regex syntax"},{"id":"reference.pcre.pattern.modifiers","name":"Possible modifiers in regex patterns","description":"Pattern Modifiers","tag":"article","type":"General","methodName":"Possible modifiers in regex patterns"},{"id":"reference.pcre.pattern.differences","name":"Differences From Perl","description":"Perl Differences","tag":"article","type":"General","methodName":"Differences From Perl"},{"id":"pcre.pattern","name":"PCRE Patterns","description":"Regular Expressions (Perl-Compatible)","tag":"part","type":"General","methodName":"PCRE Patterns"},{"id":"function.preg-filter","name":"preg_filter","description":"Perform a regular expression search and replace","tag":"refentry","type":"Function","methodName":"preg_filter"},{"id":"function.preg-grep","name":"preg_grep","description":"Return array entries that match the pattern","tag":"refentry","type":"Function","methodName":"preg_grep"},{"id":"function.preg-last-error","name":"preg_last_error","description":"Returns the error code of the last PCRE regex execution","tag":"refentry","type":"Function","methodName":"preg_last_error"},{"id":"function.preg-last-error-msg","name":"preg_last_error_msg","description":"Returns the error message of the last PCRE regex execution","tag":"refentry","type":"Function","methodName":"preg_last_error_msg"},{"id":"function.preg-match","name":"preg_match","description":"Perform a regular expression match","tag":"refentry","type":"Function","methodName":"preg_match"},{"id":"function.preg-match-all","name":"preg_match_all","description":"Perform a global regular expression match","tag":"refentry","type":"Function","methodName":"preg_match_all"},{"id":"function.preg-quote","name":"preg_quote","description":"Quote regular expression characters","tag":"refentry","type":"Function","methodName":"preg_quote"},{"id":"function.preg-replace","name":"preg_replace","description":"Perform a regular expression search and replace","tag":"refentry","type":"Function","methodName":"preg_replace"},{"id":"function.preg-replace-callback","name":"preg_replace_callback","description":"Perform a regular expression search and replace using a callback","tag":"refentry","type":"Function","methodName":"preg_replace_callback"},{"id":"function.preg-replace-callback-array","name":"preg_replace_callback_array","description":"Perform a regular expression search and replace using callbacks","tag":"refentry","type":"Function","methodName":"preg_replace_callback_array"},{"id":"function.preg-split","name":"preg_split","description":"Split string by a regular expression","tag":"refentry","type":"Function","methodName":"preg_split"},{"id":"ref.pcre","name":"PCRE Functions","description":"Regular Expressions (Perl-Compatible)","tag":"reference","type":"Extension","methodName":"PCRE Functions"},{"id":"book.pcre","name":"PCRE","description":"Regular Expressions (Perl-Compatible)","tag":"book","type":"Extension","methodName":"PCRE"},{"id":"intro.ssdeep","name":"Introduction","description":"ssdeep Fuzzy Hashing","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ssdeep.requirements","name":"Requirements","description":"ssdeep Fuzzy Hashing","tag":"section","type":"General","methodName":"Requirements"},{"id":"ssdeep.installation","name":"Installation","description":"ssdeep Fuzzy Hashing","tag":"section","type":"General","methodName":"Installation"},{"id":"ssdeep.setup","name":"Installing\/Configuring","description":"ssdeep Fuzzy Hashing","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.ssdeep-fuzzy-compare","name":"ssdeep_fuzzy_compare","description":"Calculates the match score between two fuzzy hash signatures","tag":"refentry","type":"Function","methodName":"ssdeep_fuzzy_compare"},{"id":"function.ssdeep-fuzzy-hash","name":"ssdeep_fuzzy_hash","description":"Create a fuzzy hash from a string","tag":"refentry","type":"Function","methodName":"ssdeep_fuzzy_hash"},{"id":"function.ssdeep-fuzzy-hash-filename","name":"ssdeep_fuzzy_hash_filename","description":"Create a fuzzy hash from a file","tag":"refentry","type":"Function","methodName":"ssdeep_fuzzy_hash_filename"},{"id":"ref.ssdeep","name":"ssdeep Functions","description":"ssdeep Fuzzy Hashing","tag":"reference","type":"Extension","methodName":"ssdeep Functions"},{"id":"book.ssdeep","name":"ssdeep","description":"ssdeep Fuzzy Hashing","tag":"book","type":"Extension","methodName":"ssdeep"},{"id":"intro.strings","name":"Introduction","description":"Strings","tag":"preface","type":"General","methodName":"Introduction"},{"id":"strings.installation","name":"Installation","description":"Strings","tag":"section","type":"General","methodName":"Installation"},{"id":"strings.setup","name":"Installing\/Configuring","description":"Strings","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"string.constants","name":"Predefined Constants","description":"Strings","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.addcslashes","name":"addcslashes","description":"Quote string with slashes in a C style","tag":"refentry","type":"Function","methodName":"addcslashes"},{"id":"function.addslashes","name":"addslashes","description":"Quote string with slashes","tag":"refentry","type":"Function","methodName":"addslashes"},{"id":"function.bin2hex","name":"bin2hex","description":"Convert binary data into hexadecimal representation","tag":"refentry","type":"Function","methodName":"bin2hex"},{"id":"function.chop","name":"chop","description":"Alias of rtrim","tag":"refentry","type":"Function","methodName":"chop"},{"id":"function.chr","name":"chr","description":"Generate a single-byte string from a number","tag":"refentry","type":"Function","methodName":"chr"},{"id":"function.chunk-split","name":"chunk_split","description":"Split a string into smaller chunks","tag":"refentry","type":"Function","methodName":"chunk_split"},{"id":"function.convert-cyr-string","name":"convert_cyr_string","description":"Convert from one Cyrillic character set to another","tag":"refentry","type":"Function","methodName":"convert_cyr_string"},{"id":"function.convert-uudecode","name":"convert_uudecode","description":"Decode a uuencoded string","tag":"refentry","type":"Function","methodName":"convert_uudecode"},{"id":"function.convert-uuencode","name":"convert_uuencode","description":"Uuencode a string","tag":"refentry","type":"Function","methodName":"convert_uuencode"},{"id":"function.count-chars","name":"count_chars","description":"Return information about characters used in a string","tag":"refentry","type":"Function","methodName":"count_chars"},{"id":"function.crc32","name":"crc32","description":"Calculates the crc32 polynomial of a string","tag":"refentry","type":"Function","methodName":"crc32"},{"id":"function.crypt","name":"crypt","description":"One-way string hashing","tag":"refentry","type":"Function","methodName":"crypt"},{"id":"function.echo","name":"echo","description":"Output one or more strings","tag":"refentry","type":"Function","methodName":"echo"},{"id":"function.explode","name":"explode","description":"Split a string by a string","tag":"refentry","type":"Function","methodName":"explode"},{"id":"function.fprintf","name":"fprintf","description":"Write a formatted string to a stream","tag":"refentry","type":"Function","methodName":"fprintf"},{"id":"function.get-html-translation-table","name":"get_html_translation_table","description":"Returns the translation table used by htmlspecialchars and htmlentities","tag":"refentry","type":"Function","methodName":"get_html_translation_table"},{"id":"function.hebrev","name":"hebrev","description":"Convert logical Hebrew text to visual text","tag":"refentry","type":"Function","methodName":"hebrev"},{"id":"function.hebrevc","name":"hebrevc","description":"Convert logical Hebrew text to visual text with newline conversion","tag":"refentry","type":"Function","methodName":"hebrevc"},{"id":"function.hex2bin","name":"hex2bin","description":"Decodes a hexadecimally encoded binary string","tag":"refentry","type":"Function","methodName":"hex2bin"},{"id":"function.html-entity-decode","name":"html_entity_decode","description":"Convert HTML entities to their corresponding characters","tag":"refentry","type":"Function","methodName":"html_entity_decode"},{"id":"function.htmlentities","name":"htmlentities","description":"Convert all applicable characters to HTML entities","tag":"refentry","type":"Function","methodName":"htmlentities"},{"id":"function.htmlspecialchars","name":"htmlspecialchars","description":"Convert special characters to HTML entities","tag":"refentry","type":"Function","methodName":"htmlspecialchars"},{"id":"function.htmlspecialchars-decode","name":"htmlspecialchars_decode","description":"Convert special HTML entities back to characters","tag":"refentry","type":"Function","methodName":"htmlspecialchars_decode"},{"id":"function.implode","name":"implode","description":"Join array elements with a string","tag":"refentry","type":"Function","methodName":"implode"},{"id":"function.join","name":"join","description":"Alias of implode","tag":"refentry","type":"Function","methodName":"join"},{"id":"function.lcfirst","name":"lcfirst","description":"Make a string's first character lowercase","tag":"refentry","type":"Function","methodName":"lcfirst"},{"id":"function.levenshtein","name":"levenshtein","description":"Calculate Levenshtein distance between two strings","tag":"refentry","type":"Function","methodName":"levenshtein"},{"id":"function.localeconv","name":"localeconv","description":"Get numeric formatting information","tag":"refentry","type":"Function","methodName":"localeconv"},{"id":"function.ltrim","name":"ltrim","description":"Strip whitespace (or other characters) from the beginning of a string","tag":"refentry","type":"Function","methodName":"ltrim"},{"id":"function.md5","name":"md5","description":"Calculate the md5 hash of a string","tag":"refentry","type":"Function","methodName":"md5"},{"id":"function.md5-file","name":"md5_file","description":"Calculates the md5 hash of a given file","tag":"refentry","type":"Function","methodName":"md5_file"},{"id":"function.metaphone","name":"metaphone","description":"Calculate the metaphone key of a string","tag":"refentry","type":"Function","methodName":"metaphone"},{"id":"function.money-format","name":"money_format","description":"Formats a number as a currency string","tag":"refentry","type":"Function","methodName":"money_format"},{"id":"function.nl-langinfo","name":"nl_langinfo","description":"Query language and locale information","tag":"refentry","type":"Function","methodName":"nl_langinfo"},{"id":"function.nl2br","name":"nl2br","description":"Inserts HTML line breaks before all newlines in a string","tag":"refentry","type":"Function","methodName":"nl2br"},{"id":"function.number-format","name":"number_format","description":"Format a number with grouped thousands","tag":"refentry","type":"Function","methodName":"number_format"},{"id":"function.ord","name":"ord","description":"Convert the first byte of a string to a value between 0 and 255","tag":"refentry","type":"Function","methodName":"ord"},{"id":"function.parse-str","name":"parse_str","description":"Parse a string as a URL query string","tag":"refentry","type":"Function","methodName":"parse_str"},{"id":"function.print","name":"print","description":"Output a string","tag":"refentry","type":"Function","methodName":"print"},{"id":"function.printf","name":"printf","description":"Output a formatted string","tag":"refentry","type":"Function","methodName":"printf"},{"id":"function.quoted-printable-decode","name":"quoted_printable_decode","description":"Convert a quoted-printable string to an 8 bit string","tag":"refentry","type":"Function","methodName":"quoted_printable_decode"},{"id":"function.quoted-printable-encode","name":"quoted_printable_encode","description":"Convert a 8 bit string to a quoted-printable string","tag":"refentry","type":"Function","methodName":"quoted_printable_encode"},{"id":"function.quotemeta","name":"quotemeta","description":"Quote meta characters","tag":"refentry","type":"Function","methodName":"quotemeta"},{"id":"function.rtrim","name":"rtrim","description":"Strip whitespace (or other characters) from the end of a string","tag":"refentry","type":"Function","methodName":"rtrim"},{"id":"function.setlocale","name":"setlocale","description":"Set locale information","tag":"refentry","type":"Function","methodName":"setlocale"},{"id":"function.sha1","name":"sha1","description":"Calculate the sha1 hash of a string","tag":"refentry","type":"Function","methodName":"sha1"},{"id":"function.sha1-file","name":"sha1_file","description":"Calculate the sha1 hash of a file","tag":"refentry","type":"Function","methodName":"sha1_file"},{"id":"function.similar-text","name":"similar_text","description":"Calculate the similarity between two strings","tag":"refentry","type":"Function","methodName":"similar_text"},{"id":"function.soundex","name":"soundex","description":"Calculate the soundex key of a string","tag":"refentry","type":"Function","methodName":"soundex"},{"id":"function.sprintf","name":"sprintf","description":"Return a formatted string","tag":"refentry","type":"Function","methodName":"sprintf"},{"id":"function.sscanf","name":"sscanf","description":"Parses input from a string according to a format","tag":"refentry","type":"Function","methodName":"sscanf"},{"id":"function.str-contains","name":"str_contains","description":"Determine if a string contains a given substring","tag":"refentry","type":"Function","methodName":"str_contains"},{"id":"function.str-decrement","name":"str_decrement","description":"Decrement an alphanumeric string","tag":"refentry","type":"Function","methodName":"str_decrement"},{"id":"function.str-ends-with","name":"str_ends_with","description":"Checks if a string ends with a given substring","tag":"refentry","type":"Function","methodName":"str_ends_with"},{"id":"function.str-getcsv","name":"str_getcsv","description":"Parse a CSV string into an array","tag":"refentry","type":"Function","methodName":"str_getcsv"},{"id":"function.str-increment","name":"str_increment","description":"Increment an alphanumeric string","tag":"refentry","type":"Function","methodName":"str_increment"},{"id":"function.str-ireplace","name":"str_ireplace","description":"Case-insensitive version of str_replace","tag":"refentry","type":"Function","methodName":"str_ireplace"},{"id":"function.str-pad","name":"str_pad","description":"Pad a string to a certain length with another string","tag":"refentry","type":"Function","methodName":"str_pad"},{"id":"function.str-repeat","name":"str_repeat","description":"Repeat a string","tag":"refentry","type":"Function","methodName":"str_repeat"},{"id":"function.str-replace","name":"str_replace","description":"Replace all occurrences of the search string with the replacement string","tag":"refentry","type":"Function","methodName":"str_replace"},{"id":"function.str-rot13","name":"str_rot13","description":"Perform the rot13 transform on a string","tag":"refentry","type":"Function","methodName":"str_rot13"},{"id":"function.str-shuffle","name":"str_shuffle","description":"Randomly shuffles a string","tag":"refentry","type":"Function","methodName":"str_shuffle"},{"id":"function.str-split","name":"str_split","description":"Convert a string to an array","tag":"refentry","type":"Function","methodName":"str_split"},{"id":"function.str-starts-with","name":"str_starts_with","description":"Checks if a string starts with a given substring","tag":"refentry","type":"Function","methodName":"str_starts_with"},{"id":"function.str-word-count","name":"str_word_count","description":"Return information about words used in a string","tag":"refentry","type":"Function","methodName":"str_word_count"},{"id":"function.strcasecmp","name":"strcasecmp","description":"Binary safe case-insensitive string comparison","tag":"refentry","type":"Function","methodName":"strcasecmp"},{"id":"function.strchr","name":"strchr","description":"Alias of strstr","tag":"refentry","type":"Function","methodName":"strchr"},{"id":"function.strcmp","name":"strcmp","description":"Binary safe string comparison","tag":"refentry","type":"Function","methodName":"strcmp"},{"id":"function.strcoll","name":"strcoll","description":"Locale based string comparison","tag":"refentry","type":"Function","methodName":"strcoll"},{"id":"function.strcspn","name":"strcspn","description":"Find length of initial segment not matching mask","tag":"refentry","type":"Function","methodName":"strcspn"},{"id":"function.strip-tags","name":"strip_tags","description":"Strip HTML and PHP tags from a string","tag":"refentry","type":"Function","methodName":"strip_tags"},{"id":"function.stripcslashes","name":"stripcslashes","description":"Un-quote string quoted with addcslashes","tag":"refentry","type":"Function","methodName":"stripcslashes"},{"id":"function.stripos","name":"stripos","description":"Find the position of the first occurrence of a case-insensitive substring in a string","tag":"refentry","type":"Function","methodName":"stripos"},{"id":"function.stripslashes","name":"stripslashes","description":"Un-quotes a quoted string","tag":"refentry","type":"Function","methodName":"stripslashes"},{"id":"function.stristr","name":"stristr","description":"Case-insensitive strstr","tag":"refentry","type":"Function","methodName":"stristr"},{"id":"function.strlen","name":"strlen","description":"Get string length","tag":"refentry","type":"Function","methodName":"strlen"},{"id":"function.strnatcasecmp","name":"strnatcasecmp","description":"Case insensitive string comparisons using a \"natural order\" algorithm","tag":"refentry","type":"Function","methodName":"strnatcasecmp"},{"id":"function.strnatcmp","name":"strnatcmp","description":"String comparisons using a \"natural order\" algorithm","tag":"refentry","type":"Function","methodName":"strnatcmp"},{"id":"function.strncasecmp","name":"strncasecmp","description":"Binary safe case-insensitive string comparison of the first n characters","tag":"refentry","type":"Function","methodName":"strncasecmp"},{"id":"function.strncmp","name":"strncmp","description":"Binary safe string comparison of the first n characters","tag":"refentry","type":"Function","methodName":"strncmp"},{"id":"function.strpbrk","name":"strpbrk","description":"Search a string for any of a set of characters","tag":"refentry","type":"Function","methodName":"strpbrk"},{"id":"function.strpos","name":"strpos","description":"Find the position of the first occurrence of a substring in a string","tag":"refentry","type":"Function","methodName":"strpos"},{"id":"function.strrchr","name":"strrchr","description":"Find the last occurrence of a character in a string","tag":"refentry","type":"Function","methodName":"strrchr"},{"id":"function.strrev","name":"strrev","description":"Reverse a string","tag":"refentry","type":"Function","methodName":"strrev"},{"id":"function.strripos","name":"strripos","description":"Find the position of the last occurrence of a case-insensitive substring in a string","tag":"refentry","type":"Function","methodName":"strripos"},{"id":"function.strrpos","name":"strrpos","description":"Find the position of the last occurrence of a substring in a string","tag":"refentry","type":"Function","methodName":"strrpos"},{"id":"function.strspn","name":"strspn","description":"Finds the length of the initial segment of a string consisting\n entirely of characters contained within a given mask","tag":"refentry","type":"Function","methodName":"strspn"},{"id":"function.strstr","name":"strstr","description":"Find the first occurrence of a string","tag":"refentry","type":"Function","methodName":"strstr"},{"id":"function.strtok","name":"strtok","description":"Tokenize string","tag":"refentry","type":"Function","methodName":"strtok"},{"id":"function.strtolower","name":"strtolower","description":"Make a string lowercase","tag":"refentry","type":"Function","methodName":"strtolower"},{"id":"function.strtoupper","name":"strtoupper","description":"Make a string uppercase","tag":"refentry","type":"Function","methodName":"strtoupper"},{"id":"function.strtr","name":"strtr","description":"Translate characters or replace substrings","tag":"refentry","type":"Function","methodName":"strtr"},{"id":"function.substr","name":"substr","description":"Return part of a string","tag":"refentry","type":"Function","methodName":"substr"},{"id":"function.substr-compare","name":"substr_compare","description":"Binary safe comparison of two strings from an offset, up to length characters","tag":"refentry","type":"Function","methodName":"substr_compare"},{"id":"function.substr-count","name":"substr_count","description":"Count the number of substring occurrences","tag":"refentry","type":"Function","methodName":"substr_count"},{"id":"function.substr-replace","name":"substr_replace","description":"Replace text within a portion of a string","tag":"refentry","type":"Function","methodName":"substr_replace"},{"id":"function.trim","name":"trim","description":"Strip whitespace (or other characters) from the beginning and end of a string","tag":"refentry","type":"Function","methodName":"trim"},{"id":"function.ucfirst","name":"ucfirst","description":"Make a string's first character uppercase","tag":"refentry","type":"Function","methodName":"ucfirst"},{"id":"function.ucwords","name":"ucwords","description":"Uppercase the first character of each word in a string","tag":"refentry","type":"Function","methodName":"ucwords"},{"id":"function.utf8-decode","name":"utf8_decode","description":"Converts a string from UTF-8 to ISO-8859-1, replacing invalid or unrepresentable\n characters","tag":"refentry","type":"Function","methodName":"utf8_decode"},{"id":"function.utf8-encode","name":"utf8_encode","description":"Converts a string from ISO-8859-1 to UTF-8","tag":"refentry","type":"Function","methodName":"utf8_encode"},{"id":"function.vfprintf","name":"vfprintf","description":"Write a formatted string to a stream","tag":"refentry","type":"Function","methodName":"vfprintf"},{"id":"function.vprintf","name":"vprintf","description":"Output a formatted string","tag":"refentry","type":"Function","methodName":"vprintf"},{"id":"function.vsprintf","name":"vsprintf","description":"Return a formatted string","tag":"refentry","type":"Function","methodName":"vsprintf"},{"id":"function.wordwrap","name":"wordwrap","description":"Wraps a string to a given number of characters","tag":"refentry","type":"Function","methodName":"wordwrap"},{"id":"ref.strings","name":"String Functions","description":"Strings","tag":"reference","type":"Extension","methodName":"String Functions"},{"id":"changelog.strings","name":"Changelog","description":"Strings","tag":"appendix","type":"General","methodName":"Changelog"},{"id":"book.strings","name":"Strings","description":"Text Processing","tag":"book","type":"Extension","methodName":"Strings"},{"id":"refs.basic.text","name":"Text Processing","description":"Function Reference","tag":"set","type":"Extension","methodName":"Text Processing"},{"id":"intro.array","name":"Introduction","description":"Arrays","tag":"preface","type":"General","methodName":"Introduction"},{"id":"array.constants","name":"Predefined Constants","description":"Arrays","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"array.sorting","name":"Sorting Arrays","description":"Arrays","tag":"chapter","type":"General","methodName":"Sorting Arrays"},{"id":"function.array","name":"array","description":"Create an array","tag":"refentry","type":"Function","methodName":"array"},{"id":"function.array-all","name":"array_all","description":"Checks if all array elements satisfy a callback function","tag":"refentry","type":"Function","methodName":"array_all"},{"id":"function.array-any","name":"array_any","description":"Checks if at least one array element satisfies a callback function","tag":"refentry","type":"Function","methodName":"array_any"},{"id":"function.array-change-key-case","name":"array_change_key_case","description":"Changes the case of all keys in an array","tag":"refentry","type":"Function","methodName":"array_change_key_case"},{"id":"function.array-chunk","name":"array_chunk","description":"Split an array into chunks","tag":"refentry","type":"Function","methodName":"array_chunk"},{"id":"function.array-column","name":"array_column","description":"Return the values from a single column in the input array","tag":"refentry","type":"Function","methodName":"array_column"},{"id":"function.array-combine","name":"array_combine","description":"Creates an array by using one array for keys and another for its values","tag":"refentry","type":"Function","methodName":"array_combine"},{"id":"function.array-count-values","name":"array_count_values","description":"Counts the occurrences of each distinct value in an array","tag":"refentry","type":"Function","methodName":"array_count_values"},{"id":"function.array-diff","name":"array_diff","description":"Computes the difference of arrays","tag":"refentry","type":"Function","methodName":"array_diff"},{"id":"function.array-diff-assoc","name":"array_diff_assoc","description":"Computes the difference of arrays with additional index check","tag":"refentry","type":"Function","methodName":"array_diff_assoc"},{"id":"function.array-diff-key","name":"array_diff_key","description":"Computes the difference of arrays using keys for comparison","tag":"refentry","type":"Function","methodName":"array_diff_key"},{"id":"function.array-diff-uassoc","name":"array_diff_uassoc","description":"Computes the difference of arrays with additional index check which is performed by a user supplied callback function","tag":"refentry","type":"Function","methodName":"array_diff_uassoc"},{"id":"function.array-diff-ukey","name":"array_diff_ukey","description":"Computes the difference of arrays using a callback function on the keys for comparison","tag":"refentry","type":"Function","methodName":"array_diff_ukey"},{"id":"function.array-fill","name":"array_fill","description":"Fill an array with values","tag":"refentry","type":"Function","methodName":"array_fill"},{"id":"function.array-fill-keys","name":"array_fill_keys","description":"Fill an array with values, specifying keys","tag":"refentry","type":"Function","methodName":"array_fill_keys"},{"id":"function.array-filter","name":"array_filter","description":"Filters elements of an array using a callback function","tag":"refentry","type":"Function","methodName":"array_filter"},{"id":"function.array-find","name":"array_find","description":"Returns the first element satisfying a callback function","tag":"refentry","type":"Function","methodName":"array_find"},{"id":"function.array-find-key","name":"array_find_key","description":"Returns the key of the first element satisfying a callback function","tag":"refentry","type":"Function","methodName":"array_find_key"},{"id":"function.array-first","name":"array_first","description":"Gets the first value of an array","tag":"refentry","type":"Function","methodName":"array_first"},{"id":"function.array-flip","name":"array_flip","description":"Exchanges all keys with their associated values in an array","tag":"refentry","type":"Function","methodName":"array_flip"},{"id":"function.array-intersect","name":"array_intersect","description":"Computes the intersection of arrays","tag":"refentry","type":"Function","methodName":"array_intersect"},{"id":"function.array-intersect-assoc","name":"array_intersect_assoc","description":"Computes the intersection of arrays with additional index check","tag":"refentry","type":"Function","methodName":"array_intersect_assoc"},{"id":"function.array-intersect-key","name":"array_intersect_key","description":"Computes the intersection of arrays using keys for comparison","tag":"refentry","type":"Function","methodName":"array_intersect_key"},{"id":"function.array-intersect-uassoc","name":"array_intersect_uassoc","description":"Computes the intersection of arrays with additional index check, compares indexes by a callback function","tag":"refentry","type":"Function","methodName":"array_intersect_uassoc"},{"id":"function.array-intersect-ukey","name":"array_intersect_ukey","description":"Computes the intersection of arrays using a callback function on the keys for comparison","tag":"refentry","type":"Function","methodName":"array_intersect_ukey"},{"id":"function.array-is-list","name":"array_is_list","description":"Checks whether a given array is a list","tag":"refentry","type":"Function","methodName":"array_is_list"},{"id":"function.array-key-exists","name":"array_key_exists","description":"Checks if the given key or index exists in the array","tag":"refentry","type":"Function","methodName":"array_key_exists"},{"id":"function.array-key-first","name":"array_key_first","description":"Gets the first key of an array","tag":"refentry","type":"Function","methodName":"array_key_first"},{"id":"function.array-key-last","name":"array_key_last","description":"Gets the last key of an array","tag":"refentry","type":"Function","methodName":"array_key_last"},{"id":"function.array-keys","name":"array_keys","description":"Return all the keys or a subset of the keys of an array","tag":"refentry","type":"Function","methodName":"array_keys"},{"id":"function.array-last","name":"array_last","description":"Gets the last value of an array","tag":"refentry","type":"Function","methodName":"array_last"},{"id":"function.array-map","name":"array_map","description":"Applies the callback to the elements of the given arrays","tag":"refentry","type":"Function","methodName":"array_map"},{"id":"function.array-merge","name":"array_merge","description":"Merge one or more arrays","tag":"refentry","type":"Function","methodName":"array_merge"},{"id":"function.array-merge-recursive","name":"array_merge_recursive","description":"Merge one or more arrays recursively","tag":"refentry","type":"Function","methodName":"array_merge_recursive"},{"id":"function.array-multisort","name":"array_multisort","description":"Sort multiple or multi-dimensional arrays","tag":"refentry","type":"Function","methodName":"array_multisort"},{"id":"function.array-pad","name":"array_pad","description":"Pad array to the specified length with a value","tag":"refentry","type":"Function","methodName":"array_pad"},{"id":"function.array-pop","name":"array_pop","description":"Pop the element off the end of array","tag":"refentry","type":"Function","methodName":"array_pop"},{"id":"function.array-product","name":"array_product","description":"Calculate the product of values in an array","tag":"refentry","type":"Function","methodName":"array_product"},{"id":"function.array-push","name":"array_push","description":"Push one or more elements onto the end of array","tag":"refentry","type":"Function","methodName":"array_push"},{"id":"function.array-rand","name":"array_rand","description":"Pick one or more random keys out of an array","tag":"refentry","type":"Function","methodName":"array_rand"},{"id":"function.array-reduce","name":"array_reduce","description":"Iteratively reduce the array to a single value using a callback function","tag":"refentry","type":"Function","methodName":"array_reduce"},{"id":"function.array-replace","name":"array_replace","description":"Replaces elements from passed arrays into the first array","tag":"refentry","type":"Function","methodName":"array_replace"},{"id":"function.array-replace-recursive","name":"array_replace_recursive","description":"Replaces elements from passed arrays into the first array recursively","tag":"refentry","type":"Function","methodName":"array_replace_recursive"},{"id":"function.array-reverse","name":"array_reverse","description":"Return an array with elements in reverse order","tag":"refentry","type":"Function","methodName":"array_reverse"},{"id":"function.array-search","name":"array_search","description":"Searches the array for a given value and returns the first corresponding key if successful","tag":"refentry","type":"Function","methodName":"array_search"},{"id":"function.array-shift","name":"array_shift","description":"Shift an element off the beginning of array","tag":"refentry","type":"Function","methodName":"array_shift"},{"id":"function.array-slice","name":"array_slice","description":"Extract a slice of the array","tag":"refentry","type":"Function","methodName":"array_slice"},{"id":"function.array-splice","name":"array_splice","description":"Remove a portion of the array and replace it with something else","tag":"refentry","type":"Function","methodName":"array_splice"},{"id":"function.array-sum","name":"array_sum","description":"Calculate the sum of values in an array","tag":"refentry","type":"Function","methodName":"array_sum"},{"id":"function.array-udiff","name":"array_udiff","description":"Computes the difference of arrays by using a callback function for data comparison","tag":"refentry","type":"Function","methodName":"array_udiff"},{"id":"function.array-udiff-assoc","name":"array_udiff_assoc","description":"Computes the difference of arrays with additional index check, compares data by a callback function","tag":"refentry","type":"Function","methodName":"array_udiff_assoc"},{"id":"function.array-udiff-uassoc","name":"array_udiff_uassoc","description":"Computes the difference of arrays with additional index check, compares data and indexes by a callback function","tag":"refentry","type":"Function","methodName":"array_udiff_uassoc"},{"id":"function.array-uintersect","name":"array_uintersect","description":"Computes the intersection of arrays, compares data by a callback function","tag":"refentry","type":"Function","methodName":"array_uintersect"},{"id":"function.array-uintersect-assoc","name":"array_uintersect_assoc","description":"Computes the intersection of arrays with additional index check, compares data by a callback function","tag":"refentry","type":"Function","methodName":"array_uintersect_assoc"},{"id":"function.array-uintersect-uassoc","name":"array_uintersect_uassoc","description":"Computes the intersection of arrays with additional index check, compares data and indexes by separate callback functions","tag":"refentry","type":"Function","methodName":"array_uintersect_uassoc"},{"id":"function.array-unique","name":"array_unique","description":"Removes duplicate values from an array","tag":"refentry","type":"Function","methodName":"array_unique"},{"id":"function.array-unshift","name":"array_unshift","description":"Prepend one or more elements to the beginning of an array","tag":"refentry","type":"Function","methodName":"array_unshift"},{"id":"function.array-values","name":"array_values","description":"Return all the values of an array","tag":"refentry","type":"Function","methodName":"array_values"},{"id":"function.array-walk","name":"array_walk","description":"Apply a user supplied function to every member of an array","tag":"refentry","type":"Function","methodName":"array_walk"},{"id":"function.array-walk-recursive","name":"array_walk_recursive","description":"Apply a user function recursively to every member of an array","tag":"refentry","type":"Function","methodName":"array_walk_recursive"},{"id":"function.arsort","name":"arsort","description":"Sort an array in descending order and maintain index association","tag":"refentry","type":"Function","methodName":"arsort"},{"id":"function.asort","name":"asort","description":"Sort an array in ascending order and maintain index association","tag":"refentry","type":"Function","methodName":"asort"},{"id":"function.compact","name":"compact","description":"Create array containing variables and their values","tag":"refentry","type":"Function","methodName":"compact"},{"id":"function.count","name":"count","description":"Counts all elements in an array or in a Countable object","tag":"refentry","type":"Function","methodName":"count"},{"id":"function.current","name":"current","description":"Return the current element in an array","tag":"refentry","type":"Function","methodName":"current"},{"id":"function.each","name":"each","description":"Return the current key and value pair from an array and advance the array cursor","tag":"refentry","type":"Function","methodName":"each"},{"id":"function.end","name":"end","description":"Set the internal pointer of an array to its last element","tag":"refentry","type":"Function","methodName":"end"},{"id":"function.extract","name":"extract","description":"Import variables into the current symbol table from an array","tag":"refentry","type":"Function","methodName":"extract"},{"id":"function.in-array","name":"in_array","description":"Checks if a value exists in an array","tag":"refentry","type":"Function","methodName":"in_array"},{"id":"function.key","name":"key","description":"Fetch a key from an array","tag":"refentry","type":"Function","methodName":"key"},{"id":"function.key-exists","name":"key_exists","description":"Alias of array_key_exists","tag":"refentry","type":"Function","methodName":"key_exists"},{"id":"function.krsort","name":"krsort","description":"Sort an array by key in descending order","tag":"refentry","type":"Function","methodName":"krsort"},{"id":"function.ksort","name":"ksort","description":"Sort an array by key in ascending order","tag":"refentry","type":"Function","methodName":"ksort"},{"id":"function.list","name":"list","description":"Assign variables as if they were an array","tag":"refentry","type":"Function","methodName":"list"},{"id":"function.natcasesort","name":"natcasesort","description":"Sort an array using a case insensitive \"natural order\" algorithm","tag":"refentry","type":"Function","methodName":"natcasesort"},{"id":"function.natsort","name":"natsort","description":"Sort an array using a \"natural order\" algorithm","tag":"refentry","type":"Function","methodName":"natsort"},{"id":"function.next","name":"next","description":"Advance the internal pointer of an array","tag":"refentry","type":"Function","methodName":"next"},{"id":"function.pos","name":"pos","description":"Alias of current","tag":"refentry","type":"Function","methodName":"pos"},{"id":"function.prev","name":"prev","description":"Rewind the internal array pointer","tag":"refentry","type":"Function","methodName":"prev"},{"id":"function.range","name":"range","description":"Create an array containing a range of elements","tag":"refentry","type":"Function","methodName":"range"},{"id":"function.reset","name":"reset","description":"Set the internal pointer of an array to its first element","tag":"refentry","type":"Function","methodName":"reset"},{"id":"function.rsort","name":"rsort","description":"Sort an array in descending order","tag":"refentry","type":"Function","methodName":"rsort"},{"id":"function.shuffle","name":"shuffle","description":"Shuffle an array","tag":"refentry","type":"Function","methodName":"shuffle"},{"id":"function.sizeof","name":"sizeof","description":"Alias of count","tag":"refentry","type":"Function","methodName":"sizeof"},{"id":"function.sort","name":"sort","description":"Sort an array in ascending order","tag":"refentry","type":"Function","methodName":"sort"},{"id":"function.uasort","name":"uasort","description":"Sort an array with a user-defined comparison function and maintain index association","tag":"refentry","type":"Function","methodName":"uasort"},{"id":"function.uksort","name":"uksort","description":"Sort an array by keys using a user-defined comparison function","tag":"refentry","type":"Function","methodName":"uksort"},{"id":"function.usort","name":"usort","description":"Sort an array by values using a user-defined comparison function","tag":"refentry","type":"Function","methodName":"usort"},{"id":"ref.array","name":"Array Functions","description":"Arrays","tag":"reference","type":"Extension","methodName":"Array Functions"},{"id":"book.array","name":"Arrays","description":"Variable and Type Related Extensions","tag":"book","type":"Extension","methodName":"Arrays"},{"id":"intro.classobj","name":"Introduction","description":"Class\/Object Information","tag":"preface","type":"General","methodName":"Introduction"},{"id":"classobj.examples","name":"Examples","description":"Class\/Object Information","tag":"appendix","type":"General","methodName":"Examples"},{"id":"function.autoload","name":"__autoload","description":"Attempt to load undefined class","tag":"refentry","type":"Function","methodName":"__autoload"},{"id":"function.class-alias","name":"class_alias","description":"Creates an alias for a class","tag":"refentry","type":"Function","methodName":"class_alias"},{"id":"function.class-exists","name":"class_exists","description":"Checks if the class has been defined","tag":"refentry","type":"Function","methodName":"class_exists"},{"id":"function.enum-exists","name":"enum_exists","description":"Checks if the enum has been defined","tag":"refentry","type":"Function","methodName":"enum_exists"},{"id":"function.get-called-class","name":"get_called_class","description":"The \"Late Static Binding\" class name","tag":"refentry","type":"Function","methodName":"get_called_class"},{"id":"function.get-class","name":"get_class","description":"Returns the name of the class of an object","tag":"refentry","type":"Function","methodName":"get_class"},{"id":"function.get-class-methods","name":"get_class_methods","description":"Gets the class methods' names","tag":"refentry","type":"Function","methodName":"get_class_methods"},{"id":"function.get-class-vars","name":"get_class_vars","description":"Get the default properties of the class","tag":"refentry","type":"Function","methodName":"get_class_vars"},{"id":"function.get-declared-classes","name":"get_declared_classes","description":"Returns an array with the name of the defined classes","tag":"refentry","type":"Function","methodName":"get_declared_classes"},{"id":"function.get-declared-interfaces","name":"get_declared_interfaces","description":"Returns an array of all declared interfaces","tag":"refentry","type":"Function","methodName":"get_declared_interfaces"},{"id":"function.get-declared-traits","name":"get_declared_traits","description":"Returns an array of all declared traits","tag":"refentry","type":"Function","methodName":"get_declared_traits"},{"id":"function.get-mangled-object-vars","name":"get_mangled_object_vars","description":"Returns an array of mangled object properties","tag":"refentry","type":"Function","methodName":"get_mangled_object_vars"},{"id":"function.get-object-vars","name":"get_object_vars","description":"Gets the properties of the given object","tag":"refentry","type":"Function","methodName":"get_object_vars"},{"id":"function.get-parent-class","name":"get_parent_class","description":"Retrieves the parent class name for object or class","tag":"refentry","type":"Function","methodName":"get_parent_class"},{"id":"function.interface-exists","name":"interface_exists","description":"Checks if the interface has been defined","tag":"refentry","type":"Function","methodName":"interface_exists"},{"id":"function.is-a","name":"is_a","description":"Checks whether the object is of a given type or subtype","tag":"refentry","type":"Function","methodName":"is_a"},{"id":"function.is-subclass-of","name":"is_subclass_of","description":"Checks if the object has this class as one of its parents or implements it","tag":"refentry","type":"Function","methodName":"is_subclass_of"},{"id":"function.method-exists","name":"method_exists","description":"Checks if the class method exists","tag":"refentry","type":"Function","methodName":"method_exists"},{"id":"function.property-exists","name":"property_exists","description":"Checks if the object or class has a property","tag":"refentry","type":"Function","methodName":"property_exists"},{"id":"function.trait-exists","name":"trait_exists","description":"Checks if the trait exists","tag":"refentry","type":"Function","methodName":"trait_exists"},{"id":"ref.classobj","name":"Classes\/Object Functions","description":"Class\/Object Information","tag":"reference","type":"Extension","methodName":"Classes\/Object Functions"},{"id":"book.classobj","name":"Classes\/Objects","description":"Class\/Object Information","tag":"book","type":"Extension","methodName":"Classes\/Objects"},{"id":"intro.ctype","name":"Introduction","description":"Character type checking","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ctype.requirements","name":"Requirements","description":"Character type checking","tag":"section","type":"General","methodName":"Requirements"},{"id":"ctype.installation","name":"Installation","description":"Character type checking","tag":"section","type":"General","methodName":"Installation"},{"id":"ctype.setup","name":"Installing\/Configuring","description":"Character type checking","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.ctype-alnum","name":"ctype_alnum","description":"Check for alphanumeric character(s)","tag":"refentry","type":"Function","methodName":"ctype_alnum"},{"id":"function.ctype-alpha","name":"ctype_alpha","description":"Check for alphabetic character(s)","tag":"refentry","type":"Function","methodName":"ctype_alpha"},{"id":"function.ctype-cntrl","name":"ctype_cntrl","description":"Check for control character(s)","tag":"refentry","type":"Function","methodName":"ctype_cntrl"},{"id":"function.ctype-digit","name":"ctype_digit","description":"Check for numeric character(s)","tag":"refentry","type":"Function","methodName":"ctype_digit"},{"id":"function.ctype-graph","name":"ctype_graph","description":"Check for any printable character(s) except space","tag":"refentry","type":"Function","methodName":"ctype_graph"},{"id":"function.ctype-lower","name":"ctype_lower","description":"Check for lowercase character(s)","tag":"refentry","type":"Function","methodName":"ctype_lower"},{"id":"function.ctype-print","name":"ctype_print","description":"Check for printable character(s)","tag":"refentry","type":"Function","methodName":"ctype_print"},{"id":"function.ctype-punct","name":"ctype_punct","description":"Check for any printable character which is not whitespace or an\n alphanumeric character","tag":"refentry","type":"Function","methodName":"ctype_punct"},{"id":"function.ctype-space","name":"ctype_space","description":"Check for whitespace character(s)","tag":"refentry","type":"Function","methodName":"ctype_space"},{"id":"function.ctype-upper","name":"ctype_upper","description":"Check for uppercase character(s)","tag":"refentry","type":"Function","methodName":"ctype_upper"},{"id":"function.ctype-xdigit","name":"ctype_xdigit","description":"Check for character(s) representing a hexadecimal digit","tag":"refentry","type":"Function","methodName":"ctype_xdigit"},{"id":"ref.ctype","name":"Ctype Functions","description":"Character type checking","tag":"reference","type":"Extension","methodName":"Ctype Functions"},{"id":"book.ctype","name":"Ctype","description":"Character type checking","tag":"book","type":"Extension","methodName":"Ctype"},{"id":"intro.filter","name":"Introduction","description":"Data Filtering","tag":"preface","type":"General","methodName":"Introduction"},{"id":"filter.installation","name":"Installation","description":"Data Filtering","tag":"section","type":"General","methodName":"Installation"},{"id":"filter.configuration","name":"Runtime Configuration","description":"Data Filtering","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"filter.setup","name":"Installing\/Configuring","description":"Data Filtering","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"filter.constants","name":"Predefined Constants","description":"Data Filtering","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"filter.examples.validation","name":"Validation","description":"Data Filtering","tag":"section","type":"General","methodName":"Validation"},{"id":"filter.examples.sanitization","name":"Sanitization","description":"Data Filtering","tag":"section","type":"General","methodName":"Sanitization"},{"id":"filter.examples","name":"Examples","description":"Data Filtering","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.filter-has-var","name":"filter_has_var","description":"Checks if a variable of the specified type exists","tag":"refentry","type":"Function","methodName":"filter_has_var"},{"id":"function.filter-id","name":"filter_id","description":"Returns the filter ID belonging to a named filter","tag":"refentry","type":"Function","methodName":"filter_id"},{"id":"function.filter-input","name":"filter_input","description":"Gets a specific external variable by name and optionally filters it","tag":"refentry","type":"Function","methodName":"filter_input"},{"id":"function.filter-input-array","name":"filter_input_array","description":"Gets external variables and optionally filters them","tag":"refentry","type":"Function","methodName":"filter_input_array"},{"id":"function.filter-list","name":"filter_list","description":"Returns a list of all supported filters","tag":"refentry","type":"Function","methodName":"filter_list"},{"id":"function.filter-var","name":"filter_var","description":"Filters a variable with a specified filter","tag":"refentry","type":"Function","methodName":"filter_var"},{"id":"function.filter-var-array","name":"filter_var_array","description":"Gets multiple variables and optionally filters them","tag":"refentry","type":"Function","methodName":"filter_var_array"},{"id":"ref.filter","name":"Filter Functions","description":"Data Filtering","tag":"reference","type":"Extension","methodName":"Filter Functions"},{"id":"book.filter","name":"Filter","description":"Data Filtering","tag":"book","type":"Extension","methodName":"Filter"},{"id":"intro.funchand","name":"Introduction","description":"Function Handling","tag":"preface","type":"General","methodName":"Introduction"},{"id":"function.call-user-func","name":"call_user_func","description":"Call the callback given by the first parameter","tag":"refentry","type":"Function","methodName":"call_user_func"},{"id":"function.call-user-func-array","name":"call_user_func_array","description":"Call a callback with an array of parameters","tag":"refentry","type":"Function","methodName":"call_user_func_array"},{"id":"function.create-function","name":"create_function","description":"Create a function dynamically by evaluating a string of code","tag":"refentry","type":"Function","methodName":"create_function"},{"id":"function.forward-static-call","name":"forward_static_call","description":"Call a static method","tag":"refentry","type":"Function","methodName":"forward_static_call"},{"id":"function.forward-static-call-array","name":"forward_static_call_array","description":"Call a static method and pass the arguments as array","tag":"refentry","type":"Function","methodName":"forward_static_call_array"},{"id":"function.func-get-arg","name":"func_get_arg","description":"Return an item from the argument list","tag":"refentry","type":"Function","methodName":"func_get_arg"},{"id":"function.func-get-args","name":"func_get_args","description":"Returns an array comprising a function's argument list","tag":"refentry","type":"Function","methodName":"func_get_args"},{"id":"function.func-num-args","name":"func_num_args","description":"Returns the number of arguments passed to the function","tag":"refentry","type":"Function","methodName":"func_num_args"},{"id":"function.function-exists","name":"function_exists","description":"Return true if the given function has been defined","tag":"refentry","type":"Function","methodName":"function_exists"},{"id":"function.get-defined-functions","name":"get_defined_functions","description":"Returns an array of all defined functions","tag":"refentry","type":"Function","methodName":"get_defined_functions"},{"id":"function.register-shutdown-function","name":"register_shutdown_function","description":"Register a function for execution on shutdown","tag":"refentry","type":"Function","methodName":"register_shutdown_function"},{"id":"function.register-tick-function","name":"register_tick_function","description":"Register a function for execution on each tick","tag":"refentry","type":"Function","methodName":"register_tick_function"},{"id":"function.unregister-tick-function","name":"unregister_tick_function","description":"De-register a function for execution on each tick","tag":"refentry","type":"Function","methodName":"unregister_tick_function"},{"id":"ref.funchand","name":"Function handling Functions","description":"Function Handling","tag":"reference","type":"Extension","methodName":"Function handling Functions"},{"id":"book.funchand","name":"Function Handling","description":"Variable and Type Related Extensions","tag":"book","type":"Extension","methodName":"Function Handling"},{"id":"intro.quickhash","name":"Introduction","description":"Quickhash","tag":"preface","type":"General","methodName":"Introduction"},{"id":"quickhash.requirements","name":"Requirements","description":"Quickhash","tag":"section","type":"General","methodName":"Requirements"},{"id":"quickhash.installation","name":"Installation","description":"Quickhash","tag":"section","type":"General","methodName":"Installation"},{"id":"quickhash.setup","name":"Installing\/Configuring","description":"Quickhash","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"quickhash.examples","name":"Examples","description":"Quickhash","tag":"chapter","type":"General","methodName":"Examples"},{"id":"quickhashintset.add","name":"QuickHashIntSet::add","description":"This method adds a new entry to the set","tag":"refentry","type":"Function","methodName":"add"},{"id":"quickhashintset.construct","name":"QuickHashIntSet::__construct","description":"Creates a new QuickHashIntSet object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"quickhashintset.delete","name":"QuickHashIntSet::delete","description":"This method deletes an entry from the set","tag":"refentry","type":"Function","methodName":"delete"},{"id":"quickhashintset.exists","name":"QuickHashIntSet::exists","description":"This method checks whether a key is part of the set","tag":"refentry","type":"Function","methodName":"exists"},{"id":"quickhashintset.getsize","name":"QuickHashIntSet::getSize","description":"Returns the number of elements in the set","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"quickhashintset.loadfromfile","name":"QuickHashIntSet::loadFromFile","description":"This factory method creates a set from a file","tag":"refentry","type":"Function","methodName":"loadFromFile"},{"id":"quickhashintset.loadfromstring","name":"QuickHashIntSet::loadFromString","description":"This factory method creates a set from a string","tag":"refentry","type":"Function","methodName":"loadFromString"},{"id":"quickhashintset.savetofile","name":"QuickHashIntSet::saveToFile","description":"This method stores an in-memory set to disk","tag":"refentry","type":"Function","methodName":"saveToFile"},{"id":"quickhashintset.savetostring","name":"QuickHashIntSet::saveToString","description":"This method returns a serialized version of the set","tag":"refentry","type":"Function","methodName":"saveToString"},{"id":"class.quickhashintset","name":"QuickHashIntSet","description":"The QuickHashIntSet class","tag":"phpdoc:classref","type":"Class","methodName":"QuickHashIntSet"},{"id":"quickhashinthash.add","name":"QuickHashIntHash::add","description":"This method adds a new entry to the hash","tag":"refentry","type":"Function","methodName":"add"},{"id":"quickhashinthash.construct","name":"QuickHashIntHash::__construct","description":"Creates a new QuickHashIntHash object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"quickhashinthash.delete","name":"QuickHashIntHash::delete","description":"This method deletes an entry from the hash","tag":"refentry","type":"Function","methodName":"delete"},{"id":"quickhashinthash.exists","name":"QuickHashIntHash::exists","description":"This method checks whether a key is part of the hash","tag":"refentry","type":"Function","methodName":"exists"},{"id":"quickhashinthash.get","name":"QuickHashIntHash::get","description":"This method retrieves a value from the hash by its key","tag":"refentry","type":"Function","methodName":"get"},{"id":"quickhashinthash.getsize","name":"QuickHashIntHash::getSize","description":"Returns the number of elements in the hash","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"quickhashinthash.loadfromfile","name":"QuickHashIntHash::loadFromFile","description":"This factory method creates a hash from a file","tag":"refentry","type":"Function","methodName":"loadFromFile"},{"id":"quickhashinthash.loadfromstring","name":"QuickHashIntHash::loadFromString","description":"This factory method creates a hash from a string","tag":"refentry","type":"Function","methodName":"loadFromString"},{"id":"quickhashinthash.savetofile","name":"QuickHashIntHash::saveToFile","description":"This method stores an in-memory hash to disk","tag":"refentry","type":"Function","methodName":"saveToFile"},{"id":"quickhashinthash.savetostring","name":"QuickHashIntHash::saveToString","description":"This method returns a serialized version of the hash","tag":"refentry","type":"Function","methodName":"saveToString"},{"id":"quickhashinthash.set","name":"QuickHashIntHash::set","description":"This method updates an entry in the hash with a new value, or\n adds a new one if the entry doesn't exist","tag":"refentry","type":"Function","methodName":"set"},{"id":"quickhashinthash.update","name":"QuickHashIntHash::update","description":"This method updates an entry in the hash with a new value","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.quickhashinthash","name":"QuickHashIntHash","description":"The QuickHashIntHash class","tag":"phpdoc:classref","type":"Class","methodName":"QuickHashIntHash"},{"id":"quickhashstringinthash.add","name":"QuickHashStringIntHash::add","description":"This method adds a new entry to the hash","tag":"refentry","type":"Function","methodName":"add"},{"id":"quickhashstringinthash.construct","name":"QuickHashStringIntHash::__construct","description":"Creates a new QuickHashStringIntHash object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"quickhashstringinthash.delete","name":"QuickHashStringIntHash::delete","description":"This method deletes an entry from the hash","tag":"refentry","type":"Function","methodName":"delete"},{"id":"quickhashstringinthash.exists","name":"QuickHashStringIntHash::exists","description":"This method checks whether a key is part of the hash","tag":"refentry","type":"Function","methodName":"exists"},{"id":"quickhashstringinthash.get","name":"QuickHashStringIntHash::get","description":"This method retrieves a value from the hash by its key","tag":"refentry","type":"Function","methodName":"get"},{"id":"quickhashstringinthash.getsize","name":"QuickHashStringIntHash::getSize","description":"Returns the number of elements in the hash","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"quickhashstringinthash.loadfromfile","name":"QuickHashStringIntHash::loadFromFile","description":"This factory method creates a hash from a file","tag":"refentry","type":"Function","methodName":"loadFromFile"},{"id":"quickhashstringinthash.loadfromstring","name":"QuickHashStringIntHash::loadFromString","description":"This factory method creates a hash from a string","tag":"refentry","type":"Function","methodName":"loadFromString"},{"id":"quickhashstringinthash.savetofile","name":"QuickHashStringIntHash::saveToFile","description":"This method stores an in-memory hash to disk","tag":"refentry","type":"Function","methodName":"saveToFile"},{"id":"quickhashstringinthash.savetostring","name":"QuickHashStringIntHash::saveToString","description":"This method returns a serialized version of the hash","tag":"refentry","type":"Function","methodName":"saveToString"},{"id":"quickhashstringinthash.set","name":"QuickHashStringIntHash::set","description":"This method updates an entry in the hash with a new value, or\n adds a new one if the entry doesn't exist","tag":"refentry","type":"Function","methodName":"set"},{"id":"quickhashstringinthash.update","name":"QuickHashStringIntHash::update","description":"This method updates an entry in the hash with a new value","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.quickhashstringinthash","name":"QuickHashStringIntHash","description":"The QuickHashStringIntHash class","tag":"phpdoc:classref","type":"Class","methodName":"QuickHashStringIntHash"},{"id":"quickhashintstringhash.add","name":"QuickHashIntStringHash::add","description":"This method adds a new entry to the hash","tag":"refentry","type":"Function","methodName":"add"},{"id":"quickhashintstringhash.construct","name":"QuickHashIntStringHash::__construct","description":"Creates a new QuickHashIntStringHash object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"quickhashintstringhash.delete","name":"QuickHashIntStringHash::delete","description":"This method deletes an entry from the hash","tag":"refentry","type":"Function","methodName":"delete"},{"id":"quickhashintstringhash.exists","name":"QuickHashIntStringHash::exists","description":"This method checks whether a key is part of the hash","tag":"refentry","type":"Function","methodName":"exists"},{"id":"quickhashintstringhash.get","name":"QuickHashIntStringHash::get","description":"This method retrieves a value from the hash by its key","tag":"refentry","type":"Function","methodName":"get"},{"id":"quickhashintstringhash.getsize","name":"QuickHashIntStringHash::getSize","description":"Returns the number of elements in the hash","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"quickhashintstringhash.loadfromfile","name":"QuickHashIntStringHash::loadFromFile","description":"This factory method creates a hash from a file","tag":"refentry","type":"Function","methodName":"loadFromFile"},{"id":"quickhashintstringhash.loadfromstring","name":"QuickHashIntStringHash::loadFromString","description":"This factory method creates a hash from a string","tag":"refentry","type":"Function","methodName":"loadFromString"},{"id":"quickhashintstringhash.savetofile","name":"QuickHashIntStringHash::saveToFile","description":"This method stores an in-memory hash to disk","tag":"refentry","type":"Function","methodName":"saveToFile"},{"id":"quickhashintstringhash.savetostring","name":"QuickHashIntStringHash::saveToString","description":"This method returns a serialized version of the hash","tag":"refentry","type":"Function","methodName":"saveToString"},{"id":"quickhashintstringhash.set","name":"QuickHashIntStringHash::set","description":"This method updates an entry in the hash with a new value, or\n adds a new one if the entry doesn't exist","tag":"refentry","type":"Function","methodName":"set"},{"id":"quickhashintstringhash.update","name":"QuickHashIntStringHash::update","description":"This method updates an entry in the hash with a new value","tag":"refentry","type":"Function","methodName":"update"},{"id":"class.quickhashintstringhash","name":"QuickHashIntStringHash","description":"The QuickHashIntStringHash class","tag":"phpdoc:classref","type":"Class","methodName":"QuickHashIntStringHash"},{"id":"book.quickhash","name":"Quickhash","description":"Quickhash","tag":"book","type":"Extension","methodName":"Quickhash"},{"id":"intro.reflection","name":"Introduction","description":"Reflection","tag":"preface","type":"General","methodName":"Introduction"},{"id":"reflection.examples","name":"Examples","description":"Reflection","tag":"chapter","type":"General","methodName":"Examples"},{"id":"reflection.extending","name":"Extending","description":"Reflection","tag":"chapter","type":"General","methodName":"Extending"},{"id":"reflection.export","name":"Reflection::export","description":"Exports","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflection.getmodifiernames","name":"Reflection::getModifierNames","description":"Gets modifier names","tag":"refentry","type":"Function","methodName":"getModifierNames"},{"id":"class.reflection","name":"Reflection","description":"The Reflection class","tag":"phpdoc:classref","type":"Class","methodName":"Reflection"},{"id":"reflectionclass.construct","name":"ReflectionClass::__construct","description":"Constructs a ReflectionClass","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionclass.export","name":"ReflectionClass::export","description":"Exports a class","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionclass.getattributes","name":"ReflectionClass::getAttributes","description":"Gets Attributes","tag":"refentry","type":"Function","methodName":"getAttributes"},{"id":"reflectionclass.getconstant","name":"ReflectionClass::getConstant","description":"Gets defined constant","tag":"refentry","type":"Function","methodName":"getConstant"},{"id":"reflectionclass.getconstants","name":"ReflectionClass::getConstants","description":"Gets constants","tag":"refentry","type":"Function","methodName":"getConstants"},{"id":"reflectionclass.getconstructor","name":"ReflectionClass::getConstructor","description":"Gets the constructor of the class","tag":"refentry","type":"Function","methodName":"getConstructor"},{"id":"reflectionclass.getdefaultproperties","name":"ReflectionClass::getDefaultProperties","description":"Gets default properties","tag":"refentry","type":"Function","methodName":"getDefaultProperties"},{"id":"reflectionclass.getdoccomment","name":"ReflectionClass::getDocComment","description":"Gets doc comments","tag":"refentry","type":"Function","methodName":"getDocComment"},{"id":"reflectionclass.getendline","name":"ReflectionClass::getEndLine","description":"Gets end line","tag":"refentry","type":"Function","methodName":"getEndLine"},{"id":"reflectionclass.getextension","name":"ReflectionClass::getExtension","description":"Gets a ReflectionExtension object for the extension which defined the class","tag":"refentry","type":"Function","methodName":"getExtension"},{"id":"reflectionclass.getextensionname","name":"ReflectionClass::getExtensionName","description":"Gets the name of the extension which defined the class","tag":"refentry","type":"Function","methodName":"getExtensionName"},{"id":"reflectionclass.getfilename","name":"ReflectionClass::getFileName","description":"Gets the filename of the file in which the class has been defined","tag":"refentry","type":"Function","methodName":"getFileName"},{"id":"reflectionclass.getinterfacenames","name":"ReflectionClass::getInterfaceNames","description":"Gets the interface names","tag":"refentry","type":"Function","methodName":"getInterfaceNames"},{"id":"reflectionclass.getinterfaces","name":"ReflectionClass::getInterfaces","description":"Gets the interfaces","tag":"refentry","type":"Function","methodName":"getInterfaces"},{"id":"reflectionclass.getlazyinitializer","name":"ReflectionClass::getLazyInitializer","description":"Gets lazy initializer","tag":"refentry","type":"Function","methodName":"getLazyInitializer"},{"id":"reflectionclass.getmethod","name":"ReflectionClass::getMethod","description":"Gets a ReflectionMethod for a class method","tag":"refentry","type":"Function","methodName":"getMethod"},{"id":"reflectionclass.getmethods","name":"ReflectionClass::getMethods","description":"Gets an array of methods","tag":"refentry","type":"Function","methodName":"getMethods"},{"id":"reflectionclass.getmodifiers","name":"ReflectionClass::getModifiers","description":"Gets the class modifiers","tag":"refentry","type":"Function","methodName":"getModifiers"},{"id":"reflectionclass.getname","name":"ReflectionClass::getName","description":"Gets class name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionclass.getnamespacename","name":"ReflectionClass::getNamespaceName","description":"Gets namespace name","tag":"refentry","type":"Function","methodName":"getNamespaceName"},{"id":"reflectionclass.getparentclass","name":"ReflectionClass::getParentClass","description":"Gets parent class","tag":"refentry","type":"Function","methodName":"getParentClass"},{"id":"reflectionclass.getproperties","name":"ReflectionClass::getProperties","description":"Gets properties","tag":"refentry","type":"Function","methodName":"getProperties"},{"id":"reflectionclass.getproperty","name":"ReflectionClass::getProperty","description":"Gets a ReflectionProperty for a class's property","tag":"refentry","type":"Function","methodName":"getProperty"},{"id":"reflectionclass.getreflectionconstant","name":"ReflectionClass::getReflectionConstant","description":"Gets a ReflectionClassConstant for a class's constant","tag":"refentry","type":"Function","methodName":"getReflectionConstant"},{"id":"reflectionclass.getreflectionconstants","name":"ReflectionClass::getReflectionConstants","description":"Gets class constants","tag":"refentry","type":"Function","methodName":"getReflectionConstants"},{"id":"reflectionclass.getshortname","name":"ReflectionClass::getShortName","description":"Gets short name","tag":"refentry","type":"Function","methodName":"getShortName"},{"id":"reflectionclass.getstartline","name":"ReflectionClass::getStartLine","description":"Gets starting line number","tag":"refentry","type":"Function","methodName":"getStartLine"},{"id":"reflectionclass.getstaticproperties","name":"ReflectionClass::getStaticProperties","description":"Gets static properties","tag":"refentry","type":"Function","methodName":"getStaticProperties"},{"id":"reflectionclass.getstaticpropertyvalue","name":"ReflectionClass::getStaticPropertyValue","description":"Gets static property value","tag":"refentry","type":"Function","methodName":"getStaticPropertyValue"},{"id":"reflectionclass.gettraitaliases","name":"ReflectionClass::getTraitAliases","description":"Returns an array of trait aliases","tag":"refentry","type":"Function","methodName":"getTraitAliases"},{"id":"reflectionclass.gettraitnames","name":"ReflectionClass::getTraitNames","description":"Returns an array of names of traits used by this class","tag":"refentry","type":"Function","methodName":"getTraitNames"},{"id":"reflectionclass.gettraits","name":"ReflectionClass::getTraits","description":"Returns an array of traits used by this class","tag":"refentry","type":"Function","methodName":"getTraits"},{"id":"reflectionclass.hasconstant","name":"ReflectionClass::hasConstant","description":"Checks if constant is defined","tag":"refentry","type":"Function","methodName":"hasConstant"},{"id":"reflectionclass.hasmethod","name":"ReflectionClass::hasMethod","description":"Checks if method is defined","tag":"refentry","type":"Function","methodName":"hasMethod"},{"id":"reflectionclass.hasproperty","name":"ReflectionClass::hasProperty","description":"Checks if property is defined","tag":"refentry","type":"Function","methodName":"hasProperty"},{"id":"reflectionclass.implementsinterface","name":"ReflectionClass::implementsInterface","description":"Implements interface","tag":"refentry","type":"Function","methodName":"implementsInterface"},{"id":"reflectionclass.initializelazyobject","name":"ReflectionClass::initializeLazyObject","description":"Forces initialization of a lazy object","tag":"refentry","type":"Function","methodName":"initializeLazyObject"},{"id":"reflectionclass.innamespace","name":"ReflectionClass::inNamespace","description":"Checks if in namespace","tag":"refentry","type":"Function","methodName":"inNamespace"},{"id":"reflectionclass.isabstract","name":"ReflectionClass::isAbstract","description":"Checks if class is abstract","tag":"refentry","type":"Function","methodName":"isAbstract"},{"id":"reflectionclass.isanonymous","name":"ReflectionClass::isAnonymous","description":"Checks if class is anonymous","tag":"refentry","type":"Function","methodName":"isAnonymous"},{"id":"reflectionclass.iscloneable","name":"ReflectionClass::isCloneable","description":"Returns whether this class is cloneable","tag":"refentry","type":"Function","methodName":"isCloneable"},{"id":"reflectionclass.isenum","name":"ReflectionClass::isEnum","description":"Returns whether this is an enum","tag":"refentry","type":"Function","methodName":"isEnum"},{"id":"reflectionclass.isfinal","name":"ReflectionClass::isFinal","description":"Checks if class is final","tag":"refentry","type":"Function","methodName":"isFinal"},{"id":"reflectionclass.isinstance","name":"ReflectionClass::isInstance","description":"Checks class for instance","tag":"refentry","type":"Function","methodName":"isInstance"},{"id":"reflectionclass.isinstantiable","name":"ReflectionClass::isInstantiable","description":"Checks if the class is instantiable","tag":"refentry","type":"Function","methodName":"isInstantiable"},{"id":"reflectionclass.isinterface","name":"ReflectionClass::isInterface","description":"Checks if the class is an interface","tag":"refentry","type":"Function","methodName":"isInterface"},{"id":"reflectionclass.isinternal","name":"ReflectionClass::isInternal","description":"Checks if class is defined internally by an extension, or the core","tag":"refentry","type":"Function","methodName":"isInternal"},{"id":"reflectionclass.isiterable","name":"ReflectionClass::isIterable","description":"Check whether this class is iterable","tag":"refentry","type":"Function","methodName":"isIterable"},{"id":"reflectionclass.isiterateable","name":"ReflectionClass::isIterateable","description":"Alias of ReflectionClass::isIterable","tag":"refentry","type":"Function","methodName":"isIterateable"},{"id":"reflectionclass.isreadonly","name":"ReflectionClass::isReadOnly","description":"Checks if class is readonly","tag":"refentry","type":"Function","methodName":"isReadOnly"},{"id":"reflectionclass.issubclassof","name":"ReflectionClass::isSubclassOf","description":"Checks if a subclass","tag":"refentry","type":"Function","methodName":"isSubclassOf"},{"id":"reflectionclass.istrait","name":"ReflectionClass::isTrait","description":"Returns whether this is a trait","tag":"refentry","type":"Function","methodName":"isTrait"},{"id":"reflectionclass.isuninitializedlazyobject","name":"ReflectionClass::isUninitializedLazyObject","description":"Checks if an object is lazy and uninitialized","tag":"refentry","type":"Function","methodName":"isUninitializedLazyObject"},{"id":"reflectionclass.isuserdefined","name":"ReflectionClass::isUserDefined","description":"Checks if user defined","tag":"refentry","type":"Function","methodName":"isUserDefined"},{"id":"reflectionclass.marklazyobjectasinitialized","name":"ReflectionClass::markLazyObjectAsInitialized","description":"Marks a lazy object as initialized without calling the initializer or factory","tag":"refentry","type":"Function","methodName":"markLazyObjectAsInitialized"},{"id":"reflectionclass.newinstance","name":"ReflectionClass::newInstance","description":"Creates a new class instance from given arguments","tag":"refentry","type":"Function","methodName":"newInstance"},{"id":"reflectionclass.newinstanceargs","name":"ReflectionClass::newInstanceArgs","description":"Creates a new class instance from given arguments","tag":"refentry","type":"Function","methodName":"newInstanceArgs"},{"id":"reflectionclass.newinstancewithoutconstructor","name":"ReflectionClass::newInstanceWithoutConstructor","description":"Creates a new class instance without invoking the constructor","tag":"refentry","type":"Function","methodName":"newInstanceWithoutConstructor"},{"id":"reflectionclass.newlazyghost","name":"ReflectionClass::newLazyGhost","description":"Creates a new lazy ghost instance","tag":"refentry","type":"Function","methodName":"newLazyGhost"},{"id":"reflectionclass.newlazyproxy","name":"ReflectionClass::newLazyProxy","description":"Creates a new lazy proxy instance","tag":"refentry","type":"Function","methodName":"newLazyProxy"},{"id":"reflectionclass.resetaslazyghost","name":"ReflectionClass::resetAsLazyGhost","description":"Resets an object and marks it as lazy","tag":"refentry","type":"Function","methodName":"resetAsLazyGhost"},{"id":"reflectionclass.resetaslazyproxy","name":"ReflectionClass::resetAsLazyProxy","description":"Resets an object and marks it as lazy","tag":"refentry","type":"Function","methodName":"resetAsLazyProxy"},{"id":"reflectionclass.setstaticpropertyvalue","name":"ReflectionClass::setStaticPropertyValue","description":"Sets public static property value","tag":"refentry","type":"Function","methodName":"setStaticPropertyValue"},{"id":"reflectionclass.tostring","name":"ReflectionClass::__toString","description":"Returns the string representation of the ReflectionClass object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionclass","name":"ReflectionClass","description":"The ReflectionClass class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionClass"},{"id":"reflectionclassconstant.construct","name":"ReflectionClassConstant::__construct","description":"Constructs a ReflectionClassConstant","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionclassconstant.export","name":"ReflectionClassConstant::export","description":"Export","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionclassconstant.getattributes","name":"ReflectionClassConstant::getAttributes","description":"Gets Attributes","tag":"refentry","type":"Function","methodName":"getAttributes"},{"id":"reflectionclassconstant.getdeclaringclass","name":"ReflectionClassConstant::getDeclaringClass","description":"Gets declaring class","tag":"refentry","type":"Function","methodName":"getDeclaringClass"},{"id":"reflectionclassconstant.getdoccomment","name":"ReflectionClassConstant::getDocComment","description":"Gets doc comments","tag":"refentry","type":"Function","methodName":"getDocComment"},{"id":"reflectionclassconstant.getmodifiers","name":"ReflectionClassConstant::getModifiers","description":"Gets the class constant modifiers","tag":"refentry","type":"Function","methodName":"getModifiers"},{"id":"reflectionclassconstant.getname","name":"ReflectionClassConstant::getName","description":"Get name of the constant","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionclassconstant.gettype","name":"ReflectionClassConstant::getType","description":"Gets a class constant's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"reflectionclassconstant.getvalue","name":"ReflectionClassConstant::getValue","description":"Gets value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"reflectionclassconstant.hastype","name":"ReflectionClassConstant::hasType","description":"Checks if class constant has a type","tag":"refentry","type":"Function","methodName":"hasType"},{"id":"reflectionclassconstant.isdeprecated","name":"ReflectionClassConstant::isDeprecated","description":"Checks if deprecated","tag":"refentry","type":"Function","methodName":"isDeprecated"},{"id":"reflectionclassconstant.isenumcase","name":"ReflectionClassConstant::isEnumCase","description":"Checks if class constant is an Enum case","tag":"refentry","type":"Function","methodName":"isEnumCase"},{"id":"reflectionclassconstant.isfinal","name":"ReflectionClassConstant::isFinal","description":"Checks if class constant is final","tag":"refentry","type":"Function","methodName":"isFinal"},{"id":"reflectionclassconstant.isprivate","name":"ReflectionClassConstant::isPrivate","description":"Checks if class constant is private","tag":"refentry","type":"Function","methodName":"isPrivate"},{"id":"reflectionclassconstant.isprotected","name":"ReflectionClassConstant::isProtected","description":"Checks if class constant is protected","tag":"refentry","type":"Function","methodName":"isProtected"},{"id":"reflectionclassconstant.ispublic","name":"ReflectionClassConstant::isPublic","description":"Checks if class constant is public","tag":"refentry","type":"Function","methodName":"isPublic"},{"id":"reflectionclassconstant.tostring","name":"ReflectionClassConstant::__toString","description":"Returns the string representation of the ReflectionClassConstant object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionclassconstant","name":"ReflectionClassConstant","description":"The ReflectionClassConstant class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionClassConstant"},{"id":"reflectionconstant.construct","name":"ReflectionConstant::__construct","description":"Constructs a ReflectionConstant","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionconstant.getextension","name":"ReflectionConstant::getExtension","description":"Gets ReflectionExtension of the defining extension","tag":"refentry","type":"Function","methodName":"getExtension"},{"id":"reflectionconstant.getextensionname","name":"ReflectionConstant::getExtensionName","description":"Gets name of the defining extension","tag":"refentry","type":"Function","methodName":"getExtensionName"},{"id":"reflectionconstant.getfilename","name":"ReflectionConstant::getFileName","description":"Gets name of the defining file","tag":"refentry","type":"Function","methodName":"getFileName"},{"id":"reflectionconstant.getname","name":"ReflectionConstant::getName","description":"Gets name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionconstant.getnamespacename","name":"ReflectionConstant::getNamespaceName","description":"Gets namespace name","tag":"refentry","type":"Function","methodName":"getNamespaceName"},{"id":"reflectionconstant.getshortname","name":"ReflectionConstant::getShortName","description":"Gets short name","tag":"refentry","type":"Function","methodName":"getShortName"},{"id":"reflectionconstant.getvalue","name":"ReflectionConstant::getValue","description":"Gets value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"reflectionconstant.isdeprecated","name":"ReflectionConstant::isDeprecated","description":"Checks if deprecated","tag":"refentry","type":"Function","methodName":"isDeprecated"},{"id":"reflectionconstant.tostring","name":"ReflectionConstant::__toString","description":"Returns string representation","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionconstant","name":"ReflectionConstant","description":"The ReflectionConstant class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionConstant"},{"id":"reflectionenum.construct","name":"ReflectionEnum::__construct","description":"Instantiates a ReflectionEnum object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionenum.getbackingtype","name":"ReflectionEnum::getBackingType","description":"Gets the backing type of an Enum, if any","tag":"refentry","type":"Function","methodName":"getBackingType"},{"id":"reflectionenum.getcase","name":"ReflectionEnum::getCase","description":"Returns a specific case of an Enum","tag":"refentry","type":"Function","methodName":"getCase"},{"id":"reflectionenum.getcases","name":"ReflectionEnum::getCases","description":"Returns a list of all cases on an Enum","tag":"refentry","type":"Function","methodName":"getCases"},{"id":"reflectionenum.hascase","name":"ReflectionEnum::hasCase","description":"Checks for a case on an Enum","tag":"refentry","type":"Function","methodName":"hasCase"},{"id":"reflectionenum.isbacked","name":"ReflectionEnum::isBacked","description":"Determines if an Enum is a Backed Enum","tag":"refentry","type":"Function","methodName":"isBacked"},{"id":"class.reflectionenum","name":"ReflectionEnum","description":"The ReflectionEnum class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionEnum"},{"id":"reflectionenumunitcase.construct","name":"ReflectionEnumUnitCase::__construct","description":"Instantiates a ReflectionEnumUnitCase object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionenumunitcase.getenum","name":"ReflectionEnumUnitCase::getEnum","description":"Gets the reflection of the enum of this case","tag":"refentry","type":"Function","methodName":"getEnum"},{"id":"reflectionenumunitcase.getvalue","name":"ReflectionEnumUnitCase::getValue","description":"Gets the enum case object described by this reflection object","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"class.reflectionenumunitcase","name":"ReflectionEnumUnitCase","description":"The ReflectionEnumUnitCase class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionEnumUnitCase"},{"id":"reflectionenumbackedcase.construct","name":"ReflectionEnumBackedCase::__construct","description":"Instantiates a ReflectionEnumBackedCase object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionenumbackedcase.getbackingvalue","name":"ReflectionEnumBackedCase::getBackingValue","description":"Gets the scalar value backing this Enum case","tag":"refentry","type":"Function","methodName":"getBackingValue"},{"id":"class.reflectionenumbackedcase","name":"ReflectionEnumBackedCase","description":"The ReflectionEnumBackedCase class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionEnumBackedCase"},{"id":"reflectionzendextension.clone","name":"ReflectionZendExtension::__clone","description":"Clone handler","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"reflectionzendextension.construct","name":"ReflectionZendExtension::__construct","description":"Constructs a ReflectionZendExtension object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionzendextension.export","name":"ReflectionZendExtension::export","description":"Export","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionzendextension.getauthor","name":"ReflectionZendExtension::getAuthor","description":"Gets author","tag":"refentry","type":"Function","methodName":"getAuthor"},{"id":"reflectionzendextension.getcopyright","name":"ReflectionZendExtension::getCopyright","description":"Gets copyright","tag":"refentry","type":"Function","methodName":"getCopyright"},{"id":"reflectionzendextension.getname","name":"ReflectionZendExtension::getName","description":"Gets name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionzendextension.geturl","name":"ReflectionZendExtension::getURL","description":"Gets URL","tag":"refentry","type":"Function","methodName":"getURL"},{"id":"reflectionzendextension.getversion","name":"ReflectionZendExtension::getVersion","description":"Gets version","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"reflectionzendextension.tostring","name":"ReflectionZendExtension::__toString","description":"To string handler","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionzendextension","name":"ReflectionZendExtension","description":"The ReflectionZendExtension class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionZendExtension"},{"id":"reflectionextension.clone","name":"ReflectionExtension::__clone","description":"Clones","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"reflectionextension.construct","name":"ReflectionExtension::__construct","description":"Constructs a ReflectionExtension","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionextension.export","name":"ReflectionExtension::export","description":"Export","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionextension.getclasses","name":"ReflectionExtension::getClasses","description":"Gets classes","tag":"refentry","type":"Function","methodName":"getClasses"},{"id":"reflectionextension.getclassnames","name":"ReflectionExtension::getClassNames","description":"Gets class names","tag":"refentry","type":"Function","methodName":"getClassNames"},{"id":"reflectionextension.getconstants","name":"ReflectionExtension::getConstants","description":"Gets constants","tag":"refentry","type":"Function","methodName":"getConstants"},{"id":"reflectionextension.getdependencies","name":"ReflectionExtension::getDependencies","description":"Gets dependencies","tag":"refentry","type":"Function","methodName":"getDependencies"},{"id":"reflectionextension.getfunctions","name":"ReflectionExtension::getFunctions","description":"Gets extension functions","tag":"refentry","type":"Function","methodName":"getFunctions"},{"id":"reflectionextension.getinientries","name":"ReflectionExtension::getINIEntries","description":"Gets extension ini entries","tag":"refentry","type":"Function","methodName":"getINIEntries"},{"id":"reflectionextension.getname","name":"ReflectionExtension::getName","description":"Gets extension name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionextension.getversion","name":"ReflectionExtension::getVersion","description":"Gets extension version","tag":"refentry","type":"Function","methodName":"getVersion"},{"id":"reflectionextension.info","name":"ReflectionExtension::info","description":"Print extension info","tag":"refentry","type":"Function","methodName":"info"},{"id":"reflectionextension.ispersistent","name":"ReflectionExtension::isPersistent","description":"Returns whether this extension is persistent","tag":"refentry","type":"Function","methodName":"isPersistent"},{"id":"reflectionextension.istemporary","name":"ReflectionExtension::isTemporary","description":"Returns whether this extension is temporary","tag":"refentry","type":"Function","methodName":"isTemporary"},{"id":"reflectionextension.tostring","name":"ReflectionExtension::__toString","description":"To string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionextension","name":"ReflectionExtension","description":"The ReflectionExtension class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionExtension"},{"id":"reflectionfunction.construct","name":"ReflectionFunction::__construct","description":"Constructs a ReflectionFunction object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionfunction.export","name":"ReflectionFunction::export","description":"Exports function","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionfunction.getclosure","name":"ReflectionFunction::getClosure","description":"Returns a dynamically created closure for the function","tag":"refentry","type":"Function","methodName":"getClosure"},{"id":"reflectionfunction.invoke","name":"ReflectionFunction::invoke","description":"Invokes function","tag":"refentry","type":"Function","methodName":"invoke"},{"id":"reflectionfunction.invokeargs","name":"ReflectionFunction::invokeArgs","description":"Invokes function args","tag":"refentry","type":"Function","methodName":"invokeArgs"},{"id":"reflectionfunction.isanonymous","name":"ReflectionFunction::isAnonymous","description":"Checks if a function is anonymous","tag":"refentry","type":"Function","methodName":"isAnonymous"},{"id":"reflectionfunction.isdisabled","name":"ReflectionFunction::isDisabled","description":"Checks if function is disabled","tag":"refentry","type":"Function","methodName":"isDisabled"},{"id":"reflectionfunction.tostring","name":"ReflectionFunction::__toString","description":"Returns the string representation of the ReflectionFunction object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionfunction","name":"ReflectionFunction","description":"The ReflectionFunction class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionFunction"},{"id":"reflectionfunctionabstract.clone","name":"ReflectionFunctionAbstract::__clone","description":"Clones function","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"reflectionfunctionabstract.getattributes","name":"ReflectionFunctionAbstract::getAttributes","description":"Gets Attributes","tag":"refentry","type":"Function","methodName":"getAttributes"},{"id":"reflectionfunctionabstract.getclosurecalledclass","name":"ReflectionFunctionAbstract::getClosureCalledClass","description":"Returns the class corresponding to static:: inside a closure","tag":"refentry","type":"Function","methodName":"getClosureCalledClass"},{"id":"reflectionfunctionabstract.getclosurescopeclass","name":"ReflectionFunctionAbstract::getClosureScopeClass","description":"Returns the class corresponding to the scope inside a closure","tag":"refentry","type":"Function","methodName":"getClosureScopeClass"},{"id":"reflectionfunctionabstract.getclosurethis","name":"ReflectionFunctionAbstract::getClosureThis","description":"Returns the object which corresponds to $this inside a closure","tag":"refentry","type":"Function","methodName":"getClosureThis"},{"id":"reflectionfunctionabstract.getclosureusedvariables","name":"ReflectionFunctionAbstract::getClosureUsedVariables","description":"Returns an array of the used variables in the Closure","tag":"refentry","type":"Function","methodName":"getClosureUsedVariables"},{"id":"reflectionfunctionabstract.getdoccomment","name":"ReflectionFunctionAbstract::getDocComment","description":"Gets doc comment","tag":"refentry","type":"Function","methodName":"getDocComment"},{"id":"reflectionfunctionabstract.getendline","name":"ReflectionFunctionAbstract::getEndLine","description":"Gets end line number","tag":"refentry","type":"Function","methodName":"getEndLine"},{"id":"reflectionfunctionabstract.getextension","name":"ReflectionFunctionAbstract::getExtension","description":"Gets extension info","tag":"refentry","type":"Function","methodName":"getExtension"},{"id":"reflectionfunctionabstract.getextensionname","name":"ReflectionFunctionAbstract::getExtensionName","description":"Gets extension name","tag":"refentry","type":"Function","methodName":"getExtensionName"},{"id":"reflectionfunctionabstract.getfilename","name":"ReflectionFunctionAbstract::getFileName","description":"Gets file name","tag":"refentry","type":"Function","methodName":"getFileName"},{"id":"reflectionfunctionabstract.getname","name":"ReflectionFunctionAbstract::getName","description":"Gets function name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionfunctionabstract.getnamespacename","name":"ReflectionFunctionAbstract::getNamespaceName","description":"Gets namespace name","tag":"refentry","type":"Function","methodName":"getNamespaceName"},{"id":"reflectionfunctionabstract.getnumberofparameters","name":"ReflectionFunctionAbstract::getNumberOfParameters","description":"Gets number of parameters","tag":"refentry","type":"Function","methodName":"getNumberOfParameters"},{"id":"reflectionfunctionabstract.getnumberofrequiredparameters","name":"ReflectionFunctionAbstract::getNumberOfRequiredParameters","description":"Gets number of required parameters","tag":"refentry","type":"Function","methodName":"getNumberOfRequiredParameters"},{"id":"reflectionfunctionabstract.getparameters","name":"ReflectionFunctionAbstract::getParameters","description":"Gets parameters","tag":"refentry","type":"Function","methodName":"getParameters"},{"id":"reflectionfunctionabstract.getreturntype","name":"ReflectionFunctionAbstract::getReturnType","description":"Gets the specified return type of a function","tag":"refentry","type":"Function","methodName":"getReturnType"},{"id":"reflectionfunctionabstract.getshortname","name":"ReflectionFunctionAbstract::getShortName","description":"Gets function short name","tag":"refentry","type":"Function","methodName":"getShortName"},{"id":"reflectionfunctionabstract.getstartline","name":"ReflectionFunctionAbstract::getStartLine","description":"Gets starting line number","tag":"refentry","type":"Function","methodName":"getStartLine"},{"id":"reflectionfunctionabstract.getstaticvariables","name":"ReflectionFunctionAbstract::getStaticVariables","description":"Gets static variables","tag":"refentry","type":"Function","methodName":"getStaticVariables"},{"id":"reflectionfunctionabstract.gettentativereturntype","name":"ReflectionFunctionAbstract::getTentativeReturnType","description":"Returns the tentative return type associated with the function","tag":"refentry","type":"Function","methodName":"getTentativeReturnType"},{"id":"reflectionfunctionabstract.hasreturntype","name":"ReflectionFunctionAbstract::hasReturnType","description":"Checks if the function has a specified return type","tag":"refentry","type":"Function","methodName":"hasReturnType"},{"id":"reflectionfunctionabstract.hastentativereturntype","name":"ReflectionFunctionAbstract::hasTentativeReturnType","description":"Returns whether the function has a tentative return type","tag":"refentry","type":"Function","methodName":"hasTentativeReturnType"},{"id":"reflectionfunctionabstract.innamespace","name":"ReflectionFunctionAbstract::inNamespace","description":"Checks if function in namespace","tag":"refentry","type":"Function","methodName":"inNamespace"},{"id":"reflectionfunctionabstract.isclosure","name":"ReflectionFunctionAbstract::isClosure","description":"Checks if closure","tag":"refentry","type":"Function","methodName":"isClosure"},{"id":"reflectionfunctionabstract.isdeprecated","name":"ReflectionFunctionAbstract::isDeprecated","description":"Checks if deprecated","tag":"refentry","type":"Function","methodName":"isDeprecated"},{"id":"reflectionfunctionabstract.isgenerator","name":"ReflectionFunctionAbstract::isGenerator","description":"Returns whether this function is a generator","tag":"refentry","type":"Function","methodName":"isGenerator"},{"id":"reflectionfunctionabstract.isinternal","name":"ReflectionFunctionAbstract::isInternal","description":"Checks if is internal","tag":"refentry","type":"Function","methodName":"isInternal"},{"id":"reflectiofunctionabstract.isstatic","name":"ReflectionFunctionAbstract::isStatic","description":"Checks if the function is static","tag":"refentry","type":"Function","methodName":"isStatic"},{"id":"reflectionfunctionabstract.isuserdefined","name":"ReflectionFunctionAbstract::isUserDefined","description":"Checks if user defined","tag":"refentry","type":"Function","methodName":"isUserDefined"},{"id":"reflectionfunctionabstract.isvariadic","name":"ReflectionFunctionAbstract::isVariadic","description":"Checks if the function is variadic","tag":"refentry","type":"Function","methodName":"isVariadic"},{"id":"reflectionfunctionabstract.returnsreference","name":"ReflectionFunctionAbstract::returnsReference","description":"Checks if returns reference","tag":"refentry","type":"Function","methodName":"returnsReference"},{"id":"reflectionfunctionabstract.tostring","name":"ReflectionFunctionAbstract::__toString","description":"Returns the string representation of the ReflectionFunctionAbstract object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionfunctionabstract","name":"ReflectionFunctionAbstract","description":"The ReflectionFunctionAbstract class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionFunctionAbstract"},{"id":"reflectionmethod.construct","name":"ReflectionMethod::__construct","description":"Constructs a ReflectionMethod","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionmethod.createfrommethodname","name":"ReflectionMethod::createFromMethodName","description":"Creates a new ReflectionMethod","tag":"refentry","type":"Function","methodName":"createFromMethodName"},{"id":"reflectionmethod.export","name":"ReflectionMethod::export","description":"Export a reflection method","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionmethod.getclosure","name":"ReflectionMethod::getClosure","description":"Returns a dynamically created closure for the method","tag":"refentry","type":"Function","methodName":"getClosure"},{"id":"reflectionmethod.getdeclaringclass","name":"ReflectionMethod::getDeclaringClass","description":"Gets declaring class for the reflected method","tag":"refentry","type":"Function","methodName":"getDeclaringClass"},{"id":"reflectionmethod.getmodifiers","name":"ReflectionMethod::getModifiers","description":"Gets the method modifiers","tag":"refentry","type":"Function","methodName":"getModifiers"},{"id":"reflectionmethod.getprototype","name":"ReflectionMethod::getPrototype","description":"Gets the method prototype (if there is one)","tag":"refentry","type":"Function","methodName":"getPrototype"},{"id":"reflectionmethod.hasprototype","name":"ReflectionMethod::hasPrototype","description":"Returns whether a method has a prototype","tag":"refentry","type":"Function","methodName":"hasPrototype"},{"id":"reflectionmethod.invoke","name":"ReflectionMethod::invoke","description":"Invoke","tag":"refentry","type":"Function","methodName":"invoke"},{"id":"reflectionmethod.invokeargs","name":"ReflectionMethod::invokeArgs","description":"Invoke args","tag":"refentry","type":"Function","methodName":"invokeArgs"},{"id":"reflectionmethod.isabstract","name":"ReflectionMethod::isAbstract","description":"Checks if method is abstract","tag":"refentry","type":"Function","methodName":"isAbstract"},{"id":"reflectionmethod.isconstructor","name":"ReflectionMethod::isConstructor","description":"Checks if method is a constructor","tag":"refentry","type":"Function","methodName":"isConstructor"},{"id":"reflectionmethod.isdestructor","name":"ReflectionMethod::isDestructor","description":"Checks if method is a destructor","tag":"refentry","type":"Function","methodName":"isDestructor"},{"id":"reflectionmethod.isfinal","name":"ReflectionMethod::isFinal","description":"Checks if method is final","tag":"refentry","type":"Function","methodName":"isFinal"},{"id":"reflectionmethod.isprivate","name":"ReflectionMethod::isPrivate","description":"Checks if method is private","tag":"refentry","type":"Function","methodName":"isPrivate"},{"id":"reflectionmethod.isprotected","name":"ReflectionMethod::isProtected","description":"Checks if method is protected","tag":"refentry","type":"Function","methodName":"isProtected"},{"id":"reflectionmethod.ispublic","name":"ReflectionMethod::isPublic","description":"Checks if method is public","tag":"refentry","type":"Function","methodName":"isPublic"},{"id":"reflectionmethod.setaccessible","name":"ReflectionMethod::setAccessible","description":"Set method accessibility","tag":"refentry","type":"Function","methodName":"setAccessible"},{"id":"reflectionmethod.tostring","name":"ReflectionMethod::__toString","description":"Returns the string representation of the Reflection method object","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionmethod","name":"ReflectionMethod","description":"The ReflectionMethod class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionMethod"},{"id":"reflectionnamedtype.getname","name":"ReflectionNamedType::getName","description":"Get the name of the type as a string","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionnamedtype.isbuiltin","name":"ReflectionNamedType::isBuiltin","description":"Checks if it is a built-in type","tag":"refentry","type":"Function","methodName":"isBuiltin"},{"id":"class.reflectionnamedtype","name":"ReflectionNamedType","description":"The ReflectionNamedType class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionNamedType"},{"id":"reflectionobject.construct","name":"ReflectionObject::__construct","description":"Constructs a ReflectionObject","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionobject.export","name":"ReflectionObject::export","description":"Export","tag":"refentry","type":"Function","methodName":"export"},{"id":"class.reflectionobject","name":"ReflectionObject","description":"The ReflectionObject class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionObject"},{"id":"reflectionparameter.allowsnull","name":"ReflectionParameter::allowsNull","description":"Checks if null is allowed","tag":"refentry","type":"Function","methodName":"allowsNull"},{"id":"reflectionparameter.canbepassedbyvalue","name":"ReflectionParameter::canBePassedByValue","description":"Returns whether this parameter can be passed by value","tag":"refentry","type":"Function","methodName":"canBePassedByValue"},{"id":"reflectionparameter.clone","name":"ReflectionParameter::__clone","description":"Clone","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"reflectionparameter.construct","name":"ReflectionParameter::__construct","description":"Construct","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionparameter.export","name":"ReflectionParameter::export","description":"Exports","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionparameter.getattributes","name":"ReflectionParameter::getAttributes","description":"Gets Attributes","tag":"refentry","type":"Function","methodName":"getAttributes"},{"id":"reflectionparameter.getclass","name":"ReflectionParameter::getClass","description":"Get a ReflectionClass object for the parameter being reflected or null","tag":"refentry","type":"Function","methodName":"getClass"},{"id":"reflectionparameter.getdeclaringclass","name":"ReflectionParameter::getDeclaringClass","description":"Gets declaring class","tag":"refentry","type":"Function","methodName":"getDeclaringClass"},{"id":"reflectionparameter.getdeclaringfunction","name":"ReflectionParameter::getDeclaringFunction","description":"Gets declaring function","tag":"refentry","type":"Function","methodName":"getDeclaringFunction"},{"id":"reflectionparameter.getdefaultvalue","name":"ReflectionParameter::getDefaultValue","description":"Gets default parameter value","tag":"refentry","type":"Function","methodName":"getDefaultValue"},{"id":"reflectionparameter.getdefaultvalueconstantname","name":"ReflectionParameter::getDefaultValueConstantName","description":"Returns the default value's constant name if default value is constant or null","tag":"refentry","type":"Function","methodName":"getDefaultValueConstantName"},{"id":"reflectionparameter.getname","name":"ReflectionParameter::getName","description":"Gets parameter name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionparameter.getposition","name":"ReflectionParameter::getPosition","description":"Gets parameter position","tag":"refentry","type":"Function","methodName":"getPosition"},{"id":"reflectionparameter.gettype","name":"ReflectionParameter::getType","description":"Gets a parameter's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"reflectionparameter.hastype","name":"ReflectionParameter::hasType","description":"Checks if parameter has a type","tag":"refentry","type":"Function","methodName":"hasType"},{"id":"reflectionparameter.isarray","name":"ReflectionParameter::isArray","description":"Checks if parameter expects an array","tag":"refentry","type":"Function","methodName":"isArray"},{"id":"reflectionparameter.iscallable","name":"ReflectionParameter::isCallable","description":"Returns whether parameter MUST be callable","tag":"refentry","type":"Function","methodName":"isCallable"},{"id":"reflectionparameter.isdefaultvalueavailable","name":"ReflectionParameter::isDefaultValueAvailable","description":"Checks if a default value is available","tag":"refentry","type":"Function","methodName":"isDefaultValueAvailable"},{"id":"reflectionparameter.isdefaultvalueconstant","name":"ReflectionParameter::isDefaultValueConstant","description":"Returns whether the default value of this parameter is a constant","tag":"refentry","type":"Function","methodName":"isDefaultValueConstant"},{"id":"reflectionparameter.isoptional","name":"ReflectionParameter::isOptional","description":"Checks if optional","tag":"refentry","type":"Function","methodName":"isOptional"},{"id":"reflectionparameter.ispassedbyreference","name":"ReflectionParameter::isPassedByReference","description":"Checks if passed by reference","tag":"refentry","type":"Function","methodName":"isPassedByReference"},{"id":"reflectionparameter.ispromoted","name":"ReflectionParameter::isPromoted","description":"Checks if a parameter is promoted to a property","tag":"refentry","type":"Function","methodName":"isPromoted"},{"id":"reflectionparameter.isvariadic","name":"ReflectionParameter::isVariadic","description":"Checks if the parameter is variadic","tag":"refentry","type":"Function","methodName":"isVariadic"},{"id":"reflectionparameter.tostring","name":"ReflectionParameter::__toString","description":"To string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionparameter","name":"ReflectionParameter","description":"The ReflectionParameter class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionParameter"},{"id":"reflectionproperty.clone","name":"ReflectionProperty::__clone","description":"Clone","tag":"refentry","type":"Function","methodName":"__clone"},{"id":"reflectionproperty.construct","name":"ReflectionProperty::__construct","description":"Construct a ReflectionProperty object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionproperty.export","name":"ReflectionProperty::export","description":"Export","tag":"refentry","type":"Function","methodName":"export"},{"id":"reflectionproperty.getattributes","name":"ReflectionProperty::getAttributes","description":"Gets Attributes","tag":"refentry","type":"Function","methodName":"getAttributes"},{"id":"reflectionproperty.getdeclaringclass","name":"ReflectionProperty::getDeclaringClass","description":"Gets declaring class","tag":"refentry","type":"Function","methodName":"getDeclaringClass"},{"id":"reflectionproperty.getdefaultvalue","name":"ReflectionProperty::getDefaultValue","description":"Returns the default value declared for a property","tag":"refentry","type":"Function","methodName":"getDefaultValue"},{"id":"reflectionproperty.getdoccomment","name":"ReflectionProperty::getDocComment","description":"Gets the property doc comment","tag":"refentry","type":"Function","methodName":"getDocComment"},{"id":"reflectionproperty.gethook","name":"ReflectionProperty::getHook","description":"Returns a reflection object for a specified hook","tag":"refentry","type":"Function","methodName":"getHook"},{"id":"reflectionproperty.gethooks","name":"ReflectionProperty::getHooks","description":"Returns an array of all hooks on this property","tag":"refentry","type":"Function","methodName":"getHooks"},{"id":"reflectionproperty.getmodifiers","name":"ReflectionProperty::getModifiers","description":"Gets the property modifiers","tag":"refentry","type":"Function","methodName":"getModifiers"},{"id":"reflectionproperty.getname","name":"ReflectionProperty::getName","description":"Gets property name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionproperty.getrawvalue","name":"ReflectionProperty::getRawValue","description":"Returns the value of a property, bypassing a get hook if defined","tag":"refentry","type":"Function","methodName":"getRawValue"},{"id":"reflectionproperty.getsettabletype","name":"ReflectionProperty::getSettableType","description":"Returns the parameter type of a setter hook","tag":"refentry","type":"Function","methodName":"getSettableType"},{"id":"reflectionproperty.gettype","name":"ReflectionProperty::getType","description":"Gets a property's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"reflectionproperty.getvalue","name":"ReflectionProperty::getValue","description":"Gets value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"reflectionproperty.hasdefaultvalue","name":"ReflectionProperty::hasDefaultValue","description":"Checks if property has a default value declared","tag":"refentry","type":"Function","methodName":"hasDefaultValue"},{"id":"reflectionproperty.hashook","name":"ReflectionProperty::hasHook","description":"Returns whether the property has a given hook defined","tag":"refentry","type":"Function","methodName":"hasHook"},{"id":"reflectionproperty.hashooks","name":"ReflectionProperty::hasHooks","description":"Returns whether the property has any hooks defined","tag":"refentry","type":"Function","methodName":"hasHooks"},{"id":"reflectionproperty.hastype","name":"ReflectionProperty::hasType","description":"Checks if property has a type","tag":"refentry","type":"Function","methodName":"hasType"},{"id":"reflectionproperty.isabstract","name":"ReflectionProperty::isAbstract","description":"Determines if a property is abstract","tag":"refentry","type":"Function","methodName":"isAbstract"},{"id":"reflectionproperty.isdefault","name":"ReflectionProperty::isDefault","description":"Checks if property is a default property","tag":"refentry","type":"Function","methodName":"isDefault"},{"id":"reflectionproperty.isdynamic","name":"ReflectionProperty::isDynamic","description":"Checks if property is a dynamic property","tag":"refentry","type":"Function","methodName":"isDynamic"},{"id":"reflectionproperty.isfinal","name":"ReflectionProperty::isFinal","description":"Determines if this property is final or not","tag":"refentry","type":"Function","methodName":"isFinal"},{"id":"reflectionproperty.isinitialized","name":"ReflectionProperty::isInitialized","description":"Checks whether a property is initialized","tag":"refentry","type":"Function","methodName":"isInitialized"},{"id":"reflectionproperty.islazy","name":"ReflectionProperty::isLazy","description":"Checks whether a property is lazy","tag":"refentry","type":"Function","methodName":"isLazy"},{"id":"reflectionproperty.isprivate","name":"ReflectionProperty::isPrivate","description":"Checks if property is private","tag":"refentry","type":"Function","methodName":"isPrivate"},{"id":"reflectionproperty.isprivateset","name":"ReflectionProperty::isPrivateSet","description":"Checks if property is private for writing","tag":"refentry","type":"Function","methodName":"isPrivateSet"},{"id":"reflectionproperty.ispromoted","name":"ReflectionProperty::isPromoted","description":"Checks if property is promoted","tag":"refentry","type":"Function","methodName":"isPromoted"},{"id":"reflectionproperty.isprotected","name":"ReflectionProperty::isProtected","description":"Checks if property is protected","tag":"refentry","type":"Function","methodName":"isProtected"},{"id":"reflectionproperty.isprotectedset","name":"ReflectionProperty::isProtectedSet","description":"Checks whether the property is protected for writing","tag":"refentry","type":"Function","methodName":"isProtectedSet"},{"id":"reflectionproperty.ispublic","name":"ReflectionProperty::isPublic","description":"Checks if property is public","tag":"refentry","type":"Function","methodName":"isPublic"},{"id":"reflectionproperty.isreadonly","name":"ReflectionProperty::isReadOnly","description":"Checks if property is readonly","tag":"refentry","type":"Function","methodName":"isReadOnly"},{"id":"reflectionproperty.isstatic","name":"ReflectionProperty::isStatic","description":"Checks if property is static","tag":"refentry","type":"Function","methodName":"isStatic"},{"id":"reflectionproperty.isvirtual","name":"ReflectionProperty::isVirtual","description":"Determines if a property is virtual","tag":"refentry","type":"Function","methodName":"isVirtual"},{"id":"reflectionproperty.setaccessible","name":"ReflectionProperty::setAccessible","description":"Set property accessibility","tag":"refentry","type":"Function","methodName":"setAccessible"},{"id":"reflectionproperty.setrawvalue","name":"ReflectionProperty::setRawValue","description":"Sets the value of a property, bypassing a set hook if defined","tag":"refentry","type":"Function","methodName":"setRawValue"},{"id":"reflectionproperty.setrawvaluewithoutlazyinitialization","name":"ReflectionProperty::setRawValueWithoutLazyInitialization","description":"Set raw property value without triggering lazy initialization","tag":"refentry","type":"Function","methodName":"setRawValueWithoutLazyInitialization"},{"id":"reflectionproperty.setvalue","name":"ReflectionProperty::setValue","description":"Set property value","tag":"refentry","type":"Function","methodName":"setValue"},{"id":"reflectionproperty.skiplazyinitialization","name":"ReflectionProperty::skipLazyInitialization","description":"Marks property as non-lazy","tag":"refentry","type":"Function","methodName":"skipLazyInitialization"},{"id":"reflectionproperty.tostring","name":"ReflectionProperty::__toString","description":"To string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectionproperty","name":"ReflectionProperty","description":"The ReflectionProperty class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionProperty"},{"id":"reflectiontype.allowsnull","name":"ReflectionType::allowsNull","description":"Checks if null is allowed","tag":"refentry","type":"Function","methodName":"allowsNull"},{"id":"reflectiontype.tostring","name":"ReflectionType::__toString","description":"To string","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.reflectiontype","name":"ReflectionType","description":"The ReflectionType class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionType"},{"id":"reflectionuniontype.gettypes","name":"ReflectionUnionType::getTypes","description":"Returns the types included in the union type","tag":"refentry","type":"Function","methodName":"getTypes"},{"id":"class.reflectionuniontype","name":"ReflectionUnionType","description":"The ReflectionUnionType class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionUnionType"},{"id":"reflectiongenerator.construct","name":"ReflectionGenerator::__construct","description":"Constructs a ReflectionGenerator object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectiongenerator.getexecutingfile","name":"ReflectionGenerator::getExecutingFile","description":"Gets the file name of the currently executing generator","tag":"refentry","type":"Function","methodName":"getExecutingFile"},{"id":"reflectiongenerator.getexecutinggenerator","name":"ReflectionGenerator::getExecutingGenerator","description":"Gets the executing Generator object","tag":"refentry","type":"Function","methodName":"getExecutingGenerator"},{"id":"reflectiongenerator.getexecutingline","name":"ReflectionGenerator::getExecutingLine","description":"Gets the currently executing line of the generator","tag":"refentry","type":"Function","methodName":"getExecutingLine"},{"id":"reflectiongenerator.getfunction","name":"ReflectionGenerator::getFunction","description":"Gets the function name of the generator","tag":"refentry","type":"Function","methodName":"getFunction"},{"id":"reflectiongenerator.getthis","name":"ReflectionGenerator::getThis","description":"Gets the $this value of the generator","tag":"refentry","type":"Function","methodName":"getThis"},{"id":"reflectiongenerator.gettrace","name":"ReflectionGenerator::getTrace","description":"Gets the trace of the executing generator","tag":"refentry","type":"Function","methodName":"getTrace"},{"id":"reflectiongenerator.isclosed","name":"ReflectionGenerator::isClosed","description":"Checks if execution finished","tag":"refentry","type":"Function","methodName":"isClosed"},{"id":"class.reflectiongenerator","name":"ReflectionGenerator","description":"The ReflectionGenerator class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionGenerator"},{"id":"reflectionfiber.construct","name":"ReflectionFiber::__construct","description":"Constructs a ReflectionFiber object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionfiber.getcallable","name":"ReflectionFiber::getCallable","description":"Gets the callable used to create the Fiber","tag":"refentry","type":"Function","methodName":"getCallable"},{"id":"reflectionfiber.getexecutingfile","name":"ReflectionFiber::getExecutingFile","description":"Get the file name of the current execution point","tag":"refentry","type":"Function","methodName":"getExecutingFile"},{"id":"reflectionfiber.getexecutingline","name":"ReflectionFiber::getExecutingLine","description":"Get the line number of the current execution point","tag":"refentry","type":"Function","methodName":"getExecutingLine"},{"id":"reflectionfiber.getfiber","name":"ReflectionFiber::getFiber","description":"Get the reflected Fiber instance","tag":"refentry","type":"Function","methodName":"getFiber"},{"id":"reflectionfiber.gettrace","name":"ReflectionFiber::getTrace","description":"Get the backtrace of the current execution point","tag":"refentry","type":"Function","methodName":"getTrace"},{"id":"class.reflectionfiber","name":"ReflectionFiber","description":"The ReflectionFiber class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionFiber"},{"id":"reflectionintersectiontype.gettypes","name":"ReflectionIntersectionType::getTypes","description":"Returns the types included in the intersection type","tag":"refentry","type":"Function","methodName":"getTypes"},{"id":"class.reflectionintersectiontype","name":"ReflectionIntersectionType","description":"The ReflectionIntersectionType class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionIntersectionType"},{"id":"reflectionreference.construct","name":"ReflectionReference::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionreference.fromarrayelement","name":"ReflectionReference::fromArrayElement","description":"Create a ReflectionReference from an array element","tag":"refentry","type":"Function","methodName":"fromArrayElement"},{"id":"reflectionreference.getid","name":"ReflectionReference::getId","description":"Get unique ID of a reference","tag":"refentry","type":"Function","methodName":"getId"},{"id":"class.reflectionreference","name":"ReflectionReference","description":"The ReflectionReference class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionReference"},{"id":"reflectionattribute.construct","name":"ReflectionAttribute::__construct","description":"Private constructor to disallow direct instantiation","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"reflectionattribute.getarguments","name":"ReflectionAttribute::getArguments","description":"Gets arguments passed to attribute","tag":"refentry","type":"Function","methodName":"getArguments"},{"id":"reflectionattribute.getname","name":"ReflectionAttribute::getName","description":"Gets attribute name","tag":"refentry","type":"Function","methodName":"getName"},{"id":"reflectionattribute.gettarget","name":"ReflectionAttribute::getTarget","description":"Returns the target of the attribute as bitmask","tag":"refentry","type":"Function","methodName":"getTarget"},{"id":"reflectionattribute.isrepeated","name":"ReflectionAttribute::isRepeated","description":"Returns whether the attribute of this name has been repeated on a code element","tag":"refentry","type":"Function","methodName":"isRepeated"},{"id":"reflectionattribute.newinstance","name":"ReflectionAttribute::newInstance","description":"Instantiates the attribute class represented by this ReflectionAttribute class and arguments","tag":"refentry","type":"Function","methodName":"newInstance"},{"id":"class.reflectionattribute","name":"ReflectionAttribute","description":"The ReflectionAttribute class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionAttribute"},{"id":"reflector.export","name":"Reflector::export","description":"Exports","tag":"refentry","type":"Function","methodName":"export"},{"id":"class.reflector","name":"Reflector","description":"The Reflector interface","tag":"phpdoc:classref","type":"Class","methodName":"Reflector"},{"id":"class.reflectionexception","name":"ReflectionException","description":"The ReflectionException class","tag":"phpdoc:classref","type":"Class","methodName":"ReflectionException"},{"id":"enum.propertyhooktype","name":"PropertyHookType","description":"The PropertyHookType Enum","tag":"phpdoc:classref","type":"Class","methodName":"PropertyHookType"},{"id":"book.reflection","name":"Reflection","description":"Reflection","tag":"book","type":"Extension","methodName":"Reflection"},{"id":"intro.var","name":"Introduction","description":"Variable handling","tag":"preface","type":"General","methodName":"Introduction"},{"id":"var.configuration","name":"Runtime Configuration","description":"Variable handling","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"var.setup","name":"Installing\/Configuring","description":"Variable handling","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.boolval","name":"boolval","description":"Get the boolean value of a variable","tag":"refentry","type":"Function","methodName":"boolval"},{"id":"function.debug-zval-dump","name":"debug_zval_dump","description":"Dumps a string representation of an internal zval structure to output","tag":"refentry","type":"Function","methodName":"debug_zval_dump"},{"id":"function.doubleval","name":"doubleval","description":"Alias of floatval","tag":"refentry","type":"Function","methodName":"doubleval"},{"id":"function.empty","name":"empty","description":"Determine whether a variable is empty","tag":"refentry","type":"Function","methodName":"empty"},{"id":"function.floatval","name":"floatval","description":"Get float value of a variable","tag":"refentry","type":"Function","methodName":"floatval"},{"id":"function.get-debug-type","name":"get_debug_type","description":"Gets the type name of a variable in a way that is suitable for debugging","tag":"refentry","type":"Function","methodName":"get_debug_type"},{"id":"function.get-defined-vars","name":"get_defined_vars","description":"Returns an array of all defined variables","tag":"refentry","type":"Function","methodName":"get_defined_vars"},{"id":"function.get-resource-id","name":"get_resource_id","description":"Returns an integer identifier for the given resource","tag":"refentry","type":"Function","methodName":"get_resource_id"},{"id":"function.get-resource-type","name":"get_resource_type","description":"Returns the resource type","tag":"refentry","type":"Function","methodName":"get_resource_type"},{"id":"function.gettype","name":"gettype","description":"Get the type of a variable","tag":"refentry","type":"Function","methodName":"gettype"},{"id":"function.intval","name":"intval","description":"Get the integer value of a variable","tag":"refentry","type":"Function","methodName":"intval"},{"id":"function.is-array","name":"is_array","description":"Finds whether a variable is an array","tag":"refentry","type":"Function","methodName":"is_array"},{"id":"function.is-bool","name":"is_bool","description":"Finds out whether a variable is a boolean","tag":"refentry","type":"Function","methodName":"is_bool"},{"id":"function.is-callable","name":"is_callable","description":"Verify that a value can be called as a function from the current scope","tag":"refentry","type":"Function","methodName":"is_callable"},{"id":"function.is-countable","name":"is_countable","description":"Verify that the contents of a variable is a countable value","tag":"refentry","type":"Function","methodName":"is_countable"},{"id":"function.is-double","name":"is_double","description":"Alias of is_float","tag":"refentry","type":"Function","methodName":"is_double"},{"id":"function.is-float","name":"is_float","description":"Finds whether the type of a variable is float","tag":"refentry","type":"Function","methodName":"is_float"},{"id":"function.is-int","name":"is_int","description":"Find whether the type of a variable is integer","tag":"refentry","type":"Function","methodName":"is_int"},{"id":"function.is-integer","name":"is_integer","description":"Alias of is_int","tag":"refentry","type":"Function","methodName":"is_integer"},{"id":"function.is-iterable","name":"is_iterable","description":"Verify that the contents of a variable is an iterable value","tag":"refentry","type":"Function","methodName":"is_iterable"},{"id":"function.is-long","name":"is_long","description":"Alias of is_int","tag":"refentry","type":"Function","methodName":"is_long"},{"id":"function.is-null","name":"is_null","description":"Finds whether a variable is null","tag":"refentry","type":"Function","methodName":"is_null"},{"id":"function.is-numeric","name":"is_numeric","description":"Finds whether a variable is a number or a numeric string","tag":"refentry","type":"Function","methodName":"is_numeric"},{"id":"function.is-object","name":"is_object","description":"Finds whether a variable is an object","tag":"refentry","type":"Function","methodName":"is_object"},{"id":"function.is-real","name":"is_real","description":"Alias of is_float","tag":"refentry","type":"Function","methodName":"is_real"},{"id":"function.is-resource","name":"is_resource","description":"Finds whether a variable is a resource","tag":"refentry","type":"Function","methodName":"is_resource"},{"id":"function.is-scalar","name":"is_scalar","description":"Finds whether a variable is a scalar","tag":"refentry","type":"Function","methodName":"is_scalar"},{"id":"function.is-string","name":"is_string","description":"Find whether the type of a variable is string","tag":"refentry","type":"Function","methodName":"is_string"},{"id":"function.isset","name":"isset","description":"Determine if a variable is declared and is different than null","tag":"refentry","type":"Function","methodName":"isset"},{"id":"function.print-r","name":"print_r","description":"Prints human-readable information about a variable","tag":"refentry","type":"Function","methodName":"print_r"},{"id":"function.serialize","name":"serialize","description":"Generates a storable representation of a value","tag":"refentry","type":"Function","methodName":"serialize"},{"id":"function.settype","name":"settype","description":"Set the type of a variable","tag":"refentry","type":"Function","methodName":"settype"},{"id":"function.strval","name":"strval","description":"Get string value of a variable","tag":"refentry","type":"Function","methodName":"strval"},{"id":"function.unserialize","name":"unserialize","description":"Creates a PHP value from a stored representation","tag":"refentry","type":"Function","methodName":"unserialize"},{"id":"function.unset","name":"unset","description":"unset a given variable","tag":"refentry","type":"Function","methodName":"unset"},{"id":"function.var-dump","name":"var_dump","description":"Dumps information about a variable","tag":"refentry","type":"Function","methodName":"var_dump"},{"id":"function.var-export","name":"var_export","description":"Outputs or returns a parsable string representation of a variable","tag":"refentry","type":"Function","methodName":"var_export"},{"id":"ref.var","name":"Variable handling Functions","description":"Variable handling","tag":"reference","type":"Extension","methodName":"Variable handling Functions"},{"id":"book.var","name":"Variable handling","description":"Variable and Type Related Extensions","tag":"book","type":"Extension","methodName":"Variable handling"},{"id":"refs.basic.vartype","name":"Variable and Type Related Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Variable and Type Related Extensions"},{"id":"intro.oauth","name":"Introduction","description":"OAuth","tag":"preface","type":"General","methodName":"Introduction"},{"id":"oauth.requirements","name":"Requirements","description":"OAuth","tag":"section","type":"General","methodName":"Requirements"},{"id":"oauth.installation","name":"Installation","description":"OAuth","tag":"section","type":"General","methodName":"Installation"},{"id":"oauth.setup","name":"Installing\/Configuring","description":"OAuth","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"oauth.constants","name":"Predefined Constants","description":"OAuth","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"oauth.examples.fireeagle","name":"FireEagle","description":"OAuth","tag":"section","type":"General","methodName":"FireEagle"},{"id":"oauth.examples","name":"Examples","description":"OAuth","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.oauth-get-sbs","name":"oauth_get_sbs","description":"Generate a Signature Base String","tag":"refentry","type":"Function","methodName":"oauth_get_sbs"},{"id":"function.oauth-urlencode","name":"oauth_urlencode","description":"Encode a URI to RFC 3986","tag":"refentry","type":"Function","methodName":"oauth_urlencode"},{"id":"ref.oauth","name":"OAuth Functions","description":"OAuth","tag":"reference","type":"Extension","methodName":"OAuth Functions"},{"id":"oauth.construct","name":"OAuth::__construct","description":"Create a new OAuth object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"oauth.destruct","name":"OAuth::__destruct","description":"The destructor","tag":"refentry","type":"Function","methodName":"__destruct"},{"id":"oauth.disabledebug","name":"OAuth::disableDebug","description":"Turn off verbose debugging","tag":"refentry","type":"Function","methodName":"disableDebug"},{"id":"oauth.disableredirects","name":"OAuth::disableRedirects","description":"Turn off redirects","tag":"refentry","type":"Function","methodName":"disableRedirects"},{"id":"oauth.disablesslchecks","name":"OAuth::disableSSLChecks","description":"Turn off SSL checks","tag":"refentry","type":"Function","methodName":"disableSSLChecks"},{"id":"oauth.enabledebug","name":"OAuth::enableDebug","description":"Turn on verbose debugging","tag":"refentry","type":"Function","methodName":"enableDebug"},{"id":"oauth.enableredirects","name":"OAuth::enableRedirects","description":"Turn on redirects","tag":"refentry","type":"Function","methodName":"enableRedirects"},{"id":"oauth.enablesslchecks","name":"OAuth::enableSSLChecks","description":"Turn on SSL checks","tag":"refentry","type":"Function","methodName":"enableSSLChecks"},{"id":"oauth.fetch","name":"OAuth::fetch","description":"Fetch an OAuth protected resource","tag":"refentry","type":"Function","methodName":"fetch"},{"id":"oauth.generatesignature","name":"OAuth::generateSignature","description":"Generate a signature","tag":"refentry","type":"Function","methodName":"generateSignature"},{"id":"oauth.getaccesstoken","name":"OAuth::getAccessToken","description":"Fetch an access token","tag":"refentry","type":"Function","methodName":"getAccessToken"},{"id":"oauth.getcapath","name":"OAuth::getCAPath","description":"Gets CA information","tag":"refentry","type":"Function","methodName":"getCAPath"},{"id":"oauth.getlastresponse","name":"OAuth::getLastResponse","description":"Get the last response","tag":"refentry","type":"Function","methodName":"getLastResponse"},{"id":"oauth.getlastresponseheaders","name":"OAuth::getLastResponseHeaders","description":"Get headers for last response","tag":"refentry","type":"Function","methodName":"getLastResponseHeaders"},{"id":"oauth.getlastresponseinfo","name":"OAuth::getLastResponseInfo","description":"Get HTTP information about the last response","tag":"refentry","type":"Function","methodName":"getLastResponseInfo"},{"id":"oauth.getrequestheader","name":"OAuth::getRequestHeader","description":"Generate OAuth header string signature","tag":"refentry","type":"Function","methodName":"getRequestHeader"},{"id":"oauth.getrequesttoken","name":"OAuth::getRequestToken","description":"Fetch a request token","tag":"refentry","type":"Function","methodName":"getRequestToken"},{"id":"oauth.setauthtype","name":"OAuth::setAuthType","description":"Set authorization type","tag":"refentry","type":"Function","methodName":"setAuthType"},{"id":"oauth.setcapath","name":"OAuth::setCAPath","description":"Set CA path and info","tag":"refentry","type":"Function","methodName":"setCAPath"},{"id":"oauth.setnonce","name":"OAuth::setNonce","description":"Set the nonce for subsequent requests","tag":"refentry","type":"Function","methodName":"setNonce"},{"id":"oauth.setrequestengine","name":"OAuth::setRequestEngine","description":"The setRequestEngine purpose","tag":"refentry","type":"Function","methodName":"setRequestEngine"},{"id":"oauth.setrsacertificate","name":"OAuth::setRSACertificate","description":"Set the RSA certificate","tag":"refentry","type":"Function","methodName":"setRSACertificate"},{"id":"oauth.setsslchecks","name":"OAuth::setSSLChecks","description":"Tweak specific SSL checks for requests","tag":"refentry","type":"Function","methodName":"setSSLChecks"},{"id":"oauth.settimestamp","name":"OAuth::setTimestamp","description":"Set the timestamp","tag":"refentry","type":"Function","methodName":"setTimestamp"},{"id":"oauth.settoken","name":"OAuth::setToken","description":"Sets the token and secret","tag":"refentry","type":"Function","methodName":"setToken"},{"id":"oauth.setversion","name":"OAuth::setVersion","description":"Set the OAuth version","tag":"refentry","type":"Function","methodName":"setVersion"},{"id":"class.oauth","name":"OAuth","description":"The OAuth class","tag":"phpdoc:classref","type":"Class","methodName":"OAuth"},{"id":"oauthprovider.addrequiredparameter","name":"OAuthProvider::addRequiredParameter","description":"Add required parameters","tag":"refentry","type":"Function","methodName":"addRequiredParameter"},{"id":"oauthprovider.callconsumerhandler","name":"OAuthProvider::callconsumerHandler","description":"Calls the consumerNonceHandler callback","tag":"refentry","type":"Function","methodName":"callconsumerHandler"},{"id":"oauthprovider.calltimestampnoncehandler","name":"OAuthProvider::callTimestampNonceHandler","description":"Calls the timestampNonceHandler callback","tag":"refentry","type":"Function","methodName":"callTimestampNonceHandler"},{"id":"oauthprovider.calltokenhandler","name":"OAuthProvider::calltokenHandler","description":"Calls the tokenNonceHandler callback","tag":"refentry","type":"Function","methodName":"calltokenHandler"},{"id":"oauthprovider.checkoauthrequest","name":"OAuthProvider::checkOAuthRequest","description":"Check an oauth request","tag":"refentry","type":"Function","methodName":"checkOAuthRequest"},{"id":"oauthprovider.construct","name":"OAuthProvider::__construct","description":"Constructs a new OAuthProvider object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"oauthprovider.consumerhandler","name":"OAuthProvider::consumerHandler","description":"Set the consumerHandler handler callback","tag":"refentry","type":"Function","methodName":"consumerHandler"},{"id":"oauthprovider.generatetoken","name":"OAuthProvider::generateToken","description":"Generate a random token","tag":"refentry","type":"Function","methodName":"generateToken"},{"id":"oauthprovider.is2leggedendpoint","name":"OAuthProvider::is2LeggedEndpoint","description":"is2LeggedEndpoint","tag":"refentry","type":"Function","methodName":"is2LeggedEndpoint"},{"id":"oauthprovider.isrequesttokenendpoint","name":"OAuthProvider::isRequestTokenEndpoint","description":"Sets isRequestTokenEndpoint","tag":"refentry","type":"Function","methodName":"isRequestTokenEndpoint"},{"id":"oauthprovider.removerequiredparameter","name":"OAuthProvider::removeRequiredParameter","description":"Remove a required parameter","tag":"refentry","type":"Function","methodName":"removeRequiredParameter"},{"id":"oauthprovider.reportproblem","name":"OAuthProvider::reportProblem","description":"Report a problem","tag":"refentry","type":"Function","methodName":"reportProblem"},{"id":"oauthprovider.setparam","name":"OAuthProvider::setParam","description":"Set a parameter","tag":"refentry","type":"Function","methodName":"setParam"},{"id":"oauthprovider.setrequesttokenpath","name":"OAuthProvider::setRequestTokenPath","description":"Set request token path","tag":"refentry","type":"Function","methodName":"setRequestTokenPath"},{"id":"oauthprovider.timestampnoncehandler","name":"OAuthProvider::timestampNonceHandler","description":"Set the timestampNonceHandler handler callback","tag":"refentry","type":"Function","methodName":"timestampNonceHandler"},{"id":"oauthprovider.tokenhandler","name":"OAuthProvider::tokenHandler","description":"Set the tokenHandler handler callback","tag":"refentry","type":"Function","methodName":"tokenHandler"},{"id":"class.oauthprovider","name":"OAuthProvider","description":"The OAuthProvider class","tag":"phpdoc:classref","type":"Class","methodName":"OAuthProvider"},{"id":"class.oauthexception","name":"OAuthException","description":"OAuthException class","tag":"phpdoc:classref","type":"Class","methodName":"OAuthException"},{"id":"book.oauth","name":"OAuth","description":"Web Services","tag":"book","type":"Extension","methodName":"OAuth"},{"id":"intro.soap","name":"Introduction","description":"SOAP","tag":"preface","type":"General","methodName":"Introduction"},{"id":"soap.requirements","name":"Requirements","description":"SOAP","tag":"section","type":"General","methodName":"Requirements"},{"id":"soap.installation","name":"Installation","description":"SOAP","tag":"section","type":"General","methodName":"Installation"},{"id":"soap.configuration","name":"Runtime Configuration","description":"SOAP","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"soap.setup","name":"Installing\/Configuring","description":"SOAP","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"soap.constants","name":"Predefined Constants","description":"SOAP","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"function.is-soap-fault","name":"is_soap_fault","description":"Checks if a SOAP call has failed","tag":"refentry","type":"Function","methodName":"is_soap_fault"},{"id":"function.use-soap-error-handler","name":"use_soap_error_handler","description":"Set whether to use the SOAP error handler","tag":"refentry","type":"Function","methodName":"use_soap_error_handler"},{"id":"ref.soap","name":"SOAP Functions","description":"SOAP","tag":"reference","type":"Extension","methodName":"SOAP Functions"},{"id":"soapclient.call","name":"SoapClient::__call","description":"Calls a SOAP function (deprecated)","tag":"refentry","type":"Function","methodName":"__call"},{"id":"soapclient.construct","name":"SoapClient::__construct","description":"SoapClient constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"soapclient.dorequest","name":"SoapClient::__doRequest","description":"Performs a SOAP request","tag":"refentry","type":"Function","methodName":"__doRequest"},{"id":"soapclient.getcookies","name":"SoapClient::__getCookies","description":"Get list of cookies","tag":"refentry","type":"Function","methodName":"__getCookies"},{"id":"soapclient.getfunctions","name":"SoapClient::__getFunctions","description":"Returns list of available SOAP functions","tag":"refentry","type":"Function","methodName":"__getFunctions"},{"id":"soapclient.getlastrequest","name":"SoapClient::__getLastRequest","description":"Returns last SOAP request","tag":"refentry","type":"Function","methodName":"__getLastRequest"},{"id":"soapclient.getlastrequestheaders","name":"SoapClient::__getLastRequestHeaders","description":"Returns the SOAP headers from the last request","tag":"refentry","type":"Function","methodName":"__getLastRequestHeaders"},{"id":"soapclient.getlastresponse","name":"SoapClient::__getLastResponse","description":"Returns last SOAP response","tag":"refentry","type":"Function","methodName":"__getLastResponse"},{"id":"soapclient.getlastresponseheaders","name":"SoapClient::__getLastResponseHeaders","description":"Returns the SOAP headers from the last response","tag":"refentry","type":"Function","methodName":"__getLastResponseHeaders"},{"id":"soapclient.gettypes","name":"SoapClient::__getTypes","description":"Returns a list of SOAP types","tag":"refentry","type":"Function","methodName":"__getTypes"},{"id":"soapclient.setcookie","name":"SoapClient::__setCookie","description":"Defines a cookie for SOAP requests","tag":"refentry","type":"Function","methodName":"__setCookie"},{"id":"soapclient.setlocation","name":"SoapClient::__setLocation","description":"Sets the location of the Web service to use","tag":"refentry","type":"Function","methodName":"__setLocation"},{"id":"soapclient.setsoapheaders","name":"SoapClient::__setSoapHeaders","description":"Sets SOAP headers for subsequent calls","tag":"refentry","type":"Function","methodName":"__setSoapHeaders"},{"id":"soapclient.soapcall","name":"SoapClient::__soapCall","description":"Calls a SOAP function","tag":"refentry","type":"Function","methodName":"__soapCall"},{"id":"class.soapclient","name":"SoapClient","description":"The SoapClient class","tag":"phpdoc:classref","type":"Class","methodName":"SoapClient"},{"id":"soapserver.addfunction","name":"SoapServer::addFunction","description":"Adds one or more functions to handle SOAP requests","tag":"refentry","type":"Function","methodName":"addFunction"},{"id":"soapserver.addsoapheader","name":"SoapServer::addSoapHeader","description":"Add a SOAP header to the response","tag":"refentry","type":"Function","methodName":"addSoapHeader"},{"id":"soapserver.construct","name":"SoapServer::__construct","description":"SoapServer constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"soapserver.fault","name":"SoapServer::fault","description":"Issue SoapServer fault indicating an error","tag":"refentry","type":"Function","methodName":"fault"},{"id":"soapserver.getfunctions","name":"SoapServer::getFunctions","description":"Returns list of defined functions","tag":"refentry","type":"Function","methodName":"getFunctions"},{"id":"soapserver.getlastresponse","name":"SoapServer::__getLastResponse","description":"Returns last SOAP response","tag":"refentry","type":"Function","methodName":"__getLastResponse"},{"id":"soapserver.handle","name":"SoapServer::handle","description":"Handles a SOAP request","tag":"refentry","type":"Function","methodName":"handle"},{"id":"soapserver.setclass","name":"SoapServer::setClass","description":"Sets the class which handles SOAP requests","tag":"refentry","type":"Function","methodName":"setClass"},{"id":"soapserver.setobject","name":"SoapServer::setObject","description":"Sets the object which will be used to handle SOAP requests","tag":"refentry","type":"Function","methodName":"setObject"},{"id":"soapserver.setpersistence","name":"SoapServer::setPersistence","description":"Sets SoapServer persistence mode","tag":"refentry","type":"Function","methodName":"setPersistence"},{"id":"class.soapserver","name":"SoapServer","description":"The SoapServer class","tag":"phpdoc:classref","type":"Class","methodName":"SoapServer"},{"id":"soapfault.construct","name":"SoapFault::__construct","description":"SoapFault constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"soapfault.tostring","name":"SoapFault::__toString","description":"Obtain a string representation of a SoapFault","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"class.soapfault","name":"SoapFault","description":"The SoapFault class","tag":"phpdoc:classref","type":"Class","methodName":"SoapFault"},{"id":"soapheader.construct","name":"SoapHeader::__construct","description":"SoapHeader constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.soapheader","name":"SoapHeader","description":"The SoapHeader class","tag":"phpdoc:classref","type":"Class","methodName":"SoapHeader"},{"id":"soapparam.construct","name":"SoapParam::__construct","description":"SoapParam constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.soapparam","name":"SoapParam","description":"The SoapParam class","tag":"phpdoc:classref","type":"Class","methodName":"SoapParam"},{"id":"soapvar.construct","name":"SoapVar::__construct","description":"SoapVar constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.soapvar","name":"SoapVar","description":"The SoapVar class","tag":"phpdoc:classref","type":"Class","methodName":"SoapVar"},{"id":"book.soap","name":"SOAP","description":"SOAP","tag":"book","type":"Extension","methodName":"SOAP"},{"id":"intro.yar","name":"Introduction","description":"Yet Another RPC Framework","tag":"preface","type":"General","methodName":"Introduction"},{"id":"yar.requirements","name":"Requirements","description":"Yet Another RPC Framework","tag":"section","type":"General","methodName":"Requirements"},{"id":"yar.installation","name":"Installation","description":"Yet Another RPC Framework","tag":"section","type":"General","methodName":"Installation"},{"id":"yar.configuration","name":"Runtime Configuration","description":"Yet Another RPC Framework","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"yar.resources","name":"Resource Types","description":"Yet Another RPC Framework","tag":"section","type":"General","methodName":"Resource Types"},{"id":"yar.setup","name":"Installing\/Configuring","description":"Yet Another RPC Framework","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"yar.constants","name":"Predefined Constants","description":"Yet Another RPC Framework","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"yar.examples","name":"Examples","description":"Yet Another RPC Framework","tag":"chapter","type":"General","methodName":"Examples"},{"id":"yar-server.construct","name":"Yar_Server::__construct","description":"Register a server","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yar-server.handle","name":"Yar_Server::handle","description":"Start RPC Server","tag":"refentry","type":"Function","methodName":"handle"},{"id":"class.yar-server","name":"Yar_Server","description":"The Yar_Server class","tag":"phpdoc:classref","type":"Class","methodName":"Yar_Server"},{"id":"yar-client.call","name":"Yar_Client::__call","description":"Call service","tag":"refentry","type":"Function","methodName":"__call"},{"id":"yar-client.construct","name":"Yar_Client::__construct","description":"Create a client","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"yar-client.setopt","name":"Yar_Client::setOpt","description":"Set calling contexts","tag":"refentry","type":"Function","methodName":"setOpt"},{"id":"class.yar-client","name":"Yar_Client","description":"The Yar_Client class","tag":"phpdoc:classref","type":"Class","methodName":"Yar_Client"},{"id":"yar-concurrent-client.call","name":"Yar_Concurrent_Client::call","description":"Register a concurrent call","tag":"refentry","type":"Function","methodName":"call"},{"id":"yar-concurrent-client.loop","name":"Yar_Concurrent_Client::loop","description":"Send all calls","tag":"refentry","type":"Function","methodName":"loop"},{"id":"yar-concurrent-client.reset","name":"Yar_Concurrent_Client::reset","description":"Clean all registered calls","tag":"refentry","type":"Function","methodName":"reset"},{"id":"class.yar-concurrent-client","name":"Yar_Concurrent_Client","description":"The Yar_Concurrent_Client class","tag":"phpdoc:classref","type":"Class","methodName":"Yar_Concurrent_Client"},{"id":"yar-server-exception.gettype","name":"Yar_Server_Exception::getType","description":"Retrieve exception's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"class.yar-server-exception","name":"Yar_Server_Exception","description":"The Yar_Server_Exception class","tag":"phpdoc:classref","type":"Class","methodName":"Yar_Server_Exception"},{"id":"yar-client-exception.gettype","name":"Yar_Client_Exception::getType","description":"Retrieve exception's type","tag":"refentry","type":"Function","methodName":"getType"},{"id":"class.yar-client-exception","name":"Yar_Client_Exception","description":"The Yar_Client_Exception class","tag":"phpdoc:classref","type":"Class","methodName":"Yar_Client_Exception"},{"id":"book.yar","name":"Yar","description":"Yet Another RPC Framework","tag":"book","type":"Extension","methodName":"Yar"},{"id":"intro.xmlrpc","name":"Introduction","description":"XML-RPC","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xmlrpc.requirements","name":"Requirements","description":"XML-RPC","tag":"section","type":"General","methodName":"Requirements"},{"id":"xmlrpc.installation","name":"Installation","description":"XML-RPC","tag":"section","type":"General","methodName":"Installation"},{"id":"xmlrpc.resources","name":"Resource Types","description":"XML-RPC","tag":"section","type":"General","methodName":"Resource Types"},{"id":"xmlrpc.setup","name":"Installing\/Configuring","description":"XML-RPC","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"function.xmlrpc-decode","name":"xmlrpc_decode","description":"Decodes XML into native PHP types","tag":"refentry","type":"Function","methodName":"xmlrpc_decode"},{"id":"function.xmlrpc-decode-request","name":"xmlrpc_decode_request","description":"Decodes XML into native PHP types","tag":"refentry","type":"Function","methodName":"xmlrpc_decode_request"},{"id":"function.xmlrpc-encode","name":"xmlrpc_encode","description":"Generates XML for a PHP value","tag":"refentry","type":"Function","methodName":"xmlrpc_encode"},{"id":"function.xmlrpc-encode-request","name":"xmlrpc_encode_request","description":"Generates XML for a method request","tag":"refentry","type":"Function","methodName":"xmlrpc_encode_request"},{"id":"function.xmlrpc-get-type","name":"xmlrpc_get_type","description":"Gets xmlrpc type for a PHP value","tag":"refentry","type":"Function","methodName":"xmlrpc_get_type"},{"id":"function.xmlrpc-is-fault","name":"xmlrpc_is_fault","description":"Determines if an array value represents an XMLRPC fault","tag":"refentry","type":"Function","methodName":"xmlrpc_is_fault"},{"id":"function.xmlrpc-parse-method-descriptions","name":"xmlrpc_parse_method_descriptions","description":"Decodes XML into a list of method descriptions","tag":"refentry","type":"Function","methodName":"xmlrpc_parse_method_descriptions"},{"id":"function.xmlrpc-server-add-introspection-data","name":"xmlrpc_server_add_introspection_data","description":"Adds introspection documentation","tag":"refentry","type":"Function","methodName":"xmlrpc_server_add_introspection_data"},{"id":"function.xmlrpc-server-call-method","name":"xmlrpc_server_call_method","description":"Parses XML requests and call methods","tag":"refentry","type":"Function","methodName":"xmlrpc_server_call_method"},{"id":"function.xmlrpc-server-create","name":"xmlrpc_server_create","description":"Creates an xmlrpc server","tag":"refentry","type":"Function","methodName":"xmlrpc_server_create"},{"id":"function.xmlrpc-server-destroy","name":"xmlrpc_server_destroy","description":"Destroys server resources","tag":"refentry","type":"Function","methodName":"xmlrpc_server_destroy"},{"id":"function.xmlrpc-server-register-introspection-callback","name":"xmlrpc_server_register_introspection_callback","description":"Register a PHP function to generate documentation","tag":"refentry","type":"Function","methodName":"xmlrpc_server_register_introspection_callback"},{"id":"function.xmlrpc-server-register-method","name":"xmlrpc_server_register_method","description":"Register a PHP function to resource method matching method_name","tag":"refentry","type":"Function","methodName":"xmlrpc_server_register_method"},{"id":"function.xmlrpc-set-type","name":"xmlrpc_set_type","description":"Sets xmlrpc type, base64 or datetime, for a PHP string value","tag":"refentry","type":"Function","methodName":"xmlrpc_set_type"},{"id":"ref.xmlrpc","name":"XML-RPC Functions","description":"XML-RPC","tag":"reference","type":"Extension","methodName":"XML-RPC Functions"},{"id":"book.xmlrpc","name":"XML-RPC","description":"Web Services","tag":"book","type":"Extension","methodName":"XML-RPC"},{"id":"refs.webservice","name":"Web Services","description":"Function Reference","tag":"set","type":"Extension","methodName":"Web Services"},{"id":"intro.com","name":"Introduction","description":"COM and .Net (Windows)","tag":"preface","type":"General","methodName":"Introduction"},{"id":"com.requirements","name":"Requirements","description":"COM and .Net (Windows)","tag":"section","type":"General","methodName":"Requirements"},{"id":"com.installation","name":"Installation","description":"COM and .Net (Windows)","tag":"section","type":"General","methodName":"Installation"},{"id":"com.configuration","name":"Runtime Configuration","description":"COM and .Net (Windows)","tag":"section","type":"General","methodName":"Runtime Configuration"},{"id":"com.setup","name":"Installing\/Configuring","description":"COM and .Net (Windows)","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"com.constants","name":"Predefined Constants","description":"COM and .Net (Windows)","tag":"chapter","type":"General","methodName":"Predefined Constants"},{"id":"com.error-handling","name":"Errors and error handling","description":"COM and .Net (Windows)","tag":"chapter","type":"General","methodName":"Errors and error handling"},{"id":"com.examples.foreach","name":"For Each","description":"COM and .Net (Windows)","tag":"section","type":"General","methodName":"For Each"},{"id":"com.examples.arrays","name":"Arrays and Array-style COM properties","description":"COM and .Net (Windows)","tag":"section","type":"General","methodName":"Arrays and Array-style COM properties"},{"id":"com.examples","name":"Examples","description":"COM and .Net (Windows)","tag":"chapter","type":"General","methodName":"Examples"},{"id":"com.construct","name":"com::__construct","description":"com class constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.com","name":"com","description":"The com class","tag":"phpdoc:classref","type":"Class","methodName":"com"},{"id":"dotnet.construct","name":"dotnet::__construct","description":"dotnet class constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.dotnet","name":"dotnet","description":"The dotnet class","tag":"phpdoc:classref","type":"Class","methodName":"dotnet"},{"id":"variant.construct","name":"variant::__construct","description":"variant class constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.variant","name":"variant","description":"variant class","tag":"phpdoc:classref","type":"Class","methodName":"variant"},{"id":"compersisthelper.construct","name":"COMPersistHelper::__construct","description":"Construct a COMPersistHelper object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"compersisthelper.getcurfilename","name":"COMPersistHelper::GetCurFileName","description":"Get current filename","tag":"refentry","type":"Function","methodName":"GetCurFileName"},{"id":"compersisthelper.getmaxstreamsize","name":"COMPersistHelper::GetMaxStreamSize","description":"Get maximum stream size","tag":"refentry","type":"Function","methodName":"GetMaxStreamSize"},{"id":"compersisthelper.initnew","name":"COMPersistHelper::InitNew","description":"Initialize object to default state","tag":"refentry","type":"Function","methodName":"InitNew"},{"id":"compersisthelper.loadfromfile","name":"COMPersistHelper::LoadFromFile","description":"Load object from file","tag":"refentry","type":"Function","methodName":"LoadFromFile"},{"id":"compersisthelper.loadfromstream","name":"COMPersistHelper::LoadFromStream","description":"Load object from stream","tag":"refentry","type":"Function","methodName":"LoadFromStream"},{"id":"compersisthelper.savetofile","name":"COMPersistHelper::SaveToFile","description":"Save object to file","tag":"refentry","type":"Function","methodName":"SaveToFile"},{"id":"compersisthelper.savetostream","name":"COMPersistHelper::SaveToStream","description":"Save object to stream","tag":"refentry","type":"Function","methodName":"SaveToStream"},{"id":"class.compersisthelper","name":"COMPersistHelper","description":"The COMPersistHelper class","tag":"phpdoc:classref","type":"Class","methodName":"COMPersistHelper"},{"id":"class.com-exception","name":"com_exception","description":"The com_exception class","tag":"phpdoc:classref","type":"Class","methodName":"com_exception"},{"id":"class.com-safearray-proxy","name":"com_safearray_proxy","description":"The com_safearray_proxy class","tag":"phpdoc:classref","type":"Class","methodName":"com_safearray_proxy"},{"id":"function.com-create-guid","name":"com_create_guid","description":"Generate a globally unique identifier (GUID)","tag":"refentry","type":"Function","methodName":"com_create_guid"},{"id":"function.com-event-sink","name":"com_event_sink","description":"Connect events from a COM object to a PHP object","tag":"refentry","type":"Function","methodName":"com_event_sink"},{"id":"function.com-get-active-object","name":"com_get_active_object","description":"Returns a handle to an already running instance of a COM object","tag":"refentry","type":"Function","methodName":"com_get_active_object"},{"id":"function.com-load-typelib","name":"com_load_typelib","description":"Loads a Typelib","tag":"refentry","type":"Function","methodName":"com_load_typelib"},{"id":"function.com-message-pump","name":"com_message_pump","description":"Process COM messages, sleeping for up to timeoutms milliseconds","tag":"refentry","type":"Function","methodName":"com_message_pump"},{"id":"function.com-print-typeinfo","name":"com_print_typeinfo","description":"Print out a PHP class definition for a dispatchable interface","tag":"refentry","type":"Function","methodName":"com_print_typeinfo"},{"id":"function.variant-abs","name":"variant_abs","description":"Returns the absolute value of a variant","tag":"refentry","type":"Function","methodName":"variant_abs"},{"id":"function.variant-add","name":"variant_add","description":"\"Adds\" two variant values together and returns the result","tag":"refentry","type":"Function","methodName":"variant_add"},{"id":"function.variant-and","name":"variant_and","description":"Performs a bitwise AND operation between two variants","tag":"refentry","type":"Function","methodName":"variant_and"},{"id":"function.variant-cast","name":"variant_cast","description":"Convert a variant into a new variant object of another type","tag":"refentry","type":"Function","methodName":"variant_cast"},{"id":"function.variant-cat","name":"variant_cat","description":"Concatenates two variant values together and returns the result","tag":"refentry","type":"Function","methodName":"variant_cat"},{"id":"function.variant-cmp","name":"variant_cmp","description":"Compares two variants","tag":"refentry","type":"Function","methodName":"variant_cmp"},{"id":"function.variant-date-from-timestamp","name":"variant_date_from_timestamp","description":"Returns a variant date representation of a Unix timestamp","tag":"refentry","type":"Function","methodName":"variant_date_from_timestamp"},{"id":"function.variant-date-to-timestamp","name":"variant_date_to_timestamp","description":"Converts a variant date\/time value to Unix timestamp","tag":"refentry","type":"Function","methodName":"variant_date_to_timestamp"},{"id":"function.variant-div","name":"variant_div","description":"Returns the result from dividing two variants","tag":"refentry","type":"Function","methodName":"variant_div"},{"id":"function.variant-eqv","name":"variant_eqv","description":"Performs a bitwise equivalence on two variants","tag":"refentry","type":"Function","methodName":"variant_eqv"},{"id":"function.variant-fix","name":"variant_fix","description":"Returns the integer portion of a variant","tag":"refentry","type":"Function","methodName":"variant_fix"},{"id":"function.variant-get-type","name":"variant_get_type","description":"Returns the type of a variant object","tag":"refentry","type":"Function","methodName":"variant_get_type"},{"id":"function.variant-idiv","name":"variant_idiv","description":"Converts variants to integers and then returns the result from dividing them","tag":"refentry","type":"Function","methodName":"variant_idiv"},{"id":"function.variant-imp","name":"variant_imp","description":"Performs a bitwise implication on two variants","tag":"refentry","type":"Function","methodName":"variant_imp"},{"id":"function.variant-int","name":"variant_int","description":"Returns the integer portion of a variant","tag":"refentry","type":"Function","methodName":"variant_int"},{"id":"function.variant-mod","name":"variant_mod","description":"Divides two variants and returns only the remainder","tag":"refentry","type":"Function","methodName":"variant_mod"},{"id":"function.variant-mul","name":"variant_mul","description":"Multiplies the values of the two variants","tag":"refentry","type":"Function","methodName":"variant_mul"},{"id":"function.variant-neg","name":"variant_neg","description":"Performs logical negation on a variant","tag":"refentry","type":"Function","methodName":"variant_neg"},{"id":"function.variant-not","name":"variant_not","description":"Performs bitwise not negation on a variant","tag":"refentry","type":"Function","methodName":"variant_not"},{"id":"function.variant-or","name":"variant_or","description":"Performs a logical disjunction on two variants","tag":"refentry","type":"Function","methodName":"variant_or"},{"id":"function.variant-pow","name":"variant_pow","description":"Returns the result of performing the power function with two variants","tag":"refentry","type":"Function","methodName":"variant_pow"},{"id":"function.variant-round","name":"variant_round","description":"Rounds a variant to the specified number of decimal places","tag":"refentry","type":"Function","methodName":"variant_round"},{"id":"function.variant-set","name":"variant_set","description":"Assigns a new value for a variant object","tag":"refentry","type":"Function","methodName":"variant_set"},{"id":"function.variant-set-type","name":"variant_set_type","description":"Convert a variant into another type \"in-place\"","tag":"refentry","type":"Function","methodName":"variant_set_type"},{"id":"function.variant-sub","name":"variant_sub","description":"Subtracts the value of the right variant from the left variant value","tag":"refentry","type":"Function","methodName":"variant_sub"},{"id":"function.variant-xor","name":"variant_xor","description":"Performs a logical exclusion on two variants","tag":"refentry","type":"Function","methodName":"variant_xor"},{"id":"ref.com","name":"COM Functions","description":"COM and .Net (Windows)","tag":"reference","type":"Extension","methodName":"COM Functions"},{"id":"book.com","name":"COM","description":"COM and .Net (Windows)","tag":"book","type":"Extension","methodName":"COM"},{"id":"intro.win32service","name":"Introduction","description":"win32service","tag":"preface","type":"General","methodName":"Introduction"},{"id":"win32service.requirements","name":"Requirements","description":"win32service","tag":"section","type":"General","methodName":"Requirements"},{"id":"win32service.installation","name":"Installation","description":"win32service","tag":"section","type":"General","methodName":"Installation"},{"id":"win32service.security","name":"Security consideration","description":"win32service","tag":"section","type":"General","methodName":"Security consideration"},{"id":"win32service.setup","name":"Installing\/Configuring","description":"win32service","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"win32service.constants","name":"Predefined Constants","description":"win32service","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"class.win32serviceexception","name":"Win32ServiceException","description":"The Win32ServiceException class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"Win32ServiceException"},{"id":"win32service-rightinfo.construct","name":"Win32Service\\RightInfo::__construct","description":"Create a new RightInfo (not used)","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"win32service-rightinfo.get-domain","name":"Win32Service\\RightInfo::getDomain","description":"Return the user's domain","tag":"refentry","type":"Function","methodName":"getDomain"},{"id":"win32service-rightinfo.get-full-username","name":"Win32Service\\RightInfo::getFullUsername","description":"Return the domain and username","tag":"refentry","type":"Function","methodName":"getFullUsername"},{"id":"win32service-rightinfo.get-rights","name":"Win32Service\\RightInfo::getRights","description":"Return the rights list","tag":"refentry","type":"Function","methodName":"getRights"},{"id":"win32service-rightinfo.get-username","name":"Win32Service\\RightInfo::getUsername","description":"Return the username","tag":"refentry","type":"Function","methodName":"getUsername"},{"id":"win32service-rightinfo.is-deny-access","name":"Win32Service\\RightInfo::isDenyAccess","description":"Return true if the RightInfo concerns deny access to the resource","tag":"refentry","type":"Function","methodName":"isDenyAccess"},{"id":"win32service-rightinfo.is-grant-access","name":"Win32Service\\RightInfo::isGrantAccess","description":"Return true if the RightInfo concern grants access to the resource","tag":"refentry","type":"Function","methodName":"isGrantAccess"},{"id":"class.win32service-rightinfo","name":"Win32Service\\RightInfo","description":"The Win32Service\\RightInfo class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"Win32Service\\RightInfo"},{"id":"win32service.examples","name":"Examples","description":"win32service","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.win32-add-right-access-service","name":"win32_add_right_access_service","description":"Add rights access for an username to the service","tag":"refentry","type":"Function","methodName":"win32_add_right_access_service"},{"id":"function.win32-add-service-env-var","name":"win32_add_service_env_var","description":"Add a custom environment variables on service","tag":"refentry","type":"Function","methodName":"win32_add_service_env_var"},{"id":"function.win32-continue-service","name":"win32_continue_service","description":"Resumes a paused service","tag":"refentry","type":"Function","methodName":"win32_continue_service"},{"id":"function.win32-create-service","name":"win32_create_service","description":"Creates a new service entry in the SCM database","tag":"refentry","type":"Function","methodName":"win32_create_service"},{"id":"function.win32-delete-service","name":"win32_delete_service","description":"Deletes a service entry from the SCM database","tag":"refentry","type":"Function","methodName":"win32_delete_service"},{"id":"function.win32-get-last-control-message","name":"win32_get_last_control_message","description":"Returns the last control message that was sent to this service","tag":"refentry","type":"Function","methodName":"win32_get_last_control_message"},{"id":"function.win32-get-service-env-vars","name":"win32_get_service_env_vars","description":"Read all custom environment variables on service","tag":"refentry","type":"Function","methodName":"win32_get_service_env_vars"},{"id":"function.win32-pause-service","name":"win32_pause_service","description":"Pauses a service","tag":"refentry","type":"Function","methodName":"win32_pause_service"},{"id":"function.win32-query-service-status","name":"win32_query_service_status","description":"Queries the status of a service","tag":"refentry","type":"Function","methodName":"win32_query_service_status"},{"id":"function.win32-read-all-rights-access-service","name":"win32_read_all_rights_access_service","description":"Read all service rights access","tag":"refentry","type":"Function","methodName":"win32_read_all_rights_access_service"},{"id":"function.win32-read-right-access-service","name":"win32_read_right_access_service","description":"Read the service rights access for an username","tag":"refentry","type":"Function","methodName":"win32_read_right_access_service"},{"id":"function.win32-remove-right-access-service","name":"win32_remove_right_access_service","description":"Remove the service rights access for an username","tag":"refentry","type":"Function","methodName":"win32_remove_right_access_service"},{"id":"function.win32-remove-service-env-var","name":"win32_remove_service_env_var","description":"Remove a custom environment variables on service","tag":"refentry","type":"Function","methodName":"win32_remove_service_env_var"},{"id":"function.win32-send-custom-control","name":"win32_send_custom_control","description":"Send a custom control to the service","tag":"refentry","type":"Function","methodName":"win32_send_custom_control"},{"id":"function.win32-set-service-exit-code","name":"win32_set_service_exit_code","description":"Define or return the exit code for the current running service","tag":"refentry","type":"Function","methodName":"win32_set_service_exit_code"},{"id":"function.win32-set-service-exit-mode","name":"win32_set_service_exit_mode","description":"Define or return the exit mode for the current running service","tag":"refentry","type":"Function","methodName":"win32_set_service_exit_mode"},{"id":"function.win32-set-service-pause-resume-state","name":"win32_set_service_pause_resume_state","description":"Define or return the pause\/resume capability for the current running service","tag":"refentry","type":"Function","methodName":"win32_set_service_pause_resume_state"},{"id":"function.win32-set-service-status","name":"win32_set_service_status","description":"Update the service status","tag":"refentry","type":"Function","methodName":"win32_set_service_status"},{"id":"function.win32-start-service","name":"win32_start_service","description":"Starts a service","tag":"refentry","type":"Function","methodName":"win32_start_service"},{"id":"function.win32-start-service-ctrl-dispatcher","name":"win32_start_service_ctrl_dispatcher","description":"Registers the script with the SCM, so that it can act as the service with the given name","tag":"refentry","type":"Function","methodName":"win32_start_service_ctrl_dispatcher"},{"id":"function.win32-stop-service","name":"win32_stop_service","description":"Stops a service","tag":"refentry","type":"Function","methodName":"win32_stop_service"},{"id":"ref.win32service","name":"win32service Functions","description":"win32service","tag":"reference","type":"Extension","methodName":"win32service Functions"},{"id":"book.win32service","name":"win32service","description":"Windows Only Extensions","tag":"book","type":"Extension","methodName":"win32service"},{"id":"refs.utilspec.windows","name":"Windows Only Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"Windows Only Extensions"},{"id":"intro.dom","name":"Introduction","description":"Document Object Model","tag":"preface","type":"General","methodName":"Introduction"},{"id":"dom.requirements","name":"Requirements","description":"Document Object Model","tag":"section","type":"General","methodName":"Requirements"},{"id":"dom.installation","name":"Installation","description":"Document Object Model","tag":"section","type":"General","methodName":"Installation"},{"id":"dom.setup","name":"Installing\/Configuring","description":"Document Object Model","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"dom.constants","name":"Predefined Constants","description":"Document Object Model","tag":"chapter","type":"General","methodName":"Predefined Constants"},{"id":"dom.examples","name":"Examples","description":"Document Object Model","tag":"chapter","type":"General","methodName":"Examples"},{"id":"domattr.construct","name":"DOMAttr::__construct","description":"Creates a new DOMAttr object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domattr.isid","name":"DOMAttr::isId","description":"Checks if attribute is a defined ID","tag":"refentry","type":"Function","methodName":"isId"},{"id":"class.domattr","name":"DOMAttr","description":"The DOMAttr class","tag":"phpdoc:classref","type":"Class","methodName":"DOMAttr"},{"id":"domcdatasection.construct","name":"DOMCdataSection::__construct","description":"Constructs a new DOMCdataSection object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.domcdatasection","name":"DOMCdataSection","description":"The DOMCdataSection class","tag":"phpdoc:classref","type":"Class","methodName":"DOMCdataSection"},{"id":"domcharacterdata.after","name":"DOMCharacterData::after","description":"Adds nodes after the character data","tag":"refentry","type":"Function","methodName":"after"},{"id":"domcharacterdata.appenddata","name":"DOMCharacterData::appendData","description":"Append the string to the end of the character data of the node","tag":"refentry","type":"Function","methodName":"appendData"},{"id":"domcharacterdata.before","name":"DOMCharacterData::before","description":"Adds nodes before the character data","tag":"refentry","type":"Function","methodName":"before"},{"id":"domcharacterdata.deletedata","name":"DOMCharacterData::deleteData","description":"Remove a range of characters from the character data","tag":"refentry","type":"Function","methodName":"deleteData"},{"id":"domcharacterdata.insertdata","name":"DOMCharacterData::insertData","description":"Insert a string at the specified UTF-8 codepoint offset","tag":"refentry","type":"Function","methodName":"insertData"},{"id":"domcharacterdata.remove","name":"DOMCharacterData::remove","description":"Removes the character data node","tag":"refentry","type":"Function","methodName":"remove"},{"id":"domcharacterdata.replacedata","name":"DOMCharacterData::replaceData","description":"Replace a substring within the character data","tag":"refentry","type":"Function","methodName":"replaceData"},{"id":"domcharacterdata.replacewith","name":"DOMCharacterData::replaceWith","description":"Replaces the character data with new nodes","tag":"refentry","type":"Function","methodName":"replaceWith"},{"id":"domcharacterdata.substringdata","name":"DOMCharacterData::substringData","description":"Extracts a range of data from the character data","tag":"refentry","type":"Function","methodName":"substringData"},{"id":"class.domcharacterdata","name":"DOMCharacterData","description":"The DOMCharacterData class","tag":"phpdoc:classref","type":"Class","methodName":"DOMCharacterData"},{"id":"domchildnode.after","name":"DOMChildNode::after","description":"Adds nodes after the node","tag":"refentry","type":"Function","methodName":"after"},{"id":"domchildnode.before","name":"DOMChildNode::before","description":"Adds nodes before the node","tag":"refentry","type":"Function","methodName":"before"},{"id":"domchildnode.remove","name":"DOMChildNode::remove","description":"Removes the node","tag":"refentry","type":"Function","methodName":"remove"},{"id":"domchildnode.replacewith","name":"DOMChildNode::replaceWith","description":"Replaces the node with new nodes","tag":"refentry","type":"Function","methodName":"replaceWith"},{"id":"class.domchildnode","name":"DOMChildNode","description":"The DOMChildNode interface","tag":"phpdoc:classref","type":"Class","methodName":"DOMChildNode"},{"id":"domcomment.construct","name":"DOMComment::__construct","description":"Creates a new DOMComment object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.domcomment","name":"DOMComment","description":"The DOMComment class","tag":"phpdoc:classref","type":"Class","methodName":"DOMComment"},{"id":"domdocument.adoptnode","name":"DOMDocument::adoptNode","description":"Transfer a node from another document","tag":"refentry","type":"Function","methodName":"adoptNode"},{"id":"domdocument.append","name":"DOMDocument::append","description":"Appends nodes after the last child node","tag":"refentry","type":"Function","methodName":"append"},{"id":"domdocument.construct","name":"DOMDocument::__construct","description":"Creates a new DOMDocument object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domdocument.createattribute","name":"DOMDocument::createAttribute","description":"Create new attribute","tag":"refentry","type":"Function","methodName":"createAttribute"},{"id":"domdocument.createattributens","name":"DOMDocument::createAttributeNS","description":"Create new attribute node with an associated namespace","tag":"refentry","type":"Function","methodName":"createAttributeNS"},{"id":"domdocument.createcdatasection","name":"DOMDocument::createCDATASection","description":"Create new cdata node","tag":"refentry","type":"Function","methodName":"createCDATASection"},{"id":"domdocument.createcomment","name":"DOMDocument::createComment","description":"Create new comment node","tag":"refentry","type":"Function","methodName":"createComment"},{"id":"domdocument.createdocumentfragment","name":"DOMDocument::createDocumentFragment","description":"Create new document fragment","tag":"refentry","type":"Function","methodName":"createDocumentFragment"},{"id":"domdocument.createelement","name":"DOMDocument::createElement","description":"Create new element node","tag":"refentry","type":"Function","methodName":"createElement"},{"id":"domdocument.createelementns","name":"DOMDocument::createElementNS","description":"Create new element node with an associated namespace","tag":"refentry","type":"Function","methodName":"createElementNS"},{"id":"domdocument.createentityreference","name":"DOMDocument::createEntityReference","description":"Create new entity reference node","tag":"refentry","type":"Function","methodName":"createEntityReference"},{"id":"domdocument.createprocessinginstruction","name":"DOMDocument::createProcessingInstruction","description":"Creates new PI node","tag":"refentry","type":"Function","methodName":"createProcessingInstruction"},{"id":"domdocument.createtextnode","name":"DOMDocument::createTextNode","description":"Create new text node","tag":"refentry","type":"Function","methodName":"createTextNode"},{"id":"domdocument.getelementbyid","name":"DOMDocument::getElementById","description":"Searches for an element with a certain id","tag":"refentry","type":"Function","methodName":"getElementById"},{"id":"domdocument.getelementsbytagname","name":"DOMDocument::getElementsByTagName","description":"Searches for all elements with given local tag name","tag":"refentry","type":"Function","methodName":"getElementsByTagName"},{"id":"domdocument.getelementsbytagnamens","name":"DOMDocument::getElementsByTagNameNS","description":"Searches for all elements with given tag name in specified namespace","tag":"refentry","type":"Function","methodName":"getElementsByTagNameNS"},{"id":"domdocument.importnode","name":"DOMDocument::importNode","description":"Import node into current document","tag":"refentry","type":"Function","methodName":"importNode"},{"id":"domdocument.load","name":"DOMDocument::load","description":"Load XML from a file","tag":"refentry","type":"Function","methodName":"load"},{"id":"domdocument.loadhtml","name":"DOMDocument::loadHTML","description":"Load HTML from a string","tag":"refentry","type":"Function","methodName":"loadHTML"},{"id":"domdocument.loadhtmlfile","name":"DOMDocument::loadHTMLFile","description":"Load HTML from a file","tag":"refentry","type":"Function","methodName":"loadHTMLFile"},{"id":"domdocument.loadxml","name":"DOMDocument::loadXML","description":"Load XML from a string","tag":"refentry","type":"Function","methodName":"loadXML"},{"id":"domdocument.normalizedocument","name":"DOMDocument::normalizeDocument","description":"Normalizes the document","tag":"refentry","type":"Function","methodName":"normalizeDocument"},{"id":"domdocument.prepend","name":"DOMDocument::prepend","description":"Prepends nodes before the first child node","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"domdocument.registernodeclass","name":"DOMDocument::registerNodeClass","description":"Register extended class used to create base node type","tag":"refentry","type":"Function","methodName":"registerNodeClass"},{"id":"domdocument.relaxngvalidate","name":"DOMDocument::relaxNGValidate","description":"Performs relaxNG validation on the document","tag":"refentry","type":"Function","methodName":"relaxNGValidate"},{"id":"domdocument.relaxngvalidatesource","name":"DOMDocument::relaxNGValidateSource","description":"Performs relaxNG validation on the document","tag":"refentry","type":"Function","methodName":"relaxNGValidateSource"},{"id":"domdocument.replacechildren","name":"DOMDocument::replaceChildren","description":"Replace children in document","tag":"refentry","type":"Function","methodName":"replaceChildren"},{"id":"domdocument.save","name":"DOMDocument::save","description":"Dumps the internal XML tree back into a file","tag":"refentry","type":"Function","methodName":"save"},{"id":"domdocument.savehtml","name":"DOMDocument::saveHTML","description":"Dumps the internal document into a string using HTML formatting","tag":"refentry","type":"Function","methodName":"saveHTML"},{"id":"domdocument.savehtmlfile","name":"DOMDocument::saveHTMLFile","description":"Dumps the internal document into a file using HTML formatting","tag":"refentry","type":"Function","methodName":"saveHTMLFile"},{"id":"domdocument.savexml","name":"DOMDocument::saveXML","description":"Dumps the internal XML tree back into a string","tag":"refentry","type":"Function","methodName":"saveXML"},{"id":"domdocument.schemavalidate","name":"DOMDocument::schemaValidate","description":"Validates a document based on a schema. Only XML Schema 1.0 is supported.","tag":"refentry","type":"Function","methodName":"schemaValidate"},{"id":"domdocument.schemavalidatesource","name":"DOMDocument::schemaValidateSource","description":"Validates a document based on a schema","tag":"refentry","type":"Function","methodName":"schemaValidateSource"},{"id":"domdocument.validate","name":"DOMDocument::validate","description":"Validates the document based on its DTD","tag":"refentry","type":"Function","methodName":"validate"},{"id":"domdocument.xinclude","name":"DOMDocument::xinclude","description":"Substitutes XIncludes in a DOMDocument Object","tag":"refentry","type":"Function","methodName":"xinclude"},{"id":"class.domdocument","name":"DOMDocument","description":"The DOMDocument class","tag":"phpdoc:classref","type":"Class","methodName":"DOMDocument"},{"id":"domdocumentfragment.append","name":"DOMDocumentFragment::append","description":"Appends nodes after the last child node","tag":"refentry","type":"Function","methodName":"append"},{"id":"domdocumentfragment.appendxml","name":"DOMDocumentFragment::appendXML","description":"Append raw XML data","tag":"refentry","type":"Function","methodName":"appendXML"},{"id":"domdocumentfragment.construct","name":"DOMDocumentFragment::__construct","description":"Constructs a DOMDocumentFragment object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domdocumentfragment.prepend","name":"DOMDocumentFragment::prepend","description":"Prepends nodes before the first child node","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"domdocumentfragment.replacechildren","name":"DOMDocumentFragment::replaceChildren","description":"Replace children in fragment","tag":"refentry","type":"Function","methodName":"replaceChildren"},{"id":"class.domdocumentfragment","name":"DOMDocumentFragment","description":"The DOMDocumentFragment class","tag":"phpdoc:classref","type":"Class","methodName":"DOMDocumentFragment"},{"id":"class.domdocumenttype","name":"DOMDocumentType","description":"The DOMDocumentType class","tag":"phpdoc:classref","type":"Class","methodName":"DOMDocumentType"},{"id":"domelement.after","name":"DOMElement::after","description":"Adds nodes after the element","tag":"refentry","type":"Function","methodName":"after"},{"id":"domelement.append","name":"DOMElement::append","description":"Appends nodes after the last child node","tag":"refentry","type":"Function","methodName":"append"},{"id":"domelement.before","name":"DOMElement::before","description":"Adds nodes before the element","tag":"refentry","type":"Function","methodName":"before"},{"id":"domelement.construct","name":"DOMElement::__construct","description":"Creates a new DOMElement object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domelement.getattribute","name":"DOMElement::getAttribute","description":"Returns value of attribute","tag":"refentry","type":"Function","methodName":"getAttribute"},{"id":"domelement.getattributenames","name":"DOMElement::getAttributeNames","description":"Get attribute names","tag":"refentry","type":"Function","methodName":"getAttributeNames"},{"id":"domelement.getattributenode","name":"DOMElement::getAttributeNode","description":"Returns attribute node","tag":"refentry","type":"Function","methodName":"getAttributeNode"},{"id":"domelement.getattributenodens","name":"DOMElement::getAttributeNodeNS","description":"Returns attribute node","tag":"refentry","type":"Function","methodName":"getAttributeNodeNS"},{"id":"domelement.getattributens","name":"DOMElement::getAttributeNS","description":"Returns value of attribute","tag":"refentry","type":"Function","methodName":"getAttributeNS"},{"id":"domelement.getelementsbytagname","name":"DOMElement::getElementsByTagName","description":"Gets elements by tagname","tag":"refentry","type":"Function","methodName":"getElementsByTagName"},{"id":"domelement.getelementsbytagnamens","name":"DOMElement::getElementsByTagNameNS","description":"Get elements by namespaceURI and localName","tag":"refentry","type":"Function","methodName":"getElementsByTagNameNS"},{"id":"domelement.hasattribute","name":"DOMElement::hasAttribute","description":"Checks to see if attribute exists","tag":"refentry","type":"Function","methodName":"hasAttribute"},{"id":"domelement.hasattributens","name":"DOMElement::hasAttributeNS","description":"Checks to see if attribute exists","tag":"refentry","type":"Function","methodName":"hasAttributeNS"},{"id":"domelement.insertadjacentelement","name":"DOMElement::insertAdjacentElement","description":"Insert adjacent element","tag":"refentry","type":"Function","methodName":"insertAdjacentElement"},{"id":"domelement.insertadjacenttext","name":"DOMElement::insertAdjacentText","description":"Insert adjacent text","tag":"refentry","type":"Function","methodName":"insertAdjacentText"},{"id":"domelement.prepend","name":"DOMElement::prepend","description":"Prepends nodes before the first child node","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"domelement.remove","name":"DOMElement::remove","description":"Removes the element","tag":"refentry","type":"Function","methodName":"remove"},{"id":"domelement.removeattribute","name":"DOMElement::removeAttribute","description":"Removes attribute","tag":"refentry","type":"Function","methodName":"removeAttribute"},{"id":"domelement.removeattributenode","name":"DOMElement::removeAttributeNode","description":"Removes attribute","tag":"refentry","type":"Function","methodName":"removeAttributeNode"},{"id":"domelement.removeattributens","name":"DOMElement::removeAttributeNS","description":"Removes attribute","tag":"refentry","type":"Function","methodName":"removeAttributeNS"},{"id":"domelement.replacechildren","name":"DOMElement::replaceChildren","description":"Replace children in element","tag":"refentry","type":"Function","methodName":"replaceChildren"},{"id":"domelement.replacewith","name":"DOMElement::replaceWith","description":"Replaces the element with new nodes","tag":"refentry","type":"Function","methodName":"replaceWith"},{"id":"domelement.setattribute","name":"DOMElement::setAttribute","description":"Adds new or modifies existing attribute","tag":"refentry","type":"Function","methodName":"setAttribute"},{"id":"domelement.setattributenode","name":"DOMElement::setAttributeNode","description":"Adds new attribute node to element","tag":"refentry","type":"Function","methodName":"setAttributeNode"},{"id":"domelement.setattributenodens","name":"DOMElement::setAttributeNodeNS","description":"Adds new attribute node to element","tag":"refentry","type":"Function","methodName":"setAttributeNodeNS"},{"id":"domelement.setattributens","name":"DOMElement::setAttributeNS","description":"Adds new attribute","tag":"refentry","type":"Function","methodName":"setAttributeNS"},{"id":"domelement.setidattribute","name":"DOMElement::setIdAttribute","description":"Declares the attribute specified by name to be of type ID","tag":"refentry","type":"Function","methodName":"setIdAttribute"},{"id":"domelement.setidattributenode","name":"DOMElement::setIdAttributeNode","description":"Declares the attribute specified by node to be of type ID","tag":"refentry","type":"Function","methodName":"setIdAttributeNode"},{"id":"domelement.setidattributens","name":"DOMElement::setIdAttributeNS","description":"Declares the attribute specified by local name and namespace URI to be of type ID","tag":"refentry","type":"Function","methodName":"setIdAttributeNS"},{"id":"domelement.toggleattribute","name":"DOMElement::toggleAttribute","description":"Toggle attribute","tag":"refentry","type":"Function","methodName":"toggleAttribute"},{"id":"class.domelement","name":"DOMElement","description":"The DOMElement class","tag":"phpdoc:classref","type":"Class","methodName":"DOMElement"},{"id":"class.domentity","name":"DOMEntity","description":"The DOMEntity class","tag":"phpdoc:classref","type":"Class","methodName":"DOMEntity"},{"id":"domentityreference.construct","name":"DOMEntityReference::__construct","description":"Creates a new DOMEntityReference object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.domentityreference","name":"DOMEntityReference","description":"The DOMEntityReference class","tag":"phpdoc:classref","type":"Class","methodName":"DOMEntityReference"},{"id":"class.domexception","name":"DOMException","description":"The DOMException \/ Dom\\Exception class","tag":"phpdoc:exceptionref","type":"Exception","methodName":"DOMException"},{"id":"domimplementation.construct","name":"DOMImplementation::__construct","description":"Creates a new DOMImplementation object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domimplementation.createdocument","name":"DOMImplementation::createDocument","description":"Creates a DOMDocument object of the specified type with its document element","tag":"refentry","type":"Function","methodName":"createDocument"},{"id":"domimplementation.createdocumenttype","name":"DOMImplementation::createDocumentType","description":"Creates an empty DOMDocumentType object","tag":"refentry","type":"Function","methodName":"createDocumentType"},{"id":"domimplementation.hasfeature","name":"DOMImplementation::hasFeature","description":"Test if the DOM implementation implements a specific feature","tag":"refentry","type":"Function","methodName":"hasFeature"},{"id":"class.domimplementation","name":"DOMImplementation","description":"The DOMImplementation class","tag":"phpdoc:classref","type":"Class","methodName":"DOMImplementation"},{"id":"domnamednodemap.count","name":"DOMNamedNodeMap::count","description":"Get number of nodes in the map","tag":"refentry","type":"Function","methodName":"count"},{"id":"domnamednodemap.getiterator","name":"DOMNamedNodeMap::getIterator","description":"Retrieve an external iterator","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"domnamednodemap.getnameditem","name":"DOMNamedNodeMap::getNamedItem","description":"Retrieves a node specified by name","tag":"refentry","type":"Function","methodName":"getNamedItem"},{"id":"domnamednodemap.getnameditemns","name":"DOMNamedNodeMap::getNamedItemNS","description":"Retrieves a node specified by local name and namespace URI","tag":"refentry","type":"Function","methodName":"getNamedItemNS"},{"id":"domnamednodemap.item","name":"DOMNamedNodeMap::item","description":"Retrieves a node specified by index","tag":"refentry","type":"Function","methodName":"item"},{"id":"class.domnamednodemap","name":"DOMNamedNodeMap","description":"The DOMNamedNodeMap class","tag":"phpdoc:classref","type":"Class","methodName":"DOMNamedNodeMap"},{"id":"domnamespacenode.sleep","name":"DOMNameSpaceNode::__sleep","description":"Forbids serialization unless serialization methods are implemented in a subclass","tag":"refentry","type":"Function","methodName":"__sleep"},{"id":"domnamespacenode.wakeup","name":"DOMNameSpaceNode::__wakeup","description":"Forbids unserialization unless unserialization methods are implemented in a subclass","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"class.domnamespacenode","name":"DOMNameSpaceNode","description":"The DOMNameSpaceNode class","tag":"phpdoc:classref","type":"Class","methodName":"DOMNameSpaceNode"},{"id":"domnode.appendchild","name":"DOMNode::appendChild","description":"Adds new child at the end of the children","tag":"refentry","type":"Function","methodName":"appendChild"},{"id":"domnode.c14n","name":"DOMNode::C14N","description":"Canonicalize nodes to a string","tag":"refentry","type":"Function","methodName":"C14N"},{"id":"domnode.c14nfile","name":"DOMNode::C14NFile","description":"Canonicalize nodes to a file","tag":"refentry","type":"Function","methodName":"C14NFile"},{"id":"domnode.clonenode","name":"DOMNode::cloneNode","description":"Clones a node","tag":"refentry","type":"Function","methodName":"cloneNode"},{"id":"domnode.comparedocumentposition","name":"DOMNode::compareDocumentPosition","description":"Compares the position of two nodes","tag":"refentry","type":"Function","methodName":"compareDocumentPosition"},{"id":"domnode.contains","name":"DOMNode::contains","description":"Checks if node contains other node","tag":"refentry","type":"Function","methodName":"contains"},{"id":"domnode.getlineno","name":"DOMNode::getLineNo","description":"Get line number for a node","tag":"refentry","type":"Function","methodName":"getLineNo"},{"id":"domnode.getnodepath","name":"DOMNode::getNodePath","description":"Get an XPath for a node","tag":"refentry","type":"Function","methodName":"getNodePath"},{"id":"domnode.getrootnode","name":"DOMNode::getRootNode","description":"Get root node","tag":"refentry","type":"Function","methodName":"getRootNode"},{"id":"domnode.hasattributes","name":"DOMNode::hasAttributes","description":"Checks if node has attributes","tag":"refentry","type":"Function","methodName":"hasAttributes"},{"id":"domnode.haschildnodes","name":"DOMNode::hasChildNodes","description":"Checks if node has children","tag":"refentry","type":"Function","methodName":"hasChildNodes"},{"id":"domnode.insertbefore","name":"DOMNode::insertBefore","description":"Adds a new child before a reference node","tag":"refentry","type":"Function","methodName":"insertBefore"},{"id":"domnode.isdefaultnamespace","name":"DOMNode::isDefaultNamespace","description":"Checks if the specified namespaceURI is the default namespace or not","tag":"refentry","type":"Function","methodName":"isDefaultNamespace"},{"id":"domnode.isequalnode","name":"DOMNode::isEqualNode","description":"Checks that both nodes are equal","tag":"refentry","type":"Function","methodName":"isEqualNode"},{"id":"domnode.issamenode","name":"DOMNode::isSameNode","description":"Indicates if two nodes are the same node","tag":"refentry","type":"Function","methodName":"isSameNode"},{"id":"domnode.issupported","name":"DOMNode::isSupported","description":"Checks if feature is supported for specified version","tag":"refentry","type":"Function","methodName":"isSupported"},{"id":"domnode.lookupnamespaceuri","name":"DOMNode::lookupNamespaceURI","description":"Gets the namespace URI of the node based on the prefix","tag":"refentry","type":"Function","methodName":"lookupNamespaceURI"},{"id":"domnode.lookupprefix","name":"DOMNode::lookupPrefix","description":"Gets the namespace prefix of the node based on the namespace URI","tag":"refentry","type":"Function","methodName":"lookupPrefix"},{"id":"domnode.normalize","name":"DOMNode::normalize","description":"Normalizes the node","tag":"refentry","type":"Function","methodName":"normalize"},{"id":"domnode.removechild","name":"DOMNode::removeChild","description":"Removes child from list of children","tag":"refentry","type":"Function","methodName":"removeChild"},{"id":"domnode.replacechild","name":"DOMNode::replaceChild","description":"Replaces a child","tag":"refentry","type":"Function","methodName":"replaceChild"},{"id":"domnode.sleep","name":"DOMNode::__sleep","description":"Forbids serialization unless serialization methods are implemented in a subclass","tag":"refentry","type":"Function","methodName":"__sleep"},{"id":"domnode.wakeup","name":"DOMNode::__wakeup","description":"Forbids unserialization unless unserialization methods are implemented in a subclass","tag":"refentry","type":"Function","methodName":"__wakeup"},{"id":"class.domnode","name":"DOMNode","description":"The DOMNode class","tag":"phpdoc:classref","type":"Class","methodName":"DOMNode"},{"id":"domnodelist.count","name":"DOMNodeList::count","description":"Get number of nodes in the list","tag":"refentry","type":"Function","methodName":"count"},{"id":"domnodelist.getiterator","name":"DOMNodeList::getIterator","description":"Retrieve an external iterator","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"domnodelist.item","name":"DOMNodeList::item","description":"Retrieves a node specified by index","tag":"refentry","type":"Function","methodName":"item"},{"id":"class.domnodelist","name":"DOMNodeList","description":"The DOMNodeList class","tag":"phpdoc:classref","type":"Class","methodName":"DOMNodeList"},{"id":"class.domnotation","name":"DOMNotation","description":"The DOMNotation class","tag":"phpdoc:classref","type":"Class","methodName":"DOMNotation"},{"id":"domparentnode.append","name":"DOMParentNode::append","description":"Appends nodes after the last child node","tag":"refentry","type":"Function","methodName":"append"},{"id":"domparentnode.prepend","name":"DOMParentNode::prepend","description":"Prepends nodes before the first child node","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"domparentnode.replacechildren","name":"DOMParentNode::replaceChildren","description":"Replace children in node","tag":"refentry","type":"Function","methodName":"replaceChildren"},{"id":"class.domparentnode","name":"DOMParentNode","description":"The DOMParentNode interface","tag":"phpdoc:classref","type":"Class","methodName":"DOMParentNode"},{"id":"domprocessinginstruction.construct","name":"DOMProcessingInstruction::__construct","description":"Creates a new DOMProcessingInstruction object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.domprocessinginstruction","name":"DOMProcessingInstruction","description":"The DOMProcessingInstruction class","tag":"phpdoc:classref","type":"Class","methodName":"DOMProcessingInstruction"},{"id":"domtext.construct","name":"DOMText::__construct","description":"Creates a new DOMText object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domtext.iselementcontentwhitespace","name":"DOMText::isElementContentWhitespace","description":"Returns whether this text node contains whitespace in element content","tag":"refentry","type":"Function","methodName":"isElementContentWhitespace"},{"id":"domtext.iswhitespaceinelementcontent","name":"DOMText::isWhitespaceInElementContent","description":"Indicates whether this text node contains whitespace","tag":"refentry","type":"Function","methodName":"isWhitespaceInElementContent"},{"id":"domtext.splittext","name":"DOMText::splitText","description":"Breaks this node into two nodes at the specified offset","tag":"refentry","type":"Function","methodName":"splitText"},{"id":"class.domtext","name":"DOMText","description":"The DOMText class","tag":"phpdoc:classref","type":"Class","methodName":"DOMText"},{"id":"domxpath.construct","name":"DOMXPath::__construct","description":"Creates a new DOMXPath object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"domxpath.evaluate","name":"DOMXPath::evaluate","description":"Evaluates the given XPath expression and returns a typed result if possible","tag":"refentry","type":"Function","methodName":"evaluate"},{"id":"domxpath.query","name":"DOMXPath::query","description":"Evaluates the given XPath expression","tag":"refentry","type":"Function","methodName":"query"},{"id":"domxpath.quote","name":"DOMXPath::quote","description":"Quotes a string for use in an XPath expression","tag":"refentry","type":"Function","methodName":"quote"},{"id":"domxpath.registernamespace","name":"DOMXPath::registerNamespace","description":"Registers the namespace with the DOMXPath object","tag":"refentry","type":"Function","methodName":"registerNamespace"},{"id":"domxpath.registerphpfunctionns","name":"DOMXPath::registerPhpFunctionNS","description":"Register a PHP functions as namespaced XPath function","tag":"refentry","type":"Function","methodName":"registerPhpFunctionNS"},{"id":"domxpath.registerphpfunctions","name":"DOMXPath::registerPhpFunctions","description":"Register PHP functions as XPath functions","tag":"refentry","type":"Function","methodName":"registerPhpFunctions"},{"id":"class.domxpath","name":"DOMXPath","description":"The DOMXPath class","tag":"phpdoc:classref","type":"Class","methodName":"DOMXPath"},{"id":"enum.dom-adjacentposition","name":"Dom\\AdjacentPosition","description":"The Dom\\AdjacentPosition Enum","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\AdjacentPosition"},{"id":"dom-attr.isid","name":"Dom\\Attr::isId","description":"Checks if attribute is a defined ID","tag":"refentry","type":"Function","methodName":"isId"},{"id":"dom-attr.rename","name":"Dom\\Attr::rename","description":"Changes the qualified name or namespace of an attribute","tag":"refentry","type":"Function","methodName":"rename"},{"id":"class.dom-attr","name":"Dom\\Attr","description":"The Dom\\Attr class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Attr"},{"id":"class.dom-cdatasection","name":"Dom\\CDATASection","description":"The Dom\\CDATASection class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\CDATASection"},{"id":"dom-characterdata.after","name":"Dom\\CharacterData::after","description":"Adds nodes after the character data","tag":"refentry","type":"Function","methodName":"after"},{"id":"dom-characterdata.appenddata","name":"Dom\\CharacterData::appendData","description":"Append the string to the end of the character data of the node","tag":"refentry","type":"Function","methodName":"appendData"},{"id":"dom-characterdata.before","name":"Dom\\CharacterData::before","description":"Adds nodes before the character data","tag":"refentry","type":"Function","methodName":"before"},{"id":"dom-characterdata.deletedata","name":"Dom\\CharacterData::deleteData","description":"Remove a range of characters from the character data","tag":"refentry","type":"Function","methodName":"deleteData"},{"id":"dom-characterdata.insertdata","name":"Dom\\CharacterData::insertData","description":"Insert a string at the specified UTF-8 codepoint offset","tag":"refentry","type":"Function","methodName":"insertData"},{"id":"dom-characterdata.remove","name":"Dom\\CharacterData::remove","description":"Removes the character data node","tag":"refentry","type":"Function","methodName":"remove"},{"id":"dom-characterdata.replacedata","name":"Dom\\CharacterData::replaceData","description":"Replace a substring within the character data","tag":"refentry","type":"Function","methodName":"replaceData"},{"id":"dom-characterdata.replacewith","name":"Dom\\CharacterData::replaceWith","description":"Replaces the character data with new nodes","tag":"refentry","type":"Function","methodName":"replaceWith"},{"id":"dom-characterdata.substringdata","name":"Dom\\CharacterData::substringData","description":"Extracts a range of data from the character data","tag":"refentry","type":"Function","methodName":"substringData"},{"id":"class.dom-characterdata","name":"Dom\\CharacterData","description":"The Dom\\CharacterData class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\CharacterData"},{"id":"dom-childnode.after","name":"Dom\\ChildNode::after","description":"Adds nodes after the node","tag":"refentry","type":"Function","methodName":"after"},{"id":"dom-childnode.before","name":"Dom\\ChildNode::before","description":"Adds nodes before the node","tag":"refentry","type":"Function","methodName":"before"},{"id":"dom-childnode.remove","name":"Dom\\ChildNode::remove","description":"Removes the node","tag":"refentry","type":"Function","methodName":"remove"},{"id":"dom-childnode.replacewith","name":"Dom\\ChildNode::replaceWith","description":"Replaces the node with new nodes","tag":"refentry","type":"Function","methodName":"replaceWith"},{"id":"class.dom-childnode","name":"Dom\\ChildNode","description":"The Dom\\ChildNode interface","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\ChildNode"},{"id":"class.dom-comment","name":"Dom\\Comment","description":"The Dom\\Comment class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Comment"},{"id":"class.dom-document","name":"Dom\\Document","description":"The Dom\\Document class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Document"},{"id":"class.dom-documentfragment","name":"Dom\\DocumentFragment","description":"The Dom\\DocumentFragment class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\DocumentFragment"},{"id":"class.dom-documenttype","name":"Dom\\DocumentType","description":"The Dom\\DocumentType class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\DocumentType"},{"id":"class.dom-dtdnamednodemap","name":"Dom\\DtdNamedNodeMap","description":"The Dom\\DtdNamedNodeMap class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\DtdNamedNodeMap"},{"id":"class.dom-element","name":"Dom\\Element","description":"The Dom\\Element class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Element"},{"id":"class.dom-entity","name":"Dom\\Entity","description":"The Dom\\Entity class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Entity"},{"id":"class.dom-entityreference","name":"Dom\\EntityReference","description":"The Dom\\EntityReference class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\EntityReference"},{"id":"class.dom-htmlcollection","name":"Dom\\HTMLCollection","description":"The Dom\\HTMLCollection class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\HTMLCollection"},{"id":"dom-htmldocument.createempty","name":"Dom\\HTMLDocument::createEmpty","description":"Creates an empty HTML document","tag":"refentry","type":"Function","methodName":"createEmpty"},{"id":"dom-htmldocument.createfromfile","name":"Dom\\HTMLDocument::createFromFile","description":"Parses an HTML document from a file","tag":"refentry","type":"Function","methodName":"createFromFile"},{"id":"dom-htmldocument.createfromstring","name":"Dom\\HTMLDocument::createFromString","description":"Parses an HTML document from a string","tag":"refentry","type":"Function","methodName":"createFromString"},{"id":"dom-htmldocument.savehtml","name":"Dom\\HTMLDocument::saveHtml","description":"Serializes the document as an HTML string","tag":"refentry","type":"Function","methodName":"saveHtml"},{"id":"dom-htmldocument.savehtmlfile","name":"Dom\\HTMLDocument::saveHtmlFile","description":"Serializes the document as an HTML file","tag":"refentry","type":"Function","methodName":"saveHtmlFile"},{"id":"dom-htmldocument.savexml","name":"Dom\\HTMLDocument::saveXml","description":"Serializes the document as an XML string","tag":"refentry","type":"Function","methodName":"saveXml"},{"id":"dom-htmldocument.savexmlfile","name":"Dom\\HTMLDocument::saveXmlFile","description":"Serializes the document as an XML file","tag":"refentry","type":"Function","methodName":"saveXmlFile"},{"id":"class.dom-htmldocument","name":"Dom\\HTMLDocument","description":"The Dom\\HTMLDocument class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\HTMLDocument"},{"id":"class.dom-htmlelement","name":"Dom\\HTMLElement","description":"The Dom\\HTMLElement class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\HTMLElement"},{"id":"class.dom-implementation","name":"Dom\\Implementation","description":"The Dom\\Implementation class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Implementation"},{"id":"class.dom-namednodemap","name":"Dom\\NamedNodeMap","description":"The Dom\\NamedNodeMap class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\NamedNodeMap"},{"id":"class.dom-namespaceinfo","name":"Dom\\NamespaceInfo","description":"The Dom\\NamespaceInfo class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\NamespaceInfo"},{"id":"class.dom-node","name":"Dom\\Node","description":"The Dom\\Node class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Node"},{"id":"class.dom-nodelist","name":"Dom\\NodeList","description":"The Dom\\NodeList class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\NodeList"},{"id":"class.dom-notation","name":"Dom\\Notation","description":"The Dom\\Notation class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Notation"},{"id":"dom-parentnode.append","name":"Dom\\ParentNode::append","description":"Appends nodes after the last child node","tag":"refentry","type":"Function","methodName":"append"},{"id":"dom-parentnode.prepend","name":"Dom\\ParentNode::prepend","description":"Prepends nodes before the first child node","tag":"refentry","type":"Function","methodName":"prepend"},{"id":"dom-parentnode.queryselector","name":"Dom\\ParentNode::querySelector","description":"Returns the first element that matches the CSS selectors","tag":"refentry","type":"Function","methodName":"querySelector"},{"id":"dom-parentnode.queryselectorall","name":"Dom\\ParentNode::querySelectorAll","description":"Returns a collection of elements that match the CSS selectors","tag":"refentry","type":"Function","methodName":"querySelectorAll"},{"id":"dom-parentnode.replacechildren","name":"Dom\\ParentNode::replaceChildren","description":"Replace children in node","tag":"refentry","type":"Function","methodName":"replaceChildren"},{"id":"class.dom-parentnode","name":"Dom\\ParentNode","description":"The Dom\\ParentNode interface","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\ParentNode"},{"id":"class.dom-processinginstruction","name":"Dom\\ProcessingInstruction","description":"The Dom\\ProcessingInstruction class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\ProcessingInstruction"},{"id":"dom-text.splittext","name":"Dom\\Text::splitText","description":"Breaks this node into two nodes at the specified offset","tag":"refentry","type":"Function","methodName":"splitText"},{"id":"class.dom-text","name":"Dom\\Text","description":"The Dom\\Text class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\Text"},{"id":"dom-tokenlist.add","name":"Dom\\TokenList::add","description":"Adds the given tokens to the list","tag":"refentry","type":"Function","methodName":"add"},{"id":"dom-tokenlist.contains","name":"Dom\\TokenList::contains","description":"Returns whether the list contains a given token","tag":"refentry","type":"Function","methodName":"contains"},{"id":"dom-tokenlist.count","name":"Dom\\TokenList::count","description":"Returns the number of tokens in the list","tag":"refentry","type":"Function","methodName":"count"},{"id":"dom-tokenlist.getiterator","name":"Dom\\TokenList::getIterator","description":"Returns an iterator over the token list","tag":"refentry","type":"Function","methodName":"getIterator"},{"id":"dom-tokenlist.item","name":"Dom\\TokenList::item","description":"Returns a token from the list","tag":"refentry","type":"Function","methodName":"item"},{"id":"dom-tokenlist.remove","name":"Dom\\TokenList::remove","description":"Removes the given tokens from the list","tag":"refentry","type":"Function","methodName":"remove"},{"id":"dom-tokenlist.replace","name":"Dom\\TokenList::replace","description":"Replaces a token in the list with another one","tag":"refentry","type":"Function","methodName":"replace"},{"id":"dom-tokenlist.supports","name":"Dom\\TokenList::supports","description":"Returns whether the given token is supported","tag":"refentry","type":"Function","methodName":"supports"},{"id":"dom-tokenlist.toggle","name":"Dom\\TokenList::toggle","description":"Toggles the presence of a token in the list","tag":"refentry","type":"Function","methodName":"toggle"},{"id":"class.dom-tokenlist","name":"Dom\\TokenList","description":"The Dom\\TokenList class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\TokenList"},{"id":"class.dom-xmldocument","name":"Dom\\XMLDocument","description":"The Dom\\XMLDocument class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\XMLDocument"},{"id":"class.dom-xpath","name":"Dom\\XPath","description":"The Dom\\XPath class","tag":"phpdoc:classref","type":"Class","methodName":"Dom\\XPath"},{"id":"function.dom-import-simplexml","name":"dom_import_simplexml","description":"Gets a DOMAttr or DOMElement object from a\n SimpleXMLElement object","tag":"refentry","type":"Function","methodName":"dom_import_simplexml"},{"id":"function.dom-ns-import-simplexml","name":"Dom\\import_simplexml","description":"Gets a Dom\\Attr or Dom\\Element object from a\n SimpleXMLElement object","tag":"refentry","type":"Function","methodName":"Dom\\import_simplexml"},{"id":"ref.dom","name":"DOM Functions","description":"Document Object Model","tag":"reference","type":"Extension","methodName":"DOM Functions"},{"id":"book.dom","name":"DOM","description":"Document Object Model","tag":"book","type":"Extension","methodName":"DOM"},{"id":"intro.libxml","name":"Introduction","description":"libxml","tag":"preface","type":"General","methodName":"Introduction"},{"id":"libxml.requirements","name":"Requirements","description":"libxml","tag":"section","type":"General","methodName":"Requirements"},{"id":"libxml.installation","name":"Installation for PHP versions >= 7.4","description":"libxml","tag":"section","type":"General","methodName":"Installation for PHP versions >= 7.4"},{"id":"libxml.installation_old","name":"Installation for PHP versions < 7.4","description":"libxml","tag":"section","type":"General","methodName":"Installation for PHP versions < 7.4"},{"id":"libxml.setup","name":"Installing\/Configuring","description":"libxml","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"libxml.constants","name":"Predefined Constants","description":"libxml","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"class.libxmlerror","name":"LibXMLError","description":"The LibXMLError class","tag":"phpdoc:classref","type":"Class","methodName":"LibXMLError"},{"id":"function.libxml-clear-errors","name":"libxml_clear_errors","description":"Clear libxml error buffer","tag":"refentry","type":"Function","methodName":"libxml_clear_errors"},{"id":"function.libxml-disable-entity-loader","name":"libxml_disable_entity_loader","description":"Disable the ability to load external entities","tag":"refentry","type":"Function","methodName":"libxml_disable_entity_loader"},{"id":"function.libxml-get-errors","name":"libxml_get_errors","description":"Retrieve array of errors","tag":"refentry","type":"Function","methodName":"libxml_get_errors"},{"id":"function.libxml-get-external-entity-loader","name":"libxml_get_external_entity_loader","description":"Get the current external entity loader","tag":"refentry","type":"Function","methodName":"libxml_get_external_entity_loader"},{"id":"function.libxml-get-last-error","name":"libxml_get_last_error","description":"Retrieve last error from libxml","tag":"refentry","type":"Function","methodName":"libxml_get_last_error"},{"id":"function.libxml-set-external-entity-loader","name":"libxml_set_external_entity_loader","description":"Changes the default external entity loader","tag":"refentry","type":"Function","methodName":"libxml_set_external_entity_loader"},{"id":"function.libxml-set-streams-context","name":"libxml_set_streams_context","description":"Set the streams context for the next libxml document load or write","tag":"refentry","type":"Function","methodName":"libxml_set_streams_context"},{"id":"function.libxml-use-internal-errors","name":"libxml_use_internal_errors","description":"Disable libxml errors and allow user to fetch error information as needed","tag":"refentry","type":"Function","methodName":"libxml_use_internal_errors"},{"id":"ref.libxml","name":"libxml Functions","description":"libxml","tag":"reference","type":"Extension","methodName":"libxml Functions"},{"id":"book.libxml","name":"libxml","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"libxml"},{"id":"intro.simplexml","name":"Introduction","description":"SimpleXML","tag":"preface","type":"General","methodName":"Introduction"},{"id":"simplexml.requirements","name":"Requirements","description":"SimpleXML","tag":"section","type":"General","methodName":"Requirements"},{"id":"simplexml.installation","name":"Installation","description":"SimpleXML","tag":"section","type":"General","methodName":"Installation"},{"id":"simplexml.setup","name":"Installing\/Configuring","description":"SimpleXML","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"simplexml.examples-basic","name":"Basic SimpleXML usage","description":"SimpleXML","tag":"section","type":"General","methodName":"Basic SimpleXML usage"},{"id":"simplexml.examples-errors","name":"Dealing with XML errors","description":"SimpleXML","tag":"section","type":"General","methodName":"Dealing with XML errors"},{"id":"simplexml.examples","name":"Examples","description":"SimpleXML","tag":"chapter","type":"General","methodName":"Examples"},{"id":"simplexmlelement.addattribute","name":"SimpleXMLElement::addAttribute","description":"Adds an attribute to the SimpleXML element","tag":"refentry","type":"Function","methodName":"addAttribute"},{"id":"simplexmlelement.addchild","name":"SimpleXMLElement::addChild","description":"Adds a child element to the XML node","tag":"refentry","type":"Function","methodName":"addChild"},{"id":"simplexmlelement.asxml","name":"SimpleXMLElement::asXML","description":"Return a well-formed XML string based on SimpleXML element","tag":"refentry","type":"Function","methodName":"asXML"},{"id":"simplexmlelement.attributes","name":"SimpleXMLElement::attributes","description":"Identifies an element's attributes","tag":"refentry","type":"Function","methodName":"attributes"},{"id":"simplexmlelement.children","name":"SimpleXMLElement::children","description":"Finds children of given node","tag":"refentry","type":"Function","methodName":"children"},{"id":"simplexmlelement.construct","name":"SimpleXMLElement::__construct","description":"Creates a new SimpleXMLElement object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"simplexmlelement.count","name":"SimpleXMLElement::count","description":"Counts the children of an element","tag":"refentry","type":"Function","methodName":"count"},{"id":"simplexmlelement.current","name":"SimpleXMLElement::current","description":"Returns the current element","tag":"refentry","type":"Function","methodName":"current"},{"id":"simplexmlelement.getdocnamespaces","name":"SimpleXMLElement::getDocNamespaces","description":"Returns namespaces declared in document","tag":"refentry","type":"Function","methodName":"getDocNamespaces"},{"id":"simplexmlelement.getname","name":"SimpleXMLElement::getName","description":"Gets the name of the XML element","tag":"refentry","type":"Function","methodName":"getName"},{"id":"simplexmlelement.getnamespaces","name":"SimpleXMLElement::getNamespaces","description":"Returns namespaces used in document","tag":"refentry","type":"Function","methodName":"getNamespaces"},{"id":"simplexmlelement.getchildren","name":"SimpleXMLElement::getChildren","description":"Returns the sub-elements of the current element","tag":"refentry","type":"Function","methodName":"getChildren"},{"id":"simplexmlelement.haschildren","name":"SimpleXMLElement::hasChildren","description":"Checks whether the current element has sub elements","tag":"refentry","type":"Function","methodName":"hasChildren"},{"id":"simplexmlelement.key","name":"SimpleXMLElement::key","description":"Return current key","tag":"refentry","type":"Function","methodName":"key"},{"id":"simplexmlelement.next","name":"SimpleXMLElement::next","description":"Move to next element","tag":"refentry","type":"Function","methodName":"next"},{"id":"simplexmlelement.registerxpathnamespace","name":"SimpleXMLElement::registerXPathNamespace","description":"Creates a prefix\/ns context for the next XPath query","tag":"refentry","type":"Function","methodName":"registerXPathNamespace"},{"id":"simplexmlelement.rewind","name":"SimpleXMLElement::rewind","description":"Rewind to the first element","tag":"refentry","type":"Function","methodName":"rewind"},{"id":"simplexmlelement.savexml","name":"SimpleXMLElement::saveXML","description":"Alias of SimpleXMLElement::asXML","tag":"refentry","type":"Function","methodName":"saveXML"},{"id":"simplexmlelement.tostring","name":"SimpleXMLElement::__toString","description":"Returns the string content","tag":"refentry","type":"Function","methodName":"__toString"},{"id":"simplexmlelement.valid","name":"SimpleXMLElement::valid","description":"Check whether the current element is valid","tag":"refentry","type":"Function","methodName":"valid"},{"id":"simplexmlelement.xpath","name":"SimpleXMLElement::xpath","description":"Runs XPath query on XML data","tag":"refentry","type":"Function","methodName":"xpath"},{"id":"class.simplexmlelement","name":"SimpleXMLElement","description":"The SimpleXMLElement class","tag":"phpdoc:classref","type":"Class","methodName":"SimpleXMLElement"},{"id":"class.simplexmliterator","name":"SimpleXMLIterator","description":"The SimpleXMLIterator class","tag":"phpdoc:classref","type":"Class","methodName":"SimpleXMLIterator"},{"id":"function.simplexml-import-dom","name":"simplexml_import_dom","description":"Get a SimpleXMLElement object from an XML or HTML node","tag":"refentry","type":"Function","methodName":"simplexml_import_dom"},{"id":"function.simplexml-load-file","name":"simplexml_load_file","description":"Interprets an XML file into an object","tag":"refentry","type":"Function","methodName":"simplexml_load_file"},{"id":"function.simplexml-load-string","name":"simplexml_load_string","description":"Interprets a string of XML into an object","tag":"refentry","type":"Function","methodName":"simplexml_load_string"},{"id":"ref.simplexml","name":"SimpleXML Functions","description":"SimpleXML","tag":"reference","type":"Extension","methodName":"SimpleXML Functions"},{"id":"book.simplexml","name":"SimpleXML","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"SimpleXML"},{"id":"intro.wddx","name":"Introduction","description":"WDDX","tag":"preface","type":"General","methodName":"Introduction"},{"id":"wddx.requirements","name":"Requirements","description":"WDDX","tag":"section","type":"General","methodName":"Requirements"},{"id":"wddx.installation","name":"Installation","description":"WDDX","tag":"section","type":"General","methodName":"Installation"},{"id":"wddx.resources","name":"Resource Types","description":"WDDX","tag":"section","type":"General","methodName":"Resource Types"},{"id":"wddx.setup","name":"Installing\/Configuring","description":"WDDX","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"wddx.examples-serialize","name":"wddx examples","description":"WDDX","tag":"section","type":"General","methodName":"wddx examples"},{"id":"wddx.examples","name":"Examples","description":"WDDX","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.wddx-add-vars","name":"wddx_add_vars","description":"Add variables to a WDDX packet with the specified ID","tag":"refentry","type":"Function","methodName":"wddx_add_vars"},{"id":"function.wddx-deserialize","name":"wddx_deserialize","description":"Unserializes a WDDX packet","tag":"refentry","type":"Function","methodName":"wddx_deserialize"},{"id":"function.wddx-packet-end","name":"wddx_packet_end","description":"Ends a WDDX packet with the specified ID","tag":"refentry","type":"Function","methodName":"wddx_packet_end"},{"id":"function.wddx-packet-start","name":"wddx_packet_start","description":"Starts a new WDDX packet with structure inside it","tag":"refentry","type":"Function","methodName":"wddx_packet_start"},{"id":"function.wddx-serialize-value","name":"wddx_serialize_value","description":"Serialize a single value into a WDDX packet","tag":"refentry","type":"Function","methodName":"wddx_serialize_value"},{"id":"function.wddx-serialize-vars","name":"wddx_serialize_vars","description":"Serialize variables into a WDDX packet","tag":"refentry","type":"Function","methodName":"wddx_serialize_vars"},{"id":"ref.wddx","name":"WDDX Functions","description":"WDDX","tag":"reference","type":"Extension","methodName":"WDDX Functions"},{"id":"book.wddx","name":"WDDX","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"WDDX"},{"id":"intro.xmldiff","name":"Introduction","description":"XML diff and merge","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xmldiff.requirements","name":"Requirements","description":"XML diff and merge","tag":"section","type":"General","methodName":"Requirements"},{"id":"xmldiff.installation","name":"Installation","description":"XML diff and merge","tag":"section","type":"General","methodName":"Installation"},{"id":"xmldiff.setup","name":"Installing\/Configuring","description":"XML diff and merge","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xmldiff-base.construct","name":"XMLDiff\\Base::__construct","description":"Constructor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"xmldiff-base.diff","name":"XMLDiff\\Base::diff","description":"Produce diff of two XML documents","tag":"refentry","type":"Function","methodName":"diff"},{"id":"xmldiff-base.merge","name":"XMLDiff\\Base::merge","description":"Produce new XML document based on diff","tag":"refentry","type":"Function","methodName":"merge"},{"id":"class.xmldiff-base","name":"XMLDiff\\Base","description":"The XMLDiff\\Base class","tag":"phpdoc:classref","type":"Class","methodName":"XMLDiff\\Base"},{"id":"xmldiff-dom.diff","name":"XMLDiff\\DOM::diff","description":"Diff two DOMDocument objects","tag":"refentry","type":"Function","methodName":"diff"},{"id":"xmldiff-dom.merge","name":"XMLDiff\\DOM::merge","description":"Produce merged DOMDocument","tag":"refentry","type":"Function","methodName":"merge"},{"id":"class.xmldiff-dom","name":"XMLDiff\\DOM","description":"The XMLDiff\\DOM class","tag":"phpdoc:classref","type":"Class","methodName":"XMLDiff\\DOM"},{"id":"xmldiff-memory.diff","name":"XMLDiff\\Memory::diff","description":"Diff two XML documents","tag":"refentry","type":"Function","methodName":"diff"},{"id":"xmldiff-memory.merge","name":"XMLDiff\\Memory::merge","description":"Produce merged XML document","tag":"refentry","type":"Function","methodName":"merge"},{"id":"class.xmldiff-memory","name":"XMLDiff\\Memory","description":"The XMLDiff\\Memory class","tag":"phpdoc:classref","type":"Class","methodName":"XMLDiff\\Memory"},{"id":"xmldiff-file.diff","name":"XMLDiff\\File::diff","description":"Diff two XML files","tag":"refentry","type":"Function","methodName":"diff"},{"id":"xmldiff-file.merge","name":"XMLDiff\\File::merge","description":"Produce merged XML document","tag":"refentry","type":"Function","methodName":"merge"},{"id":"class.xmldiff-file","name":"XMLDiff\\File","description":"The XMLDiff\\File class","tag":"phpdoc:classref","type":"Class","methodName":"XMLDiff\\File"},{"id":"book.xmldiff","name":"XMLDiff","description":"XML diff and merge","tag":"book","type":"Extension","methodName":"XMLDiff"},{"id":"intro.xml","name":"Introduction","description":"XML Parser","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xml.requirements","name":"Requirements","description":"XML Parser","tag":"section","type":"General","methodName":"Requirements"},{"id":"xml.installation","name":"Installation","description":"XML Parser","tag":"section","type":"General","methodName":"Installation"},{"id":"xml.resources","name":"Resource Types","description":"XML Parser","tag":"section","type":"General","methodName":"Resource Types"},{"id":"xml.setup","name":"Installing\/Configuring","description":"XML Parser","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xml.constants","name":"Predefined Constants","description":"XML Parser","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"xml.eventhandlers","name":"Event Handlers","description":"XML Parser","tag":"article","type":"General","methodName":"Event Handlers"},{"id":"xml.case-folding","name":"Case Folding","description":"XML Parser","tag":"article","type":"General","methodName":"Case Folding"},{"id":"xml.error-codes","name":"Error Codes","description":"XML Parser","tag":"article","type":"General","methodName":"Error Codes"},{"id":"xml.encoding","name":"Character Encoding","description":"XML Parser","tag":"article","type":"General","methodName":"Character Encoding"},{"id":"example.xml-structure","name":"XML Element Structure Example","description":"XML Parser","tag":"section","type":"General","methodName":"XML Element Structure Example"},{"id":"example.xml-map-tags","name":"XML Tag Mapping Example","description":"XML Parser","tag":"section","type":"General","methodName":"XML Tag Mapping Example"},{"id":"example.xml-external-entity","name":"XML External Entity Example","description":"XML Parser","tag":"section","type":"General","methodName":"XML External Entity Example"},{"id":"example.xml-parsing-with-class","name":"XML Parsing With Class","description":"XML Parser","tag":"section","type":"General","methodName":"XML Parsing With Class"},{"id":"xml.examples","name":"Examples","description":"XML Parser","tag":"chapter","type":"General","methodName":"Examples"},{"id":"function.xml-error-string","name":"xml_error_string","description":"Get XML parser error string","tag":"refentry","type":"Function","methodName":"xml_error_string"},{"id":"function.xml-get-current-byte-index","name":"xml_get_current_byte_index","description":"Get current byte index for an XML parser","tag":"refentry","type":"Function","methodName":"xml_get_current_byte_index"},{"id":"function.xml-get-current-column-number","name":"xml_get_current_column_number","description":"Get current column number for an XML parser","tag":"refentry","type":"Function","methodName":"xml_get_current_column_number"},{"id":"function.xml-get-current-line-number","name":"xml_get_current_line_number","description":"Get current line number for an XML parser","tag":"refentry","type":"Function","methodName":"xml_get_current_line_number"},{"id":"function.xml-get-error-code","name":"xml_get_error_code","description":"Get XML parser error code","tag":"refentry","type":"Function","methodName":"xml_get_error_code"},{"id":"function.xml-parse","name":"xml_parse","description":"Start parsing an XML document","tag":"refentry","type":"Function","methodName":"xml_parse"},{"id":"function.xml-parse-into-struct","name":"xml_parse_into_struct","description":"Parse XML data into an array structure","tag":"refentry","type":"Function","methodName":"xml_parse_into_struct"},{"id":"function.xml-parser-create","name":"xml_parser_create","description":"Create an XML parser","tag":"refentry","type":"Function","methodName":"xml_parser_create"},{"id":"function.xml-parser-create-ns","name":"xml_parser_create_ns","description":"Create an XML parser with namespace support","tag":"refentry","type":"Function","methodName":"xml_parser_create_ns"},{"id":"function.xml-parser-free","name":"xml_parser_free","description":"Free an XML parser","tag":"refentry","type":"Function","methodName":"xml_parser_free"},{"id":"function.xml-parser-get-option","name":"xml_parser_get_option","description":"Get options from an XML parser","tag":"refentry","type":"Function","methodName":"xml_parser_get_option"},{"id":"function.xml-parser-set-option","name":"xml_parser_set_option","description":"Set options in an XML parser","tag":"refentry","type":"Function","methodName":"xml_parser_set_option"},{"id":"function.xml-set-character-data-handler","name":"xml_set_character_data_handler","description":"Set up character data handler","tag":"refentry","type":"Function","methodName":"xml_set_character_data_handler"},{"id":"function.xml-set-default-handler","name":"xml_set_default_handler","description":"Set up default handler","tag":"refentry","type":"Function","methodName":"xml_set_default_handler"},{"id":"function.xml-set-element-handler","name":"xml_set_element_handler","description":"Set up start and end element handlers","tag":"refentry","type":"Function","methodName":"xml_set_element_handler"},{"id":"function.xml-set-end-namespace-decl-handler","name":"xml_set_end_namespace_decl_handler","description":"Set up end namespace declaration handler","tag":"refentry","type":"Function","methodName":"xml_set_end_namespace_decl_handler"},{"id":"function.xml-set-external-entity-ref-handler","name":"xml_set_external_entity_ref_handler","description":"Set up external entity reference handler","tag":"refentry","type":"Function","methodName":"xml_set_external_entity_ref_handler"},{"id":"function.xml-set-notation-decl-handler","name":"xml_set_notation_decl_handler","description":"Set up notation declaration handler","tag":"refentry","type":"Function","methodName":"xml_set_notation_decl_handler"},{"id":"function.xml-set-object","name":"xml_set_object","description":"Use XML Parser within an object","tag":"refentry","type":"Function","methodName":"xml_set_object"},{"id":"function.xml-set-processing-instruction-handler","name":"xml_set_processing_instruction_handler","description":"Set up processing instruction (PI) handler","tag":"refentry","type":"Function","methodName":"xml_set_processing_instruction_handler"},{"id":"function.xml-set-start-namespace-decl-handler","name":"xml_set_start_namespace_decl_handler","description":"Set up start namespace declaration handler","tag":"refentry","type":"Function","methodName":"xml_set_start_namespace_decl_handler"},{"id":"function.xml-set-unparsed-entity-decl-handler","name":"xml_set_unparsed_entity_decl_handler","description":"Set up unparsed entity declaration handler","tag":"refentry","type":"Function","methodName":"xml_set_unparsed_entity_decl_handler"},{"id":"ref.xml","name":"XML Parser Functions","description":"XML Parser","tag":"reference","type":"Extension","methodName":"XML Parser Functions"},{"id":"class.xmlparser","name":"XMLParser","description":"The XMLParser class","tag":"phpdoc:classref","type":"Class","methodName":"XMLParser"},{"id":"book.xml","name":"XML Parser","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"XML Parser"},{"id":"intro.xmlreader","name":"Introduction","description":"XMLReader","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xmlreader.requirements","name":"Requirements","description":"XMLReader","tag":"section","type":"General","methodName":"Requirements"},{"id":"xmlreader.installation","name":"Installation","description":"XMLReader","tag":"section","type":"General","methodName":"Installation"},{"id":"xmlreader.setup","name":"Installing\/Configuring","description":"XMLReader","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xmlreader.close","name":"XMLReader::close","description":"Close the XMLReader input","tag":"refentry","type":"Function","methodName":"close"},{"id":"xmlreader.expand","name":"XMLReader::expand","description":"Returns a copy of the current node as a DOM object","tag":"refentry","type":"Function","methodName":"expand"},{"id":"xmlreader.fromstream","name":"XMLReader::fromStream","description":"Creates an XMLReader from a stream to read from","tag":"refentry","type":"Function","methodName":"fromStream"},{"id":"xmlreader.fromstring","name":"XMLReader::fromString","description":"Creates an XMLReader from an XML string","tag":"refentry","type":"Function","methodName":"fromString"},{"id":"xmlreader.fromuri","name":"XMLReader::fromUri","description":"Creates an XMLReader from a URI to read from","tag":"refentry","type":"Function","methodName":"fromUri"},{"id":"xmlreader.getattribute","name":"XMLReader::getAttribute","description":"Get the value of a named attribute","tag":"refentry","type":"Function","methodName":"getAttribute"},{"id":"xmlreader.getattributeno","name":"XMLReader::getAttributeNo","description":"Get the value of an attribute by index","tag":"refentry","type":"Function","methodName":"getAttributeNo"},{"id":"xmlreader.getattributens","name":"XMLReader::getAttributeNs","description":"Get the value of an attribute by localname and URI","tag":"refentry","type":"Function","methodName":"getAttributeNs"},{"id":"xmlreader.getparserproperty","name":"XMLReader::getParserProperty","description":"Indicates if specified property has been set","tag":"refentry","type":"Function","methodName":"getParserProperty"},{"id":"xmlreader.isvalid","name":"XMLReader::isValid","description":"Indicates if the parsed document is valid","tag":"refentry","type":"Function","methodName":"isValid"},{"id":"xmlreader.lookupnamespace","name":"XMLReader::lookupNamespace","description":"Lookup namespace for a prefix","tag":"refentry","type":"Function","methodName":"lookupNamespace"},{"id":"xmlreader.movetoattribute","name":"XMLReader::moveToAttribute","description":"Move cursor to a named attribute","tag":"refentry","type":"Function","methodName":"moveToAttribute"},{"id":"xmlreader.movetoattributeno","name":"XMLReader::moveToAttributeNo","description":"Move cursor to an attribute by index","tag":"refentry","type":"Function","methodName":"moveToAttributeNo"},{"id":"xmlreader.movetoattributens","name":"XMLReader::moveToAttributeNs","description":"Move cursor to a named attribute","tag":"refentry","type":"Function","methodName":"moveToAttributeNs"},{"id":"xmlreader.movetoelement","name":"XMLReader::moveToElement","description":"Position cursor on the parent Element of current Attribute","tag":"refentry","type":"Function","methodName":"moveToElement"},{"id":"xmlreader.movetofirstattribute","name":"XMLReader::moveToFirstAttribute","description":"Position cursor on the first Attribute","tag":"refentry","type":"Function","methodName":"moveToFirstAttribute"},{"id":"xmlreader.movetonextattribute","name":"XMLReader::moveToNextAttribute","description":"Position cursor on the next Attribute","tag":"refentry","type":"Function","methodName":"moveToNextAttribute"},{"id":"xmlreader.next","name":"XMLReader::next","description":"Move cursor to next node skipping all subtrees","tag":"refentry","type":"Function","methodName":"next"},{"id":"xmlreader.open","name":"XMLReader::open","description":"Set the URI containing the XML to parse","tag":"refentry","type":"Function","methodName":"open"},{"id":"xmlreader.read","name":"XMLReader::read","description":"Move to next node in document","tag":"refentry","type":"Function","methodName":"read"},{"id":"xmlreader.readinnerxml","name":"XMLReader::readInnerXml","description":"Retrieve XML from current node","tag":"refentry","type":"Function","methodName":"readInnerXml"},{"id":"xmlreader.readouterxml","name":"XMLReader::readOuterXml","description":"Retrieve XML from current node, including itself","tag":"refentry","type":"Function","methodName":"readOuterXml"},{"id":"xmlreader.readstring","name":"XMLReader::readString","description":"Reads the contents of the current node as a string","tag":"refentry","type":"Function","methodName":"readString"},{"id":"xmlreader.setparserproperty","name":"XMLReader::setParserProperty","description":"Set parser options","tag":"refentry","type":"Function","methodName":"setParserProperty"},{"id":"xmlreader.setrelaxngschema","name":"XMLReader::setRelaxNGSchema","description":"Set the filename or URI for a RelaxNG Schema","tag":"refentry","type":"Function","methodName":"setRelaxNGSchema"},{"id":"xmlreader.setrelaxngschemasource","name":"XMLReader::setRelaxNGSchemaSource","description":"Set the data containing a RelaxNG Schema","tag":"refentry","type":"Function","methodName":"setRelaxNGSchemaSource"},{"id":"xmlreader.setschema","name":"XMLReader::setSchema","description":"Validate document against XSD","tag":"refentry","type":"Function","methodName":"setSchema"},{"id":"xmlreader.xml","name":"XMLReader::XML","description":"Set the data containing the XML to parse","tag":"refentry","type":"Function","methodName":"XML"},{"id":"class.xmlreader","name":"XMLReader","description":"The XMLReader class","tag":"phpdoc:classref","type":"Class","methodName":"XMLReader"},{"id":"book.xmlreader","name":"XMLReader","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"XMLReader"},{"id":"intro.xmlwriter","name":"Introduction","description":"XMLWriter","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xmlwriter.requirements","name":"Requirements","description":"XMLWriter","tag":"section","type":"General","methodName":"Requirements"},{"id":"xmlwriter.installation","name":"Installation","description":"XMLWriter","tag":"section","type":"General","methodName":"Installation"},{"id":"xmlwriter.resources","name":"Resource Types","description":"XMLWriter","tag":"section","type":"General","methodName":"Resource Types"},{"id":"xmlwriter.setup","name":"Installing\/Configuring","description":"XMLWriter","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"example.xmlwriter-simple","name":"Creating a simple XML document","description":"XMLWriter","tag":"section","type":"General","methodName":"Creating a simple XML document"},{"id":"example.xmlwriter-namespace","name":"Working with XML namespaces","description":"XMLWriter","tag":"section","type":"General","methodName":"Working with XML namespaces"},{"id":"example.xmlwriter-oop","name":"Working with the OO API","description":"XMLWriter","tag":"section","type":"General","methodName":"Working with the OO API"},{"id":"xmlwriter.examples","name":"Examples","description":"XMLWriter","tag":"chapter","type":"General","methodName":"Examples"},{"id":"xmlwriter.endattribute","name":"xmlwriter_end_attribute","description":"End attribute","tag":"refentry","type":"Function","methodName":"xmlwriter_end_attribute"},{"id":"xmlwriter.endattribute","name":"XMLWriter::endAttribute","description":"End attribute","tag":"refentry","type":"Function","methodName":"endAttribute"},{"id":"xmlwriter.endcdata","name":"xmlwriter_end_cdata","description":"End current CDATA","tag":"refentry","type":"Function","methodName":"xmlwriter_end_cdata"},{"id":"xmlwriter.endcdata","name":"XMLWriter::endCdata","description":"End current CDATA","tag":"refentry","type":"Function","methodName":"endCdata"},{"id":"xmlwriter.endcomment","name":"xmlwriter_end_comment","description":"Create end comment","tag":"refentry","type":"Function","methodName":"xmlwriter_end_comment"},{"id":"xmlwriter.endcomment","name":"XMLWriter::endComment","description":"Create end comment","tag":"refentry","type":"Function","methodName":"endComment"},{"id":"xmlwriter.enddocument","name":"xmlwriter_end_document","description":"End current document","tag":"refentry","type":"Function","methodName":"xmlwriter_end_document"},{"id":"xmlwriter.enddocument","name":"XMLWriter::endDocument","description":"End current document","tag":"refentry","type":"Function","methodName":"endDocument"},{"id":"xmlwriter.enddtd","name":"xmlwriter_end_dtd","description":"End current DTD","tag":"refentry","type":"Function","methodName":"xmlwriter_end_dtd"},{"id":"xmlwriter.enddtd","name":"XMLWriter::endDtd","description":"End current DTD","tag":"refentry","type":"Function","methodName":"endDtd"},{"id":"xmlwriter.enddtdattlist","name":"xmlwriter_end_dtd_attlist","description":"End current DTD AttList","tag":"refentry","type":"Function","methodName":"xmlwriter_end_dtd_attlist"},{"id":"xmlwriter.enddtdattlist","name":"XMLWriter::endDtdAttlist","description":"End current DTD AttList","tag":"refentry","type":"Function","methodName":"endDtdAttlist"},{"id":"xmlwriter.enddtdelement","name":"xmlwriter_end_dtd_element","description":"End current DTD element","tag":"refentry","type":"Function","methodName":"xmlwriter_end_dtd_element"},{"id":"xmlwriter.enddtdelement","name":"XMLWriter::endDtdElement","description":"End current DTD element","tag":"refentry","type":"Function","methodName":"endDtdElement"},{"id":"xmlwriter.enddtdentity","name":"xmlwriter_end_dtd_entity","description":"End current DTD Entity","tag":"refentry","type":"Function","methodName":"xmlwriter_end_dtd_entity"},{"id":"xmlwriter.enddtdentity","name":"XMLWriter::endDtdEntity","description":"End current DTD Entity","tag":"refentry","type":"Function","methodName":"endDtdEntity"},{"id":"xmlwriter.endelement","name":"xmlwriter_end_element","description":"End current element","tag":"refentry","type":"Function","methodName":"xmlwriter_end_element"},{"id":"xmlwriter.endelement","name":"XMLWriter::endElement","description":"End current element","tag":"refentry","type":"Function","methodName":"endElement"},{"id":"xmlwriter.endpi","name":"xmlwriter_end_pi","description":"End current PI","tag":"refentry","type":"Function","methodName":"xmlwriter_end_pi"},{"id":"xmlwriter.endpi","name":"XMLWriter::endPi","description":"End current PI","tag":"refentry","type":"Function","methodName":"endPi"},{"id":"xmlwriter.flush","name":"xmlwriter_flush","description":"Flush current buffer","tag":"refentry","type":"Function","methodName":"xmlwriter_flush"},{"id":"xmlwriter.flush","name":"XMLWriter::flush","description":"Flush current buffer","tag":"refentry","type":"Function","methodName":"flush"},{"id":"xmlwriter.fullendelement","name":"xmlwriter_full_end_element","description":"End current element","tag":"refentry","type":"Function","methodName":"xmlwriter_full_end_element"},{"id":"xmlwriter.fullendelement","name":"XMLWriter::fullEndElement","description":"End current element","tag":"refentry","type":"Function","methodName":"fullEndElement"},{"id":"xmlwriter.openmemory","name":"xmlwriter_open_memory","description":"Create new xmlwriter using memory for string output","tag":"refentry","type":"Function","methodName":"xmlwriter_open_memory"},{"id":"xmlwriter.openmemory","name":"XMLWriter::openMemory","description":"Create new xmlwriter using memory for string output","tag":"refentry","type":"Function","methodName":"openMemory"},{"id":"xmlwriter.openuri","name":"xmlwriter_open_uri","description":"Create new xmlwriter using source uri for output","tag":"refentry","type":"Function","methodName":"xmlwriter_open_uri"},{"id":"xmlwriter.openuri","name":"XMLWriter::openUri","description":"Create new xmlwriter using source uri for output","tag":"refentry","type":"Function","methodName":"openUri"},{"id":"xmlwriter.outputmemory","name":"xmlwriter_output_memory","description":"Returns current buffer","tag":"refentry","type":"Function","methodName":"xmlwriter_output_memory"},{"id":"xmlwriter.outputmemory","name":"XMLWriter::outputMemory","description":"Returns current buffer","tag":"refentry","type":"Function","methodName":"outputMemory"},{"id":"xmlwriter.setindent","name":"xmlwriter_set_indent","description":"Toggle indentation on\/off","tag":"refentry","type":"Function","methodName":"xmlwriter_set_indent"},{"id":"xmlwriter.setindent","name":"XMLWriter::setIndent","description":"Toggle indentation on\/off","tag":"refentry","type":"Function","methodName":"setIndent"},{"id":"xmlwriter.setindentstring","name":"xmlwriter_set_indent_string","description":"Set string used for indenting","tag":"refentry","type":"Function","methodName":"xmlwriter_set_indent_string"},{"id":"xmlwriter.setindentstring","name":"XMLWriter::setIndentString","description":"Set string used for indenting","tag":"refentry","type":"Function","methodName":"setIndentString"},{"id":"xmlwriter.startattribute","name":"xmlwriter_start_attribute","description":"Create start attribute","tag":"refentry","type":"Function","methodName":"xmlwriter_start_attribute"},{"id":"xmlwriter.startattribute","name":"XMLWriter::startAttribute","description":"Create start attribute","tag":"refentry","type":"Function","methodName":"startAttribute"},{"id":"xmlwriter.startattributens","name":"xmlwriter_start_attribute_ns","description":"Create start namespaced attribute","tag":"refentry","type":"Function","methodName":"xmlwriter_start_attribute_ns"},{"id":"xmlwriter.startattributens","name":"XMLWriter::startAttributeNs","description":"Create start namespaced attribute","tag":"refentry","type":"Function","methodName":"startAttributeNs"},{"id":"xmlwriter.startcdata","name":"xmlwriter_start_cdata","description":"Create start CDATA tag","tag":"refentry","type":"Function","methodName":"xmlwriter_start_cdata"},{"id":"xmlwriter.startcdata","name":"XMLWriter::startCdata","description":"Create start CDATA tag","tag":"refentry","type":"Function","methodName":"startCdata"},{"id":"xmlwriter.startcomment","name":"xmlwriter_start_comment","description":"Create start comment","tag":"refentry","type":"Function","methodName":"xmlwriter_start_comment"},{"id":"xmlwriter.startcomment","name":"XMLWriter::startComment","description":"Create start comment","tag":"refentry","type":"Function","methodName":"startComment"},{"id":"xmlwriter.startdocument","name":"xmlwriter_start_document","description":"Create document tag","tag":"refentry","type":"Function","methodName":"xmlwriter_start_document"},{"id":"xmlwriter.startdocument","name":"XMLWriter::startDocument","description":"Create document tag","tag":"refentry","type":"Function","methodName":"startDocument"},{"id":"xmlwriter.startdtd","name":"xmlwriter_start_dtd","description":"Create start DTD tag","tag":"refentry","type":"Function","methodName":"xmlwriter_start_dtd"},{"id":"xmlwriter.startdtd","name":"XMLWriter::startDtd","description":"Create start DTD tag","tag":"refentry","type":"Function","methodName":"startDtd"},{"id":"xmlwriter.startdtdattlist","name":"xmlwriter_start_dtd_attlist","description":"Create start DTD AttList","tag":"refentry","type":"Function","methodName":"xmlwriter_start_dtd_attlist"},{"id":"xmlwriter.startdtdattlist","name":"XMLWriter::startDtdAttlist","description":"Create start DTD AttList","tag":"refentry","type":"Function","methodName":"startDtdAttlist"},{"id":"xmlwriter.startdtdelement","name":"xmlwriter_start_dtd_element","description":"Create start DTD element","tag":"refentry","type":"Function","methodName":"xmlwriter_start_dtd_element"},{"id":"xmlwriter.startdtdelement","name":"XMLWriter::startDtdElement","description":"Create start DTD element","tag":"refentry","type":"Function","methodName":"startDtdElement"},{"id":"xmlwriter.startdtdentity","name":"xmlwriter_start_dtd_entity","description":"Create start DTD Entity","tag":"refentry","type":"Function","methodName":"xmlwriter_start_dtd_entity"},{"id":"xmlwriter.startdtdentity","name":"XMLWriter::startDtdEntity","description":"Create start DTD Entity","tag":"refentry","type":"Function","methodName":"startDtdEntity"},{"id":"xmlwriter.startelement","name":"xmlwriter_start_element","description":"Create start element tag","tag":"refentry","type":"Function","methodName":"xmlwriter_start_element"},{"id":"xmlwriter.startelement","name":"XMLWriter::startElement","description":"Create start element tag","tag":"refentry","type":"Function","methodName":"startElement"},{"id":"xmlwriter.startelementns","name":"xmlwriter_start_element_ns","description":"Create start namespaced element tag","tag":"refentry","type":"Function","methodName":"xmlwriter_start_element_ns"},{"id":"xmlwriter.startelementns","name":"XMLWriter::startElementNs","description":"Create start namespaced element tag","tag":"refentry","type":"Function","methodName":"startElementNs"},{"id":"xmlwriter.startpi","name":"xmlwriter_start_pi","description":"Create start PI tag","tag":"refentry","type":"Function","methodName":"xmlwriter_start_pi"},{"id":"xmlwriter.startpi","name":"XMLWriter::startPi","description":"Create start PI tag","tag":"refentry","type":"Function","methodName":"startPi"},{"id":"xmlwriter.text","name":"xmlwriter_text","description":"Write text","tag":"refentry","type":"Function","methodName":"xmlwriter_text"},{"id":"xmlwriter.text","name":"XMLWriter::text","description":"Write text","tag":"refentry","type":"Function","methodName":"text"},{"id":"xmlwriter.tomemory","name":"XMLWriter::toMemory","description":"Create new XMLWriter using memory for string output","tag":"refentry","type":"Function","methodName":"toMemory"},{"id":"xmlwriter.tostream","name":"XMLWriter::toStream","description":"Create new XMLWriter using a stream for output","tag":"refentry","type":"Function","methodName":"toStream"},{"id":"xmlwriter.touri","name":"XMLWriter::toUri","description":"Create new XMLWriter using a URI for output","tag":"refentry","type":"Function","methodName":"toUri"},{"id":"xmlwriter.writeattribute","name":"xmlwriter_write_attribute","description":"Write full attribute","tag":"refentry","type":"Function","methodName":"xmlwriter_write_attribute"},{"id":"xmlwriter.writeattribute","name":"XMLWriter::writeAttribute","description":"Write full attribute","tag":"refentry","type":"Function","methodName":"writeAttribute"},{"id":"xmlwriter.writeattributens","name":"xmlwriter_write_attribute_ns","description":"Write full namespaced attribute","tag":"refentry","type":"Function","methodName":"xmlwriter_write_attribute_ns"},{"id":"xmlwriter.writeattributens","name":"XMLWriter::writeAttributeNs","description":"Write full namespaced attribute","tag":"refentry","type":"Function","methodName":"writeAttributeNs"},{"id":"xmlwriter.writecdata","name":"xmlwriter_write_cdata","description":"Write full CDATA tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_cdata"},{"id":"xmlwriter.writecdata","name":"XMLWriter::writeCdata","description":"Write full CDATA tag","tag":"refentry","type":"Function","methodName":"writeCdata"},{"id":"xmlwriter.writecomment","name":"xmlwriter_write_comment","description":"Write full comment tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_comment"},{"id":"xmlwriter.writecomment","name":"XMLWriter::writeComment","description":"Write full comment tag","tag":"refentry","type":"Function","methodName":"writeComment"},{"id":"xmlwriter.writedtd","name":"xmlwriter_write_dtd","description":"Write full DTD tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_dtd"},{"id":"xmlwriter.writedtd","name":"XMLWriter::writeDtd","description":"Write full DTD tag","tag":"refentry","type":"Function","methodName":"writeDtd"},{"id":"xmlwriter.writedtdattlist","name":"xmlwriter_write_dtd_attlist","description":"Write full DTD AttList tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_dtd_attlist"},{"id":"xmlwriter.writedtdattlist","name":"XMLWriter::writeDtdAttlist","description":"Write full DTD AttList tag","tag":"refentry","type":"Function","methodName":"writeDtdAttlist"},{"id":"xmlwriter.writedtdelement","name":"xmlwriter_write_dtd_element","description":"Write full DTD element tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_dtd_element"},{"id":"xmlwriter.writedtdelement","name":"XMLWriter::writeDtdElement","description":"Write full DTD element tag","tag":"refentry","type":"Function","methodName":"writeDtdElement"},{"id":"xmlwriter.writedtdentity","name":"xmlwriter_write_dtd_entity","description":"Write full DTD Entity tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_dtd_entity"},{"id":"xmlwriter.writedtdentity","name":"XMLWriter::writeDtdEntity","description":"Write full DTD Entity tag","tag":"refentry","type":"Function","methodName":"writeDtdEntity"},{"id":"xmlwriter.writeelement","name":"xmlwriter_write_element","description":"Write full element tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_element"},{"id":"xmlwriter.writeelement","name":"XMLWriter::writeElement","description":"Write full element tag","tag":"refentry","type":"Function","methodName":"writeElement"},{"id":"xmlwriter.writeelementns","name":"xmlwriter_write_element_ns","description":"Write full namespaced element tag","tag":"refentry","type":"Function","methodName":"xmlwriter_write_element_ns"},{"id":"xmlwriter.writeelementns","name":"XMLWriter::writeElementNs","description":"Write full namespaced element tag","tag":"refentry","type":"Function","methodName":"writeElementNs"},{"id":"xmlwriter.writepi","name":"xmlwriter_write_pi","description":"Writes a PI","tag":"refentry","type":"Function","methodName":"xmlwriter_write_pi"},{"id":"xmlwriter.writepi","name":"XMLWriter::writePi","description":"Writes a PI","tag":"refentry","type":"Function","methodName":"writePi"},{"id":"xmlwriter.writeraw","name":"xmlwriter_write_raw","description":"Write a raw XML text","tag":"refentry","type":"Function","methodName":"xmlwriter_write_raw"},{"id":"xmlwriter.writeraw","name":"XMLWriter::writeRaw","description":"Write a raw XML text","tag":"refentry","type":"Function","methodName":"writeRaw"},{"id":"class.xmlwriter","name":"XMLWriter","description":"The XMLWriter class","tag":"phpdoc:classref","type":"Class","methodName":"XMLWriter"},{"id":"book.xmlwriter","name":"XMLWriter","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"XMLWriter"},{"id":"intro.xsl","name":"Introduction","description":"XSL","tag":"preface","type":"General","methodName":"Introduction"},{"id":"xsl.requirements","name":"Requirements","description":"XSL","tag":"section","type":"General","methodName":"Requirements"},{"id":"xsl.installation","name":"Installation","description":"XSL","tag":"section","type":"General","methodName":"Installation"},{"id":"xsl.setup","name":"Installing\/Configuring","description":"XSL","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"xsl.constants","name":"Predefined Constants","description":"XSL","tag":"appendix","type":"General","methodName":"Predefined Constants"},{"id":"xsl.examples-collection","name":"Example collection.xml and collection.xsl files","description":"XSL","tag":"section","type":"General","methodName":"Example collection.xml and collection.xsl files"},{"id":"xsl.examples-errors","name":"Error handling with libxml error handling functions","description":"XSL","tag":"section","type":"General","methodName":"Error handling with libxml error handling functions"},{"id":"xsl.examples","name":"Examples","description":"XSL","tag":"chapter","type":"General","methodName":"Examples"},{"id":"xsltprocessor.construct","name":"XSLTProcessor::__construct","description":"Creates a new XSLTProcessor object","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"xsltprocessor.getparameter","name":"XSLTProcessor::getParameter","description":"Get value of a parameter","tag":"refentry","type":"Function","methodName":"getParameter"},{"id":"xsltprocessor.getsecurityprefs","name":"XSLTProcessor::getSecurityPrefs","description":"Get security preferences","tag":"refentry","type":"Function","methodName":"getSecurityPrefs"},{"id":"xsltprocessor.hasexsltsupport","name":"XSLTProcessor::hasExsltSupport","description":"Determine if PHP has EXSLT support","tag":"refentry","type":"Function","methodName":"hasExsltSupport"},{"id":"xsltprocessor.importstylesheet","name":"XSLTProcessor::importStylesheet","description":"Import stylesheet","tag":"refentry","type":"Function","methodName":"importStylesheet"},{"id":"xsltprocessor.registerphpfunctionns","name":"XSLTProcessor::registerPHPFunctionNS","description":"Register a PHP function as namespaced XSLT function","tag":"refentry","type":"Function","methodName":"registerPHPFunctionNS"},{"id":"xsltprocessor.registerphpfunctions","name":"XSLTProcessor::registerPHPFunctions","description":"Enables the ability to use PHP functions as XSLT functions","tag":"refentry","type":"Function","methodName":"registerPHPFunctions"},{"id":"xsltprocessor.removeparameter","name":"XSLTProcessor::removeParameter","description":"Remove parameter","tag":"refentry","type":"Function","methodName":"removeParameter"},{"id":"xsltprocessor.setparameter","name":"XSLTProcessor::setParameter","description":"Set value for a parameter","tag":"refentry","type":"Function","methodName":"setParameter"},{"id":"xsltprocessor.setprofiling","name":"XSLTProcessor::setProfiling","description":"Sets profiling output file","tag":"refentry","type":"Function","methodName":"setProfiling"},{"id":"xsltprocessor.setsecurityprefs","name":"XSLTProcessor::setSecurityPrefs","description":"Set security preferences","tag":"refentry","type":"Function","methodName":"setSecurityPrefs"},{"id":"xsltprocessor.transformtodoc","name":"XSLTProcessor::transformToDoc","description":"Transform to a document","tag":"refentry","type":"Function","methodName":"transformToDoc"},{"id":"xsltprocessor.transformtouri","name":"XSLTProcessor::transformToUri","description":"Transform to URI","tag":"refentry","type":"Function","methodName":"transformToUri"},{"id":"xsltprocessor.transformtoxml","name":"XSLTProcessor::transformToXml","description":"Transform to XML","tag":"refentry","type":"Function","methodName":"transformToXml"},{"id":"class.xsltprocessor","name":"XSLTProcessor","description":"The XSLTProcessor class","tag":"phpdoc:classref","type":"Class","methodName":"XSLTProcessor"},{"id":"book.xsl","name":"XSL","description":"XML Manipulation","tag":"book","type":"Extension","methodName":"XSL"},{"id":"refs.xml","name":"XML Manipulation","description":"Function Reference","tag":"set","type":"Extension","methodName":"XML Manipulation"},{"id":"intro.ui","name":"Introduction","description":"UI","tag":"preface","type":"General","methodName":"Introduction"},{"id":"ui.requirements","name":"Requirements","description":"UI","tag":"section","type":"General","methodName":"Requirements"},{"id":"ui.installation","name":"Installation","description":"UI","tag":"section","type":"General","methodName":"Installation"},{"id":"ui.setup","name":"Installing\/Configuring","description":"UI","tag":"chapter","type":"General","methodName":"Installing\/Configuring"},{"id":"ui-point.at","name":"UI\\Point::at","description":"Size Coercion","tag":"refentry","type":"Function","methodName":"at"},{"id":"ui-point.construct","name":"UI\\Point::__construct","description":"Construct a new Point","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-point.getx","name":"UI\\Point::getX","description":"Retrieves X","tag":"refentry","type":"Function","methodName":"getX"},{"id":"ui-point.gety","name":"UI\\Point::getY","description":"Retrieves Y","tag":"refentry","type":"Function","methodName":"getY"},{"id":"ui-point.setx","name":"UI\\Point::setX","description":"Set X","tag":"refentry","type":"Function","methodName":"setX"},{"id":"ui-point.sety","name":"UI\\Point::setY","description":"Set Y","tag":"refentry","type":"Function","methodName":"setY"},{"id":"class.ui-point","name":"UI\\Point","description":"Represents a position (x,y)","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Point"},{"id":"ui-size.construct","name":"UI\\Size::__construct","description":"Construct a new Size","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-size.getheight","name":"UI\\Size::getHeight","description":"Retrieves Height","tag":"refentry","type":"Function","methodName":"getHeight"},{"id":"ui-size.getwidth","name":"UI\\Size::getWidth","description":"Retrives Width","tag":"refentry","type":"Function","methodName":"getWidth"},{"id":"ui-size.of","name":"UI\\Size::of","description":"Point Coercion","tag":"refentry","type":"Function","methodName":"of"},{"id":"ui-size.setheight","name":"UI\\Size::setHeight","description":"Set Height","tag":"refentry","type":"Function","methodName":"setHeight"},{"id":"ui-size.setwidth","name":"UI\\Size::setWidth","description":"Set Width","tag":"refentry","type":"Function","methodName":"setWidth"},{"id":"class.ui-size","name":"UI\\Size","description":"Represents dimensions (width, height)","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Size"},{"id":"ui-window.add","name":"UI\\Window::add","description":"Add a Control","tag":"refentry","type":"Function","methodName":"add"},{"id":"ui-window.construct","name":"UI\\Window::__construct","description":"Construct a new Window","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-window.error","name":"UI\\Window::error","description":"Show Error Box","tag":"refentry","type":"Function","methodName":"error"},{"id":"ui-window.getsize","name":"UI\\Window::getSize","description":"Get Window Size","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"ui-window.gettitle","name":"UI\\Window::getTitle","description":"Get Title","tag":"refentry","type":"Function","methodName":"getTitle"},{"id":"ui-window.hasborders","name":"UI\\Window::hasBorders","description":"Border Detection","tag":"refentry","type":"Function","methodName":"hasBorders"},{"id":"ui-window.hasmargin","name":"UI\\Window::hasMargin","description":"Margin Detection","tag":"refentry","type":"Function","methodName":"hasMargin"},{"id":"ui-window.isfullscreen","name":"UI\\Window::isFullScreen","description":"Full Screen Detection","tag":"refentry","type":"Function","methodName":"isFullScreen"},{"id":"ui-window.msg","name":"UI\\Window::msg","description":"Show Message Box","tag":"refentry","type":"Function","methodName":"msg"},{"id":"ui-window.onclosing","name":"UI\\Window::onClosing","description":"Closing Callback","tag":"refentry","type":"Function","methodName":"onClosing"},{"id":"ui-window.open","name":"UI\\Window::open","description":"Open Dialog","tag":"refentry","type":"Function","methodName":"open"},{"id":"ui-window.save","name":"UI\\Window::save","description":"Save Dialog","tag":"refentry","type":"Function","methodName":"save"},{"id":"ui-window.setborders","name":"UI\\Window::setBorders","description":"Border Use","tag":"refentry","type":"Function","methodName":"setBorders"},{"id":"ui-window.setfullscreen","name":"UI\\Window::setFullScreen","description":"Full Screen Use","tag":"refentry","type":"Function","methodName":"setFullScreen"},{"id":"ui-window.setmargin","name":"UI\\Window::setMargin","description":"Margin Use","tag":"refentry","type":"Function","methodName":"setMargin"},{"id":"ui-window.setsize","name":"UI\\Window::setSize","description":"Set Size","tag":"refentry","type":"Function","methodName":"setSize"},{"id":"ui-window.settitle","name":"UI\\Window::setTitle","description":"Window Title","tag":"refentry","type":"Function","methodName":"setTitle"},{"id":"class.ui-window","name":"UI\\Window","description":"Window","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Window"},{"id":"ui-control.destroy","name":"UI\\Control::destroy","description":"Destroy Control","tag":"refentry","type":"Function","methodName":"destroy"},{"id":"ui-control.disable","name":"UI\\Control::disable","description":"Disable Control","tag":"refentry","type":"Function","methodName":"disable"},{"id":"ui-control.enable","name":"UI\\Control::enable","description":"Enable Control","tag":"refentry","type":"Function","methodName":"enable"},{"id":"ui-control.getparent","name":"UI\\Control::getParent","description":"Get Parent Control","tag":"refentry","type":"Function","methodName":"getParent"},{"id":"ui-control.gettoplevel","name":"UI\\Control::getTopLevel","description":"Get Top Level","tag":"refentry","type":"Function","methodName":"getTopLevel"},{"id":"ui-control.hide","name":"UI\\Control::hide","description":"Hide Control","tag":"refentry","type":"Function","methodName":"hide"},{"id":"ui-control.isenabled","name":"UI\\Control::isEnabled","description":"Determine if Control is enabled","tag":"refentry","type":"Function","methodName":"isEnabled"},{"id":"ui-control.isvisible","name":"UI\\Control::isVisible","description":"Determine if Control is visible","tag":"refentry","type":"Function","methodName":"isVisible"},{"id":"ui-control.setparent","name":"UI\\Control::setParent","description":"Set Parent Control","tag":"refentry","type":"Function","methodName":"setParent"},{"id":"ui-control.show","name":"UI\\Control::show","description":"Control Show","tag":"refentry","type":"Function","methodName":"show"},{"id":"class.ui-control","name":"UI\\Control","description":"Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Control"},{"id":"ui-menu.append","name":"UI\\Menu::append","description":"Append Menu Item","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-menu.appendabout","name":"UI\\Menu::appendAbout","description":"Append About Menu Item","tag":"refentry","type":"Function","methodName":"appendAbout"},{"id":"ui-menu.appendcheck","name":"UI\\Menu::appendCheck","description":"Append Checkable Menu Item","tag":"refentry","type":"Function","methodName":"appendCheck"},{"id":"ui-menu.appendpreferences","name":"UI\\Menu::appendPreferences","description":"Append Preferences Menu Item","tag":"refentry","type":"Function","methodName":"appendPreferences"},{"id":"ui-menu.appendquit","name":"UI\\Menu::appendQuit","description":"Append Quit Menu Item","tag":"refentry","type":"Function","methodName":"appendQuit"},{"id":"ui-menu.appendseparator","name":"UI\\Menu::appendSeparator","description":"Append Menu Item Separator","tag":"refentry","type":"Function","methodName":"appendSeparator"},{"id":"ui-menu.construct","name":"UI\\Menu::__construct","description":"Construct a new Menu","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.ui-menu","name":"UI\\Menu","description":"Menu","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Menu"},{"id":"ui-menuitem.disable","name":"UI\\MenuItem::disable","description":"Disable Menu Item","tag":"refentry","type":"Function","methodName":"disable"},{"id":"ui-menuitem.enable","name":"UI\\MenuItem::enable","description":"Enable Menu Item","tag":"refentry","type":"Function","methodName":"enable"},{"id":"ui-menuitem.ischecked","name":"UI\\MenuItem::isChecked","description":"Detect Checked","tag":"refentry","type":"Function","methodName":"isChecked"},{"id":"ui-menuitem.onclick","name":"UI\\MenuItem::onClick","description":"On Click Callback","tag":"refentry","type":"Function","methodName":"onClick"},{"id":"ui-menuitem.setchecked","name":"UI\\MenuItem::setChecked","description":"Set Checked","tag":"refentry","type":"Function","methodName":"setChecked"},{"id":"class.ui-menuitem","name":"UI\\MenuItem","description":"Menu Item","tag":"phpdoc:classref","type":"Class","methodName":"UI\\MenuItem"},{"id":"ui-area.ondraw","name":"UI\\Area::onDraw","description":"Draw Callback","tag":"refentry","type":"Function","methodName":"onDraw"},{"id":"ui-area.onkey","name":"UI\\Area::onKey","description":"Key Callback","tag":"refentry","type":"Function","methodName":"onKey"},{"id":"ui-area.onmouse","name":"UI\\Area::onMouse","description":"Mouse Callback","tag":"refentry","type":"Function","methodName":"onMouse"},{"id":"ui-area.redraw","name":"UI\\Area::redraw","description":"Redraw Area","tag":"refentry","type":"Function","methodName":"redraw"},{"id":"ui-area.scrollto","name":"UI\\Area::scrollTo","description":"Area Scroll","tag":"refentry","type":"Function","methodName":"scrollTo"},{"id":"ui-area.setsize","name":"UI\\Area::setSize","description":"Set Size","tag":"refentry","type":"Function","methodName":"setSize"},{"id":"class.ui-area","name":"UI\\Area","description":"Area","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Area"},{"id":"ui-executor.construct","name":"UI\\Executor::__construct","description":"Construct a new Executor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-executor.kill","name":"UI\\Executor::kill","description":"Stop Executor","tag":"refentry","type":"Function","methodName":"kill"},{"id":"ui-executor.onexecute","name":"UI\\Executor::onExecute","description":"Execution Callback","tag":"refentry","type":"Function","methodName":"onExecute"},{"id":"ui-executor.setinterval","name":"UI\\Executor::setInterval","description":"Interval Manipulation","tag":"refentry","type":"Function","methodName":"setInterval"},{"id":"class.ui-executor","name":"UI\\Executor","description":"Execution Scheduler","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Executor"},{"id":"ui-controls-tab.append","name":"UI\\Controls\\Tab::append","description":"Append Page","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-tab.delete","name":"UI\\Controls\\Tab::delete","description":"Delete Page","tag":"refentry","type":"Function","methodName":"delete"},{"id":"ui-controls-tab.hasmargin","name":"UI\\Controls\\Tab::hasMargin","description":"Margin Detection","tag":"refentry","type":"Function","methodName":"hasMargin"},{"id":"ui-controls-tab.insertat","name":"UI\\Controls\\Tab::insertAt","description":"Insert Page","tag":"refentry","type":"Function","methodName":"insertAt"},{"id":"ui-controls-tab.pages","name":"UI\\Controls\\Tab::pages","description":"Page Count","tag":"refentry","type":"Function","methodName":"pages"},{"id":"ui-controls-tab.setmargin","name":"UI\\Controls\\Tab::setMargin","description":"Set Margin","tag":"refentry","type":"Function","methodName":"setMargin"},{"id":"class.ui-controls-tab","name":"UI\\Controls\\Tab","description":"Tab Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Tab"},{"id":"ui-controls-check.construct","name":"UI\\Controls\\Check::__construct","description":"Construct a new Check","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-check.gettext","name":"UI\\Controls\\Check::getText","description":"Get Text","tag":"refentry","type":"Function","methodName":"getText"},{"id":"ui-controls-check.ischecked","name":"UI\\Controls\\Check::isChecked","description":"Checked Detection","tag":"refentry","type":"Function","methodName":"isChecked"},{"id":"ui-controls-check.ontoggle","name":"UI\\Controls\\Check::onToggle","description":"Toggle Callback","tag":"refentry","type":"Function","methodName":"onToggle"},{"id":"ui-controls-check.setchecked","name":"UI\\Controls\\Check::setChecked","description":"Set Checked","tag":"refentry","type":"Function","methodName":"setChecked"},{"id":"ui-controls-check.settext","name":"UI\\Controls\\Check::setText","description":"Set Text","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.ui-controls-check","name":"UI\\Controls\\Check","description":"Check Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Check"},{"id":"ui-controls-button.construct","name":"UI\\Controls\\Button::__construct","description":"Construct a new Button","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-button.gettext","name":"UI\\Controls\\Button::getText","description":"Get Text","tag":"refentry","type":"Function","methodName":"getText"},{"id":"ui-controls-button.onclick","name":"UI\\Controls\\Button::onClick","description":"Click Handler","tag":"refentry","type":"Function","methodName":"onClick"},{"id":"ui-controls-button.settext","name":"UI\\Controls\\Button::setText","description":"Set Text","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.ui-controls-button","name":"UI\\Controls\\Button","description":"Button Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Button"},{"id":"ui-controls-colorbutton.getcolor","name":"UI\\Controls\\ColorButton::getColor","description":"Get Color","tag":"refentry","type":"Function","methodName":"getColor"},{"id":"ui-controls-colorbutton.onchange","name":"UI\\Controls\\ColorButton::onChange","description":"Change Handler","tag":"refentry","type":"Function","methodName":"onChange"},{"id":"ui-controls-colorbutton.setcolor","name":"UI\\Controls\\ColorButton::setColor","description":"Set Color","tag":"refentry","type":"Function","methodName":"setColor"},{"id":"class.ui-controls-colorbutton","name":"UI\\Controls\\ColorButton","description":"ColorButton Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\ColorButton"},{"id":"ui-controls-label.construct","name":"UI\\Controls\\Label::__construct","description":"Construct a new Label","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-label.gettext","name":"UI\\Controls\\Label::getText","description":"Get Text","tag":"refentry","type":"Function","methodName":"getText"},{"id":"ui-controls-label.settext","name":"UI\\Controls\\Label::setText","description":"Set Text","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.ui-controls-label","name":"UI\\Controls\\Label","description":"Label Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Label"},{"id":"ui-controls-entry.construct","name":"UI\\Controls\\Entry::__construct","description":"Construct a new Entry","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-entry.gettext","name":"UI\\Controls\\Entry::getText","description":"Get Text","tag":"refentry","type":"Function","methodName":"getText"},{"id":"ui-controls-entry.isreadonly","name":"UI\\Controls\\Entry::isReadOnly","description":"Detect Read Only","tag":"refentry","type":"Function","methodName":"isReadOnly"},{"id":"ui-controls-entry.onchange","name":"UI\\Controls\\Entry::onChange","description":"Change Handler","tag":"refentry","type":"Function","methodName":"onChange"},{"id":"ui-controls-entry.setreadonly","name":"UI\\Controls\\Entry::setReadOnly","description":"Set Read Only","tag":"refentry","type":"Function","methodName":"setReadOnly"},{"id":"ui-controls-entry.settext","name":"UI\\Controls\\Entry::setText","description":"Set Text","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.ui-controls-entry","name":"UI\\Controls\\Entry","description":"Entry Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Entry"},{"id":"ui-controls-multilineentry.append","name":"UI\\Controls\\MultilineEntry::append","description":"Append Text","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-multilineentry.construct","name":"UI\\Controls\\MultilineEntry::__construct","description":"Construct a new Multiline Entry","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-multilineentry.gettext","name":"UI\\Controls\\MultilineEntry::getText","description":"Get Text","tag":"refentry","type":"Function","methodName":"getText"},{"id":"ui-controls-multilineentry.isreadonly","name":"UI\\Controls\\MultilineEntry::isReadOnly","description":"Read Only Detection","tag":"refentry","type":"Function","methodName":"isReadOnly"},{"id":"ui-controls-multilineentry.onchange","name":"UI\\Controls\\MultilineEntry::onChange","description":"Change Handler","tag":"refentry","type":"Function","methodName":"onChange"},{"id":"ui-controls-multilineentry.setreadonly","name":"UI\\Controls\\MultilineEntry::setReadOnly","description":"Set Read Only","tag":"refentry","type":"Function","methodName":"setReadOnly"},{"id":"ui-controls-multilineentry.settext","name":"UI\\Controls\\MultilineEntry::setText","description":"Set Text","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.ui-controls-multilineentry","name":"UI\\Controls\\MultilineEntry","description":"MultilineEntry Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\MultilineEntry"},{"id":"ui-controls-spin.construct","name":"UI\\Controls\\Spin::__construct","description":"Construct a new Spin","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-spin.getvalue","name":"UI\\Controls\\Spin::getValue","description":"Get Value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"ui-controls-spin.onchange","name":"UI\\Controls\\Spin::onChange","description":"Change Handler","tag":"refentry","type":"Function","methodName":"onChange"},{"id":"ui-controls-spin.setvalue","name":"UI\\Controls\\Spin::setValue","description":"Set Value","tag":"refentry","type":"Function","methodName":"setValue"},{"id":"class.ui-controls-spin","name":"UI\\Controls\\Spin","description":"Spin Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Spin"},{"id":"ui-controls-slider.construct","name":"UI\\Controls\\Slider::__construct","description":"Construct a new Slider","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-slider.getvalue","name":"UI\\Controls\\Slider::getValue","description":"Get Value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"ui-controls-slider.onchange","name":"UI\\Controls\\Slider::onChange","description":"Change Handler","tag":"refentry","type":"Function","methodName":"onChange"},{"id":"ui-controls-slider.setvalue","name":"UI\\Controls\\Slider::setValue","description":"Set Value","tag":"refentry","type":"Function","methodName":"setValue"},{"id":"class.ui-controls-slider","name":"UI\\Controls\\Slider","description":"Slider Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Slider"},{"id":"ui-controls-progress.getvalue","name":"UI\\Controls\\Progress::getValue","description":"Get Value","tag":"refentry","type":"Function","methodName":"getValue"},{"id":"ui-controls-progress.setvalue","name":"UI\\Controls\\Progress::setValue","description":"Set Value","tag":"refentry","type":"Function","methodName":"setValue"},{"id":"class.ui-controls-progress","name":"UI\\Controls\\Progress","description":"Progress Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Progress"},{"id":"ui-controls-separator.construct","name":"UI\\Controls\\Separator::__construct","description":"Construct a new Separator","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.ui-controls-separator","name":"UI\\Controls\\Separator","description":"Control Separator","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Separator"},{"id":"ui-controls-combo.append","name":"UI\\Controls\\Combo::append","description":"Append Option","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-combo.getselected","name":"UI\\Controls\\Combo::getSelected","description":"Get Selected Option","tag":"refentry","type":"Function","methodName":"getSelected"},{"id":"ui-controls-combo.onselected","name":"UI\\Controls\\Combo::onSelected","description":"Selected Handler","tag":"refentry","type":"Function","methodName":"onSelected"},{"id":"ui-controls-combo.setselected","name":"UI\\Controls\\Combo::setSelected","description":"Set Selected Option","tag":"refentry","type":"Function","methodName":"setSelected"},{"id":"class.ui-controls-combo","name":"UI\\Controls\\Combo","description":"Combo Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Combo"},{"id":"ui-controls-editablecombo.append","name":"UI\\Controls\\EditableCombo::append","description":"Append Option","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-editablecombo.gettext","name":"UI\\Controls\\EditableCombo::getText","description":"Get Text","tag":"refentry","type":"Function","methodName":"getText"},{"id":"ui-controls-editablecombo.onchange","name":"UI\\Controls\\EditableCombo::onChange","description":"Change Handler","tag":"refentry","type":"Function","methodName":"onChange"},{"id":"ui-controls-editablecombo.settext","name":"UI\\Controls\\EditableCombo::setText","description":"Set Text","tag":"refentry","type":"Function","methodName":"setText"},{"id":"class.ui-controls-editablecombo","name":"UI\\Controls\\EditableCombo","description":"EdiableCombo Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\EditableCombo"},{"id":"ui-controls-radio.append","name":"UI\\Controls\\Radio::append","description":"Append Option","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-radio.getselected","name":"UI\\Controls\\Radio::getSelected","description":"Get Selected Option","tag":"refentry","type":"Function","methodName":"getSelected"},{"id":"ui-controls-radio.onselected","name":"UI\\Controls\\Radio::onSelected","description":"Selected Handler","tag":"refentry","type":"Function","methodName":"onSelected"},{"id":"ui-controls-radio.setselected","name":"UI\\Controls\\Radio::setSelected","description":"Set Selected Option","tag":"refentry","type":"Function","methodName":"setSelected"},{"id":"class.ui-controls-radio","name":"UI\\Controls\\Radio","description":"Radio Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Radio"},{"id":"ui-controls-picker.construct","name":"UI\\Controls\\Picker::__construct","description":"Construct a new Picker","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.ui-controls-picker","name":"UI\\Controls\\Picker","description":"Picker Control","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Picker"},{"id":"ui-controls-form.append","name":"UI\\Controls\\Form::append","description":"Append Control","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-form.delete","name":"UI\\Controls\\Form::delete","description":"Delete Control","tag":"refentry","type":"Function","methodName":"delete"},{"id":"ui-controls-form.ispadded","name":"UI\\Controls\\Form::isPadded","description":"Padding Detection","tag":"refentry","type":"Function","methodName":"isPadded"},{"id":"ui-controls-form.setpadded","name":"UI\\Controls\\Form::setPadded","description":"Set Padding","tag":"refentry","type":"Function","methodName":"setPadded"},{"id":"class.ui-controls-form","name":"UI\\Controls\\Form","description":"Control Form (Arrangement)","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Form"},{"id":"ui-controls-grid.append","name":"UI\\Controls\\Grid::append","description":"Append Control","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-grid.ispadded","name":"UI\\Controls\\Grid::isPadded","description":"Padding Detection","tag":"refentry","type":"Function","methodName":"isPadded"},{"id":"ui-controls-grid.setpadded","name":"UI\\Controls\\Grid::setPadded","description":"Set Padding","tag":"refentry","type":"Function","methodName":"setPadded"},{"id":"class.ui-controls-grid","name":"UI\\Controls\\Grid","description":"Control Grid (Arrangement)","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Grid"},{"id":"ui-controls-group.append","name":"UI\\Controls\\Group::append","description":"Append Control","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-group.construct","name":"UI\\Controls\\Group::__construct","description":"Construct a new Group","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-group.gettitle","name":"UI\\Controls\\Group::getTitle","description":"Get Title","tag":"refentry","type":"Function","methodName":"getTitle"},{"id":"ui-controls-group.hasmargin","name":"UI\\Controls\\Group::hasMargin","description":"Margin Detection","tag":"refentry","type":"Function","methodName":"hasMargin"},{"id":"ui-controls-group.setmargin","name":"UI\\Controls\\Group::setMargin","description":"Set Margin","tag":"refentry","type":"Function","methodName":"setMargin"},{"id":"ui-controls-group.settitle","name":"UI\\Controls\\Group::setTitle","description":"Set Title","tag":"refentry","type":"Function","methodName":"setTitle"},{"id":"class.ui-controls-group","name":"UI\\Controls\\Group","description":"Control Group (Arrangement)","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Group"},{"id":"ui-controls-box.append","name":"UI\\Controls\\Box::append","description":"Append Control","tag":"refentry","type":"Function","methodName":"append"},{"id":"ui-controls-box.construct","name":"UI\\Controls\\Box::__construct","description":"Construct a new Box","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-controls-box.delete","name":"UI\\Controls\\Box::delete","description":"Delete Control","tag":"refentry","type":"Function","methodName":"delete"},{"id":"ui-controls-box.getorientation","name":"UI\\Controls\\Box::getOrientation","description":"Get Orientation","tag":"refentry","type":"Function","methodName":"getOrientation"},{"id":"ui-controls-box.ispadded","name":"UI\\Controls\\Box::isPadded","description":"Padding Detection","tag":"refentry","type":"Function","methodName":"isPadded"},{"id":"ui-controls-box.setpadded","name":"UI\\Controls\\Box::setPadded","description":"Set Padding","tag":"refentry","type":"Function","methodName":"setPadded"},{"id":"class.ui-controls-box","name":"UI\\Controls\\Box","description":"Control Box (Arrangement)","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Controls\\Box"},{"id":"ui-draw-pen.clip","name":"UI\\Draw\\Pen::clip","description":"Clip a Path","tag":"refentry","type":"Function","methodName":"clip"},{"id":"ui-draw-pen.fill","name":"UI\\Draw\\Pen::fill","description":"Fill a Path","tag":"refentry","type":"Function","methodName":"fill"},{"id":"ui-draw-pen.restore","name":"UI\\Draw\\Pen::restore","description":"Restore","tag":"refentry","type":"Function","methodName":"restore"},{"id":"ui-draw-pen.save","name":"UI\\Draw\\Pen::save","description":"Save","tag":"refentry","type":"Function","methodName":"save"},{"id":"ui-draw-pen.stroke","name":"UI\\Draw\\Pen::stroke","description":"Stroke a Path","tag":"refentry","type":"Function","methodName":"stroke"},{"id":"ui-draw-pen.transform","name":"UI\\Draw\\Pen::transform","description":"Matrix Transform","tag":"refentry","type":"Function","methodName":"transform"},{"id":"ui-draw-pen.write","name":"UI\\Draw\\Pen::write","description":"Draw Text at Point","tag":"refentry","type":"Function","methodName":"write"},{"id":"class.ui-draw-pen","name":"UI\\Draw\\Pen","description":"Draw Pen","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Pen"},{"id":"ui-draw-path.addrectangle","name":"UI\\Draw\\Path::addRectangle","description":"Draw a Rectangle","tag":"refentry","type":"Function","methodName":"addRectangle"},{"id":"ui-draw-path.arcto","name":"UI\\Draw\\Path::arcTo","description":"Draw an Arc","tag":"refentry","type":"Function","methodName":"arcTo"},{"id":"ui-draw-path.bezierto","name":"UI\\Draw\\Path::bezierTo","description":"Draw Bezier Curve","tag":"refentry","type":"Function","methodName":"bezierTo"},{"id":"ui-draw-path.closefigure","name":"UI\\Draw\\Path::closeFigure","description":"Close Figure","tag":"refentry","type":"Function","methodName":"closeFigure"},{"id":"ui-draw-path.construct","name":"UI\\Draw\\Path::__construct","description":"Construct a new Path","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-path.end","name":"UI\\Draw\\Path::end","description":"Finalize Path","tag":"refentry","type":"Function","methodName":"end"},{"id":"ui-draw-path.lineto","name":"UI\\Draw\\Path::lineTo","description":"Draw a Line","tag":"refentry","type":"Function","methodName":"lineTo"},{"id":"ui-draw-path.newfigure","name":"UI\\Draw\\Path::newFigure","description":"Draw Figure","tag":"refentry","type":"Function","methodName":"newFigure"},{"id":"ui-draw-path.newfigurewitharc","name":"UI\\Draw\\Path::newFigureWithArc","description":"Draw Figure with Arc","tag":"refentry","type":"Function","methodName":"newFigureWithArc"},{"id":"class.ui-draw-path","name":"UI\\Draw\\Path","description":"Draw Path","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Path"},{"id":"ui-draw-matrix.invert","name":"UI\\Draw\\Matrix::invert","description":"Invert Matrix","tag":"refentry","type":"Function","methodName":"invert"},{"id":"ui-draw-matrix.isinvertible","name":"UI\\Draw\\Matrix::isInvertible","description":"Invertible Detection","tag":"refentry","type":"Function","methodName":"isInvertible"},{"id":"ui-draw-matrix.multiply","name":"UI\\Draw\\Matrix::multiply","description":"Multiply Matrix","tag":"refentry","type":"Function","methodName":"multiply"},{"id":"ui-draw-matrix.rotate","name":"UI\\Draw\\Matrix::rotate","description":"Rotate Matrix","tag":"refentry","type":"Function","methodName":"rotate"},{"id":"ui-draw-matrix.scale","name":"UI\\Draw\\Matrix::scale","description":"Scale Matrix","tag":"refentry","type":"Function","methodName":"scale"},{"id":"ui-draw-matrix.skew","name":"UI\\Draw\\Matrix::skew","description":"Skew Matrix","tag":"refentry","type":"Function","methodName":"skew"},{"id":"ui-draw-matrix.translate","name":"UI\\Draw\\Matrix::translate","description":"Translate Matrix","tag":"refentry","type":"Function","methodName":"translate"},{"id":"class.ui-draw-matrix","name":"UI\\Draw\\Matrix","description":"Draw Matrix","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Matrix"},{"id":"ui-draw-color.construct","name":"UI\\Draw\\Color::__construct","description":"Construct new Color","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-color.getchannel","name":"UI\\Draw\\Color::getChannel","description":"Color Manipulation","tag":"refentry","type":"Function","methodName":"getChannel"},{"id":"ui-draw-color.setchannel","name":"UI\\Draw\\Color::setChannel","description":"Color Manipulation","tag":"refentry","type":"Function","methodName":"setChannel"},{"id":"class.ui-draw-color","name":"UI\\Draw\\Color","description":"Color Representation","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Color"},{"id":"ui-draw-stroke.construct","name":"UI\\Draw\\Stroke::__construct","description":"Construct a new Stroke","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-stroke.getcap","name":"UI\\Draw\\Stroke::getCap","description":"Get Line Cap","tag":"refentry","type":"Function","methodName":"getCap"},{"id":"ui-draw-stroke.getjoin","name":"UI\\Draw\\Stroke::getJoin","description":"Get Line Join","tag":"refentry","type":"Function","methodName":"getJoin"},{"id":"ui-draw-stroke.getmiterlimit","name":"UI\\Draw\\Stroke::getMiterLimit","description":"Get Miter Limit","tag":"refentry","type":"Function","methodName":"getMiterLimit"},{"id":"ui-draw-stroke.getthickness","name":"UI\\Draw\\Stroke::getThickness","description":"Get Thickness","tag":"refentry","type":"Function","methodName":"getThickness"},{"id":"ui-draw-stroke.setcap","name":"UI\\Draw\\Stroke::setCap","description":"Set Line Cap","tag":"refentry","type":"Function","methodName":"setCap"},{"id":"ui-draw-stroke.setjoin","name":"UI\\Draw\\Stroke::setJoin","description":"Set Line Join","tag":"refentry","type":"Function","methodName":"setJoin"},{"id":"ui-draw-stroke.setmiterlimit","name":"UI\\Draw\\Stroke::setMiterLimit","description":"Set Miter Limit","tag":"refentry","type":"Function","methodName":"setMiterLimit"},{"id":"ui-draw-stroke.setthickness","name":"UI\\Draw\\Stroke::setThickness","description":"Set Thickness","tag":"refentry","type":"Function","methodName":"setThickness"},{"id":"class.ui-draw-stroke","name":"UI\\Draw\\Stroke","description":"Draw Stroke","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Stroke"},{"id":"ui-draw-brush.construct","name":"UI\\Draw\\Brush::__construct","description":"Construct a new Brush","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-brush.getcolor","name":"UI\\Draw\\Brush::getColor","description":"Get Color","tag":"refentry","type":"Function","methodName":"getColor"},{"id":"ui-draw-brush.setcolor","name":"UI\\Draw\\Brush::setColor","description":"Set Color","tag":"refentry","type":"Function","methodName":"setColor"},{"id":"class.ui-draw-brush","name":"UI\\Draw\\Brush","description":"Brushes","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Brush"},{"id":"ui-draw-brush-gradient.addstop","name":"UI\\Draw\\Brush\\Gradient::addStop","description":"Stop Manipulation","tag":"refentry","type":"Function","methodName":"addStop"},{"id":"ui-draw-brush-gradient.delstop","name":"UI\\Draw\\Brush\\Gradient::delStop","description":"Stop Manipulation","tag":"refentry","type":"Function","methodName":"delStop"},{"id":"ui-draw-brush-gradient.setstop","name":"UI\\Draw\\Brush\\Gradient::setStop","description":"Stop Manipulation","tag":"refentry","type":"Function","methodName":"setStop"},{"id":"class.ui-draw-brush-gradient","name":"UI\\Draw\\Brush\\Gradient","description":"Gradient Brushes","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Brush\\Gradient"},{"id":"ui-draw-brush-lineargradient.construct","name":"UI\\Draw\\Brush\\LinearGradient::__construct","description":"Construct a Linear Gradient","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.ui-draw-brush-lineargradient","name":"UI\\Draw\\Brush\\LinearGradient","description":"Linear Gradient","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Brush\\LinearGradient"},{"id":"ui-draw-brush-radialgradient.construct","name":"UI\\Draw\\Brush\\RadialGradient::__construct","description":"Construct a new Radial Gradient","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"class.ui-draw-brush-radialgradient","name":"UI\\Draw\\Brush\\RadialGradient","description":"Radial Gradient","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Brush\\RadialGradient"},{"id":"ui-draw-text-layout.construct","name":"UI\\Draw\\Text\\Layout::__construct","description":"Construct a new Text Layout","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-text-layout.setcolor","name":"UI\\Draw\\Text\\Layout::setColor","description":"Set Color","tag":"refentry","type":"Function","methodName":"setColor"},{"id":"ui-draw-text-layout.setwidth","name":"UI\\Draw\\Text\\Layout::setWidth","description":"Set Width","tag":"refentry","type":"Function","methodName":"setWidth"},{"id":"class.ui-draw-text-layout","name":"UI\\Draw\\Text\\Layout","description":"Represents Text Layout","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Text\\Layout"},{"id":"ui-draw-text-font.construct","name":"UI\\Draw\\Text\\Font::__construct","description":"Construct a new Font","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-text-font.getascent","name":"UI\\Draw\\Text\\Font::getAscent","description":"Font Metrics","tag":"refentry","type":"Function","methodName":"getAscent"},{"id":"ui-draw-text-font.getdescent","name":"UI\\Draw\\Text\\Font::getDescent","description":"Font Metrics","tag":"refentry","type":"Function","methodName":"getDescent"},{"id":"ui-draw-text-font.getleading","name":"UI\\Draw\\Text\\Font::getLeading","description":"Font Metrics","tag":"refentry","type":"Function","methodName":"getLeading"},{"id":"ui-draw-text-font.getunderlineposition","name":"UI\\Draw\\Text\\Font::getUnderlinePosition","description":"Font Metrics","tag":"refentry","type":"Function","methodName":"getUnderlinePosition"},{"id":"ui-draw-text-font.getunderlinethickness","name":"UI\\Draw\\Text\\Font::getUnderlineThickness","description":"Font Metrics","tag":"refentry","type":"Function","methodName":"getUnderlineThickness"},{"id":"class.ui-draw-text-font","name":"UI\\Draw\\Text\\Font","description":"Represents a Font","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Text\\Font"},{"id":"ui-draw-text-font-descriptor.construct","name":"UI\\Draw\\Text\\Font\\Descriptor::__construct","description":"Construct a new Font Descriptor","tag":"refentry","type":"Function","methodName":"__construct"},{"id":"ui-draw-text-font-descriptor.getfamily","name":"UI\\Draw\\Text\\Font\\Descriptor::getFamily","description":"Get Font Family","tag":"refentry","type":"Function","methodName":"getFamily"},{"id":"ui-draw-text-font-descriptor.getitalic","name":"UI\\Draw\\Text\\Font\\Descriptor::getItalic","description":"Style Detection","tag":"refentry","type":"Function","methodName":"getItalic"},{"id":"ui-draw-text-font-descriptor.getsize","name":"UI\\Draw\\Text\\Font\\Descriptor::getSize","description":"Size Detection","tag":"refentry","type":"Function","methodName":"getSize"},{"id":"ui-draw-text-font-descriptor.getstretch","name":"UI\\Draw\\Text\\Font\\Descriptor::getStretch","description":"Style Detection","tag":"refentry","type":"Function","methodName":"getStretch"},{"id":"ui-draw-text-font-descriptor.getweight","name":"UI\\Draw\\Text\\Font\\Descriptor::getWeight","description":"Weight Detection","tag":"refentry","type":"Function","methodName":"getWeight"},{"id":"class.ui-draw-text-font-descriptor","name":"UI\\Draw\\Text\\Font\\Descriptor","description":"Font Descriptor","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Text\\Font\\Descriptor"},{"id":"function.ui-draw-text-font-fontfamilies","name":"UI\\Draw\\Text\\Font\\fontFamilies","description":"Retrieve Font Families","tag":"refentry","type":"Function","methodName":"UI\\Draw\\Text\\Font\\fontFamilies"},{"id":"function.ui-quit","name":"UI\\quit","description":"Quit UI Loop","tag":"refentry","type":"Function","methodName":"UI\\quit"},{"id":"function.ui-run","name":"UI\\run","description":"Enter UI Loop","tag":"refentry","type":"Function","methodName":"UI\\run"},{"id":"ref.ui","name":"UI Functions","description":"UI","tag":"reference","type":"Extension","methodName":"UI Functions"},{"id":"class.ui-draw-text-font-weight","name":"UI\\Draw\\Text\\Font\\Weight","description":"Font Weight Settings","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Text\\Font\\Weight"},{"id":"class.ui-draw-text-font-italic","name":"UI\\Draw\\Text\\Font\\Italic","description":"Italic Font Settings","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Text\\Font\\Italic"},{"id":"class.ui-draw-text-font-stretch","name":"UI\\Draw\\Text\\Font\\Stretch","description":"Font Stretch Settings","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Text\\Font\\Stretch"},{"id":"class.ui-draw-line-cap","name":"UI\\Draw\\Line\\Cap","description":"Line Cap Settings","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Line\\Cap"},{"id":"class.ui-draw-line-join","name":"UI\\Draw\\Line\\Join","description":"Line Join Settings","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Draw\\Line\\Join"},{"id":"class.ui-key","name":"UI\\Key","description":"Key Identifiers","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Key"},{"id":"class.ui-exception-invalidargumentexception","name":"UI\\Exception\\InvalidArgumentException","description":"InvalidArgumentException","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Exception\\InvalidArgumentException"},{"id":"class.ui-exception-runtimeexception","name":"UI\\Exception\\RuntimeException","description":"RuntimeException","tag":"phpdoc:classref","type":"Class","methodName":"UI\\Exception\\RuntimeException"},{"id":"book.ui","name":"UI","description":"UI","tag":"book","type":"Extension","methodName":"UI"},{"id":"refs.ui","name":"GUI Extensions","description":"Function Reference","tag":"set","type":"Extension","methodName":"GUI Extensions"},{"id":"funcref","name":"Function Reference","description":"PHP Manual","tag":"set","type":"Extension","methodName":"Function Reference"},{"id":"faq.general","name":"General Information","description":"General Information","tag":"chapter","type":"General","methodName":"General Information"},{"id":"faq.mailinglist","name":"Mailing lists","description":"Mailing lists","tag":"chapter","type":"General","methodName":"Mailing lists"},{"id":"faq.obtaining","name":"Obtaining PHP","description":"Obtaining PHP","tag":"chapter","type":"General","methodName":"Obtaining PHP"},{"id":"faq.databases","name":"Database issues","description":"Database issues","tag":"chapter","type":"General","methodName":"Database issues"},{"id":"faq.installation","name":"Installation","description":"Installation","tag":"chapter","type":"General","methodName":"Installation"},{"id":"faq.build","name":"Build Problems","description":"Build Problems","tag":"chapter","type":"General","methodName":"Build Problems"},{"id":"faq.using","name":"Using PHP","description":"Using PHP","tag":"chapter","type":"General","methodName":"Using PHP"},{"id":"faq.passwords","name":"Password Hashing","description":"Hashing passwords safely and securely","tag":"chapter","type":"General","methodName":"Password Hashing"},{"id":"faq.html","name":"PHP and HTML","description":"PHP and HTML","tag":"chapter","type":"General","methodName":"PHP and HTML"},{"id":"faq.com","name":"PHP and COM","description":"PHP and COM","tag":"chapter","type":"General","methodName":"PHP and COM"},{"id":"faq.misc","name":"Miscellaneous Questions","description":"Miscellaneous Questions","tag":"chapter","type":"General","methodName":"Miscellaneous Questions"},{"id":"faq","name":"FAQ","description":"Frequently Asked Questions","tag":"book","type":"Extension","methodName":"FAQ"},{"id":"history.php","name":"History of PHP","description":"Appendices","tag":"sect1","type":"General","methodName":"History of PHP"},{"id":"history.php.related","name":"History of PHP related projects","description":"Appendices","tag":"sect1","type":"General","methodName":"History of PHP related projects"},{"id":"history.php.books","name":"Books about PHP","description":"Appendices","tag":"sect1","type":"General","methodName":"Books about PHP"},{"id":"history.php.publications","name":"Publications about PHP","description":"Appendices","tag":"sect1","type":"General","methodName":"Publications about PHP"},{"id":"history","name":"History of PHP and Related Projects","description":"Appendices","tag":"appendix","type":"General","methodName":"History of PHP and Related Projects"},{"id":"examples","name":"About manual examples","description":"Appendices","tag":"appendix","type":"General","methodName":"About manual examples"},{"id":"migration85.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration85.new-classes","name":"New Classes and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes and Interfaces"},{"id":"migration85.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration85.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration85.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration85.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration85.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration85.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration85","name":"Migrating from PHP 8.4.x to PHP 8.5.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 8.4.x to PHP 8.5.x"},{"id":"migration84.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration84.new-classes","name":"New Classes, Enums, and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes, Enums, and Interfaces"},{"id":"migration84.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration84.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration84.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration84.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration84.removed-extensions","name":"Removed Extensions","description":"Appendices","tag":"sect1","type":"General","methodName":"Removed Extensions"},{"id":"migration84.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration84.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration84","name":"Migrating from PHP 8.3.x to PHP 8.4.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 8.3.x to PHP 8.4.x"},{"id":"migration83.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration83.new-classes","name":"New Classes and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes and Interfaces"},{"id":"migration83.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration83.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration83.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration83.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration83.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration83.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration83","name":"Migrating from PHP 8.2.x to PHP 8.3.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 8.2.x to PHP 8.3.x"},{"id":"migration82.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration82.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration82.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration82.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration82.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration82.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration82.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration82","name":"Migrating from PHP 8.1.x to PHP 8.2.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 8.1.x to PHP 8.2.x"},{"id":"migration81.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration81.new-classes","name":"New Classes and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes and Interfaces"},{"id":"migration81.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration81.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration81.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration81.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration81.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration81","name":"Migrating from PHP 8.0.x to PHP 8.1.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 8.0.x to PHP 8.1.x"},{"id":"migration80.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration80.new-classes","name":"New Classes and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes and Interfaces"},{"id":"migration80.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration80.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration80.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration80","name":"Migrating from PHP 7.4.x to PHP 8.0.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 7.4.x to PHP 8.0.x"},{"id":"migration74.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration74.new-classes","name":"New Classes and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes and Interfaces"},{"id":"migration74.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration74.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration74.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration74.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration74.removed-extensions","name":"Removed Extensions","description":"Appendices","tag":"sect1","type":"General","methodName":"Removed Extensions"},{"id":"migration74.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration74.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration74","name":"Migrating from PHP 7.3.x to PHP 7.4.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 7.3.x to PHP 7.4.x"},{"id":"migration73.new-features","name":"New Features","description":"Appendices","tag":"sect1","type":"General","methodName":"New Features"},{"id":"migration73.new-functions","name":"New Functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New Functions"},{"id":"migration73.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration73.incompatible","name":"Backward Incompatible Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward Incompatible Changes"},{"id":"migration73.deprecated","name":"Deprecated Features","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated Features"},{"id":"migration73.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration73.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration73","name":"Migrating from PHP 7.2.x to PHP 7.3.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 7.2.x to PHP 7.3.x"},{"id":"migration72.new-features","name":"New features","description":"Appendices","tag":"sect1","type":"General","methodName":"New features"},{"id":"migration72.new-functions","name":"New functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New functions"},{"id":"migration72.constants","name":"New global constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New global constants"},{"id":"migration72.incompatible","name":"Backward incompatible changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward incompatible changes"},{"id":"migration72.deprecated","name":"Deprecated features in PHP 7.2.x","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated features in PHP 7.2.x"},{"id":"migration72.other-changes","name":"Other changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other changes"},{"id":"migration72","name":"Migrating from PHP 7.1.x to PHP 7.2.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 7.1.x to PHP 7.2.x"},{"id":"migration71.new-features","name":"New features","description":"Appendices","tag":"sect1","type":"General","methodName":"New features"},{"id":"migration71.new-functions","name":"New functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New functions"},{"id":"migration71.constants","name":"New global constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New global constants"},{"id":"migration71.incompatible","name":"Backward incompatible changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward incompatible changes"},{"id":"migration71.deprecated","name":"Deprecated features in PHP 7.1.x","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated features in PHP 7.1.x"},{"id":"migration71.changed-functions","name":"Changed functions","description":"Appendices","tag":"sect1","type":"General","methodName":"Changed functions"},{"id":"migration71.other-changes","name":"Other changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other changes"},{"id":"migration71.windows-support","name":"Windows Support","description":"Appendices","tag":"sect1","type":"General","methodName":"Windows Support"},{"id":"migration71","name":"Migrating from PHP 7.0.x to PHP 7.1.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 7.0.x to PHP 7.1.x"},{"id":"migration70.incompatible","name":"Backward incompatible changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward incompatible changes"},{"id":"migration70.new-features","name":"New features","description":"Appendices","tag":"sect1","type":"General","methodName":"New features"},{"id":"migration70.deprecated","name":"Deprecated features in PHP 7.0.x","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated features in PHP 7.0.x"},{"id":"migration70.changed-functions","name":"Changed functions","description":"Appendices","tag":"sect1","type":"General","methodName":"Changed functions"},{"id":"migration70.new-functions","name":"New functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New functions"},{"id":"migration70.classes","name":"New Classes and Interfaces","description":"Appendices","tag":"sect1","type":"General","methodName":"New Classes and Interfaces"},{"id":"migration70.constants","name":"New Global Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New Global Constants"},{"id":"migration70.sapi-changes","name":"Changes in SAPI Modules","description":"Appendices","tag":"sect1","type":"General","methodName":"Changes in SAPI Modules"},{"id":"migration70.removed-exts-sapis","name":"Removed Extensions and SAPIs","description":"Appendices","tag":"sect1","type":"General","methodName":"Removed Extensions and SAPIs"},{"id":"migration70.other-changes","name":"Other Changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Other Changes"},{"id":"migration70","name":"Migrating from PHP 5.6.x to PHP 7.0.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 5.6.x to PHP 7.0.x"},{"id":"migration56.incompatible","name":"Backward incompatible changes","description":"Appendices","tag":"sect1","type":"General","methodName":"Backward incompatible changes"},{"id":"migration56.new-features","name":"New features","description":"Appendices","tag":"sect1","type":"General","methodName":"New features"},{"id":"migration56.deprecated","name":"Deprecated features in PHP 5.6.x","description":"Appendices","tag":"sect1","type":"General","methodName":"Deprecated features in PHP 5.6.x"},{"id":"migration56.changed-functions","name":"Changed functions","description":"Appendices","tag":"sect1","type":"General","methodName":"Changed functions"},{"id":"migration56.new-functions","name":"New functions","description":"Appendices","tag":"sect1","type":"General","methodName":"New functions"},{"id":"migration56.openssl","name":"OpenSSL changes in PHP 5.6.x","description":"Appendices","tag":"sect1","type":"General","methodName":"OpenSSL changes in PHP 5.6.x"},{"id":"migration56.extensions","name":"Other changes to extensions","description":"Appendices","tag":"sect1","type":"General","methodName":"Other changes to extensions"},{"id":"migration56.constants","name":"New global constants","description":"Appendices","tag":"sect1","type":"General","methodName":"New global constants"},{"id":"migration56","name":"Migrating from PHP 5.5.x to PHP 5.6.x","description":"Appendices","tag":"appendix","type":"General","methodName":"Migrating from PHP 5.5.x to PHP 5.6.x"},{"id":"debugger-about","name":"About debugging in PHP","description":"Appendices","tag":"sect1","type":"General","methodName":"About debugging in PHP"},{"id":"debugger","name":"Debugging in PHP","description":"Appendices","tag":"appendix","type":"General","methodName":"Debugging in PHP"},{"id":"configure.about","name":"List of core configure options","description":"Appendices","tag":"sect1","type":"General","methodName":"List of core configure options"},{"id":"configure","name":"Configure options","description":"Appendices","tag":"appendix","type":"General","methodName":"Configure options"},{"id":"ini.list","name":"List of php.ini directives","description":"Appendices","tag":"section","type":"General","methodName":"List of php.ini directives"},{"id":"ini.sections","name":"List of php.ini sections","description":"Appendices","tag":"section","type":"General","methodName":"List of php.ini sections"},{"id":"ini.core","name":"Description of core php.ini directives","description":"Appendices","tag":"section","type":"General","methodName":"Description of core php.ini directives"},{"id":"ini","name":"php.ini directives","description":"Appendices","tag":"appendix","type":"General","methodName":"php.ini directives"},{"id":"extensions.alphabetical","name":"Alphabetical","description":"Appendices","tag":"section","type":"General","methodName":"Alphabetical"},{"id":"extensions.membership","name":"Membership","description":"Appendices","tag":"section","type":"General","methodName":"Membership"},{"id":"extensions.state","name":"State","description":"Appendices","tag":"section","type":"General","methodName":"State"},{"id":"extensions","name":"Extension List\/Categorization","description":"Appendices","tag":"appendix","type":"General","methodName":"Extension List\/Categorization"},{"id":"aliases","name":"List of Function Aliases","description":"Appendices","tag":"appendix","type":"General","methodName":"List of Function Aliases"},{"id":"reserved.keywords","name":"List of Keywords","description":"Appendices","tag":"sect1","type":"General","methodName":"List of Keywords"},{"id":"reserved.classes","name":"Predefined Classes","description":"Appendices","tag":"sect1","type":"General","methodName":"Predefined Classes"},{"id":"reserved.constants","name":"Predefined Constants","description":"Appendices","tag":"sect1","type":"General","methodName":"Predefined Constants"},{"id":"reserved.other-reserved-words","name":"List of other reserved words","description":"Appendices","tag":"sect1","type":"General","methodName":"List of other reserved words"},{"id":"reserved","name":"List of Reserved Words","description":"Appendices","tag":"appendix","type":"General","methodName":"List of Reserved Words"},{"id":"resource","name":"List of Resource Types","description":"Appendices","tag":"appendix","type":"General","methodName":"List of Resource Types"},{"id":"filters.string","name":"String Filters","description":"Appendices","tag":"section","type":"General","methodName":"String Filters"},{"id":"filters.convert","name":"Conversion Filters","description":"Appendices","tag":"section","type":"General","methodName":"Conversion Filters"},{"id":"filters.compression","name":"Compression Filters","description":"Appendices","tag":"section","type":"General","methodName":"Compression Filters"},{"id":"filters.encryption","name":"Encryption Filters","description":"Appendices","tag":"section","type":"General","methodName":"Encryption Filters"},{"id":"filters","name":"List of Available Filters","description":"Appendices","tag":"appendix","type":"General","methodName":"List of Available Filters"},{"id":"transports.inet","name":"Internet Domain: TCP, UDP, SSL, and TLS","description":"Appendices","tag":"section","type":"General","methodName":"Internet Domain: TCP, UDP, SSL, and TLS"},{"id":"transports.unix","name":"Unix Domain: Unix and UDG","description":"Appendices","tag":"section","type":"General","methodName":"Unix Domain: Unix and UDG"},{"id":"transports","name":"List of Supported Socket Transports","description":"Appendices","tag":"appendix","type":"General","methodName":"List of Supported Socket Transports"},{"id":"types.comparisons","name":"PHP type comparison tables","description":"Appendices","tag":"appendix","type":"General","methodName":"PHP type comparison tables"},{"id":"tokens","name":"List of Parser Tokens","description":"Appendices","tag":"appendix","type":"General","methodName":"List of Parser Tokens"},{"id":"userlandnaming.globalnamespace","name":"Global Namespace","description":"Appendices","tag":"section","type":"General","methodName":"Global Namespace"},{"id":"userlandnaming.rules","name":"Rules","description":"Appendices","tag":"section","type":"General","methodName":"Rules"},{"id":"userlandnaming.tips","name":"Tips","description":"Appendices","tag":"section","type":"General","methodName":"Tips"},{"id":"userlandnaming","name":"Userland Naming Guide","description":"Appendices","tag":"appendix","type":"General","methodName":"Userland Naming Guide"},{"id":"about.formats","name":"Formats","description":"Appendices","tag":"sect1","type":"General","methodName":"Formats"},{"id":"about.notes","name":"About user notes","description":"Appendices","tag":"sect1","type":"General","methodName":"About user notes"},{"id":"about.prototypes","name":"How to read a function definition (prototype)","description":"Appendices","tag":"sect1","type":"General","methodName":"How to read a function definition (prototype)"},{"id":"about.phpversions","name":"PHP versions documented in this manual","description":"Appendices","tag":"sect1","type":"General","methodName":"PHP versions documented in this manual"},{"id":"about.more","name":"How to find more information about PHP","description":"Appendices","tag":"sect1","type":"General","methodName":"How to find more information about PHP"},{"id":"about.howtohelp","name":"How to help improve the documentation","description":"Appendices","tag":"sect1","type":"General","methodName":"How to help improve the documentation"},{"id":"about.generate","name":"How we generate the formats","description":"Appendices","tag":"sect1","type":"General","methodName":"How we generate the formats"},{"id":"about.translations","name":"Translations","description":"Appendices","tag":"sect1","type":"General","methodName":"Translations"},{"id":"about","name":"About the manual","description":"Appendices","tag":"appendix","type":"General","methodName":"About the manual"},{"id":"cc.license","name":"Creative Commons Attribution 3.0","description":"Appendices","tag":"appendix","type":"General","methodName":"Creative Commons Attribution 3.0"},{"id":"indexes.functions","name":"Function and Method listing","description":"Appendices","tag":"section","type":"General","methodName":"Function and Method listing"},{"id":"indexes.examples","name":"Example listing","description":"Appendices","tag":"section","type":"General","methodName":"Example listing"},{"id":"indexes","name":"Index listing","description":"Appendices","tag":"appendix","type":"General","methodName":"Index listing"},{"id":"doc.changelog","name":"Changelog","description":"Appendices","tag":"appendix","type":"General","methodName":"Changelog"},{"id":"appendices","name":"Appendices","description":"PHP Manual","tag":"book","type":"Extension","methodName":"Appendices"},{"id":"index","name":"PHP Manual","description":"PHP Manual","tag":"set","type":"Extension","methodName":"PHP Manual"}] diff --git a/public/manual/en/search-description.json b/public/manual/en/search-description.json new file mode 100644 index 0000000000..1358f24952 --- /dev/null +++ b/public/manual/en/search-description.json @@ -0,0 +1 @@ +{"authors":"","editors":"","copyright":"Copyright","bookinfo":"","contributors":"Authors and Contributors","preface":"Preface","manual":"PHP Manual","example-1":"An introductory example","intro-whatis":"What is PHP?","intro-whatcando":"What can PHP do?","introduction":"Introduction","tutorial.requirements":"What do I need?","example-2":"Our first PHP script: hello.php","example-3":"Get system information from PHP","tutorial.firstpage":"Your first PHP-enabled page","example-4":"Printing a variable (Array element)","example-5":"Example using control \n structures and functions","example-6":"Mixing both HTML and PHP modes","tutorial.useful":"Something Useful","example-7":"A simple HTML form","example-8":"Printing data from our form","tutorial.forms":"Dealing with Forms","tutorial.oldcode":"Using old code with new versions of PHP","tutorial.whatsnext":"What's next?","tutorial":"A simple tutorial","getting-started":"Getting Started","install.general":"General Installation Considerations","install.unix.apache.example":"Installation Instructions (Apache Shared Module Version) for PHP","install.unix.apache.example-static":"Installation Instructions (Static Module Installation for Apache) for PHP","example-11":"Example commands for restarting Apache","install.unix.apache":"Apache 1.3.x on Unix systems","example-12":"","example-13":"","example-14":"","example-15":"","example-16":"","example-17":"","example-18":"","example-19":"","example-20":"","example-21":"","example-22":"","example-23":"","example-24":"","example-25":"","example-26":"","install.unix.apache2":"Apache 2.x on Unix systems","example-27":"Partial lighttpd.conf","install.unix.lighttpd-14.lighttpd-spawn":"Letting Lighttpd spawn php processes","install.unix.lighttpd-14.spawn-fcgi":"Spawning with spawn-fcgi","example-28":"Spawning FastCGI Responders","install.unix.lighttpd-14.spawn-php":"Spawning php-cgi","example-29":"Connecting to remote php-fastcgi instances","install.unix.lighttpd-14.remote-fcgi":"Connecting to remote FCGI instances","install.unix.lighttpd-14":"Lighttpd 1.4 on Unix systems","install.unix.sun.phpini":"CGI environment and recommended modifications in php.ini","install.unix.sun.specialpages":"Special use for error pages or self-made directory listings (PHP >= 4.3.3)","install.unix.sun.notes":"Note about nsapi_virtual and subrequests (PHP >= 4.3.3)","install.unix.sun":"Sun, iPlanet and Netscape servers on Sun Solaris","install.unix.commandline.testing":"Testing","install.unix.commandline.using-variables":"Using Variables","install.unix.commandline":"CGI and command line setups","install.unix.hpux":"HP-UX specific installation notes","install.unix.openbsd.ports.example":"OpenBSD Package Install Example","install.unix.openbsd.packages":"Using Binary Packages","install.unix.openbsd.ports":"Using Ports","install.unix.openbsd.faq":"Common Problems","install.unix.openbsd.older":"Older Releases","install.unix.openbsd":"OpenBSD installation notes","install.unix.solaris.required":"Required software","install.unix.solaris.packages":"Using Packages","install.unix.solaris":"Solaris specific installation tips","install.unix.debian.apt.example":"Debian Install Example with Apache 2","install.unix.debian.apt.example2":"Stopping and starting Apache once PHP is installed","install.unix.debian.apt":"Using APT","install.unix.debian.config.example":"Methods for listing additional PHP 5 packages","install.unix.debian.config.example2":"Install PHP with MySQL, cURL","install.unix.debian.config":"Better control of configuration","install.unix.debian.faq":"Common Problems","install.unix.debian":"Debian GNU\/Linux installation notes","install.unix":"Installation on Unix systems","install.macosx.packages":"Using Packages","install.macosx.bundled":"Using the bundled PHP","install.macosx.compile":"Compiling PHP on Mac OS X","install.macosx":"Installation on Mac OS X","install.windows.installer":"Windows Installer (PHP 5.1.0 and earlier)","install.windows.installer.msi.normal":"Normal Install","install.windows.installer.msi.silent":"Silent Install","install.windows.installer.msi.upgrade":"Upgrading PHP with the Install","install.windows.installer.msi":"Windows Installer (PHP 5.2 and later)","install.windows.manual.download":"Selecting and downloading the PHP distribution package","example-35":"PHP 5 package structure","install.windows.manual.package":"The PHP package structure and content","install.windows.manual.phpini":"Changing the php.ini file","install.windows.manual":"Manual Installation Steps","install.windows.iis":"Microsoft IIS","example-36":"CGI and FastCGI settings in php.ini","example-37":"Configuring FastCGI extension to handle PHP requests","install.windows.iis6.fastcgi":"Configuring IIS to process PHP requests","example-38":"Configuring file access permissions","install.windows.iis6.impersonation":"Impersonation and file system access","install.windows.iis6.defaultdoc":"Set index.php as a default document in IIS","example-39":"Configuring FastCGI and PHP recycling","install.windows.iis6.recycling":"FastCGI and PHP Recycling configuration","example-40":"Configuring FastCGI timeout settings","install.windows.iis6.timeouts":"Configuring FastCGI timeout settings","example-41":"Changing the location of php.ini file","install.windows.iis6.phpinilocation":"Changing the Location of php.ini file","install.windows.iis6":"Microsoft IIS 5.1 and IIS 6.0","install.windows.iis7.fastcgi.enable":"Enabling FastCGI support in IIS","example-42":"CGI and FastCGI settings in php.ini","install.windows.iis7.fastcgi.conf.ui":"Using IIS Manager user interface to create a handler mapping for PHP","example-43":"Creating IIS FastCGI process pool","example-44":"Creating handler mapping for PHP requests","install.windows.iis7.fastcgi.conf.cmd":"Using command line tool to create a handler mapping for PHP","install.windows.iis7.fastcgi.conf":"Configuring IIS to process PHP requests","example-45":"Determining the account used as IIS anonymous identity","example-46":"Configuring file access permissions","install.windows.iis7.impersonation":"Impersonation and file system access","example-47":"Set index.php as a default document in IIS","install.windows.iis7.defaultdoc":"Set index.php as a default document in IIS","example-48":"Configuring FastCGI and PHP recycling","install.windows.iis7.recycling":"FastCGI and PHP Recycling configuration","example-49":"Configuring FastCGI timeout settings","install.windows.iis7.timeouts":"FastCGI timeout settings","example-50":"Changing the location of php.ini file","install.windows.iis7.phpinilocation":"Changing the Location of php.ini file","install.windows.iis7":"Microsoft IIS 7.0 and later","example-51":"PHP as an Apache 1.3.x module","install.windows.apache1.module":"Installing as an Apache module","example-52":"PHP and Apache 1.3.x as CGI","install.windows.apache1.cgi":"Installing as a CGI binary","install.windows.apache1":"Apache 1.3.x on Microsoft Windows","example-53":"PHP and Apache 2.x as handler","example-54":"","install.windows.apache2.module":"Installing as an Apache handler","example-55":"PHP and Apache 2.x as CGI","install.windows.apache2.cgi":"Running PHP as CGI","example-56":"Configure Apache to run PHP as FastCGI","install.windows.apache2.fastcgi":"Running PHP under FastCGI","install.windows.apache2":"Apache 2.x on Microsoft Windows","install.windows.sun.cgi":"CGI setup on Sun, iPlanet and Netscape servers","install.windows.sun.nsapi":"NSAPI setup on Sun, iPlanet and Netscape servers","install.windows.sun.phpini":"CGI environment and recommended modifications in php.ini","install.windows.sun.specialpages":"Special use for error pages or self-made directory listings (PHP >= 4.3.3)","install.windows.sun.notes":"Note about nsapi_virtual and subrequests (PHP >= 4.3.3)","install.windows.sun":"Sun, iPlanet and Netscape servers on Microsoft Windows","example-57":"ISAPI configuration of Sambar","install.windows.sambar":"Sambar Server on Microsoft Windows","install.windows.xitami":"Xitami on Microsoft Windows","install.windows.building":"Building from source","example-58":"Enable Bzip2 extension for PHP-Windows","install.windows.extensions.overview":"PHP Extensions","install.windows.extensions":"Installation of extensions on Windows","example-59":"Registry changes","install.windows.commandline":"Command Line PHP on Microsoft Windows","install.windows":"Installation on Windows systems","install.cloud.azure":"Microsoft Azure","install.cloud.ec2":"Amazon EC2","install.cloud":"Installation on Cloud Computing platforms","install.fpm.install.compiling":"Compiling from sources","install.fpm.install":"Installation","pid":"","error-log":"","log-level":"","emergency-restart-threshold":"","emergency-restart-interval":"","process-control-timeout":"","daemonize":"","listen":"","listen-backlog":"","listen-allowed-clients":"","listen-owner":"","listen-group":"","listen-mode":"","user":"","group":"","pm":"","pm.max-chidlren":"","pm.start-servers":"","pm.min-spare-servers":"","pm.max-spare-servers":"","pm.max-requests":"","pm.status-path":"","ping.path":"","ping.response":"","request-terminate-timeout":"","request-slowlog-timeout":"","slowlog":"","rlimit-files":"","rlimit-core":"","chroot":"","chdir":"","catch-workers-output":"","example-60":"Passing environment variables and PHP settings to a pool","example-61":"set PHP settings in nginx.conf","install.fpm.configuration":"Configuration","install.fpm":"FastCGI Process Manager (FPM)","install.pecl.intro":"Introduction to PECL Installations","install.pecl.downloads":"Downloading PECL extensions","install.pecl.windows.find":"Where to find an extension?","example-62":"phpinfo call","install.pecl.windows.which":"Which extension to download?","install.pecl.windows.loading":"Loading an extension","install.pecl.windows.problemsolving":"Resolving problems","install.pecl.windows":"Installing a PHP extension on Windows","install.pecl.pear":"Compiling shared PECL extensions with the pecl command","install.pecl.phpize":"Compiling shared PECL extensions with phpize","install.pecl.php-config":"php-config","install.pecl.static":"Compiling PECL extensions statically into PHP","install.pecl":"Installation of PECL extensions","install.problems.faq":"Read the FAQ","install.problems.support":"Other problems","install.problems.bugs":"Bug reports","install.problems":"Problems?","example-63":"php.ini Environment Variables","example-64":"php.ini example","configuration.file":"The configuration file","configuration.file.per-user":".user.ini files","configuration.changes.modes":"Where a configuration setting may be set","example-65":"Apache configuration example","configuration.changes.apache":"Running PHP as an Apache module","configuration.changes.windows":"Changing PHP configuration via the Windows registry","configuration.changes.other":"Other interfaces to PHP","configuration.changes":"How to change configuration settings","configuration":"Runtime Configuration","install":"Installation and Configuration","language.basic-syntax.phptags":"PHP tags","example-66":"","example-67":"Advanced escaping using conditions","example-68":"PHP Opening and Closing Tags","language.basic-syntax.phpmode":"Escaping from HTML","language.basic-syntax.instruction-separation":"Instruction separation","language.basic-syntax.comments":"Comments","language.basic-syntax":"Basic syntax","language.types.intro":"Introduction","language.types.boolean.syntax":"Syntax","language.types.boolean.casting":"Converting to boolean","language.types.boolean":"Booleans","example-69":"Integer literals","example-70":"Octal weirdness","language.types.integer.syntax":"Syntax","example-71":"Integer overflow on a 32-bit system","example-72":"Integer overflow on a 64-bit system","language.types.integer.overflow":"Integer overflow","language.types.integer.casting.from-boolean":"From booleans","language.types.integer.casting.from-float":"From floating point numbers","language.types.integer.casting.from-string":"From strings","language.types.integer.casting.from-other":"From other types","language.types.integer.casting":"Converting to integer","language.types.integer":"Integers","warn.float-precision":"Floating point precision","language.types.float.casting":"Converting to float","language.types.float.comparison":"Comparing floats","language.types.float.nan":"NaN","language.types.float":"Floating point numbers","language.types.string.syntax.single":"Single quoted","language.types.string.syntax.double":"Double quoted","example-73":"Invalid example","example-74":"Heredoc string quoting example","example-75":"Heredoc in arguments example","example-76":"Using Heredoc to initialize static values","example-77":"Using double quotes in Heredoc","language.types.string.syntax.heredoc":"Heredoc","example-78":"Nowdoc string quoting example","example-79":"Static data example","language.types.string.syntax.nowdoc":"Nowdoc","example-80":"Simple syntax example","language.types.string.parsing.simple":"Simple syntax","language.types.string.parsing.complex":"Complex (curly) syntax","language.types.string.parsing":"Variable parsing","example-81":"Some string examples","example-82":"Differences between PHP 5.3 and PHP 5.4","language.types.string.substr":"String access and modification by character","language.types.string.syntax":"Syntax","language.types.string.useful-funcs":"Useful functions and operators","language.types.string.casting":"Converting to string","language.types.string.conversion":"String conversion to numbers","language.types.string.details":"Details of the String Type","language.types.string":"Strings","example-83":"A simple array","example-84":"Type Casting and Overwriting example","example-85":"Mixed integer and string keys","example-86":"Indexed arrays without key","example-87":"Keys not on all elements","language.types.array.syntax.array-func":"Specifying with array","example-88":"Accessing array elements","example-89":"Array dereferencing","language.types.array.syntax.accessing":"Accessing array elements with square bracket syntax","language.types.array.syntax.modifying":"Creating\/modifying with square bracket syntax","language.types.array.syntax":"Syntax","language.types.array.useful-funcs":"Useful functions","language.types.array.foo-bar.why":"So why is it bad then?","language.types.array.foo-bar":"Why is $foo[bar] wrong?","language.types.array.donts":"Array do's and don'ts","language.types.array.casting":"Converting to array","language.types.array.comparing":"Comparing","example-90":"Using array()","language.types.array.examples.loop":"Collection","language.types.array.examples.changeloop":"Changing element in the loop","example-93":"One-based index","example-94":"Filling an array","example-95":"Sorting an array","example-96":"Recursive and multi-dimensional arrays","language.types.array.examples":"Examples","language.types.array":"Arrays","language.types.object.init":"Object Initialization","language.types.object.casting":"Converting to object","language.types.object":"Objects","language.types.resource.casting":"Converting to resource","language.types.resource.self-destruct":"Freeing resources","language.types.resource":"Resources","language.types.null.syntax":"Syntax","language.types.null.casting":"Casting to NULL","language.types.null":"NULL","example-97":"Callback function examples","example-98":"Callback example using a Closure","language.types.callable.passing":"Passing","language.types.callable":"Callbacks","language.types.mixed":"mixed","language.types.number":"number","language.types.callback":"callback","language.types.void":"void","language.types.dotdotdot":"...","language.pseudo-types":"Pseudo-types and variables used in this documentation","language.types.typecasting":"Type Casting","language.types.type-juggling":"Type Juggling","language.types":"Types","example-99":"Default values of uninitialized variables","language.variables.basics":"Basics","language.variables.predefined":"Predefined Variables","example-100":"Using global","example-101":"Using $GLOBALS instead of global","example-102":"Example demonstrating superglobals and scope","language.variables.scope.global":"The global keyword","example-103":"Example demonstrating need for static variables","example-104":"Example use of static variables","example-105":"Static variables with recursive functions","example-106":"Declaring static variables","language.variables.scope.static":"Using static variables","language.variables.scope.references":"References with global and static variables","language.variables.scope":"Variable scope","example-107":"Variable property example","language.variables.variable":"Variable variables","example-108":"A simple HTML form","example-109":"Accessing data from a simple POST HTML form","example-110":"More complex form variables","language.variables.external.form.submit":"IMAGE SUBMIT variable names","language.variables.external.form":"HTML Forms (GET and POST)","example-111":"A setcookie example","language.variables.external.cookies":"HTTP Cookies","language.variables.external.dot-in-names":"Dots in incoming variable names","language.variables.determining-type-of":"Determining variable types","language.variables.external":"Variables From External Sources","language.variables":"Variables","example-112":"Valid and invalid constant names","example-113":"Defining Constants","example-114":"Defining Constants using the const keyword","language.constants.syntax":"Syntax","language.constants.predefined":"Magic constants","language.constants":"Constants","language.expressions":"Expressions","example-115":"Associativity","example-116":"Undefined order of evaluation","language.operators.precedence":"Operator Precedence","language.operators.arithmetic":"Arithmetic Operators","example-117":"Assigning by reference","language.operators.assignment.reference":"Assignment by Reference","language.operators.assignment":"Assignment Operators","example-118":"Bitwise AND, OR and XOR operations on integers","example-119":"Bitwise XOR operations on strings","example-120":"Bit shifting on integers","language.operators.bitwise":"Bitwise Operators","language.operators.comparison.types":"Comparison with Various Types","example-121":"Boolean\/null comparison","example-122":"Transcription of standard array comparison","example-123":"Assigning a default value","example-124":"Non-obvious Ternary Behaviour","language.operators.comparison.ternary":"Ternary Operator","language.operators.comparison":"Comparison Operators","language.operators.errorcontrol":"Error Control Operators","language.operators.execution":"Execution Operators","example-125":"Arithmetic Operations on Character Variables","language.operators.increment":"Incrementing\/Decrementing Operators","example-126":"Logical operators illustrated","language.operators.logical":"Logical Operators","language.operators.string":"String Operators","example-127":"Comparing arrays","language.operators.array":"Array Operators","example-128":"Using instanceof with classes","example-129":"Using instanceof with inherited classes","example-130":"Using instanceof to check if object is not an\n instanceof a class","example-131":"Using instanceof for class","example-132":"Using instanceof with other variables","example-133":"Using instanceof to test other variables","example-134":"Avoiding classname lookups and fatal errors with instanceof in PHP 5.0","language.operators.type":"Type Operators","language.operators":"Operators","control-structures.intro":"Introduction","control-structures.if":"if","control-structures.else":"else","control-structures.elseif":"elseif\/else if","control-structures.alternative-syntax":"Alternative syntax for control structures","control-structures.while":"while","control-structures.do.while":"do-while","control-structures.for":"for","control-structures.foreach.list":"Unpacking nested arrays with list()","control-structures.foreach":"foreach","control-structures.break":"break","control-structures.continue":"continue","example-135":"switch structure","example-136":"switch structure allows usage of strings","control-structures.switch":"switch","example-137":"Tick usage example","example-138":"Ticks usage example","control-structures.declare.ticks":"Ticks","example-139":"Declaring an encoding for the script.","control-structures.declare.encoding":"Encoding","control-structures.declare":"declare","function.return":"return","function.require":"require","example-140":"Basic include example","example-141":"Including within functions","example-142":"include through HTTP","example-143":"Comparing return value of include","example-144":"include and the return statement","example-145":"Using output buffering to include a PHP file into a string","function.include":"include","function.require-once":"require_once","example-146":"require_once with a case insensitive OS in PHP 4","function.include-once":"require_once","example-147":"goto example","example-148":"goto loop example","example-149":"This will not work","control-structures.goto":"goto","language.control-structures":"Control Structures","example-150":"Pseudo code to demonstrate function uses","example-151":"Conditional functions","example-152":"Functions within functions","example-153":"Recursive functions","functions.user-defined":"User-defined functions","example-154":"Passing arrays to functions","example-155":"Passing function parameters by reference","functions.arguments.by-reference":"Making arguments be passed by reference","example-156":"Use of default parameters in functions","example-157":"Using non-scalar types as default values","example-158":"Incorrect usage of default function arguments","example-159":"Correct usage of default function arguments","functions.arguments.default":"Default argument values","functions.variable-arg-list":"Variable-length argument lists","functions.arguments":"Function arguments","example-160":"Use of return","example-161":"Returning an array to get multiple values","example-162":"Returning a reference from a function","functions.returning-values":"Returning values","example-163":"Variable function example","example-164":"Variable method example","example-165":"Variable method example with static properties","functions.variable-functions":"Variable functions","functions.internal":"Internal (built-in) functions","example-166":"Anonymous function example","example-167":"Anonymous function variable assignment example","example-168":"Closures and scoping","functions.anonymous":"Anonymous functions","language.functions":"Functions","oop5.intro":"Introduction","example-169":"Simple Class definition","language.oop5.basic.class.this":"Some examples of the $this pseudo-variable","language.oop5.basic.class":"class","example-171":"Creating an instance","example-172":"Object Assignment","example-173":"Creating new objects","language.oop5.basic.new":"new","example-174":"Simple Class Inheritance","language.oop5.basic.extends":"extends","language.oop5.basic.class.class.name":"Class name resolution","language.oop5.basic.class.class":"::class","language.oop5.basic":"The Basics","example-176":"property declarations","example-177":"Example of using a nowdoc to initialize a property","language.oop5.properties":"Properties","example-178":"Defining and using a constant","example-179":"Static data example","language.oop5.constants":"Class Constants","example-180":"Autoload example","example-181":"Autoload other example","example-182":"Autoloading with exception handling for 5.3.0+","example-183":"Autoloading with exception handling for 5.3.0+ - Missing custom exception","language.oop5.autoload":"Autoloading Classes","object.construct":"","example-184":"using new unified constructors","example-185":"Constructors in namespaced classes","language.oop5.decon.constructor":"Constructor","object.destruct":"","example-186":"Destructor Example","language.oop5.decon.destructor":"Destructor","language.oop5.decon":"Constructors and Destructors","example-187":"Property declaration","language.oop5.visibility-members":"Property Visibility","example-188":"Method Declaration","language.oop5.visiblity-methods":"Method Visibility","example-189":"Accessing private members of the same object type","language.oop5.visibility-other-objects":"Visibility from other objects","language.oop5.visibility":"Visibility","language.oop5.inheritance.examples.ex1":"Inheritance Example","language.oop5.inheritance.examples":"","language.oop5.inheritance":"Object Inheritance","example-191":":: from outside the class definition","example-192":":: from inside the class definition","example-193":"Calling a parent's method","language.oop5.paamayim-nekudotayim":"Scope Resolution Operator (::)","example-194":"Static property example","example-195":"Static method example","language.oop5.static":"Static Keyword","example-196":"Abstract class example","example-197":"Abstract class example","language.oop5.abstract":"Class Abstraction","language.oop5.interfaces.implements":"implements","language.oop5.interfaces.constants":"Constants","language.oop5.interfaces.examples.ex1":"Interface example","language.oop5.interfaces.examples.ex2":"Extendable Interfaces","language.oop5.interfaces.examples.ex3":"Multiple interface inheritance","language.oop5.interfaces.examples.ex4":"Interfaces with constants","language.oop5.interfaces.examples":"Examples","language.oop5.interfaces":"Object Interfaces","language.oop5.traits.basicexample":"Trait example","language.oop5.traits.precedence.examples.ex1":"Precedence Order Example","language.oop5.traits.precedence.examples.ex2":"Alternate Precedence Order Example","language.oop5.traits.precedence":"Precedence","language.oop5.traits.multiple.ex1":"Multiple Traits Usage","language.oop5.traits.multiple":"Multiple Traits","language.oop5.traits.conflict.ex1":"Conflict Resolution","language.oop5.traits.conflict":"Conflict Resolution","language.oop5.traits.visibility.ex1":"Changing Method Visibility","language.oop5.traits.visibility":"Changing Method Visibility","language.oop5.traits.composition.ex1":"Traits Composed from Traits","language.oop5.traits.composition":"Traits Composed from Traits","language.oop5.traits.abstract.ex1":"Express Requirements by Abstract Methods","language.oop5.traits.abstract":"Abstract Trait Members","language.oop5.traits.static.ex1":"Static Variables","language.oop5.traits.static.ex2":"Static Methods","language.oop5.traits.static":"Static Trait Members","language.oop5.traits.properties.example":"Defining Properties","language.oop5.traits.properties.conflicts":"Conflict Resolution","language.oop5.traits.properties":"Properties","language.oop5.traits":"Traits","language.oop5.overloading.changelog":"Changelog","object.set":"","object.get":"","object.isset":"","object.unset":"","example-214":"Overloading properties via the __get(),\n __set(), __isset()\n and __unset() methods","language.oop5.overloading.members":"Property overloading","object.call":"","object.callstatic":"","example-215":"Overloading methods via the __call()\n and __callStatic() methods","language.oop5.overloading.methods":"Method overloading","language.oop5.overloading":"Overloading","example-216":"Simple Object Iteration","example-217":"Object Iteration implementing Iterator","example-218":"Object Iteration implementing IteratorAggregate","language.oop5.iterations":"Object Iteration","object.sleep":"","object.wakeup":"","example-219":"Sleep and wakeup","language.oop5.magic.sleep":"__sleep() and\n __wakeup()","object.tostring":"","example-220":"Simple example","language.oop5.magic.tostring":"__toString()","object.invoke":"","example-221":"Using __invoke()","language.oop5.magic.invoke":"__invoke()","object.set-state":"","example-222":"Using __set_state() (since PHP 5.1.0)","language.oop5.magic.set-state":"__set_state()","language.oop5.magic":"Magic Methods","example-223":"Final methods example","example-224":"Final class example","language.oop5.final":"Final Keyword","object.clone":"","example-225":"Cloning an object","language.oop5.cloning":"Object Cloning","example-226":"Example of object comparison in PHP 5","language.oop5.object-comparison":"Comparing Objects","example-227":"Type Hinting examples","language.oop5.typehinting":"Type Hinting","example-228":"self:: usage","language.oop5.late-static-bindings.self":"Limitations of self::","example-229":"static:: simple usage","example-230":"static:: usage in a non-static context","example-231":"Forwarding and non-forwarding calls","language.oop5.late-static-bindings.usage":"Late Static Bindings' usage","language.oop5.late-static-bindings":"Late Static Bindings","example-232":"References and Objects","language.oop5.references":"Objects and references","language.oop5.serialization":"Object Serialization","language.oop5.changelog":"OOP Changelog","language.oop5":"Classes and Objects","example-233":"Namespace syntax example","language.namespaces.rationale":"Namespaces overview","example-234":"Declaring a single namespace","example-235":"Declaring a single namespace","language.namespaces.definition":"Defining namespaces","example-236":"Declaring a single namespace with hierarchy","language.namespaces.nested":"Declaring sub-namespaces","example-237":"Declaring multiple namespaces, simple combination syntax","example-238":"Declaring multiple namespaces, bracketed syntax","example-239":"Declaring multiple namespaces and unnamespaced code","example-240":"Declaring multiple namespaces and unnamespaced code","language.namespaces.definitionmultiple":"Defining multiple namespaces in the same file","example-241":"Accessing global classes, functions and constants from within a namespace","language.namespaces.basics":"Using namespaces: Basics","example-242":"Dynamically accessing elements","example-243":"Dynamically accessing namespaced elements","language.namespaces.dynamic":"Namespaces and dynamic language features","example-244":"__NAMESPACE__ example, namespaced code","example-245":"__NAMESPACE__ example, global code","example-246":"using __NAMESPACE__ for dynamic name construction","example-247":"the namespace operator, inside a namespace","example-248":"the namespace operator, in global code","language.namespaces.nsconstants":"namespace keyword and __NAMESPACE__ constant","example-249":"importing\/aliasing with the use operator","example-250":"importing\/aliasing with the use operator, multiple use statements combined","example-251":"Importing and dynamic names","example-252":"Importing and fully qualified names","example-253":"Illegal importing rule","language.namespaces.importing.scope":"Scoping rules for importing","language.namespaces.importing":"Using namespaces: Aliasing\/Importing","example-254":"Using global space specification","language.namespaces.global":"Global space","example-255":"Accessing global classes inside a namespace","example-256":"global functions\/constants fallback inside a namespace","language.namespaces.fallback":"Using namespaces: fallback to global function\/constant","example-257":"Name resolutions illustrated","language.namespaces.rules":"Name resolution rules","example-258":"Accessing global classes outside a namespace","example-259":"Accessing global classes outside a namespace","language.namespaces.faq.shouldicare":"If I don't use namespaces, should I care about any of this?","example-260":"Accessing internal classes in namespaces","language.namespaces.faq.globalclass":"How do I use internal or global classes in a namespace?","example-261":"Accessing internal classes, functions or constants in namespaces","language.namespaces.faq.innamespace":"How do I use namespaces classes, functions, or constants in their own\n namespace?","example-262":"Fully Qualified names","language.namespaces.faq.full":"How does a name like \\my\\name or \\name\n resolve?","example-263":"Qualified names","language.namespaces.faq.qualified":"How does a name like my\\name resolve?","example-264":"Unqualified class names","language.namespaces.faq.shortname1":"How does an unqualified class name like name resolve?","example-265":"Unqualified function or constant names","language.namespaces.faq.shortname2":"How does an unqualified function name or unqualified constant name\n like name resolve?","language.namespaces.faq.conflict":"Import names cannot conflict with classes defined in the same file.","language.namespaces.faq.nested":"Nested namespaces are not allowed.","language.namespaces.faq.nofuncconstantuse":"Neither functions nor constants can be imported via the use\n statement.","example-266":"Dangers of using namespaced names inside a double-quoted string","language.namespaces.faq.quote":"Dynamic namespace names (quoted identifiers) should escape backslash","example-267":"Undefined constants","language.namespaces.faq.constants":"Undefined Constants referenced using any backslash die with fatal error","example-268":"Undefined constants","language.namespaces.faq.builtinconst":"Cannot override special constants NULL, TRUE, FALSE, ZEND_THREAD_SAFE or ZEND_DEBUG_BUILD","language.namespaces.faq":"FAQ: things you need to know about namespaces","language.namespaces":"Namespaces","example-269":"Throwing an Exception","example-270":"Exception handling with a finally block","example-271":"Nested Exception","example-272":"The Built in Exception class","example-273":"Extending the Exception class (PHP 5.3.0+)","language.exceptions.extending":"Extending Exceptions","language.exceptions":"Exceptions","example-274":"Implementing range as a generator","language.generators.overview":"Generators overview","example-275":"A simple example of yielding values","example-276":"Yielding a key\/value pair","control-structures.yield.associative":"Yielding values with keys","example-277":"Yielding NULLs","control-structures.yield.null":"Yielding null values","example-278":"Yielding values by reference","control-structures.yield.references":"Yielding by reference","control-structures.yield":"yield keyword","language.generators.object":"Generator objects","language.generators.syntax":"Generator syntax","language.generators.comparison":"Comparing generators with Iterator objects","language.generators":"Generators","language.references.whatare":"What References Are","example-279":"Using references with undefined variables","example-280":"Referencing global variables inside functions","example-281":"References and foreach statement","language.references.whatdo.assign":"Assign By Reference","language.references.whatdo.pass":"Pass By Reference","language.references.whatdo.return":"Return By Reference","language.references.whatdo":"What References Do","language.references.arent":"What References Are Not","language.references.pass":"Passing by Reference","language.references.return":"Returning References","language.references.unset":"Unsetting References","references.global":"global References","references.this":"$this","language.references.spot":"Spotting References","language.references":"References Explained","language.variables.superglobals":"Superglobals are built-in variables that are always available in all scopes","variable.globals.basic":"$GLOBALS example","reserved.variables.globals":"References all variables available in global scope","variable.server.basic":"$_SERVER example","reserved.variables.server":"Server and execution environment information","variable.get.basic":"$_GET example","reserved.variables.get":"HTTP GET variables","variable.post.basic":"$_POST example","reserved.variables.post":"HTTP POST variables","reserved.variables.files":"HTTP File Upload variables","reserved.variables.request":"HTTP Request variables","reserved.variables.session":"Session variables","variable.env.basic":"$_ENV example","reserved.variables.environment":"Environment variables","variable.cookie.basic":"$_COOKIE example","reserved.variables.cookies":"HTTP Cookies","variable.phperrormsg.basic":"$php_errormsg example","reserved.variables.phperrormsg":"The previous error message","reserved.variables.httprawpostdata":"Raw POST data","variable.httpresponseheader.basic":"$http_response_header example","reserved.variables.httpresponseheader":"HTTP response headers","variable.argc.basic":"$argc example","reserved.variables.argc":"The number of arguments passed to script","variable.argv.basic":"$argv example","reserved.variables.argv":"Array of arguments passed to script","reserved.variables":"Predefined Variables","exception.intro":"Introduction","exception.synopsis":"Class synopsis","exception.props.message":"","exception.props.code":"","exception.props.file":"","exception.props.line":"","exception.props":"Properties","exception.construct":"Construct the exception","example-292":"Exception::getMessage example","exception.getmessage":"Gets the Exception message","example-293":"Exception::getPrevious example","exception.getprevious":"Returns previous Exception","example-294":"Exception::getCode example","exception.getcode":"Gets the Exception code","example-295":"Exception::getFile example","exception.getfile":"Gets the file in which the exception occurred","example-296":"Exception::getLine example","exception.getline":"Gets the line in which the exception occurred","example-297":"Exception::getTrace example","exception.gettrace":"Gets the stack trace","example-298":"Exception::getTraceAsString example","exception.gettraceasstring":"Gets the stack trace as a string","example-299":"Exception::__toString example","exception.tostring":"String representation of the exception","exception.clone":"Clone the exception","class.exception":"Exception","errorexception.intro":"Introduction","errorexception.synopsis":"Class synopsis","errorexception.props.severity":"","errorexception.props":"Properties","errorexception.example.error-handler":"Use set_error_handler to change error messages into ErrorException.","errorexception.examples":"Examples","errorexception.construct":"Constructs the exception","example-301":"ErrorException::getSeverity example","errorexception.getseverity":"Gets the exception severity","class.errorexception":"ErrorException","reserved.exceptions":"Predefined Exceptions","traversable.intro":"Introduction","traversable.synopsis":"Interface synopsis","class.traversable":"The Traversable interface","iterator.intro":"Introduction","iterator.synopsis":"Interface synopsis","iterator.iterators":"Predefined iterators","iterator.example.basic":"Basic usage","iterator.examples":"Examples","iterator.current":"Return the current element","iterator.key":"Return the key of the current element","iterator.next":"Move forward to next element","iterator.rewind":"Rewind the Iterator to the first element","iterator.valid":"Checks if current position is valid","class.iterator":"The Iterator interface","iteratoraggregate.intro":"Introduction","iteratoraggregate.synopsis":"Interface synopsis","iteratoraggregate.example.basic":"Basic usage","iteratoraggregate.examples":"","iteratoraggregate.getiterator":"Retrieve an external iterator","class.iteratoraggregate":"The IteratorAggregate interface","arrayaccess.intro":"Introduction","arrayaccess.synopsis":"Interface synopsis","arrayaccess.example.basic":"Basic usage","arrayaccess.examples":"","example-305":"ArrayAccess::offsetExists example","arrayaccess.offsetexists":"Whether a offset exists","arrayaccess.offsetget":"Offset to retrieve","arrayaccess.offsetset":"Offset to set","arrayaccess.offsetunset":"Offset to unset","class.arrayaccess":"The ArrayAccess interface","serializable.intro":"Introduction","serializable.synopsis":"Interface synopsis","serializable.example.basic":"Basic usage","serializable.examples":"","serializable.serialize":"String representation of object","serializable.unserialize":"Constructs the object","class.serializable":"The Serializable interface","closure.intro":"Introduction","closure.synopsis":"Class synopsis","closure.construct":"Constructor that disallows instantiation","example-307":"Closure::bind example","closure.bind":"Duplicates a closure with a specific bound object and class scope","example-308":"Closure::bindTo example","closure.bindto":"Duplicates the closure with a new bound object and class scope","class.closure":"The Closure class","generator.intro":"Introduction","generator.synopsis":"Class synopsis","generator.current":"Get the yielded value","generator.key":"Get the yielded key","generator.next":"Resume execution of the generator","generator.rewind":"Rewind the iterator","example-309":"Using Generator::send to inject values","generator.send":"Send a value to the generator","generator.throw":"Throw an exception into the generator","generator.valid":"Check if the iterator has been closed","generator.wakeup":"Serialize callback","class.generator":"The Generator class","reserved.interfaces":"Predefined Interfaces and Classes","context.socket.bindto":"","context.socket.backlog":"","context.socket.example-bindto":"Basic bindto usage example","context.socket":"Socket context option listing","context.http.method":"","context.http.header":"","context.http.user-agent":"","context.http.content":"","context.http.proxy":"","context.http.request-fulluri":"","context.http.follow-location":"","context.http.max-redirects":"","context.http.protocol-version":"","context.http.timeout":"","context.http.ignore-errors":"","context.http.example-post":"Fetch a page and send POST data","context.http.example-fetch-ignore-redirect":"Ignore redirects but fetch headers and content","context.http":"HTTP context option listing","context.ftp.overwrite":"","context.ftp.resume-pos":"","context.ftp.proxy":"","context.ftp":"FTP context option listing","context.ssl.verify-peer":"","context.ssl.allow-self-signed":"","context.ssl.cafile":"","context.ssl.capath":"","context.ssl.local-cert":"","context.ssl.passphrase":"","context.ssl.cn-match":"","context.ssl.verify-depth":"","context.ssl.ciphers":"","context.ssl.capture-peer-cert":"","context.ssl.capture-peer-cert-chain":"","context.ssl.sni-enabled":"","context.ssl.sni-server-name":"","context.ssl.disable-compression":"","context.ssl":"SSL context option listing","context.curl.method":"","context.curl.header":"","context.curl.user-agent":"","context.curl.content":"","context.curl.proxy":"","context.curl.max-redirects":"","context.curl.curl-verify-ssl-host":"","context.curl.curl-verify-ssl-peer":"","context.curl.example-post":"Fetch a page and send POST data","context.curl":"CURL context option listing","context.phar.compress":"","context.phar.metadata":"","context.phar":"Phar context option listing","context.params.notification":"","context.params":"Context parameter listing","context":"Context options and parameters","wrappers.file":"Accessing local filesystem","wrappers.http.example.basic":"Detecting which URL we ended up on after redirects","wrappers.http":"Accessing HTTP(s) URLs","wrappers.ftp":"Accessing FTP(s) URLs","example-315":"php:\/\/temp\/maxmemory","example-316":"php:\/\/filter\/resource=<stream to be filtered>","example-317":"php:\/\/filter\/read=<filter list to apply to read chain>","example-318":"php:\/\/filter\/write=<filter list to apply to write chain>","wrappers.php":"Accessing various I\/O streams","wrappers.compression":"Compression Streams","example-319":"Print data:\/\/ contents","example-320":"Fetch the media type","wrappers.data":"Data (RFC 2397)","example-321":"Basic usage","wrappers.glob":"Find pathnames matching pattern","wrappers.phar":"PHP Archive","example-322":"Opening a stream from an active connection","example-323":"This $session variable must be kept available!","wrappers.ssh2":"Secure Shell 2","example-324":"Traversing a RAR archive","example-325":"Opening an encrypted file (header encryption)","wrappers.rar":"RAR","wrappers.audio":"Audio streams","wrappers.expect":"Process Interaction Streams","wrappers":"Supported Protocols and Wrappers","langref":"Language Reference","security.intro":"Introduction","security.general":"General considerations","security.cgi-bin.attacks":"Possible attacks","security.cgi-bin.default":"Case 1: only public files served","security.cgi-bin.force-redirect":"Case 2: using cgi.force_redirect","security.cgi-bin.doc-root":"Case 3: setting doc_root or user_dir","security.cgi-bin.shell":"Case 4: PHP parser outside of web tree","security.cgi-bin":"Installed as CGI binary","security.apache":"Installed as an Apache module","example-326":"Poor variable checking leads to....","example-327":"... A filesystem attack","example-328":"More secure file name checking","example-329":"More secure file name checking","example-330":"Script vulnerable to null bytes","example-331":"Correctly validating the input","security.filesystem.nullbytes":"Null bytes related issues","security.filesystem":"Filesystem Security","security.database.design":"Designing Databases","security.database.connection":"Connecting to Database","example-332":"Using hashed password field","security.database.storage":"Encrypted Storage Model","example-333":"Splitting the result set into pages ... and making superusers\n (PostgreSQL)","example-334":"Listing out articles ... and some passwords (any database server)","example-335":"From resetting a password ... to gaining more privileges (any database server)","example-336":"Attacking the database hosts operating system (MSSQL Server)","example-337":"A more secure way to compose a query for paging","security.database.avoiding":"Avoidance Techniques","security.database.sql-injection":"SQL Injection","security.database":"Database Security","example-338":"Attacking Variables with a custom HTML page","example-339":"Exploiting common debugging variables","example-340":"Finding dangerous variables with E_ALL","security.errors":"Error Reporting","example-341":"Example misuse with register_globals = on","example-342":"Example use of sessions with register_globals on or off","example-343":"Detecting simple variable poisoning","security.globals":"Using Register Globals","example-344":"Dangerous Variable Usage","security.variables":"User Submitted Data","security.magicquotes.what":"What are Magic Quotes","security.magicquotes.why":"Why did we use Magic Quotes","security.magicquotes.whynot":"Why not to use Magic Quotes","example-345":"Disabling magic quotes server side","example-346":"Disabling magic quotes at runtime","security.magicquotes.disabling":"Disabling Magic Quotes","security.magicquotes":"Magic Quotes","example-347":"Hiding PHP as another language","example-348":"Using unknown types for PHP extensions","example-349":"Using HTML types for PHP extensions","security.hiding":"Hiding PHP","security.current":"Keeping Current","security":"Security","example-350":"Basic HTTP Authentication example","example-351":"Digest HTTP Authentication example","example-352":"HTTP Authentication example forcing a new name\/password","features.http-auth":"HTTP authentication with PHP","features.cookies":"Cookies","features.sessions":"Sessions","example-353":"A simple XForms search form","example-354":"Using an XForm to populate $_POST","features.xforms":"Dealing with XForms","example-355":"File Upload Form","example-356":"Validating file uploads","example-357":"Uploading array of files","features.file-upload.post-method":"POST method uploads","features.file-upload.errors":"Error Messages Explained","features.file-upload.common-pitfalls":"Common Pitfalls","example-358":"Uploading multiple files","features.file-upload.multiple":"Uploading multiple files","example-359":"Saving HTTP PUT files","features.file-upload.put-method":"PUT method support","features.file-upload":"Handling file uploads","example-360":"Getting the title of a remote page","example-361":"Storing data on a remote server","features.remote-files":"Using remote files","features.connection-handling":"Connection handling","features.persistent-connections":"Persistent Database Connections","ini.safe-mode":"","ini.safe-mode-gid":"","ini.safe-mode-include-dir":"","ini.safe-mode-exec-dir":"","ini.safe-mode-allowed-env-vars":"","ini.safe-mode-protected-env-vars":"","ini.sect.safe-mode":"Security and Safe Mode","features.safe-mode.functions":"Functions restricted\/disabled by safe mode","features.safe-mode":"Safe Mode","features.commandline.introduction":"Introduction","example-362":"Example showing the difference to the CGI\n SAPI:","features.commandline.differences":"Differences to other SAPIs","example-363":"","example-364":"Printing built in (and loaded) PHP and Zend modules","example-365":"Getting a syntax error when using double quotes","example-366":"Using single quotes to prevent the shell's variable\n substitution","example-367":"Using the -B, -R and\n -E options to count the number of lines of a\n project.","example-368":"Using -v to get the SAPI\n name and the version of PHP and Zend","example-369":"--ini example","example-370":"basic --rf usage","example-371":"--rc example","example-372":"--re example","example-373":"--ri example","features.commandline.options":"Command line options","example-374":"Execute PHP script as shell script","example-375":"Script intended to be run from command line (script.php)","example-376":"Batch file to run a command line PHP script (script.bat)","features.commandline.usage":"Executing PHP files","features.commandline.io-streams":"Input\/output streams","example-377":"Executing code using the interactive shell","example-378":"Tab completion","example-379":"Setting php.ini settings in the interactive shell","features.commandline.interactive":"Interactive shell","example-380":"Starting the web server","example-381":"Starting with a specific document root directory","example-382":"Using a Router Script","example-383":"Checking for CLI Web Server Use","example-384":"Handling Unsupported File Types","example-385":"Accessing the CLI Web Server From Remote Machines","features.commandline.webserver":"Built-in web server","ini.cli-server.color":"","features.commandline.ini":"INI settings","features.commandline":"Using PHP from the command line","example-386":"Creating a new zval container","example-387":"Displaying zval information","example-388":"Increasing refcount of a zval","example-389":"Decreasing zval refcount","example-390":"Creating a array zval","example-391":"Adding already existing element to an array","example-392":"Removing an element from an array","example-393":"Adding the array itself as an element of it self","example-394":"Unsetting $a","features.gc.compound-types":"Compound Types","features.gc.cleanup-problems":"Cleanup Problems","features.gc.refcounting-basics":"Reference Counting Basics","features.gc.collecting-cycles":"Collecting Cycles","example-395":"Memory usage example","features.gc.performance-considerations.reduced-mem":"Reduced Memory Usage","example-396":"GC performance influences","example-397":"Running the above script","features.gc.performance-considerations.slowdowns":"Run-Time Slowdowns","example-398":"Recompiling PHP to enable GC benchmarking","example-399":"GC statistics","features.gc.performance-considerations.internal-stats":"PHP's Internal GC Statistics","features.gc.performance-considerations.conclusion":"Conclusion","features.gc.performance-considerations":"Performance Considerations","features.gc":"Garbage Collection","features.dtrace.introduction":"Introduction to PHP and DTrace","features.dtrace.install":"Configuring PHP for DTrace Static Probes","features.dtrace.static-probes":"DTrace Static Probes in Core PHP","features.dtrace.list-probes":"Listing DTrace Static Probes in PHP","example-400":"all_probes.d for tracing all PHP Static Probes with DTrace","features.dtrace.examples":"DTrace with PHP Example","features.dtrace.references":"See Also","features.dtrace.dtrace":"Using PHP and DTrace","features.dtrace.systemtap-install":"Installing PHP with SystemTap","features.dtrace.systemtap-list-probes":"Listing Static Probes with SystemTap","example-401":"all_probes.stp for tracing all PHP Static Probes with SystemTap","features.dtrace.systemtap-examples":"SystemTap with PHP Example","features.dtrace.systemtap":"Using SystemTap with PHP DTrace Static Probes","features.dtrace":"DTrace Dynamic Tracing","features":"Features","funcrefinfo":"","intro.apc":"Introduction","apc.requirements":"Requirements","apc.installation":"Installation","ini.apc.enabled":"","ini.apc.shm-segments":"","ini.apc.shm-size":"","ini.apc.shm-strings-buffer":"","ini.apc.optimization":"","ini.apc.num-files-hint":"","ini.apc.user-entries-hint":"","ini.apc.ttl":"","ini.apc.user-ttl":"","ini.apc.gc-ttl":"","ini.apc.cache-by-default":"","ini.apc.filters":"","ini.apc.mmap-file-mask":"","ini.apc.slam-defense":"","ini.apc.file-update-protection":"","ini.apc.enable-cli":"","ini.apc.max-file-size":"","ini.apc.stat":"","ini.apc.write-lock":"","ini.apc.report-autofilter":"","ini.apc.serializer":"","ini.apc.include-once-override":"","example-402":"An apc.rfc1867 example","ini.apc.rfc1867":"","ini.apc.rfc1867-prefix":"","ini.apc.rfc1867-name":"","ini.apc.rfc1867-freq":"","ini.apc.rfc1867-ttl":"","ini.apc.localcache":"","ini.apc.localcache.size":"","ini.apc.coredump-unmap":"","ini.apc.stat-ctime":"","ini.apc.canonicalize":"","ini.apc.preload-path":"","ini.apc.use-request-time":"","ini.apc.file-md5":"","ini.apc.lazy-functions":"","ini.apc.lazy-classes":"","apc.configuration":"Runtime Configuration","apc.resources":"Resource Types","apc.setup":"Installing\/Configuring","constant.apc-bin-verify-crc32":"","constant.apc-bin-verify-md5":"","constant.apc-iter-all":"","constant.apc-iter-atime":"","constant.apc-iter-ctime":"","constant.apc-iter-device":"","constant.apc-iter-dtime":"","constant.apc-iter-filename":"","constant.apc-iter-inode":"","constant.apc-iter-key":"","constant.apc-iter-md5":"","constant.apc-iter-mem-size":"","constant.apc-iter-mtime":"","constant.apc-iter-none":"","constant.apc-iter-num-hits":"","constant.apc-iter-refcount":"","constant.apc-iter-ttl":"","constant.apc-iter-type":"","constant.apc-iter-value":"","constant.apc-list-active":"","constant.apc-list-deleted":"","apc.constants":"Predefined Constants","example-403":"A apc_add example","function.apc-add":"Cache a new variable in the data store","function.apc-bin-dump":"Get a binary dump of the given files and user variables","function.apc-bin-dumpfile":"Output a binary dump of cached files and user variables to a file","example-404":"apc_bin_load example","function.apc-bin-load":"Load a binary dump into the APC file\/user cache","function.apc-bin-loadfile":"Load a binary dump from a file into the APC file\/user cache","example-405":"A apc_cache_info example","function.apc-cache-info":"Retrieves cached information from APC's data store","example-406":"apc_cas example","function.apc-cas":"Updates an old value with a new value","function.apc-clear-cache":"Clears the APC cache","function.apc-compile-file":"Stores a file in the bytecode cache, bypassing all filters.","example-407":"apc_dec example","function.apc-dec":"Decrease a stored number","example-408":"apc_define_constants example","function.apc-define-constants":"Defines a set of constants for retrieval and mass-definition","example-409":"apc_delete_file example","function.apc-delete-file":"Deletes files from the opcode cache","example-410":"A apc_delete example","function.apc-delete":"Removes a stored variable from the cache","example-411":"apc_exists example","function.apc-exists":"Checks if APC key exists","example-412":"A apc_fetch example","function.apc-fetch":"Fetch a stored variable from the cache","example-413":"apc_inc example","function.apc-inc":"Increase a stored number","example-414":"apc_load_constants example","function.apc-load-constants":"Loads a set of constants from the cache","example-415":"A apc_sma_info example","function.apc-sma-info":"Retrieves APC's Shared Memory Allocation information","example-416":"A apc_store example","function.apc-store":"Cache a variable in the data store","ref.apc":"APC Functions","apciterator.intro":"Introduction","apciterator.synopsis":"Class synopsis","example-417":"A APCIterator::__construct example","apciterator.construct":"Constructs an APCIterator iterator object","apciterator.current":"Get current item","apciterator.gettotalcount":"Get total count","apciterator.gettotalhits":"Get total cache hits","apciterator.gettotalsize":"Get total cache size","apciterator.key":"Get iterator key","apciterator.next":"Move pointer to next item","apciterator.rewind":"Rewinds iterator","apciterator.valid":"Checks if current position is valid","class.apciterator":"The APCIterator class","book.apc":"Alternative PHP Cache","intro.apd":"Introduction","apd.requirements":"Requirements","apd.installation":"Installation","apd.installwin32":"Building on Win32","ini.apd.dumpdir":"","ini.apd.statement-tracing":"","apd.configuration":"Runtime Configuration","apd.resources":"Resource Types","apd.setup":"Installing\/Configuring","apd.constants":"Predefined Constants","apd.examples.usage":"How to use PHP-APD in your scripts","apd.examples":"Examples","apd.contact":"Contact information","example-418":"Typical session using tcplisten","function.apd-breakpoint":"Stops the interpreter and waits on a CR from the socket","example-419":"apd_callstack example","function.apd-callstack":"Returns the current call stack as an array","example-420":"apd_clunk example","function.apd-clunk":"Throw a warning and a callstack","example-421":"apd_continue example","function.apd-continue":"Restarts the interpreter","example-422":"apd_croak example","function.apd-croak":"Throw an error, a callstack and then exit","example-423":"apd_dump_function_table example","function.apd-dump-function-table":"Outputs the current function table","example-424":"apd_dump_persistent_resources example","function.apd-dump-persistent-resources":"Return all persistent resources as an array","example-425":"apd_dump_regular_resources example","function.apd-dump-regular-resources":"Return all current regular resources as an array","example-426":"apd_echo example","function.apd-echo":"Echo to the debugging socket","example-427":"apd_get_active_symbols example","function.apd-get-active-symbols":"Get an array of the current variables names in the local scope","example-428":"apd_set_pprof_trace example","function.apd-set-pprof-trace":"Starts the session debugging","example-429":"apd_set_session_trace_socket example","function.apd-set-session-trace-socket":"Starts the remote session debugging","example-430":"apd_set_session_trace example","function.apd-set-session-trace":"Starts the session debugging","example-431":"apd_set_session example","function.apd-set-session":"Changes or sets the current debugging level","example-432":"override_function example","function.override-function":"Overrides built-in functions","example-433":"rename_function example","function.rename-function":"Renames orig_name to new_name in the global function table","ref.apd":"APD Functions","book.apd":"Advanced PHP debugger","intro.bcompiler":"Introduction","bcompiler.requirements":"Requirements","bcompiler.installation":"Installation","bcompiler.configuration":"Runtime Configuration","bcompiler.resources":"Resource Types","bcompiler.setup":"Installing\/Configuring","bcompiler.constants":"Predefined Constants","bcompiler.contact":"Contact Information","example-434":"bcompiler_load_exe example","function.bcompiler-load-exe":"Reads and creates classes from a bcompiler exe file","example-435":"bcompiler_load example","function.bcompiler-load":"Reads and creates classes from a bz compressed file","example-436":"bcompiler_parse_class example","function.bcompiler-parse-class":"Reads the bytecodes of a class and calls back to a user function","example-437":"bcompiler_read example","function.bcompiler-read":"Reads and creates classes from a filehandle","example-438":"bcompiler_write_class example","function.bcompiler-write-class":"Writes a defined class as bytecodes","example-439":"bcompiler_write_constant example","function.bcompiler-write-constant":"Writes a defined constant as bytecodes","example-440":"bcompiler_write_exe_footer example","function.bcompiler-write-exe-footer":"Writes the start pos, and sig to the end of a exe type file","example-441":"bcompiler_write_file example","function.bcompiler-write-file":"Writes a php source file as bytecodes","example-442":"bcompiler_write_footer example","function.bcompiler-write-footer":"Writes the single character \\x00 to indicate End of compiled data","example-443":"bcompiler_write_function example","function.bcompiler-write-function":"Writes a defined function as bytecodes","example-444":"bcompiler_write_functions_from_file example","function.bcompiler-write-functions-from-file":"Writes all functions defined in a file as bytecodes","example-445":"bcompiler_write_header example","function.bcompiler-write-header":"Writes the bcompiler header","function.bcompiler-write-included-filename":"Writes an included file as bytecodes","ref.bcompiler":"bcompiler Functions","book.bcompiler":"PHP bytecode Compiler","intro.blenc":"Introduction","blenc.requirements":"Requirements","blenc.installation":"Installation","ini.blenc.key-file":"","blenc.configuration":"Runtime Configuration","blenc.resources":"Resource Types","blenc.setup":"Installing\/Configuring","constant.blenc-ext-version":"","blenc.constants":"Predefined Constants","example-446":"blenc_encrypt example","function.blenc-encrypt":"Encrypt a PHP script with BLENC.","ref.blenc":"Blenc Functions","book.blenc":"Blenc - BLowfish ENCoder for PHP source scripts","intro.errorfunc":"Introduction","errorfunc.requirements":"Requirements","errorfunc.installation":"Installation","ini.error-reporting":"PHP Constants outside of PHP","ini.display-errors":"","ini.display-startup-errors":"","ini.log-errors":"","ini.log-errors-max-len":"","ini.ignore-repeated-errors":"","ini.ignore-repeated-source":"","ini.report-memleaks":"","ini.track-errors":"","ini.html-errors":"","ini.xmlrpc-errors":"","ini.xmlrpc-error-number":"","ini.docref-root":"","ini.docref-ext":"","ini.error-prepend-string":"","ini.error-append-string":"","ini.error-log":"","errorfunc.configuration":"Runtime Configuration","errorfunc.resources":"Resource Types","errorfunc.setup":"Installing\/Configuring","errorfunc.constants.errorlevels":"Errors and Logging","errorfunc.constants":"Predefined Constants","example-447":"Using error handling in a script","errorfunc.examples":"Examples","example-448":"debug_backtrace example","function.debug-backtrace":"Generates a backtrace","example-449":"debug_print_backtrace example","function.debug-print-backtrace":"Prints a backtrace","example-450":"An error_get_last example","function.error-get-last":"Get the last occurred error","example-451":"error_log examples","function.error-log":"Send an error message to the defined error handling routines","example-452":"error_reporting examples","function.error-reporting":"Sets which PHP errors are reported","example-453":"restore_error_handler example","function.restore-error-handler":"Restores the previous error handler function","example-454":"restore_exception_handler example","function.restore-exception-handler":"Restores the previously defined exception handler function","example-455":"Error handling with set_error_handler and trigger_error","function.set-error-handler":"Sets a user-defined error handler function","example-456":"set_exception_handler example","function.set-exception-handler":"Sets a user-defined exception handler function","example-457":"trigger_error example","function.trigger-error":"Generates a user-level error\/warning\/notice message","function.user-error":"Alias of trigger_error","ref.errorfunc":"Error Handling Functions","book.errorfunc":"Error Handling and Logging","intro.htscanner":"Introduction","htscanner.requirements":"Requirements","htscanner.installation":"Installation","ini.htscanner.config-file":"","ini.htscanner.default-docroot":"","ini.htscanner.default-ttl":"","ini.htscanner.stop-on-error":"","htscanner.configuration":"Runtime Configuration","htscanner.resources":"Resource Types","htscanner.setup":"Installing\/Configuring","book.htscanner":"htaccess-like support for all SAPIs","intro.inclued":"Introduction","inclued.requirements":"Requirements","inclued.installation":"Installation","ini.inclued.enabled":"","ini.inclued.dumpdir":"","inclued.configuration":"Runtime Configuration","inclued.resources":"Resource Types","inclued.setup":"Installing\/Configuring","inclued.constants":"Predefined Constants","example-458":"Getting the data within the PHP application itself (function)","example-459":"Example use of gengraph.php","example-460":"Listing data via inclued dumps (configuration)","inclued.examples-implementation":"Example that implements inclued into an application","inclued.examples":"Examples","example-461":"inclued_get_data example","function.inclued-get-data":"Get the inclued data","ref.inclued":"inclued Functions","book.inclued":"Inclusion hierarchy viewer","intro.memtrack":"Introduction","memtrack.requirements":"Requirements","memtrack.installation":"Installation","ini.memtrack.enabled":"","ini.memtrack.soft-limit":"","ini.memtrack.hard-limit":"","ini.memtrack.vm-limit":"","ini.memtrack.ignore-functions":"","memtrack.ini":"Runtime Configuration","memtrack.resources":"Resource Types","memtrack.setup":"Installing\/Configuring","memtrack.constants":"Predefined Constants","example-462":"Creating large array in a function","memtrack.examples.basic":"Basic usage","memtrack.examples":"Examples","book.memtrack":"Memtrack","intro.opcache":"Introduction","opcache.requirements":"Requirements","opcache.installation.bundled":"PHP 5.5.0 and later","opcache.installation.pecl":"PHP 5.2, 5.3 and 5.4","opcache.installation.recommended":"Recommended php.ini settings","opcache.installation":"Installation","ini.opcache.enable":"","ini.opcache.enable-cli":"","ini.opcache.memory-consumption":"","ini.opcache.interned-strings-buffer":"","ini.opcache.max-accelerated-files":"","ini.opcache.max-wasted-percentage":"","ini.opcache.use-cwd":"","ini.opcache.validate-timestamps":"","ini.opcache.revalidate-freq":"","ini.opcache.revalidate-path":"","ini.opcache.save-comments":"","ini.opcache.load-comments":"","ini.opcache.fast-shutdown":"","ini.opcache.enable-file-override":"","ini.opcache.optimization-level":"","ini.opcache.inherited-hack":"","ini.opcache.dups-fix":"","ini.opcache.blacklist-filename":"","ini.opcache.max-file-size":"","ini.opcache.consistency-checks":"","ini.opcache.force-restart-timeout":"","ini.opcache.error-log":"","ini.opcache.log-verbosity-level":"","ini.opcache.preferred-memory-model":"","ini.opcache.protect-memory":"","ini.opcache.mmap-base":"","opcache.configuration":"Runtime Configuration","opcache.resources":"Resource Types","opcache.setup":"Installing\/Configuring","function.opcache-compile-file":"Compiles and caches a PHP script without executing it","function.opcache-invalidate":"Invalidates a cached script","function.opcache-reset":"Resets the contents of the opcode cache","ref.opcache":"OPcache Functions","book.opcache":"OPcache","intro.outcontrol":"Introduction","outcontrol.requirements":"Requirements","outcontrol.installation":"Installation","ini.output-buffering":"","ini.output-handler":"","ini.implicit-flush":"","outcontrol.configuration":"Runtime Configuration","outcontrol.resources":"Resource Types","outcontrol.setup":"Installing\/Configuring","constant.php-output-handler-start":"","constant.php-output-handler-write":"","constant.php-output-handler-flush":"","constant.php-output-handler-clean":"","constant.php-output-handler-final":"","constant.php-output-handler-cont":"","constant.php-output-handler-end":"","constant.php-output-handler-cleanable":"","constant.php-output-handler-flushable":"","constant.php-output-handler-removable":"","constant.php-output-handler-stdflags":"","outcontrol.constants":"Predefined Constants","example-463":"Output Control example","outcontrol.examples.basic":"Basic usage","outcontrol.examples":"Examples","function.flush":"Flush the output buffer","function.ob-clean":"Clean (erase) the output buffer","example-464":"ob_end_clean example","function.ob-end-clean":"Clean (erase) the output buffer and turn off output buffering","example-465":"ob_end_flush example","function.ob-end-flush":"Flush (send) the output buffer and turn off output buffering","function.ob-flush":"Flush (send) the output buffer","example-466":"A simple ob_get_clean example","function.ob-get-clean":"Get current buffer contents and delete current output buffer","example-467":"A simple ob_get_contents example","function.ob-get-contents":"Return the contents of the output buffer","example-468":"ob_get_flush example","function.ob-get-flush":"Flush the output buffer, return it as a string and turn off output buffering","example-469":"A simple ob_get_length example","function.ob-get-length":"Return the length of the output buffer","function.ob-get-level":"Return the nesting level of the output buffering mechanism","function.ob-get-status":"Get status of output buffers","example-470":"ob_gzhandler example","function.ob-gzhandler":"ob_start callback function to gzip output buffer","function.ob-implicit-flush":"Turn implicit flush on\/off","example-471":"ob_list_handlers example","function.ob-list-handlers":"List all output handlers in use","example-472":"User defined callback function example","function.ob-start.flags-bc":"Creating an uneraseable output buffer in a way compatible with both PHP 5.3 and 5.4","function.ob-start":"Turn on output buffering","example-474":"output_add_rewrite_var example","function.output-add-rewrite-var":"Add URL rewriter values","example-475":"output_reset_rewrite_vars example","function.output-reset-rewrite-vars":"Reset URL rewriter values","ref.outcontrol":"Output Control Functions","book.outcontrol":"Output Buffering Control","intro.info":"Introduction","info.requirements":"Requirements","info.installation":"Installation","ini.assert.active":"","ini.assert.bail":"","ini.assert.warning":"","ini.assert.callback":"","ini.assert.quiet-eval":"","ini.enable-dl":"","ini.max-execution-time":"","ini.max-input-time":"","ini.max-input-nesting-level":"","ini.max-input-vars":"","ini.magic-quotes-gpc":"","ini.magic-quotes-runtime":"","ini.zend.enable-gc":"","info.configuration":"Runtime Configuration","info.resources":"Resource Types","info.setup":"Installing\/Configuring","info.constants":"Predefined Constants","example-476":"assert_options example","function.assert-options":"Set\/get the various assert flags","example-477":"Handle a failed assertion with a custom handler","example-478":"Using a custom handler to print a description","function.assert":"Checks if assertion is FALSE","example-479":"cli_get_process_title example","function.cli-get-process-title":"Returns the current process title","example-480":"cli_set_process_title example","function.cli-set-process-title":"Sets the process title","example-481":"dl examples","function.dl":"Loads a PHP extension at runtime","example-482":"extension_loaded example","function.extension-loaded":"Find out whether an extension is loaded","function.gc-collect-cycles":"Forces collection of any existing garbage cycles","function.gc-disable":"Deactivates the circular reference collector","function.gc-enable":"Activates the circular reference collector","example-483":"A gc_enabled example","function.gc-enabled":"Returns status of the circular reference collector","function.get-cfg-var":"Gets the value of a PHP configuration option","example-484":"get_current_user example","function.get-current-user":"Gets the name of the owner of the current PHP script","example-485":"get_defined_constants Example","function.get-defined-constants":"Returns an associative array with the names of all the constants and their values","example-486":"Prints the XML functions","function.get-extension-funcs":"Returns an array with the names of the functions of a module","example-487":"get_include_path example","function.get-include-path":"Gets the current include_path configuration option","example-488":"get_included_files example","function.get-included-files":"Returns an array with the names of included or required files","example-489":"get_loaded_extensions Example","function.get-loaded-extensions":"Returns an array with the names of all modules compiled and loaded","example-490":"get_magic_quotes_gpc example","function.get-magic-quotes-gpc":"Gets the current configuration setting of magic_quotes_gpc","example-491":"get_magic_quotes_runtime example","function.get-magic-quotes-runtime":"Gets the current active configuration setting of magic_quotes_runtime","function.get-required-files":"Alias of get_included_files","example-492":"getenv Example","function.getenv":"Gets the value of an environment variable","example-493":"getlastmod example","function.getlastmod":"Gets time of last page modification","function.getmygid":"Get PHP script owner's GID","function.getmyinode":"Gets the inode of the current script","function.getmypid":"Gets PHP's process ID","function.getmyuid":"Gets PHP script owner's UID","getopt.examples-1":"getopt example","getopt.examples-2":"getopt example#2","getopt.examples-3":"getopt example#3","function.getopt":"Gets options from the command line argument list","example-497":"getrusage example","function.getrusage":"Gets the current resource usages","function.ini-alter":"Alias of ini_set","example-498":"ini_get_all examples","example-499":"Disabling details","function.ini-get-all":"Gets all configuration options","example-500":"A few ini_get examples","function.ini-get":"Gets the value of a configuration option","example-501":"ini_restore example","function.ini-restore":"Restores the value of a configuration option","example-502":"Setting an ini option","function.ini-set":"Sets the value of a configuration option","function.magic-quotes-runtime":"Alias of set_magic_quotes_runtime","function.main":"Dummy for main","function.memory-get-peak-usage":"Returns the peak of memory allocated by PHP","example-503":"A memory_get_usage example","function.memory-get-usage":"Returns the amount of memory allocated to PHP","example-504":"php_ini_loaded_file example","function.php-ini-loaded-file":"Retrieve a path to the loaded php.ini file","example-505":"A simple example to list the returned ini files","function.php-ini-scanned-files":"Return a list of .ini files parsed from the additional ini dir","example-506":"php_logo_guid example","function.php-logo-guid":"Gets the logo guid","example-507":"php_sapi_name example","function.php-sapi-name":"Returns the type of interface between web server and PHP","example-508":"Some php_uname examples","example-509":"A few OS related constant examples","function.php-uname":"Returns information about the operating system PHP is running on","example-510":"Prints the general credits","example-511":"Prints the core developers and the documentation group","example-512":"Printing all the credits","function.phpcredits":"Prints out the credits for PHP","example-513":"phpinfo Example","function.phpinfo":"Outputs information about PHP's configuration","example-514":"phpversion example","example-515":"PHP_VERSION_ID example and usage","function.phpversion":"Gets the current PHP version","example-516":"Setting an environment variable","function.putenv":"Sets the value of an environment variable","example-517":"restore_include_path example","function.restore-include-path":"Restores the value of the include_path configuration option","example-518":"set_include_path example","example-519":"Adding to the include path","function.set-include-path":"Sets the include_path configuration option","example-520":"set_magic_quotes_runtime example","function.set-magic-quotes-runtime":"Sets the current active configuration setting of magic_quotes_runtime","function.set-time-limit":"Limits the maximum execution time","example-521":"sys_get_temp_dir example","function.sys-get-temp-dir":"Returns directory path used for temporary files","example-522":"version_compare examples","function.version-compare":"Compares two "PHP-standardized" version number strings","example-523":"zend_logo_guid example","function.zend-logo-guid":"Gets the Zend guid","example-524":"zend_thread_id example","function.zend-thread-id":"Returns a unique identifier for the current thread","example-525":"zend_version example","function.zend-version":"Gets the version of the current Zend engine","ref.info":"PHP Options\/Info Functions","book.info":"PHP Options and Information","intro.runkit":"Introduction","constant.runkit-import-functions":"","constant.runkit-import-class-methods":"","constant.runkit-import-class-consts":"","constant.runkit-import-class-props":"","constant.runkit-import-classes":"","constant.runkit-import-override":"","constant.runkit-acc-public":"","constant.runkit-acc-protected":"","constant.runkit-acc-private":"","constant.runkit-version":"","runkit.constants":"Predefined Constants","runkit.requirements":"Requirements","runkit.installation":"Installation","example-526":"Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini","ini.runkit.superglobal":"","ini.runkit.internal-override":"","runkit.configuration":"Runtime Configuration","runkit.resources":"Resource Types","runkit.setup":"Installing\/Configuring","example-527":"Instantiating a restricted sandbox","example-528":"Working with variables in a sandbox","example-529":"Calling sandbox functions","example-530":"Passing arguments to sandbox functions","runkit.sandbox":"Runkit Sandbox Class -- PHP Virtual Machine","example-531":"Working with variables in a sandbox","example-532":"Accessing parental variables","runkit.sandbox-parent":"Runkit Anti-Sandbox Class","example-533":"A runkit_class_adopt example","function.runkit-class-adopt":"Convert a base class to an inherited class, add ancestral methods when appropriate","example-534":"A runkit_class_emancipate example","function.runkit-class-emancipate":"Convert an inherited class to a base class, removes any method whose scope is ancestral","function.runkit-constant-add":"Similar to define(), but allows defining in class definitions as well","function.runkit-constant-redefine":"Redefine an already defined constant","function.runkit-constant-remove":"Remove\/Delete an already defined constant","example-535":"A runkit_function_add example","function.runkit-function-add":"Add a new function, similar to create_function","example-536":"A runkit_function_copy example","function.runkit-function-copy":"Copy a function to a new function name","example-537":"A runkit_function_redefine example","function.runkit-function-redefine":"Replace a function definition with a new implementation","function.runkit-function-remove":"Remove a function definition","function.runkit-function-rename":"Change a function's name","function.runkit-import":"Process a PHP file importing function and class definitions, overwriting where appropriate","function.runkit-lint-file":"Check the PHP syntax of the specified file","function.runkit-lint":"Check the PHP syntax of the specified php code","example-538":"runkit_method_add example","function.runkit-method-add":"Dynamically adds a new method to a given class","example-539":"runkit_method_copy example","function.runkit-method-copy":"Copies a method from class to another","example-540":"runkit_method_redefine example","function.runkit-method-redefine":"Dynamically changes the code of the given method","example-541":"runkit_method_remove example","function.runkit-method-remove":"Dynamically removes the given method","example-542":"runkit_method_rename example","function.runkit-method-rename":"Dynamically changes the name of the given method","example-543":"runkit_return_value_used example","function.runkit-return-value-used":"Determines if the current functions return value will be used","example-544":"Feeding output to a variable","function.runkit-sandbox-output-handler":"Specify a function to capture and\/or process output from a runkit sandbox","function.runkit-superglobals":"Return numerically indexed array of registered superglobals","ref.runkit":"runkit Functions","book.runkit":"runkit","intro.scream":"Introduction","scream.requirements":"Requirements","scream.installation":"Installation","ini.scream.enabled":"","scream.configuration":"Runtime Configuration","scream.resources":"Resource Types","scream.setup":"Installing\/Configuring","example-545":"Enabling and disabling scream at runtime","scream.examples-simple":"Example that shows the effect of scream","scream.examples":"Examples","book.scream":"Break the silence operator","example-546":"Weakref usage example","intro.weakref":"Introduction","weakref.requirements":"Requirements","weakref.installation":"Installation","weakref.resources":"Resource Types","weakref.setup":"Installing\/Configuring","weakref.intro":"Introduction","weakref.synopsis":"Class synopsis","example-547":"WeakRef usage example","weakref.examples":"Examples","example-548":"Weakref::acquire example","example-549":"Nested acquire\/release example","weakref.acquire":"Acquires a strong reference on that object","example-550":"Weakref::__construct example","weakref.construct":"Constructs a new weak reference","weakref.get":"Returns the object pointed to by the weak reference","example-551":"Weakref::release example","weakref.release":"Releases a previously acquired reference","weakref.valid":"Checks whether the object referenced still exists","class.weakref":"The WeakRef class","weakmap.intro":"Introduction","weakmap.synopsis":"Class synopsis","example-552":"Weakmap usage example","weakmap.examples":"Examples","weakmap.construct":"Constructs a new map","weakmap.count":"Counts the number of live entries in the map","weakmap.current":"Returns the current value under iteration","weakmap.key":"Returns the current key under iteration.","weakmap.next":"Advances to the next map element","weakmap.offsetexists":"Checks whether a certain object is in the map","weakmap.offsetget":"Returns the value pointed to by a certain object","weakmap.offsetset":"Updates the map with a new key-value pair","weakmap.offsetunset":"Removes an entry from the map","weakmap.rewind":"Rewinds the iterator to the beginning of the map","weakmap.valid":"Returns whether the iterator is still on a valid map element","class.weakmap":"The WeakMap class","book.weakref":"Weak References","intro.wincache":"Introduction","wincache.requirements":"Requirements","wincache.installation":"Installation","ini.wincache.fcenabled":"","ini.wincache.fcenabledfilter":"","ini.wincache.fcachesize":"","ini.wincache.fcndetect":"","ini.wincache.maxfilesize":"","ini.wincache.ocenabled":"","ini.wincache.ocenabledfilter":"","ini.wincache.ocachesize":"","ini.wincache.filecount":"","ini.wincache.chkinterval":"","ini.wincache.ttlmax":"","ini.wincache.enablecli":"","example-553":"wincache.ignorelist example","ini.wincache.ignorelist":"","ini.wincache.namesalt":"","ini.wincache.ucenabled":"","ini.wincache.ucachesize":"","ini.wincache.scachesize":"","ini.wincache.rerouteini":"","wincache.configuration":"Runtime Configuration","example-554":"Authentication configuration for wincache.php","wincache.stats":"WinCache Statistics Script","example-555":"Enabling WinCache session handler","wincache.sessionhandler":"WinCache Session Handler","example-556":"Enabling WinCache functions reroutes","example-557":"Reroute.ini file content","wincache.reroutes":"WinCache Functions Reroutes","wincache.resources":"Resource Types","wincache.setup":"Installing\/Configuring","wincache.constants":"Predefined Constants","example-558":"A wincache_fcache_fileinfo example","function.wincache-fcache-fileinfo":"Retrieves information about files cached in the file cache","example-559":"A wincache_fcache_meminfo example","function.wincache-fcache-meminfo":"Retrieves information about file cache memory usage","example-560":"Using wincache_lock","function.wincache-lock":"Acquires an exclusive lock on a given key","example-561":"A wincache_ocache_fileinfo example","function.wincache-ocache-fileinfo":"Retrieves information about files cached in the opcode cache","example-562":"A wincache_ocache_meminfo example","function.wincache-ocache-meminfo":"Retrieves information about opcode cache memory usage","example-563":"A wincache_refresh_if_changed example","function.wincache-refresh-if-changed":"Refreshes the cache entries for the cached files","example-564":"A wincache_rplist_fileinfo example","function.wincache-rplist-fileinfo":"Retrieves information about resolve file path cache","example-565":"A wincache_rplist_meminfo example","function.wincache-rplist-meminfo":"Retrieves information about memory usage by the resolve file path cache","example-566":"A wincache_scache_info example","function.wincache-scache-info":"Retrieves information about files cached in the session cache","example-567":"A wincache_scache_meminfo example","function.wincache-scache-meminfo":"Retrieves information about session cache memory usage","example-568":"wincache_ucache_add with key as a string","example-569":"wincache_ucache_add with key as an array","function.wincache-ucache-add":"Adds a variable in user cache only if variable does not already exist in the cache","example-570":"Using wincache_ucache_cas","function.wincache-ucache-cas":"Compares the variable with old value and assigns new value to it","example-571":"using wincache_ucache_clear","function.wincache-ucache-clear":"Deletes entire content of the user cache","example-572":"Using wincache_ucache_dec","function.wincache-ucache-dec":"Decrements the value associated with the key","example-573":"Using wincache_ucache_delete with key as a string","example-574":"Usingwincache_ucache_delete with key as an array","example-575":"Using wincache_ucache_delete with key as an array where some elements cannot be deleted","function.wincache-ucache-delete":"Deletes variables from the user cache","example-576":"Using wincache_ucache_exists","function.wincache-ucache-exists":"Checks if a variable exists in the user cache","example-577":"wincache_ucache_get with key as a string","example-578":"wincache_ucache_get with key as an array","function.wincache-ucache-get":"Gets a variable stored in the user cache","example-579":"Using wincache_ucache_inc","function.wincache-ucache-inc":"Increments the value associated with the key","example-580":"Using wincache_ucache_info","function.wincache-ucache-info":"Retrieves information about data stored in the user cache","example-581":"A wincache_ucache_meminfo example","function.wincache-ucache-meminfo":"Retrieves information about user cache memory usage","example-582":"wincache_ucache_set with key as a string","example-583":"wincache_ucache_set with key as an array","function.wincache-ucache-set":"Adds a variable in user cache and overwrites a variable if it already exists in the cache","example-584":"Using wincache_unlock","function.wincache-unlock":"Releases an exclusive lock on a given key","ref.wincache":"WinCache Functions","wincache.win32build.prereq":"Prerequisites","wincache.win32build.building":"Compiling and building","wincache.win32build.verify":"Verifying the build","wincache.win32build":"Building for Windows","book.wincache":"Windows Cache for PHP","intro.xhprof":"Introduction","xhprof.requirements":"Requirements","xhprof.installation":"Installation","ini.xhprof.output-dir":"","xhprof.configuration":"Runtime Configuration","xhprof.resources":"Resource Types","xhprof.setup":"Installing\/Configuring","constant.xhprof-flags-no-builtins":"","constant.xhprof-flags-cpu":"","constant.xhprof-flags-memory":"","xhprof.constants":"Predefined Constants","example-585":"Xhprof example with the optional GUI","xhprof.examples":"Examples","example-586":"xhprof_disable example","function.xhprof-disable":"Stops xhprof profiler","example-587":"xhprof_enable examples","function.xhprof-enable":"Start xhprof profiler","example-588":"xhprof_sample_disable example","function.xhprof-sample-disable":"Stops xhprof sample profiler","function.xhprof-sample-enable":"Start XHProf profiling in sampling mode","ref.xhprof":"Xhprof Functions","book.xhprof":"Hierarchical Profiler","refs.basic.php":"Affecting PHP's Behaviour","intro.id3":"Introduction","id3.requirements":"Requirements","id3.installation":"Installation","id3.configuration":"Runtime Configuration","id3.resources":"Resource Types","id3.setup":"Installing\/Configuring","constant.id3-v1-0":"","constant.id3-v1-1":"","constant.id3-v2-1":"","constant.id3-v2-2":"","constant.id3-v2-3":"","constant.id3-v2-4":"","constant.id3-best":"","id3.constants":"Predefined Constants","example-589":"id3_get_frame_long_name example","function.id3-get-frame-long-name":"Get the long name of an ID3v2 frame","example-590":"id3_get_frame_short_name example","function.id3-get-frame-short-name":"Get the short name of an ID3v2 frame","example-591":"id3_get_genre_id example","function.id3-get-genre-id":"Get the id for a genre","example-592":"id3_get_genre_list example","function.id3-get-genre-list":"Get all possible genre values","example-593":"id3_get_genre_name example","function.id3-get-genre-name":"Get the name for a genre id","example-594":"id3_get_tag example","example-595":"id3_get_tag example","function.id3-get-tag":"Get all information stored in an ID3 tag","example-596":"id3_get_version example","function.id3-get-version":"Get version of an ID3 tag","example-597":"id3_remove_tag example","function.id3-remove-tag":"Remove an existing ID3 tag","example-598":"id3_set_tag example","function.id3-set-tag":"Update information stored in an ID3 tag","ref.id3":"ID3 Functions","book.id3":"ID3 Tags","intro.ktaglib":"Introduction","ktaglib.requirements":"Requirements","ktaglib.installation":"Installation","ktaglib.setup":"Installing\/Configuring","ktaglib-mpeg-header.constants.version1":"","ktaglib-mpeg-header.constants.version2":"","ktaglib-mpeg-header.constants.version2-5":"","ktaglib-id3v2-attachedpictureframe.constants.other":"","ktaglib-id3v2-attachedpictureframe.constants.fileicon":"","ktaglib-id3v2-attachedpictureframe.constants.otherfileicon":"","ktaglib-id3v2-attachedpictureframe.constants.frontcover":"","ktaglib-id3v2-attachedpictureframe.constants.backcover":"","ktaglib-id3v2-attachedpictureframe.constants.leafletpage":"","ktaglib-id3v2-attachedpictureframe.constants.media":"","ktaglib-id3v2-attachedpictureframe.constants.leadartist":"","ktaglib-id3v2-attachedpictureframe.constants.artist":"","ktaglib-id3v2-attachedpictureframe.constants.conductor":"","ktaglib-id3v2-attachedpictureframe.constants.band":"","ktaglib-id3v2-attachedpictureframe.constants.composer":"","ktaglib-id3v2-attachedpictureframe.constants.lyricist":"","ktaglib-id3v2-attachedpictureframe.constants.recordinglocation":"","ktaglib-id3v2-attachedpictureframe.constants.duringrecording":"","ktaglib-id3v2-attachedpictureframe.constants.duringperformance":"","ktaglib-id3v2-attachedpictureframe.constants.moviescreencapture":"","ktaglib-id3v2-attachedpictureframe.constants.colouredfish":"","ktaglib-id3v2-attachedpictureframe.constants.illustration":"","ktaglib-id3v2-attachedpictureframe.constants.bandlogo":"","ktaglib.constants":"Predefined Constants","mpegfile.intro":"Introduction","mpegfile.synopsis":"Class synopsis","example-599":"Opens a new MP3 file and read the title","mpegfile.construct":"Opens a new file","mpegfile.getaudioproperties":"Returns an object that provides access to the audio properties","mpegfile.getid3v1tag":"Returns an object representing an ID3v1 tag","mpegfile.getid3v2tag":"Returns a ID3v2 object","class.ktaglib-mpeg-file":"The KTaglib_MPEG_File class","audioproperties.intro":"Introduction","audioproperties.synopsis":"Class synopsis","audioproperties.getbitrate":"Returns the bitrate of the MPEG file","audioproperties.getchannels":"Returns the amount of channels of a MPEG file","audioproperties.getlayer":"Returns the layer of a MPEG file","audioproperties.getlength":"Returns the length of a MPEG file","audioproperties.getsamplebitrate":"Returns the sample bitrate of a MPEG file","audioproperties.getversion":"Returns the version of a MPEG file","audioproperties.iscopyrighted":"Returns the copyright status of an MPEG file","audioproperties.isoriginal":"Returns if the file is marked as the original file","audioproperties.isprotectionenabled":"Returns if protection mechanisms of an MPEG file are enabled","class.ktaglib-mpeg-audioproperties":"The KTaglib_MPEG_AudioProperties class","tag.intro":"Introduction","tag.synopsis":"Class synopsis","tag.getalbum":"Returns the title string from a ID3 tag","tag.getartist":"Returns the artist string from a ID3 tag","tag.getcomment":"Returns the comment from a ID3 tag","tag.getgenre":"Returns the genre from a ID3 tag","tag.gettitle":"Returns the title string from a ID3 tag","tag.gettrack":"Returns the track number from a ID3 tag","tag.getyear":"Returns the year from a ID3 tag","tag.isempty":"Returns true if the tag is empty","class.ktaglib-tag":"The KTaglib_Tag class","id3v2tag.intro":"Introduction","id3v2tag.synopsis":"Class synopsis","id3v2tag.addframe":"Add a frame to the ID3v2 tag","id3v2tag.getframelist":"Returns an array of ID3v2 frames, associated with the ID3v2 tag","class.ktaglib-id3v2-tag":"The KTaglib_ID3v2_Tag class","id3v2frame.intro":"Introduction","id3v2frame.synopsis":"Class synopsis","id3v2frame.getsize":"Returns the size of the frame in bytes","id3v2frame.tostring":"Returns a string representation of the frame","class.ktaglib-id3v2-frame":"The KTaglib_ID3v2_Frame class","id3v2attachedpictureframe.intro":"Introduction","id3v2attachedpictureframe.synopsis":"Class synopsis","id3v2attachedpictureframe.getdescription":"Returns a description for the picture in a picture frame","id3v2attachedpictureframe.getmimetype":"Returns the mime type of the picture","id3v2attachedpictureframe.gettype":"Returns the type of the image","id3v2attachedpictureframe.savepicture":"Saves the picture to a file","id3v2attachedpictureframe.setmimetype":"Set's the mime type of the picture","id3v2attachedpictureframe.setpicture":"Sets the frame picture to the given image","id3v2attachedpictureframe.settype":"Set the type of the image","class.ktaglib-id3v2-attachedpictureframe":"The KTaglib_ID3v2_AttachedPictureFrame class","book.ktaglib":"KTaglib","intro.oggvorbis":"Introduction","oggvorbis.requirements":"Requirements","oggvorbis.installation":"Installation","oggvorbis.configuration":"Runtime Configuration","oggvorbis.resources":"Resource Types","oggvorbis.setup":"Installing\/Configuring","oggvorbis.constants":"Predefined Constants","oggvorbis.contexts":"Context options","example-600":"Reading an OGG\/Vorbis file","example-601":"Encode an audio file to OGG\/Vorbis","oggvorbis.examples-basisc":"Examples on using the ogg:\/\/ wrapper.","oggvorbis.examples":"Examples","book.oggvorbis":"OGG\/Vorbis","intro.openal":"Introduction","openal.requirements":"Requirements","openal.installation":"Installation","openal.configuration":"Runtime Configuration","openal.resources":"Resource Types","openal.setup":"Installing\/Configuring","constant.alc-frequency":"","constant.alc-refresh":"","constant.alc-sync":"","constant.al-frequency":"","constant.al-bits":"","constant.al-channels":"","constant.al-size":"","constant.al-buffer":"","constant.al-source-relative":"","constant.al-source-state":"","constant.al-pitch":"","constant.al-gain":"","constant.al-min-gain":"","constant.al-max-gain":"","constant.al-max-distance":"","constant.al-rolloff-factor":"","constant.al-cone-outer-gain":"","constant.al-cone-inner-angle":"","constant.al-cone-outer-angle":"","constant.al-reference-distance":"","constant.al-position":"","constant.al-velocity":"","constant.al-direction":"","constant.al-orientation":"","constant.al-format-mono8":"","constant.al-format-mono16":"","constant.al-format-stereo8":"","constant.al-format-stereo16":"","constant.al-initial":"","constant.al-playing":"","constant.al-paused":"","constant.al-stopped":"","constant.al-looping":"","constant.al-true":"","constant.al-false":"","openal.constants":"Predefined Constants","function.openal-buffer-create":"Generate OpenAL buffer","function.openal-buffer-data":"Load a buffer with data","function.openal-buffer-destroy":"Destroys an OpenAL buffer","function.openal-buffer-get":"Retrieve an OpenAL buffer property","function.openal-buffer-loadwav":"Load a .wav file into a buffer","function.openal-context-create":"Create an audio processing context","function.openal-context-current":"Make the specified context current","function.openal-context-destroy":"Destroys a context","function.openal-context-process":"Process the specified context","function.openal-context-suspend":"Suspend the specified context","function.openal-device-close":"Close an OpenAL device","function.openal-device-open":"Initialize the OpenAL audio layer","function.openal-listener-get":"Retrieve a listener property","function.openal-listener-set":"Set a listener property","function.openal-source-create":"Generate a source resource","function.openal-source-destroy":"Destroy a source resource","function.openal-source-get":"Retrieve an OpenAL source property","function.openal-source-pause":"Pause the source","function.openal-source-play":"Start playing the source","function.openal-source-rewind":"Rewind the source","function.openal-source-set":"Set source property","function.openal-source-stop":"Stop playing the source","function.openal-stream":"Begin streaming on a source","ref.openal":"OpenAL Functions","book.openal":"OpenAL Audio Bindings","refs.utilspec.audio":"Audio Formats Manipulation","intro.kadm5":"Introduction","kadm5.requirements":"Requirements","kadm5.installation":"Installation","kadm5.configuration":"Runtime Configuration","kadm5.resources":"Resource Types","kadm5.setup":"Installing\/Configuring","kadm5.constantsaf":"Constants for Attribute Flags","pecl.kadm5.constantsop":"Constants for Options","kadm5.constants":"Predefined Constants","example-602":"KADM5 extension overview example","kadm5.examples-connect":"Basic usage","kadm5.examples":"Examples","example-603":"Example of changing principal's password","function.kadm5-chpass-principal":"Changes the principal's password","example-604":"Example of principal's creation","function.kadm5-create-principal":"Creates a kerberos principal with the given parameters","example-605":"kadm5_delete_principal example","function.kadm5-delete-principal":"Deletes a kerberos principal","function.kadm5-destroy":"Closes the connection to the admin server and releases all related resources","function.kadm5-flush":"Flush all changes to the Kerberos database","example-606":"kadm5_get_policies example","function.kadm5-get-policies":"Gets all policies from the Kerberos database","example-607":"kadm5_get_principal example","function.kadm5-get-principal":"Gets the principal's entries from the Kerberos database","example-608":"kadm5_get_principals example","function.kadm5-get-principals":"Gets all principals from the Kerberos database","example-609":"KADM5 initialization example","function.kadm5-init-with-password":"Opens a connection to the KADM5 library","example-610":"Example of modifying principal","function.kadm5-modify-principal":"Modifies a kerberos principal with the given parameters","ref.kadm5":"KADM5 Functions","book.kadm5":"Kerberos V","intro.radius":"Introduction","radius.requirements":"Requirements","radius.installation":"Installation","radius.configuration":"Runtime Configuration","radius.resources":"Resource Types","radius.setup":"Installing\/Configuring","constant.radius-option-salt":"","constant.radius-option-tagged":"","radius.constants.options":"RADIUS Options","constant.radius-access-request":"","constant.radius-access-accept":"","constant.radius-access-reject":"","constant.radius-access-challenge":"","constant.radius-accounting-request":"","constant.radius-accounting-response":"","constant.radius-coa-request":"","constant.radius-coa-ack":"","constant.radius-coa-nak":"","constant.radius-disconnect-request":"","constant.radius-disconnect-ack":"","constant.radius-disconnect-nak":"","radius.constants.packets":"RADIUS Packet Types","constant.radius-user-name":"","constant.radius-user-password":"","example-611":"Using CHAP passwords","constant.radius-chap-password":"","constant.radius-nas-ip-address":"","constant.radius-nas-port":"","constant.radius-service-type":"","constant.radius-framed-protocol":"","constant.radius-framed-ip-address":"","constant.radius-framed-ip-netmask":"","constant.radius-framed-routing":"","constant.radius-filter-id":"","constant.radius-framed-mtu":"","constant.radius-framed-compression":"","constant.radius-login-ip-host":"","constant.radius-login-service":"","constant.radius-login-tcp-port":"","constant.radius-reply-message":"","constant.radius-callback-number":"","constant.radius-callback-id":"","constant.radius-framed-route":"","constant.radius-framed-ipx-network":"","constant.radius-state":"","constant.radius-class":"","constant.radius-vendor-specific":"","constant.radius-session-timeout":"","constant.radius-idle-timeout":"","constant.radius-termination-action":"","constant.radius-called-station-id":"","constant.radius-calling-station-id":"","constant.radius-nas-identifier":"","constant.radius-proxy-state":"","constant.radius-login-lat-service":"","constant.radius-login-lat-node":"","constant.radius-login-lat-group":"","constant.radius-framed-appletalk-link":"","constant.radius-framed-appletalk-network":"","constant.radius-framed-appletalk-zone":"","constant.radius-chap-challenge":"","constant.radius-nas-port-type":"","constant.radius-port-limit":"","constant.radius-login-lat-port":"","constant.radius-connect-info":"","constant.radius-acct-status-type":"","constant.radius-acct-delay-time":"","constant.radius-acct-input-octets":"","constant.radius-acct-output-octets":"","constant.radius-acct-session-id":"","constant.radius-acct-authentic":"","constant.radius-acct-session-time":"","constant.radius-acct-input-packets":"","constant.radius-acct-output-packets":"","constant.radius-acct-terminate-cause":"","constant.radius-acct-multi-session-id":"","constant.radius-acct-link-count":"","radius.constants.attributes":"RADIUS Attribute Types","constant.radius-vendor-microsoft":"","radius.constants.vendor-specific":"RADIUS Vendor Specific Attribute Types","radius.constants":"Predefined Constants","radius.examples":"Examples","example-612":"radius_acct_open example","function.radius-acct-open":"Creates a Radius handle for accounting","example-613":"radius_add_server example","function.radius-add-server":"Adds a server","example-614":"radius_auth_open example","function.radius-auth-open":"Creates a Radius handle for authentication","function.radius-close":"Frees all ressources","function.radius-config":"Causes the library to read the given configuration file","example-615":"radius_create_request example","function.radius-create-request":"Create accounting or authentication request","example-616":"radius_cvt_addr example","function.radius-cvt-addr":"Converts raw data to IP-Address","example-617":"radius_cvt_int example","function.radius-cvt-int":"Converts raw data to integer","example-618":"radius_cvt_string example","function.radius-cvt-string":"Converts raw data to string","function.radius-demangle-mppe-key":"Derives mppe-keys from mangled data","function.radius-demangle":"Demangles data","example-619":"radius_get_attr example","function.radius-get-attr":"Extracts an attribute","example-620":"radius_get_tagged_attr_data example","function.radius-get-tagged-attr-data":"Extracts the data from a tagged attribute","example-621":"radius_get_tagged_attr_tag example","function.radius-get-tagged-attr-tag":"Extracts the tag from a tagged attribute","example-622":"radius_get_vendor_attr example","function.radius-get-vendor-attr":"Extracts a vendor specific attribute","function.radius-put-addr":"Attaches an IP address attribute","example-623":"radius_put_attr example","function.radius-put-attr":"Attaches a binary attribute","example-624":"radius_put_int example","function.radius-put-int":"Attaches an integer attribute","example-625":"radius_put_string example","function.radius-put-string":"Attaches a string attribute","function.radius-put-vendor-addr":"Attaches a vendor specific IP address attribute","example-626":"radius_put_vendor_attr example","function.radius-put-vendor-attr":"Attaches a vendor specific binary attribute","function.radius-put-vendor-int":"Attaches a vendor specific integer attribute","function.radius-put-vendor-string":"Attaches a vendor specific string attribute","function.radius-request-authenticator":"Returns the request authenticator","function.radius-salt-encrypt-attr":"Salt-encrypts a value","function.radius-send-request":"Sends the request and waites for a reply","function.radius-server-secret":"Returns the shared secret","function.radius-strerror":"Returns an error message","ref.radius":"Radius Functions","book.radius":"Radius","refs.remote.auth":"Authentication Services","intro.ncurses":"Introduction","ncurses.requirements":"Requirements","ncurses.installation":"Installation","ncurses.configuration":"Runtime Configuration","ncurses.resources":"Resource Types","ncurses.setup":"Installing\/Configuring","ncurses.errconsts":"Error codes","ncurses.colorconsts":"Colors","ncurses.keyconsts":"Keys","ncurses.mouseconsts":"Mouse","ncurses.constants":"Predefined Constants","function.ncurses-addch":"Add character at current position and advance cursor","function.ncurses-addchnstr":"Add attributed string with specified length at current position","function.ncurses-addchstr":"Add attributed string at current position","function.ncurses-addnstr":"Add string with specified length at current position","function.ncurses-addstr":"Output text at current position","function.ncurses-assume-default-colors":"Define default colors for color 0","function.ncurses-attroff":"Turn off the given attributes","function.ncurses-attron":"Turn on the given attributes","function.ncurses-attrset":"Set given attributes","function.ncurses-baudrate":"Returns baudrate of terminal","function.ncurses-beep":"Let the terminal beep","function.ncurses-bkgd":"Set background property for terminal screen","function.ncurses-bkgdset":"Control screen background","function.ncurses-border":"Draw a border around the screen using attributed characters","function.ncurses-bottom-panel":"Moves a visible panel to the bottom of the stack","function.ncurses-can-change-color":"Checks if terminal color definitions can be changed","function.ncurses-cbreak":"Switch of input buffering","function.ncurses-clear":"Clear screen","function.ncurses-clrtobot":"Clear screen from current position to bottom","function.ncurses-clrtoeol":"Clear screen from current position to end of line","function.ncurses-color-content":"Retrieves RGB components of a color","example-627":"Writing a string with a specified color to the screen","function.ncurses-color-set":"Set active foreground and background colors","function.ncurses-curs-set":"Set cursor state","function.ncurses-def-prog-mode":"Saves terminals (program) mode","function.ncurses-def-shell-mode":"Saves terminals (shell) mode","function.ncurses-define-key":"Define a keycode","function.ncurses-del-panel":"Remove panel from the stack and delete it (but not the associated window)","function.ncurses-delay-output":"Delay output on terminal using padding characters","function.ncurses-delch":"Delete character at current position, move rest of line left","function.ncurses-deleteln":"Delete line at current position, move rest of screen up","function.ncurses-delwin":"Delete a ncurses window","function.ncurses-doupdate":"Write all prepared refreshes to terminal","function.ncurses-echo":"Activate keyboard input echo","function.ncurses-echochar":"Single character output including refresh","function.ncurses-end":"Stop using ncurses, clean up the screen","function.ncurses-erase":"Erase terminal screen","function.ncurses-erasechar":"Returns current erase character","function.ncurses-filter":"Set LINES for iniscr() and newterm() to 1","function.ncurses-flash":"Flash terminal screen (visual bell)","function.ncurses-flushinp":"Flush keyboard input buffer","function.ncurses-getch":"Read a character from keyboard","function.ncurses-getmaxyx":"Returns the size of a window","example-628":"ncurses_getmouse example","function.ncurses-getmouse":"Reads mouse event","function.ncurses-getyx":"Returns the current cursor position for a window","function.ncurses-halfdelay":"Put terminal into halfdelay mode","example-629":"Writing a string with a specified color to the screen","function.ncurses-has-colors":"Checks if terminal has color capabilities","function.ncurses-has-ic":"Check for insert- and delete-capabilities","function.ncurses-has-il":"Check for line insert- and delete-capabilities","function.ncurses-has-key":"Check for presence of a function key on terminal keyboard","function.ncurses-hide-panel":"Remove panel from the stack, making it invisible","function.ncurses-hline":"Draw a horizontal line at current position using an attributed character and max. n characters long","function.ncurses-inch":"Get character and attribute at current position","function.ncurses-init-color":"Define a terminal color","example-630":"Writing a string with a specified color to the screen","function.ncurses-init-pair":"Define a color pair","function.ncurses-init":"Initialize ncurses","function.ncurses-insch":"Insert character moving rest of line including character at current position","function.ncurses-insdelln":"Insert lines before current line scrolling down (negative numbers delete and scroll up)","function.ncurses-insertln":"Insert a line, move rest of screen down","function.ncurses-insstr":"Insert string at current position, moving rest of line right","function.ncurses-instr":"Reads string from terminal screen","function.ncurses-isendwin":"Ncurses is in endwin mode, normal screen output may be performed","function.ncurses-keyok":"Enable or disable a keycode","function.ncurses-keypad":"Turns keypad on or off","function.ncurses-killchar":"Returns current line kill character","function.ncurses-longname":"Returns terminals description","function.ncurses-meta":"Enables\/Disable 8-bit meta key information","function.ncurses-mouse-trafo":"Transforms coordinates","function.ncurses-mouseinterval":"Set timeout for mouse button clicks","example-631":"ncurses_mousemask example","function.ncurses-mousemask":"Sets mouse options","function.ncurses-move-panel":"Moves a panel so that its upper-left corner is at [startx, starty]","function.ncurses-move":"Move output position","function.ncurses-mvaddch":"Move current position and add character","function.ncurses-mvaddchnstr":"Move position and add attributed string with specified length","function.ncurses-mvaddchstr":"Move position and add attributed string","function.ncurses-mvaddnstr":"Move position and add string with specified length","function.ncurses-mvaddstr":"Move position and add string","function.ncurses-mvcur":"Move cursor immediately","function.ncurses-mvdelch":"Move position and delete character, shift rest of line left","function.ncurses-mvgetch":"Move position and get character at new position","function.ncurses-mvhline":"Set new position and draw a horizontal line using an attributed character and max. n characters long","function.ncurses-mvinch":"Move position and get attributed character at new position","function.ncurses-mvvline":"Set new position and draw a vertical line using an attributed character and max. n characters long","function.ncurses-mvwaddstr":"Add string at new position in window","function.ncurses-napms":"Sleep","function.ncurses-new-panel":"Create a new panel and associate it with window","function.ncurses-newpad":"Creates a new pad (window)","function.ncurses-newwin":"Create a new window","function.ncurses-nl":"Translate newline and carriage return \/ line feed","function.ncurses-nocbreak":"Switch terminal to cooked mode","function.ncurses-noecho":"Switch off keyboard input echo","function.ncurses-nonl":"Do not translate newline and carriage return \/ line feed","function.ncurses-noqiflush":"Do not flush on signal characters","function.ncurses-noraw":"Switch terminal out of raw mode","function.ncurses-pair-content":"Retrieves foreground and background colors of a color pair","function.ncurses-panel-above":"Returns the panel above panel","function.ncurses-panel-below":"Returns the panel below panel","function.ncurses-panel-window":"Returns the window associated with panel","function.ncurses-pnoutrefresh":"Copies a region from a pad into the virtual screen","function.ncurses-prefresh":"Copies a region from a pad into the virtual screen","function.ncurses-putp":"Apply padding information to the string and output it","function.ncurses-qiflush":"Flush on signal characters","function.ncurses-raw":"Switch terminal into raw mode","function.ncurses-refresh":"Refresh screen","function.ncurses-replace-panel":"Replaces the window associated with panel","function.ncurses-reset-prog-mode":"Resets the prog mode saved by def_prog_mode","function.ncurses-reset-shell-mode":"Resets the shell mode saved by def_shell_mode","function.ncurses-resetty":"Restores saved terminal state","function.ncurses-savetty":"Saves terminal state","function.ncurses-scr-dump":"Dump screen content to file","function.ncurses-scr-init":"Initialize screen from file dump","function.ncurses-scr-restore":"Restore screen from file dump","function.ncurses-scr-set":"Inherit screen from file dump","function.ncurses-scrl":"Scroll window content up or down without changing current position","function.ncurses-show-panel":"Places an invisible panel on top of the stack, making it visible","function.ncurses-slk-attr":"Returns current soft label key attribute","function.ncurses-slk-attroff":"Turn off the given attributes for soft function-key labels","function.ncurses-slk-attron":"Turn on the given attributes for soft function-key labels","function.ncurses-slk-attrset":"Set given attributes for soft function-key labels","function.ncurses-slk-clear":"Clears soft labels from screen","function.ncurses-slk-color":"Sets color for soft label keys","function.ncurses-slk-init":"Initializes soft label key functions","function.ncurses-slk-noutrefresh":"Copies soft label keys to virtual screen","function.ncurses-slk-refresh":"Copies soft label keys to screen","function.ncurses-slk-restore":"Restores soft label keys","function.ncurses-slk-set":"Sets function key labels","function.ncurses-slk-touch":"Forces output when ncurses_slk_noutrefresh is performed","function.ncurses-standend":"Stop using 'standout' attribute","function.ncurses-standout":"Start using 'standout' attribute","example-632":"Writing a string with a specified color to the screen","function.ncurses-start-color":"Initializes color functionality","function.ncurses-termattrs":"Returns a logical OR of all attribute flags supported by terminal","function.ncurses-termname":"Returns terminals (short)-name","function.ncurses-timeout":"Set timeout for special key sequences","function.ncurses-top-panel":"Moves a visible panel to the top of the stack","function.ncurses-typeahead":"Specify different filedescriptor for typeahead checking","function.ncurses-ungetch":"Put a character back into the input stream","function.ncurses-ungetmouse":"Pushes mouse event to queue","function.ncurses-update-panels":"Refreshes the virtual screen to reflect the relations between panels in the stack","function.ncurses-use-default-colors":"Assign terminal default colors to color id -1","function.ncurses-use-env":"Control use of environment information about terminal size","function.ncurses-use-extended-names":"Control use of extended names in terminfo descriptions","function.ncurses-vidattr":"Display the string on the terminal in the video attribute mode","function.ncurses-vline":"Draw a vertical line at current position using an attributed character and max. n characters long","function.ncurses-waddch":"Adds character at current position in a window and advance cursor","function.ncurses-waddstr":"Outputs text at current postion in window","function.ncurses-wattroff":"Turns off attributes for a window","function.ncurses-wattron":"Turns on attributes for a window","function.ncurses-wattrset":"Set the attributes for a window","function.ncurses-wborder":"Draws a border around the window using attributed characters","function.ncurses-wclear":"Clears window","function.ncurses-wcolor-set":"Sets windows color pairings","function.ncurses-werase":"Erase window contents","function.ncurses-wgetch":"Reads a character from keyboard (window)","function.ncurses-whline":"Draws a horizontal line in a window at current position using an attributed character and max. n characters long","function.ncurses-wmouse-trafo":"Transforms window\/stdscr coordinates","function.ncurses-wmove":"Moves windows output position","function.ncurses-wnoutrefresh":"Copies window to virtual screen","function.ncurses-wrefresh":"Refresh window on terminal screen","function.ncurses-wstandend":"End standout mode for a window","function.ncurses-wstandout":"Enter standout mode for a window","function.ncurses-wvline":"Draws a vertical line in a window at current position using an attributed character and max. n characters long","ref.ncurses":"Ncurses Functions","book.ncurses":"Ncurses Terminal Screen Control","intro.newt":"Introduction","newt.requirements":"Requirements","newt.installation":"Installation","newt.configuration":"Runtime Configuration","newt.resources":"Resource Types","newt.setup":"Installing\/Configuring","constants.newt.reasons":"Newt form exit reasons","constants.newt.colorsets":"Newt colorsets","constants.newt.args-flags":"Newt argument flags","constants.newt.sense-flags":"Newt Flags Sense","constants.newt.components-flags":"Newt Components Flags","constants.newt.fd-flags":"File Descriptor Flags","constants.newt.cbtree-flags":"Checkbox Tree Flags","constants.newt.entry-flags":"Entry Flags","constants.newt.listbox-flags":"Listbox Flags","constants.newt.textbox-flags":"Textbox Flags","constants.newt.form-flags":"Form Flags","constants.newt.keys":"Newt Keys","constants.newt.anchor":"Newt Anchors","constants.newt.grid-flags":"Grid Flags","newt.constants":"Predefined Constants","example-633":"Newt Usage Example","newt.examples-usage":"Basic usage","newt.examples":"Examples","function.newt-bell":"Send a beep to the terminal","function.newt-button-bar":"This function returns a grid containing the buttons created.","example-634":"A newt_button example","function.newt-button":"Create a new button","function.newt-centered-window":"Open a centered window of the specified size","function.newt-checkbox-get-value":"Retreives value of checkox resource","function.newt-checkbox-set-flags":"Configures checkbox resource","function.newt-checkbox-set-value":"Sets the value of the checkbox","function.newt-checkbox-tree-add-item":"Adds new item to the checkbox tree","function.newt-checkbox-tree-find-item":"Finds an item in the checkbox tree","function.newt-checkbox-tree-get-current":"Returns checkbox tree selected item","function.newt-checkbox-tree-get-entry-value":"Description","function.newt-checkbox-tree-get-multi-selection":"Description","function.newt-checkbox-tree-get-selection":"Description","function.newt-checkbox-tree-multi":"Description","function.newt-checkbox-tree-set-current":"Description","function.newt-checkbox-tree-set-entry-value":"Description","function.newt-checkbox-tree-set-entry":"Description","function.newt-checkbox-tree-set-width":"Description","function.newt-checkbox-tree":"Description","function.newt-checkbox":"Description","function.newt-clear-key-buffer":"Discards the contents of the terminal's input buffer without\n waiting for additional input","function.newt-cls":"Description","function.newt-compact-button":"Description","function.newt-component-add-callback":"Description","function.newt-component-takes-focus":"Description","function.newt-create-grid":"Description","function.newt-cursor-off":"Description","function.newt-cursor-on":"Description","function.newt-delay":"Description","function.newt-draw-form":"Description","example-635":"A newt_draw_root_text example","function.newt-draw-root-text":"Displays the string text at the position indicated","function.newt-entry-get-value":"Description","function.newt-entry-set-filter":"Description","function.newt-entry-set-flags":"Description","function.newt-entry-set":"Description","function.newt-entry":"Description","function.newt-finished":"Uninitializes newt interface","example-636":"A newt_form_add_component example","function.newt-form-add-component":"Adds a single component to the form","example-637":"A newt_form_add_components example","function.newt-form-add-components":"Add several components to the form","function.newt-form-add-hot-key":"Description","function.newt-form-destroy":"Destroys a form","function.newt-form-get-current":"Description","function.newt-form-run":"Runs a form","function.newt-form-set-background":"Description","function.newt-form-set-height":"Description","function.newt-form-set-size":"Description","function.newt-form-set-timer":"Description","function.newt-form-set-width":"Description","function.newt-form-watch-fd":"Description","example-638":"A newt_form example","function.newt-form":"Create a form","example-639":"A newt_get_screen_size example","function.newt-get-screen-size":"Fills in the passed references with the current size of the\n terminal","function.newt-grid-add-components-to-form":"Description","function.newt-grid-basic-window":"Description","function.newt-grid-free":"Description","function.newt-grid-get-size":"Description","function.newt-grid-h-close-stacked":"Description","function.newt-grid-h-stacked":"Description","function.newt-grid-place":"Description","function.newt-grid-set-field":"Description","function.newt-grid-simple-window":"Description","function.newt-grid-v-close-stacked":"Description","function.newt-grid-v-stacked":"Description","function.newt-grid-wrapped-window-at":"Description","function.newt-grid-wrapped-window":"Description","function.newt-init":"Initialize newt","function.newt-label-set-text":"Description","function.newt-label":"Description","function.newt-listbox-append-entry":"Description","function.newt-listbox-clear-selection":"Description","function.newt-listbox-clear":"Description","function.newt-listbox-delete-entry":"Description","function.newt-listbox-get-current":"Description","function.newt-listbox-get-selection":"Description","function.newt-listbox-insert-entry":"Description","function.newt-listbox-item-count":"Description","function.newt-listbox-select-item":"Description","function.newt-listbox-set-current-by-key":"Description","function.newt-listbox-set-current":"Description","function.newt-listbox-set-data":"Description","function.newt-listbox-set-entry":"Description","function.newt-listbox-set-width":"Description","function.newt-listbox":"Description","function.newt-listitem-get-data":"Description","function.newt-listitem-set":"Description","function.newt-listitem":"Description","function.newt-open-window":"Open a window of the specified size and position","function.newt-pop-help-line":"Replaces the current help line with the one from the stack","function.newt-pop-window":"Removes the top window from the display","function.newt-push-help-line":"Saves the current help line on a stack, and displays the new line","function.newt-radio-get-current":"Description","function.newt-radiobutton":"Description","function.newt-redraw-help-line":"Description","function.newt-reflow-text":"Description","function.newt-refresh":"Updates modified portions of the screen","function.newt-resize-screen":"Description","function.newt-resume":"Resume using the newt interface after calling\n newt_suspend","function.newt-run-form":"Runs a form","function.newt-scale-set":"Description","function.newt-scale":"Description","function.newt-scrollbar-set":"Description","function.newt-set-help-callback":"Description","function.newt-set-suspend-callback":"Set a callback function which gets invoked when user\n presses the suspend key","function.newt-suspend":"Tells newt to return the terminal to its initial state","function.newt-textbox-get-num-lines":"Description","function.newt-textbox-reflowed":"Description","function.newt-textbox-set-height":"Description","function.newt-textbox-set-text":"Description","function.newt-textbox":"Description","function.newt-vertical-scrollbar":"Description","function.newt-wait-for-key":"Doesn't return until a key has been pressed","function.newt-win-choice":"Description","example-640":"A newt_win_entries example","function.newt-win-entries":"Description","function.newt-win-menu":"Description","function.newt-win-message":"Description","function.newt-win-messagev":"Description","function.newt-win-ternary":"Description","ref.newt":"Newt Functions","book.newt":"Newt","intro.readline":"Introduction","readline.requirements":"Requirements","readline.installation":"Installation","ini.cli.pager":"","ini.cli.prompt":"","readline.configuration":"Runtime Configuration","readline.resources":"Resource Types","readline.setup":"Installing\/Configuring","readline.constants":"Predefined Constants","function.readline-add-history":"Adds a line to the history","example-641":"Readline Callback Interface Example","function.readline-callback-handler-install":"Initializes the readline callback interface and terminal, prints the prompt and returns immediately","function.readline-callback-handler-remove":"Removes a previously installed callback handler and restores terminal settings","function.readline-callback-read-char":"Reads a character and informs the readline callback interface when a line is received","function.readline-clear-history":"Clears the history","function.readline-completion-function":"Registers a completion function","function.readline-info":"Gets\/sets various internal readline variables","function.readline-list-history":"Lists the history","function.readline-on-new-line":"Inform readline that the cursor has moved to a new line","function.readline-read-history":"Reads the history","function.readline-redisplay":"Redraws the display","function.readline-write-history":"Writes the history","example-642":"readline Example","function.readline":"Reads a line","ref.readline":"Readline Functions","book.readline":"GNU Readline","refs.utilspec.cmdline":"Command Line Specific Extensions","intro.bzip2":"Introduction","bzip2.requirements":"Requirements","bzip2.installation":"Installation","bzip2.configuration":"Runtime Configuration","bzip2.resources":"Resource Types","bzip2.setup":"Installing\/Configuring","bzip2.constants":"Predefined Constants","example-643":"Small bzip2 Example","bzip2.examples":"Examples","function.bzclose":"Close a bzip2 file","example-644":"Compressing data","function.bzcompress":"Compress a string into bzip2 encoded data","example-645":"Decompressing a String","function.bzdecompress":"Decompresses bzip2 encoded data","function.bzerrno":"Returns a bzip2 error number","example-646":"bzerror example","function.bzerror":"Returns the bzip2 error number and error string in an array","function.bzerrstr":"Returns a bzip2 error string","function.bzflush":"Force a write of all buffered data","example-647":"bzopen example","function.bzopen":"Opens a bzip2 compressed file","example-648":"bzread example","function.bzread":"Binary safe bzip2 file read","example-649":"bzwrite example","function.bzwrite":"Binary safe bzip2 file write","ref.bzip2":"Bzip2 Functions","book.bzip2":"Bzip2","intro.lzf":"Introduction","lzf.requirements":"Requirements","lzf.installation":"Installation","lzf.configuration":"Runtime Configuration","lzf.resources":"Resource Types","lzf.setup":"Installing\/Configuring","lzf.constants":"Predefined Constants","function.lzf-compress":"LZF compression","function.lzf-decompress":"LZF decompression","function.lzf-optimized-for":"Determines what LZF extension was optimized for","ref.lzf":"LZF Functions","book.lzf":"LZF","example-650":"Using an external file","example-651":"Using a file within a phar archive","example-652":"Converting a phar archive from phar to tar file format","intro.phar":"Introduction","phar.requirements":"Requirements","phar.installation":"Installation","ini.phar.readonly":"","ini.phar.require-hash":"","example-653":"phar.extract_list usage example","ini.phar.extract-list":"","example-654":"phar.cache_list usage example","ini.phar.cache-list":"","phar.configuration":"Runtime Configuration","phar.resources":"Resource Types","phar.setup":"Installing\/Configuring","phar.constants.compression":"Phar compression constants","phar.constants.fileformat":"Phar file format constants","phar.constants.signature":"Phar signature constants","phar.constants.mimeoverride":"Phar webPhar mime override constants","phar.constants":"Predefined Constants","phar.using.intro":"Using Phar Archives: Introduction","phar.using.stream":"Using Phar Archives: the phar stream wrapper","phar.using.object":"Using Phar Archives: the Phar and PharData class","phar.using":"Using Phar Archives","phar.creating.intro":"Creating Phar Archives: Introduction","phar.creating":"Creating Phar Archives","phar.fileformat.ingredients":"Ingredients of all Phar archives, independent of file format","phar.fileformat.stub":"Phar file stub","phar.fileformat.phartip":"","phar.fileformat.phartip2":"","phar.fileformat.phartip3":"","phar.fileformat.comparison":"Head-to-head comparison of Phar, Tar and Zip","phar.fileformat.tar":"Tar-based phars","phar.fileformat.zip":"Zip-based phars","phar.fileformat.phar":"Phar File Format","phar.fileformat.flags":"Global Phar bitmapped flags","phar.fileformat.manifestfile":"Phar manifest file entry definition","phar.fileformat.signature":"Phar Signature format","phar.fileformat":"What makes a phar a phar and not a tar or a zip?","phar.intro":"Introduction","phar.synopsis":"Class synopsis","example-655":"A Phar::addEmptyDir example","phar.addemptydir":"Add an empty directory to the phar archive","example-656":"A Phar::addFile example","phar.addfile":"Add a file from the filesystem to the phar archive","example-657":"A Phar::addFromString example","phar.addfromstring":"Add a file from the filesystem to the phar archive","example-658":"A Phar::apiVersion example","phar.apiversion":"Returns the api version","example-659":"A Phar::buildFromDirectory example","phar.buildfromdirectory":"Construct a phar archive from the files within a directory.","example-660":"A Phar::buildFromIterator with SplFileInfo","example-661":"A Phar::buildFromIterator with other iterators","phar.buildfromiterator":"Construct a phar archive from an iterator.","example-662":"A Phar::canCompress example","phar.cancompress":"Returns whether phar extension supports compression using either zlib or bzip2","example-663":"A Phar::canWrite example","phar.canwrite":"Returns whether phar extension supports writing and creating phars","example-664":"A Phar::compress example","phar.compress":"Compresses the entire Phar archive using Gzip or Bzip2 compression","example-665":"A Phar::compressAllFilesBZIP2 example","phar.compressallfilesbzip2":"Compresses all files in the current Phar archive using Bzip2 compression","example-666":"A Phar::compressAllFilesGZ example","phar.compressallfilesgz":"Compresses all files in the current Phar archive using Gzip compression","example-667":"A Phar::compressFiles example","phar.compressfiles":"Compresses all files in the current Phar archive","example-668":"A Phar::__construct example","phar.construct":"Construct a Phar archive object","example-669":"A Phar::convertToData example","phar.converttodata":"Convert a phar archive to a non-executable tar or zip file","example-670":"A Phar::convertToExecutable example","phar.converttoexecutable":"Convert a phar archive to another executable phar archive file format","example-671":"A Phar::copy example","phar.copy":"Copy a file internal to the phar archive to another new file within the phar","example-672":"A Phar::count example","phar.count":"Returns the number of entries (files) in the Phar archive","example-673":"A Phar::createDefaultStub example","phar.createdefaultstub":"Create a phar-file format specific stub","example-674":"A Phar::decompress example","phar.decompress":"Decompresses the entire Phar archive","example-675":"A Phar::decompressFiles example","phar.decompressfiles":"Decompresses all files in the current Phar archive","example-676":"A Phar::delMetaData example","phar.delmetadata":"Deletes the global metadata of the phar","example-677":"A Phar::delete example","phar.delete":"Delete a file within a phar archive","example-678":"A Phar::extractTo example","phar.extractto":"Extract the contents of a phar archive to a directory","example-679":"A Phar::getMetadata example","phar.getmetadata":"Returns phar archive meta-data","phar.getmodified":"Return whether phar was modified","phar.getsignature":"Return MD5\/SHA1\/SHA256\/SHA512\/OpenSSL signature of a Phar archive","example-680":"A Phar::getStub example","phar.getstub":"Return the PHP loader or bootstrap stub of a Phar archive","phar.getsupportedcompression":"Return array of supported compression algorithms","phar.getsupportedsignatures":"Return array of supported signature types","phar.getversion":"Return version info of Phar archive","example-681":"A Phar::hasMetadata example","phar.hasmetadata":"Returns whether phar has global meta-data","example-682":"A Phar::interceptFileFuncs example","example-683":"A Phar::interceptFileFuncs example","phar.interceptfilefuncs":"instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions","example-684":"A Phar::isBuffering example","phar.isbuffering":"Used to determine whether Phar write operations are being buffered, or are flushing directly to disk","example-685":"A Phar::isCompressed example","phar.iscompressed":"Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz\/tar.bz and so on)","phar.isfileformat":"Returns true if the phar archive is based on the tar\/phar\/zip file format depending on the parameter","phar.isvalidpharfilename":"Returns whether the given filename is a valid phar filename","phar.iswritable":"Returns true if the phar archive can be modified","example-686":"A Phar::loadPhar example","phar.loadphar":"Loads any phar archive with an alias","example-687":"A Phar::mapPhar example","phar.mapphar":"Reads the currently executed file (a phar) and registers its manifest","example-688":"A Phar::mount example","phar.mount":"Mount an external path or file to a virtual location within the phar archive","example-689":"A Phar::mungServer example","phar.mungserver":"Defines a list of up to 4 $_SERVER variables that should be modified for execution","example-690":"A Phar::offsetExists example","phar.offsetexists":"determines whether a file exists in the phar","example-691":"Phar::offsetGet example","phar.offsetget":"Gets a PharFileInfo object for a specific file","example-692":"A Phar::offsetSet example","phar.offsetset":"set the contents of an internal file to those of an external file","example-693":"A Phar::offsetUnset example","phar.offsetunset":"remove a file from a phar","example-694":"A Phar::running example","phar.running":"Returns the full path on disk or full phar URL to the currently executing Phar archive","example-695":"A Phar::setAlias example","phar.setalias":"Set the alias for the Phar archive","example-696":"A Phar::setDefaultStub example","phar.setdefaultstub":"Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader","example-697":"A Phar::setMetadata example","phar.setmetadata":"Sets phar archive meta-data","phar.setsignaturealgorithm":"set the signature algorithm for a phar and apply it.","example-698":"A Phar::setStub example","phar.setstub":"Used to set the PHP loader or bootstrap stub of a Phar archive","example-699":"A Phar::startBuffering example","phar.startbuffering":"Start buffering Phar write operations, do not modify the Phar object on disk","example-700":"A Phar::stopBuffering example","phar.stopbuffering":"Stop buffering write requests to the Phar archive, and save changes to disk","example-701":"A Phar::uncompressAllFiles example","phar.uncompressallfiles":"Uncompresses all files in the current Phar archive","example-702":"A Phar::unlinkArchive example","phar.unlinkarchive":"Completely remove a phar archive from disk and from memory","example-703":"A Phar::webPhar example","phar.webphar":"mapPhar for web-based phars. front controller for web applications","class.phar":"The Phar class","phardata.intro":"Introduction","phardata.synopsis":"Class synopsis","example-704":"A PharData::addEmptyDir example","phardata.addemptydir":"Add an empty directory to the tar\/zip archive","example-705":"A PharData::addFile example","phardata.addfile":"Add a file from the filesystem to the tar\/zip archive","example-706":"A PharData::addFromString example","phardata.addfromstring":"Add a file from the filesystem to the tar\/zip archive","example-707":"A PharData::buildFromDirectory example","phardata.buildfromdirectory":"Construct a tar\/zip archive from the files within a directory.","example-708":"A PharData::buildFromIterator with SplFileInfo","example-709":"A PharData::buildFromIterator with other iterators","phardata.buildfromiterator":"Construct a tar or zip archive from an iterator.","example-710":"A PharData::compress example","phardata.compress":"Compresses the entire tar\/zip archive using Gzip or Bzip2 compression","example-711":"A PharData::compressFiles example","phardata.compressfiles":"Compresses all files in the current tar\/zip archive","example-712":"A PharData::__construct example","phardata.construct":"Construct a non-executable tar or zip archive object","example-713":"A PharData::convertToData example","phardata.converttodata":"Convert a phar archive to a non-executable tar or zip file","example-714":"A PharData::convertToExecutable example","phardata.converttoexecutable":"Convert a non-executable tar\/zip archive to an executable phar archive","example-715":"A PharData::copy example","phardata.copy":"Copy a file internal to the phar archive to another new file within the phar","example-716":"A PharData::decompress example","phardata.decompress":"Decompresses the entire Phar archive","example-717":"A PharData::decompressFiles example","phardata.decompressfiles":"Decompresses all files in the current zip archive","example-718":"A PharData::delMetaData example","phardata.delmetadata":"Deletes the global metadata of a zip archive","example-719":"A PharData::delete example","phardata.delete":"Delete a file within a tar\/zip archive","example-720":"A PharData::extractTo example","phardata.extractto":"Extract the contents of a tar\/zip archive to a directory","phardata.iswritable":"Returns true if the tar\/zip archive can be modified","example-721":"A PharData::offsetSet example","phardata.offsetset":"set the contents of a file within the tar\/zip to those of an external file or string","example-722":"A PharData::offsetUnset example","phardata.offsetunset":"remove a file from a tar\/zip archive","phardata.setalias":"dummy function (Phar::setAlias is not valid for PharData)","phardata.setdefaultstub":"dummy function (Phar::setDefaultStub is not valid for PharData)","example-723":"A Phar::setMetadata example","phardata.setmetadata":"Sets phar archive meta-data","phardata.setsignaturealgorithm":"set the signature algorithm for a phar and apply it. The","phardata.setstub":"dummy function (Phar::setStub is not valid for PharData)","class.phardata":"The PharData class","pharfileinfo.intro":"Introduction","pharfileinfo.synopsis":"Class synopsis","example-724":"A PharFileInfo::chmod example","pharfileinfo.chmod":"Sets file-specific permission bits","example-725":"A PharFileInfo::compress example","pharfileinfo.compress":"Compresses the current Phar entry with either zlib or bzip2 compression","example-726":"A PharFileInfo::__construct example","pharfileinfo.construct":"Construct a Phar entry object","example-727":"A PharFileInfo::decompress example","pharfileinfo.decompress":"Decompresses the current Phar entry within the phar","example-728":"A PharFileInfo::delMetaData example","pharfileinfo.delmetadata":"Deletes the metadata of the entry","example-729":"A PharFileInfo::getCRC32 example","pharfileinfo.getcrc32":"Returns CRC32 code or throws an exception if CRC has not been verified","example-730":"A PharFileInfo::getCompressedSize example","pharfileinfo.getcompressedsize":"Returns the actual size of the file (with compression) inside the Phar archive","example-731":"A PharFileInfo::getMetadata example","pharfileinfo.getmetadata":"Returns file-specific meta-data saved with a file","example-732":"A PharFileInfo::getPharFlags example","pharfileinfo.getpharflags":"Returns the Phar file entry flags","pharfileinfo.hasmetadata":"Returns the metadata of the entry","example-733":"A PharFileInfo::isCRCChecked example","pharfileinfo.iscrcchecked":"Returns whether file entry has had its CRC verified","example-734":"A PharFileInfo::isCompressed example","pharfileinfo.iscompressed":"Returns whether the entry is compressed","example-735":"A PharFileInfo::isCompressedBZIP2 example","pharfileinfo.iscompressedbzip2":"Returns whether the entry is compressed using bzip2","example-736":"A PharFileInfo::isCompressedGZ example","pharfileinfo.iscompressedgz":"Returns whether the entry is compressed using gz","example-737":"A PharFileInfo::setCompressedBZIP2 example","pharfileinfo.setcompressedbzip2":"Compresses the current Phar entry within the phar using Bzip2 compression","example-738":"A PharFileInfo::setCompressedGZ example","pharfileinfo.setcompressedgz":"Compresses the current Phar entry within the phar using gz compression","example-739":"A PharFileInfo::setMetadata example","pharfileinfo.setmetadata":"Sets file-specific meta-data saved with a file","example-740":"A PharFileInfo::setUncompressed example","pharfileinfo.setuncompressed":"Uncompresses the current Phar entry within the phar, if it is compressed","class.pharfileinfo":"The PharFileInfo class","pharexception.intro":"Introduction","pharexception.synopsis":"Class synopsis","pharexception.intro.unused":"The PharException class provides a phar-specific exception class\n for try\/catch blocks.","class.pharexception":"The PharException class","book.phar":"Phar","intro.rar":"Introduction","rar.requirements":"Requirements","example-741":"Rar installation","rar.installation":"Installation","rar.configuration":"Runtime Configuration","rar.resources":"Resource Types","rar.setup":"Installing\/Configuring","constant.rar-host-msdos":"","constant.rar-host-os2":"","constant.rar-host-win32":"","constant.rar-host-unix":"","constant.rar-host-beos":"","rar.constants":"Predefined Constants","example-742":"On-the-fly decompression","example-743":"RAR extension filesystem extraction example","rar.examples":"Examples","function.rar-wrapper-cache-stats":"Cache hits and misses for the URL wrapper","ref.rar":"Rar Functions","rararchive.intro":"Introduction","rararchive.synopsis":"Class synopsis","example-744":"Object oriented style","example-745":"Procedural style","rararchive.close":"Close RAR archive and free all resources","example-746":"Object oriented style","example-747":"Procedural style","rararchive.getcomment":"Get comment text from the RAR archive","example-748":"Object oriented style","example-749":"Procedural style","rararchive.getentries":"Get full list of entries from the RAR archive","example-750":"Object oriented style","example-751":"Procedural style","rararchive.getentry":"Get entry object from the RAR archive","example-752":"Object oriented style","example-753":"Procedural style","rararchive.isbroken":"Test whether an archive is broken (incomplete)","example-754":"Object oriented style","example-755":"Procedural style","rararchive.issolid":"Check whether the RAR archive is solid","example-756":"Object oriented style","example-757":"Procedural style","example-758":"Volume Callback","rararchive.open":"Open RAR archive","example-759":"Object oriented style","example-760":"Procedural style","rararchive.setallowbroken":"Whether opening broken archives is allowed","example-761":"RarArchive::__toString example","rararchive.tostring":"Get text representation","class.rararchive":"The RarArchive class","rarentry.intro":"Introduction","rarentry.synopsis":"Class synopsis","rarentry.constants.host-msdos":"","rarentry.constants.host-os2":"","rarentry.constants.host-win32":"","rarentry.constants.host-unix":"","rarentry.constants.host-macos":"","rarentry.constants.host-beos":"","rarentry.constants.attribute-win-readonly":"","rarentry.constants.attribute-win-hidden":"","rarentry.constants.attribute-win-system":"","rarentry.constants.attribute-win-directory":"","rarentry.constants.attribute-win-archive":"","rarentry.constants.attribute-win-device":"","rarentry.constants.attribute-win-normal":"","rarentry.constants.attribute-win-temporary":"","rarentry.constants.attribute-win-sparse-file":"","rarentry.constants.attribute-win-reparse-point":"","rarentry.constants.attribute-win-compressed":"","rarentry.constants.attribute-win-offline":"","rarentry.constants.attribute-win-not-content-indexed":"","rarentry.constants.attribute-win-encrypted":"","rarentry.constants.attribute-win-virtual":"","rarentry.constants.attribute-unix-world-execute":"","rarentry.constants.attribute-unix-world-write":"","rarentry.constants.attribute-unix-world-read":"","rarentry.constants.attribute-unix-group-execute":"","rarentry.constants.attribute-unix-group-write":"","rarentry.constants.attribute-unix-group-read":"","rarentry.constants.attribute-unix-owner-execute":"","rarentry.constants.attribute-unix-owner-write":"","rarentry.constants.attribute-unix-owner-read":"","rarentry.constants.attribute-unix-sticky":"","rarentry.constants.attribute-unix-setgid":"","rarentry.constants.attribute-unix-setuid":"","rarentry.constants.attribute-unix-final-quartet":"","rarentry.constants.attribute-unix-fifo":"","rarentry.constants.attribute-unix-char-dev":"","rarentry.constants.attribute-unix-directory":"","rarentry.constants.attribute-unix-block-dev":"","rarentry.constants.attribute-unix-regular-file":"","rarentry.constants.attribute-unix-sym-link":"","rarentry.constants.attribute-unix-socket":"","rarentry.constants":"Predefined Constants","example-762":"RarEntry::extract example","example-763":"How to extract all files in archive:","rarentry.extract":"Extract entry from the archive","example-764":"RarEntry::getAttr example","rarentry.getattr":"Get attributes of the entry","rarentry.getcrc":"Get CRC of the entry","rarentry.getfiletime":"Get entry last modification time","example-765":"RarEntry::getHostOs example (version >= 2.0.0)","example-766":"RarEntry::getHostOs example (version <= 1.0.0)","rarentry.gethostos":"Get entry host OS","example-767":"RarEntry::getMethod example","rarentry.getmethod":"Get pack method of the entry","example-768":"RarEntry::getName example","rarentry.getname":"Get name of the entry","example-769":"RarEntry::getPackedSize example","rarentry.getpackedsize":"Get packed size of the entry","example-770":"RarEntry::getStream example","rarentry.getstream":"Get file handler for entry","example-771":"RarEntry::getUnpackedSize example","rarentry.getunpackedsize":"Get unpacked size of the entry","example-772":"RarEntry::getVersion example","rarentry.getversion":"Get minimum version of RAR program required to unpack the entry","rarentry.isdirectory":"Test whether an entry represents a directory","rarentry.isencrypted":"Test whether an entry is encrypted","rarentry.tostring":"Get text representation of entry","class.rarentry":"The RarEntry class","rarexception.intro":"Introduction","rarexception.synopsis":"Class synopsis","example-773":"RarException::isUsingExceptions example","rarexception.isusingexceptions":"Check whether error handling with exceptions is in use","example-774":"RarException::setUsingExceptions example","rarexception.setusingexceptions":"Activate and deactivate error handling with exceptions","class.rarexception":"The RarException class","book.rar":"Rar Archiving","intro.zip":"Introduction","zip.requirements.old":"PHP 4","zip.requirements.new":"PHP 5.2.0 or later","zip.requirements":"Requirements","zip.installation.old.linux":"Linux systems","zip.installation.old.windows":"Windows","zip.old.installation":"PHP 4","zip.installation.new.linux":"Linux systems","zip.installation.new.windows":"Windows","zip.installation.new":"PHP 5.2.0 and later","zip.pecl.installation":"Installation via PECL","zip.installation":"Installation","zip.configuration":"Runtime Configuration","zip.resources":"Resource Types","zip.setup":"Installing\/Configuring","ziparchive.constants.create":"","ziparchive.constants.overwrite":"","ziparchive.constants.excl":"","ziparchive.constants.checkcons":"","ziparchive.constants.fl-nocase":"","ziparchive.constants.fl-nodir":"","ziparchive.constants.fl-compressed":"","ziparchive.constants.fl-unchanged":"","ziparchive.constants.cm-default":"","ziparchive.constants.cm-store":"","ziparchive.constants.cm-shrink":"","ziparchive.constants.cm-reduce-1":"","ziparchive.constants.cm-reduce-2":"","ziparchive.constants.cm-reduce-3":"","ziparchive.constants.cm-reduce-4":"","ziparchive.constants.cm-implode":"","ziparchive.constants.cm-deflate":"","ziparchive.constants.cm-deflate64":"","ziparchive.constants.cm-pkware-implode":"","ziparchive.constants.cm-bzip2":"","ziparchive.constants.er-ok":"","ziparchive.constants.er-multidisk":"","ziparchive.constants.er-rename":"","ziparchive.constants.er-close":"","ziparchive.constants.er-seek":"","ziparchive.constants.er-read":"","ziparchive.constants.er-write":"","ziparchive.constants.er-crc":"","ziparchive.constants.er-zipclosed":"","ziparchive.constants.er-noent":"","ziparchive.constants.er-exists":"","ziparchive.constants.er-open":"","ziparchive.constants.er-tmpopen":"","ziparchive.constants.er-zlib":"","ziparchive.constants.er-memory":"","ziparchive.constants.er-changed":"","ziparchive.constants.er-compnotsupp":"","ziparchive.constants.er-eof":"","ziparchive.constants.er-inval":"","ziparchive.constants.er-nozip":"","ziparchive.constants.er-internal":"","ziparchive.constants.er-incons":"","ziparchive.constants.er-remove":"","ziparchive.constants.er-deleted":"","zip.constants":"Predefined Constants","example-775":"Create a Zip archive","example-776":"Dump the archive details and listing","example-777":"Zip stream wrapper, read an OpenOffice meta info","example-778":"Zip Usage Example","zip.examples":"Examples","ziparchive.intro":"Introduction","ziparchive.synopsis":"Class synopsis","ziparchive.props.status":"","ziparchive.props.statussys":"","ziparchive.props.numfiles":"","ziparchive.props.filename":"","ziparchive.props.comment":"","ziparchive.props":"Properties","example-779":"Create a new directory in an archive","ziparchive.addemptydir":"Add a new directory","example-780":"Open and extract","ziparchive.addfile":"Adds a file to a ZIP archive from the given path","example-781":"Add an entry to a new archive","example-782":"Add file to a directory inside an archive","ziparchive.addfromstring":"Add a file to a ZIP archive using its contents","ziparchive.addglob.example.basic":"ZipArchive::addGlob example","ziparchive.addglob":"Add files from a directory by glob pattern","ziparchive.addpattern.example.basic":"ZipArchive::addPattern example","ziparchive.addpattern":"Add files from a directory by PCRE pattern","ziparchive.close":"Close the active archive (opened or newly created)","example-785":"Delete file from archive using its index","ziparchive.deleteindex":"delete an entry in the archive using its index","example-786":"Deleting a file and directory from an archive, using names","ziparchive.deletename":"delete an entry in the archive using its name","example-787":"Extract all entries","example-788":"Extract two entries","ziparchive.extractto":"Extract the archive contents","example-789":"Dump an archive comment","ziparchive.getarchivecomment":"Returns the Zip archive comment","example-790":"Dump an entry comment","ziparchive.getcommentindex":"Returns the comment of an entry using the entry index","example-791":"Dump an entry comment","ziparchive.getcommentname":"Returns the comment of an entry using the entry name","example-792":"Get the file contents","ziparchive.getfromindex":"Returns the entry contents using its index","example-793":"Get the file contents","example-794":"Convert an image from a zip entry","ziparchive.getfromname":"Returns the entry contents using its name","example-795":"ZipArchive::getNameIndex example","ziparchive.getnameindex":"Returns the name of an entry using its index","ziparchive.getstatusstring":"Returns the status error message, system and\/or zip messages","example-796":"Get the entry contents with fread and store it","example-797":"Same as the previous example but with fopen and the zip\n stream wrapper","example-798":"Stream wrapper and image, can be used with the xml function\n as well","ziparchive.getstream":"Get a file handler to the entry defined by its name (read only).","example-799":"Create an archive and then use it with ZipArchive::locateName","ziparchive.locatename":"Returns the index of the entry in the archive","example-800":"Open and extract","example-801":"Create an archive","ziparchive.open":"Open a ZIP file archive","example-802":"Rename one entry","ziparchive.renameindex":"Renames an entry defined by its index","example-803":"Rename one entry","ziparchive.renamename":"Renames an entry defined by its name","example-804":"Create an archive and set a comment","ziparchive.setarchivecomment":"Set the comment of a ZIP archive","example-805":"Open an archive and set a comment for an entry","ziparchive.setcommentindex":"Set the comment of an entry defined by its index","example-806":"Open an archive and set a comment for an entry","ziparchive.setcommentname":"Set the comment of an entry defined by its name","example-807":"Dump the stat info of an entry","ziparchive.statindex":"Get the details of an entry defined by its index.","example-808":"Dump the stat info of an entry","ziparchive.statname":"Get the details of an entry defined by its name.","ziparchive.unchangeall":"Undo all changes done in the archive","ziparchive.unchangearchive":"Revert all global changes done in the archive.","ziparchive.unchangeindex":"Revert all changes done to an entry at the given index","ziparchive.unchangename":"Revert all changes done to an entry with the given name.","class.ziparchive":"The ZipArchive class","function.zip-close":"Close a ZIP file archive","function.zip-entry-close":"Close a directory entry","function.zip-entry-compressedsize":"Retrieve the compressed size of a directory entry","function.zip-entry-compressionmethod":"Retrieve the compression method of a directory entry","function.zip-entry-filesize":"Retrieve the actual file size of a directory entry","function.zip-entry-name":"Retrieve the name of a directory entry","function.zip-entry-open":"Open a directory entry for reading","function.zip-entry-read":"Read from an open directory entry","function.zip-open":"Open a ZIP file archive","function.zip-read":"Read next entry in a ZIP file archive","ref.zip":"Zip Functions","book.zip":"Zip","intro.zlib":"Introduction","zlib.requirements":"Requirements","zlib.installation":"Installation","ini.zlib.output-compression":"","ini.zlib.output-compression-level":"","ini.zlib.output-handler":"","zlib.configuration":"Runtime Configuration","zlib.resources":"Resource Types","zlib.setup":"Installing\/Configuring","constant.force-gzip":"","constant.force-deflate":"","zlib.constants":"Predefined Constants","example-809":"Small Zlib Example","zlib.examples":"Examples","example-810":"gzclose example","function.gzclose":"Close an open gz-file pointer","example-811":"gzcompress example","function.gzcompress":"Compress a string","function.gzdecode":"Decodes a gzip compressed string","example-812":"gzdeflate example","function.gzdeflate":"Deflate a string","example-813":"Creating a gzip file","function.gzencode":"Create a gzip compressed string","example-814":"gzeof example","function.gzeof":"Test for EOF on a gz-file pointer","example-815":"gzfile example","function.gzfile":"Read entire gz-file into an array","example-816":"gzgetc example","function.gzgetc":"Get character from gz-file pointer","example-817":"gzgets example","function.gzgets":"Get line from file pointer","example-818":"gzgetss example","function.gzgetss":"Get line from gz-file pointer and strip HTML tags","example-819":"gzinflate example","function.gzinflate":"Inflate a deflated string","example-820":"gzopen Example","function.gzopen":"Open gz-file","example-821":"gzpassthru example","function.gzpassthru":"Output all remaining data on a gz-file pointer","function.gzputs":"Alias of gzwrite","example-822":"gzread example","function.gzread":"Binary-safe gz-file read","function.gzrewind":"Rewind the position of a gz-file pointer","example-823":"gzseek example","function.gzseek":"Seek on a gz-file pointer","function.gztell":"Tell gz-file pointer read\/write position","example-824":"gzuncompress example","function.gzuncompress":"Uncompress a compressed string","example-825":"gzwrite example","function.gzwrite":"Binary-safe gz-file write","function.readgzfile":"Output a gz-file","function.zlib-decode":"Uncompress any raw\/gzip\/zlib encoded data","function.zlib-encode":"Compress data with the specified encoding","function.zlib-get-coding-type":"Returns the coding type used for output compression","ref.zlib":"Zlib Functions","book.zlib":"Zlib Compression","refs.compression":"Compression and Archive Extensions","intro.mcve":"Introduction","mcve.requirements":"Requirements","mcve.installation":"Installation","mcve.configuration":"Runtime Configuration","mcve.resources":"Resource Types","mcve.setup":"Installing\/Configuring","constant.m-pending":"","constant.m-done":"","constant.m-error":"","constant.m-fail":"","constant.m-success":"","mcve.constants":"Predefined Constants","function.m-checkstatus":"Check to see if a transaction has completed","function.m-completeauthorizations":"Number of complete authorizations in queue, returning an array of their identifiers","function.m-connect":"Establish the connection to MCVE","function.m-connectionerror":"Get a textual representation of why a connection failed","function.m-deletetrans":"Delete specified transaction from MCVE_CONN structure","function.m-destroyconn":"Destroy the connection and MCVE_CONN structure","function.m-destroyengine":"Free memory associated with IP\/SSL connectivity","function.m-getcell":"Get a specific cell from a comma delimited response by column name","function.m-getcellbynum":"Get a specific cell from a comma delimited response by column number","function.m-getcommadelimited":"Get the RAW comma delimited data returned from MCVE","function.m-getheader":"Get the name of the column in a comma-delimited response","function.m-initconn":"Create and initialize an MCVE_CONN structure","function.m-initengine":"Ready the client for IP\/SSL Communication","function.m-iscommadelimited":"Checks to see if response is comma delimited","function.m-maxconntimeout":"The maximum amount of time the API will attempt a connection to MCVE","function.m-monitor":"Perform communication with MCVE (send\/receive data) Non-blocking","function.m-numcolumns":"Number of columns returned in a comma delimited response","function.m-numrows":"Number of rows returned in a comma delimited response","function.m-parsecommadelimited":"Parse the comma delimited response so m_getcell, etc will work","function.m-responsekeys":"Returns array of strings which represents the keys that can be used\n for response parameters on this transaction","function.m-responseparam":"Get a custom response parameter","function.m-returnstatus":"Check to see if the transaction was successful","function.m-setblocking":"Set blocking\/non-blocking mode for connection","function.m-setdropfile":"Set the connection method to Drop-File","function.m-setip":"Set the connection method to IP","function.m-setssl-cafile":"Set SSL CA (Certificate Authority) file for verification of server\n certificate","function.m-setssl-files":"Set certificate key files and certificates if server requires client certificate\n verification","function.m-setssl":"Set the connection method to SSL","function.m-settimeout":"Set maximum transaction time (per trans)","function.m-sslcert-gen-hash":"Generate hash for SSL client certificate verification","function.m-transactionssent":"Check to see if outgoing buffer is clear","function.m-transinqueue":"Number of transactions in client-queue","function.m-transkeyval":"Add key\/value pair to a transaction. Replaces deprecated transparam()","function.m-transnew":"Start a new transaction","function.m-transsend":"Finalize and send the transaction","function.m-uwait":"Wait x microsecs","function.m-validateidentifier":"Whether or not to validate the passed identifier on any transaction it is passed to","function.m-verifyconnection":"Set whether or not to PING upon connect to verify connection","function.m-verifysslcert":"Set whether or not to verify the server ssl certificate","ref.mcve":"MCVE Functions","book.mcve":"MCVE (Monetra) Payment","intro.spplus":"Introduction","spplus.requirements":"Requirements","spplus.installation":"Installation","spplus.configuration":"Runtime Configuration","spplus.resources":"Resource Types","spplus.setup":"Installing\/Configuring","spplus.constants":"Predefined Constants","function.calcul-hmac":"Obtain a hmac key (needs 8 arguments)","function.calculhmac":"Obtain a hmac key (needs 2 arguments)","function.nthmac":"Obtain a nthmac key (needs 2 arguments)","function.signeurlpaiement":"Obtain the payment url (needs 2 arguments)","ref.spplus":"SPPLUS Functions","book.spplus":"SPPLUS Payment System","refs.creditcard":"Credit Card Processing","intro.crack":"Introduction","crack.requirements":"Requirements","crack.installation":"Installation","crack.configuration":"Runtime Configuration","crack.resources":"Resource Types","crack.setup":"Installing\/Configuring","crack.constants":"Predefined Constants","example-826":"CrackLib example","crack.examples":"Examples","function.crack-check":"Performs an obscure check with the given password","function.crack-closedict":"Closes an open CrackLib dictionary","function.crack-getlastmessage":"Returns the message from the last obscure check","function.crack-opendict":"Opens a new CrackLib dictionary","ref.crack":"Crack Functions","book.crack":"Cracklib","intro.hash":"Introduction","hash.requirements":"Requirements","hash.installation":"Installation","hash.configuration":"Runtime Configuration","hash.resources":"Resource Types","hash.setup":"Installing\/Configuring","constant.hash-hmac":"","hash.constants":"Predefined Constants","example-827":"hash_algos example","function.hash-algos":"Return a list of registered hashing algorithms","example-828":"hash_copy example","function.hash-copy":"Copy hashing context","example-829":"Using hash_file","function.hash-file":"Generate a hash value using the contents of a given file","example-830":"hash_final example","function.hash-final":"Finalize an incremental hash and return resulting digest","example-831":"hash_hmac_file example","function.hash-hmac-file":"Generate a keyed hash value using the HMAC method and the contents of a given file","example-832":"hash_hmac example","function.hash-hmac":"Generate a keyed hash value using the HMAC method","example-833":"Incremental hashing example","function.hash-init":"Initialize an incremental hashing context","example-834":"hash_pbkdf2 example, basic usage","function.hash-pbkdf2":"Generate a PBKDF2 key derivation of a supplied password","function.hash-update-file":"Pump data into an active hashing context from a file","example-835":"hash_update_stream example","function.hash-update-stream":"Pump data into an active hashing context from an open stream","function.hash-update":"Pump data into an active hashing context","example-836":"A hash example","function.hash":"Generate a hash value (message digest)","ref.hash":"Hash Functions","book.hash":"HASH Message Digest Framework","intro.mcrypt":"Introduction","mcrypt.requirements":"Requirements","mcrypt.installation":"Installation","ini.mcrypt.algorithms-dir":"","ini.mcrypt.modes-dir":"","mcrypt.configuration":"Runtime Configuration","mcrypt.resources":"Resource Types","mcrypt.setup":"Installing\/Configuring","constant.mcrypt-encrypt":"","constant.mcrypt-decrypt":"","constant.mcrypt-dev-random":"","constant.mcrypt-dev-urandom":"","constant.mcrypt-rand":"","mcrypt.constants":"Predefined Constants","mcrypt.ciphers":"Mcrypt ciphers","example-837":"Encrypt an input value with TripleDES under 2.4.x and higher in ECB mode","mcrypt.examples":"Examples","function.mcrypt-cbc":"Encrypts\/decrypts data in CBC mode","function.mcrypt-cfb":"Encrypts\/decrypts data in CFB mode","example-838":"mcrypt_create_iv Example","function.mcrypt-create-iv":"Creates an initialization vector (IV) from a random source","function.mcrypt-decrypt":"Decrypts crypttext with given parameters","function.mcrypt-ecb":"Deprecated: Encrypts\/decrypts data in ECB mode","example-839":"mcrypt_enc_get_algorithms_name example","function.mcrypt-enc-get-algorithms-name":"Returns the name of the opened algorithm","function.mcrypt-enc-get-block-size":"Returns the blocksize of the opened algorithm","function.mcrypt-enc-get-iv-size":"Returns the size of the IV of the opened algorithm","function.mcrypt-enc-get-key-size":"Returns the maximum supported keysize of the opened mode","example-840":"mcrypt_enc_get_modes_name example","function.mcrypt-enc-get-modes-name":"Returns the name of the opened mode","example-841":"mcrypt_enc_get_supported_key_sizes example","function.mcrypt-enc-get-supported-key-sizes":"Returns an array with the supported keysizes of the opened algorithm","function.mcrypt-enc-is-block-algorithm-mode":"Checks whether the encryption of the opened mode works on blocks","function.mcrypt-enc-is-block-algorithm":"Checks whether the algorithm of the opened mode is a block algorithm","function.mcrypt-enc-is-block-mode":"Checks whether the opened mode outputs blocks","function.mcrypt-enc-self-test":"Runs a self test on the opened module","example-842":"mcrypt_encrypt Example","function.mcrypt-encrypt":"Encrypts plaintext with given parameters","function.mcrypt-generic-deinit":"This function deinitializes an encryption module","function.mcrypt-generic-end":"This function terminates encryption","function.mcrypt-generic-init":"This function initializes all buffers needed for encryption","function.mcrypt-generic":"This function encrypts data","example-843":"mcrypt_get_block_size example","function.mcrypt-get-block-size":"Gets the block size of the specified cipher","example-844":"mcrypt_get_cipher_name Example","function.mcrypt-get-cipher-name":"Gets the name of the specified cipher","example-845":"mcrypt_get_iv_size Example","function.mcrypt-get-iv-size":"Returns the size of the IV belonging to a specific cipher\/mode combination","example-846":"mcrypt_get_key_size Example","function.mcrypt-get-key-size":"Gets the key size of the specified cipher","example-847":"mcrypt_list_algorithms Example","function.mcrypt-list-algorithms":"Gets an array of all supported ciphers","example-848":"mcrypt_list_modes Example","function.mcrypt-list-modes":"Gets an array of all supported modes","function.mcrypt-module-close":"Closes the mcrypt module","function.mcrypt-module-get-algo-block-size":"Returns the blocksize of the specified algorithm","function.mcrypt-module-get-algo-key-size":"Returns the maximum supported keysize of the opened mode","function.mcrypt-module-get-supported-key-sizes":"Returns an array with the supported keysizes of the opened algorithm","function.mcrypt-module-is-block-algorithm-mode":"Returns if the specified module is a block algorithm or not","function.mcrypt-module-is-block-algorithm":"This function checks whether the specified algorithm is a block algorithm","function.mcrypt-module-is-block-mode":"Returns if the specified mode outputs blocks or not","example-849":"mcrypt_module_open Examples","example-850":"Using mcrypt_module_open in encryption","function.mcrypt-module-open":"Opens the module of the algorithm and the mode to be used","example-851":"mcrypt_module_self_test example","function.mcrypt-module-self-test":"This function runs a self test on the specified module","function.mcrypt-ofb":"Encrypts\/decrypts data in OFB mode","example-852":"mdecrypt_generic Example","function.mdecrypt-generic":"Decrypts data","ref.mcrypt":"Mcrypt Functions","book.mcrypt":"Mcrypt","intro.mhash":"Introduction","mhash.requirements":"Requirements","mhash.installation":"Installation","mhash.configuration":"Runtime Configuration","mhash.resources":"Resource Types","mhash.setup":"Installing\/Configuring","mhash.constants":"Predefined Constants","example-853":"Computes the MD5 digest and hmac and print it out as hex","mhash.examples":"Examples","example-854":"Traversing all hashes","function.mhash-count":"Gets the highest available hash ID","example-855":"mhash_get_block_size Example","function.mhash-get-block-size":"Gets the block size of the specified hash","example-856":"mhash_get_hash_name Example","function.mhash-get-hash-name":"Gets the name of the specified hash","function.mhash-keygen-s2k":"Generates a key","function.mhash":"Computes hash","ref.mhash":"Mhash Functions","book.mhash":"Mhash","intro.openssl":"Introduction","openssl.requirements":"Requirements","openssl.installation":"Installation","openssl.configuration":"Runtime Configuration","openssl.resources":"Resource Types","openssl.setup":"Installing\/Configuring","constant.x509-purpose-ssl-client":"","constant.x509-purpose-ssl-server":"","constant.x509-purpose-ns-ssl-server":"","constant.x509-purpose-smime-sign":"","constant.x509-purpose-smime-encrypt":"","constant.x509-purpose-crl-sign":"","constant.x509-purpose-any":"","openssl.purpose-check":"Purpose checking flags","constant.openssl-pkcs1-padding":"","constant.openssl-sslv23-padding":"","constant.openssl-no-padding":"","constant.openssl-pkcs1-oaep-padding":"","openssl.padding":"Padding flags for asymmetric encryption","constant.openssl-keytype-rsa":"","constant.openssl-keytype-dsa":"","constant.openssl-keytype-dh":"","constant.openssl-keytype-ec":"","openssl.key-types":"Key types","openssl.pkcs7.flags":"PKCS7 Flags\/Constants","constant.openssl-algo-dss1":"","constant.openssl-algo-sha1":"","constant.openssl-algo-sha224":"","constant.openssl-algo-sha256":"","constant.openssl-algo-sha384":"","constant.openssl-algo-sha512":"","constant.openssl-algo-rmd160":"","constant.openssl-algo-md5":"","constant.openssl-algo-md4":"","constant.openssl-algo-md2":"","openssl.signature-algos":"Signature Algorithms","constant.openssl-cipher-rc2-40":"","constant.openssl-cipher-rc2-128":"","constant.openssl-cipher-rc2-64":"","constant.openssl-cipher-des":"","constant.openssl-cipher-3des":"","constant.openssl-cipher-aes-128-cbc":"","constant.openssl-cipher-aes-192-cbc":"","constant.openssl-cipher-aes-256-cbc":"","openssl.ciphers":"Ciphers","constant.openssl-version-text":"","constant.openssl-version-number":"","openssl.constversion":"Version constants","constant.openssl-tlsext-server-name":"","openssl.constsni":"Server Name Indication constants","openssl.constants":"Predefined Constants","openssl.certparams":"Key\/Certificate parameters","openssl.cert.verification":"Certificate Verification","openssl-cipher-iv-length.example.basic":"openssl_cipher_iv_length example","function.openssl-cipher-iv-length":"Gets the cipher iv length","function.openssl-csr-export-to-file":"Exports a CSR to a file","function.openssl-csr-export":"Exports a CSR as a string","function.openssl-csr-get-public-key":"Returns the public key of a CERT","function.openssl-csr-get-subject":"Returns the subject of a CERT","example-858":"Creating a self-signed-certificate","function.openssl-csr-new":"Generates a CSR","example-859":"openssl_csr_sign example - signing a\n CSR (how to implement your own CA)","function.openssl-csr-sign":"Sign a CSR with another certificate (or itself) and generate a certificate","function.openssl-decrypt":"Decrypts data","function.openssl-dh-compute-key":"Computes shared secret for public value of remote DH key and local DH key","function.openssl-digest":"Computes a digest","function.openssl-encrypt":"Encrypts data","example-860":"openssl_error_string example","function.openssl-error-string":"Return openSSL error message","function.openssl-free-key":"Free key resource","example-861":"openssl_get_cipher_methods example","function.openssl-get-cipher-methods":"Gets available cipher methods","example-862":"openssl_get_md_methods example","function.openssl-get-md-methods":"Gets available digest methods","function.openssl-get-privatekey":"Alias of openssl_pkey_get_private","function.openssl-get-publickey":"Alias of openssl_pkey_get_public","example-863":"openssl_open example","function.openssl-open":"Open sealed data","function.openssl-pbkdf2":"Generates a PKCS5 v2 PBKDF2 string, defaults to SHA-1","function.openssl-pkcs12-export-to-file":"Exports a PKCS#12 Compatible Certificate Store File","function.openssl-pkcs12-export":"Exports a PKCS#12 Compatible Certificate Store File to variable.","function.openssl-pkcs12-read":"Parse a PKCS#12 Certificate Store into an array","example-864":"openssl_pkcs7_decrypt example","function.openssl-pkcs7-decrypt":"Decrypts an S\/MIME encrypted message","example-865":"openssl_pkcs7_encrypt example","function.openssl-pkcs7-encrypt":"Encrypt an S\/MIME message","example-866":"openssl_pkcs7_sign example","function.openssl-pkcs7-sign":"Sign an S\/MIME message","function.openssl-pkcs7-verify":"Verifies the signature of an S\/MIME signed message","function.openssl-pkey-export-to-file":"Gets an exportable representation of a key into a file","function.openssl-pkey-export":"Gets an exportable representation of a key into a string","function.openssl-pkey-free":"Frees a private key","function.openssl-pkey-get-details":"Returns an array with the key details","function.openssl-pkey-get-private":"Get a private key","function.openssl-pkey-get-public":"Extract public key from certificate and prepare it for use","function.openssl-pkey-new":"Generates a new private key","function.openssl-private-decrypt":"Decrypts data with private key","function.openssl-private-encrypt":"Encrypts data with private key","function.openssl-public-decrypt":"Decrypts data with public key","function.openssl-public-encrypt":"Encrypts data with public key","example-867":"openssl_random_pseudo_bytes example","function.openssl-random-pseudo-bytes":"Generate a pseudo-random string of bytes","example-868":"openssl_seal example","function.openssl-seal":"Seal (encrypt) data","example-869":"openssl_sign example","function.openssl-sign":"Generate signature","example-870":"openssl_verify example","function.openssl-verify":"Verify signature","function.openssl-x509-check-private-key":"Checks if a private key corresponds to a certificate","function.openssl-x509-checkpurpose":"Verifies if a certificate can be used for a particular purpose","function.openssl-x509-export-to-file":"Exports a certificate to file","function.openssl-x509-export":"Exports a certificate as a string","function.openssl-x509-free":"Free certificate resource","function.openssl-x509-parse":"Parse an X509 certificate and return the information as an array","function.openssl-x509-read":"Parse an X.509 certificate and return a resource identifier for\n it","ref.openssl":"OpenSSL Functions","book.openssl":"OpenSSL","intro.password":"Introduction","password.requirements":"Requirements","password.installation":"Installation","password.configuration":"Runtime Configuration","password.resources":"Resource Types","password.setup":"Installing\/Configuring","constant.password-bcrypt":"","constant.password-default":"","password.constants":"Predefined Constants","function.password-get-info":"Returns information about the given hash","example-871":"password_hash example","example-872":"password_hash example setting cost manually","example-873":"password_hash example setting salt manually","example-874":"password_hash example finding a good cost","function.password-hash":"Creates a password hash","function.password-needs-rehash":"Checks if the given hash matches the given options","example-875":"password_verify example","function.password-verify":"Verifies that a password matches a hash","ref.password":"Password Hashing Functions","book.password":"Password Hashing","refs.crypto":"Cryptography Extensions","intro.dba":"Introduction","dba.requirements":"Requirements","dba.installation":"Installation","ini.dba.default_handler":"","dba.configuration":"Runtime Configuration","dba.resources":"Resource Types","dba.setup":"Installing\/Configuring","dba.constants":"Predefined Constants","example-876":"DBA example","example-877":"Traversing a database","dba.example":"Basic usage","dba.examples":"Examples","function.dba-close":"Close a DBA database","function.dba-delete":"Delete DBA entry specified by key","function.dba-exists":"Check whether key exists","function.dba-fetch":"Fetch data specified by key","function.dba-firstkey":"Fetch first key","example-878":"dba_handlers Example","function.dba-handlers":"List all the handlers available","function.dba-insert":"Insert entry","function.dba-key-split":"Splits a key in string representation into array representation","function.dba-list":"List all open database files","function.dba-nextkey":"Fetch next key","function.dba-open":"Open database","function.dba-optimize":"Optimize database","function.dba-popen":"Open database persistently","function.dba-replace":"Replace or insert entry","function.dba-sync":"Synchronize database","ref.dba":"DBA Functions","book.dba":"Database (dbm-style) Abstraction Layer","intro.dbx":"Introduction","dbx.requirements":"Requirements","dbx.installation":"Installation","ini.dbx.colnames-case":"","dbx.configuration":"Runtime Configuration","dbx.resources":"Resource Types","dbx.setup":"Installing\/Configuring","constant.dbx-mysql":"","constant.dbx-odbc":"","constant.dbx-pgsql":"","constant.dbx-mssql":"","constant.dbx-fbsql":"","constant.dbx-oci8":"","constant.dbx-sybasect":"","constant.dbx-sqlite":"","constant.dbx-persistent":"","constant.dbx-result-info":"","constant.dbx-result-index":"","constant.dbx-result-assoc":"","constant.dbx-result-unbuffered":"","constant.dbx-colnames-unchanged":"","constant.dbx-colnames-uppercase":"","constant.dbx-colnames-lowercase":"","constant.dbx-cmp-native":"","constant.dbx-cmp-text":"","constant.dbx-cmp-number":"","constant.dbx-cmp-asc":"","constant.dbx-cmp-desc":"","constants.dbx":"Predefined Constants","example-879":"dbx_close example","function.dbx-close":"Close an open connection\/database","example-880":"dbx_compare example","function.dbx-compare":"Compare two rows for sorting purposes","example-881":"dbx_connect example","function.dbx-connect":"Open a connection\/database","example-882":"dbx_error example","function.dbx-error":"Report the error message of the latest function call in the module","example-883":"dbx_escape_string example","function.dbx-escape-string":"Escape a string so it can safely be used in an sql-statement","example-884":"How to handle the returned value","function.dbx-fetch-row":"Fetches rows from a query-result that had the \n DBX_RESULT_UNBUFFERED flag set","example-885":"lists each field's name and type","example-886":"outputs the content of data property into HTML table","example-887":"How to handle UNBUFFERED queries","example-888":"How to handle the returned value","function.dbx-query":"Send a query and fetch all results (if any)","example-889":"dbx_sort example","function.dbx-sort":"Sort a result from a dbx_query by a custom sort function","ref.dbx":"dbx Functions","book.dbx":"dbx","intro.uodbc":"Introduction","uodbc.requirements":"Requirements","install.configure.with-adabas":"","install.configure.with-sapdb":"","install.configure.with-solid":"","install.configure.with-ibm-db2":"","install.configure.with-empress":"","install.configure.with-empress-bcs":"","install.configure.with-birdstep":"","install.configure.with-custom-odbc":"","install.configure.with-iodbc":"","install.configure.with-esoob":"","install.configure.with-unixodbc":"","install.configure.with-openlink":"","install.configure.with-dbmaker":"","odbc.installation":"Installation","ini.uodbc.default-db":"","ini.uodbc.default-user":"","ini.uodbc.default-pw":"","ini.uodbc.allow-persistent":"","ini.uodbc.check-persistent":"","ini.uodbc.max-persistent":"","ini.uodbc.max-links":"","ini.uodbc.defaultlrl":"","ini.uodbc.defaultbinmode":"","ini.uodbc.defaultcursortype":"","odbc.configuration":"Runtime Configuration","uodbc.resources":"Resource Types","uodbc.setup":"Installing\/Configuring","constant.odbc-type":"","constant.odbc-binmode-passthru":"","constant.odbc-binmode-return":"","constant.odbc-binmode-convert":"","constant.sql-odbc-cursors":"","constant.sql-cur-use-driver":"","constant.sql-cur-use-if-needed":"","constant.sql-cur-use-odbc":"","constant.sql-concurrency":"","constant.sql-concur-read-only":"","constant.sql-concur-lock":"","constant.sql-concur-rowver":"","constant.sql-concur-values":"","constant.sql-cursor-type":"","constant.sql-cursor-forward-only":"","constant.sql-cursor-keyset-driven":"","constant.sql-cursor-dynamic":"","constant.sql-cursor-static":"","constant.sql-keyset-size":"","constant.sql-char":"","constant.sql-varchar":"","constant.sql-longvarchar":"","constant.sql-decimal":"","constant.sql-numeric":"","constant.sql-bit":"","constant.sql-tinyint":"","constant.sql-smallint":"","constant.sql-integer":"","constant.sql-bigint":"","constant.sql-real":"","constant.sql-float":"","constant.sql-double":"","constant.sql-binary":"","constant.sql-varbinary":"","constant.sql-longvarbinary":"","constant.sql-date":"","constant.sql-time":"","constant.sql-timestamp":"","constant.sql-type-date":"","constant.sql-type-time":"","constant.sql-type-timestamp":"","constant.sql-best-rowid":"","constant.sql-rowver":"","constant.sql-scope-currow":"","constant.sql-scope-transaction":"","constant.sql-scope-session":"","constant.sql-no-nulls":"","constant.sql-nullable":"","constant.sql-index-unique":"","constant.sql-index-all":"","constant.sql-ensure":"","constant.sql-quick":"","uodbc.constants":"Predefined Constants","function.odbc-autocommit":"Toggle autocommit behaviour","function.odbc-binmode":"Handling of binary column data","function.odbc-close-all":"Close all ODBC connections","function.odbc-close":"Close an ODBC connection","function.odbc-columnprivileges":"Lists columns and associated privileges for the given table","function.odbc-columns":"Lists the column names in specified tables","function.odbc-commit":"Commit an ODBC transaction","example-890":"DSN-less connections","function.odbc-connect":"Connect to a datasource","function.odbc-cursor":"Get cursorname","function.odbc-data-source":"Returns information about a current connection","function.odbc-do":"Alias of odbc_exec","function.odbc-error":"Get the last error code","function.odbc-errormsg":"Get the last error message","function.odbc-exec":"Prepare and execute an SQL statement","example-891":"odbc_execute and odbc_prepare example","function.odbc-execute":"Execute a prepared statement","function.odbc-fetch-array":"Fetch a result row as an associative array","example-892":"odbc_fetch_into examples","function.odbc-fetch-into":"Fetch one result row into array","function.odbc-fetch-object":"Fetch a result row as an object","function.odbc-fetch-row":"Fetch a row","function.odbc-field-len":"Get the length (precision) of a field","function.odbc-field-name":"Get the columnname","function.odbc-field-num":"Return column number","function.odbc-field-precision":"Alias of odbc_field_len","function.odbc-field-scale":"Get the scale of a field","function.odbc-field-type":"Datatype of a field","function.odbc-foreignkeys":"Retrieves a list of foreign keys","function.odbc-free-result":"Free resources associated with a result","function.odbc-gettypeinfo":"Retrieves information about data types supported by the data source","function.odbc-longreadlen":"Handling of LONG columns","example-893":"odbc_next_result","function.odbc-next-result":"Checks if multiple results are available","function.odbc-num-fields":"Number of columns in a result","function.odbc-num-rows":"Number of rows in a result","function.odbc-pconnect":"Open a persistent database connection","example-894":"odbc_execute and odbc_prepare example","function.odbc-prepare":"Prepares a statement for execution","function.odbc-primarykeys":"Gets the primary keys for a table","function.odbc-procedurecolumns":"Retrieve information about parameters to procedures","function.odbc-procedures":"Get the list of procedures stored in a specific data source","function.odbc-result-all":"Print result as HTML table","example-895":"odbc_result examples","function.odbc-result":"Get result data","function.odbc-rollback":"Rollback a transaction","example-896":"odbc_setoption examples","function.odbc-setoption":"Adjust ODBC settings","function.odbc-specialcolumns":"Retrieves special columns","function.odbc-statistics":"Retrieve statistics about a table","function.odbc-tableprivileges":"Lists tables and the privileges associated with each table","function.odbc-tables":"Get the list of table names stored in a specific data source","ref.uodbc":"ODBC Functions","book.uodbc":"ODBC (Unified)","intro.pdo":"Introduction","pdo.requirements":"Requirements","pdo.install.unix51up":"Installing PDO on Unix systems","pdo.install.win32php51":"Windows users","pdo.installation":"Installation","ini.pdo.dsn":"","pdo.configuration":"Runtime Configuration","pdo.resources":"Resource Types","pdo.setup":"Installing\/Configuring","pdo.constants.param-bool":"","pdo.constants.param-null":"","pdo.constants.param-int":"","pdo.constants.param-str":"","pdo.constants.param-lob":"","pdo.constants.param-stmt":"","pdo.constants.param-input-output":"","pdo.constants.fetch-lazy":"","pdo.constants.fetch-assoc":"","pdo.constants.fetch-named":"","pdo.constants.fetch-num":"","pdo.constants.fetch-both":"","pdo.constants.fetch-obj":"","pdo.constants.fetch-bound":"","pdo.constants.fetch-column":"","pdo.constants.fetch-class":"","pdo.constants.fetch-into":"","pdo.constants.fetch-func":"","pdo.constants.fetch-group":"","pdo.constants.fetch-unique":"","pdo.constants.fetch-key-pair":"","pdo.constants.fetch-classtype":"","pdo.constants.fetch-serialize":"","pdo.constants.fetch-props-late":"","pdo.constants.attr-autocommit":"","pdo.constants.attr-prefetch":"","pdo.constants.attr-timeout":"","pdo.constants.attr-errmode":"","pdo.constants.attr-server-version":"","pdo.constants.attr-client-version":"","pdo.constants.attr-server-info":"","pdo.constants.attr-connection-status":"","pdo.constants.attr-case":"","pdo.constants.attr-cursor-name":"","pdo.constants.attr-cursor":"","example-897":"using PDO::ATTR_DRIVER_NAME","pdo.constants.attr-driver-name":"","pdo.constants.attr-oracle-nulls":"","pdo.constants.attr-persistent":"","pdo.constants.attr-statement-class":"","pdo.constants.attr-fetch-catalog-names":"","pdo.constants.attr-fetch-table-names":"","pdo.constants.attr-stringify-fetches":"","pdo.constants.attr-max-column-len":"","pdo.constants.attr-default-fetch-mode":"","pdo.constants.attr-emulate-prepares":"","pdo.constants.errmode-silent":"","pdo.constants.errmode-warning":"","pdo.constants.errmode-exception":"","pdo.constants.case-natural":"","pdo.constants.case-lower":"","pdo.constants.case-upper":"","pdo.constants.null-natural":"","pdo.constants.null-empty-string":"","pdo.constants.null-to-string":"","pdo.constants.fetch-ori-next":"","pdo.constants.fetch-ori-prior":"","pdo.constants.fetch-ori-first":"","pdo.constants.fetch-ori-last":"","pdo.constants.fetch-ori-abs":"","pdo.constants.fetch-ori-rel":"","pdo.constants.cursor-fwdonly":"","pdo.constants.cursor-scroll":"","pdo.constants.err-none":"","pdo.constants.param-evt-alloc":"","pdo.constants.param-evt-free":"","pdo.constants.param-evt-exec-pre":"","pdo.constants.param-evt-exec-post":"","pdo.constants.param-evt-fetch-pre":"","pdo.constants.param-evt-fetch-post":"","pdo.constants.param-evt-normalize":"","pdo.constants":"Predefined Constants","example-898":"Connecting to MySQL","example-899":"Handling connection errors","example-900":"Closing a connection","example-901":"Persistent connections","pdo.connections":"Connections and Connection management","example-902":"Executing a batch in a transaction","pdo.transactions":"Transactions and auto-commit","example-903":"Repeated inserts using prepared statements","example-904":"Repeated inserts using prepared statements","example-905":"Fetching data using prepared statements","example-906":"Calling a stored procedure with an output parameter","example-907":"Calling a stored procedure with an input\/output parameter","example-908":"Invalid use of placeholder","pdo.prepared-statements":"Prepared statements and stored procedures","example-909":"Create a PDO instance and set the error mode","example-910":"Create a PDO instance and set the error mode from the constructor","pdo.error-handling":"Errors and error handling","example-911":"Displaying an image from a database","example-912":"Inserting an image into a database","example-913":"Inserting an image into a database: Oracle","pdo.lobs":"Large Objects (LOBs)","pdo.intro":"Introduction","pdo.synopsis":"Class synopsis","example-914":"Roll back a transaction","pdo.begintransaction":"Initiates a transaction","example-915":"Committing a basic transaction","example-916":"Committing a DDL transaction","pdo.commit":"Commits a transaction","example-917":"Create a PDO instance via driver invocation","example-918":"Create a PDO instance via URI invocation","example-919":"Create a PDO instance using an alias","pdo.construct":"Creates a PDO instance representing a connection to a database","example-920":"Retrieving an SQLSTATE code","pdo.errorcode":"Fetch the SQLSTATE associated with the last operation on the database handle","example-921":"Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database","pdo.errorinfo":"Fetch extended error information associated with the last operation on the database handle","example-922":"Issuing a DELETE statement","pdo.exec":"Execute an SQL statement and return the number of affected rows","example-923":"Retrieving database connection attributes","pdo.getattribute":"Retrieve a database connection attribute","example-924":"A PDO::getAvailableDrivers example","pdo.getavailabledrivers":"Return an array of available PDO drivers","pdo.intransaction":"Checks if inside a transaction","pdo.lastinsertid":"Returns the ID of the last inserted row or sequence value","example-925":"Prepare an SQL statement with named parameters","example-926":"Prepare an SQL statement with question mark parameters","pdo.prepare":"Prepares a statement for execution and returns a statement object","example-927":"Demonstrate PDO::query","pdo.query":"Executes an SQL statement, returning a result set as a PDOStatement object","example-928":"Quoting a normal string","example-929":"Quoting a dangerous string","example-930":"Quoting a complex string","pdo.quote":"Quotes a string for use in a query.","example-931":"Roll back a transaction","pdo.rollback":"Rolls back a transaction","pdo.setattribute":"Set an attribute","class.pdo":"The PDO class","pdostatement.intro":"Introduction","pdostatement.synopsis":"Class synopsis","pdostatement.props.querystring":"","pdostatement.props":"Properties","example-932":"Binding result set output to PHP variables","pdostatement.bindcolumn":"Bind a column to a PHP variable","example-933":"Execute a prepared statement with named placeholders","example-934":"Execute a prepared statement with question mark placeholders","example-935":"Call a stored procedure with an INOUT parameter","pdostatement.bindparam":"Binds a parameter to the specified variable name","example-936":"Execute a prepared statement with named placeholders","example-937":"Execute a prepared statement with question mark placeholders","pdostatement.bindvalue":"Binds a value to a parameter","example-938":"A PDOStatement::closeCursor example","pdostatement.closecursor":"Closes the cursor, enabling the statement to be executed again.","example-939":"Counting columns","pdostatement.columncount":"Returns the number of columns in the result set","example-940":"PDOStatement::debugDumpParams example with named parameters","example-941":"PDOStatement::debugDumpParams example with unnamed parameters","pdostatement.debugdumpparams":"Dump an SQL prepared command","example-942":"Retrieving an SQLSTATE code","pdostatement.errorcode":"Fetch the SQLSTATE associated with the last operation on the statement handle","example-943":"Displaying errorInfo() fields for a PDO_ODBC connection to a DB2 database","pdostatement.errorinfo":"Fetch extended error information associated with the last operation on the statement handle","example-944":"Execute a prepared statement with bound variables","example-945":"Execute a prepared statement with an array of insert values (named parameters)","example-946":"Execute a prepared statement with an array of insert values (placeholders)","example-947":"Execute a prepared statement with question mark placeholders","example-948":"Execute a prepared statement using array for IN clause","pdostatement.execute":"Executes a prepared statement","example-949":"Fetching rows using different fetch styles","example-950":"Fetching rows with a scrollable cursor","pdostatement.fetch":"Fetches the next row from a result set","example-951":"Fetch all remaining rows in a result set","example-952":"Fetching all values of a single column from a result set","example-953":"Grouping all values by a single column","example-954":"Instantiating a class for each result","example-955":"Calling a function for each result","pdostatement.fetchall":"Returns an array containing all of the result set rows","example-956":"Return first column of the next row","pdostatement.fetchcolumn":"Returns a single column from the next row of a result set","pdostatement.fetchobject":"Fetches the next row and returns it as an object.","pdostatement.getattribute":"Retrieve a statement attribute","example-957":"Retrieving column metadata","pdostatement.getcolumnmeta":"Returns metadata for a column in a result set","example-958":"Fetching multiple rowsets returned from a stored procedure","pdostatement.nextrowset":"Advances to the next rowset in a multi-rowset statement handle","example-959":"Return the number of deleted rows","example-960":"Counting rows returned by a SELECT statement","pdostatement.rowcount":"Returns the number of rows affected by the last SQL statement","pdostatement.setattribute":"Set a statement attribute","example-961":"Setting the fetch mode","pdostatement.setfetchmode":"Set the default fetch mode for this statement","class.pdostatement":"The PDOStatement class","pdoexception.intro":"Introduction","pdoexception.synopsis":"Class synopsis","pdoexception.props.errorinfo":"","pdoexception.props.code":"","pdoexception.props":"Properties","class.pdoexception":"The PDOException class","pdo-cubrid.intro":"Introduction","ref.pdo-cubrid.installation":"Installation","example-962":"Insert LOBs in CUBRID PDO","example-963":"Fetch LOBs in CUBRID PDO","example-964":"Insert set in CUBRID PDO with default data type.","example-965":"Specify data type when insert set in CUBRID PDO","ref.pdo-cubrid.features":"Features","pdo-cubrid.constants":"Predefined Constants","example-966":"PDO_CUBRID DSN examples","ref.pdo-cubrid.connection":"Connecting to CUBRID databases","example-967":"A PDO::cubrid_schema example","pdo.cubrid-schema":"Get the requested schema information","ref.pdo-cubrid":"CUBRID Functions (PDO_CUBRID)","pdo-dblib.intro":"Introduction","example-968":"PDO_DBLIB DSN examples","ref.pdo-dblib.connection":"Connecting to Microsoft SQL Server and Sybase databases","ref.pdo-dblib":"Microsoft SQL Server and Sybase Functions (PDO_DBLIB)","pdo-firebird.intro":"Introduction","ref.pdo-firebird.installation":"Installation","pdo.constants.fb-attr-date-format":"","pdo.constants.fb-attr-time-format":"","pdo.constants.fb-attr-timestamp-format":"","pdo-firebird.constants":"Predefined Constants","example-969":"PDO_FIREBIRD DSN example with path","example-970":"PDO_FIREBIRD DSN example with port and path","example-971":"PDO_FIREBIRD DSN example with localhost and path to employee.fdb on Debian system","ref.pdo-firebird.connection":"Connecting to Firebird databases","ref.pdo-firebird":"Firebird Functions (PDO_FIREBIRD)","pdo-ibm.intro":"Introduction","ref.pdo-ibm.installation":"Installation","example-972":"PDO_IBM DSN example using db2cli.ini","example-973":"PDO_IBM DSN example using a connection string","ref.pdo-ibm.connection":"Connecting to IBM databases","ref.pdo-ibm":"IBM Functions (PDO_IBM)","pdo-informix.intro":"Introduction","ref.pdo-informix.installation":"Installation","ref.pdo-informix.features.cursors":"Scrollable cursors","example-974":"PDO_INFORMIX DSN example using odbc.ini","example-975":"PDO_INFORMIX DSN example using a connection string","ref.pdo-informix.connection":"Connecting to Informix databases","ref.pdo-informix":"Informix Functions (PDO_INFORMIX)","pdo-mysql.intro":"Introduction","ref.pdo-mysql.installation":"Installation","example-976":"Forcing queries to be buffered in mysql","pdo.constants.mysql-attr-use-buffered-query":"","pdo.constants.mysql-attr-local-infile":"","pdo.constants.mysql-attr-init-command":"","pdo.constants.mysql-attr-read-default-file":"","pdo.constants.mysql-attr-read-default-group":"","pdo.constants.mysql-attr-max-buffer-size":"","pdo.constants.mysql-attr-direct-query":"","pdo.constants.mysql-attr-found-rows":"","pdo.constants.mysql-attr-ignore-space":"","pdo.constants.mysql-attr-compress":"","pdo.constants.mysql-attr-ssl-ca":"","pdo.constants.mysql-attr-ssl-capath":"","pdo.constants.mysql-attr-ssl-cert":"","pdo.constants.mysql-attr-cipher":"","pdo.constants.mysql-attr-key":"","pdo-mysql.constants":"Predefined Constants","ini.pdo-mysql.default-socket":"","ini.pdo-mysql.debug":"","pdo-mysql.configuration":"Runtime Configuration","example-977":"Setting the connection character set to UTF-8 prior to PHP 5.3.6","example-978":"PDO_MYSQL DSN examples","ref.pdo-mysql.connection":"Connecting to MySQL databases","ref.pdo-mysql":"MySQL Functions (PDO_MYSQL)","pdo-sqlsrv.intro":"Introduction","ref.pdo-sqlsrv.installation":"Installation","pdo.constants.sqlsrv-txn-read-uncommitted":"","pdo.constants.sqlsrv-txn-read-committed":"","pdo.constants.sqlsrv-txn-repeatable-read":"","pdo.constants.sqlsrv-txn-snapshot":"","pdo.constants.sqlsrv-txn-serializable":"","pdo.constants.sqlsrv-encoding-binary":"","pdo.constants.sqlsrv-encoding-system":"","pdo.constants.sqlsrv-encoding-utf8":"","pdo.constants.sqlsrv-encoding-default":"","pdo.constants.sqlsrv-attr-query-timeout":"","pdo.constants.sqlsrv-attr-direct-query":"","pdo-sqlsrv.constants":"Predefined Constants","example-979":"PDO_SQLSRV DSN examples","ref.pdo-sqlsrv.connection":"Connecting to MS SQL Server and SQL Azure databases","ref.pdo-sqlsrv":"Microsoft SQL Server Functions (PDO_SQLSRV)","pdo-oci.intro":"Introduction","ref.pdo-oci.installation":"Installation","example-980":"PDO_OCI DSN examples","ref.pdo-oci.connection":"Connecting to Oracle databases","ref.pdo-oci":"Oracle Functions (PDO_OCI)","pdo-odbc.intro":"Introduction","ref.pdo-odbc.install.unix":"PDO_ODBC on UNIX systems","ref.pdo-odbc.installation":"Installation","ini.pdo-odbc.connection-pooling":"","ini.pdo-odbc.db2-instance-name":"","pdo-odbc.configuration":"Runtime Configuration","example-981":"PDO_ODBC DSN example (ODBC driver manager)","example-982":"PDO_ODBC DSN example (IBM DB2 uncataloged connection)","example-983":"PDO_ODBC DSN example (Microsoft Access uncataloged connection)","ref.pdo-odbc.connection":"Connecting to ODBC or DB2 databases","ref.pdo-odbc":"ODBC and DB2 Functions (PDO_ODBC)","pdo-pgsql.intro":"Introduction","pdo-pgsql.resources":"Resource Types","ref.pdo-pgsql.installation":"Installation","example-984":"PDO_PGSQL DSN examples","ref.pdo-pgsql.connection":"Connecting to PostgreSQL databases","example-985":"A PDO::pgsqlLOBCreate example","pdo.pgsqllobcreate":"Creates a new large object","example-986":"A PDO::pgsqlLOBOpen example","pdo.pgsqllobopen":"Opens an existing large object stream","example-987":"A PDO::pgsqlLOBUnlink example","pdo.pgsqllobunlink":"Deletes the large object","ref.pdo-pgsql":"PostgreSQL Functions (PDO_PGSQL)","pdo-sqlite.intro":"Introduction","ref.pdo-sqlite.installation":"Installation","example-988":"PDO_SQLITE DSN examples","ref.pdo-sqlite.connection":"Connecting to SQLite databases","example-989":"max_length aggregation function example","pdo.sqlitecreateaggregate":"Registers an aggregating User Defined Function for use in SQL statements","example-990":"PDO::sqliteCreateFunction example","pdo.sqlitecreatefunction":"Registers a User Defined Function for use in SQL statements","ref.pdo-sqlite":"SQLite Functions (PDO_SQLITE)","pdo-4d.intro":"Introduction","example-991":"DSN examples for PDO_4D","ref.pdo-4d.connection":"Connecting to 4D SQL server","pdo.constants.fourd-attr-charset":"","pdo.constants.fourd-attr-preferred-image-types":"","pdo-4d.constants":"Constants for PDO_4D","pdo-4d.sqltypes":"SQL types with PDO_4D and PHP","ref.pdo-4d.sql4d":"PDO and SQL 4D","example-992":"Basic example with PDO_4D","example-993":"Accessing 4D language from pdo_4d","example-994":"Escaping 4D table names","pdo-4d.examples":"Examples PDO_4D","ref.pdo-4d":"4D Functions (PDO_4D)","pdo.drivers":"PDO Drivers","book.pdo":"PHP Data Objects","refs.database.abstract":"Abstraction Layers","intro.cubrid":"Introduction","cubrid.requirements":"Requirements","cubrid.installation":"Installation","cubrid.configuration":"Runtime Configuration","cubrid.resources.connection-identifier":"connection identifier","cubrid.resources.request-identifier":"request identifier","cubrid.resources.lob-identifier":"LOB identifier","cubrid.resources.lob2-identifier":"LOB2 identifier","cubrid.resources":"Resource Types","cubrid.setup":"Installing\/Configuring","cubrid.constants":"Predefined Constants","example-995":"Example of Data Retrieval","example-996":"Example of Data Insertion","cubrid.examples":"Examples","example-997":"cubrid_bind example","example-998":"cubrid_bind BLOB\/CLOB example","example-999":"cubrid_bind BLOB\/CLOB example","function.cubrid-bind":"Bind variables to a prepared statement as parameters","example-1000":"cubrid_close_prepare example","function.cubrid-close-prepare":"Close the request handle","example-1001":"cubrid_close_request example","function.cubrid-close-request":"Close the request handle","example-1002":"cubrid_col_get example","function.cubrid-col-get":"Get contents of collection type column using OID","example-1003":"cubrid_col_size example","function.cubrid-col-size":"Get the number of elements in collection type column using OID","example-1004":"cubrid_column_names example","function.cubrid-column-names":"Get the column names in result","example-1005":"cubrid_column_types example","function.cubrid-column-types":"Get column types in result","example-1006":"cubrid_commit example","function.cubrid-commit":"Commit a transaction","example-1007":"cubrid_connect_with_url url without properties example","example-1008":"cubrid_connect_with_url url with properties example","function.cubrid-connect-with-url":"Establish the environment for connecting to CUBRID server","example-1009":"cubrid_connect example","function.cubrid-connect":"Open a connection to a CUBRID Server","example-1010":"cubrid_current_oid example","function.cubrid-current-oid":"Get OID of the current cursor location","example-1011":"cubrid_disconnect example","function.cubrid-disconnect":"Close a database connection","example-1012":"cubrid_drop example","function.cubrid-drop":"Delete an instance using OID","example-1013":"cubrid_error_code_facility example","function.cubrid-error-code-facility":"Get the facility code of error","example-1014":"cubrid_error_code example","function.cubrid-error-code":"Get error code for the most recent function call","example-1015":"cubrid_error_msg example","function.cubrid-error-msg":"Get last error message for the most recent function call","example-1016":"cubrid_execute example","function.cubrid-execute":"Execute a prepared SQL statement","example-1017":"cubrid_fetch example","function.cubrid-fetch":"Fetch the next row from a result set","example-1018":"cubrid_free_result example","function.cubrid-free-result":"Free the memory occupied by the result data","function.cubrid-get-autocommit":"Get auto-commit mode of the connection","example-1019":"cubrid_get_charset example","function.cubrid-get-charset":"Return the current CUBRID connection charset","example-1020":"cubrid_get_class_name example","function.cubrid-get-class-name":"Get the class name using OID","example-1021":"cubrid_get_client_info example","function.cubrid-get-client-info":"Return the client library version","example-1022":"cubrid_get_db_parameter example","function.cubrid-get-db-parameter":"Returns the CUBRID database parameters","example-1023":"cubrid_get_query_timeout example","function.cubrid-get-query-timeout":"Get the query timeout value of the request","example-1024":"cubrid_get_server_info example","function.cubrid-get-server-info":"Return the CUBRID server version","example-1025":"cubrid_get example","function.cubrid-get":"Get a column using OID","example-1026":"cubrid_insert_id example","function.cubrid-insert-id":"Return the ID generated for the last updated AUTO_INCREMENT column","example-1027":"cubrid_is_instance example","function.cubrid-is-instance":"Check whether the instance pointed by OID exists","example-1028":"cubrid_lob_close example","function.cubrid-lob-close":"Close BLOB\/CLOB data","example-1029":"cubrid_lob_export example","function.cubrid-lob-export":"Export BLOB\/CLOB data to file","example-1030":"cubrid_lob_get example","function.cubrid-lob-get":"Get BLOB\/CLOB data","example-1031":"cubrid_lob_send example","function.cubrid-lob-send":"Read BLOB\/CLOB data and send straight to browser","example-1032":"cubrid_lob_size example","function.cubrid-lob-size":"Get BLOB\/CLOB data size","example-1033":"cubrid_lob2_bind example","function.cubrid-lob2-bind":"Bind a lob object or a string as a lob object to a prepared statement as parameters.","function.cubrid-lob2-close":"Close LOB object.","example-1034":"cubrid_lob2_export example","function.cubrid-lob2-export":"Export the lob object to a file.","example-1035":"cubrid_lob2_export example","function.cubrid-lob2-import":"Import BLOB\/CLOB data from a file.","function.cubrid-lob2-new":"Create a lob object.","example-1036":"cubrid_lob2_read example 1","example-1037":"cubrid_lob2_read example 2","function.cubrid-lob2-read":"Read from BLOB\/CLOB data.","example-1038":"cubrid_lob2_seek64 example","function.cubrid-lob2-seek64":"Move the cursor of a lob object.","example-1039":"cubrid_lob2_seek example","function.cubrid-lob2-seek":"Move the cursor of a lob object.","function.cubrid-lob2-size64":"Get a lob object's size.","function.cubrid-lob2-size":"Get a lob object's size.","function.cubrid-lob2-tell64":"Tell the cursor position of the LOB object.","function.cubrid-lob2-tell":"Tell the cursor position of the LOB object.","example-1040":"cubrid_lob2_write example 1","example-1041":"cubrid_lob2_write example 2","function.cubrid-lob2-write":"Write to a lob object.","example-1042":"cubrid_lock_read example","function.cubrid-lock-read":"Set a read lock on the given OID","example-1043":"cubrid_lock_write example","function.cubrid-lock-write":"Set a write lock on the given OID","example-1044":"cubrid_move_cursor example","function.cubrid-move-cursor":"Move the cursor in the result","example-1045":"cubrid_next_result example","function.cubrid-next-result":"Get result of next query when executing multiple SQL statements","example-1046":"cubrid_num_cols example","function.cubrid-num-cols":"Return the number of columns in the result set","example-1047":"cubrid_num_rows example","function.cubrid-num-rows":"Get the number of rows in the result set","example-1048":"cubrid_pconnect_with_url url without properties example","example-1049":"cubrid_pconnect_with_url url with properties example","function.cubrid-pconnect-with-url":"Open a persistent connection to CUBRID server","example-1050":"cubrid_connect example","function.cubrid-pconnect":"Open a persistent connection to a CUBRID server","example-1051":"cubrid_prepare example","function.cubrid-prepare":"Prepare a SQL statement for execution","example-1052":"cubrid_put example","function.cubrid-put":"Update a column using OID","example-1053":"cubrid_rollback example","function.cubrid-rollback":"Roll back a transaction","example-1054":"cubrid_schema example","function.cubrid-schema":"Get the requested schema information","example-1055":"cubrid_seq_drop example","function.cubrid-seq-drop":"Delete an element from sequence type column using OID","example-1056":"cubrid_seq_insert example","function.cubrid-seq-insert":"Insert an element to a sequence type column using OID","example-1057":"cubrid_seq_put example","function.cubrid-seq-put":"Update the element value of sequence type column using OID","example-1058":"cubrid_set_add example","function.cubrid-set-add":"Insert a single element to set type column using OID","function.cubrid-set-autocommit":"Set autocommit mode of the connection","example-1059":"cubrid_get_db_parameter example","function.cubrid-set-db-parameter":"Sets the CUBRID database parameters","example-1060":"cubrid_set_drop example","function.cubrid-set-drop":"Delete an element from set type column using OID","function.cubrid-set-query-timeout":"Set the timeout time of query execution","example-1061":"cubrid_version example","function.cubrid-version":"Get the CUBRID PHP module's version","ref.cubrid":"CUBRID Functions","example-1062":"cubrid_affected_rows example","function.cubrid-affected-rows":"Return the number of rows affected by the last SQL statement","example-1063":"cubrid_client_encoding example","function.cubrid-client-encoding":"Return the current CUBRID connection charset","example-1064":"cubrid_close example","function.cubrid-close":"Close CUBRID connection","example-1065":"cubrid_data_seek example","function.cubrid-data-seek":"Move the internal row pointer of the CUBRID result","example-1066":"cubrid_db_name example","function.cubrid-db-name":"Get db name from results of cubrid_list_dbs","example-1067":"cubrid_errno example","function.cubrid-errno":"Return the numerical value of the error message from previous CUBRID operation","example-1068":"cubrid_error example","function.cubrid-error":"Get the error message","example-1069":"cubrid_fetch_array example","function.cubrid-fetch-array":"Fetch a result row as an associative array, a numeric array, or both","example-1070":"cubrid_fetch_assoc example","function.cubrid-fetch-assoc":"Return the associative array that corresponds to the fetched row","example-1071":"cubrid_fetch_field example","function.cubrid-fetch-field":"Get column information from a result and return as an object","example-1072":"cubrid_fetch_lengths example","function.cubrid-fetch-lengths":"Return an array with the lengths of the values of each field from the current row","example-1073":"cubrid_fetch_object example","function.cubrid-fetch-object":"Fetche the next row and returns it as an object","example-1074":"cubrid_fetch_row example","function.cubrid-fetch-row":"Return a numerical array with the values of the current row","example-1075":"cubrid_field_flags example","function.cubrid-field-flags":"Return a string with the flags of the given field offset","example-1076":"cubrid_field_len example","function.cubrid-field-len":"Get the maximum length of the specified field","example-1077":"cubrid_field_name example","function.cubrid-field-name":"Return the name of the specified field index","example-1078":"cubrid_field_seek example","function.cubrid-field-seek":"Move the result set cursor to the specified field offset","example-1079":"cubrid_field_table example","function.cubrid-field-table":"Return the name of the table of the specified field","example-1080":"cubrid_field_type example","function.cubrid-field-type":"Return the type of the column corresponding to the given field offset","example-1081":"cubrid_list_dbs example","function.cubrid-list-dbs":"Return an array with the list of all existing CUBRID databases","example-1082":"cubrid_num_fields example","function.cubrid-num-fields":"Return the number of columns in the result set","example-1083":"cubrid_ping example","function.cubrid-ping":"Ping a server connection or reconnect if there is no connection","example-1084":"Invalid Query","example-1085":"Valid Query","function.cubrid-query":"Send a CUBRID query","example-1086":"cubrid_real_escape_string example","function.cubrid-real-escape-string":"Escape special characters in a string for use in an SQL statement","example-1087":"cubrid_result example","function.cubrid-result":"Return the value of a specific field in a specific row","example-1088":"cubrid_unbuffered_query example","function.cubrid-unbuffered-query":"Perform a query without fetching the results into memory","cubridmysql.cubrid":"CUBRID MySQL Compatibility Functions","example-1089":"cubrid_load_from_glo example","function.cubrid-load-from-glo":"Read data from a GLO instance and save it in a file","example-1090":"cubrid_new_glo example","function.cubrid-new-glo":"Create a glo instance","example-1091":"cubrid_save_to_glo example","function.cubrid-save-to-glo":"Save requested file in a GLO instance","example-1092":"cubrid_send_glo example","function.cubrid-send-glo":"Read data from glo and send it to std output","oldaliases.cubrid":"CUBRID Obsolete Aliases and Functions","book.cubrid":"CUBRID","intro.dbplus":"Introduction","dbplus.requirements":"Requirements","dbplus.installation":"Installation","dbplus.configuration":"Runtime Configuration","dbplus.resources.relation":"dbplus_relation","dbplus.resources":"Resource Types","dbplus.setup":"Installing\/Configuring","constant.dbplus-err-noerr":"","constant.dbplus-err-duplicate":"","constant.dbplus-err-eoscan":"","constant.dbplus-err-empty":"","constant.dbplus-err-close":"","constant.dbplus-err-wlocked":"","constant.dbplus-err-locked":"","constant.dbplus-err-nolock":"","constant.dbplus-err-read":"","constant.dbplus-err-write":"","constant.dbplus-err-create":"","constant.dbplus-err-lseek":"","constant.dbplus-err-length":"","constant.dbplus-err-open":"","constant.dbplus-err-wopen":"","constant.dbplus-err-magic":"","constant.dbplus-err-version":"","constant.dbplus-err-pgsize":"","constant.dbplus-err-crc":"","constant.dbplus-err-pipe":"","constant.dbplus-err-nidx":"","constant.dbplus-err-malloc":"","constant.dbplus-err-nusers":"","constant.dbplus-err-preexit":"","constant.dbplus-err-ontrap":"","constant.dbplus-err-preproc":"","constant.dbplus-err-dbparse":"","constant.dbplus-err-dbrunerr":"","constant.dbplus-err-dbpreexit":"","constant.dbplus-err-wait":"","constant.dbplus-err-corrupt-tuple":"","constant.dbplus-err-warning0":"","constant.dbplus-err-panic":"","constant.dbplus-err-fifo":"","constant.dbplus-err-perm":"","constant.dbplus-err-tcl":"","constant.dbplus-err-restricted":"","constant.dbplus-err-user":"","constant.dbplus-err-unknown":"","dbplus.errorcodes":"db++ error codes","dbplus.constants":"Predefined Constants","function.dbplus-add":"Add a tuple to a relation","function.dbplus-aql":"Perform AQL query","function.dbplus-chdir":"Get\/Set database virtual current directory","function.dbplus-close":"Close a relation","function.dbplus-curr":"Get current tuple from relation","function.dbplus-errcode":"Get error string for given errorcode or last error","function.dbplus-errno":"Get error code for last operation","function.dbplus-find":"Set a constraint on a relation","function.dbplus-first":"Get first tuple from relation","function.dbplus-flush":"Flush all changes made on a relation","function.dbplus-freealllocks":"Free all locks held by this client","function.dbplus-freelock":"Release write lock on tuple","function.dbplus-freerlocks":"Free all tuple locks on given relation","function.dbplus-getlock":"Get a write lock on a tuple","function.dbplus-getunique":"Get an id number unique to a relation","function.dbplus-info":"Get information about a relation","function.dbplus-last":"Get last tuple from relation","function.dbplus-lockrel":"Request write lock on relation","function.dbplus-next":"Get next tuple from relation","function.dbplus-open":"Open relation file","function.dbplus-prev":"Get previous tuple from relation","function.dbplus-rchperm":"Change relation permissions","function.dbplus-rcreate":"Creates a new DB++ relation","function.dbplus-rcrtexact":"Creates an exact but empty copy of a relation including indices","function.dbplus-rcrtlike":"Creates an empty copy of a relation with default indices","function.dbplus-resolve":"Resolve host information for relation","function.dbplus-restorepos":"Restore position","function.dbplus-rkeys":"Specify new primary key for a relation","function.dbplus-ropen":"Open relation file local","function.dbplus-rquery":"Perform local (raw) AQL query","function.dbplus-rrename":"Rename a relation","function.dbplus-rsecindex":"Create a new secondary index for a relation","function.dbplus-runlink":"Remove relation from filesystem","function.dbplus-rzap":"Remove all tuples from relation","function.dbplus-savepos":"Save position","function.dbplus-setindex":"Set index","function.dbplus-setindexbynumber":"Set index by number","function.dbplus-sql":"Perform SQL query","function.dbplus-tcl":"Execute TCL code on server side","function.dbplus-tremove":"Remove tuple and return new current tuple","function.dbplus-undo":"Undo","function.dbplus-undoprepare":"Prepare undo","function.dbplus-unlockrel":"Give up write lock on relation","function.dbplus-unselect":"Remove a constraint from relation","function.dbplus-update":"Update specified tuple in relation","function.dbplus-xlockrel":"Request exclusive lock on relation","function.dbplus-xunlockrel":"Free exclusive lock on relation","ref.dbplus":"DB++ Functions","book.dbplus":"DB++","intro.dbase":"Introduction","dbase.requirements":"Requirements","dbase.installation":"Installation","dbase.configuration":"Runtime Configuration","dbase.resources":"Resource Types","dbase.setup":"Installing\/Configuring","dbase.constants":"Predefined Constants","dbase.examples.note":"Examples","example-1093":"Inserting a record in a dBase database","function.dbase-add-record":"Adds a record to a database","example-1094":"Closing a dBase database file","function.dbase-close":"Closes a database","example-1095":"Creating a dBase database file","function.dbase-create":"Creates a database","function.dbase-delete-record":"Deletes a record from a database","example-1096":"Showing header information for a dBase database file","function.dbase-get-header-info":"Gets the header info of a database","example-1097":"Listing all the registered members in the database","function.dbase-get-record-with-names":"Gets a record from a database as an associative array","function.dbase-get-record":"Gets a record from a database as an indexed array","example-1098":"dbase_numfields Example","function.dbase-numfields":"Gets the number of fields of a database","example-1099":"Looping over all the records of the database","function.dbase-numrecords":"Gets the number of records in a database","example-1100":"Opening a dBase database file","function.dbase-open":"Opens a database","example-1101":"Emptying a dBase database","function.dbase-pack":"Packs a database","example-1102":"Updating a record in the database","function.dbase-replace-record":"Replaces a record in a database","ref.dbase":"dBase Functions","book.dbase":"dBase","intro.filepro":"Introduction","filepro.requirements":"Requirements","filepro.installation":"Installation","filepro.configuration":"Runtime Configuration","filepro.resources":"Resource Types","filepro.setup":"Installing\/Configuring","filepro.constants":"Predefined Constants","function.filepro-fieldcount":"Find out how many fields are in a filePro database","function.filepro-fieldname":"Gets the name of a field","function.filepro-fieldtype":"Gets the type of a field","function.filepro-fieldwidth":"Gets the width of a field","function.filepro-retrieve":"Retrieves data from a filePro database","function.filepro-rowcount":"Find out how many rows are in a filePro database","function.filepro":"Read and verify the map file","ref.filepro":"filePro Functions","book.filepro":"filePro","intro.ibase":"Introduction","ibase.requirements":"Requirements","ibase.installation":"Installation","ini.ibase.allow-persistent":"","ini.ibase.max-persistent":"","ini.ibase.max-links":"","ini.ibase.default-db":"","ini.ibase.default-user":"","ini.ibase.default-password":"","ini.ibase.default-charset":"","ini.ibase.timestampformat":"","ini.ibase.dateformat":"","ini.ibase.timeformat":"","ibase.configuration":"Runtime Configuration","ibase.resources":"Resource Types","ibase.setup":"Installing\/Configuring","constant.ibase-bkp-ignore-checksums":"","constant.ibase-bkp-ignore-limbo":"","constant.ibase-bkp-metadata-only":"","constant.ibase-bkp-no-garbage-collect":"","constant.ibase-bkp-old-descriptions":"","constant.ibase-bkp-non-transportable":"","constant.ibase-bkp-convert":"","constant.ibase-res-deactivate-idx":"","constant.ibase-res-no-shadow":"","constant.ibase-res-no-validity":"","constant.ibase-res-one-at-a-time":"","constant.ibase-res-replace":"","constant.ibase-res-create":"","constant.ibase-res-use-all-space":"","constant.ibase-prp-page-buffers":"","constant.ibase-prp-sweep-interval":"","constant.ibase-prp-shutdown-db":"","constant.ibase-prp-deny-new-transactions":"","constant.ibase-prp-deny-new-attachments":"","constant.ibase-prp-reserve-space":"","constant.ibase-prp-res-use-full":"","constant.ibase-prp-res":"","constant.ibase-prp-write-mode":"","constant.ibase-prp-wm-async":"","constant.ibase-prp-wm-sync":"","constant.ibase-prp-access-mode":"","constant.ibase-prp-am-readonly":"","constant.ibase-prp-am-readwrite":"","constant.ibase-prp-set-sql-dialect":"","constant.ibase-prp-activate":"","constant.ibase-prp-db-online":"","constant.ibase-rpr-check-db":"","constant.ibase-rpr-ignore-checksum":"","constant.ibase-rpr-kill-shadows":"","constant.ibase-rpr-mend-db":"","constant.ibase-rpr-validate-db":"","constant.ibase-rpr-full":"","constant.ibase-rpr-sweep-db":"","constant.ibase-sts-data-pages":"","constant.ibase-sts-db-log":"","constant.ibase-sts-hdr-pages":"","constant.ibase-sts-idx-pages":"","constant.ibase-sts-sys-relations":"","constant.ibase-svc-server-version":"","constant.ibase-svc-implementation":"","constant.ibase-svc-get-env":"","constant.ibase-svc-get-env-lock":"","constant.ibase-svc-get-env-msg":"","constant.ibase-svc-user-dbpath":"","constant.ibase-svc-svr-db-info":"","constant.ibase-svc-get-users":"","ibase.constants":"Predefined Constants","function.ibase-add-user":"Add a user to a security database","function.ibase-affected-rows":"Return the number of rows that were affected by the previous query","function.ibase-backup":"Initiates a backup task in the service manager and returns immediately","function.ibase-blob-add":"Add data into a newly created blob","function.ibase-blob-cancel":"Cancel creating blob","function.ibase-blob-close":"Close blob","function.ibase-blob-create":"Create a new blob for adding data","function.ibase-blob-echo":"Output blob contents to browser","example-1103":"ibase_blob_get example","function.ibase-blob-get":"Get len bytes data from open blob","example-1104":"ibase_blob_import example","function.ibase-blob-import":"Create blob, copy file in it, and close it","function.ibase-blob-info":"Return blob length and other useful info","function.ibase-blob-open":"Open blob for retrieving data parts","function.ibase-close":"Close a connection to an InterBase database","function.ibase-commit-ret":"Commit a transaction without closing it","function.ibase-commit":"Commit a transaction","example-1105":"ibase_connect example","function.ibase-connect":"Open a connection to a database","function.ibase-db-info":"Request statistics about a database","function.ibase-delete-user":"Delete a user from a security database","function.ibase-drop-db":"Drops a database","function.ibase-errcode":"Return an error code","function.ibase-errmsg":"Return error messages","example-1106":"ibase_execute example","function.ibase-execute":"Execute a previously prepared query","function.ibase-fetch-assoc":"Fetch a result row from a query as an associative array","example-1107":"ibase_fetch_object example","function.ibase-fetch-object":"Get an object from a InterBase database","function.ibase-fetch-row":"Fetch a row from an InterBase database","example-1108":"ibase_field_info example","function.ibase-field-info":"Get information about a field","function.ibase-free-event-handler":"Cancels a registered event handler","function.ibase-free-query":"Free memory allocated by a prepared query","function.ibase-free-result":"Free a result set","function.ibase-gen-id":"Increments the named generator and returns its new value","function.ibase-maintain-db":"Execute a maintenance command on the database server","function.ibase-modify-user":"Modify a user to a security database","example-1109":"ibase_name_result example","function.ibase-name-result":"Assigns a name to a result set","example-1110":"ibase_num_fields example","function.ibase-num-fields":"Get the number of fields in a result set","function.ibase-num-params":"Return the number of parameters in a prepared query","function.ibase-param-info":"Return information about a parameter in a prepared query","function.ibase-pconnect":"Open a persistent connection to an InterBase database","function.ibase-prepare":"Prepare a query for later binding of parameter placeholders and execution","example-1111":"ibase_query example","function.ibase-query":"Execute a query on an InterBase database","function.ibase-restore":"Initiates a restore task in the service manager and returns immediately","function.ibase-rollback-ret":"Roll back a transaction without closing it","function.ibase-rollback":"Roll back a transaction","function.ibase-server-info":"Request information about a database server","function.ibase-service-attach":"Connect to the service manager","function.ibase-service-detach":"Disconnect from the service manager","example-1112":"ibase_set_event_handler example","function.ibase-set-event-handler":"Register a callback function to be called when events are posted","function.ibase-trans":"Begin a transaction","function.ibase-wait-event":"Wait for an event to be posted by the database","ref.ibase":"Firebird\/InterBase Functions","book.ibase":"Firebird\/InterBase","intro.fbsql":"Introduction","fbsql.requirements":"Requirements","fbsql.installation":"Installation","fbsql.configuration":"Runtime Configuration","fbsql.resources":"Resource Types","fbsql.setup":"Installing\/Configuring","constant.fbsql-assoc":"","constant.fbsql-num":"","constant.fbsql-both":"","constant.fbsql-lock-deferred":"","constant.fbsql-lock-optimistic":"","constant.fbsql-lock-pessimistic":"","constant.fbsql-iso-read-uncommitted":"","constant.fbsql-iso-read-committed":"","constant.fbsql-iso-repeatable-read":"","constant.fbsql-iso-serializable":"","constant.fbsql-iso-versioned":"","constant.fbsql-unknown":"","constant.fbsql-stopped":"","constant.fbsql-starting":"","constant.fbsql-running":"","constant.fbsql-stopping":"","constant.fbsql-noexec":"","constant.fbsql-lob-direct":"","constant.fbsql-lob-handle":"","fbsql.constants":"Predefined Constants","function.fbsql-affected-rows":"Get number of affected rows in previous FrontBase operation","function.fbsql-autocommit":"Enable or disable autocommit","function.fbsql-blob-size":"Get the size of a BLOB","function.fbsql-change-user":"Change logged in user of the active connection","function.fbsql-clob-size":"Get the size of a CLOB","example-1113":"fbsql_close example","function.fbsql-close":"Close FrontBase connection","function.fbsql-commit":"Commits a transaction to the database","example-1114":"fbsql_connect example","function.fbsql-connect":"Open a connection to a FrontBase Server","example-1115":"fbsql_create_blob example","function.fbsql-create-blob":"Create a BLOB","example-1116":"fbsql_create_clob example","function.fbsql-create-clob":"Create a CLOB","example-1117":"fbsql_create_db example","function.fbsql-create-db":"Create a FrontBase database","example-1118":"fbsql_data_seek example","function.fbsql-data-seek":"Move internal result pointer","example-1119":"fbsql_create_clob example","function.fbsql-database-password":"Sets or retrieves the password for a FrontBase database","function.fbsql-database":"Get or set the database name used with a connection","function.fbsql-db-query":"Send a FrontBase query","function.fbsql-db-status":"Get the status for a given database","function.fbsql-drop-db":"Drop (delete) a FrontBase database","example-1120":"fbsql_errno Example","function.fbsql-errno":"Returns the error number from previous operation","example-1121":"fbsql_error Example","function.fbsql-error":"Returns the error message from previous operation","example-1122":"fbsql_fetch_array example","function.fbsql-fetch-array":"Fetch a result row as an associative array, a numeric array, or both","example-1123":"fbsql_fetch_assoc example","function.fbsql-fetch-assoc":"Fetch a result row as an associative array","example-1124":"fbsql_fetch_field example","function.fbsql-fetch-field":"Get column information from a result and return as an object","function.fbsql-fetch-lengths":"Get the length of each output in a result","example-1125":"fbsql_fetch_object example","function.fbsql-fetch-object":"Fetch a result row as an object","function.fbsql-fetch-row":"Get a result row as an enumerated array","function.fbsql-field-flags":"Get the flags associated with the specified field in a result","function.fbsql-field-len":"Returns the length of the specified field","example-1126":"fbsql_field_name example","function.fbsql-field-name":"Get the name of the specified field in a result","function.fbsql-field-seek":"Set result pointer to a specified field offset","function.fbsql-field-table":"Get name of the table the specified field is in","example-1127":"fbsql_field_type example","function.fbsql-field-type":"Get the type of the specified field in a result","function.fbsql-free-result":"Free result memory","function.fbsql-get-autostart-info":"Description","function.fbsql-hostname":"Get or set the host name used with a connection","function.fbsql-insert-id":"Get the id generated from the previous INSERT operation","example-1128":"fbsql_list_dbs example","function.fbsql-list-dbs":"List databases available on a FrontBase server","example-1129":"fbsql_list_fields example","function.fbsql-list-fields":"List FrontBase result fields","function.fbsql-list-tables":"List tables in a FrontBase database","example-1130":"fbsql_next_result example","function.fbsql-next-result":"Move the internal result pointer to the next result","function.fbsql-num-fields":"Get number of fields in result","example-1131":"fbsql_num_rows example","function.fbsql-num-rows":"Get number of rows in result","function.fbsql-password":"Get or set the user password used with a connection","function.fbsql-pconnect":"Open a persistent connection to a FrontBase Server","example-1132":"fbsql_query example","example-1133":"fbsql_query example","function.fbsql-query":"Send a FrontBase query","example-1134":"fbsql_read_blob example","function.fbsql-read-blob":"Read a BLOB from the database","example-1135":"fbsql_read_clob example","function.fbsql-read-clob":"Read a CLOB from the database","function.fbsql-result":"Get result data","function.fbsql-rollback":"Rollback a transaction to the database","function.fbsql-rows-fetched":"Get the number of rows affected by the last statement","function.fbsql-select-db":"Select a FrontBase database","function.fbsql-set-characterset":"Change input\/output character set","function.fbsql-set-lob-mode":"Set the LOB retrieve mode for a FrontBase result set","function.fbsql-set-password":"Change the password for a given user","function.fbsql-set-transaction":"Set the transaction locking and isolation","function.fbsql-start-db":"Start a database on local or remote server","function.fbsql-stop-db":"Stop a database on local or remote server","example-1136":"fbsql_table_name example","function.fbsql-table-name":"Get table name of field","function.fbsql-tablename":"Alias of fbsql_table_name","function.fbsql-username":"Get or set the username for the connection","function.fbsql-warnings":"Enable or disable FrontBase warnings","ref.fbsql":"FrontBase Functions","book.fbsql":"FrontBase","intro.ibm-db2":"Introduction","ibm-db2.requirements.unix":"Requirements on Linux or Unix","ibm-db2.requirements":"Requirements","ibm-db2.installation":"Installation","ibm-db2.configuration.list":"","ini.ibm-db2.binmode":"","ini.ibm-db2.i5-all-pconnect":"","ini.ibm-db2.i5-allow-commit":"","ini.ibm-db2.i5-dbcs-alloc":"","ini.ibm-db2.instance-name":"","ini.ibm-db2.i5-ignore-userid":"","ibm-db2.configuration":"Runtime Configuration","ibm-db2.resources":"Resource Types","ibm-db2.setup":"Installing\/Configuring","constant.db2-binary":"","constant.db2-convert":"","constant.db2-passthru":"","constant.db2-scrollable":"","constant.db2-forward-only":"","constant.db2-param-in":"","constant.db2-param-out":"","constant.db2-param-inout":"","constant.db2-param-file":"","constant.db2-autocommit-on":"","constant.db2-autocommit-off":"","constant.db2-double":"","constant.db2-long":"","constant.db2-char":"","constant.db2-case-natural":"","constant.db2-case-lower":"","constant.db2-case-upper":"","constant.db2-deferred-prepare-on":"","constant.db2-deferred-prepare-off":"","ibm-db2.constants":"Predefined Constants","example-1137":"Retrieving the AUTOCOMMIT value for a connection","example-1138":"Setting the AUTOCOMMIT value for a connection","function.db2-autocommit":"Returns or sets the AUTOCOMMIT state for a database connection","example-1139":"Binding PHP variables to a prepared statement","example-1140":"Calling stored procedures with IN and OUT parameters","example-1141":"Inserting a binary large object (BLOB) directly from a file","function.db2-bind-param":"Binds a PHP variable to an SQL statement parameter","example-1142":"A db2_client_info example","function.db2-client-info":"Returns an object with properties that describe the DB2 database client","example-1143":"Closing a connection","function.db2-close":"Closes a database connection","function.db2-column-privileges":"Returns a result set listing the columns and associated privileges for a table","function.db2-columns":"Returns a result set listing the columns and associated metadata for a table","function.db2-commit":"Commits a transaction","example-1144":"Retrieving an SQLSTATE value for a failed connection attempt","function.db2-conn-error":"Returns a string containing the SQLSTATE returned by the last connection attempt","example-1145":"Retrieving the error message returned by a failed connection attempt","function.db2-conn-errormsg":"Returns the last connection error message and SQLCODE value","example-1146":"Creating a cataloged connection","example-1147":"Creating an uncataloged connection","example-1148":"Creating a connection with autocommit off by default","example-1149":"i5\/OS best performance","example-1150":"Using trusted context","function.db2-connect":"Returns a connection to a database","function.db2-cursor-type":"Returns the cursor type used by a statement resource","example-1151":"A db2_escape_string example","function.db2-escape-string":"Used to escape certain characters","example-1152":"Creating a table with db2_exec","example-1153":"Executing a SELECT statement with a scrollable cursor","example-1154":"Returning XML data as an SQL ResultSet","example-1155":"Performing a "JOIN" with XML data","example-1156":"Returning SQL data as part of a larger XML document","function.db2-exec":"Executes an SQL statement directly","example-1157":"Preparing and executing an SQL statement with parameter markers","example-1158":"Calling a stored procedure with an OUT parameter","example-1159":"Returning XML data as an SQL ResultSet","example-1160":"Performing a "JOIN" with XML data","example-1161":"Returning SQL data as part of a larger XML document","function.db2-execute":"Executes a prepared SQL statement","example-1162":"Iterating through a forward-only cursor","example-1163":"Retrieving specific rows with db2_fetch_array\n from a scrollable cursor","function.db2-fetch-array":"Returns an array, indexed by column position, representing a row in a result set","example-1164":"Iterating through a forward-only cursor","example-1165":"Retrieving specific rows with db2_fetch_assoc\n from a scrollable cursor","function.db2-fetch-assoc":"Returns an array, indexed by column name, representing a row in a result set","example-1166":"Iterating through a forward-only cursor","example-1167":"Retrieving specific rows with db2_fetch_both\n from a scrollable cursor","function.db2-fetch-both":"Returns an array, indexed by both column name and position, representing a row in a result set","example-1168":"A db2_fetch_object example","function.db2-fetch-object":"Returns an object with properties representing columns in the fetched row","example-1169":"Iterating through a result set","example-1170":"i5\/OS recommended alternatives to db2_fetch_row\/db2_result","function.db2-fetch-row":"Sets the result set pointer to the next row or requested row","function.db2-field-display-size":"Returns the maximum number of bytes required to display a column","function.db2-field-name":"Returns the name of the column in the result set","function.db2-field-num":"Returns the position of the named column in a result set","function.db2-field-precision":"Returns the precision of the indicated column in a result set","function.db2-field-scale":"Returns the scale of the indicated column in a result set","function.db2-field-type":"Returns the data type of the indicated column in a result set","function.db2-field-width":"Returns the width of the current value of the indicated column in a result set","function.db2-foreign-keys":"Returns a result set listing the foreign keys for a table","function.db2-free-result":"Frees resources associated with a result set","function.db2-free-stmt":"Frees resources associated with the indicated statement resource","example-1171":"Setting and retrieving parameters through a connection resource","function.db2-get-option":"Retrieves an option value for a statement resource or a connection resource","db2-last-insert-id.example.basic":"A db2_last_insert_id example","function.db2-last-insert-id":"Returns the auto generated ID of the last insert query that successfully \n executed on this connection","example-1173":"Iterating through different types of data","function.db2-lob-read":"Gets a user defined size of LOB files with each invocation","example-1174":"Calling a stored procedure that returns multiple result sets","function.db2-next-result":"Requests the next result set from a stored procedure","example-1175":"Retrieving the number of fields in a result set","function.db2-num-fields":"Returns the number of fields contained in a result set","function.db2-num-rows":"Returns the number of rows affected by an SQL statement","db2-pclose.example.basic":"Closing a persistent connection","function.db2-pclose":"Closes a persistent database connection","example-1177":"A db2_pconnect example","example-1178":"Using trusted context","function.db2-pconnect":"Returns a persistent connection to a database","example-1179":"Preparing and executing an SQL statement with parameter markers","function.db2-prepare":"Prepares an SQL statement to be executed","function.db2-primary-keys":"Returns a result set listing primary keys for a table","function.db2-procedure-columns":"Returns a result set listing stored procedure parameters","function.db2-procedures":"Returns a result set listing the stored procedures registered in a database","example-1180":"A db2_result example","function.db2-result":"Returns a single column from a row in the result set","example-1181":"Rolling back a DELETE statement","function.db2-rollback":"Rolls back a transaction","example-1182":"A db2_server_info example","function.db2-server-info":"Returns an object with properties that describe the DB2 database server","example-1183":"Setting one parameter with a connection resource","example-1184":"Setting multiple parameters with a connection resource","example-1185":"Setting multiple parameters with an invalid key","example-1186":"Setting multiple parameters with an invalid value","example-1187":"Setting multiple parameters with a connection resource and the wrong type","example-1188":"Setting multiple parameters with the wrong resource","example-1189":"Putting it all together","example-1190":"i5\/OS cursors are read-only","function.db2-set-option":"Set options for connection or statement resources","function.db2-special-columns":"Returns a result set listing the unique row identifier columns for a table","function.db2-statistics":"Returns a result set listing the index and statistics for a table","function.db2-stmt-error":"Returns a string containing the SQLSTATE returned by an SQL statement","function.db2-stmt-errormsg":"Returns a string containing the last SQL statement error message","function.db2-table-privileges":"Returns a result set listing the tables and associated privileges in a database","function.db2-tables":"Returns a result set listing the tables and associated metadata in a database","ref.ibm-db2":"IBM DB2 Functions","book.ibm-db2":"IBM DB2, Cloudscape and Apache Derby","intro.ifx":"Introduction","ifx.requirements":"Requirements","ifx.installation":"Installation","ini.ifx.allow-persistent":"","ini.ifx.max-persistent":"","ini.ifx.max-links":"","ini.ifx.default-host":"","ini.ifx.default-user":"","ini.ifx.default-password":"","ini.ifx.blobinfile":"","ini.ifx.textasvarchar":"","ini.ifx.byteasvarchar":"","ini.ifx.charasvarchar":"","ini.ifx.nullformat":"","ifx.configuration":"Runtime Configuration","ifx.resources":"Resource Types","ifx.setup":"Installing\/Configuring","constant.ifx-scroll":"","constant.ifx-hold":"","constant.ifx-lo-rdonly":"","constant.ifx-lo-wronly":"","constant.ifx-lo-append":"","constant.ifx-lo-rdwr":"","constant.ifx-lo-buffer":"","constant.ifx-lo-nobuffer":"","ifx.constants":"Predefined Constants","example-1191":"Informix affected rows","function.ifx-affected-rows":"Get number of rows affected by a query","function.ifx-blobinfile-mode":"Set the default blob mode for all select queries","function.ifx-byteasvarchar":"Set the default byte mode","example-1192":"Closing a Informix connection","function.ifx-close":"Close Informix connection","example-1193":"Connect to a Informix database","function.ifx-connect":"Open Informix server connection","function.ifx-copy-blob":"Duplicates the given blob object","function.ifx-create-blob":"Creates an blob object","function.ifx-create-char":"Creates an char object","example-1194":"ifx_do Example","function.ifx-do":"Execute a previously prepared SQL-statement","function.ifx-error":"Returns error code of last Informix call","example-1195":"ifx_errormsg example","function.ifx-errormsg":"Returns error message of last Informix call","example-1196":"Informix fetch rows","function.ifx-fetch-row":"Get row as an associative array","example-1197":"Informix SQL fieldproperties","function.ifx-fieldproperties":"List of SQL fieldproperties","example-1198":"Fieldnames and SQL fieldtypes","function.ifx-fieldtypes":"List of Informix SQL fields","function.ifx-free-blob":"Deletes the blob object","function.ifx-free-char":"Deletes the char object","function.ifx-free-result":"Releases resources for the query","function.ifx-get-blob":"Return the content of a blob object","function.ifx-get-char":"Return the content of the char object","example-1199":"Retrieve Informix sqlca.sqlerrd[x] values","function.ifx-getsqlca":"Get the contents of sqlca.sqlerrd[0..5] after a query","example-1200":"Informix results as HTML table","function.ifx-htmltbl-result":"Formats all rows of a query into a HTML table","function.ifx-nullformat":"Sets the default return value on a fetch row","example-1201":"ifx_num_fields Example","function.ifx-num-fields":"Returns the number of columns in the query","function.ifx-num-rows":"Count the rows already fetched from a query","function.ifx-pconnect":"Open persistent Informix connection","function.ifx-prepare":"Prepare an SQL-statement for execution","example-1202":"Show all rows of the "orders" table as a HTML table","example-1203":"Insert some values into the "catalog" table","function.ifx-query":"Send Informix query","function.ifx-textasvarchar":"Set the default text mode","function.ifx-update-blob":"Updates the content of the blob object","function.ifx-update-char":"Updates the content of the char object","function.ifxus-close-slob":"Deletes the slob object","function.ifxus-create-slob":"Creates an slob object and opens it","function.ifxus-free-slob":"Deletes the slob object","function.ifxus-open-slob":"Opens an slob object","function.ifxus-read-slob":"Reads nbytes of the slob object","function.ifxus-seek-slob":"Sets the current file or seek position","function.ifxus-tell-slob":"Returns the current file or seek position","function.ifxus-write-slob":"Writes a string into the slob object","ref.ifx":"Informix Functions","book.ifx":"Informix","intro.ingres":"Introduction","ingres.requirements":"Requirements","example-1204":"Example usage of PassEnv for Ingres","ingres.installation":"Installation","ingres.configuration.list":"","ini.ingres.allow-persistent":"","ini.ingres.array-index-start":"","ini.ingres.auto":"","ini.ingres.blob-segment-length":"","ini.ingres.cursor-mode":"","ini.ingres.default-database":"","ini.ingres.default-password":"","ini.ingres.default-user":"","ini.ingres.describe":"","ini.ingres.fetch-buffer-size":"","ini.ingres.max-links":"","ini.ingres.max-persistent":"","ini.ingres.reuse-connection":"","ini.ingres.scrollable":"","ini.ingres.trace":"","ini.ingres.trace-connect":"","ini.ingres.utf8":"","ingres.configuration":"Runtime Configuration","ingres.resources":"Resource Types","ingres.setup":"Installing\/Configuring","constant.ingres-assoc":"","constant.ingres-num":"","constant.ingres-both":"","constant.ingres-ext-version":"","constant.ingres-api-version":"","constant.ingres-cursor-readonly":"","constant.ingres-cursor-update":"","constant.ingres-date-multinational":"","constant.ingres-date-multinational4":"","constant.ingres-date-finnish":"","constant.ingres-date-iso":"","constant.ingres-date-iso4":"","constant.ingres-date-german":"","constant.ingres-date-mdy":"","constant.ingres-date-dmy":"","constant.ingres-date-ymd":"","constant.ingres-money-leading":"","constant.ingres-money-trailing":"","constant.ingres-structure-btree":"","constant.ingres-structure-cbtree":"","constant.ingres-structure-hash":"","constant.ingres-structure-chash":"","constant.ingres-structure-heap":"","constant.ingres-structure-cheap":"","constant.ingres-structure-isam":"","constant.ingres-structure-cisam":"","ingres.constants":"Predefined Constants","example-1205":"Simple Ingres Example","ingres.examples-basic":"Basic usage","ingres.examples":"Examples","function.ingres-autocommit-state":"Test if the connection is using autocommit","function.ingres-autocommit":"Switch autocommit on or off","example-1206":"ingres_charset - Get the installation character set","function.ingres-charset":"Returns the installation character set","function.ingres-close":"Close an Ingres database connection","function.ingres-commit":"Commit a transaction","function.ingres-connect.options":"","example-1207":"Open a connection to an Ingres database","function.ingres-connect":"Open a connection to an Ingres database","example-1208":"Get cursor name for a query resource","function.ingres-cursor":"Get a cursor name for a given result resource","example-1209":"Get the last Ingres error number generated","function.ingres-errno":"Get the last Ingres error number generated","example-1210":"Get a message for the last error generated","function.ingres-error":"Get a meaningful error message for the last error generated","example-1211":"Get the last SQLSTATE error code generated","function.ingres-errsqlstate":"Get the last SQLSTATE error code generated","example-1212":"Escape special characters for use in a query","function.ingres-escape-string":"Escape special characters for use in a query","function.ingres-execute":"Execute a prepared query","example-1213":"Fetch a row of result into an array","function.ingres-fetch-array":"Fetch a row of result into an array","example-1214":"Fetch a row into an associative array","function.ingres-fetch-assoc":"Fetch a row of result into an associative array","example-1215":"Fetch a row into an object","function.ingres-fetch-object":"Fetch a row of result into an object","example-1216":"Get the return value from a procedure call","function.ingres-fetch-proc-return":"Get the return value from a procedure call","example-1217":"Fetch a row of result into an enumerated array","function.ingres-fetch-row":"Fetch a row of result into an enumerated array","function.ingres-field-length":"Get the length of a field","function.ingres-field-name":"Get the name of a field in a query result","function.ingres-field-nullable":"Test if a field is nullable","function.ingres-field-precision":"Get the precision of a field","function.ingres-field-scale":"Get the scale of a field","function.ingres-field-type":"Get the type of a field in a query result","example-1218":"Free a result resource","function.ingres-free-result":"Free the resources associated with a result identifier","function.ingres-next-error":"Get the next Ingres error","function.ingres-num-fields":"Get the number of fields returned by the last query","function.ingres-num-rows":"Get the number of rows affected or returned by a query","function.ingres-pconnect":"Open a persistent connection to an Ingres database","function.ingres-prepare":"Prepare a query for later execution","function.ingres-query.query":"","function.ingres-query.types":"","example-1219":"Send a simple select","example-1220":"Passing query parameters to ingres_query","example-1221":"Inserting a BLOB with parameter types","function.ingres-query":"Send an SQL query to Ingres","example-1222":"Position the cursor on the 3rd row","function.ingres-result-seek":"Set the row position before fetching data","function.ingres-rollback":"Roll back a transaction","function.ingres-set-environment.options":"","example-1223":"Set date_format to ISO4","example-1224":"Set timezone to HONG-KONG","function.ingres-set-environment":"Set environment features controlling output options","example-1225":"Issue a simple un-buffered select","example-1226":"Passing query parameters to ingres_unbuffered_query","example-1227":"Inserting a BLOB with parameter types","function.ingres-unbuffered-query":"Send an unbuffered SQL query to Ingres","ref.ingres":"Ingres Functions","book.ingres":"Ingres DBMS, EDBC, and Enterprise Access Gateways","intro.maxdb":"Introduction","maxdb.requirements":"Requirements","maxdb.configure":"","maxdb.installation":"Installation","ini.maxdb.default-host":"","ini.maxdb.default-db":"","ini.maxdb.default-user":"","ini.maxdb.default-pw":"","ini.maxdb.long-readlen":"","maxdb.configuration":"Runtime Configuration","maxdb.resources":"Resource Types","maxdb.setup":"Installing\/Configuring","maxdb.constants":"Predefined Constants","example-1228":"MaxDB extension overview example","example-1229":"Example for use of SELECT INTO statements","example-1230":"Example fore using database procedures","maxdb.examples-basic":"Basic usage","maxdb.examples":"Examples","maxdb.class.maxdb.constructor":"Constructor","maxdb.class.maxdb.methods":"Methods","maxdb.class.maxdb.properties":"Properties","maxdb.class.maxdb":"maxdb","maxdb.class.stmt.methods":"Methods","maxdb.class.stmt.properties":"Properties","maxdb.classes.stmt":"maxdb_stmt","maxdb.class.result.methods":"Methods","maxdb.class.result.properties":"Properties","maxdb.classes.result":"maxdb_result","maxdb.classes":"Predefined Classes","example-1231":"Object oriented style","example-1232":"Procedural style","function.maxdb-affected-rows":"Gets the number of affected rows in a previous MaxDB operation","example-1233":"Object oriented style","example-1234":"Procedural style","function.maxdb-autocommit":"Turns on or off auto-commiting database modifications","function.maxdb-bind-param":"Alias of maxdb_stmt_bind_param","function.maxdb-bind-result":"Alias of maxdb_stmt_bind_result","example-1235":"Object oriented style","example-1236":"Procedural style","function.maxdb-change-user":"Changes the user of the specified database connection","example-1237":"Object oriented style","example-1238":"Procedural style","function.maxdb-character-set-name":"Returns the default character set for the database connection","function.maxdb-client-encoding":"Alias of maxdb_character_set_name","function.maxdb-close-long-data":"Alias of maxdb_stmt_close_long_data","function.maxdb-close":"Closes a previously opened database connection","example-1239":"Object oriented style","example-1240":"Procedural style","function.maxdb-commit":"Commits the current transaction","example-1241":"maxdb_connect_errno sample","function.maxdb-connect-errno":"Returns the error code from last connect call","example-1242":"maxdb_connect_error sample","function.maxdb-connect-error":"Returns a string description of the last connect error","example-1243":"Object oriented style","example-1244":"Procedural style","function.maxdb-connect":"Open a new connection to the MaxDB server","example-1245":"Object oriented style","example-1246":"Procedural style","function.maxdb-data-seek":"Adjusts the result pointer to an arbitary row in the result","example-1247":"Procedural style","function.maxdb-debug":"Performs debugging operations","function.maxdb-disable-reads-from-master":"Disable reads from master","function.maxdb-disable-rpl-parse":"Disable RPL parse","function.maxdb-dump-debug-info":"Dump debugging information into the log","function.maxdb-embedded-connect":"Open a connection to an embedded MaxDB server","function.maxdb-enable-reads-from-master":"Enable reads from master","function.maxdb-enable-rpl-parse":"Enable RPL parse","example-1248":"Object oriented style","example-1249":"Procedural style","function.maxdb-errno":"Returns the error code for the most recent function call","example-1250":"Object oriented style","example-1251":"Procedural style","function.maxdb-error":"Returns a string description of the last error","function.maxdb-escape-string":"Alias of maxdb_real_escape_string","function.maxdb-execute":"Alias of maxdb_stmt_execute","example-1252":"Object oriented style","example-1253":"Procedural style","function.maxdb-fetch-array":"Fetch a result row as an associative, a numeric array, or both","example-1254":"Object oriented style","example-1255":"Procedural style","function.maxdb-fetch-assoc":"Fetch a result row as an associative array","example-1256":"Object oriented style","example-1257":"Procedural style","function.maxdb-fetch-field-direct":"Fetch meta-data for a single field","example-1258":"Object oriented style","example-1259":"Procedural style","function.maxdb-fetch-field":"Returns the next field in the result set","example-1260":"Object oriented style","example-1261":"Procedural style","function.maxdb-fetch-fields":"Returns an array of resources representing the fields in a result set","example-1262":"Object oriented style","example-1263":"Procedural style","function.maxdb-fetch-lengths":"Returns the lengths of the columns of the current row in the result set","example-1264":"Object oriented style","example-1265":"Procedural style","function.maxdb-fetch-object":"Returns the current row of a result set as an object","example-1266":"Object oriented style","example-1267":"Procedural style","function.maxdb-fetch-row":"Get a result row as an enumerated array","function.maxdb-fetch":"Alias of maxdb_stmt_fetch","example-1268":"Object oriented style","example-1269":"Procedural style","function.maxdb-field-count":"Returns the number of columns for the most recent query","example-1270":"Object oriented style","example-1271":"Procedural style","function.maxdb-field-seek":"Set result pointer to a specified field offset","example-1272":"Object oriented style","example-1273":"Procedural style","function.maxdb-field-tell":"Get current field offset of a result pointer","function.maxdb-free-result":"Frees the memory associated with a result","example-1274":"maxdb_get_client_info","function.maxdb-get-client-info":"Returns the MaxDB client version as a string","example-1275":"maxdb_get_client_version","function.maxdb-get-client-version":"Get MaxDB client info","example-1276":"Object oriented style","example-1277":"Procedural style","function.maxdb-get-host-info":"Returns a string representing the type of connection used","function.maxdb-get-metadata":"Alias of maxdb_stmt_result_metadata","example-1278":"Object oriented style","example-1279":"Procedural style","function.maxdb-get-proto-info":"Returns the version of the MaxDB protocol used","example-1280":"Object oriented style","example-1281":"Procedural style","function.maxdb-get-server-info":"Returns the version of the MaxDB server","example-1282":"Object oriented style","example-1283":"Procedural style","function.maxdb-get-server-version":"Returns the version of the MaxDB server as an integer","example-1284":"Object oriented style","example-1285":"Procedural style","function.maxdb-info":"Retrieves information about the most recently executed query","function.maxdb-init":"Initializes MaxDB and returns an resource for use with maxdb_real_connect","example-1286":"Object oriented style","example-1287":"Procedural style","function.maxdb-insert-id":"Returns the auto generated id used in the last query","example-1288":"Object oriented style","example-1289":"Procedural style","function.maxdb-kill":"Disconnects from a MaxDB server","function.maxdb-master-query":"Enforce execution of a query on the master in a master\/slave setup","function.maxdb-more-results":"Check if there any more query results from a multi query","example-1290":"Object oriented style","example-1291":"Procedural style","function.maxdb-multi-query":"Performs a query on the database","function.maxdb-next-result":"Prepare next result from multi_query","example-1292":"Object oriented style","example-1293":"Procedural style","function.maxdb-num-fields":"Get the number of fields in a result","example-1294":"Object oriented style","example-1295":"Procedural style","function.maxdb-num-rows":"Gets the number of rows in a result","function.maxdb-options":"Set options","function.maxdb-param-count":"Alias of maxdb_stmt_param_count","example-1296":"Object oriented style","example-1297":"Procedural style","function.maxdb-ping":"Pings a server connection, or tries to reconnect if the connection has gone down","example-1298":"Object oriented style","example-1299":"Procedural style","function.maxdb-prepare":"Prepare an SQL statement for execution","example-1300":"Object oriented style","example-1301":"Procedural style","function.maxdb-query":"Performs a query on the database","example-1302":"Object oriented style","example-1303":"Procedural style","function.maxdb-real-connect":"Opens a connection to a MaxDB server","example-1304":"Object oriented style","example-1305":"Procedural style","function.maxdb-real-escape-string":"Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection","function.maxdb-real-query":"Execute an SQL query","example-1306":"Procedural style","function.maxdb-report":"Enables or disables internal report functions","example-1307":"Object oriented style","example-1308":"Procedural style","function.maxdb-rollback":"Rolls back current transaction","function.maxdb-rpl-parse-enabled":"Check if RPL parse is enabled","function.maxdb-rpl-probe":"RPL probe","function.maxdb-rpl-query-type":"Returns RPL query type","example-1309":"Object oriented style","example-1310":"Procedural style","function.maxdb-select-db":"Selects the default database for database queries","function.maxdb-send-long-data":"Alias of maxdb_stmt_send_long_data","function.maxdb-send-query":"Send the query and return","function.maxdb-server-end":"Shut down the embedded server","function.maxdb-server-init":"Initialize embedded server","function.maxdb-set-opt":"Alias of maxdb_options","example-1311":"Object oriented style","example-1312":"Procedural style","function.maxdb-sqlstate":"Returns the SQLSTATE error from previous MaxDB operation","function.maxdb-ssl-set":"Used for establishing secure connections using SSL","example-1313":"Object oriented style","example-1314":"Procedural style","function.maxdb-stat":"Gets the current system status","example-1315":"Object oriented style","example-1316":"Procedural style","function.maxdb-stmt-affected-rows":"Returns the total number of rows changed, deleted, or\n inserted by the last executed statement","example-1317":"Object oriented style","example-1318":"Procedural style","example-1319":"Procedural style (SELECT INTO)","example-1320":"Procedural style (DB procedure)","example-1321":"Object oriented style (extended syntax)","function.maxdb-stmt-bind-param":"Binds variables to a prepared statement as parameters","example-1322":"Object oriented style","example-1323":"Procedural style","function.maxdb-stmt-bind-result":"Binds variables to a prepared statement for result storage","function.maxdb-stmt-close-long-data":"Ends a sequence of maxdb_stmt_send_long_data","function.maxdb-stmt-close":"Closes a prepared statement","example-1324":"Object oriented style","example-1325":"Procedural style","function.maxdb-stmt-data-seek":"Seeks to an arbitray row in statement result set","example-1326":"Object oriented style","example-1327":"Procedural style","function.maxdb-stmt-errno":"Returns the error code for the most recent statement call","example-1328":"Object oriented style","example-1329":"Procedural style","function.maxdb-stmt-error":"Returns a string description for last statement error","example-1330":"Object oriented style","example-1331":"Procedural style","function.maxdb-stmt-execute":"Executes a prepared Query","example-1332":"Object oriented style","example-1333":"Procedural style","function.maxdb-stmt-fetch":"Fetch results from a prepared statement into the bound variables","function.maxdb-stmt-free-result":"Frees stored result memory for the given statement handle","function.maxdb-stmt-init":"Initializes a statement and returns an resource for use with maxdb_stmt_prepare","example-1334":"Object oriented style","example-1335":"Procedural style","function.maxdb-stmt-num-rows":"Return the number of rows in statements result set","example-1336":"Object oriented style","example-1337":"Procedural style","function.maxdb-stmt-param-count":"Returns the number of parameter for the given statement","example-1338":"Object oriented style","example-1339":"Procedural style","function.maxdb-stmt-prepare":"Prepare an SQL statement for execution","function.maxdb-stmt-reset":"Resets a prepared statement","example-1340":"Object oriented style","example-1341":"Procedural style","function.maxdb-stmt-result-metadata":"Returns result set metadata from a prepared statement","function.maxdb-stmt-send-long-data":"Send data in blocks","example-1342":"Object oriented style","example-1343":"Procedural style","function.maxdb-stmt-sqlstate":"Returns SQLSTATE error from previous statement operation","example-1344":"Object oriented style","example-1345":"Procedural style","function.maxdb-stmt-store-result":"Transfers a result set from a prepared statement","function.maxdb-store-result":"Transfers a result set from the last query","example-1346":"Object oriented style","example-1347":"Procedural style","function.maxdb-thread-id":"Returns the thread ID for the current connection","function.maxdb-thread-safe":"Returns whether thread safety is given or not","example-1348":"Object oriented style","example-1349":"Procedural style","function.maxdb-use-result":"Initiate a result set retrieval","example-1350":"Object oriented style","example-1351":"Procedural style","function.maxdb-warning-count":"Returns the number of warnings from the last query for the given link","ref.maxdb":"MaxDB Functions","book.maxdb":"MaxDB","mongo.requirements":"Requirements","mongo.installation.nix":"Installing on *NIX","mongo.installation.windows":"Installing on Windows","mongo.installation.osx":"OS X","mongo.installation.gentoo":"Gentoo","mongo.installation.fedora":"Red Hat","mongo.installation.manual":"Manual Installation","mongo.installation.thirdparty":"Third-Party Installation Instructions","mongo.installation":"Installation","mongo.configuration.list":"","ini.mongo.allow-empty-keys":"","ini.mongo.allow-persistent":"","ini.mongo.chunk-size":"","ini.mongo.cmd":"","ini.mongo.default-host":"","ini.mongo.default-port":"","ini.mongo.is-master-interval":"","ini.mongo.long-as-object":"","ini.mongo.native-long":"","ini.mongo.ping-interval":"","ini.mongo.utf8":"","mongo.configuration":"Runtime Configuration","mongo.setup":"Installing\/Configuring","mongo.manual.intro":"","mongo.tutorial.basics":"","mongo.tutorial.connecting-example":"","mongo.tutorial.connecting.seealso":"See Also","mongo.tutorial.connecting":"Making a Connection","mongo.tutorial.selectdb-example":"","mongo.tutorial.selectdb.typo":"","mongo.tutorial.selectdb.seealso":"See Also","mongo.tutorial.selectdb":"Getting a Database","mongo.tutorial.collection-example":"","mongo.tutorial.collection.seealso":"See Also","mongo.tutorial.collection":"Getting A Collection","mongo.tutorial.insert-data-example":"","mongo.tutorial.insert-example-2":"","mongo.tutorial.insert.seealso":"See Also","mongo.tutorial.insert":"Inserting a Document","mongo.tutorial.findone-example":"","mongo.tutorial.findone-example-2":"","mongo.tutorial.findone.seealso":"See Also","mongo.tutorial.findone":"Finding Documents using MongoCollection::findOne","mongo.tutorial.insert.multiple-example":"","mongo.tutorial.insert.multiple":"Adding Multiple Documents","mongo.tutorial.counting-example":"","mongo.tutorial.counting":"Counting Documents in A Collection","mongo.tutorial.cursor-example":"","mongo.tutorial.cursor.seealso":"See Also","mongo.tutorial.cursor":"Using a Cursor to Get All of the Documents","mongo.tutorial.criteria-example":"","mongo.tutorial.criteria":"Setting Criteria for a Query","mongo.tutorial.multi.query-example":"","mongo.tutorial.multi.query":"Getting A Set of Documents With a Query","mongo.tutorial.indexes-example":"","mongo.tutorial.indexes":"Creating An Index","mongo.tutorial":"Tutorial","mongo.readpreferences.modes":"Read Preference Modes","mongo.readpreferences.tagsets":"Tag Sets","example-1367":"Connection URI read preferences with query string syntax","example-1368":"Setting read preferences with array syntax for tag sets","mongo.readpreference.usage":"Specifying Read Preferences","mongo.readpreferences":"Read Preferences","mongo.writeconcerns.options":"Available Write Concerns","example-1369":"Passing a WriteConcern to a write operation","example-1370":"Connection string WriteConcerns","example-1371":"MongoDB::setWriteConcern and MongoCollection::setWriteConcern","mongo.writeconcerns.setting":"Using WriteConcerns","mongo.writeconcerns.unacknowledged-example":"Unacknowledged WriteConcern, followed with Acknowledged Write","mongo.writeconcerns.unacknowledged":"Unacknowledged Writes","mongo.writeconcerns.acknowledged-example":"Acknowledged Writes","mongo.writeconcerns.acknowledged":"Acknowledged Writes","mongo.writeconcerns.majority.acknowledged-example":"Majority Acknowledged Write","mongo.writeconcerns.majority.acknowledged":"Majority Acknowledged Writes","mongo.writeconcerns.journalled":"Acknowledged and Journaled Write","mongo.writeconcerns.journal":"Journaled Writes","mongo.writeconcerns":"Write Concerns","mongo.sqltomongo":"SQL to Mongo Mapping Chart","mongo.connecting.auth-example":"Authenticating against the "admin" database","mongo.connecting.auth-db-example":"Authenticating against normal databases","mongo.connecting.auth":"Authentication","mongo.connecting.rs-example":"ReplicaSet seedlist","mongo.connecting.rs-example-wrong-replset":"Wrong replica set name duplication","mongo.connecting.rs-example-correct-replset":"Correct use of two replica set names","mongo.connecting.rs":"Replica Sets","mongo.connecting.mongos-example":"","mongo.connecting.mongos":"Sharding","mongo.connecting.uds-example":"","mongo.connecting.uds-auth-example":"","mongo.connecting.uds":"Domain Socket Support","mongo.connecting.pools":"Connection Pooling (version 1.2.0-1.2.12 *only*)","mongo.connecting.no-persistent-example":"","mongo.connecting.persistent-example":"","mongo.connecting.persistent":"Persistent Connections (version up to 1.1.4 *only*)","mongo.connecting":"Connecting","mongo.writes":"Writes","mongo.queries.secondaries.inheritence-example":"Inheriting ReadPreferences from the Database level down to the Cursor","mongo.queries.secondaries":"Distributing queries to secondaries","mongo.queries.choosing.secondary-example":"","mongo.queries.choosing.secondary":"How secondaries are chosen","mongo.queries.notes":"Random notes","mongo.queries.querying-example":"","mongo.queries.querying.wrong":"","mongo.queries.querying":"Querying by _id","mongo.queries.arrays-example":"","mongo.queries.arrays-example-2":"","mongo.queries.querying-arrays-nested":"","mongo.queries.querying-arrays-in":"","mongo.queries.arrays":"Arrays","mongo.queries":"Querying","mongo.updates":"Updates","mongo.security":"Security","mongo.trouble":"Troubleshooting","mongo.testing":"Running the Driver's Tests","mongo.manual":"Manual","mongoclient.intro-example":"MongoClient basic usage","mongoclient.intro":"Introduction","mongoclient.synopsis":"Class synopsis","mongoclient.constants.version":"","mongoclient.constants.defaulthost":"","mongoclient.constants.defaultport":"","mongoclient.constants.rpprimary":"","mongoclient.constants.rpprimarypreferred":"","mongoclient.constants.rpsecondary":"","mongoclient.constants.rpsecondarypreferred":"","mongoclient.constants.rpnearest":"","mongoclient.constants.types":"MongoClient Constants","mongoclient.constants":"Predefined Constants","mongoclient.props.connected":"","mongoclient.props.status":"","mongoclient.fields":"Fields","mongoclient.seealso":"See Also","example-1395":"MongoClient::close example","mongoclient.close":"Closes this connection","mongoclient.connect":"Connects to a database server","example-1396":"MongoClient::__construct replica set example","example-1397":"Connecting to a domain socket","example-1398":"MongoClient::__construct authentication example","example-1399":"MongoClient::__construct read preference example","example-1400":"MongoClient::__construct options example","example-1401":"MongoClient::__construct read preference example","mongoclient.construct":"Creates a new database connection object","mongoclient.dropdb":"Drops a database [deprecated]","mongoclient.get":"Gets a database","mongoclient-getconnections.example.basic":"MongoClient::getConnections example","mongoclient.getconnections":"Return info about all open connections","mongoclient.gethosts":"Updates status for all associated hosts","example-1403":"MongoClient::getReadPreference return value example","mongoclient.getreadpreference":"Get the read preference for this connection","example-1404":"MongoClient::killCursor example","mongoclient.killcursor":"Kills a specific cursor on the server","example-1405":"MongoClient::listDBs example","mongoclient.listdbs":"Lists all of the databases available.","example-1406":"MongoClient::selectCollection example","mongoclient.selectcollection":"Gets a database collection","mongoclient.selectdb":"Gets a database","example-1407":"MongoClient::setReadPreference tag set array syntax example","mongoclient.setreadpreference":"Set the read preference for this connection","mongoclient.tostring":"String representation of this connection","class.mongoclient":"The MongoClient class","example-1408":"Selecting a database","mongodb.intro":"Introduction","mongodb.synopsis":"Class synopsis","mongodb.constants.profilingoff":"","mongodb.constants.profilingslow":"","mongodb.constants.profilingon":"","mongodb.constants.types":"MongoDB Log Levels","mongodb.props.w":"","mongodb.props.wtimeout":"","mongodb.authenticate":"Log in to this database","example-1409":"MongoDB::command "distinct" example","example-1410":"MongoDB::command "distinct" example","example-1411":"MongoDB::command MapReduce example","example-1412":"MongoDB::command "textSearch" example","example-1413":"MongoDB::command "geoNear" example","mongodb.command":"Execute a database command","mongodb.construct":"Creates a new database","example-1414":"MongoDB::createCollection capped collection example","mongodb.createcollection":"Creates a collection","example-1415":"MongoDB::createDBRef example","example-1416":"MongoDB::createDBRef example","mongodb.createdbref":"Creates a database reference","example-1417":"MongoDB::drop example","mongodb.drop":"Drops this database","mongodb.dropcollection":"Drops a collection [deprecated]","example-1418":"Simple MongoDB::execute example","example-1419":"Parameter MongoDB::execute example","example-1420":"Scope example","mongodb.execute":"Runs JavaScript code on the database server.","mongodb.forceerror":"Creates a database error","mongodb.get":"Gets a collection","example-1421":"MongoDB::getCollectionNames example","mongodb.getcollectionnames":"Get all collections from this database","example-1422":"MongoDB::getDBRef example","mongodb.getdbref":"Fetches the document pointed to by a database reference","example-1423":"MongoDB::getGridFS example","mongodb.getgridfs":"Fetches toolkit for dealing with files stored in this database","mongodb.getprofilinglevel":"Gets this database's profiling level","example-1424":"MongoDB::getReadPreference return value example","mongodb.getreadpreference":"Get the read preference for this database","mongodb.getslaveokay":"Get slaveOkay setting for this database","example-1425":"MongoDB::lastError NULL error example","example-1426":"MongoDB::lastError duplicate key example","mongodb.lasterror":"Check if there was an error on the most recent db operation performed","example-1427":"MongoDB::listCollections example","mongodb.listcollections":"Gets an array of all MongoCollections for this database","mongodb.preverror":"Checks for the last error thrown during a database operation","example-1428":"MongoDB::repair example","mongodb.repair":"Repairs and compacts this database","mongodb.reseterror":"Clears any flagged errors on the database","mongodb.selectcollection":"Gets a collection","mongodb.setprofilinglevel":"Sets this database's profiling level","example-1429":"MongoDB::setReadPreference tag set array syntax example","mongodb.setreadpreference":"Set the read preference for this database","mongodb.setslaveokay":"Change slaveOkay setting for this database","mongodb.--tostring":"The name of this database","class.mongodb":"The MongoDB class","mongocollection.intro":"Introduction","mongocollection.synopsis":"Class synopsis","mongocollection.constants.ascending":"","mongocollection.constants.descending":"","mongocollection.props.db":"","mongocollection.props.w":"","mongocollection.props.wtimeout":"","mongocollection.aggregate.example.basic":"MongoCollection::aggregate example","mongocollection.aggregate.example.zipcode.population":"MongoCollection::aggregate example","mongocollection.aggregate.example.zipcode.population.average":"MongoCollection::aggregate example","mongocollection.aggregate":"Perform an aggregation using the aggregation framework","example-1433":"MongoCollection::batchInsert example","example-1434":"MongoCollection::batchInsert example with\n ignoring errors","mongocollection.batchinsert":"Inserts multiple documents into this collection","mongocollection.construct":"Creates a new collection","example-1435":"MongoCollection::count example","mongocollection.count":"Counts the number of documents in this collection","example-1436":"MongoCollection::createDBRef example","mongocollection.createdbref":"Creates a database reference","example-1437":"MongoCollection::deleteIndex example","mongocollection.deleteindex":"Deletes an index from this collection","example-1438":"MongoCollection::deleteIndexes example","mongocollection.deleteindexes":"Delete all indices for this collection","mongocollection.distinct.basic":"MongoCollection::distinct example","mongocollection.distinct.basic-embedded":"MongoCollection::distinct example on a embedded document","mongocollection.distinct":"Retrieve a list of distinct values for the given key across a collection.","example-1441":"MongoCollection::drop example","mongocollection.drop":"Drops this collection","example-1442":"MongoCollection::ensureIndex example","example-1443":"Drop duplicates example","example-1444":"Geospatial Indexing","mongocollection.ensureindex":"Creates an index on the given field(s), or does nothing if the index \n already exists","example-1445":"MongoCollection::find example","example-1446":"MongoCollection::find example","example-1447":"MongoCollection::find example using $where","example-1448":"MongoCollection::find example using $in","example-1449":"Getting results as an array","mongocollection.find":"Querys this collection, returning a MongoCursor\n for the result set","mongocollection.findandmodify.example.basic":"MongoCollection::findAndModify example","mongocollection.findandmodify.example.error":"MongoCollection::findAndModify error handling","mongocollection.findandmodify":"Update a document and return it","example-1452":"MongoCollection::findOne document by its id.","example-1453":"MongoCollection::findOne document by some condition.","mongocollection.findone":"Querys this collection, returning a single element","mongocollection.get":"Gets a collection","example-1454":"MongoCollection::getDBRef example","mongocollection.getdbref":"Fetches the document pointed to by a database reference","example-1455":"MongoCollection::getIndexInfo example","mongocollection.getindexinfo":"Returns information about indexes on this collection","example-1456":"MongoCollection::getName example","mongocollection.getname":"Returns this collection's name","example-1457":"MongoCollection::getReadPreference return value example","mongocollection.getreadpreference":"Get the read preference for this collection","mongocollection.getslaveokay":"Get slaveOkay setting for this collection","example-1458":"MongoCollection::group example","example-1459":"MongoCollection::group example","example-1460":"Passing a keys function","mongocollection.group":"Performs an operation similar to SQL's GROUP BY command","example-1461":"MongoCollection::insert _id example","example-1462":"MongoCollection::insert acknowledged write example","mongocollection.insert":"Inserts a document into the collection","example-1463":"MongoCollection::remove with justOne example","mongocollection.remove":"Remove records from this collection","example-1464":"MongoCollection::save example","mongocollection.save":"Saves a document to this collection","example-1465":"MongoCollection::setReadPreference tag set array syntax example","mongocollection.setreadpreference":"Set the read preference for this collection","mongocollection.setslaveokay":"Change slaveOkay setting for this collection","example-1466":"MongoCollection::toIndexString example","mongocollection.toindexstring":"Converts keys specifying an index to its identifying string","example-1467":"MongoCollection::__toString example","mongocollection.--tostring":"String representation of this collection","example-1468":"MongoCollection::update","example-1469":"MongoCollection::update upsert examples","example-1470":"MongoCollection::update multiple example","mongocollection.update":"Update records based on a given criteria","mongocollection.validate":"Validates this collection","class.mongocollection":"The MongoCollection class","mongocursor.intro-example":"MongoCursor basic usage","example-1472":"Iterating over MongoCursor","mongocursor.intro":"Introduction","mongocursor.stages.adding-options":"Adding options to MongoCursor","mongocursor.synopsis":"Class synopsis","mongocursor.props.slaveokay":"","mongocursor.props.timeout":"","example-1474":"MongoCursor::addOption example","mongocursor.addoption":"Adds a top-level key\/value pair to a query","example-1475":"MongoCursor::awaitData example","mongocursor.awaitdata":"Sets whether this cursor will wait for a while for a tailable cursor to return more data","example-1476":"MongoCursor::batchSize and combinations with\n MongoCursor::limit","mongocursor.batchsize":"Limits the number of elements returned in one batch.","mongocursor.construct":"Create a new cursor","example-1477":"MongoCursor::count example","mongocursor.count":"Counts the number of results for this query","mongocursor.current":"Returns the current element","mongocursor.dead":"Checks if there are documents that have not been sent yet from the database for this cursor","mongocursor.doquery.example.basic":"MongoCursor::doQuery example","mongocursor.doquery":"Execute the query.","example-1479":"MongoCursor::explain example","mongocursor.explain":"Return an explanation of the query, often useful for optimization and debugging","mongocursor.fields":"Sets the fields for a query","mongocursor.getnext":"Return the next object to which this cursor points, and advance the cursor","example-1480":"MongoCursor::getReadPreference return value example","mongocursor.getreadpreference":"Get the read preference for this query","mongocursor.hasnext":"Checks if there are any more elements in this cursor","mongocursor.hint":"Gives the database a hint about the query","mongocursor.immortal":"Sets whether this cursor will timeout","example-1481":"MongoCursor::info example","mongocursor.info":"Gets the query, fields, limit, and skip for this cursor","mongocursor.key":"Returns the current result's _id","mongocursor.limit":"Limits the number of results returned","mongocursor.next":"Advances the cursor to the next result","mongocursor.partial":"If this query should fetch partial results from mongos if a shard is down","mongocursor.reset":"Clears the cursor","mongocursor.rewind":"Returns the cursor to the beginning of the result set","example-1482":"MongoCursor::setFlag example","mongocursor.setflag":"Sets arbitrary flags in case there is no method available the specific flag","example-1483":"MongoCursor::setReadPreference tag set array syntaxexample","mongocursor.setreadpreference":"Set the read preference for this query","mongocursor.skip":"Skips a number of results","example-1484":"MongoCursor::slaveOkay example","mongocursor.slaveokay":"Sets whether this query can be done on a secondary","mongocursor.snapshot":"Use snapshot mode for the query","example-1485":"MongoCursor::sort example","mongocursor.sort":"Sorts the results by given fields","example-1486":"MongoCursor::tailable example","mongocursor.tailable":"Sets whether this cursor will be left open after fetching the last results","example-1487":"MongoCursor::timeout example","mongocursor.timeout":"Sets a client-side timeout for this query","mongocursor.valid":"Checks if the cursor is reading a valid result.","class.mongocursor":"The MongoCursor class","mongo.core":"Core Classes","mongoid.intro":"Introduction","mongoid.synopsis":"Class synopsis","mongoid.props.id":"","example-1488":"MongoId::__construct example","example-1489":"Parameter example","mongoid.construct":"Creates a new id","mongoid.gethostname":"Gets the hostname being used for this machine's ids","mongoid.getinc":"Gets the incremented value to create this id","mongoid.getpid":"Gets the process ID","mongoid.gettimestamp":"Gets the number of seconds since the epoch that this id was created","mongoid.set-state":"Create a dummy MongoId","example-1490":"MongoId::__toString example","mongoid.tostring":"Returns a hexidecimal representation of this id","class.mongoid":"The MongoId class","mongocode.intro":"Introduction","mongocode.synopsis":"Class synopsis","example-1491":"MongoCode::__construct example","example-1492":"Using MongoCode with $where","mongocode.construct":"Creates a new code object","example-1493":"MongoCode::__toString example","mongocode.tostring":"Returns this code as a string","class.mongocode":"The MongoCode class","example-1494":"Storing dates with MongoDate","mongodate.intro":"Introduction","mongodate.synopsis":"Class synopsis","example-1495":"MongoDate::__construct example","mongodate.construct":"Creates a new date.","mongodate.tostring":"Returns a string representation of this date","class.mongodate":"The MongoDate class","example-1496":"Regular expression pattern","mongoregex.intro":"Introduction","mongoregex.synopsis":"Class synopsis","example-1497":"MongoRegex::__construct example","mongoregex.construct":"Creates a new regular expression","example-1498":"MongoRegex::__toString example","mongoregex.tostring":"A string representation of this regular expression","class.mongoregex":"The MongoRegex class","mongobindata.intro-example":"","mongobindata.intro":"Introduction","mongobindata.synopsis":"Class synopsis","mongobindata.constants.func":"","mongobindata.constants.bytearray":"","mongobindata.constants.uuid":"","mongobindata.constants.md5":"","mongobindata.constants.custom":"","mongobindata.constants.types":"Binary Data Types","mongobindata.construct":"Creates a new binary data object.","mongobindata.tostring":"The string representation of this binary data object.","class.mongobindata":"The MongoBinData class","mongoint32.intro":"Introduction","mongoint32.synopsis":"Class synopsis","mongoint32.props.value":"","mongoint32.construct":"Creates a new 32-bit integer.","mongoint32.tostring":"Returns the string representation of this 32-bit integer.","class.mongoint32":"The MongoInt32 class","mongoint64.intro":"Introduction","mongoint64.synopsis":"Class synopsis","mongoint64.props.value":"","mongoint64.construct":"Creates a new 64-bit integer.","mongoint64.tostring":"Returns the string representation of this 64-bit integer.","class.mongoint64":"The MongoInt64 class","example-1500":"Linking documents","example-1501":"Creating MongoDBRef links","mongodbref.intro":"Introduction","mongodbref.synopsis":"Class synopsis","example-1502":"MongoDBRef::create example","mongodbref.create":"Creates a new database reference","example-1503":"MongoCollection::createDBRef example","mongodbref.get":"Fetches the object pointed to by a reference","mongodbref.isref":"Checks if an array is a database reference","class.mongodbref":"The MongoDBRef class","mongominkey.intro":"Introduction","mongominkey.synopsis":"Class synopsis","mongominkey.example":"Using MongoMinKey as a value","class.mongominkey":"The MongoMinKey class","mongomaxkey.intro":"Introduction","mongomaxkey.synopsis":"Class synopsis","mongomaxkey.example":"Using MongoMaxKey as a value","class.mongomaxkey":"The MongoMaxKey class","mongotimestamp.intro":"Introduction","mongotimestamp.synopsis":"Class synopsis","mongotimestamp.construct":"Creates a new timestamp.","mongotimestamp.tostring":"Returns a string representation of this timestamp","class.mongotimestamp":"The MongoTimestamp class","mongo.types":"Types","mongogridfs.intro":"Introduction","mongogridfs.synopsis":"Class synopsis","mongogridfs.construct":"Creates new file collections","mongogridfs.delete":"Delete a file from the database","mongogridfs.drop":"Drops the files and chunks collections","mongogridfs.find":"Queries for files","example-1504":"MongoGridFS::findOne example","mongogridfs.findone":"Returns a single file matching the criteria","mongogridfs.get":"Retrieve a file from the database","mongogridfs.put":"Stores a file in the database","mongogridfs.remove":"Removes files from the collections","example-1505":"MongoGridFS::storeBytes with additional metadata","mongogridfs.storebytes":"Stores a string of bytes in the database","example-1506":"MongoGridFS::storeFile with additional metadata","mongogridfs.storefile":"Stores a file in the database","example-1507":"MongoGridFS::storeUpload HTML form example","mongogridfs.storeupload":"Stores an uploaded file in the database","class.mongogridfs":"The MongoGridFS class","mongogridfsfile.intro":"Introduction","mongogridfsfile.synopsis":"Class synopsis","mongogridfsfile.construct":"Create a new GridFS file","example-1508":"MongoGridFSFile::getBytes example","mongogridfsfile.getbytes":"Returns this file's contents as a string of bytes","mongogridfsfile.getfilename":"Returns this file's filename","example-1509":"MongoGridFSFile::getResource example","mongogridfsfile.getresource":"Returns a resource that can be used to read the stored file","mongogridfsfile.getsize":"Returns this file's size","example-1510":"MongoGridFSFile::write example","mongogridfsfile.write":"Writes this file to the filesystem","class.mongogridfsfile":"The MongoGridFSFile class","mongogridfscursor.intro":"Introduction","mongogridfscursor.synopsis":"Class synopsis","mongogridfscursor.construct":"Create a new cursor","mongogridfscursor.current":"Returns the current file","mongogridfscursor.getnext":"Return the next file to which this cursor points, and advance the cursor","mongogridfscursor.key":"Returns the current result's filename","class.mongogridfscursor":"The MongoGridFSCursor class","mongo.gridfs":"GridFS Classes","mongolog.intro":"Introduction","mongolog.synopsis":"Class synopsis","mongolog.constants.none":"","mongolog.constants.all":"","mongolog.constants.types":"MongoLog Constants","mongolog.constants.warning":"","mongolog.constants.info":"","mongolog.constants.fine":"","mongolog.constants.level":"MongoLog Level Constants","mongolog.constants.io":"","mongolog.constants.parse":"","mongolog.constants.pool":"","mongolog.constants.rs":"","mongolog.constants.server":"","mongolog.constants.module":"MongoLog Module Constants","mongolog.getcallback":"Retrieve the previously set callback function name","mongolog.getlevel":"Gets the log level","mongolog.getmodule":"Gets the modules currently being logged","mongolog.setcallback.example.basic":"MongoLog::setCallback example","mongolog.setcallback":"Set a callback function to be called on events","mongolog.setlevel":"Sets logging level","mongolog.setmodule":"Sets driver functionality to log","class.mongolog":"The MongoLog class","mongopool.intro":"Introduction","mongopool.synopsis":"Class synopsis","example-1512":"Changing pool size","mongopool.getsize":"Get pool size for connection pools","mongopool.info":"Returns information about all connection pools.","mongopool.setpoolsize.example.basic":"Mongo::setPoolSize example","mongopool.setsize":"Set the size for future connection pools.","class.mongopool":"The MongoPool class","mongo.intro":"Introduction","mongo.synopsis":"Class synopsis","mongo.connectutil":"Connects with a database server","mongo.construct":"The __construct purpose","example-1514":"Changing pool size","mongo.getpoolsize":"Get pool size for connection pools","mongo.getslave":"Returns the address being used by this for slaveOkay reads","mongo.getslaveokay":"Get slaveOkay setting for this connection","mongo.pooldebug":"Returns information about all connection pools.","mongo.setpoolsize.example.basic":"Mongo::setPoolSize example","mongo.setpoolsize":"Set the size for future connection pools.","mongo.setslaveokay":"Change slaveOkay setting for this connection","mongo.switchslave":"Choose a new secondary for slaveOkay reads","class.mongo":"The Mongo class [deprecated]","mongo.miscellaneous":"Miscellaneous","function.bson-decode":"Deserializes a BSON object into a PHP array","function.bson-encode":"Serializes a PHP variable into a BSON string","ref.mongo":"Mongo Functions","mongoexception.intro":"Introduction","mongoexception.synopsis":"Class synopsis","class.mongoexception":"The MongoException class","mongoresultexception.intro":"Introduction","mongoresultexception.synopsis":"Class synopsis","mongoresultexception.props.document":"","mongoresultexception.props":"Properties","mongoresultexception.getdocument":"Retrieve the full result document","class.mongoresultexception":"The MongoResultException class","mongocursorexception.intro":"Introduction","mongocursorexception.synopsis":"Class synopsis","mongocursorexception.gethost":"The hostname of the server that encountered the error","class.mongocursorexception":"The MongoCursorException class","mongocursortimeoutexception.intro":"Introduction","mongocursortimeoutexception.synopsis":"Class synopsis","class.mongocursortimeoutexception":"The MongoCursorTimeoutException class","mongoconnectionexception.intro":"Introduction","mongoconnectionexception.synopsis":"Class synopsis","class.mongoconnectionexception":"The MongoConnectionException class","mongogridfsexception.intro":"Introduction","mongogridfsexception.synopsis":"Class synopsis","mongogridfsexception.error-codes":"Error codes","class.mongogridfsexception":"The MongoGridFSException class","mongo.exceptions":"Exceptions","changelog.mongo.1.3":"MongoDB PHP Driver 1.3.0","changelog.mongo":"Changelog","book.mongo":"MongoDB","intro.msql":"Introduction","msql.requirements":"Requirements","msql.installation":"Installation","ini.msql.allow-persistent":"","ini.msql.max-persistent":"","ini.msql.max-links":"","msql.configuration":"Runtime Configuration","msql.resources":"Resource Types","msql.setup":"Installing\/Configuring","constant.msql-assoc":"","constant.msql-num":"","constant.msql-both":"","msql.constants":"Predefined Constants","example-1516":"mSQL usage example","msql.examples-basic":"Basic usage","msql.examples":"Examples","function.msql-affected-rows":"Returns number of affected rows","function.msql-close":"Close mSQL connection","function.msql-connect":"Open mSQL connection","function.msql-create-db":"Create mSQL database","function.msql-createdb":"Alias of msql_create_db","function.msql-data-seek":"Move internal row pointer","function.msql-db-query":"Send mSQL query","function.msql-dbname":"Alias of msql_result","function.msql-drop-db":"Drop (delete) mSQL database","function.msql-error":"Returns error message of last msql call","example-1517":"msql_fetch_array example","function.msql-fetch-array":"Fetch row as array","function.msql-fetch-field":"Get field information","example-1518":"msql_fetch_object example","function.msql-fetch-object":"Fetch row as object","example-1519":"msql_fetch_row example","function.msql-fetch-row":"Get row as enumerated array","function.msql-field-flags":"Get field flags","function.msql-field-len":"Get field length","function.msql-field-name":"Get the name of the specified field in a result","function.msql-field-seek":"Set field offset","function.msql-field-table":"Get table name for field","function.msql-field-type":"Get field type","function.msql-fieldflags":"Alias of msql_field_flags","function.msql-fieldlen":"Alias of msql_field_len","function.msql-fieldname":"Alias of msql_field_name","function.msql-fieldtable":"Alias of msql_field_table","function.msql-fieldtype":"Alias of msql_field_type","function.msql-free-result":"Free result memory","function.msql-list-dbs":"List mSQL databases on server","function.msql-list-fields":"List result fields","function.msql-list-tables":"List tables in an mSQL database","function.msql-num-fields":"Get number of fields in result","function.msql-num-rows":"Get number of rows in result","function.msql-numfields":"Alias of msql_num_fields","function.msql-numrows":"Alias of msql_num_rows","function.msql-pconnect":"Open persistent mSQL connection","example-1520":"msql_query example","function.msql-query":"Send mSQL query","function.msql-regcase":"Alias of sql_regcase","function.msql-result":"Get result data","function.msql-select-db":"Select mSQL database","function.msql-tablename":"Alias of msql_result","function.msql":"Alias of msql_db_query","ref.msql":"mSQL Functions","book.msql":"mSQL","intro.mssql":"Introduction","mssql.requirements":"Requirements","mssql.installation":"Installation","mssql.configuration":"Runtime Configuration","mssql.resources.link":"mssql link","mssql.resources.result":"mssql result","mssql.resources.statement":"mssql statement","mssql.resources":"Resource Types","mssql.setup":"Installing\/Configuring","constant.mssql-assoc":"","constant.mssql-num":"","constant.mssql-both":"","constant.sqltext":"","constant.sqlvarchar":"","constant.sqlchar":"","constant.sqlint1":"","constant.sqlint2":"","constant.sqlint4":"","constant.sqlbit":"","constant.sqlflt4":"","constant.sqlflt8":"","mssql.constants":"Predefined Constants","example-1521":"mssql_bind example","function.mssql-bind":"Adds a parameter to a stored procedure or a remote stored procedure","example-1522":"mssql_close example","function.mssql-close":"Close MS SQL Server connection","example-1523":"mssql_connect example","function.mssql-connect":"Open MS SQL server connection","example-1524":"mssql_data_seek example","function.mssql-data-seek":"Moves internal row pointer","example-1525":"mssql_execute example","function.mssql-execute":"Executes a stored procedure on a MS SQL server database","example-1526":"mssql_fetch_array example","function.mssql-fetch-array":"Fetch a result row as an associative array, a numeric array, or both","example-1527":"mssql_fetch_assoc example","function.mssql-fetch-assoc":"Returns an associative array of the current row in the result","example-1528":"mssql_fetch_batch example","function.mssql-fetch-batch":"Returns the next batch of records","example-1529":"mssql_fetch_field example","function.mssql-fetch-field":"Get field information","example-1530":"mssql_fetch_object example","function.mssql-fetch-object":"Fetch row as object","example-1531":"mssql_fetch_row example","function.mssql-fetch-row":"Get row as enumerated array","example-1532":"mssql_field_length example","function.mssql-field-length":"Get the length of a field","example-1533":"mssql_field_name example","function.mssql-field-name":"Get the name of a field","example-1534":"Using mssql_field_seek on the example for mssql_fetch_field","function.mssql-field-seek":"Seeks to the specified field offset","example-1535":"mssql_field_type example","function.mssql-field-type":"Gets the type of a field","example-1536":"mssql_free_result example","function.mssql-free-result":"Free result memory","example-1537":"mssql_free_statement example","function.mssql-free-statement":"Free statement memory","example-1538":"mssql_get_last_message example","function.mssql-get-last-message":"Returns the last message from the server","example-1539":"mssql_guid_string example","function.mssql-guid-string":"Converts a 16 byte binary GUID to a string","example-1540":"mssql_init example","function.mssql-init":"Initializes a stored procedure or a remote stored procedure","example-1541":"mssql_min_error_severity example","function.mssql-min-error-severity":"Sets the minimum error severity","example-1542":"mssql_min_message_severity example","function.mssql-min-message-severity":"Sets the minimum message severity","example-1543":"mssql_next_result example","function.mssql-next-result":"Move the internal result pointer to the next result","example-1544":"mssql_num_fields example","function.mssql-num-fields":"Gets the number of fields in result","example-1545":"mssql_num_rows example","function.mssql-num-rows":"Gets the number of rows in result","example-1546":"mssql_pconnect using the new_link parameter","function.mssql-pconnect":"Open persistent MS SQL connection","example-1547":"mssql_query example","function.mssql-query":"Send MS SQL query","example-1548":"mssql_result example","example-1549":"Faster alternative to above example","function.mssql-result":"Get result data","example-1550":"mssql_rows_affected example","function.mssql-rows-affected":"Returns the number of records affected by the query","mssql.mssql-select-db.example.basic":"mssql_select_db example","mssql.mssql-select-db.example.escape":"Escaping the database name with square brackets","function.mssql-select-db":"Select MS SQL database","ref.mssql":"Mssql Functions","book.mssql":"Microsoft SQL Server","mysqlinfo.info":"","mysqlinfo.intro":"Introduction","mysqlinfo.terminology":"Terminology overview","example-1553":"Comparing the three MySQL APIs","mysqlinfo.api.choosing":"Choosing an API","example-1554":"Configure commands for using mysqlnd or libmysqlclient","mysqlinfo.library.choosing":"Choosing a library","example-1555":"Unbuffered query example: mysqli","example-1556":"Unbuffered query example: pdo_mysql","example-1557":"Unbuffered query example: mysql","mysqlinfo.concepts.buffering":"Buffered and Unbuffered queries","example-1558":"Problems with setting the character set with SQL","example-1559":"Setting the character set example: mysqli","example-1560":"Setting the character set example: pdo_mysql","example-1561":"Setting the character set example: mysql","mysqlinfo.concepts.charset":"Character sets","mysqlinfo.concepts":"Concepts","mysql":"Overview of the MySQL PHP drivers","intro.mysql":"Introduction","mysql.requirements":"Requirements","mysql.configure":"","mysql.installation.linux":"Installation on Linux Systems","mysql.installation.windows":"Installation on Windows Systems","mysql.installation.notes":"MySQL Installation Notes","mysql.installation":"Installation","mysql.configuration.list":"","ini.mysql.allow-local-infile":"","ini.mysql.allow-persistent":"","ini.mysql.max-persistent":"","ini.mysql.max-links":"","ini.mysql.trace-mode":"","ini.mysql.default-port":"","ini.mysql.default-socket":"","ini.mysql.default-host":"","ini.mysql.default-user":"","ini.mysql.default-password":"","ini.mysql.connect-timeout":"","mysql.configuration":"Runtime Configuration","mysql.resources":"Resource Types","mysql.setup":"Installing\/Configuring","changelog.mysql.functions":"Changes to existing functions","changelog.mysql.global":"Global ext\/mysql changes","changelog.mysql":"Changelog","mysql.client-flags":"MySQL client constants","mysql.constants":"Predefined Constants","example-1562":"MySQL extension overview example","mysql.examples-basic":"MySQL extension overview example","mysql.examples":"Examples","mysql.notes":"Notes","example-1563":"mysql_affected_rows example","example-1564":"mysql_affected_rows example using transactions","function.mysql-affected-rows":"Get number of affected rows in previous MySQL operation","example-1565":"mysql_client_encoding example","function.mysql-client-encoding":"Returns the name of the character set","example-1566":"mysql_close example","function.mysql-close":"Close MySQL connection","example-1567":"mysql_connect example","example-1568":"mysql_connect example using hostname:port syntax","example-1569":"mysql_connect example using ":\/path\/to\/socket" syntax","function.mysql-connect":"Open a connection to a MySQL Server","example-1570":"mysql_create_db alternative example","function.mysql-create-db":"Create a MySQL database","example-1571":"mysql_data_seek example","function.mysql-data-seek":"Move internal result pointer","example-1572":"mysql_db_name example","function.mysql-db-name":"Retrieves database name from the call to mysql_list_dbs","example-1573":"mysql_db_query alternative example","function.mysql-db-query":"Selects a database and executes a query on it","example-1574":"mysql_drop_db alternative example","function.mysql-drop-db":"Drop (delete) a MySQL database","example-1575":"mysql_errno example","function.mysql-errno":"Returns the numerical value of the error message from previous MySQL operation","example-1576":"mysql_error example","function.mysql-error":"Returns the text of the error message from previous MySQL operation","example-1577":"mysql_escape_string example","function.mysql-escape-string":"Escapes a string for use in a mysql_query","example-1578":"Query with aliased duplicate field names","example-1579":"mysql_fetch_array with MYSQL_NUM","example-1580":"mysql_fetch_array with MYSQL_ASSOC","example-1581":"mysql_fetch_array with MYSQL_BOTH","function.mysql-fetch-array":"Fetch a result row as an associative array, a numeric array, or both","example-1582":"An expanded mysql_fetch_assoc example","function.mysql-fetch-assoc":"Fetch a result row as an associative array","example-1583":"mysql_fetch_field example","function.mysql-fetch-field":"Get column information from a result and return as an object","example-1584":"A mysql_fetch_lengths example","function.mysql-fetch-lengths":"Get the length of each output in a result","example-1585":"mysql_fetch_object example","example-1586":"mysql_fetch_object example","function.mysql-fetch-object":"Fetch a result row as an object","example-1587":"Fetching one row with mysql_fetch_row","function.mysql-fetch-row":"Get a result row as an enumerated array","example-1588":"A mysql_field_flags example","function.mysql-field-flags":"Get the flags associated with the specified field in a result","example-1589":"mysql_field_len example","function.mysql-field-len":"Returns the length of the specified field","example-1590":"mysql_field_name example","function.mysql-field-name":"Get the name of the specified field in a result","function.mysql-field-seek":"Set result pointer to a specified field offset","example-1591":"A mysql_field_table example","function.mysql-field-table":"Get name of the table the specified field is in","example-1592":"mysql_field_type example","function.mysql-field-type":"Get the type of the specified field in a result","example-1593":"A mysql_free_result example","function.mysql-free-result":"Free result memory","example-1594":"mysql_get_client_info example","function.mysql-get-client-info":"Get MySQL client info","example-1595":"mysql_get_host_info example","function.mysql-get-host-info":"Get MySQL host info","example-1596":"mysql_get_proto_info example","function.mysql-get-proto-info":"Get MySQL protocol info","example-1597":"mysql_get_server_info example","function.mysql-get-server-info":"Get MySQL server info","example-1598":"Relevant MySQL Statements","function.mysql-info":"Get information about the most recent query","example-1599":"mysql_insert_id example","function.mysql-insert-id":"Get the ID generated in the last query","example-1600":"mysql_list_dbs example","function.mysql-list-dbs":"List databases available on a MySQL server","example-1601":"Alternate to deprecated mysql_list_fields","function.mysql-list-fields":"List MySQL table fields","example-1602":"mysql_list_processes example","function.mysql-list-processes":"List MySQL processes","example-1603":"mysql_list_tables alternative example","function.mysql-list-tables":"List tables in a MySQL database","example-1604":"A mysql_num_fields example","function.mysql-num-fields":"Get number of fields in result","example-1605":"mysql_num_rows example","function.mysql-num-rows":"Get number of rows in result","function.mysql-pconnect":"Open a persistent connection to a MySQL server","example-1606":"A mysql_ping example","function.mysql-ping":"Ping a server connection or reconnect if there is no connection","example-1607":"Invalid Query","example-1608":"Valid Query","function.mysql-query":"Send a MySQL query","example-1609":"Simple mysql_real_escape_string example","example-1610":"An example SQL Injection Attack","function.mysql-real-escape-string":"Escapes special characters in a string for use in an SQL statement","example-1611":"mysql_result example","function.mysql-result":"Get result data","example-1612":"mysql_select_db example","function.mysql-select-db":"Select a MySQL database","function.mysql-set-charset":"Sets the client character set","example-1613":"mysql_stat example","example-1614":"Alternative mysql_stat example","function.mysql-stat":"Get current system status","example-1615":"mysql_tablename example","function.mysql-tablename":"Get table name of field","example-1616":"mysql_thread_id example","function.mysql-thread-id":"Return the current thread ID","function.mysql-unbuffered-query":"Send an SQL query to MySQL without fetching and buffering the result rows.","ref.mysql":"MySQL Functions","book.mysql":"Original MySQL API","mysqli.examples":"Examples","intro.mysqli":"Introduction","mysqli.overview.pdo":"","mysqli.overview.mysqlnd":"","mysqli.overview":"Overview","example-1617":"Easy migration from the old mysql extension","example-1618":"Object-oriented and procedural interface","example-1619":"Bad coding style","mysqli.quickstart.dual-interface":"Dual procedural and object-oriented interface","example-1620":"Special meaning of localhost","example-1621":"Setting defaults","mysqli.quickstart.connections":"Connections","example-1622":"Connecting to MySQL","example-1623":"Navigation through buffered results","example-1624":"Navigation through unbuffered results","example-1625":"Text protocol returns strings by default","example-1626":"Native data types with mysqlnd and connection option","mysqli.quickstart.statements":"Executing statements","example-1627":"First stage: prepare","example-1628":"Second stage: bind and execute","example-1629":"INSERT prepared once, executed multiple times","example-1630":"Less round trips using multi-INSERT SQL","example-1631":"Native datatypes","example-1632":"Output variable binding","example-1633":"Using mysqli_result to fetch results","example-1634":"Buffered result set for flexible read out","mysqli.quickstart.prepared-statements":"Prepared Statements","example-1635":"Calling a stored procedure","example-1636":"Using session variables","example-1637":"Fetching results from stored procedures","example-1638":"Stored Procedures and Prepared Statements","example-1639":"Stored Procedures and Prepared Statements using bind API","mysqli.quickstart.stored-procedures":"Stored Procedures","example-1640":"Multiple Statements","example-1641":"SQL Injection","mysqli.quickstart.multiple-statement":"Multiple Statements","example-1642":"Setting auto commit mode with SQL and through the API","example-1643":"Commit and rollback","mysqli.quickstart.transactions":"API support for transactions","example-1644":"Accessing result set meta data","example-1645":"Prepared statements metadata","mysqli.quickstart.metadata":"Metadata","mysqli.quickstart":"Quick start guide","mysqli.requirements":"Requirements","mysqli.installation.linux":"Installation on Linux","mysqli.installation.windows":"Installation on Windows Systems","mysqli.installation":"Installation","mysqli.configuration.list":"","ini.mysqli.allow-local-infile":"","ini.mysqli.allow-persistent":"","ini.mysqli.max-persistent":"","ini.mysqli.max-links":"","ini.mysqli.default-port":"","ini.mysqli.default-socket":"","ini.mysqli.default-host":"","ini.mysqli.default-user":"","ini.mysqli.default-pw":"","ini.mysqli.reconnect":"","ini.mysqli.cache-size":"","mysqli.configuration":"Runtime Configuration","mysqli.resources":"Resource Types","mysqli.setup":"Installing\/Configuring","mysqli.persistconns":"The mysqli Extension and Persistent Connections","constantmysqli-read-default-group":"","constantmysqli-read-default-file":"","constantmysqli-opt-connect-timeout":"","constantmysqli-opt-local-infile":"","constantmysqli-init-command":"","constantmysqli-client-ssl":"","constantmysqli-client-compress":"","constantmysqli-client-interactive":"","constantmysqli-client-ignore-space":"","constantmysqli-client-no-schema":"","constantmysqli-client-multi-queries":"","constantmysqli-store-result":"","constantmysqli-use-result":"","constantmysqli-assoc":"","constantmysqli-num":"","constantmysqli-both":"","constantmysqli-not-null-flag":"","constantmysqli-pri-key-flag":"","constantmysqli-unique-key-flag":"","constantmysqli-multiple-key-flag":"","constantmysqli-blob-flag":"","constantmysqli-unsigned-flag":"","constantmysqli-zerofill-flag":"","constantmysqli-auto-increment-flag":"","constantmysqli-timestamp-flag":"","constantmysqli-set-flag":"","constantmysqli-num-flag":"","constantmysqli-part-key-flag":"","constantmysqli-group-flag":"","constantmysqli-type-decimal":"","constantmysqli-type-newdecimal":"","constantmysqli-type-bit":"","constantmysqli-type-tiny":"","constantmysqli-type-short":"","constantmysqli-type-long":"","constantmysqli-type-fload":"","constantmysqli-type-double":"","constantmysqli-type-null":"","constantmysqli-type-timestamp":"","constantmysqli-type-longlong":"","constantmysqli-type-int24":"","constantmysqli-type-date":"","constantmysqli-type-time":"","constantmysqli-type-datetime":"","constantmysqli-type-year":"","constantmysqli-type-newdate":"","constantmysqli-type-interval":"","constantmysqli-type-enum":"","constantmysqli-type-set":"","constantmysqli-type-tiny-blob":"","constantmysqli-type-medium-blob":"","constantmysqli-type-long-blob":"","constantmysqli-type-blob":"","constantmysqli-type-var-string":"","constantmysqli-type-string":"","constantmysqli-type-char":"","constantmysqli-type-geometry":"","constantmysqli-need-data":"","constantmysqli-no-data":"","constantmysqli-data-truncated":"","constantmysqli-enum-flag":"","constantmysqli-binary-flag":"","constantmysqli-cursor-type-for-update":"","constantmysqli-cursor-type-no-cursor":"","constantmysqli-cursor-type-read-only":"","constantmysqli-cursor-type-scrollable":"","constantmysqli-stmt-attr-cursor-type":"","constantmysqli-stmt-attr-prefetch-rows":"","constantmysqli-stmt-attr-update-max-length":"","constantmysqli-set-charset-name":"","constantmysqli-report-index":"","constantmysqli-report-error":"","constantmysqli-report-strict":"","constantmysqli-report-all":"","constantmysqli-report-off":"","constantmysqli-debug-trace-enabled":"","constantmysqli-server-query-no-good-index-used":"","constantmysqli-server-query-no-index-used":"","constantmysqli-refresh-grant":"","constantmysqli-refresh-log":"","constantmysqli-refresh-tables":"","constantmysqli-refresh-hosts":"","constantmysqli-refresh-status":"","constantmysqli-refresh-threads":"","constantmysqli-refresh-slave":"","constantmysqli-refresh-master":"","constantmysqli-trans-cor-and-chain":"","constantmysqli-trans-cor-and-no-chain":"","constantmysqli-trans-cor-release":"","constantmysqli-trans-cor-no-release":"","mysqli.constants":"Predefined Constants","mysqli.notes":"Notes","mysqli.summary":"The MySQLi Extension Function Summary","mysqli.intro":"Introduction","mysqli.synopsis":"Class synopsis","example-1646":"$mysqli->affected_rows example","mysqli.affected-rows":"Gets the number of affected rows in a previous MySQL operation","example-1647":"mysqli::autocommit example","mysqli.autocommit":"Turns on or off auto-committing database modifications","mysqli.begin-transaction":"Starts a transaction","example-1648":"mysqli::change_user example","mysqli.change-user":"Changes the user of the specified database connection","example-1649":"mysqli::character_set_name example","mysqli.character-set-name":"Returns the default character set for the database connection","example-1650":"mysqli_get_client_info","mysqli.client-info":"Get MySQL client info","example-1651":"mysqli_get_client_version","mysqli.client-version":"Returns the MySQL client version as a string","mysqli.close":"Closes a previously opened database connection","example-1652":"mysqli::commit example","mysqli.commit":"Commits the current transaction","example-1653":"$mysqli->connect_errno example","mysqli.connect-errno":"Returns the error code from last connect call","example-1654":"$mysqli->connect_error example","mysqli.connect-error":"Returns a string description of the last connect error","example-1655":"mysqli::__construct example","mysqli.construct":"Open a new connection to the MySQL server","example-1656":"Generating a Trace File","mysqli.debug":"Performs debugging operations","mysqli.dump-debug-info":"Dump debugging information into the log","example-1657":"$mysqli->errno example","mysqli.errno":"Returns the error code for the most recent function call","example-1658":"$mysqli->error_list example","mysqli.error-list":"Returns a list of errors from the last command executed","example-1659":"$mysqli->error example","mysqli.error":"Returns a string description of the last error","example-1660":"$mysqli->field_count example","mysqli.field-count":"Returns the number of columns for the most recent query","example-1661":"mysqli::get_charset example","mysqli.get-charset":"Returns a character set object","example-1662":"mysqli_get_client_info","mysqli.get-client-info":"Get MySQL client info","example-1663":"A mysqli_get_client_stats example","mysqli.get-client-stats":"Returns client per-process statistics","example-1664":"mysqli_get_client_version","mysqli.get-client-version":"Returns the MySQL client version as an integer","example-1665":"A mysqli_get_connection_stats example","mysqli.get-connection-stats":"Returns statistics about the client connection","example-1666":"$mysqli->host_info example","mysqli.get-host-info":"Returns a string representing the type of connection used","example-1667":"$mysqli->protocol_version example","mysqli.get-proto-info":"Returns the version of the MySQL protocol used","example-1668":"$mysqli->server_info example","mysqli.get-server-info":"Returns the version of the MySQL server","example-1669":"$mysqli->server_version example","mysqli.get-server-version":"Returns the version of the MySQL server as an integer","mysqli.get-warnings":"Get result of SHOW WARNINGS","example-1670":"$mysqli->info example","mysqli.info":"Retrieves information about the most recently executed query","mysqli.init":"Initializes MySQLi and returns a resource for use with mysqli_real_connect()","example-1671":"$mysqli->insert_id example","mysqli.insert-id":"Returns the auto generated id used in the last query","example-1672":"mysqli::kill example","mysqli.kill":"Asks the server to kill a MySQL thread","mysqli.more-results":"Check if there are any more query results from a multi query","example-1673":"mysqli::multi_query example","mysqli.multi-query":"Performs a query on the database","mysqli.next-result":"Prepare next result from multi_query","mysqli.options":"Set options","example-1674":"mysqli::ping example","mysqli.ping":"Pings a server connection, or tries to reconnect if the connection has gone down","example-1675":"A mysqli_poll example","mysqli.poll":"Poll connections","example-1676":"mysqli::prepare example","mysqli.prepare":"Prepare an SQL statement for execution","example-1677":"mysqli::query example","mysqli.query":"Performs a query on the database","example-1678":"mysqli::real_connect example","mysqli.real-connect":"Opens a connection to a mysql server","example-1679":"mysqli::real_escape_string example","mysqli.real-escape-string":"Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection","mysqli.real-query":"Execute an SQL query","mysqli.reap-async-query":"Get result from async query","mysqli.refresh":"Refreshes","mysqli.release-savepoint":"Rolls back a transaction to the named savepoint","example-1680":"mysqli::rollback example","mysqli.rollback":"Rolls back current transaction","mysqli.rpl-query-type":"Returns RPL query type","mysqli.savepoint":"Set a named transaction savepoint","example-1681":"mysqli::select_db example","mysqli.select-db":"Selects the default database for database queries","mysqli.send-query":"Send the query and return","example-1682":"mysqli::set_charset example","mysqli.set-charset":"Sets the default client character set","mysqli.set-local-infile-default":"Unsets user defined handler for load local infile command","example-1683":"mysqli::set_local_infile_handler example","mysqli.set-local-infile-handler":"Set callback function for LOAD DATA LOCAL INFILE command","example-1684":"$mysqli->sqlstate example","mysqli.sqlstate":"Returns the SQLSTATE error from previous MySQL operation","mysqli.ssl-set":"Used for establishing secure connections using SSL","example-1685":"mysqli::stat example","mysqli.stat":"Gets the current system status","mysqli.stmt-init":"Initializes a statement and returns an object for use with mysqli_stmt_prepare","mysqli.store-result":"Transfers a result set from the last query","example-1686":"$mysqli->thread_id example","mysqli.thread-id":"Returns the thread ID for the current connection","mysqli.thread-safe":"Returns whether thread safety is given or not","example-1687":"mysqli::use_result example","mysqli.use-result":"Initiate a result set retrieval","example-1688":"$mysqli->warning_count example","mysqli.warning-count":"Returns the number of warnings from the last query for the given link","class.mysqli":"The mysqli class","mysqli-stmt.intro":"Introduction","mysqli-stmt.synopsis":"Class synopsis","example-1689":"Object oriented style","example-1690":"Procedural style","mysqli-stmt.affected-rows":"Returns the total number of rows changed, deleted, or\n inserted by the last executed statement","mysqli-stmt.attr-get":"Used to get the current value of a statement attribute","mysqli-stmt.attr-set":"Used to modify the behavior of a prepared statement","example-1691":"Object oriented style","example-1692":"Procedural style","mysqli-stmt.bind-param":"Binds variables to a prepared statement as parameters","example-1693":"Object oriented style","example-1694":"Procedural style","mysqli-stmt.bind-result":"Binds variables to a prepared statement for result storage","mysqli-stmt.close":"Closes a prepared statement","example-1695":"Object oriented style","example-1696":"Procedural style","mysqli-stmt.data-seek":"Seeks to an arbitrary row in statement result set","example-1697":"Object oriented style","example-1698":"Procedural style","mysqli-stmt.errno":"Returns the error code for the most recent statement call","example-1699":"Object oriented style","example-1700":"Procedural style","mysqli-stmt.error-list":"Returns a list of errors from the last statement executed","example-1701":"Object oriented style","example-1702":"Procedural style","mysqli-stmt.error":"Returns a string description for last statement error","example-1703":"Object oriented style","example-1704":"Procedural style","mysqli-stmt.execute":"Executes a prepared Query","example-1705":"Object oriented style","example-1706":"Procedural style","mysqli-stmt.fetch":"Fetch results from a prepared statement into the bound variables","mysqli-stmt.field-count":"Returns the number of field in the given statement","mysqli-stmt.free-result":"Frees stored result memory for the given statement handle","example-1707":"Object oriented style","example-1708":"Procedural style","mysqli-stmt.get-result":"Gets a result set from a prepared statement","mysqli-stmt.get-warnings":"Get result of SHOW WARNINGS","mysqli-stmt.insert-id":"Get the ID generated from the previous INSERT operation","mysqli-stmt.more-results":"Check if there are more query results from a multiple query","mysqli-stmt.next-result":"Reads the next result from a multiple query","example-1709":"Object oriented style","example-1710":"Procedural style","mysqli-stmt.num-rows":"Return the number of rows in statements result set","example-1711":"Object oriented style","example-1712":"Procedural style","mysqli-stmt.param-count":"Returns the number of parameter for the given statement","example-1713":"Object oriented style","example-1714":"Procedural style","mysqli-stmt.prepare":"Prepare an SQL statement for execution","mysqli-stmt.reset":"Resets a prepared statement","example-1715":"Object oriented style","example-1716":"Procedural style","mysqli-stmt.result-metadata":"Returns result set metadata from a prepared statement","example-1717":"Object oriented style","mysqli-stmt.send-long-data":"Send data in blocks","example-1718":"Object oriented style","example-1719":"Procedural style","mysqli-stmt.sqlstate":"Returns SQLSTATE error from previous statement operation","example-1720":"Object oriented style","example-1721":"Procedural style","mysqli-stmt.store-result":"Transfers a result set from a prepared statement","class.mysqli-stmt":"The mysqli_stmt class","mysqli-result.intro":"Introduction","mysqli-result.synopsis":"Class synopsis","example-1722":"Object oriented style","example-1723":"Procedural style","mysqli-result.current-field":"Get current field offset of a result pointer","example-1724":"Object oriented style","example-1725":"Procedural style","mysqli-result.data-seek":"Adjusts the result pointer to an arbitrary row in the result","mysqli-result.fetch-all":"Fetches all result rows as an associative array, a numeric array, or both","example-1726":"Object oriented style","example-1727":"Procedural style","mysqli-result.fetch-array":"Fetch a result row as an associative, a numeric array, or both","example-1728":"Object oriented style","example-1729":"Procedural style","mysqli-result.example.iterator":"A mysqli_result example comparing iterator usage","mysqli-result.fetch-assoc":"Fetch a result row as an associative array","example-1731":"Object oriented style","example-1732":"Procedural style","mysqli-result.fetch-field-direct":"Fetch meta-data for a single field","example-1733":"Object oriented style","example-1734":"Procedural style","mysqli-result.fetch-field":"Returns the next field in the result set","example-1735":"Object oriented style","example-1736":"Procedural style","mysqli-result.fetch-fields":"Returns an array of objects representing the fields in a result set","example-1737":"Object oriented style","example-1738":"Procedural style","mysqli-result.fetch-object":"Returns the current row of a result set as an object","example-1739":"Object oriented style","example-1740":"Procedural style","mysqli-result.fetch-row":"Get a result row as an enumerated array","example-1741":"Object oriented style","example-1742":"Procedural style","mysqli-result.field-count":"Get the number of fields in a result","example-1743":"Object oriented style","example-1744":"Procedural style","mysqli-result.field-seek":"Set result pointer to a specified field offset","mysqli-result.free":"Frees the memory associated with a result","example-1745":"Object oriented style","example-1746":"Procedural style","mysqli-result.lengths":"Returns the lengths of the columns of the current row in the result set","example-1747":"Object oriented style","example-1748":"Procedural style","mysqli-result.num-rows":"Gets the number of rows in a result","class.mysqli-result":"The mysqli_result class","mysqli-driver.intro":"Introduction","mysqli-driver.synopsis":"Class synopsis","mysqli-driver.props.client-info":"","mysqli-driver.props.client-version":"","mysqli-driver.props.driver-version":"","mysqli-driver.props.embedded":"","mysqli-driver.props.reconnect":"","mysqli-driver.props.report-mode":"","mysqli-driver.props":"Properties","mysqli-driver.embedded-server-end":"Stop embedded server","mysqli-driver.embedded-server-start":"Initialize and start embedded server","example-1749":"Object oriented style","example-1750":"Procedural style","mysqli-driver.report-mode":"Enables or disables internal report functions","class.mysqli-driver":"The mysqli_driver class","mysqli-warning.intro":"Introduction","mysqli-warning.synopsis":"Class synopsis","mysqli-warning.props.message":"","mysqli-warning.props.sqlstate":"","mysqli-warning.props.errno":"","mysqli-warning.props":"Properties","mysqli-warning.construct":"The __construct purpose","mysqli-warning.next":"The next purpose","class.mysqli-warning":"The mysqli_warning class","mysqli-sql-exception.intro":"Introduction","mysqli-sql-exception.synopsis":"Class synopsis","mysqli-sql-exception.props.sqlstate":"","mysqli-sql-exception.props":"Properties","class.mysqli-sql-exception":"The mysqli_sql_exception class","function.mysqli-bind-param":"Alias for mysqli_stmt_bind_param","function.mysqli-bind-result":"Alias for mysqli_stmt_bind_result","function.mysqli-client-encoding":"Alias of mysqli_character_set_name","function.mysqli-connect":"Alias of mysqli::__construct","function.mysqli-disable-reads-from-master":"Disable reads from master","function.mysqli-disable-rpl-parse":"Disable RPL parse","function.mysqli-enable-reads-from-master":"Enable reads from master","function.mysqli-enable-rpl-parse":"Enable RPL parse","function.mysqli-escape-string":"Alias of mysqli_real_escape_string","function.mysqli-execute":"Alias for mysqli_stmt_execute","function.mysqli-fetch":"Alias for mysqli_stmt_fetch","example-1751":"A mysqli_get_cache_stats example","function.mysqli-get-cache-stats":"Returns client Zval cache statistics","function.mysqli-get-metadata":"Alias for mysqli_stmt_result_metadata","function.mysqli-master-query":"Enforce execution of a query on the master in a master\/slave setup","function.mysqli-param-count":"Alias for mysqli_stmt_param_count","function.mysqli-report":"Alias of of mysqli_driver->report_mode","function.mysqli-rpl-parse-enabled":"Check if RPL parse is enabled","function.mysqli-rpl-probe":"RPL probe","function.mysqli-send-long-data":"Alias for mysqli_stmt_send_long_data","function.mysqli-set-opt":"Alias of mysqli_options","function.mysqli-slave-query":"Force execution of a query on a slave in a master\/slave setup","ref.mysqli":"Aliases and deprecated Mysqli Functions","changelog.mysqli":"Changelog","book.mysqli":"MySQL Improved Extension","intro.mysqlnd":"Introduction","mysqlnd.overview":"Overview","mysqlnd.install":"Installation","ini.mysqlnd.collect-statistics":"","ini.mysqlnd.collect-memory-statistics":"","ini.mysqlnd.debug":"","ini.ini.mysqlnd.log-mask":"","ini.ini.mysqlnd.mempool-default-size":"","ini.mysqlnd.net-read-timeout":"","ini.mysqlnd.net-cmd-buffer-size":"","ini.mysqlnd.net-read-buffer-size":"","ini.mysqlnd.sha256-server-public-key":"","mysqlnd.config":"Runtime Configuration","mysqlnd.incompatibilities":"Incompatibilities","mysqlnd.persist":"Persistent Connections","mysqlnd.stats":"Statistics","mysqlnd.notes":"Notes","mysqlnd.plugin.mysql-proxy":"A comparison of mysqlnd plugins with MySQL Proxy","mysqlnd.plugin.obtaining":"Obtaining the mysqlnd plugin API","mysqlnd.plugin.architecture":"MySQL Native Driver Plugin Architecture","mysqlnd.plugin.api":"The mysqlnd plugin API","mysqlnd.plugin.developing":"Getting started building a mysqlnd plugin","mysqlnd.plugin":"MySQL Native Driver Plugin API","book.mysqlnd":"MySQL Native Driver","mysqlnd-ms.key-features":"Key Features","mysqlnd-ms.limitations":"Limitations","mysqlnd-ms.name":"On the name","intro.mysqlnd-ms":"Introduction","example-1752":"Enabling the plugin (php.ini)","example-1753":"Minimal plugin-specific configuration file (mysqlnd_ms_plugin.ini)","example-1754":"Recommended minimal plugin-specific config (mysqlnd_ms_plugin.ini)","example-1755":"Using one server as a master and as a slave (testing only!)","mysqlnd-ms.quickstart.configuration":"Setup","example-1756":"Plugin specific configuration file (mysqlnd_ms_plugin.ini)","example-1757":"Opening a load balanced connection","example-1758":"Executing statements","mysqlnd-ms.quickstart.usage":"Running statements","example-1759":"Plugin config with one slave and one master","example-1760":"Pitfall: connection state and SQL user variables","mysqlnd-ms.quickstart.connectionpooling":"Connection state","example-1761":"Plugin config with one slave and one master","example-1762":"SQL hints to prevent connection switches","example-1763":"Fighting replication lag","example-1764":"Table creation on a slave","mysqlnd-ms.quickstart.sqlhints":"SQL Hints","example-1765":"Plugin config with one slave and one master","example-1766":"Using SQL hints for transactions","example-1767":"Transaction aware load balancing: trx_stickiness setting","example-1768":"Transaction aware","mysqlnd-ms.quickstart.transactions":"Transactions","example-1769":"Session consistency: read your writes","example-1770":"Requesting session consistency","example-1771":"Maximum age\/slave lag","example-1772":"Limiting slave lag","example-1773":"Fail over not set","example-1774":"No slave within time limit","mysqlnd-ms.quickstart.qos-consistency":"Service level and consistency","example-1775":"Create counter table on master","example-1776":"Plugin config: SQL for client-side GTID injection","example-1777":"Transparent global transaction ID injection","example-1778":"Plugin config: SQL for fetching GTID","example-1779":"Obtaining GTID after injection","example-1780":"Plugin config: Checking for a certain GTID","example-1781":"Session consistency service level and GTID combined","example-1782":"Plugin config: using MySQL 5.6.5-m8 built-in GTID feature","mysqlnd-ms.quickstart.gtid":"Global transaction IDs","example-1783":"Recap: quality of service to request read your writes","example-1784":"Plugin config: no special entries for caching","example-1785":"Caching a slave request","example-1786":"Read your writes and caching combined","mysqlnd-ms.quickstart.cache":"Cache integration","example-1787":"Manual failover, automatic optional","example-1788":"Manual failover","mysqlnd-ms.quickstart.failover":"Failover","example-1789":"Cluster node groups","example-1790":"Manual partitioning using SQL hints","mysqlnd-ms.quickstart.partitioning":"Partitioning and Sharding","mysqlnd-ms.quickstart":"Quickstart and Examples","mysqlnd-ms.architecture":"Architecture","mysqlnd-ms.pooling":"Connection pooling and switching","mysqlnd-ms.transaction":"Transaction handling","example-1791":"Provoking a connection error","example-1792":"Connection error on query execution","example-1793":"Provoking a connection error","example-1794":"Most basic failover","mysqlnd-ms.errorhandling":"Error handling","example-1795":"Provoking a transient error","example-1796":"Transient error retry loop","mysqlnd-ms.transient_errors":"Transient errors","mysqlnd-ms.failover":"Failover","mysqlnd-ms.loadbalancing":"Load balancing","mysqlnd-ms.rwsplit":"Read-write splitting","mysqlnd-ms.filter":"Filter","mysqlnd-ms.qos-consistency":"Service level and consistency","mysqlnd-ms.gtid":"Global transaction IDs","mysqlnd-ms.concept_cache":"Cache integration","example-1797":"Enabling the plugin (php.ini)","example-1798":"Basic plugin configuration (mysqlnd_ms_plugin.ini) for MySQL Replication","example-1799":"Multiple primaries - multi master (php.ini)","example-1800":"Primary copy with multiple primaries and paritioning","example-1801":"Multiple primaries - multi master (php.ini)","example-1802":"Synchronous update anywhere cluster","mysqlnd-ms.supportedclusters":"Supported clusters","mysqlnd-ms.concepts":"Concepts","mysqlnd-ms.requirements":"Requirements","mysqlnd-ms.installation":"Installation","mysqlnd-ms.configuration.list":"","ini.mysqlnd-ms.enable":"","ini.mysqlnd-ms.force-config-usage":"","ini.mysqlnd-ms.ini-file":"","ini.mysqlnd-ms.config-file":"","ini.mysqlnd-ms.collect-statistics":"","ini.mysqlnd-ms.multi-master":"","ini.mysqlnd-ms.disable-rw-split":"Multiple master servers","mysqlnd-ms.configuration":"Runtime Configuration","example-1803":"Converting a PHP array (hash) into JSON format","example-1804":"Using section names example","mysqlnd-ms.plugin-ini-json.using-section":"","mysqlnd-ms.plugin-ini-json.server-list-syntax":"","example-1805":"List of anonymous slaves","example-1806":"Master list using symbolic names","example-1807":"Keywords to configure a server","example-1808":"New roundrobin filter, old functionality","example-1809":"The user filter replaces mysqlnd_ms_set_user_pick_server","mysqlnd-ms.plugin-ini-json.debug_config":"","example-1810":"Common error message in case of configuration file issues (upto version 1.5.0)","example-1811":"Improved configuration file validation since 1.5.0","example-1812":"Possibly more precise error due to mysqlnd_ms.force_config_usage=1","mysqlnd-ms.plugin-ini-json.server-config-keywords":"","ini.mysqlnd-ms-plugin-config-v2.master":"","ini.mysqlnd-ms-plugin-config-v2.slave":"","ini.mysqlnd-ms-plugin-config-v2.gtid":"","example-1813":"Invalid filter sequence","ini.mysqlnd-ms-plugin-config-v2.filters":"","example-1814":"Random load balancing with random filter","example-1815":"Random once load balancing with random filter","example-1816":"Referencing error","example-1817":"Assigning a weight for load balancing","ini.mysqlnd-ms-plugin-config-v2.filter-random":"","example-1818":"roundrobin filter","ini.mysqlnd-ms-plugin-config-v2.filter-roundrobin":"","example-1819":"Setting a callback","example-1820":"Using a callback","ini.mysqlnd-ms-plugin-config-v2.filter-user":"","example-1821":"Returning random masters and slaves","ini.mysqlnd-ms-plugin-config-v2.filter-user-multi":"","example-1822":"Manual partitioning","ini.mysqlnd-ms-plugin-config-v2.filter-node-groups":"","example-1823":"Global limit on slave lag","ini.mysqlnd-ms-plugin-config-v2.filter-qos":"","example-1824":"Optional master failover when failing to connect to slave (PECL\/mysqlnd_ms < 1.4.0)","example-1825":"New syntax since 1.4.0","ini.mysqlnd-ms-plugin-config-v2.failover":"","example-1826":"Disabling lazy connection","ini.mysqlnd-ms-plugin-config-v2.lazy-connections":"","example-1827":"String escaping on a lazy connection handle","ini.mysqlnd-ms-plugin-config-v2.server-charset":"","example-1828":"Master on write for consistent reads","ini.mysqlnd-ms-plugin-config-v2.master-on-write":"","example-1829":"Using master to execute transactions","example-1830":"No automatic failover, error handling pitfall","ini.mysqlnd-ms-plugin-config-v2.trx-stickiness":"","example-1831":"Retry loop for transient errors","ini.mysqlnd-ms-plugin-config-v2.transient_error":"","mysqlnd-ms.plugin-ini-json":"Plugin configuration file (>=1.1.x)","example-1832":"Using section names example","example-1833":"List-like syntax","ini.mysqlnd-ms-plugin-config.master":"","ini.mysqlnd-ms-plugin-config.slave":"","ini.mysqlnd-ms-plugin-config.pick":"","ini.mysqlnd-ms-plugin-config.failover":"","ini.mysqlnd-ms-plugin-config.lazy-connections":"","ini.mysqlnd-ms-plugin-config.master-on-write":"","ini.mysqlnd-ms-plugin-config.trx-stickiness":"","mysqlnd-ms.plugin-ini-v1":"Plugin configuration file (<= 1.0.x)","mysqlnd-ms.testing":"Testing","mysqlnd-ms.debugging":"Debugging and Tracing","example-1834":"Verify plugin activity in a non-threaded deployment model","example-1835":"Recording statistics during shutdown","mysqlnd-ms.monitoring":"Monitoring","mysqlnd-ms.setup":"Installing\/Configuring","example-1836":"Example demonstrating the usage of mysqlnd_ms constants","constant.mysqlnd-ms-master-switch":"","constant.mysqlnd-ms-slave-switch":"","constant.mysqlnd-ms-last-used-switch":"","constant.mysqlnd-ms-query-use-master":"","constant.mysqlnd-ms-query-use-slave":"","constant.mysqlnd-ms-query-use-last-used":"","constant.mysqlnd-ms-qos-consistency-eventual":"","constant.mysqlnd-ms-qos-consistency-session":"","constant.mysqlnd-ms-qos-consistency-strong":"","constant.mysqlnd-ms-qos-option-gtid":"","constant.mysqlnd-ms-qos-option-age":"","constant.mysqlnd-ms-version":"","constant.mysqlnd-ms-version-id":"","mysqlnd-ms.constants":"Predefined Constants","example-1837":"mysqlnd_ms_get_last_gtid example","function.mysqlnd-ms-get-last-gtid":"Returns the latest global transaction ID","example-1838":"mysqlnd_ms_get_last_used_connection example","function.mysqlnd-ms-get-last-used-connection":"Returns an array which describes the last used connection","example-1839":"mysqlnd_ms_get_stats example","function.mysqlnd-ms-get-stats":"Returns query distribution and connection statistics","example-1840":"mysqlnd_ms_match_wild example","function.mysqlnd-ms-match-wild":"Finds whether a table name matches a wildcard pattern or not","example-1841":"mysqlnd_ms_query_is_select example","function.mysqlnd-ms-query-is-select":"Find whether to send the query to the master, the slave or the last used MySQL server","example-1842":"mysqlnd_ms_set_qos example","function.mysqlnd-ms-set-qos":"Sets the quality of service needed from the cluster","example-1843":"mysqlnd_ms_set_user_pick_server example","function.mysqlnd-ms-set-user-pick-server":"Sets a callback for user-defined read\/write splitting","ref.mysqlnd-ms":"Mysqlnd_ms Functions","mysqlnd-ms.changes-one-six":"PECL\/mysqlnd_ms 1.6 series","mysqlnd-ms.changes-one-five":"PECL\/mysqlnd_ms 1.5 series","mysqlnd-ms.changes-one-four":"PECL\/mysqlnd_ms 1.4 series","mysqlnd-ms.changes-one-three":"PECL\/mysqlnd_ms 1.3 series","mysqlnd-ms.changes-one-two":"PECL\/mysqlnd_ms 1.2 series","mysqlnd-ms.changes-one-one":"PECL\/mysqlnd_ms 1.1 series","mysqlnd-ms.changes-one-o":"PECL\/mysqlnd_ms 1.0 series","mysqlnd-ms.changes":"Change History","book.mysqlnd-ms":"Mysqlnd replication and load balancing plugin","mysqlnd-qc.key-features":"Key Features","mysqlnd-qc.limitations":"Limitations","mysqlnd-qc.name":"On the name","intro.mysqlnd-qc":"Introduction","mysqlnd-qc.quickstart.concepts":"Architecture and Concepts","example-1844":"Enabling the plugin (php.ini)","mysqlnd-qc.quickstart.configuration":"Setup","example-1845":"Using the MYSQLND_QC_ENABLE_SWITCH SQL hint","example-1846":"Using the MYSQLND_QC_DISABLE_SWITCH SQL hint","example-1847":"Example showing which type of statements are not cached","example-1848":"Enabling caching for all statements using the mysqlnd_qc.cache_no_table ini setting","mysqlnd-qc.quickstart.caching":"Caching queries","example-1849":"Setting the TTL with the mysqlnd_qc.ttl ini setting","example-1850":"Setting TTL with SQL hints","mysqlnd-qc.per-query-ttl":"Setting the TTL","example-1851":"Setting a callback with mysqlnd_qc_set_is_select","mysqlnd-qc.pattern-based-caching":"Pattern based caching","example-1852":"Enabling the slam defense mechanism","mysqlnd-qc.slam-defense":"Slam defense","example-1853":"Collecting a query trace","example-1854":"Setting the backtrace depth with the mysqlnd_qc.query_trace_bt_depth ini setting","mysqlnd-qc.cache-candidates":"Finding cache candidates","example-1855":"Collecting statistics data with the mysqlnd_qc.time_statistics ini setting","example-1856":"Example mysqlnd_qc_get_cache_info usage","example-1857":"Example mysqlnd_qc_get_normalized_query_trace_log usage","mysqlnd-qc.cache-efficiency":"Measuring cache efficiency","example-1858":"Using a user-defined storage handler","mysqlnd-qc.set-user-handlers":"Beyond TTL: user-defined storage","mysqlnd-qc.quickstart":"Quickstart and Examples","mysqlnd-qc.requirements":"Requirements","mysqlnd-qc.installation":"Installation","mysqlnd-qc.configuration.list":"","ini.mysqlnd-qc.enable-qc":"","ini.mysqlnd-qc.ttl":"","ini.mysqlnd-qc.cache-by-default":"","ini.mysqlnd-qc.cache-no-table":"","ini.mysqlnd-qc.use-request-time":"","ini.mysqlnd-qc.time-statistics":"","ini.mysqlnd-qc.collect-statistics":"","ini.mysqlnd-qc.collect-statistics-log-file":"","ini.mysqlnd-qc.collect-query-trace":"","ini.mysqlnd-qc.query-trace-bt-depth":"","ini.mysqlnd-qc.ignore-sql-comments":"","ini.mysqlnd-qc.slam-defense":"","ini.mysqlnd-qc.slam-defense-ttl":"","ini.mysqlnd-qc.collect-normalized-query-trace":"","ini.mysqlnd-qc.std-data-copy":"","ini.mysqlnd-qc.apc-prefix":"","ini.mysqlnd-qc.memc-server":"","ini.mysqlnd-qc.memc-port":"","ini.mysqlnd-qc.sqlite-data-file":"","mysqlnd-qc.configuration":"Runtime Configuration","mysqlnd-qc.setup":"Installing\/Configuring","example-1859":"Using SQL hint constants","constant.mysqlnd-qc-enable-switch":"","constant.mysqlnd-qc-disable-switch":"","constant.mysqlnd-qc-ttl-switch":"","constant.mysqlnd-qc-server-id":"","example-1860":"Example mysqlnd_qc_set_cache_condition usage","constant.mysqlnd-qc-condition-meta-schema-pattern":"","constant.mysqlnd-qc-version":"","constant.mysqlnd-qc-version-id":"","mysqlnd-qc.constants":"Predefined Constants","function.mysqlnd-qc-clear-cache":"Flush all cache contents","example-1861":"mysqlnd_qc_get_available_handlers example","function.mysqlnd-qc-get-available-handlers":"Returns a list of available storage handler","example-1862":"mysqlnd_qc_get_cache_info example","function.mysqlnd-qc-get-cache-info":"Returns information on the current handler, the number of cache entries and cache entries, if available","example-1863":"mysqlnd_qc_get_core_stats example","function.mysqlnd-qc-get-core-stats":"Statistics collected by the core of the query cache","example-1864":"mysqlnd_qc_get_normalized_query_trace_log example","function.mysqlnd-qc-get-normalized-query-trace-log":"Returns a normalized query trace log for each query inspected by the query cache","example-1865":"mysqlnd_qc_get_query_trace_log example","function.mysqlnd-qc-get-query-trace-log":"Returns a backtrace for each query inspected by the query cache","example-1866":"mysqlnd_qc_set_cache_condition example","function.mysqlnd-qc-set-cache-condition":"Set conditions for automatic caching","example-1867":"mysqlnd_qc_set_is_select example","function.mysqlnd-qc-set-is-select":"Installs a callback which decides whether a statement is cached","example-1868":"mysqlnd_qc_set_storage_handler example","function.mysqlnd-qc-set-storage-handler":"Change current storage handler","function.mysqlnd-qc-set-user-handlers":"Sets the callback functions for a user-defined procedural storage handler","ref.mysqlnd-qc":"mysqlnd_qc Functions","mysqlnd-qc.changes-one-two":"PECL\/mysqlnd_qc 1.2 series","mysqlnd-qc.changes-one-one":"PECL\/mysqlnd_qc 1.1 series","mysqlnd-qc.changes-one-o":"PECL\/mysqlnd_qc 1.0 series","mysqlnd-qc.changes":"Change History","book.mysqlnd-qc":"Mysqlnd query result cache plugin","mysqlnd-uh.security":"Security considerations","mysqlnd-uh.docs-note":"Documentation note","mysqlnd-uh.name":"On the name","intro.mysqlnd-uh":"Introduction","example-1869":"Enabling the plugin (php.ini)","mysqlnd-uh.quickstart.configuration":"Setup","example-1870":"Pseudo-code: what a built-in class does","example-1871":"Installing a proxy","mysqlnd-uh.quickstart.how-it-works":"How it works","example-1872":"Proxy registration, mysqlnd_uh.enable=1","example-1873":"Proxy installation disabled","example-1874":"Connection proxy","example-1875":"Prepared statement proxy","mysqlnd-uh.quickstart.proxy-installation":"Installing a proxy","example-1876":"Basic Monitoring","mysqlnd-uh.quickstart.query-monitoring":"Basic query monitoring","mysqlnd-uh.quickstart":"Quickstart and Examples","mysqlnd-uh.requirements":"Requirements","mysqlnd-uh.installation":"Installation","mysqlnd-uh.configuration.list":"","ini.mysqlnd-uh.enable":"","ini.mysqlnd-uh.report-wrong-types":"","mysqlnd-uh.configuration":"Runtime Configuration","mysqlnd-uh.resources":"Resource Types","mysqlnd-uh.setup":"Installing\/Configuring","constant.mysqlnd-uh-mysqlnd-com-sleep":"","constant.mysqlnd-uh-mysqlnd-com-quit":"","constant.mysqlnd-uh-mysqlnd-com-init-db":"","constant.mysqlnd-uh-mysqlnd-com-query":"","constant.mysqlnd-uh-mysqlnd-com-field-list":"","constant.mysqlnd-uh-mysqlnd-com-create-db":"","constant.mysqlnd-uh-mysqlnd-com-drop-db":"","constant.mysqlnd-uh-mysqlnd-com-refresh":"","constant.mysqlnd-uh-mysqlnd-com-shutdown":"","constant.mysqlnd-uh-mysqlnd-com-statistics":"","constant.mysqlnd-uh-mysqlnd-com-process-info":"","constant.mysqlnd-uh-mysqlnd-com-connect":"","constant.mysqlnd-uh-mysqlnd-com-process-kill":"","constant.mysqlnd-uh-mysqlnd-com-debug":"","constant.mysqlnd-uh-mysqlnd-com-ping":"","constant.mysqlnd-uh-mysqlnd-com-time":"","constant.mysqlnd-uh-mysqlnd-com-delayed-insert":"","constant.mysqlnd-uh-mysqlnd-com-change-user":"","constant.mysqlnd-uh-mysqlnd-com-binlog-dump":"","constant.mysqlnd-uh-mysqlnd-com-table-dump":"","constant.mysqlnd-uh-mysqlnd-com-connect-out":"","constant.mysqlnd-uh-mysqlnd-com-register-slaved":"","constant.mysqlnd-uh-mysqlnd-com-stmt-prepare":"","constant.mysqlnd-uh-mysqlnd-com-stmt-execute":"","constant.mysqlnd-uh-mysqlnd-com-stmt-send-long-data":"","constant.mysqlnd-uh-mysqlnd-com-stmt-close":"","constant.mysqlnd-uh-mysqlnd-com-stmt-reset":"","constant.mysqlnd-uh-mysqlnd-com-set-option":"","constant.mysqlnd-uh-mysqlnd-com-stmt-fetch":"","constant.mysqlnd-uh-mysqlnd-com-daemon":"","constant.mysqlnd-uh-mysqlnd-com-end":"","constant.mysqlnd-uh-mysqlnd-prot-greet-packet":"","constant.mysqlnd-uh-mysqlnd-prot-auth-packet":"","constant.mysqlnd-uh-mysqlnd-prot-ok-packet":"","constant.mysqlnd-uh-mysqlnd-prot-eof-packet":"","constant.mysqlnd-uh-mysqlnd-prot-cmd-packet":"","constant.mysqlnd-uh-mysqlnd-prot-rset-header-packet":"","constant.mysqlnd-uh-mysqlnd-prot-rset-fld-packet":"","constant.mysqlnd-uh-mysqlnd-prot-row-packet":"","constant.mysqlnd-uh-mysqlnd-prot-stats-packet":"","constant.mysqlnd-uh-mysqlnd-prepare-resp-packet":"","constant.mysqlnd-uh-mysqlnd-chg-user-resp-packet":"","constant.mysqlnd-uh-mysqlnd-prot-last":"","constant.mysqlnd-uh-mysqlnd-close-explicit":"","constant.mysqlnd-uh-mysqlnd-close-implicit":"","constant.mysqlnd-uh-mysqlnd-close-disconnected":"","constant.mysqlnd-uh-mysqlnd-close-last":"","constant.mysqlnd-uh-server-option-multi-statements-on":"","constant.mysqlnd-uh-server-option-multi-statements-off":"","constant.mysqlnd-uh-mysqlnd-option-opt-connect-timeout":"","constant.mysqlnd-uh-mysqlnd-option-opt-compress":"","constant.mysqlnd-uh-mysqlnd-option-opt-named-pipe":"","constant.mysqlnd-uh-mysqlnd-option-init-command":"","constant.mysqlnd-uh-mysqlnd-read-default-file":"","constant.mysqlnd-uh-mysqlnd-read-default-group":"","constant.mysqlnd-uh-mysqlnd-set-charset-dir":"","constant.mysqlnd-uh-mysqlnd-set-charset-name":"","constant.mysqlnd-uh-mysqlnd-opt-local-infile":"","constant.mysqlnd-uh-mysqlnd-opt-protocol":"","constant.mysqlnd-uh-mysqlnd-shared-memory-base-name":"","constant.mysqlnd-uh-mysqlnd-opt-read-timeout":"","constant.mysqlnd-uh-mysqlnd-opt-write-timeout":"","constant.mysqlnd-uh-mysqlnd-opt-use-result":"","constant.mysqlnd-uh-mysqlnd-opt-use-remote-connection":"","constant.mysqlnd-uh-mysqlnd-opt-use-embedded-connection":"","constant.mysqlnd-uh-mysqlnd-opt-guess-connection":"","constant.mysqlnd-uh-mysqlnd-set-client-ip":"","constant.mysqlnd-uh-mysqlnd-secure-auth":"","constant.mysqlnd-uh-mysqlnd-report-data-truncation":"","constant.mysqlnd-uh-mysqlnd-opt-reconnect":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-verify-server-cert":"","constant.mysqlnd-uh-mysqlnd-opt-net-cmd-buffer-size":"","constant.mysqlnd-uh-mysqlnd-opt-net-read-buffer-size":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-key":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-cert":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-ca":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-capath":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-cipher":"","constant.mysqlnd-uh-mysqlnd-opt-ssl-passphrase":"","constant.mysqlnd-uh-server-option-plugin-dir":"","constant.mysqlnd-uh-server-option-default-auth":"","constant.mysqlnd-uh-server-option-set-client-ip":"","constant.mysqlnd-uh-mysqlnd-opt-max-allowed-packet":"","constant.mysqlnd-uh-mysqlnd-opt-auth-protocol":"","constant.mysqlnd-uh-mysqlnd-opt-int-and-float-native":"","constant.mysqlnd-uh-version":"","constant.mysqlnd-uh-version-id":"","mysqlnd-uh.constants":"Predefined Constants","mysqlnduhconnection.intro":"Introduction","mysqlnduhconnection.synopsis":"Class synopsis","example-1877":"MysqlndUhConnection::changeUser example","mysqlnduhconnection.changeuser":"Changes the user of the specified mysqlnd database connection","example-1878":"MysqlndUhConnection::charsetName example","mysqlnduhconnection.charsetname":"Returns the default character set for the database connection","example-1879":"MysqlndUhConnection::close example","mysqlnduhconnection.close":"Closes a previously opened database connection","example-1880":"MysqlndUhConnection::connect example","mysqlnduhconnection.connect":"Open a new connection to the MySQL server","mysqlnduhconnection.construct":"The __construct purpose","example-1881":"MysqlndUhConnection::endPSession example","mysqlnduhconnection.endpsession":"End a persistent connection","example-1882":"MysqlndUhConnection::escapeString example","mysqlnduhconnection.escapestring":"Escapes special characters in a string for use in an SQL statement,\n taking into account the current charset of the connection","example-1883":"MysqlndUhConnection::getAffectedRows example","mysqlnduhconnection.getaffectedrows":"Gets the number of affected rows in a previous MySQL operation","example-1884":"MysqlndUhConnection::getErrorNumber example","mysqlnduhconnection.geterrornumber":"Returns the error code for the most recent function call","example-1885":"MysqlndUhConnection::getErrorString example","mysqlnduhconnection.geterrorstring":"Returns a string description of the last error","example-1886":"MysqlndUhConnection::getFieldCount example","mysqlnduhconnection.getfieldcount":"Returns the number of columns for the most recent query","example-1887":"MysqlndUhConnection::getHostInformation example","mysqlnduhconnection.gethostinformation":"Returns a string representing the type of connection used","example-1888":"MysqlndUhConnection::getLastInsertId example","mysqlnduhconnection.getlastinsertid":"Returns the auto generated id used in the last query.","example-1889":"MysqlndUhConnection::getLastMessage example","mysqlnduhconnection.getlastmessage":"Retrieves information about the most recently executed query","example-1890":"MysqlndUhConnection::getProtocolInformation example","mysqlnduhconnection.getprotocolinformation":"Returns the version of the MySQL protocol used","example-1891":"MysqlndUhConnection::getServerInformation example","mysqlnduhconnection.getserverinformation":"Returns the version of the MySQL server","example-1892":"MysqlndUhConnection::getServerStatistics example","mysqlnduhconnection.getserverstatistics":"Gets the current system status","example-1893":"MysqlndUhConnection::getServerVersion example","mysqlnduhconnection.getserverversion":"Returns the version of the MySQL server as an integer","example-1894":"MysqlndUhConnection::getSqlstate example","mysqlnduhconnection.getsqlstate":"Returns the SQLSTATE error from previous MySQL operation","example-1895":"MysqlndUhConnection::getStatistics example","mysqlnduhconnection.getstatistics":"Returns statistics about the client connection.","example-1896":"MysqlndUhConnection::getThreadId example","mysqlnduhconnection.getthreadid":"Returns the thread ID for the current connection","example-1897":"MysqlndUhConnection::getWarningCount example","mysqlnduhconnection.getwarningcount":"Returns the number of warnings from the last query for the given link","example-1898":"MysqlndUhConnection::init example","mysqlnduhconnection.init":"Initialize mysqlnd connection","example-1899":"MysqlndUhConnection::kill example","mysqlnduhconnection.killconnection":"Asks the server to kill a MySQL thread","example-1900":"MysqlndUhConnection::listFields example","mysqlnduhconnection.listfields":"List MySQL table fields","example-1901":"MysqlndUhConnection::listMethod example","mysqlnduhconnection.listmethod":"Wrapper for assorted list commands","example-1902":"MysqlndUhConnection::moreResults example","mysqlnduhconnection.moreresults":"Check if there are any more query results from a multi query","example-1903":"MysqlndUhConnection::nextResult example","mysqlnduhconnection.nextresult":"Prepare next result from multi_query","example-1904":"MysqlndUhConnection::ping example","mysqlnduhconnection.ping":"Pings a server connection, or tries to reconnect if the connection has gone down","example-1905":"MysqlndUhConnection::query example","mysqlnduhconnection.query":"Performs a query on the database","example-1906":"MysqlndUhConnection::queryReadResultsetHeader example","mysqlnduhconnection.queryreadresultsetheader":"Read a result set header","example-1907":"MysqlndUhConnection::reapQuery example","mysqlnduhconnection.reapquery":"Get result from async query","example-1908":"MysqlndUhConnection::refreshServer example","mysqlnduhconnection.refreshserver":"Flush or reset tables and caches","example-1909":"MysqlndUhConnection::restartPSession example","mysqlnduhconnection.restartpsession":"Restart a persistent mysqlnd connection","example-1910":"MysqlndUhConnection::selectDb example","mysqlnduhconnection.selectdb":"Selects the default database for database queries","example-1911":"MysqlndUhConnection::sendClose example","mysqlnduhconnection.sendclose":"Sends a close command to MySQL","example-1912":"MysqlndUhConnection::sendQuery example","mysqlnduhconnection.sendquery":"Sends a query to MySQL","example-1913":"MysqlndUhConnection::serverDumpDebugInformation example","mysqlnduhconnection.serverdumpdebuginformation":"Dump debugging information into the log for the MySQL server","example-1914":"MysqlndUhConnection::setAutocommit example","mysqlnduhconnection.setautocommit":"Turns on or off auto-committing database modifications","example-1915":"MysqlndUhConnection::setCharset example","mysqlnduhconnection.setcharset":"Sets the default client character set","example-1916":"MysqlndUhConnection::setClientOption example","mysqlnduhconnection.setclientoption":"Sets a client option","example-1917":"MysqlndUhConnection::setServerOption example","mysqlnduhconnection.setserveroption":"Sets a server option","mysqlnduhconnection.shutdownserver":"The shutdownServer purpose","example-1918":"MysqlndUhConnection::simpleCommand example","mysqlnduhconnection.simplecommand":"Sends a basic COM_* command","example-1919":"MysqlndUhConnection::simpleCommandHandleResponse example","mysqlnduhconnection.simplecommandhandleresponse":"Process a response for a basic COM_* command send to the client","example-1920":"MysqlndUhConnection::sslSet example","mysqlnduhconnection.sslset":"Used for establishing secure connections using SSL","example-1921":"MysqlndUhConnection::stmtInit example","mysqlnduhconnection.stmtinit":"Initializes a statement and returns a resource for use with mysqli_statement::prepare","example-1922":"MysqlndUhConnection::storeResult example","mysqlnduhconnection.storeresult":"Transfers a result set from the last query","example-1923":"MysqlndUhConnection::txCommit example","mysqlnduhconnection.txcommit":"Commits the current transaction","example-1924":"MysqlndUhConnection::txRollback example","mysqlnduhconnection.txrollback":"Rolls back current transaction","example-1925":"MysqlndUhConnection::useResult example","mysqlnduhconnection.useresult":"Initiate a result set retrieval","class.mysqlnduhconnection":"The MysqlndUhConnection class","mysqlnduhpreparedstatement.intro":"Introduction","mysqlnduhpreparedstatement.synopsis":"Class synopsis","mysqlnduhpreparedstatement.construct":"The __construct purpose","example-1926":"MysqlndUhPreparedStatement::execute example","mysqlnduhpreparedstatement.execute":"Executes a prepared Query","example-1927":"MysqlndUhPreparedStatement::prepare example","mysqlnduhpreparedstatement.prepare":"Prepare an SQL statement for execution","class.mysqlnduhpreparedstatement":"The MysqlndUhPreparedStatement class","example-1928":"mysqlnd_uh_convert_to_mysqlnd example","function.mysqlnd-uh-convert-to-mysqlnd":"Converts a MySQL connection handle into a mysqlnd connection handle","example-1929":"mysqlnd_uh_set_connection_proxy example","function.mysqlnd-uh-set-connection-proxy":"Installs a proxy for mysqlnd connections","function.mysqlnd-uh-set-statement-proxy":"Installs a proxy for mysqlnd statements","ref.mysqlnd-uh":"Mysqlnd_uh Functions","mysqlnd-uh.changes-one-o":"PECL\/mysqlnd_uh 1.0 series","mysqlnd-uh.changes":"Change History","book.mysqlnd-uh":"Mysqlnd user handler plugin","mysqlnd-mux.key-features":"Key Features","mysqlnd-mux.limitations":"Limitations","mysqlnd-mux.name":"About the name mysqlnd_mux","intro.mysqlnd-mux":"Introduction","mysqlnd-mux.architecture":"Architecture","mysqlnd-mux.connection_pool":"Connection pool","mysqlnd-mux.sharing_connections":"Sharing connections","mysqlnd-mux.concepts":"Concepts","mysqlnd-mux.requirements":"Requirements","mysqlnd-mux.installation":"Installation","mysqlnd-mux.configuration.list":"","ini.mysqlnd-mux.enable":"","mysqlnd-mux.configuration":"Runtime Configuration","mysqlnd-mux.setup":"Installing\/Configuring","constant.mysqlnd-mux-version":"","constant.mysqlnd-mux-version-id":"","mysqlnd-mux.constants":"Predefined Constants","mysqlnd-mux.changes-one-o":"PECL\/mysqlnd_mux 1.0 series","mysqlnd-mux.changes":"Change History","book.mysqlnd-mux":"Mysqlnd connection multiplexing plugin","mysqlnd-memcache.key-features":"Key Features","mysqlnd-memcache.limitations":"Limitations","mysqlnd-memcache.name":"On the name","intro.mysqlnd-memcache":"Introduction","example-1930":"Enabling the plugin (php.ini)","example-1931":"SQL table used for the Quickstart","mysqlnd-memcache.quickstart.configuration":"Setup","example-1932":"Basic example.","mysqlnd-memcache.quickstart.usage":"Usage","mysqlnd-memcache.quickstart":"Quickstart and Examples","mysqlnd-memcache.requirements":"Requirements","mysqlnd-memcache.installation":"Installation","mysqlnd-memcache.configuration.list":"","ini.mysqlnd-memcache.enable":"","mysqlnd-memcache.configuration":"Runtime Configuration","mysqlnd-memcache.setup":"Installing\/Configuring","constant.mysqlnd-memcache-default-regexp":"","constant.mysqlnd-memcache-version":"","constant.mysqlnd-memcache-version-id":"","mysqlnd-memcache.constants":"Predefined Constants","example-1933":"mysqlnd_memcache_get_config example","function.mysqlnd-memcache-get-config":"Returns information about the plugin configuration","example-1934":"mysqlnd_memcache_set example with\n var_dump as a simple debugging callback.","function.mysqlnd-memcache-set":"Associate a MySQL connection with a Memcache connection","ref.mysqlnd-memcache":"Mysqlnd_memcache Functions","mysqlnd-memcache.changes-one-o":"PECL\/mysqlnd_memcache 1.0 series","mysqlnd-memcache.changes":"Change History","book.mysqlnd-memcache":"Mysqlnd Memcache plugin","set.mysqlinfo":"MySQL Drivers and Plugins","intro.oci8":"Introduction","oci8.requirements":"Requirements","oci8.configure":"Configuring PHP with OCI8","oci8.installation":"Installation","oci8.testing":"","oci8.test":"Testing","ini.oci8.connection-class":"","ini.oci8.default-prefetch":"","ini.oci8.events":"","ini.oci8.max-persistent":"","ini.oci8.old-oci-close-semantics":"","ini.oci8.persistent-timeout":"","ini.oci8.ping-interval":"","ini.oci8.privileged-connect":"","ini.oci8.statement-cache-size":"","oci8.configuration":"Runtime Configuration","oci8.setup":"Installing\/Configuring","oci8.constants":"Predefined Constants","example-1935":"Basic query","example-1936":"Inserting with bind variables","example-1937":"Inserting data into a CLOB column","example-1938":"Using a PL\/SQL stored function","example-1939":"Using a PL\/SQL stored procedure","example-1940":"Calling a PL\/SQL function that returns a REF CURSOR","oci8.examples":"Examples","oci8.connection":"OCI8 Connection Handling and Connection Pooling","oci8.fan":"OCI8 Fast Application Notification (FAN) Support","example-1941":"user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace","oci8.dtrace":"OCI8 and DTrace Dynamic Tracing","oci8.datatypes":"Supported Datatypes","example-1942":"oci_bind_array_by_name example","function.oci-bind-array-by-name":"Binds a PHP array to an Oracle PL\/SQL array parameter","example-1943":"Inserting data with oci_bind_by_name","example-1944":"Binding once for multiple executions","example-1945":"Binding with a foreach loop","example-1946":"Binding in a WHERE clause","example-1947":"Binding with a LIKE clause","example-1948":"Binding with REGEXP_LIKE","example-1949":"Binding Multiple Values in an IN Clause","example-1950":"Binding a ROWID returned by a query","example-1951":"Binding a ROWID on INSERT","example-1952":"Binding for a PL\/SQL stored function","example-1953":"Binding parameters for a PL\/SQL stored procedure","example-1954":"Binding a CLOB column","function.oci-bind-by-name":"Binds a PHP variable to an Oracle placeholder","function.oci-cancel":"Cancels reading from cursor","example-1955":"oci_client_version example","function.oci-client-version":"Returns the Oracle client library version","example-1956":"Closing a connection","example-1957":"Database connections are not closed until all references are closed","example-1958":"Closing a connection opened more than once","example-1959":"Connections are closed when variables go out of scope","function.oci-close":"Closes an Oracle connection","example-1960":"oci_commit example","function.oci-commit":"Commits the outstanding database transaction","example-1961":"Basic oci_connect using Easy Connect syntax","example-1962":"Basic oci_connect using a Network Connect name","example-1963":"oci_connect with an explicit character set","example-1964":"Using multiple calls to oci_connect","function.oci-connect":"Connect to an Oracle database","example-1965":"oci_define_by_name example","example-1966":"oci_define_by_name with case sensitive column names","example-1967":"oci_define_by_name with LOB columns","example-1968":"oci_define_by_name with an explicit type","function.oci-define-by-name":"Associates a PHP variable with a column for query fetches","example-1969":"Displaying the Oracle error message after a connection error","example-1970":"Displaying the Oracle error message after a parsing error","example-1971":"Displaying the Oracle error message, the problematic statement,\n and the position of the problem of an execution error","function.oci-error":"Returns the last error found","example-1972":"oci_execute for queries","example-1973":"oci_execute without specifying a mode example","example-1974":"oci_execute with OCI_NO_AUTO_COMMIT example","example-1975":"oci_execute with different commit modes example","example-1976":"oci_execute with\n OCI_DESCRIBE_ONLY example","function.oci-execute":"Executes a statement","example-1977":"oci_fetch_all example","example-1978":"oci_fetch_all example with OCI_FETCHSTATEMENT_BY_ROW","example-1979":"oci_fetch_all with OCI_NUM","function.oci-fetch-all":"Fetches multiple rows from a query into a two-dimensional array","example-1980":"oci_fetch_array with OCI_BOTH","example-1981":"oci_fetch_array with OCI_NUM","example-1982":"oci_fetch_array with OCI_ASSOC","example-1983":"oci_fetch_array with OCI_RETURN_NULLS","example-1984":"oci_fetch_array with OCI_RETURN_LOBS","example-1985":"oci_fetch_array with case sensitive column names","example-1986":"oci_fetch_array with columns having duplicate names","example-1987":"oci_fetch_array with DATE columns","example-1988":"oci_fetch_array with REF CURSOR","example-1989":"oci_fetch_array with a LIMIT-like query","example-1990":"oci_fetch_array with Oracle Database 12c Implicit Result Sets","function.oci-fetch-array":"Returns the next row from a query as an associative or numeric array","function.oci-fetch-assoc":"Returns the next row from a query as an associative array","example-1991":"oci_fetch_object example","example-1992":"oci_fetch_object with case sensitive column names","example-1993":"oci_fetch_object with LOBs","function.oci-fetch-object":"Returns the next row from a query as an object","function.oci-fetch-row":"Returns the next row from a query as a numeric array","example-1994":"oci_fetch with defined variables","example-1995":"oci_fetch with oci_result","function.oci-fetch":"Fetches the next row from a query into internal buffers","function.oci-field-is-null":"Checks if the field is NULL","example-1996":"oci_field_name example","function.oci-field-name":"Returns the name of a field from the statement","function.oci-field-precision":"Tell the precision of a field","function.oci-field-scale":"Tell the scale of the field","example-1997":"oci_field_size example","function.oci-field-size":"Returns field's size","function.oci-field-type-raw":"Tell the raw Oracle data type of the field","example-1998":"oci_field_type example","function.oci-field-type":"Returns field's data type","function.oci-free-descriptor":"Frees a descriptor","function.oci-free-statement":"Frees all resources associated with statement or cursor","example-1999":"Fetching Implicit Result Sets in a loop","example-2000":"Getting child statement handles individually","example-2001":"Explicitly setting the Prefetch Count","example-2002":"Implicit Result Set example without using oci_get_implicit_resultset","function.oci-get-implicit-resultset":"Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets","function.oci-internal-debug":"Enables or disables internal debug output","function.oci-lob-copy":"Copies large object","function.oci-lob-is-equal":"Compares two LOB\/FILE locators for equality","function.oci-new-collection":"Allocates new collection object","example-2003":"oci_new_connect example","function.oci-new-connect":"Connect to the Oracle server using a unique connection","example-2004":"Using REF CURSOR in an Oracle's stored procedure","example-2005":"Using REF CURSOR in an Oracle's select statement","function.oci-new-cursor":"Allocates and returns a new cursor (statement handle)","example-2006":"oci_new_descriptor example","example-2007":"oci_new_descriptor example","function.oci-new-descriptor":"Initializes a new empty LOB or FILE descriptor","example-2008":"oci_num_fields example","function.oci-num-fields":"Returns the number of result columns in a statement","example-2009":"oci_num_rows example","function.oci-num-rows":"Returns number of rows affected during statement execution","example-2010":"oci_parse example for SQL statements","example-2011":"oci_parse example for PL\/SQL statements","function.oci-parse":"Prepares an Oracle statement for execution","function.oci-password-change":"Changes password of Oracle's user","function.oci-pconnect":"Connect to an Oracle database using a persistent connection","function.oci-result":"Returns field's value from the fetched row","example-2012":"oci_rollback example","example-2013":"Rolling back to a SAVEPOINT example","function.oci-rollback":"Rolls back the outstanding database transaction","example-2014":"oci_server_version example","function.oci-server-version":"Returns the Oracle Database version","example-2015":"Setting the action","function.oci-set-action":"Sets the action name","example-2016":"Setting the client identifier to the application user","function.oci-set-client-identifier":"Sets the client identifier","example-2017":"Setting the client information","function.oci-set-client-info":"Sets the client information","example-2018":"Two scripts can use different versions of myfunc() at the same time","function.oci-set-edition":"Sets the database edition","example-2019":"Setting the module name","function.oci-set-module-name":"Sets the module name","example-2020":"Changing the default prefetch value for a query","example-2021":"Changing the default prefetch for a REF CURSOR fetch","example-2022":"Setting the prefetch value when passing a REF CURSOR back to Oracle","function.oci-set-prefetch":"Sets number of rows to be prefetched by queries","example-2023":"oci_statement_type example","function.oci-statement-type":"Returns the type of a statement","ref.oci8":"OCI8 Functions","OCI-Collection.intro":"Introduction","OCI-Collection.synopsis":"Class synopsis","oci-collection.append":"Appends element to the collection","oci-collection.assign":"Assigns a value to the collection from another existing collection","oci-collection.assignelem":"Assigns a value to the element of the collection","oci-collection.free":"Frees the resources associated with the collection object","oci-collection.getelem":"Returns value of the element","oci-collection.max":"Returns the maximum number of elements in the collection","oci-collection.size":"Returns size of the collection","oci-collection.trim":"Trims elements from the end of the collection","class.OCI-Collection":"The OCI-Collection class","OCI-Lob.intro":"Introduction","OCI-Lob.synopsis":"Class synopsis","oci-lob.append":"Appends data from the large object to another large object","oci-lob.close":"Closes LOB descriptor","oci-lob.eof":"Tests for end-of-file on a large object's descriptor","oci-lob.erase":"Erases a specified portion of the internal LOB data","oci-lob.export":"Exports LOB's contents to a file","oci-lob.flush":"Flushes\/writes buffer of the LOB to the server","oci-lob.free":"Frees resources associated with the LOB descriptor","oci-lob.getbuffering":"Returns current state of buffering for the large object","oci-lob.import":"Imports file data to the LOB","oci-lob.load":"Returns large object's contents","oci-lob.read":"Reads part of the large object","oci-lob.rewind":"Moves the internal pointer to the beginning of the large object","oci-lob.save":"Saves data to the large object","oci-lob.savefile":"Alias of OCI-Lob::import","oci-lob.seek":"Sets the internal pointer of the large object","oci-lob.setbuffering":"Changes current state of buffering for the large object","oci-lob.size":"Returns size of large object","oci-lob.tell":"Returns the current position of internal pointer of large object","oci-lob.truncate":"Truncates large object","oci-lob.write":"Writes data to the large object","oci-lob.writetemporary":"Writes a temporary large object","oci-lob.writetofile":"Alias of OCI-Lob::export","class.OCI-Lob":"The OCI-Lob class","function.ocibindbyname":"Alias of oci_bind_by_name","function.ocicancel":"Alias of oci_cancel","function.ocicloselob":"Alias of OCI-Lob::close","function.ocicollappend":"Alias of OCI-Collection::append","function.ocicollassign":"Alias of OCI-Collection::assign","function.ocicollassignelem":"Alias of OCI-Collection::assignElem","function.ocicollgetelem":"Alias of OCI-Collection::getElem","function.ocicollmax":"Alias of OCI-Collection::max","function.ocicollsize":"Alias of OCI-Collection::size","function.ocicolltrim":"Alias of OCI-Collection::trim","function.ocicolumnisnull":"Alias of oci_field_is_null","function.ocicolumnname":"Alias of oci_field_name","function.ocicolumnprecision":"Alias of oci_field_precision","function.ocicolumnscale":"Alias of oci_field_scale","function.ocicolumnsize":"Alias of oci_field_size","function.ocicolumntype":"Alias of oci_field_type","function.ocicolumntyperaw":"Alias of oci_field_type_raw","function.ocicommit":"Alias of oci_commit","function.ocidefinebyname":"Alias of oci_define_by_name","function.ocierror":"Alias of oci_error","function.ociexecute":"Alias of oci_execute","function.ocifetch":"Alias of oci_fetch","function.ocifetchinto":"Obsolete variant of oci_fetch_array, oci_fetch_object,\n oci_fetch_assoc and\n oci_fetch_row","function.ocifetchstatement":"Alias of oci_fetch_all","function.ocifreecollection":"Alias of OCI-Collection::free","function.ocifreecursor":"Alias of oci_free_statement","function.ocifreedesc":"Alias of OCI-Lob::free","function.ocifreestatement":"Alias of oci_free_statement","function.ociinternaldebug":"Alias of oci_internal_debug","function.ociloadlob":"Alias of OCI-Lob::load","function.ocilogoff":"Alias of oci_close","function.ocilogon":"Alias of oci_connect","function.ocinewcollection":"Alias of oci_new_collection","function.ocinewcursor":"Alias of oci_new_cursor","function.ocinewdescriptor":"Alias of oci_new_descriptor","function.ocinlogon":"Alias of oci_new_connect","function.ocinumcols":"Alias of oci_num_fields","function.ociparse":"Alias of oci_parse","function.ociplogon":"Alias of oci_pconnect","function.ociresult":"Alias of oci_result","function.ocirollback":"Alias of oci_rollback","function.ocirowcount":"Alias of oci_num_rows","function.ocisavelob":"Alias of OCI-Lob::save","function.ocisavelobfile":"Alias of OCI-Lob::import","function.ociserverversion":"Alias of oci_server_version","function.ocisetprefetch":"Alias of oci_set_prefetch","function.ocistatementtype":"Alias of oci_statement_type","function.ociwritelobtofile":"Alias of OCI-Lob::export","function.ociwritetemporarylob":"Alias of OCI-Lob::writeTemporary","oldaliases.oci8":"OCI8 Obsolete Aliases and Functions","book.oci8":"Oracle OCI8","intro.ovrimos":"Introduction","ovrimos.requirements":"Requirements","ovrimos.installation":"Installation","ovrimos.configuration":"Runtime Configuration","ovrimos.resources":"Resource Types","ovrimos.setup":"Installing\/Configuring","ovrimos.constants":"Predefined Constants","example-2024":"Connect to Ovrimos SQL Server and select from a system table","ovrimos.examples-basic":"Basic usage","ovrimos.examples":"Examples","function.ovrimos-close":"Closes the connection to ovrimos","function.ovrimos-commit":"Commits the transaction","example-2025":"ovrimos_connect Example","function.ovrimos-connect":"Connect to the specified database","function.ovrimos-cursor":"Returns the name of the cursor","function.ovrimos-exec":"Executes an SQL statement","function.ovrimos-execute":"Executes a prepared SQL statement","example-2026":"A fetch into example","function.ovrimos-fetch-into":"Fetches a row from the result set","example-2027":"A fetch row example","function.ovrimos-fetch-row":"Fetches a row from the result set","function.ovrimos-field-len":"Returns the length of the output column","function.ovrimos-field-name":"Returns the output column name","function.ovrimos-field-num":"Returns the (1-based) index of the output column","function.ovrimos-field-type":"Returns the type of the output column","function.ovrimos-free-result":"Frees the specified result_id","function.ovrimos-longreadlen":"Specifies how many bytes are to be retrieved from long datatypes","function.ovrimos-num-fields":"Returns the number of columns","function.ovrimos-num-rows":"Returns the number of rows affected by update operations","example-2028":"ovrimos_prepare Example","function.ovrimos-prepare":"Prepares an SQL statement","example-2029":"Prepare a statement, execute, and view the result","example-2030":"ovrimos_result_all with meta-information","function.ovrimos-result-all":"Prints the whole result set as an HTML table","function.ovrimos-result":"Retrieves the output column","function.ovrimos-rollback":"Rolls back the transaction","ref.ovrimos":"Ovrimos SQL Functions","book.ovrimos":"Ovrimos SQL","intro.paradox":"Introduction","paradox.requirements":"Requirements","paradox.installation":"Installation","paradox.configuration":"Runtime Configuration","paradox.resources":"Resource Types","paradox.setup":"Installing\/Configuring","paradox.table-fieldtypes":"Contants for field types","paradox.table-filetypes":"Contants for file types","paradox.constants":"Predefined Constants","paradox.table-class-methods":"Methods of class paradox_db","paradox.oo-api":"Object oriented API","function.px-close":"Closes a paradox database","example-2031":"Creating a Paradox database with two fields","function.px-create-fp":"Create a new paradox database","example-2032":"Turn a paradox date into a human readable form","function.px-date2string":"Converts a date into a string.","function.px-delete-record":"Deletes record from paradox database","function.px-delete":"Deletes resource of paradox database","function.px-get-field":"Returns the specification of a single field","function.px-get-info":"Return lots of information about a paradox file","function.px-get-parameter":"Gets a parameter","function.px-get-record":"Returns record of paradox database","function.px-get-schema":"Returns the database schema","function.px-get-value":"Gets a value","example-2033":"Set the date\/time fields in a paradox database to the current\n date\/time","function.px-insert-record":"Inserts record into paradox database","example-2034":"Opening a Paradox database","example-2035":"Opening a Paradox database","function.px-new":"Create a new paradox object","function.px-numfields":"Returns number of fields in a database","function.px-numrecords":"Returns number of records in a database","function.px-open-fp":"Open paradox database","function.px-put-record":"Stores record into paradox database","function.px-retrieve-record":"Returns record of paradox database","function.px-set-blob-file":"Sets the file where blobs are read from","function.px-set-parameter":"Sets a parameter","function.px-set-tablename":"Sets the name of a table (deprecated)","function.px-set-targetencoding":"Sets the encoding for character fields (deprecated)","function.px-set-value":"Sets a value","example-2036":"Turn a paradox timestamp into a human readable form","function.px-timestamp2string":"Converts the timestamp into a string.","function.px-update-record":"Updates record in paradox database","ref.paradox":"Paradox Functions","book.paradox":"Paradox File Access","intro.pgsql":"Introduction","pgsql.requirements":"Requirements","pgsql.installation":"Installation","ini.pgsql.allow-persistent":"","ini.pgsql.max-persistent":"","ini.pgsql.max-links":"","ini.pgsql.auto-reset-persistent":"","ini.pgsql.ignore-notice":"","ini.pgsql.log-notice":"","pgsql.configuration":"Runtime Configuration","pgsql.resources":"Resource Types","pgsql.setup":"Installing\/Configuring","constant.pgsql-assoc":"","constant.pgsql-num":"","constant.pgsql-both":"","constant.pgsql-connect-force-new":"","constant.pgsql-connection-bad":"","constant.pgsql-connection-ok":"","constant.pgsql-seek-set":"","constant.pgsql-seek-cur":"","constant.pgsql-seek-end":"","constant.pgsql-empty-query":"","constant.pgsql-command-ok":"","constant.pgsql-tuples-ok":"","constant.pgsql-copy-out":"","constant.pgsql-copy-in":"","constant.pgsql-bad-response":"","constant.pgsql-nonfatal-error":"","constant.pgsql-fatal-error":"","constant.pgsql-transaction-idle":"","constant.pgsql-transaction-active":"","constant.pgsql-transaction-intrans":"","constant.pgsql-transaction-inerror":"","constant.pgsql-transaction-unknown":"","constant.pgsql-diag-severity":"","constant.pgsql-diag-sqlstate":"","constant.pgsql-diag-message-primary":"","constant.pgsql-diag-message-detail":"","constant.pgsql-diag-message-hint":"","constant.pgsql-diag-statement-position":"","constant.pgsql-diag-internal-position":"","constant.pgsql-diag-internal-query":"","constant.pgsql-diag-context":"","constant.pgsql-diag-source-file":"","constant.pgsql-diag-source-line":"","constant.pgsql-diag-source-function":"","constant.pgsql-errors-terse":"","constant.pgsql-errors-default":"","constant.pgsql-errors-verbose":"","constant.pgsql-status-long":"","constant.pgsql-status-string":"","constant.pgsql-conv-ignore-default":"","constant.pgsql-conv-force-null":"","constant.pgsql-conv-ignore-not-null":"","pgsql.constants":"Predefined Constants","example-2037":"PostgreSQL extension overview example","pgsql.examples-basic":"Basic usage","pgsql.examples":"Examples","pgsql.notes":"Notes","example-2038":"pg_affected_rows example","function.pg-affected-rows":"Returns number of affected records (tuples)","example-2039":"pg_cancel_query example","function.pg-cancel-query":"Cancel an asynchronous query","example-2040":"pg_client_encoding example","function.pg-client-encoding":"Gets the client encoding","example-2041":"pg_close example","function.pg-close":"Closes a PostgreSQL connection","example-2042":"Using pg_connect","function.pg-connect":"Open a PostgreSQL connection","example-2043":"pg_connection_busy example","function.pg-connection-busy":"Get connection is busy or not","example-2044":"pg_connection_reset example","function.pg-connection-reset":"Reset connection (reconnect)","example-2045":"pg_connection_status example","function.pg-connection-status":"Get connection status","example-2046":"pg_convert example","function.pg-convert":"Convert associative array values into suitable for SQL statement","example-2047":"pg_copy_from example","function.pg-copy-from":"Insert records into a table from an array","example-2048":"pg_copy_to example","function.pg-copy-to":"Copy a table to an array","example-2049":"pg_dbname example","function.pg-dbname":"Get the database name","example-2050":"pg_delete example","function.pg-delete":"Deletes records","example-2051":"pg_end_copy example","function.pg-end-copy":"Sync with PostgreSQL backend","example-2052":"pg_escape_bytea example","function.pg-escape-bytea":"Escape a string for insertion into a bytea field","example-2053":"pg_escape_identifier example","function.pg-escape-identifier":"Escape a identifier for insertion into a text field","example-2054":"pg_escape_literal example","function.pg-escape-literal":"Escape a literal for insertion into a text field","example-2055":"pg_escape_string example","function.pg-escape-string":"Escape a string for query","example-2056":"Using pg_execute","function.pg-execute":"Sends a request to execute a prepared statement with given parameters, and waits for the result.","example-2057":"pg_fetch_all_columns example","function.pg-fetch-all-columns":"Fetches all rows in a particular result column as an array","example-2058":"PostgreSQL fetch all","function.pg-fetch-all":"Fetches all rows from a result as an array","example-2059":"pg_fetch_array example","function.pg-fetch-array":"Fetch a row as an array","example-2060":"pg_fetch_assoc example","function.pg-fetch-assoc":"Fetch a row as an associative array","example-2061":"pg_fetch_object example","function.pg-fetch-object":"Fetch a row as an object","example-2062":"pg_fetch_result example","function.pg-fetch-result":"Returns values from a result resource","example-2063":"pg_fetch_row example","function.pg-fetch-row":"Get a row as an enumerated array","example-2064":"pg_field_is_null example","function.pg-field-is-null":"Test if a field is SQL NULL","example-2065":"Getting information about fields","function.pg-field-name":"Returns the name of a field","example-2066":"Getting information about fields","function.pg-field-num":"Returns the field number of the named field","example-2067":"Getting information about fields","function.pg-field-prtlen":"Returns the printed length","example-2068":"Getting information about fields","function.pg-field-size":"Returns the internal storage size of the named field","example-2069":"Getting table information about a field","function.pg-field-table":"Returns the name or oid of the tables field","example-2070":"Getting information about fields","function.pg-field-type-oid":"Returns the type ID (OID) for the corresponding field number","example-2071":"Getting information about fields","function.pg-field-type":"Returns the type name for the corresponding field number","example-2072":"pg_free_result example","function.pg-free-result":"Free result memory","example-2073":"PostgreSQL NOTIFY message","function.pg-get-notify":"Gets SQL NOTIFY message","example-2074":"PostgreSQL backend PID","function.pg-get-pid":"Gets the backend's process ID","example-2075":"pg_get_result example","function.pg-get-result":"Get asynchronous query result","example-2076":"pg_host example","function.pg-host":"Returns the host name associated with the connection","example-2077":"pg_insert example","function.pg-insert":"Insert array into table","example-2078":"pg_last_error example","function.pg-last-error":"Get the last error message string of a connection","example-2079":"pg_last_notice example","function.pg-last-notice":"Returns the last notice message from PostgreSQL server","example-2080":"pg_last_oid example","function.pg-last-oid":"Returns the last row's OID","example-2081":"pg_lo_close example","function.pg-lo-close":"Close a large object","example-2082":"pg_lo_create example","function.pg-lo-create":"Create a large object","example-2083":"pg_lo_export example","function.pg-lo-export":"Export a large object to file","example-2084":"pg_lo_import example","function.pg-lo-import":"Import a large object from file","example-2085":"pg_lo_open example","function.pg-lo-open":"Open a large object","example-2086":"pg_lo_read_all example","function.pg-lo-read-all":"Reads an entire large object and send straight to browser","example-2087":"pg_lo_read example","function.pg-lo-read":"Read a large object","example-2088":"pg_lo_seek example","function.pg-lo-seek":"Seeks position within a large object","example-2089":"pg_lo_tell example","function.pg-lo-tell":"Returns current seek position a of large object","example-2090":"pg_lo_unlink example","function.pg-lo-unlink":"Delete a large object","example-2091":"pg_lo_write example","function.pg-lo-write":"Write to a large object","example-2092":"Getting table metadata","function.pg-meta-data":"Get meta data for table","example-2093":"pg_num_fields example","function.pg-num-fields":"Returns the number of fields in a result","example-2094":"pg_num_rows example","function.pg-num-rows":"Returns the number of rows in a result","example-2095":"pg_options example","function.pg-options":"Get the options associated with the connection","example-2096":"pg_parameter_status example","function.pg-parameter-status":"Looks up a current parameter setting of the server.","example-2097":"Using pg_pconnect","function.pg-pconnect":"Open a persistent PostgreSQL connection","example-2098":"pg_ping example","function.pg-ping":"Ping database connection","example-2099":"pg_port example","function.pg-port":"Return the port number associated with the connection","example-2100":"Using pg_prepare","function.pg-prepare":"Submits a request to create a prepared statement with the \n given parameters, and waits for completion.","example-2101":"pg_put_line example","function.pg-put-line":"Send a NULL-terminated string to PostgreSQL backend","example-2102":"Using pg_query_params","function.pg-query-params":"Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.","example-2103":"pg_query example","example-2104":"Using pg_query with multiple statements","function.pg-query":"Execute a query","example-2105":"pg_result_error_field example","function.pg-result-error-field":"Returns an individual field of an error report.","example-2106":"pg_result_error example","function.pg-result-error":"Get error message associated with result","example-2107":"pg_result_seek example","function.pg-result-seek":"Set internal row offset in result resource","example-2108":"pg_result_status example","function.pg-result-status":"Get status of query result","example-2109":"pg_select example","function.pg-select":"Select records","example-2110":"Using pg_send_execute","function.pg-send-execute":"Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).","example-2111":"Using pg_send_prepare","function.pg-send-prepare":"Sends a request to create a prepared statement with the given parameters, without waiting for completion.","example-2112":"Using pg_send_query_params","function.pg-send-query-params":"Submits a command and separate parameters to the server without waiting for the result(s).","example-2113":"pg_send_query example","function.pg-send-query":"Sends asynchronous query","example-2114":"pg_set_client_encoding example","function.pg-set-client-encoding":"Set the client encoding","example-2115":"pg_set_error_verbosity example","function.pg-set-error-verbosity":"Determines the verbosity of messages returned by pg_last_error \n and pg_result_error.","example-2116":"pg_trace example","function.pg-trace":"Enable tracing a PostgreSQL connection","example-2117":"pg_transaction_status example","function.pg-transaction-status":"Returns the current in-transaction status of the server.","example-2118":"pg_tty example","function.pg-tty":"Return the TTY name associated with the connection","example-2119":"pg_unescape_bytea example","function.pg-unescape-bytea":"Unescape binary for bytea type","example-2120":"pg_untrace example","function.pg-untrace":"Disable tracing of a PostgreSQL connection","example-2121":"pg_update example","function.pg-update":"Update table","example-2122":"pg_version example","function.pg-version":"Returns an array with client, protocol and server version (when available)","ref.pgsql":"PostgreSQL Functions","book.pgsql":"PostgreSQL","intro.sqlite":"Introduction","sqlite.requirements":"Requirements","sqlite.installation":"Installation","ini.sqlite.assoc-case":"","sqlite.configuration":"Runtime Configuration","sqlite.resources":"Resource Types","sqlite.setup":"Installing\/Configuring","constant.sqlite-assoc":"","constant.sqlite-both":"","constant.sqlite-num":"","constant.sqlite-ok":"","constant.sqlite-error":"","constant.sqlite-internal":"","constant.sqlite-perm":"","constant.sqlite-abort":"","constant.sqlite-busy":"","constant.sqlite-locked":"","constant.sqlite-nomem":"","constant.sqlite-readonly":"","constant.sqlite-interrupt":"","constant.sqlite-ioerr":"","constant.sqlite-notadb":"","constant.sqlite-corrupt":"","constant.sqlite-format":"","constant.sqlite-notfound":"","constant.sqlite-full":"","constant.sqlite-cantopen":"","constant.sqlite-protocol":"","constant.sqlite-empty":"","constant.sqlite-schema":"","constant.sqlite-toobig":"","constant.sqlite-constraint":"","constant.sqlite-mismatch":"","constant.sqlite-misuse":"","constant.sqlite-nolfs":"","constant.sqlite-auth":"","constant.sqlite-row":"","constant.sqlite-done":"","sqlite.constants":"Predefined Constants","sqlite.class.sqlitedatabase.constructor":"Constructor","sqlite.class.sqlitedatabase.methods":"Methods","sqlite.class.sqlitedatabase":"SQLiteDatabase","sqlite.class.sqliteresult.methods":"Methods","sqlite.class.sqliteresult":"SQLiteResult","sqlite.class.sqliteunbuffered.methods":"Methods","sqlite.class.sqliteunbuffered":"SQLiteUnbuffered","sqlite.classes":"Predefined Classes","example-2123":"Procedural style","example-2124":"Object-oriented style","function.sqlite-array-query":"Execute a query against a given database and returns an array","example-2125":"Procedural style","example-2126":"Object oriented style","function.sqlite-busy-timeout":"Set busy timeout duration, or disable busy handlers","example-2127":"Procedural style","example-2128":"Object oriented style","function.sqlite-changes":"Returns the number of rows that were changed by the most\n recent SQL statement","example-2129":"sqlite_close example","function.sqlite-close":"Closes an open SQLite database","function.sqlite-column":"Fetches a column from the current row of a result set","example-2130":"max_length aggregation function example","function.sqlite-create-aggregate":"Register an aggregating UDF for use in SQL statements","example-2131":"sqlite_create_function example","example-2132":"Example of using the PHP function","function.sqlite-create-function":"Registers a "regular" User Defined Function for use in SQL statements","function.sqlite-current":"Fetches the current row from a result set as an array","function.sqlite-error-string":"Returns the textual description of an error code","function.sqlite-escape-string":"Escapes a string for use as a query parameter","example-2133":"Procedural example","example-2134":"Object-oriented example","function.sqlite-exec":"Executes a result-less query against a given database","example-2135":"sqlite_factory example","function.sqlite-factory":"Opens an SQLite database and returns an SQLiteDatabase object","example-2136":"Procedural example","example-2137":"Object-oriented example","function.sqlite-fetch-all":"Fetches all rows from a result set as an array of arrays","example-2138":"Procedural example","example-2139":"Object-oriented example","function.sqlite-fetch-array":"Fetches the next row from a result set as an array","example-2140":"Procedural example","example-2141":"Object-oriented example","function.sqlite-fetch-column-types":"Return an array of column types from a particular table","function.sqlite-fetch-object":"Fetches the next row from a result set as an object","example-2142":"A sqlite_fetch_single example","function.sqlite-fetch-single":"Fetches the first column of a result set as a string","function.sqlite-fetch-string":"Alias of sqlite_fetch_single","function.sqlite-field-name":"Returns the name of a particular field","function.sqlite-has-more":"Finds whether or not more rows are available","function.sqlite-has-prev":"Returns whether or not a previous row is available","function.sqlite-key":"Returns the current row index","function.sqlite-last-error":"Returns the error code of the last error for a database","function.sqlite-last-insert-rowid":"Returns the rowid of the most recently inserted row","function.sqlite-libencoding":"Returns the encoding of the linked SQLite library","function.sqlite-libversion":"Returns the version of the linked SQLite library","function.sqlite-next":"Seek to the next row number","function.sqlite-num-fields":"Returns the number of fields in a result set","example-2143":"Procedural example","example-2144":"Object-oriented example","function.sqlite-num-rows":"Returns the number of rows in a buffered result set","example-2145":"sqlite_open example","function.sqlite-open":"Opens an SQLite database and create the database if it does not exist","function.sqlite-popen":"Opens a persistent handle to an SQLite database and create the database if it does not exist","function.sqlite-prev":"Seek to the previous row number of a result set","function.sqlite-query":"Executes a query against a given database and returns a result handle","function.sqlite-rewind":"Seek to the first row number","function.sqlite-seek":"Seek to a particular row number of a buffered result set","function.sqlite-single-query":"Executes a query and returns either an array for one single column or the value of the first row","example-2146":"binary-safe max_length aggregation function example","function.sqlite-udf-decode-binary":"Decode binary data passed as parameters to an UDF","function.sqlite-udf-encode-binary":"Encode binary data before returning it from an UDF","function.sqlite-unbuffered-query":"Execute a query that does not prefetch and buffer all data","function.sqlite-valid":"Returns whether more rows are available","ref.sqlite":"SQLite Functions","book.sqlite":"SQLite","intro.sqlite3":"Introduction","sqlite3.requirements":"Requirements","sqlite3.installation":"Installation","ini.sqlite3.extension-dir":"","sqlite3.configuration":"Runtime Configuration","sqlite3.resources":"Resource Types","sqlite3.setup":"Installing\/Configuring","constant.sqlite3-assoc":"","constant.sqlite3-num":"","constant.sqlite3-both":"","constant.sqlite3-integer":"","constant.sqlite3-float":"","constant.sqlite3-text":"","constant.sqlite3-blob":"","constant.sqlite3-null":"","constant.sqlite3-open-readonly":"","constant.sqlite3-open-readwrite":"","constant.sqlite3-open-create":"","sqlite3.constants":"Predefined Constants","sqlite3.intro":"Introduction","sqlite3.synopsis":"Class synopsis","sqlite3.busytimeout":"Sets the busy connection handler","example-2147":"SQLite3::changes example","sqlite3.changes":"Returns the number of database rows that were changed (or inserted or\n deleted) by the most recent SQL statement","example-2148":"SQLite3::close example","sqlite3.close":"Closes the database connection","example-2149":"SQLite3::__construct example","sqlite3.construct":"Instantiates an SQLite3 object and opens an SQLite 3 database","sqlite3.createaggregate":"Registers a PHP function for use as an SQL aggregate function","example-2150":"SQLite3::createCollation example","sqlite3.createcollation":"Registers a PHP function for use as an SQL collating function","example-2151":"SQLite3::createFunction example","sqlite3.createfunction":"Registers a PHP function for use as an SQL scalar function","sqlite3.escapestring":"Returns a string that has been properly escaped","example-2152":"SQLite3::exec example","sqlite3.exec":"Executes a result-less query against a given database","sqlite3.lasterrorcode":"Returns the numeric result code of the most recent failed SQLite request","sqlite3.lasterrormsg":"Returns English text describing the most recent failed SQLite request","sqlite3.lastinsertrowid":"Returns the row ID of the most recent INSERT into the database","example-2153":"SQLite3::loadExtension example","sqlite3.loadextension":"Attempts to load an SQLite extension library","example-2154":"SQLite3::open example","sqlite3.open":"Opens an SQLite database","example-2155":"SQLite3::prepare example","sqlite3.prepare":"Prepares an SQL statement for execution","example-2156":"SQLite3::query example","sqlite3.query":"Executes an SQL query","example-2157":"SQLite3::querySingle example","sqlite3.querysingle":"Executes a query and returns a single result","example-2158":"SQLite3::version example","sqlite3.version":"Returns the SQLite3 library version as a string constant and as a number","class.sqlite3":"The SQLite3 class","sqlite3stmt.intro":"Introduction","sqlite3stmt.synopsis":"Class synopsis","sqlite3stmt.bindparam":"Binds a parameter to a statement variable","example-2159":"SQLite3Stmt::bindValue example","sqlite3stmt.bindvalue":"Binds the value of a parameter to a statement variable","sqlite3stmt.clear":"Clears all current bound parameters","sqlite3stmt.close":"Closes the prepared statement","sqlite3stmt.execute":"Executes a prepared statement and returns a result set object","sqlite3stmt.paramcount":"Returns the number of parameters within the prepared statement","sqlite3stmt.reset":"Resets the prepared statement","class.sqlite3stmt":"The SQLite3Stmt class","sqlite3result.intro":"Introduction","sqlite3result.synopsis":"Class synopsis","sqlite3result.columnname":"Returns the name of the nth column","sqlite3result.columntype":"Returns the type of the nth column","sqlite3result.fetcharray":"Fetches a result row as an associative or numerically indexed array or both","sqlite3result.finalize":"Closes the result set","sqlite3result.numcolumns":"Returns the number of columns in the result set","sqlite3result.reset":"Resets the result set back to the first row","class.sqlite3result":"The SQLite3Result class","book.sqlite3":"SQLite3","intro.sqlsrv":"Introduction","sqlsrv.requirements":"Requirements","sqlsrv.installation":"Installation","sqlsrv.configuration":"Runtime Configuration","sqlsrv.resources.link":"Connection resource","sqlsrv.resources.statement":"Statement resource","sqlsrv.resources":"Resource Types","sqlsrv.setup":"Installing\/Configuring","constant.sqlsrv-fetch-assoc":"","constant.sqlsrv-fetch-numeric":"","constant.sqlsrv-fetch-both":"","constant.sqlsrv-err-all":"","constant.sqlsrv-err-errors":"","constant.sqlsrv-err-warnings":"","constant.sqlsrv-log-system-all":"","constant.sqlsrv-log-system-conn":"","constant.sqlsrv-log-system-init":"","constant.sqlsrv-log-system-off":"","constant.sqlsrv-log-system-stmt":"","constant.sqlsrv-log-system-util":"","constant.sqlsrv-log-severity-all":"","constant.sqlsrv-log-severity-error":"","constant.sqlsrv-log-severity-notice":"","constant.sqlsrv-log-severity-warning":"","constant.sqlsrv-nullable-yes":"","constant.sqlsrv-nullable-no":"","constant.sqlsrv-nullable-unknown":"","constant.sqlsrv-param-in":"","constant.sqlsrv-param-inout":"","constant.sqlsrv-param-out":"","constant.sqlsrv-phptype-int":"","constant.sqlsrv-phptype-datetime":"","constant.sqlsrv-phptype-float":"","constant.sqlsrv-phptype-stream":"","constant.sqlsrv-phptype-string":"","constant.sqlsrv-enc-binary":"","constant.sqlsrv-enc-char":"","constant.utf-8":"","constant.sqlsrv-sqltype-bigint":"","constant.sqlsrv-sqltype-binary":"","constant.sqlsrv-sqltype-bit":"","constant.sqlsrv-sqltype-char":"","constant.sqlsrv-sqltype-date":"","constant.sqlsrv-sqltype-datetime":"","constant.sqlsrv-sqltype-datetime2":"","constant.sqlsrv-sqltype-datetimeoffset":"","constant.sqlsrv-sqltype-decimal":"","constant.sqlsrv-sqltype-float":"","constant.sqlsrv-sqltype-image":"","constant.sqlsrv-sqltype-int":"","constant.sqlsrv-sqltype-money":"","constant.sqlsrv-sqltype-nchar":"","constant.sqlsrv-sqltype-numeric":"","constant.sqlsrv-sqltype-nvarchar":"","constant.sqlsrv-sqltype-ntext":"","constant.sqlsrv-sqltype-real":"","constant.sqlsrv-sqltype-smalldatetime":"","constant.sqlsrv-sqltype-smallint":"","constant.sqlsrv-sqltype-smallmoney":"","constant.sqlsrv-sqltype-text":"","constant.sqlsrv-sqltype-time":"","constant.sqlsrv-sqltype-timestamp":"","constant.sqlsrv-sqltype-tinyint":"","constant.sqlsrv-sqltype-uniqueidentifier":"","constant.sqlsrv-sqltype-udt":"","constant.sqlsrv-sqltype-varbinary":"","constant.sqlsrv-sqltype-varchar":"","constant.sqlsrv-sqltype-xml":"","constant.sqlsrv-txn-read-uncommitted":"","constant.sqlsrv-txn-read-committed":"","constant.sqlsrv-txn-repeatable-read":"","constant.sqlsrv-txn-snapshot":"","constant.sqlsrv-txn-read-serializable":"","constant.sqlsrv-cursor-forward":"","constant.sqlsrv-cursor-static":"","constant.sqlsrv-dynamic":"","constant.sqlsrv-cursor-keyset":"","constant.sqlsrv-cursor-buffered":"","constant.sqlsrv-scroll-next":"","constant.sqlsrv-scroll-prior":"","constant.sqlsrv-scroll-first":"","constant.sqlsrv-scroll-last":"","constant.sqlsrv-scroll-absolute":"","constant.sqlsrv-scroll-relative":"","sqlsrv.constants":"Predefined Constants","example-2160":"sqlsrv_begin_transaction example","function.sqlsrv-begin-transaction":"Begins a database transaction","example-2161":"sqlsrv_cancel example","function.sqlsrv-cancel":"Cancels a statement","example-2162":"sqlsrv_client_info example","function.sqlsrv-client-info":"Returns information about the client and specified connection","example-2163":"sqlsrv_close example","function.sqlsrv-close":"Closes an open connection and releases resourses associated with the connection","example-2164":"sqlsrv_commit example","function.sqlsrv-commit":"Commits a transaction that was begun with sqlsrv_begin_transaction","function.sqlsrv-configure":"Changes the driver error handling and logging configurations","example-2165":"Connect using Windows Authentication.","example-2166":"Connect by specifying a user name and password.","example-2167":"Connect on a specifed port.","function.sqlsrv-connect":"Opens a connection to a Microsoft SQL Server database","example-2168":"functionname example","function.sqlsrv-errors":"Returns error and warning information about the last SQLSRV operation performed","example-2169":"sqlsrv_execute example","function.sqlsrv-execute":"Executes a statement prepared with sqlsrv_prepare","example-2170":"Retrieving an associative array.","example-2171":"Retrieving a numeric array.","function.sqlsrv-fetch-array":"Returns a row as an array","example-2172":"sqlsrv_fetch_object example","function.sqlsrv-fetch-object":"Retrieves the next row of data in a result set as an object","example-2173":"sqlsrv_fetch example","function.sqlsrv-fetch":"Makes the next row in a result set available for reading","example-2174":"sqlsrv_field_metadata example","function.sqlsrv-field-metadata":"Retrieves metadata for the fields of a statement prepared by \n sqlsrv_prepare or sqlsrv_query","example-2175":"sqlsrv_free_stmt example","function.sqlsrv-free-stmt":"Frees all resources for the specified statement","function.sqlsrv-get-config":"Returns the value of the specified configuration setting","example-2176":"sqlsrv_get_field example","function.sqlsrv-get-field":"Gets field data from the currently selected row","example-2177":"sqlsrv_has_rows example","function.sqlsrv-has-rows":"Indicates whether the specified statement has rows","example-2178":"sqlsrv_next_result example","function.sqlsrv-next-result":"Makes the next result of the specified statement active","example-2179":"sqlsrv_num_fields example","function.sqlsrv-num-fields":"Retrieves the number of fields (columns) on a statement","example-2180":"sqlsrv_num_rows example","function.sqlsrv-num-rows":"Retrieves the number of rows in a result set","example-2181":"sqlsrv_prepare example","function.sqlsrv-prepare":"Prepares a query for execution","example-2182":"sqlsrv_query example","function.sqlsrv-query":"Prepares and executes a query.","example-2183":"sqlsrv_rollback example","function.sqlsrv-rollback":"Rolls back a transaction that was begun with \n sqlsrv_begin_transaction","example-2184":"sqlsrv_rows_affected example","function.sqlsrv-rows-affected":"Returns the number of rows modified by the last INSERT, UPDATE, or \n DELETE query executed","example-2185":"sqlsrv_send_stream_data example","function.sqlsrv-send-stream-data":"Sends data from parameter streams to the server","example-2186":"sqlsrv_server_info example","function.sqlsrv-server-info":"Returns information about the server","ref.sqlsrv":"SQLSRV Functions","book.sqlsrv":"Microsoft SQL Server Driver for PHP","intro.sybase":"Introduction","sybase.requirements":"Requirements","sybase.installation":"Installation","ini.sybase.allow-persistent":"","ini.sybase.max-persistent":"","ini.sybase.max-links":"","ini.sybase.min-error-severity":"","ini.sybase.min-message-severity":"","ini.magic-quotes-sybase":"","ini.sybct.allow-persistent":"","ini.sybct.max-persistent":"","ini.sybct.max-links":"","ini.sybct.min-server-severity":"","ini.sybct.min-client-severity":"","ini.sybct.login-timeout":"","ini.sybct.timeout":"","ini.sybct.hostname":"","ini.sybct.deadlock-retry-count":"","sybase.configuration":"Runtime Configuration","sybase.resources":"Resource Types","sybase.setup":"Installing\/Configuring","sybase.constants":"Predefined Constants","example-2187":"Delete-Query","function.sybase-affected-rows":"Gets number of affected rows in last query","function.sybase-close":"Closes a Sybase connection","example-2188":"sybase_connect example","function.sybase-connect":"Opens a Sybase server connection","function.sybase-data-seek":"Moves internal row pointer","function.sybase-deadlock-retry-count":"Sets the deadlock retry count","example-2189":"Identical fieldnames","function.sybase-fetch-array":"Fetch row as array","function.sybase-fetch-assoc":"Fetch a result row as an associative array","function.sybase-fetch-field":"Get field information from a result","example-2190":"sybase_fetch_object return as Foo","function.sybase-fetch-object":"Fetch a row as an object","function.sybase-fetch-row":"Get a result row as an enumerated array","function.sybase-field-seek":"Sets field offset","function.sybase-free-result":"Frees result memory","function.sybase-get-last-message":"Returns the last message from the server","function.sybase-min-client-severity":"Sets minimum client severity","function.sybase-min-error-severity":"Sets minimum error severity","function.sybase-min-message-severity":"Sets minimum message severity","function.sybase-min-server-severity":"Sets minimum server severity","function.sybase-num-fields":"Gets the number of fields in a result set","function.sybase-num-rows":"Get number of rows in a result set","function.sybase-pconnect":"Open persistent Sybase connection","function.sybase-query":"Sends a Sybase query","function.sybase-result":"Get result data","function.sybase-select-db":"Selects a Sybase database","example-2191":"sybase_set_message_handler callback function","example-2192":"sybase_set_message_handler callback to a class","example-2193":"sybase_set_message_handler unhandled messages","function.sybase-set-message-handler":"Sets the handler called when a server message is raised","example-2194":"sybase_unbuffered_query example","function.sybase-unbuffered-query":"Send a Sybase query and do not block","ref.sybase":"Sybase Functions","book.sybase":"Sybase","intro.tokyo-tyrant":"Introduction","tokyo-tyrant.requirements":"Requirements","tokyo-tyrant.configure-options":"Configure options","tokyo-tyrant.enabling-the-extension":"Enabling the extension","tokyo-tyrant.session-running":"Running Tokyo Tyrant for the session handler","tokyo-tyrant.configuring-session-handler":"Configuring session handler","tokyo-tyrant.how-session-handler-works":"How it works?","tokyo-tyrant.installation":"Installation","ini.tokyo-tyrant.default-timeout":"","ini.tokyo-tyrant.session-salt":"","ini.tokyo-tyrant.key-prefix":"","ini.tokyo-tyrant.allow-failover":"","ini.tokyo-tyrant.fail-threshold":"","ini.tokyo-tyrant.health-check-divisor":"","ini.tokyo-tyrant.php-expiration":"","tokyo-tyrant.configuration":"Runtime Configuration","tokyo-tyrant.resources":"Resource Types","tokyo-tyrant.setup":"Installing\/Configuring","tokyo-tyrant.constants":"Predefined Constants","example-2195":"Putting and getting a key-value pair","tokyo-tyrant.examples":"Examples","tokyotyrant.intro":"Introduction","tokyotyrant.synopsis":"Class synopsis","tokyotyrant.constants.rdbdef-port":"","tokyotyrant.constants.rdbqc-streq":"","tokyotyrant.constants.rdbqc-strinc":"","tokyotyrant.constants.rdbqc-strbw":"","tokyotyrant.constants.rdbqc-strew":"","tokyotyrant.constants.rdbqc-strand":"","tokyotyrant.constants.rdbqc-stror":"","tokyotyrant.constants.rdbqc-stroreq":"","tokyotyrant.constants.rdbqc-strrx":"","tokyotyrant.constants.rdbqc-numeq":"","tokyotyrant.constants.rdbqc-numgt":"","tokyotyrant.constants.rdbqc-numge":"","tokyotyrant.constants.rdbqc-numlt":"","tokyotyrant.constants.rdbqc-numle":"","tokyotyrant.constants.rdbqc-numbt":"","tokyotyrant.constants.rdbqc-numoreq":"","tokyotyrant.constants.rdbqc-negate":"","tokyotyrant.constants.rdbqc-noidx":"","tokyotyrant.constants.rdbqo-strasc":"","tokyotyrant.constants.rdbqo-strdesc":"","tokyotyrant.constants.rdbqo-numasc":"","tokyotyrant.constants.rdbqo-numdesc":"","tokyotyrant.constants.rdbit-lexical":"","tokyotyrant.constants.rdbit-decimal":"","tokyotyrant.constants.rdbit-token":"","tokyotyrant.constants.rdbit-qgram":"","tokyotyrant.constants.rdbit-opt":"","tokyotyrant.constants.rdbit-void":"","tokyotyrant.constants.rdbit-keep":"","tokyotyrant.constants.rdbqcfts-ph":"","tokyotyrant.constants.rdbqcfts-and":"","tokyotyrant.constants.rdbqcfts-or":"","tokyotyrant.constants.rdbqcfts-ex":"","tokyotyrant.constants.rdbms-union":"","tokyotyrant.constants.rdbms-isect":"","tokyotyrant.constants.rdbms-diff":"","tokyotyrant.constants.rdbt-recon":"","tokyotyrant.constants.rdbxolck-rec":"","tokyotyrant.constants.rdbxolck-glb":"","tokyotyrant.constants.rdbrec-int":"","tokyotyrant.constants.rdbrec-dbl":"","tokyotyrant.constants.tte-success":"","tokyotyrant.constants.tte-invalid":"","tokyotyrant.constants.tte-nohost":"","tokyotyrant.constants.tte-refused":"","tokyotyrant.constants.tte-send":"","tokyotyrant.constants.tte-recv":"","tokyotyrant.constants.tte-keep":"","tokyotyrant.constants.tte-norec":"","tokyotyrant.constants.tte-misc":"","tokyotyrant.constants.types":"TokyoTyrant Constants","tokyotyrant.constants":"Predefined Constants","example-2196":"TokyoTyrant::add example","tokyotyrant.add":"Adds to a numeric key","example-2197":"TokyoTyrant::connect example","tokyotyrant.connect":"Connect to a database","example-2198":"TokyoTyrant::connectUri example","tokyotyrant.connecturi":"Connects to a database","tokyotyrant.construct":"Construct a new TokyoTyrant object","example-2199":"TokyoTyrant::copy example","tokyotyrant.copy":"Copies the database","example-2200":"TokyoTyrant::ext example","tokyotyrant.ext":"Execute a remote script","example-2201":"TokyoTyrant::fwmKeys example","tokyotyrant.fwmkeys":"Returns the forward matching keys","example-2202":"TokyoTyrant::get example","tokyotyrant.get":"The get purpose","example-2203":"TokyoTyrant::getIterator example","tokyotyrant.getiterator":"Get an iterator","example-2204":"TokyoTyrant::num example","tokyotyrant.num":"Number of records in the database","example-2205":"TokyoTyrant::out example","tokyotyrant.out":"Removes records","example-2206":"TokyoTyrant::put example","tokyotyrant.put":"Puts values","example-2207":"TokyoTyrant::putCat example","tokyotyrant.putcat":"Concatenates to a record","example-2208":"tokyotyrant::putKeep example","tokyotyrant.putkeep":"Puts a record","example-2209":"TokyoTyrant::putNr example","tokyotyrant.putnr":"Puts value","example-2210":"TokyoTyrant::putShl example","tokyotyrant.putshl":"Concatenates to a record","tokyotyrant.restore":"Restore the database","example-2211":"TokyoTyrant::setMaster example","tokyotyrant.setmaster":"Set the replication master","example-2212":"TokyoTyrant::size example","tokyotyrant.size":"Returns the size of the value","example-2213":"TokyoTyrant::stat example","tokyotyrant.stat":"Get statistics","tokyotyrant.sync":"Synchronize the database","tokyotyrant.tune":"Tunes connection values","example-2214":"TokyoTyrant::vanish example","tokyotyrant.vanish":"Empties the database","class.tokyotyrant":"The TokyoTyrant class","tokyotyranttable.intro":"Introduction","tokyotyranttable.synopsis":"Class synopsis","tokyotyranttable.add":"Adds a record","example-2215":"TokyoTyrantTable::genUid example","tokyotyranttable.genuid":"Generate unique id","example-2216":"TokyoTyrantTable::get example","tokyotyranttable.get":"Get a row","example-2217":"TokyoTyrantTable::getIterator example","tokyotyranttable.getiterator":"Get an iterator","example-2218":"TokyoTyrantTable::getQuery example","tokyotyranttable.getquery":"Get a query object","example-2219":"TokyoTyrantTable::out example","tokyotyranttable.out":"Remove records","example-2220":"TokyoTyrantTable::put example","tokyotyranttable.put":"Store a row","example-2221":"TokyoTyrantTable::putCat example","tokyotyranttable.putcat":"Concatenates to a row","example-2222":"TokyoTyrantTable::putKeep example","tokyotyranttable.putkeep":"Put a new record","tokyotyranttable.putnr":"Puts value","tokyotyranttable.putshl":"Concatenates to a record","tokyotyranttable.setindex":"Sets index","class.tokyotyranttable":"The TokyoTyrantTable class","tokyotyrantquery.intro":"Introduction","tokyotyrantquery.synopsis":"Class synopsis","example-2223":"TokyoTyrantQuery::addCond example","tokyotyrantquery.addcond":"Adds a condition to the query","example-2224":"TokyoTyrantQuery::__construct example","tokyotyrantquery.construct":"Construct a new query","example-2225":"TokyoTyrantQuery::count example","tokyotyrantquery.count":"Counts records","example-2226":"TokyoTyrantQuery iterator example","tokyotyrantquery.current":"Returns the current element","example-2227":"TokyoTyrantQuery::hint example","tokyotyrantquery.hint":"Get the hint string of the query","example-2228":"TokyoTyrantQuery iterator example","tokyotyrantquery.key":"Returns the current key","example-2229":"TokyoTyrantQuery::metaSearch example","tokyotyrantquery.metasearch":"Retrieve records with multiple queries","example-2230":"TokyoTyrantQuery iterator example","tokyotyrantquery.next":"Moves the iterator to next entry","example-2231":"TokyoTyrantQuery::out example","tokyotyrantquery.out":"Removes records based on query","example-2232":"TokyoTyrantQuery iterator example","tokyotyrantquery.rewind":"Rewinds the iterator","example-2233":"TokyoTyrantQuery::search example","tokyotyrantquery.search":"Searches records","tokyotyrantquery.setlimit":"Limit results","tokyotyrantquery.setorder":"Orders results","example-2234":"TokyoTyrantQuery iterator example","tokyotyrantquery.valid":"Checks the validity of current item","class.tokyotyrantquery":"The TokyoTyrantQuery class","tokyotyrantiterator.intro":"Introduction","tokyotyrantiterator.synopsis":"Class synopsis","example-2235":"TokyoTyrantIterator::__construct example","tokyotyrantiterator.construct":"Construct an iterator","tokyotyrantiterator.current":"Get the current value","tokyotyrantiterator.key":"Returns the current key","tokyotyrantiterator.next":"Move to next key","tokyotyrantiterator.rewind":"Rewinds the iterator","tokyotyrantiterator.valid":"Rewinds the iterator","class.tokyotyrantiterator":"The TokyoTyrantIterator class","tokyotyrantexception.intro":"Introduction","tokyotyrantexception.synopsis":"Class synopsis","tokyotyrantexception.props.code":"","tokyotyrantexception.props":"Properties","class.tokyotyrantexception":"The TokyoTyrantException class","book.tokyo-tyrant":"tokyo_tyrant","refs.database.vendors":"Vendor Specific Database Extensions","refs.database":"Database Extensions","intro.calendar":"Introduction","calendar.requirements":"Requirements","calendar.installation":"Installation","calendar.configuration":"Runtime Configuration","calendar.resources":"Resource Types","calendar.setup":"Installing\/Configuring","constant.cal-gregorian":"","constant.cal-julian":"","constant.cal-jewish":"","constant.cal-french":"","constant.cal-num-cals":"","constant.cal-dow-dayno":"","constant.cal-dow-short":"","constant.cal-dow-long":"","constant.cal-month-gregorian-short":"","constant.cal-month-gregorian-long":"","constant.cal-month-julian-short":"","constant.cal-month-julian-long":"","constant.cal-month-jewish":"","constant.cal-month-french":"","constant.cal-easter-default":"","constant.cal-easter-roman":"","constant.cal-easter-always-gregorian":"","constant.cal-easter-always-julian":"","constant.cal-jewish-add-alafim-geresh":"","constant.cal-jewish-add-alafim":"","constant.cal-jewish-add-gereshayim":"","calendar.constants":"Predefined Constants","example-2236":"cal_days_in_month example","function.cal-days-in-month":"Return the number of days in a month for a given year and calendar","example-2237":"cal_from_jd example","function.cal-from-jd":"Converts from Julian Day Count to a supported calendar","example-2238":"cal_info example","function.cal-info":"Returns information about a particular calendar","function.cal-to-jd":"Converts from a supported calendar to Julian Day Count","example-2239":"easter_date example","function.easter-date":"Get Unix timestamp for midnight on Easter of a given year","example-2240":"easter_days example","function.easter-days":"Get number of days after March 21 on which Easter falls for a given year","function.frenchtojd":"Converts a date from the French Republican Calendar to a Julian Day Count","example-2241":"Calendar functions","function.gregoriantojd":"Converts a Gregorian date to Julian Day Count","function.jddayofweek":"Returns the day of the week","function.jdmonthname":"Returns a month name","function.jdtofrench":"Converts a Julian Day Count to the French Republican Calendar","function.jdtogregorian":"Converts Julian Day Count to Gregorian date","example-2242":"jdtojewish Example","function.jdtojewish":"Converts a Julian day count to a Jewish calendar date","function.jdtojulian":"Converts a Julian Day Count to a Julian Calendar Date","function.jdtounix":"Convert Julian Day to Unix timestamp","function.jewishtojd":"Converts a date in the Jewish Calendar to Julian Day Count","function.juliantojd":"Converts a Julian Calendar date to Julian Day Count","function.unixtojd":"Convert Unix timestamp to Julian Day","ref.calendar":"Calendar Functions","book.calendar":"Calendar","intro.datetime":"Introduction","datetime.requirements":"Requirements","datetime.installation":"Installation","ini.date.default-latitude":"","ini.date.default-longitude":"","ini.date.sunrise-zenith":"","ini.date.sunset-zenith":"","ini.date.timezone":"","datetime.configuration":"Runtime Configuration","datetime.resources":"Resource Types","datetime.setup":"Installing\/Configuring","constant.sunfuncs-ret-timestamp":"","constant.sunfuncs-ret-string":"","constant.sunfuncs-ret-double":"","datetime.constants":"Predefined Constants","datetime.intro":"Introduction","datetime.synopsis":"Class synopsis","datetime.constants.atom":"","datetime.constants.cookie":"","datetime.constants.iso8601":"","datetime.constants.rfc822":"","datetime.constants.rfc850":"","datetime.constants.rfc1036":"","datetime.constants.rfc1123":"","datetime.constants.rfc2822":"","datetime.constants.rfc3339":"","datetime.constants.rss":"","datetime.constants.w3c":"","datetime.constants.types":"Predefined Constants","datetime.changelog":"Changelog","example-2243":"DateTime::add example","example-2244":"Further DateTime::add examples","example-2245":"Beware when adding months","datetime.add":"Adds an amount of days, months, years, hours, minutes and seconds to a\n DateTime object","example-2246":"DateTime::__construct example","example-2247":"Intricacies of DateTime::__construct","datetime.construct":"Returns new DateTime object","example-2248":"DateTime::createFromFormat example","example-2249":"Intricacies of DateTime::createFromFormat","datetime.createfromformat":"Returns new DateTime object formatted according to the specified format","example-2250":"DateTime::getLastErrors example","datetime.getlasterrors":"Returns the warnings and errors","example-2251":"DateTime::modify example","example-2252":"Beware when adding or subtracting months","datetime.modify":"Alters the timestamp","datetime.set-state":"The __set_state handler","example-2253":"DateTime::setDate example","example-2254":"Values exceeding ranges are added to their parent values","datetime.setdate":"Sets the date","example-2255":"DateTime::setISODate example","example-2256":"Values exceeding ranges are added to their parent values","example-2257":"Finding the month a week is in","datetime.setisodate":"Sets the ISO date","example-2258":"DateTime::setTime example","example-2259":"Values exceeding ranges are added to their parent values","datetime.settime":"Sets the time","example-2260":"DateTime::setTimestamp example","example-2261":"DateTime::setTimestamp alternative in PHP 5.2","datetime.settimestamp":"Sets the date and time based on an Unix timestamp","example-2262":"DateTime::setTimeZone example","datetime.settimezone":"Sets the time zone for the DateTime object","example-2263":"DateTime::sub example","example-2264":"Further DateTime::sub examples","example-2265":"Beware when subtracting months","datetime.sub":"Subtracts an amount of days, months, years, hours, minutes and seconds from\n a DateTime object","class.datetime":"The DateTime class","datetimeimmutable.intro":"Introduction","datetimeimmutable.synopsis":"Class synopsis","datetimeimmutable.add":"Adds an amount of days, months, years, hours, minutes and seconds","datetimeimmutable.construct":"Returns new DateTimeImmutable object","datetimeimmutable.createfromformat":"Returns new DateTimeImmutable object formatted according to the specified format","datetimeimmutable.getlasterrors":"Returns the warnings and errors","datetimeimmutable.modify":"Alters the timestamp","datetimeimmutable.set-state":"The __set_state handler","datetimeimmutable.setdate":"Sets the date","datetimeimmutable.setisodate":"Sets the ISO date","datetimeimmutable.settime":"Sets the time","datetimeimmutable.settimestamp":"Sets the date and time based on an Unix timestamp","datetimeimmutable.settimezone":"Sets the time zone","datetimeimmutable.sub":"Subtracts an amount of days, months, years, hours, minutes and seconds","class.datetimeimmutable":"The DateTimeImmutable class","datetimeinterface.intro":"Introduction","datetimeinterface.synopsis":"Class synopsis","example-2266":"DateTime::diff example","example-2267":"DateTime object comparison","datetime.diff":"Returns the difference between two DateTime objects","example-2268":"DateTime::format example","datetime.format":"Returns date formatted according to given format","example-2269":"DateTime::getOffset example","datetime.getoffset":"Returns the timezone offset","example-2270":"DateTime::getTimestamp example","datetime.gettimestamp":"Gets the Unix timestamp","example-2271":"DateTime::getTimezone example","datetime.gettimezone":"Return time zone relative to given DateTime","datetime.wakeup":"The __wakeup handler","class.datetimeinterface":"The DateTimeInterface interface","datetimezone.intro":"Introduction","datetimezone.synopsis":"Class synopsis","datetimezone.constants.africa":"","datetimezone.constants.america":"","datetimezone.constants.antarctica":"","datetimezone.constants.arctic":"","datetimezone.constants.asia":"","datetimezone.constants.atlantic":"","datetimezone.constants.australia":"","datetimezone.constants.europe":"","datetimezone.constants.indian":"","datetimezone.constants.pacific":"","datetimezone.constants.utc":"","datetimezone.constants.all":"","datetimezone.constants.all-with-bc":"","datetimezone.constants.per-country":"","datetimezone.constants":"Predefined Constants","example-2272":"Catching errors when instantiating DateTimeZone","datetimezone.construct":"Creates new DateTimeZone object","example-2273":"DateTimeZone::getLocation example","datetimezone.getlocation":"Returns location information for a timezone","datetimezone.getname":"Returns the name of the timezone","example-2274":"DateTimeZone::getOffset examples","datetimezone.getoffset":"Returns the timezone offset from GMT","example-2275":"A timezone_transitions_get example","datetimezone.gettransitions":"Returns all transitions for the timezone","example-2276":"A timezone_abbreviations_list example","datetimezone.listabbreviations":"Returns associative array containing dst, offset and the timezone name","example-2277":"A timezone_identifiers_list example","datetimezone.listidentifiers":"Returns a numerically indexed array containing all defined timezone identifiers","class.datetimezone":"The DateTimeZone class","dateinterval.intro":"Introduction","dateinterval.synopsis":"Class synopsis","dateinterval.props.y":"","dateinterval.props.m":"","dateinterval.props.d":"","dateinterval.props.h":"","dateinterval.props.i":"","dateinterval.props.s":"","dateinterval.props.invert":"","dateinterval.props.days":"","dateinterval.props":"Properties","example-2278":"DateInterval example","dateinterval.construct":"Creates a new DateInterval object","example-2279":"Parsing valid date intervals","dateinterval.createfromdatestring":"Sets up a DateInterval from the relative parts of the string","example-2280":"DateInterval example","example-2281":"DateInterval and carry over points","example-2282":"DateInterval and \n DateTime::diff with the %a and %d modifiers","dateinterval.format":"Formats the interval","class.dateinterval":"The DateInterval class","dateperiod.intro":"Introduction","dateperiod.synopsis":"Class synopsis","dateperiod.constants.exclude-start-date":"","dateperiod.constants":"Predefined Constants","example-2283":"DatePeriod example","example-2284":"DatePeriod example with DatePeriod::EXCLUDE_START_DATE","dateperiod.construct":"Creates a new DatePeriod object","class.dateperiod":"The DatePeriod class","example-2285":"checkdate example","function.checkdate":"Validate a Gregorian date","function.date-add":"Alias of DateTime::add","function.date-create-from-format":"Alias of DateTime::createFromFormat","function.date-create-immutable-from-format":"Alias of DateTimeImmutable::createFromFormat","function.date-create-immutable":"Alias of DateTimeImmutable::__construct","function.date-create":"Alias of DateTime::__construct","function.date-date-set":"Alias of DateTime::setDate","example-2286":"Getting the default timezone","example-2287":"Getting the abbreviation of a timezone","function.date-default-timezone-get":"Gets the default timezone used by all date\/time functions in a script","example-2288":"Getting the default timezone","function.date-default-timezone-set":"Sets the default timezone used by all date\/time functions in a script","function.date-diff":"Alias of DateTime::diff","function.date-format":"Alias of DateTime::format","function.date-get-last-errors":"Alias of DateTime::getLastErrors","function.date-interval-create-from-date-string":"Alias of DateInterval::createFromDateString","function.date-interval-format":"Alias of DateInterval::format","function.date-isodate-set":"Alias of DateTime::setISODate","function.date-modify":"Alias of DateTime::modify","function.date-offset-get":"Alias of DateTime::getOffset","example-2289":"date_parse_from_format example","function.date-parse-from-format":"Get info about given date formatted according to the specified format","example-2290":"A date_parse example","function.date-parse":"Returns associative array with detailed info about given date","function.date-sub":"Alias of DateTime::sub","example-2291":"A date_sun_info example","function.date-sun-info":"Returns an array with information about sunset\/sunrise and twilight begin\/end","example-2292":"date_sunrise example","function.date-sunrise":"Returns time of sunrise for a given day and location","example-2293":"date_sunset example","function.date-sunset":"Returns time of sunset for a given day and location","function.date-time-set":"Alias of DateTime::setTime","function.date-timestamp-get":"Alias of DateTime::getTimestamp","function.date-timestamp-set":"Alias of DateTime::setTimestamp","function.date-timezone-get":"Alias of DateTime::getTimezone","function.date-timezone-set":"Alias of DateTime::setTimezone","example-2294":"date examples","example-2295":"Escaping characters in date","example-2296":"date and mktime example","example-2297":"date Formatting","function.date":"Format a local time\/date","example-2298":"getdate example","function.getdate":"Get date\/time information","example-2299":"gettimeofday example","function.gettimeofday":"Get current time","example-2300":"gmdate example","function.gmdate":"Format a GMT\/UTC date\/time","example-2301":"gmmktime basic example","function.gmmktime":"Get Unix timestamp for a GMT date","example-2302":"gmstrftime example","function.gmstrftime":"Format a GMT\/UTC time\/date according to locale settings","example-2303":"idate example","function.idate":"Format a local time\/date as integer","example-2304":"localtime example","function.localtime":"Get the local time","example-2305":"Timing script execution with microtime","example-2306":"Timing script execution in PHP 5","example-2307":"microtime and REQUEST_TIME_FLOAT (as of PHP 5.4.0)","function.microtime":"Return current Unix timestamp with microseconds","example-2308":"mktime basic example","example-2309":"mktime example","example-2310":"Last day of a month","function.mktime":"Get Unix timestamp for a date","example-2311":"strftime locale examples","example-2312":"ISO 8601:1988 week number example","example-2313":"Cross platform compatible example using the %e modifier","example-2314":"Display all known and unknown formats.","function.strftime":"Format a local time\/date according to locale settings","example-2315":"strptime example","function.strptime":"Parse a time\/date generated with strftime","example-2316":"A strtotime example","example-2317":"Checking for failure","function.strtotime":"Parse about any English textual datetime description into a Unix timestamp","example-2318":"time example","function.time":"Return current Unix timestamp","function.timezone-abbreviations-list":"Alias of DateTimeZone::listAbbreviations","function.timezone-identifiers-list":"Alias of DateTimeZone::listIdentifiers","function.timezone-location-get":"Alias of DateTimeZone::getLocation","example-2319":"A timezone_name_from_abbr example","function.timezone-name-from-abbr":"Returns the timezone name from abbreviation","function.timezone-name-get":"Alias of DateTimeZone::getName","function.timezone-offset-get":"Alias of DateTimeZone::getOffset","function.timezone-open":"Alias of DateTimeZone::__construct","function.timezone-transitions-get":"Alias of DateTimeZone::getTransitions","example-2320":"Getting the timezonedb version","function.timezone-version-get":"Gets the version of the timezonedb","ref.datetime":"Date\/Time Functions","datetime.formats.time":"Time Formats","datetime.formats.date":"Date Formats","datetime.formats.compound":"Compound Formats","datetime.formats.relative":"Relative Formats","datetime.formats":"Supported Date and Time Formats","timezones.africa":"Africa","timezones.america":"America","timezones.antarctica":"Antarctica","timezones.arctic":"Arctic","timezones.asia":"Asia","timezones.atlantic":"Atlantic","timezones.australia":"Australia","timezones.europe":"Europe","timezones.indian":"Indian","timezones.pacific":"Pacific","timezones.others":"Others","timezones":"List of Supported Timezones","book.datetime":"Date and Time","refs.calendar":"Date and Time Related Extensions","intro.dio":"Introduction","dio.requirements":"Requirements","dio.installation":"Installation","dio.configuration":"Runtime Configuration","dio.resources":"Resource Types","dio.setup":"Installing\/Configuring","constant.f-dupfd":"","constant.f-getfd":"","constant.f-getfl":"","constant.f-getlk":"","constant.f-getown":"","constant.f-rdlck":"","constant.f-setfl":"","constant.f-setlk":"","constant.f-setlkw":"","constant.f-setown":"","constant.f-unlck":"","constant.f-wrlck":"","constant.o-append":"","constant.o-async":"","constant.o-creat":"","constant.o-excl":"","constant.o-ndelay":"","constant.o-noctty":"","constant.o-nonblock":"","constant.o-rdonly":"","constant.o-rdwr":"","constant.o-sync":"","constant.o-trunc":"","constant.o-wronly":"","constant.s-irgrp":"","constant.s-iroth":"","constant.s-irusr":"","constant.s-irwxg":"","constant.s-irwxo":"","constant.s-irwxu":"","constant.s-iwgrp":"","constant.s-iwoth":"","constant.s-iwusr":"","constant.s-ixgrp":"","constant.s-ixoth":"","constant.s-ixusr":"","dio.constants":"Predefined Constants","example-2321":"Closing an open file descriptor","function.dio-close":"Closes the file descriptor given by fd","example-2322":"Setting and clearing a lock","function.dio-fcntl":"Performs a c library fcntl on fd","example-2323":"Opening a file descriptor","function.dio-open":"Opens a file (creating it if necessary) at a lower level than the\n C library input\/ouput stream functions allow.","function.dio-read":"Reads bytes from a file descriptor","example-2324":"Positioning in a file","function.dio-seek":"Seeks to pos on fd from whence","function.dio-stat":"Gets stat information about the file descriptor fd","example-2325":"Setting the baud rate on a serial port","function.dio-tcsetattr":"Sets terminal attributes and baud rate for a serial port","function.dio-truncate":"Truncates file descriptor fd to offset bytes","function.dio-write":"Writes data to fd with optional truncation at length","ref.dio":"Direct IO Functions","book.dio":"Direct IO","dir.requirements":"Requirements","dir.installation":"Installation","dir.configuration":"Runtime Configuration","dir.resources":"Resource Types","dir.setup":"Installing\/Configuring","constant.directory-separator":"","constant.path-separator":"","constant.scandir-sort-ascending":"","constant.scandir-sort-descending":"","constant.scandir-sort-none":"","dir.constants":"Predefined Constants","directory.intro":"Introduction","directory.synopsis":"Class synopsis","directory.props.path":"","directory.props.handle":"","directory.props":"Properties","directory.close":"Close directory handle","directory.read":"Read entry from directory handle","directory.rewind":"Rewind directory handle","class.directory":"The Directory class","example-2326":"chdir example","function.chdir":"Change directory","example-2327":"chroot example","function.chroot":"Change the root directory","example-2328":"closedir example","function.closedir":"Close directory handle","example-2329":"dir example","function.dir":"Return an instance of the Directory class","example-2330":"getcwd example","function.getcwd":"Gets the current working directory","example-2331":"opendir example","function.opendir":"Open directory handle","example-2332":"List all entries in a directory","example-2333":"List all entries in the current directory and strip out .\n and ..","function.readdir":"Read entry from directory handle","function.rewinddir":"Rewind directory handle","example-2334":"A simple scandir example","example-2335":"PHP 4 alternatives to scandir","function.scandir":"List files and directories inside the specified path","ref.dir":"Directory Functions","book.dir":"Directories","intro.fileinfo":"Introduction","fileinfo.requirements":"Requirements","fileinfo.installation":"Installation","fileinfo.configuration":"Runtime Configuration","fileinfo.resources":"Resource Types","fileinfo.setup":"Installing\/Configuring","constant.fileinfo-none":"","constant.fileinfo-symlink":"","constant.fileinfo-mime-type":"","constant.fileinfo-mime-encoding":"","constant.fileinfo-mime":"","constant.fileinfo-compress":"","constant.fileinfo-devices":"","constant.fileinfo-continue":"","constant.fileinfo-preserve-atime":"","constant.fileinfo-raw":"","fileinfo.constants":"Predefined Constants","example-2336":"A finfo_buffer example","function.finfo-buffer":"Return information about a string buffer","function.finfo-close":"Close fileinfo resource","example-2337":"A finfo_file example","function.finfo-file":"Return information about a file","example-2338":"Object oriented style","example-2339":"Procedural style","function.finfo-open":"Create a new fileinfo resource","function.finfo-set-flags":"Set libmagic configuration options","example-2340":"mime_content_type Example","function.mime-content-type":"Detect MIME Content-type for a file (deprecated)","ref.fileinfo":"Fileinfo Functions","book.fileinfo":"File Information","intro.filesystem":"Introduction","filesystem.requirements":"Requirements","filesystem.installation":"Installation","ini.allow-url-fopen":"","ini.allow-url-include":"","ini.user-agent":"","ini.default-socket-timeout":"","ini.from":"","ini.auto-detect-line-endings":"","filesystem.configuration":"Runtime Configuration","filesystem.resources":"Resource Types","filesystem.setup":"Installing\/Configuring","constant.seek-set":"","constant.seek-cur":"","constant.seek-end":"","constant.lock-sh":"","constant.lock-ex":"","constant.lock-un":"","constant.lock-nb":"","constant.glob-brace":"","constant.glob-onlydir":"","constant.glob-mark":"","constant.glob-nosort":"","constant.glob-nocheck":"","constant.glob-noescape":"","constant.glob-available-flags":"","constant.pathinfo-dirname":"","constant.pathinfo-basename":"","constant.pathinfo-extension":"","constant.pathinfo-filename":"","constant.file-use-include-path":"","constant.file-no-default-context":"","constant.file-append":"","constant.file-ignore-new-lines":"","constant.file-skip-empty-lines":"","constant.file-binary":"","constant.file-text":"","constant.ini-scanner-normal":"","constant.ini-scanner-raw":"","constant.fnm-noescape":"","constant.fnm-pathname":"","constant.fnm-period":"","constant.fnm-casefold":"","filesystem.constants":"Predefined Constants","example-2341":"basename example","function.basename":"Returns trailing name component of path","example-2342":"Changing a file's group","function.chgrp":"Changes file group","function.chmod":"Changes file mode","example-2343":"Simple chown usage","function.chown":"Changes file owner","example-2344":"clearstatcache example","function.clearstatcache":"Clears file status cache","example-2345":"copy example","function.copy":"Copies file","function.delete":"See unlink or unset","example-2346":"dirname example","function.dirname":"Returns parent directory's path","example-2347":"disk_free_space example","function.disk-free-space":"Returns available space on filesystem or disk partition","example-2348":"disk_total_space example","function.disk-total-space":"Returns the total size of a filesystem or disk partition","function.diskfreespace":"Alias of disk_free_space","example-2349":"A simple fclose example","function.fclose":"Closes an open file pointer","example-2350":"Handling timeouts with feof","example-2351":"feof example with an invalid file pointer","function.feof":"Tests for end-of-file on a file pointer","example-2352":"File write example using fflush","function.fflush":"Flushes the output to a file","example-2353":"A fgetc example","function.fgetc":"Gets character from file pointer","example-2354":"Read and print the entire contents of a CSV file","function.fgetcsv":"Gets line from file pointer and parse for CSV fields","example-2355":"Reading a file line by line","function.fgets":"Gets line from file pointer","example-2356":"Reading a PHP file line-by-line","function.fgetss":"Gets line from file pointer and strip HTML tags","example-2357":"Testing whether a file exists","function.file-exists":"Checks whether a file or directory exists","example-2358":"Get and output the source of the homepage of a website","example-2359":"Searching within the include_path","example-2360":"Reading a section of a file","example-2361":"Using stream contexts","function.file-get-contents":"Reads entire file into a string","example-2362":"Simple usage example","example-2363":"Using flags","function.file-put-contents":"Write a string to a file","example-2364":"file example","function.file":"Reads entire file into an array","example-2365":"fileatime example","function.fileatime":"Gets last access time of file","example-2366":"A filectime example","function.filectime":"Gets inode change time of file","example-2367":"Finding the group of a file","function.filegroup":"Gets file group","example-2368":"Comparing the inode of a file with the current file","function.fileinode":"Gets file inode","example-2369":"filemtime example","function.filemtime":"Gets file modification time","example-2370":"Finding the owner of a file","function.fileowner":"Gets file owner","example-2371":"Display permissions as an octal value","example-2372":"Display full permissions","function.fileperms":"Gets file permissions","example-2373":"filesize example","function.filesize":"Gets file size","example-2374":"filetype example","function.filetype":"Gets file type","example-2375":"flock example","example-2376":"flock using the LOCK_NB option","function.flock":"Portable advisory file locking","example-2377":"Checking a color name against a shell wildcard pattern","function.fnmatch":"Match filename against a pattern","example-2378":"fopen examples","function.fopen":"Opens file or URL","example-2379":"Using fpassthru with binary files","function.fpassthru":"Output all remaining data on a file pointer","example-2380":"fputcsv example","function.fputcsv":"Format line as CSV and write to file pointer","function.fputs":"Alias of fwrite","example-2381":"A simple fread example","example-2382":"Binary fread example","example-2383":"Remote fread examples","function.fread":"Binary-safe file read","example-2384":"fscanf Example","example-2385":"Contents of users.txt","function.fscanf":"Parses input from a file according to a format","example-2386":"fseek example","function.fseek":"Seeks on a file pointer","example-2387":"fstat example","function.fstat":"Gets information about a file using an open file pointer","example-2388":"ftell example","function.ftell":"Returns the current position of the file read\/write pointer","example-2389":"File truncation example","function.ftruncate":"Truncates a file to a given length","example-2390":"A simple fwrite example","function.fwrite":"Binary-safe file write","example-2391":"Convenient way how glob can replace\n opendir and friends.","function.glob":"Find pathnames matching a pattern","example-2392":"is_dir example","function.is-dir":"Tells whether the filename is a directory","example-2393":"is_executable example","function.is-executable":"Tells whether the filename is executable","example-2394":"is_file example","function.is-file":"Tells whether the filename is a regular file","example-2395":"Create and confirm if a file is a symbolic link","function.is-link":"Tells whether the filename is a symbolic link","example-2396":"is_readable example","function.is-readable":"Tells whether a file exists and is readable","example-2397":"is_uploaded_file example","function.is-uploaded-file":"Tells whether the file was uploaded via HTTP POST","example-2398":"is_writable example","function.is-writable":"Tells whether the filename is writable","function.is-writeable":"Alias of is_writable","example-2399":"Changing the group of a symbolic link","function.lchgrp":"Changes group ownership of symlink","example-2400":"Changing the owner of a symbolic link","function.lchown":"Changes user ownership of symlink","example-2401":"Creating a simple hard link","function.link":"Create a hard link","example-2402":"linkinfo example","function.linkinfo":"Gets information about a link","example-2403":"Comparison of stat and lstat","function.lstat":"Gives information about a file or symbolic link","example-2404":"mkdir example","example-2405":"mkdir using the recursive parameter","function.mkdir":"Makes directory","example-2406":"Uploading multiple files","function.move-uploaded-file":"Moves an uploaded file to a new location","example-2407":"Contents of sample.ini","example-2408":"parse_ini_file example","example-2409":"parse_ini_file parsing a php.ini file","function.parse-ini-file":"Parse a configuration file","function.parse-ini-string":"Parse a configuration string","example-2410":"pathinfo Example","example-2411":"pathinfo example showing difference between null and no extension","function.pathinfo":"Returns information about a file path","example-2412":"pclose example","function.pclose":"Closes process file pointer","example-2413":"popen example","example-2414":"popen example","function.popen":"Opens process file pointer","example-2415":"Forcing a download using readfile","function.readfile":"Outputs a file","example-2416":"readlink example","function.readlink":"Returns the target of a symbolic link","example-2417":"realpath_cache_get example","function.realpath-cache-get":"Get realpath cache entries","example-2418":"realpath_cache_size example","function.realpath-cache-size":"Get realpath cache size","example-2419":"realpath example","example-2420":"realpath on Windows","function.realpath":"Returns canonicalized absolute pathname","example-2421":"Example with rename","function.rename":"Renames a file or directory","example-2422":"rewind overwriting example","function.rewind":"Rewind the position of a file pointer","example-2423":"rmdir example","function.rmdir":"Removes directory","function.set-file-buffer":"Alias of stream_set_write_buffer","example-2424":"stat example","example-2425":"Using stat information together with touch","function.stat":"Gives information about a file","example-2426":"Create a symbolic link","function.symlink":"Creates a symbolic link","example-2427":"tempnam example","function.tempnam":"Create file with unique file name","example-2428":"tmpfile example","function.tmpfile":"Creates a temporary file","example-2429":"touch example","example-2430":"touch using the time parameter","function.touch":"Sets access and modification time of file","example-2431":"umask example","function.umask":"Changes the current umask","example-2432":"Basic unlink usage","function.unlink":"Deletes a file","ref.filesystem":"Filesystem Functions","book.filesystem":"Filesystem","intro.inotify":"Introduction","inotify.requirements":"Requirements","inotify.install":"Installing\/Configuring","inotify.configuration":"Runtime Configuration","inotify.resources":"Resource Types","inotify.setup":"Installing\/Configuring","constant.in-access":"","constant.in-modify":"","constant.in-attrib":"","constant.in-close-write":"","constant.in-close-nowrite":"","constant.in-open":"","constant.in-moved-to":"","constant.in-moved-from":"","constant.in-create":"","constant.in-delete":"","constant.in-delete-self":"","constant.in-move-self":"","constant.in-close":"","constant.in-move":"","constant.in-all-events":"","constant.in-unmount":"","constant.in-q-overflow":"","constant.in-ignored":"","constant.in-isdir":"","constant.in-onlydir":"","constant.in-dont-follow":"","constant.in-mask-add":"","constant.in-oneshot":"","inotify.constants.events":"Inotify constants usable with inotify_add_watch and\/or returned by inotify_read","inotify.constants":"Predefined Constants","function.inotify-add-watch":"Add a watch to an initialized inotify instance","inotify-init.example.basic":"Example usage of inotify","function.inotify-init":"Initialize an inotify instance","function.inotify-queue-len":"Return a number upper than zero if there are pending events","function.inotify-read":"Read events from an inotify instance","function.inotify-rm-watch":"Remove an existing watch from an inotify instance","ref.inotify":"Inotify Functions","book.inotify":"Inotify","intro.mime-magic":"Introduction","mime-magic.requirements":"Requirements","example-2434":"Setting the path to magic.mime","mime-magic.installation":"Installation","ini.mime-magic.debug":"","ini.mime-magic.magicfile":"","mime-magic.configuration":"Runtime Configuration","mime-magic.resources":"Resource Types","mime-magic.setup":"Installing\/Configuring","mime-magic.constants":"Predefined Constants","book.mime-magic":"Mimetype","intro.proctitle":"Introduction","proctitle.requirements":"Requirements","proctitle.installation":"Installation","proctitle.configuration":"Runtime Configuration","proctitle.resources":"Resource Types","proctitle.setup":"Installing\/Configuring","proctitle.constants":"Predefined Constants","setproctitle.example.basic":"setproctitle example","function.setproctitle":"Set the process title","setthreadtitle.example.basic":"setthreadtitle example","function.setthreadtitle":"Set the thread title","ref.proctitle":"Proctitle Functions","book.proctitle":"Proctitle","intro.xattr":"Introduction","xattr.requirements":"Requirements","xattr.installation":"Installation","xattr.configuration":"Runtime Configuration","xattr.resources":"Resource Types","xattr.setup":"Installing\/Configuring","constant.xattr-root":"","constant.xattr-dontfollow":"","constant.xattr-create":"","constant.xattr-replace":"","xattr.constants":"Predefined Constants","example-2437":"Checks if system administrator has signed the file","function.xattr-get":"Get an extended attribute","example-2438":"Prints names of all extended attributes of file","function.xattr-list":"Get a list of extended attributes","example-2439":"Removes all extended attributes of a file","function.xattr-remove":"Remove an extended attribute","example-2440":"Sets extended attributes on .wav file","function.xattr-set":"Set an extended attribute","example-2441":"xattr_supported example","function.xattr-supported":"Check if filesystem supports extended attributes","ref.xattr":"xattr Functions","book.xattr":"xattr","intro.xdiff":"Introduction","xdiff.requirements":"Requirements","xdiff.installation":"Installation","xdiff.configuration":"Runtime Configuration","xdiff.resources":"Resource Types","xdiff.setup":"Installing\/Configuring","constant.xdiff-patch-normal":"","constant.xdiff-patch-reverse":"","xdiff.constants":"Predefined Constants","example-2442":"xdiff_file_bdiff_size example","function.xdiff-file-bdiff-size":"Read a size of file created by applying a binary diff","example-2443":"xdiff_file_bdiff example","function.xdiff-file-bdiff":"Make binary diff of two files","example-2444":"xdiff_file_bpatch example","function.xdiff-file-bpatch":"Patch a file with a binary diff","example-2445":"xdiff_file_diff_binary example","function.xdiff-file-diff-binary":"Alias of xdiff_file_bdiff","example-2446":"xdiff_file_diff example","function.xdiff-file-diff":"Make unified diff of two files","example-2447":"xdiff_file_merge3 example","function.xdiff-file-merge3":"Merge 3 files into one","example-2448":"xdiff_file_patch_binary example","function.xdiff-file-patch-binary":"Alias of xdiff_file_bpatch","example-2449":"xdiff_file_patch example","example-2450":"Patch reversing example","function.xdiff-file-patch":"Patch a file with an unified diff","example-2451":"xdiff_file_rabdiff example","function.xdiff-file-rabdiff":"Make binary diff of two files using the Rabin's polynomial fingerprinting algorithm","example-2452":"xdiff_string_bdiff_size example","function.xdiff-string-bdiff-size":"Read a size of file created by applying a binary diff","function.xdiff-string-bdiff":"Make binary diff of two strings","function.xdiff-string-bpatch":"Patch a string with a binary diff","function.xdiff-string-diff-binary":"Alias of xdiff_string_bdiff","example-2453":"xdiff_string_diff example","function.xdiff-string-diff":"Make unified diff of two strings","function.xdiff-string-merge3":"Merge 3 strings into one","function.xdiff-string-patch-binary":"Alias of xdiff_string_bpatch","example-2454":"xdiff_string_patch example","function.xdiff-string-patch":"Patch a string with an unified diff","function.xdiff-string-rabdiff":"Make binary diff of two strings using the Rabin's polynomial fingerprinting algorithm","ref.xdiff":"xdiff Functions","book.xdiff":"xdiff","refs.fileprocess.file":"File System Related Extensions","intro.enchant":"Introduction","enchant.requirements":"Requirements","enchant.installation":"Installation","enchant.configuration":"Runtime Configuration","enchant.resources":"Resource Types","enchant.setup":"Installing\/Configuring","enchant.constants":"Predefined Constants","example-2455":"Enchant Usage Example","enchant.examples":"Examples","example-2456":"List the backends provided by the given broker","function.enchant-broker-describe":"Enumerates the Enchant providers","example-2457":"A enchant_broker_dict_exists example","function.enchant-broker-dict-exists":"Whether a dictionary exists or not. Using non-empty tag","function.enchant-broker-free-dict":"Free a dictionary resource","function.enchant-broker-free":"Free the broker resource and its dictionnaries","function.enchant-broker-get-error":"Returns the last error of the broker","function.enchant-broker-init":"create a new broker object capable of requesting","example-2458":"List all available dictionaries for one broker","function.enchant-broker-list-dicts":"Returns a list of available dictionaries","example-2459":"A enchant_broker_request_dict example","function.enchant-broker-request-dict":"create a new dictionary using a tag","function.enchant-broker-request-pwl-dict":"creates a dictionary using a PWL file","function.enchant-broker-set-ordering":"Declares a preference of dictionaries to use for the language","function.enchant-dict-add-to-personal":"add a word to personal word list","function.enchant-dict-add-to-session":"add 'word' to this spell-checking session","function.enchant-dict-check":"Check whether a word is correctly spelled or not","example-2460":"A enchant_dict_describe example","function.enchant-dict-describe":"Describes an individual dictionary","function.enchant-dict-get-error":"Returns the last error of the current spelling-session","function.enchant-dict-is-in-session":"whether or not 'word' exists in this spelling-session","example-2461":"A enchant_dict_quick_check example","function.enchant-dict-quick-check":"Check the word is correctly spelled and provide suggestions","function.enchant-dict-store-replacement":"Add a correction for a word","example-2462":"A enchant_dict_suggest example","function.enchant-dict-suggest":"Will return a list of values if any of those pre-conditions are not met","ref.enchant":"Enchant Functions","book.enchant":"Enchant spelling library","intro.fribidi":"Introduction","fribidi.requirements":"Requirements","fribidi.installation":"Installation","fribidi.configuration":"Runtime Configuration","fribidi.resources":"Resource Types","fribidi.setup":"Installing\/Configuring","constant.fribidi-charset-utf8":"","constant.fribidi-charset-8859-6":"","constant.fribidi-charset-8859-8":"","constant.fribidi-charset-cp1255":"","constant.fribidi-charset-cp1256":"","constant.fribidi-charset-isiri-3342":"","constant.fribidi-charset-cap-rtl":"","constant.fribidi-rtl":"","constant.fribidi-ltr":"","constant.fribidi-auto":"","fribidi.constants":"Predefined Constants","function.fribidi-log2vis":"Convert a logical string to a visual one","ref.fribidi":"FriBiDi Functions","book.fribidi":"FriBiDi","intro.gender":"Introduction","gender.installation":"Installation","gender.setup":"Installing\/Configuring","example-2463":"Usage example.","gender.example.admin":"Usage example.","gender.examples":"Examples","gender.intro":"Introduction","gender.synopsis":"Class synopsis","gender.constants.is-female":"","gender.constants.is-mostly-female":"","gender.constants.is-male":"","gender.constants.is-mostly-male":"","gender.constants.is-unisex-name":"","gender.constants.is-a-couple":"","gender.constants.name-not-found":"","gender.constants.error-in-name":"","gender.constants.any-country":"","gender.constants.britain":"","gender.constants.ireland":"","gender.constants.usa":"","gender.constants.spain":"","gender.constants.portugal":"","gender.constants.italy":"","gender.constants.malta":"","gender.constants.france":"","gender.constants.belgium":"","gender.constants.luxembourg":"","gender.constants.netherlands":"","gender.constants.germany":"","gender.constants.east-frisia":"","gender.constants.austria":"","gender.constants.swiss":"","gender.constants.iceland":"","gender.constants.denmark":"","gender.constants.norway":"","gender.constants.sweden":"","gender.constants.finland":"","gender.constants.estonia":"","gender.constants.latvia":"","gender.constants.lithuania":"","gender.constants.poland":"","gender.constants.czech-rep":"","gender.constants.slovakia":"","gender.constants.hungary":"","gender.constants.romania":"","gender.constants.bulgaria":"","gender.constants.bosnia":"","gender.constants.croatia":"","gender.constants.kosovo":"","gender.constants.macedonia":"","gender.constants.montenegro":"","gender.constants.serbia":"","gender.constants.slovenia":"","gender.constants.albania":"","gender.constants.greece":"","gender.constants.russia":"","gender.constants.belarus":"","gender.constants.moldova":"","gender.constants.ukraine":"","gender.constants.armenia":"","gender.constants.azerbaijan":"","gender.constants.georgia":"","gender.constants.kazakh-uzbek":"","gender.constants.turkey":"","gender.constants.arabia":"","gender.constants.israel":"","gender.constants.china":"","gender.constants.india":"","gender.constants.japan":"","gender.constants.korea":"","gender.constants":"Predefined Constants","gender-gender.connect":"Connect to an external name dictionary.","gender-gender.construct":"Construct the Gender object.","example-2464":"Using Gender\\Gender::country","gender-gender.country":"Get textual country representation","gender-gender.get":"Get gender of a name.","gender-gender.isnick":"Check if the name0 is an alias of the name1.","gender-gender.similarnames":"Get similar names.","class.gender":"The Gender\\Gender class","book.gender":"Determine gender of firstnames","intro.gettext":"Introduction","gettext.requirements":"Requirements","gettext.installation":"Installation","gettext.configuration":"Runtime Configuration","gettext.resources":"Resource Types","gettext.setup":"Installing\/Configuring","gettext.constants":"Predefined Constants","function.bind-textdomain-codeset":"Specify the character encoding in which the messages from the DOMAIN message catalog will be returned","example-2465":"bindtextdomain example","function.bindtextdomain":"Sets the path for a domain","function.dcgettext":"Overrides the domain for a single lookup","function.dcngettext":"Plural version of dcgettext","function.dgettext":"Override the current domain","function.dngettext":"Plural version of dgettext","example-2466":"gettext-check","function.gettext":"Lookup a message in the current domain","example-2467":"ngettext example","function.ngettext":"Plural version of gettext","function.textdomain":"Sets the default domain","ref.gettext":"Gettext Functions","book.gettext":"Gettext","intro.iconv":"Introduction","iconv.requirements":"Requirements","iconv.installation":"Installation","ini.iconv.input-encoding":"","ini.iconv.output-encoding":"","ini.iconv.internal-encoding":"","iconv.configuration":"Runtime Configuration","iconv.resources":"Resource Types","iconv.setup":"Installing\/Configuring","iconv.constants":"Predefined Constants","example-2468":"iconv_get_encoding example","function.iconv-get-encoding":"Retrieve internal configuration variables of iconv extension","example-2469":"iconv_mime_decode_headers example","function.iconv-mime-decode-headers":"Decodes multiple MIME header fields at once","example-2470":"iconv_mime_decode example","function.iconv-mime-decode":"Decodes a MIME header field","example-2471":"iconv_mime_encode example","function.iconv-mime-encode":"Composes a MIME header field","example-2472":"iconv_set_encoding example","function.iconv-set-encoding":"Set current setting for character encoding conversion","function.iconv-strlen":"Returns the character count of string","function.iconv-strpos":"Finds position of first occurrence of a needle within a haystack","function.iconv-strrpos":"Finds the last occurrence of a needle within a haystack","function.iconv-substr":"Cut out part of a string","example-2473":"iconv example","function.iconv":"Convert string to requested character encoding","example-2474":"ob_iconv_handler example:","function.ob-iconv-handler":"Convert character encoding as output buffer handler","ref.iconv":"iconv Functions","book.iconv":"iconv","intl.links":"Links","intro.intl":"Introduction","intl.requirements":"Requirements","intl.installation":"Installation","ini.intl.default-locale":"","ini.intl.error-level":"","ini.intl.use-exceptions":"","intl.configuration":"Runtime Configuration","intl.resources":"Resource Types","intl.setup":"Installing\/Configuring","constant.intl-max-locale-len":"","constant.idna-default":"","constant.idna-allow-unassigned":"","constant.idna-use-std3-rules":"","constant.idna-check-bidi":"","constant.idna-check-contextj":"","constant.idna-nontransitional-to-ascii":"","constant.idna-nontransitional-to-unicode":"","constant.intl-idna-variant-2003":"","constant.intl-idna-variant-uts46":"","constant.idna-error-empty-label":"","intl.constants":"Predefined Constants","example-2475":"Example of using the procedural API","example-2476":"Example of using the object-oriented API","intl.examples.basic":"Basic usage of this extension","intl.examples":"Examples","collator.intro":"Introduction","collator.synopsis":"Class synopsis","example-2477":"FRENCH_COLLATION rules","collator.constants.french-collation":"","example-2478":"ALTERNATE_HANDLING rules","collator.constants.alternate-handling":"","example-2479":"CASE_FIRST rules","collator.constants.case-first":"","example-2480":"CASE_LEVEL rules","collator.constants.case-level":"","collator.constants.normalization-mode":"","collator.constants.strength":"","collator.constants.hiragana-quaternary-mode":"","collator.constants.numeric-collation":"","collator.constants.default-value":"","collator.constants.primary":"","collator.constants.secondary":"","collator.constants.tertiary":"","collator.constants.default-strength":"","collator.constants.quaternary":"","collator.constants.identical":"","collator.constants.off":"","collator.constants.on":"","collator.constants.shifted":"","collator.constants.non-ignorable":"","collator.constants.lower-first":"","collator.constants.upper-first":"","intl.collator-constants":"Predefined Constants","example-2481":"collator_asortexample","collator.asort":"Sort array maintaining index association","example-2482":"collator_compareexample","collator.compare":"Compare two Unicode strings","example-2483":"Collator::__construct example","collator.construct":"Create a collator","example-2484":"collator_create example","collator.create":"Create a collator","example-2485":"collator_get_attribute example","collator.getattribute":"Get collation attribute value","example-2486":"collator_get_error_code example","collator.geterrorcode":"Get collator's last error code","example-2487":"collator_get_error_message example","collator.geterrormessage":"Get text for collator's last error code","example-2488":"collator_get_locale example","collator.getlocale":"Get the locale name of the collator","example-2489":"collator_get_sort_keyexample","collator.getsortkey":"Get sorting key for a string","example-2490":"collator_get_strength example","collator.getstrength":"Get current collation strength","example-2491":"collator_set_attribute example","collator.setattribute":"Set collation attribute","example-2492":"collator_set_strength example","collator.setstrength":"Set collation strength","example-2493":"collator_sort_with_sort_keys example","collator.sortwithsortkeys":"Sort array using specified collator and sort keys","example-2494":"collator_sort example","collator.sort":"Sort array using specified collator","class.collator":"The Collator class","numberformatter.intro":"Introduction","numberformatter.synopsis":"Class synopsis","numberformatter.constants.pattern-decimal":"","numberformatter.constants.decimal":"","numberformatter.constants.currency":"","numberformatter.constants.percent":"","numberformatter.constants.scientific":"","numberformatter.constants.spellout":"","numberformatter.constants.ordinal":"","numberformatter.constants.duration":"","numberformatter.constants.pattern-rulebased":"","numberformatter.constants.default-style":"","numberformatter.constants.ignore":"","intl.numberformatter-constants.unumberformatstyle":"","numberformatter.constants.type-default":"","numberformatter.constants.type-int32":"","numberformatter.constants.type-int64":"","numberformatter.constants.type-double":"","numberformatter.constants.type-currency":"","intl.numberformatter-constants.types":"","numberformatter.constants.parse-int-only":"","numberformatter.constants.grouping-used":"","numberformatter.constants.decimal-always-shown":"","numberformatter.constants.max-integer-digits":"","numberformatter.constants.min-integer-digits":"","numberformatter.constants.integer-digits":"","numberformatter.constants.max-fraction-digits":"","numberformatter.constants.min-fraction-digits":"","numberformatter.constants.fraction-digits":"","numberformatter.constants.multiplier":"","numberformatter.constants.grouping-size":"","numberformatter.constants.rounding-mode":"","numberformatter.constants.rounding-increment":"","numberformatter.constants.format-width":"","numberformatter.constants.padding-position":"","numberformatter.constants.secondary-grouping-size":"","numberformatter.constants.significant-digits-used":"","numberformatter.constants.min-significant-digits":"","numberformatter.constants.max-significant-digits":"","numberformatter.constants.lenient-parse":"","intl.numberformatter-constants.unumberformatattribute":"","numberformatter.constants.positive-prefix":"","numberformatter.constants.positive-suffix":"","numberformatter.constants.negative-prefix":"","numberformatter.constants.negative-suffix":"","numberformatter.constants.padding-character":"","numberformatter.constants.currency-code":"","numberformatter.constants.default-ruleset":"","numberformatter.constants.public-rulesets":"","intl.numberformatter-constants.unumberformattextattribute":"","numberformatter.constants.decimal-separator-symbol":"","numberformatter.constants.grouping-separator-symbol":"","numberformatter.constants.pattern-separator-symbol":"","numberformatter.constants.percent-symbol":"","numberformatter.constants.zero-digit-symbol":"","numberformatter.constants.digit-symbol":"","numberformatter.constants.minus-sign-symbol":"","numberformatter.constants.plus-sign-symbol":"","numberformatter.constants.currency-symbol":"","numberformatter.constants.intl-currency-symbol":"","numberformatter.constants.monetary-separator-symbol":"","numberformatter.constants.exponential-symbol":"","numberformatter.constants.permill-symbol":"","numberformatter.constants.pad-escape-symbol":"","numberformatter.constants.infinity-symbol":"","numberformatter.constants.nan-symbol":"","numberformatter.constants.significant-digit-symbol":"","numberformatter.constants.monetary-grouping-separator-symbol":"","intl.numberformatter-constants.unumberformatsymbol":"","numberformatter.constants.round-ceiling":"","numberformatter.constants.round-down":"","numberformatter.constants.round-floor":"","numberformatter.constants.round-halfdown":"","numberformatter.constants.round-halfeven":"","numberformatter.constants.round-halfup":"","numberformatter.constants.round-up":"","intl.numberformatter-constants.unumberformatroundingmode":"","numberformatter.constants.pad-after-prefix":"","numberformatter.constants.pad-after-suffix":"","numberformatter.constants.pad-before-prefix":"","numberformatter.constants.pad-before-suffix":"","intl.numberformatter-constants.unumberformatpadposition":"","intl.numberformatter-constants":"Predefined Constants","numberformatter.seealso":"See Also","example-2495":"numfmt_create example","example-2496":"NumberFormatter::create example","numberformatter.create":"Create a number formatter","example-2497":"numfmt_format_currency example","example-2498":"OO example","numberformatter.formatcurrency":"Format a currency value","example-2499":"numfmt_format example","example-2500":"OO example","numberformatter.format":"Format a number","example-2501":"numfmt_get_attribute example","example-2502":"OO example","numberformatter.getattribute":"Get an attribute","example-2503":"numfmt_get_error_code example","example-2504":"OO example","numberformatter.geterrorcode":"Get formatter's last error code.","example-2505":"numfmt_get_error_message example","example-2506":"OO example","numberformatter.geterrormessage":"Get formatter's last error message.","example-2507":"numfmt_get_locale example","numberformatter.getlocale":"Get formatter locale","example-2508":"numfmt_get_pattern example","example-2509":"OO example","numberformatter.getpattern":"Get formatter pattern","example-2510":"numfmt_get_symbol example","example-2511":"OO example","numberformatter.getsymbol":"Get a symbol value","example-2512":"numfmt_get_text_attribute example","example-2513":"OO example","numberformatter.gettextattribute":"Get a text attribute","example-2514":"numfmt_parse_currency example","example-2515":"OO example","numberformatter.parsecurrency":"Parse a currency number","example-2516":"numfmt_parse example","example-2517":"OO example","numberformatter.parse":"Parse a number","example-2518":"numfmt_set_attribute example","example-2519":"OO example","numberformatter.setattribute":"Set an attribute","example-2520":"numfmt_set_pattern example","example-2521":"OO example","numberformatter.setpattern":"Set formatter pattern","example-2522":"numfmt_set_symbol example","example-2523":"OO example","numberformatter.setsymbol":"Set a symbol value","example-2524":"numfmt_set_text_attribute example","example-2525":"OO example","numberformatter.settextattribute":"Set a text attribute","class.numberformatter":"The NumberFormatter class","locale.intro":"Introduction","locale.synopsis":"Class synopsis","locale.constants.default-locale":"","locale.constants.actual-locale":"","locale.constants.valid-locale":"","locale.constants.lang-tag":"","locale.constants.extlang-tag":"","locale.constants.script-tag":"","locale.constants.region-tag":"","locale.constants.variant-tag":"","locale.constants.grandfathered-lang-tag":"","locale.constants.private-tag":"","intl.locale-constants.subtags":"","intl.locale-constants":"Predefined Constants","locale.seealso":"See Also","example-2526":"locale_accept_from_http example","example-2527":"OO example","locale.acceptfromhttp":"Tries to find out best available locale based on HTTP "Accept-Language" header","locale.canonicalize":"Canonicalize the locale string","example-2528":"locale_compose example","example-2529":"OO example","locale.composelocale":"Returns a correctly ordered and delimited locale ID","example-2530":"locale_filter_matches example","example-2531":"OO example","locale.filtermatches":"Checks if a language tag filter matches with locale","example-2532":"locale_get_all_variants example","example-2533":"OO example","locale.getallvariants":"Gets the variants for the input locale","example-2534":"locale_get_default example","example-2535":"OO example","locale.getdefault":"Gets the default locale value from the INTL global 'default_locale'","example-2536":"locale_get_display_language example","example-2537":"OO example","locale.getdisplaylanguage":"Returns an appropriately localized display name for language of the inputlocale","example-2538":"locale_get_display_name example","example-2539":"OO example","locale.getdisplayname":"Returns an appropriately localized display name for the input locale","example-2540":"locale_get_display_region example","example-2541":"OO example","locale.getdisplayregion":"Returns an appropriately localized display name for region of the input locale","example-2542":"locale_get_display_script example","example-2543":"OO example","locale.getdisplayscript":"Returns an appropriately localized display name for script of the input locale","example-2544":"locale_get_display_variant example","example-2545":"OO example","locale.getdisplayvariant":"Returns an appropriately localized display name for variants of the input locale","example-2546":"locale_get_keywords example","example-2547":"OO example","locale.getkeywords":"Gets the keywords for the input locale","example-2548":"locale_get_primary_language example","example-2549":"OO example","locale.getprimarylanguage":"Gets the primary language for the input locale","example-2550":"locale_get_region example","example-2551":"OO example","locale.getregion":"Gets the region for the input locale","example-2552":"locale_get_script example","example-2553":"OO example","locale.getscript":"Gets the script for the input locale","example-2554":"locale_lookup example","example-2555":"OO example","locale.lookup":"Searches the language tag list for the best match to the language","example-2556":"locale_parse example","example-2557":"OO example","locale.parselocale":"Returns a key-value array of locale ID subtag elements.","example-2558":"locale_set_default example","example-2559":"OO example","locale.setdefault":"sets the default runtime locale","class.locale":"The Locale class","normalizer.intro":"Introduction","normalizer.synopsis":"Class synopsis","normalizer.constants.form-c":"","normalizer.constants.form-d":"","normalizer.constants.form-kc":"","normalizer.constants.form-kd":"","normalizer.constants.none":"","normalizer.constants.option-default":"","intl.normalizer-constants":"Predefined Constants","normalizer.seealso":"See Also","example-2560":"normalizer_is_normalized example","example-2561":"OO example","normalizer.isnormalized":"Checks if the provided string is already in the specified normalization\n form.","example-2562":"normalizer_normalize example","example-2563":"OO example","normalizer.normalize":"Normalizes the input provided and returns the normalized string","class.normalizer":"The Normalizer class","messageformatter.intro":"Introduction","messageformatter.synopsis":"Class synopsis","messageformatter.seealso":"See Also","example-2564":"msgfmt_create example","example-2565":"OO example","messageformatter.create":"Constructs a new Message Formatter","example-2566":"msgfmt_format_message example","example-2567":"OO example","messageformatter.formatmessage":"Quick format message","example-2568":"msgfmt_format example","example-2569":"OO example","messageformatter.format":"Format the message","example-2570":"msgfmt_get_error_code example","example-2571":"OO example","messageformatter.geterrorcode":"Get the error code from last operation","example-2572":"msgfmt_get_error_message example","example-2573":"OO example","messageformatter.geterrormessage":"Get the error text from the last operation","example-2574":"msgfmt_get_locale example","example-2575":"OO example","messageformatter.getlocale":"Get the locale for which the formatter was created.","example-2576":"msgfmt_get_pattern example","example-2577":"OO example","messageformatter.getpattern":"Get the pattern used by the formatter","example-2578":"msgfmt_parse_message example","example-2579":"OO example","messageformatter.parsemessage":"Quick parse input string","example-2580":"msgfmt_parse example","example-2581":"OO example","messageformatter.parse":"Parse input string according to pattern","example-2582":"msgfmt_set_pattern example","example-2583":"OO example","messageformatter.setpattern":"Set the pattern used by the formatter","class.messageformatter":"The MessageFormatter class","intlcalendar.intro":"Introduction","intlcalendar.synopsis":"Class synopsis","intlcalendar.constants.field-era":"","intlcalendar.constants.field-year":"","intlcalendar.constants.field-month":"","intlcalendar.constants.field-week-of-year":"","intlcalendar.constants.field-week-of-month":"","intlcalendar.constants.field-date":"","intlcalendar.constants.field-day-of-year":"","intlcalendar.constants.field-day-of-week":"","intlcalendar.constants.field-day-of-week-in-month":"","intlcalendar.constants.field-am-pm":"","intlcalendar.constants.field-hour":"","intlcalendar.constants.field-hour-of-day":"","intlcalendar.constants.field-minute":"","intlcalendar.constants.field-second":"","intlcalendar.constants.field-millisecond":"","intlcalendar.constants.field-zone-offset":"","intlcalendar.constants.field-dst-offset":"","intlcalendar.constants.field-year-woy":"","intlcalendar.constants.field-dow-local":"","intlcalendar.constants.field-extended-year":"","intlcalendar.constants.field-julian-day":"","intlcalendar.constants.field-milliseconds-in-day":"","intlcalendar.constants.field-is-leap-month":"","intlcalendar.constants.field-field-count-":"","intlcalendar.constants.field-day-of-month":"","intlcalendar.constants.dow-sunday":"","intlcalendar.constants.dow-monday":"","intlcalendar.constants.dow-tuesday":"","intlcalendar.constants.dow-wednesday":"","intlcalendar.constants.dow-thursday":"","intlcalendar.constants.dow-friday":"","intlcalendar.constants.dow-saturday":"","intlcalendar.constants.dow-type-weekday":"","intlcalendar.constants.dow-type-weekend":"","intlcalendar.constants.dow-type-weekend-offset":"","intlcalendar.constants.dow-type-weekend-cease":"","intlcalendar.constants.walltime-first":"","intlcalendar.constants.walltime-last":"","intlcalendar.constants.walltime-next-valid":"","intlcalendar.constants":"Predefined Constants","example-2584":"IntlCalendar::add","intlcalendar.add":"Add a (signed) amount of time to a field","example-2585":"IntlCalendar::after","intlcalendar.after":"Whether this object\u02bcs time is after that of the passed object","intlcalendar.before":"Whether this object\u02bcs time is before that of the passed object","example-2586":"IntlCalendar::clear examples","intlcalendar.clear":"Clear a field or all fields","intlcalendar.construct":"Private constructor for disallowing instantiation","example-2587":"IntlCalendar::createInstance","intlcalendar.createinstance":"Create a new IntlCalendar","example-2588":"IntlCalendar::equals","intlcalendar.equals":"Compare time of two IntlCalendar objects for equality","example-2589":"IntlCalendar::fieldDifference","intlcalendar.fielddifference":"Calculate difference between given time and this object\u02bcs time","example-2590":"IntlCalendar::fromDateTime","intlcalendar.fromdatetime":"Create an IntlCalendar from a DateTime object or string","example-2591":"IntlCalendar::get","intlcalendar.get":"Get the value for a field","example-2592":"IntlCalendar::getActualMaximum","intlcalendar.getactualmaximum":"The maximum value for a field, considering the object\u02bcs current time","intlcalendar.getactualminimum":"The minimum value for a field, considering the object\u02bcs current time","example-2593":"IntlCalendar::getAvailableLocales()","intlcalendar.getavailablelocales":"Get array of locales for which there is data","example-2594":"IntlCalendar::getDayOfWeekType","intlcalendar.getdayofweektype":"Tell whether a day is a weekday, weekend or a day that has a transition between the two","example-2595":"IntlCalendar::getErrorCode and\n IntlCalendar::getErrorMessage","intlcalendar.geterrorcode":"Get last error code on the object","example-2596":"IntlCalendar::getErrorMessage","intlcalendar.geterrormessage":"Get last error message on the object","example-2597":"IntlCalendar::getFirstDayOfWeek","intlcalendar.getfirstdayofweek":"Get the first day of the week for the calendar\u02bcs locale","intlcalendar.getgreatestminimum":"Get the largest local minimum value for a field","example-2598":"IntlCalendar::getKeyworkValuesForLocale","intlcalendar.getkeywordvaluesforlocale":"Get set of locale keyword values","example-2599":"Maxima examples","intlcalendar.getleastmaximum":"Get the smallest local maximum for a field","example-2600":"IntlCalendar::getLocale","intlcalendar.getlocale":"Get the locale associated with the object","intlcalendar.getmaximum":"Get the global maximum value for a field","example-2601":"IntlCalendar::getMinimalDaysInFirstWeek","intlcalendar.getminimaldaysinfirstweek":"Get minimal number of days the first week in a year or month can have","intlcalendar.getminimum":"Get the global minimum value for a field","example-2602":"IntlCalendar::getNow","intlcalendar.getnow":"Get number representing the current time","example-2603":"IntlCalendar::getRepeatedWallTimeOption","intlcalendar.getrepeatedwalltimeoption":"Get behavior for handling repeating wall time","example-2604":"IntlCalendar::getSkippedWallTimeOption","intlcalendar.getskippedwalltimeoption":"Get behavior for handling skipped wall time","example-2605":"IntlCalendar::getTime","intlcalendar.gettime":"Get time currently represented by the object","example-2606":"IntlCalendar::getTimeZone","intlcalendar.gettimezone":"Get the object\u02bcs timezone","example-2607":"IntlCalendar::getType","intlcalendar.gettype":"Get the calendar type","intlcalendar.getweekendtransition":"Get time of the day at which weekend begins or ends","example-2608":"IntlCalendar::inDaylightTime","intlcalendar.indaylighttime":"Whether the object\u02bcs time is in Daylight Savings Time","example-2609":"IntlCalendar::isEquivalentTo","intlcalendar.isequivalentto":"Whether another calendar is equal but for a different time","example-2610":"IntlCalendar::isLenient","intlcalendar.islenient":"Whether date\/time interpretation is in lenient mode","intlcalendar.isset":"Whether a field is set","example-2611":"IntlCalendar::isWeekend","intlcalendar.isweekend":"Whether a certain date\/time is in the weekend","example-2612":"IntlCalendar::roll","intlcalendar.roll":"Add value to field without carrying into more significant fields","example-2613":"IntlCalendar::set","intlcalendar.set":"Set a time field or several common fields at once","example-2614":"IntlCalendar::setFirstDayOfWeek","intlcalendar.setfirstdayofweek":"Set the day on which the week is deemed to start","intlcalendar.setlenient":"Set whether date\/time interpretation is to be lenient","intlcalendar.setrepeatedwalltimeoption":"Set behavior for handling repeating wall times at negative timezone offset transitions","intlcalendar.setskippedwalltimeoption":"Set behavior for handling skipped wall times at positive timezone offset transitions","example-2615":"IntlCalendar::setTime","intlcalendar.settime":"Set the calendar time in milliseconds since the epoch","example-2616":"IntlCalendar::setTimeZone","intlcalendar.settimezone":"Set the timezone used by this calendar","example-2617":"IntlCalendar::toDateTime","intlcalendar.todatetime":"Convert an IntlCalendar into a DateTime object","class.intlcalendar":"The IntlCalendar class","intltimezone.intro":"Introduction","intltimezone.synopsis":"Class synopsis","intltimezone.constants.display-short":"","intltimezone.constants.display-long":"","intltimezone.constants":"Predefined Constants","intltimezone.countequivalentids":"Get the number of IDs in the equivalency group that includes the given ID","intltimezone.createdefault":"Create a new copy of the default timezone for this host","intltimezone.createenumeration":"Get an enumeration over time zone IDs associated with the\n given country or offset","intltimezone.createtimezone":"Create a timezone object for the given ID","intltimezone.fromdatetimezone":"Create a timezone object from DateTimeZone","intltimezone.getcanonicalid":"Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID","intltimezone.getdisplayname":"Get a name of this time zone suitable for presentation to the user","intltimezone.getdstsavings":"Get the amount of time to be added to local standard time to get local wall clock time","intltimezone.getequivalentid":"Get an ID in the equivalency group that includes the given ID","intltimezone.geterrorcode":"Get last error code on the object","intltimezone.geterrormessage":"Get last error message on the object","intltimezone.getgmt":"Create GMT (UTC) timezone","intltimezone.getid":"Get timezone ID","intltimezone.getoffset":"Get the time zone raw and GMT offset for the given moment in time","intltimezone.getrawoffset":"Get the raw GMT offset (before taking daylight savings time into account","intltimezone.gettzdataversion":"Get the timezone data version currently used by ICU","intltimezone.hassamerules":"Check if this zone has the same rules and offset as another zone","intltimezone.todatetimezone":"Convert to DateTimeZone object","intltimezone.usedaylighttime":"Check if this time zone uses daylight savings time","class.intltimezone":"The IntlTimeZone class","intldateformatter.intro":"Introduction","intldateformatter.synopsis":"Class synopsis","intldateformatter.seealso":"See Also","intldateformatter.constants.none":"","intldateformatter.constants.full":"","intldateformatter.constants.long":"","intldateformatter.constants.medium":"","intldateformatter.constants.short":"","intldateformatter.constants.traditional":"","intldateformatter.constants.gregorian":"","intl.intldateformatter-constants.calendartypes":"","intl.intldateformatter-constants":"Predefined Constants","example-2618":"datefmt_create example","example-2619":"OO example","intldateformatter.create":"Create a date formatter","example-2620":"datefmt_format example","example-2621":"OO example","example-2622":"With IntlCalendar object","intldateformatter.format":"Format the date\/time value as a string","example-2623":"IntlDateFormatter::formatObject examples","intldateformatter.formatobject":"Formats an object","example-2624":"datefmt_get_calendar example","example-2625":"OO example","intldateformatter.getcalendar":"Get the calendar type used for the IntlDateFormatter","example-2626":"datefmt_get_datetype example","example-2627":"OO example","intldateformatter.getdatetype":"Get the datetype used for the IntlDateFormatter","example-2628":"datefmt_get_error_code example","example-2629":"OO example","intldateformatter.geterrorcode":"Get the error code from last operation","example-2630":"datefmt_get_error_message example","example-2631":"OO example","intldateformatter.geterrormessage":"Get the error text from the last operation.","example-2632":"datefmt_get_locale example","example-2633":"OO example","intldateformatter.getlocale":"Get the locale used by formatter","example-2634":"datefmt_get_pattern example","example-2635":"OO example","intldateformatter.getpattern":"Get the pattern used for the IntlDateFormatter","example-2636":"datefmt_get_timetype example","example-2637":"OO example","intldateformatter.gettimetype":"Get the timetype used for the IntlDateFormatter","example-2638":"datefmt_get_timezone_id example","example-2639":"OO example","intldateformatter.gettimezoneid":"Get the timezone-id used for the IntlDateFormatter","example-2640":"IntlDateFormatter::getCalendarObject example","intldateformatter.getcalendarobject":"Get copy of formatter\u02bcs calendar object","example-2641":"IntlDateFormatter::getTimeZone examples","intldateformatter.gettimezone":"Get formatter\u02bcs timezone","example-2642":"datefmt_is_lenient example","example-2643":"OO example","intldateformatter.islenient":"Get the lenient used for the IntlDateFormatter","example-2644":"datefmt_localtime example","example-2645":"OO example","intldateformatter.localtime":"Parse string to a field-based time value","example-2646":"OO example","example-2647":"datefmt_parse example","intldateformatter.parse":"Parse string to a timestamp value","example-2648":"datefmt_set_calendar example","example-2649":"OO example","example-2650":"Example with IntlCalendar argument","intldateformatter.setcalendar":"Sets the calendar type used by the formatter","example-2651":"datefmt_set_lenient example","example-2652":"OO example","intldateformatter.setlenient":"Set the leniency of the parser","example-2653":"datefmt_set_pattern example","example-2654":"OO example","intldateformatter.setpattern":"Set the pattern used for the IntlDateFormatter","example-2655":"datefmt_set_timezone_id example","example-2656":"OO example","intldateformatter.settimezoneid":"Sets the time zone to use","example-2657":"IntlDateFormatter::setTimeZone examples","intldateformatter.settimezone":"Sets formatter\u02bcs timezone","class.intldateformatter":"The IntlDateFormatter class","resourcebundle.intro":"Introduction","resourcebundle.synopsis":"Class synopsis","resourcebundle.seealso":"See Also","example-2658":"resourcebundle_count example","example-2659":"OO example","resourcebundle.count":"Get number of elements in the bundle","example-2660":"resourcebundle_create example","example-2661":"ResourceBundle::create example","resourcebundle.create":"Create a resource bundle","example-2662":"resourcebundle_get_error_code example","example-2663":"OO example","resourcebundle.geterrorcode":"Get bundle's last error code.","example-2664":"resourcebundle_get_error_message example","example-2665":"OO example","resourcebundle.geterrormessage":"Get bundle's last error message.","example-2666":"resourcebundle_get example","example-2667":"OO example","resourcebundle.get":"Get data from the bundle","example-2668":"resourcebundle_locales example","example-2669":"OO example","resourcebundle.locales":"Get supported locales","class.resourcebundle":"The ResourceBundle class","spoofchecker.intro":"Introduction","spoofchecker.synopsis":"Class synopsis","spoofchecker.constants.single-script-confusable":"","spoofchecker.constants.mixed-script-confusable":"","spoofchecker.constants.whole-script-confusable":"","spoofchecker.constants.any-case":"","spoofchecker.constants.single-script":"","spoofchecker.constants.invisible":"","spoofchecker.constants.char-limit":"","spoofchecker.constants":"Predefined Constants","spoofchecker.areconfusable":"Checks if a given text contains any confusable characters","spoofchecker.construct":"Constructor","spoofchecker.issuspicious":"Checks if a given text contains any suspicious characters","spoofchecker.setallowedlocales":"Locales to use when running checks","spoofchecker.setchecks":"Set the checks to run","class.spoofchecker":"The Spoofchecker class","transliterator.intro":"Introduction","transliterator.synopsis":"Class synopsis","transliterator.props.id":"","transliterator.props":"Properties","transliterator.constants.forward":"","transliterator.constants.reverse":"","transliterator.constants":"Predefined Constants","transliterator.construct":"Private constructor to deny instantiation","transliterator.create":"Create a transliterator","transliterator.createfromrules":"Create transliterator from rules","transliterator.createinverse":"Create an inverse transliterator","transliterator.geterrorcode":"Get last error code","transliterator.geterrormessage":"Get last error message","transliterator.listids":"Get transliterator IDs","example-2670":"Converting escaped UTF-16 code units","transliterator.transliterate":"Transliterate a string","class.transliterator":"The Transliterator class","intlbreakiterator.intro":"Introduction","intlbreakiterator.synopsis":"Class synopsis","intlbreakiterator.constants.done":"","intlbreakiterator.constants.word-none":"","intlbreakiterator.constants.word-none-limit":"","intlbreakiterator.constants.word-number":"","intlbreakiterator.constants.word-number-limit":"","intlbreakiterator.constants.word-letter":"","intlbreakiterator.constants.word-letter-limit":"","intlbreakiterator.constants.word-kana":"","intlbreakiterator.constants.word-kana-limit":"","intlbreakiterator.constants.word-ideo":"","intlbreakiterator.constants.word-ideo-limit":"","intlbreakiterator.constants.line-soft":"","intlbreakiterator.constants.line-soft-limit":"","intlbreakiterator.constants.line-hard":"","intlbreakiterator.constants.line-hard-limit":"","intlbreakiterator.constants.sentence-term":"","intlbreakiterator.constants.sentence-term-limit":"","intlbreakiterator.constants.sentence-sep":"","intlbreakiterator.constants.sentence-sep-limit":"","intlbreakiterator.constants":"Predefined Constants","intlbreakiterator.construct":"Private constructor for disallowing instantiation","intlbreakiterator.createcharacterinstance":"Create break iterator for boundaries of combining character sequences","intlbreakiterator.createcodepointinstance":"Create break iterator for boundaries of code points","intlbreakiterator.createlineinstance":"Create break iterator for logically possible line breaks","intlbreakiterator.createsentenceinstance":"Create break iterator for sentence breaks","intlbreakiterator.createtitleinstance":"Create break iterator for title-casing breaks","intlbreakiterator.createwordinstance":"Create break iterator for word breaks","intlbreakiterator.current":"Get index of current position","intlbreakiterator.first":"Set position to the first character in the text","intlbreakiterator.following":"Advance the iterator to the first boundary following specified offset","intlbreakiterator.geterrorcode":"Get last error code on the object","intlbreakiterator.geterrormessage":"Get last error message on the object","intlbreakiterator.getlocale":"Get the locale associated with the object","intlbreakiterator.getpartsiterator":"Create iterator for navigating fragments between boundaries","intlbreakiterator.gettext":"Get the text being scanned","intlbreakiterator.isboundary":"Tell whether an offset is a boundary\u02bcs offset","intlbreakiterator.last":"Set the iterator position to index beyond the last character","intlbreakiterator.next":"Advance the iterator the next boundary","intlbreakiterator.preceding":"Set the iterator position to the first boundary before an offset","intlbreakiterator.previous":"Set the iterator position to the boundary immediately before the current","intlbreakiterator.settext":"Set the text being scanned","class.intlbreakiterator":"The IntlBreakIterator class","intlrulebasedbreakiterator.intro":"Introduction","intlrulebasedbreakiterator.synopsis":"Class synopsis","intlrulebasedbreakiterator.constants.done":"","intlrulebasedbreakiterator.constants.word-none":"","intlrulebasedbreakiterator.constants.word-none-limit":"","intlrulebasedbreakiterator.constants.word-number":"","intlrulebasedbreakiterator.constants.word-number-limit":"","intlrulebasedbreakiterator.constants.word-letter":"","intlrulebasedbreakiterator.constants.word-letter-limit":"","intlrulebasedbreakiterator.constants.word-kana":"","intlrulebasedbreakiterator.constants.word-kana-limit":"","intlrulebasedbreakiterator.constants.word-ideo":"","intlrulebasedbreakiterator.constants.word-ideo-limit":"","intlrulebasedbreakiterator.constants.line-soft":"","intlrulebasedbreakiterator.constants.line-soft-limit":"","intlrulebasedbreakiterator.constants.line-hard":"","intlrulebasedbreakiterator.constants.line-hard-limit":"","intlrulebasedbreakiterator.constants.sentence-term":"","intlrulebasedbreakiterator.constants.sentence-term-limit":"","intlrulebasedbreakiterator.constants.sentence-sep":"","intlrulebasedbreakiterator.constants.sentence-sep-limit":"","intlrulebasedbreakiterator.constants":"Predefined Constants","intlrulebasedbreakiterator.construct":"Create iterator from ruleset","intlrulebasedbreakiterator.getbinaryrules":"Get the binary form of compiled rules","intlrulebasedbreakiterator.getrules":"Get the rule set used to create this object","intlrulebasedbreakiterator.getrulestatus":"Get the largest status value from the break rules that determined the current break position","intlrulebasedbreakiterator.getrulestatusvec":"Get the status values from the break rules that determined the current break position","class.intlrulebasedbreakiterator":"The IntlRuleBasedBreakIterator class","intlcodepointbreakiterator.intro":"Introduction","intlcodepointbreakiterator.synopsis":"Class synopsis","intlcodepointbreakiterator.constants.done":"","intlcodepointbreakiterator.constants.word-none":"","intlcodepointbreakiterator.constants.word-none-limit":"","intlcodepointbreakiterator.constants.word-number":"","intlcodepointbreakiterator.constants.word-number-limit":"","intlcodepointbreakiterator.constants.word-letter":"","intlcodepointbreakiterator.constants.word-letter-limit":"","intlcodepointbreakiterator.constants.word-kana":"","intlcodepointbreakiterator.constants.word-kana-limit":"","intlcodepointbreakiterator.constants.word-ideo":"","intlcodepointbreakiterator.constants.word-ideo-limit":"","intlcodepointbreakiterator.constants.line-soft":"","intlcodepointbreakiterator.constants.line-soft-limit":"","intlcodepointbreakiterator.constants.line-hard":"","intlcodepointbreakiterator.constants.line-hard-limit":"","intlcodepointbreakiterator.constants.sentence-term":"","intlcodepointbreakiterator.constants.sentence-term-limit":"","intlcodepointbreakiterator.constants.sentence-sep":"","intlcodepointbreakiterator.constants.sentence-sep-limit":"","intlcodepointbreakiterator.constants":"Predefined Constants","intlcodepointbreakiterator.getlastcodepoint":"Get last code point passed over after advancing or receding the iterator","class.intlcodepointbreakiterator":"The IntlCodePointBreakIterator class","intlpartsiterator.intro":"Introduction","intlpartsiterator.synopsis":"Class synopsis","intlpartsiterator.constants.key-sequential":"","intlpartsiterator.constants.key-left":"","intlpartsiterator.constants.key-right":"","intlpartsiterator.constants":"Predefined Constants","intlpartsiterator.getbreakiterator":"Get IntlBreakIterator backing this parts iterator","class.intlpartsiterator":"The IntlPartsIterator class","uconverter.intro":"Introduction","uconverter.synopsis":"Class synopsis","uconverter.constants.reason-unassigned":"","uconverter.constants.reason-illegal":"","uconverter.constants.reason-irregular":"","uconverter.constants.reason-reset":"","uconverter.constants.reason-close":"","uconverter.constants.reason-clone":"","uconverter.constants.unsupported-converter":"","uconverter.constants.sbcs":"","uconverter.constants.dbcs":"","uconverter.constants.mbcs":"","uconverter.constants.latin-1":"","uconverter.constants.utf8":"","uconverter.constants.utf16-bigendian":"","uconverter.constants.utf16-littleendian":"","uconverter.constants.utf32-bigendian":"","uconverter.constants.utf32-littleendian":"","uconverter.constants.ebcdic-stateful":"","uconverter.constants.iso-2022":"","uconverter.constants.lmbcs-1":"","uconverter.constants.lmbcs-2":"","uconverter.constants.lmbcs-3":"","uconverter.constants.lmbcs-4":"","uconverter.constants.lmbcs-5":"","uconverter.constants.lmbcs-6":"","uconverter.constants.lmbcs-8":"","uconverter.constants.lmbcs-11":"","uconverter.constants.lmbcs-16":"","uconverter.constants.lmbcs-17":"","uconverter.constants.lmbcs-18":"","uconverter.constants.lmbcs-19":"","uconverter.constants.lmbcs-last":"","uconverter.constants.hz":"","uconverter.constants.scsu":"","uconverter.constants.iscii":"","uconverter.constants.us-ascii":"","uconverter.constants.utf7":"","uconverter.constants.bocu1":"","uconverter.constants.utf16":"","uconverter.constants.utf32":"","uconverter.constants.cesu8":"","uconverter.constants.imap-mailbox":"","uconverter.constants":"Predefined Constants","uconverter.construct":"Create UConverter object","uconverter.convert":"Convert string from one charset to another","uconverter.fromucallback":"Default "from" callback function","uconverter.getaliases":"Get the aliases of the given name","uconverter.getavailable":"Get the available canonical converter names","uconverter.getdestinationencoding":"Get the destination encoding","uconverter.getdestinationtype":"Get the destination converter type","uconverter.geterrorcode":"Get last error code on the object","uconverter.geterrormessage":"Get last error message on the object","uconverter.getsourceencoding":"Get the source encoding","uconverter.getsourcetype":"Get the source convertor type","uconverter.getstandards":"Get standards associated to converter names","uconverter.getsubstchars":"Get substitution chars","uconverter.reasontext":"Get string representation of the callback reason","uconverter.setdestinationencoding":"Set the destination encoding","uconverter.setsourceencoding":"Set the source encoding","uconverter.setsubstchars":"Set the substitution chars","uconverter.toucallback":"Default "to" callback function","uconverter.transcode":"Convert string from one charset to another","class.uconverter":"The UConverter class","example-2671":"grapheme_extract example","function.grapheme-extract":"Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.","example-2672":"grapheme_stripos example","function.grapheme-stripos":"Find position (in grapheme units) of first occurrence of a case-insensitive string","example-2673":"grapheme_stristr example","function.grapheme-stristr":"Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.","example-2674":"grapheme_strlen example","function.grapheme-strlen":"Get string length in grapheme units","example-2675":"grapheme_strpos example","function.grapheme-strpos":"Find position (in grapheme units) of first occurrence of a string","example-2676":"grapheme_strripos example","function.grapheme-strripos":"Find position (in grapheme units) of last occurrence of a case-insensitive string","example-2677":"grapheme_strrpos example","function.grapheme-strrpos":"Find position (in grapheme units) of last occurrence of a string","example-2678":"grapheme_strstr example","function.grapheme-strstr":"Returns part of haystack string from the first occurrence of needle to the end of haystack.","example-2679":"grapheme_substr example","function.grapheme-substr":"Return part of a string","ref.intl.grapheme":"Grapheme Functions","example-2680":"idn_to_ascii example","function.idn-to-ascii":"Convert domain name to IDNA ASCII form.","function.idn-to-unicode":"Alias of idn_to_utf8","example-2681":"idn_to_utf8 example","function.idn-to-utf8":"Convert domain name from IDNA ASCII to Unicode.","ref.intl.idn":"IDN Functions","intlexception.intro":"Introduction","intlexception.synopsis":"Class synopsis","class.intlexception":"Exception class for intl errors","intliterator.intro":"Introduction","intliterator.synopsis":"Class synopsis","intliterator.current":"Get the current element","intliterator.key":"Get the current key","intliterator.next":"Move forward to the next element","intliterator.rewind":"Rewind the iterator to the first element","intliterator.valid":"Check if curent position is valid","class.intliterator":"The IntlIterator class","example-2682":"intl_error_name example","function.intl-error-name":"Get symbolic name for a given error code","example-2683":"intl_get_error_code example","function.intl-get-error-code":"Get the last error code","example-2684":"intl_get_error_message example","function.intl-get-error-message":"Get description of the last error","example-2685":"intl_is_failure example","function.intl-is-failure":"Check whether the given error code indicates failure","ref.intl":"intl Functions","book.intl":"Internationalization Functions","intro.mbstring":"Introduction","mbstring.requirements":"Requirements","mbstring.installation":"Installation","ini.mbstring.language":"","ini.mbstring.encoding-translation":"","ini.mbstring.internal-encoding":"","ini.mbstring.http-input":"","ini.mbstring.http-output":"","ini.mbstring.detect-order":"","ini.mbstring.substitute-character":"","ini.mbstring.func-overload":"","ini.mbstring.strict-detection":"","example-2686":"php.ini setting examples","example-2687":"php.ini setting for EUC-JP users","example-2688":"php.ini setting for SJIS users","mbstring.configuration":"Runtime Configuration","mbstring.resources":"Resource Types","mbstring.setup":"Installing\/Configuring","constant.mb-overload-mail":"","constant.mb-overload-string":"","constant.mb-overload-regex":"","constant.mb-case-upper":"","constant.mb-case-lower":"","constant.mb-case-title":"","mbstring.constants":"Predefined Constants","mbstring.encodings":"Summaries of supported encodings","mbstring.ja-basic":"Basics of Japanese multi-byte encodings","example-2689":"Disable HTTP input conversion in php.ini","example-2690":"php.ini setting example","example-2691":"Script example","mbstring.http":"HTTP Input and Output","mbstring.supported-encodings":"Supported Character Encodings","mbstring.overload":"Function Overloading Feature","mbstring.php4.req":"PHP Character Encoding Requirements","function.mb-check-encoding":"Check if the string is valid for the specified encoding","example-2692":"mb_convert_case example","example-2693":"mb_convert_case example with non-Latin UTF-8 text","function.mb-convert-case":"Perform case folding on a string","example-2694":"mb_convert_encoding example","function.mb-convert-encoding":"Convert character encoding","example-2695":"mb_convert_kana example","function.mb-convert-kana":"Convert "kana" one from another ("zen-kaku", "han-kaku" and more)","example-2696":"mb_convert_variables example","function.mb-convert-variables":"Convert character code in variable(s)","function.mb-decode-mimeheader":"Decode string in MIME header field","example-2697":"convmap example","function.mb-decode-numericentity":"Decode HTML numeric string reference to character","example-2698":"mb_detect_encoding example","function.mb-detect-encoding":"Detect character encoding","example-2699":"Useless detect order example","example-2700":"mb_detect_order examples","function.mb-detect-order":"Set\/Get character encoding detection order","example-2701":"mb_encode_mimeheader example","function.mb-encode-mimeheader":"Encode string for MIME header","example-2702":"convmap example","example-2703":"mb_encode_numericentity example","function.mb-encode-numericentity":"Encode character to HTML numeric string reference","example-2704":"mb_encoding_aliases example","function.mb-encoding-aliases":"Get aliases of a known encoding type","function.mb-ereg-match":"Regular expression match for multibyte string","example-2705":"mb_ereg_replace_callback example","example-2706":"mb_ereg_replace_callback using anonymous function\n supported in PHP 5.3.0 or later","function.mb-ereg-replace-callback":"Perform a regular expresssion seach and replace with multibyte support using a callback","function.mb-ereg-replace":"Replace regular expression with multibyte support","function.mb-ereg-search-getpos":"Returns start point for next regular expression match","function.mb-ereg-search-getregs":"Retrieve the result from the last multibyte regular expression match","function.mb-ereg-search-init":"Setup string and regular expression for a multibyte regular expression match","function.mb-ereg-search-pos":"Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string","function.mb-ereg-search-regs":"Returns the matched part of a multibyte regular expression","function.mb-ereg-search-setpos":"Set start point of next regular expression match","function.mb-ereg-search":"Multibyte regular expression match for predefined multibyte string","function.mb-ereg":"Regular expression match with multibyte support","function.mb-eregi-replace":"Replace regular expression with multibyte support ignoring case","function.mb-eregi":"Regular expression match ignoring case with multibyte support","function.mb-get-info":"Get internal settings of mbstring","function.mb-http-input":"Detect HTTP input character encoding","function.mb-http-output":"Set\/Get HTTP output character encoding","example-2707":"mb_internal_encoding example","function.mb-internal-encoding":"Set\/Get internal character encoding","function.mb-language":"Set\/Get current language","example-2708":"mb_list_encodings example","function.mb-list-encodings":"Returns an array of all supported encodings","example-2709":"mb_output_handler example","function.mb-output-handler":"Callback function converts character encoding in output buffer","function.mb-parse-str":"Parse GET\/POST\/COOKIE data and set global variable","example-2710":"mb_preferred_mime_name example","function.mb-preferred-mime-name":"Get MIME charset string","function.mb-regex-encoding":"Set\/Get character encoding for multibyte regex","function.mb-regex-set-options":"Set\/Get the default options for mbregex functions","function.mb-send-mail":"Send encoded mail","function.mb-split":"Split multibyte string using regular expression","function.mb-strcut":"Get part of string","example-2711":"mb_strimwidth example","function.mb-strimwidth":"Get truncated string with specified width","function.mb-stripos":"Finds position of first occurrence of a string within another, case insensitive","function.mb-stristr":"Finds first occurrence of a string within another, case insensitive","function.mb-strlen":"Get string length","function.mb-strpos":"Find position of first occurrence of string in a string","function.mb-strrchr":"Finds the last occurrence of a character in a string within another","function.mb-strrichr":"Finds the last occurrence of a character in a string within another, case insensitive","function.mb-strripos":"Finds position of last occurrence of a string within another, case insensitive","function.mb-strrpos":"Find position of last occurrence of a string in a string","function.mb-strstr":"Finds first occurrence of a string within another","example-2712":"mb_strtolower example","example-2713":"mb_strtolower example with non-Latin UTF-8 text","function.mb-strtolower":"Make a string lowercase","example-2714":"mb_strtoupper example","example-2715":"mb_strtoupper example with non-Latin UTF-8 text","function.mb-strtoupper":"Make a string uppercase","function.mb-strwidth":"Return width of string","example-2716":"mb_substitute_character example","function.mb-substitute-character":"Set\/Get substitution character","example-2717":"mb_substr_count example","function.mb-substr-count":"Count the number of substring occurrences","function.mb-substr":"Get part of string","ref.mbstring":"Multibyte String Functions","book.mbstring":"Multibyte String","intro.pspell":"Introduction","pspell.requirements":"Requirements","pspell.installation":"Installation","pspell.configuration":"Runtime Configuration","pspell.resources":"Resource Types","pspell.setup":"Installing\/Configuring","constant.pspell-fast":"","constant.pspell-normal":"","constant.pspell-bad-spellers":"","constant.pspell-run-together":"","pspell.constants":"Predefined Constants","example-2718":"pspell_add_to_personal","function.pspell-add-to-personal":"Add the word to a personal wordlist","function.pspell-add-to-session":"Add the word to the wordlist in the current session","example-2719":"pspell_check Example","function.pspell-check":"Check a word","example-2720":"pspell_add_to_personal Example","function.pspell-clear-session":"Clear the current session","example-2721":"pspell_config_create","function.pspell-config-create":"Create a config used to open a dictionary","function.pspell-config-data-dir":"location of language data files","function.pspell-config-dict-dir":"Location of the main word list","example-2722":"pspell_config_ignore","function.pspell-config-ignore":"Ignore words less than N characters long","example-2723":"pspell_config_mode Example","function.pspell-config-mode":"Change the mode number of suggestions returned","example-2724":"pspell_config_personal","function.pspell-config-personal":"Set a file that contains personal wordlist","example-2725":"pspell_config_repl","function.pspell-config-repl":"Set a file that contains replacement pairs","example-2726":"pspell_config_runtogether","function.pspell-config-runtogether":"Consider run-together words as valid compounds","function.pspell-config-save-repl":"Determine whether to save a replacement pairs list\n along with the wordlist","example-2727":"pspell_new_config","function.pspell-new-config":"Load a new dictionary with settings based on a given config","example-2728":"pspell_new_personal","function.pspell-new-personal":"Load a new dictionary with personal wordlist","example-2729":"pspell_new","function.pspell-new":"Load a new dictionary","example-2730":"pspell_add_to_personal","function.pspell-save-wordlist":"Save the personal wordlist to a file","example-2731":"pspell_store_replacement","function.pspell-store-replacement":"Store a replacement pair for a word","example-2732":"pspell_suggest example","function.pspell-suggest":"Suggest spellings of a word","ref.pspell":"Pspell Functions","book.pspell":"Pspell","intro.recode":"Introduction","recode.requirements":"Requirements","recode.installation":"Installation","recode.configuration":"Runtime Configuration","recode.resources":"Resource Types","recode.setup":"Installing\/Configuring","recode.constants":"Predefined Constants","example-2733":"Basic recode_file example","function.recode-file":"Recode from file to file according to recode request","example-2734":"Basic recode_string example","function.recode-string":"Recode a string according to a recode request","function.recode":"Alias of recode_string","ref.recode":"Recode Functions","book.recode":"GNU Recode","refs.international":"Human Language and Character Encoding Support","intro.cairo":"Introduction","cairo.requirements":"Requirements","cairo.installation":"Installation","cairo.configuration":"Runtime Configuration","cairo.resources":"Resource Types","cairo.setup":"Installing\/Configuring","constant.cairo-status-success":"","constant.cairo-status-no-memory":"","constant.cairo-status-invalid-restore":"","constant.cairo-status-invalid-pop-group":"","constant.cairo-status-no-current-point":"","constant.cairo-status-invalid-matrix":"","constant.cairo-status-invalid-status":"","constant.cairo-status-null-pointer":"","constant.cairo-status-invalid-string":"","constant.cairo-status-invalid-path-data":"","constant.cairo-status-read-error":"","constant.cairo-status-write-error":"","constant.cairo-status-surface-finished":"","constant.cairo-status-surface-type-mismatch":"","constant.cairo-status-pattern-type-mismatch":"","constant.cairo-status-invalid-content":"","constant.cairo-status-invalid-format":"","constant.cairo-status-invalid-visual":"","constant.cairo-status-file-not-found":"","constant.cairo-status-invalid-dash":"","constant.cairo-status-invalid-dsc-comment":"","constant.cairo-status-invalid-index":"","constant.cairo-status-clip-not-representable":"","constant.cairo-status-temp-file-error":"","constant.cairo-status-invalid-stride":"","constant.cairo-antialias-default":"","constant.cairo-antialias-none":"","constant.cairo-antialias-gray":"","constant.cairo-antialias-subpixel":"","constant.cairo-subpixel-order-default":"","constant.cairo-subpixel-order-rgb":"","constant.cairo-subpixel-order-bgr":"","constant.cairo-subpixel-order-vrgb":"","constant.cairo-subpixel-order-vbgr":"","constant.cairo-fill-rule-winding":"","constant.cairo-fill-rule-even-odd":"","constant.cairo-line-cap-butt":"","constant.cairo-line-cap-round":"","constant.cairo-line-cap-square":"","constant.cairo-line-join-miter":"","constant.cairo-line-join-round":"","constant.cairo-line-join-bevel":"","constant.cairo-operator-clear":"","constant.cairo-operator-source":"","constant.cairo-operator-over":"","constant.cairo-operator-in":"","constant.cairo-operator-out":"","constant.cairo-operator-atop":"","constant.cairo-operator-dest":"","constant.cairo-operator-dest-over":"","constant.cairo-operator-dest-in":"","constant.cairo-operator-dest-out":"","constant.cairo-operator-dest-atop":"","constant.cairo-operator-xor":"","constant.cairo-operator-add":"","constant.cairo-operator-saturate":"","constant.cairo-pattern-type-solid":"","constant.cairo-pattern-type-surface":"","constant.cairo-pattern-type-linear":"","constant.cairo-pattern-type-radial":"","constant.cairo-extend-none":"","constant.cairo-extend-repeat":"","constant.cairo-extend-reflect":"","constant.cairo-extend-pad":"","constant.cairo-filter-fast":"","constant.cairo-filter-good":"","constant.cairo-filter-best":"","constant.cairo-filter-nearest":"","constant.cairo-filter-bilinear":"","constant.cairo-filter-gaussian":"","constant.cairo-hint-style-default":"","constant.cairo-hint-style-none":"","constant.cairo-hint-style-slight":"","constant.cairo-hint-style-medium":"","constant.cairo-hint-style-full":"","constant.cairo-hint-metrics-default":"","constant.cairo-hint-metrics-off":"","constant.cairo-hint-metrics-on":"","constant.cairo-font-type-toy":"","constant.cairo-font-type-ft":"","constant.cairo-font-type-win32":"","constant.cairo-font-type-quartz":"","constant.cairo-font-slant-normal":"","constant.cairo-font-slant-italic":"","constant.cairo-font-slant-oblique":"","constant.cairo-font-weight-normal":"","constant.cairo-font-weight-bold":"","constant.cairo-content-color":"","constant.cairo-content-alpha":"","constant.cairo-content-color-alpha":"","constant.cairo-surface-type-image":"","constant.cairo-surface-type-pdf":"","constant.cairo-surface-type-ps":"","constant.cairo-surface-type-xlib":"","constant.cairo-surface-type-xcb":"","constant.cairo-surface-type-glitz":"","constant.cairo-surface-type-quartz":"","constant.cairo-surface-type-win32":"","constant.cairo-surface-type-beos":"","constant.cairo-surface-type-directfb":"","constant.cairo-surface-type-svg":"","constant.cairo-surface-type-os2":"","constant.cairo-surface-type-win32-printing":"","constant.cairo-surface-type-quartz-image":"","constant.cairo-format-argb32":"","constant.cairo-format-rgb24":"","constant.cairo-format-a8":"","constant.cairo-format-a1":"","constant.cairo-ps-level-2":"","constant.cairo-ps-level-3":"","constant.cairo-svg-version-1-1":"","constant.cairo-svg-version-1-2":"","cairo.constants":"Predefined Constants","example-2735":"Cairo Example","cairo.examples":"Examples","example-2736":"cairo_create example","function.cairo-create":"Returns a new CairoContext object on the requested surface.","example-2737":"cairo_font_face_get_type example","function.cairo-font-face-get-type":"Description","example-2738":"cairo_font_face_status example","function.cairo-font-face-status":"Description","example-2739":"cairo_font_options_create example","function.cairo-font-options-create":"Description","example-2740":"cairo_font_options_equal example","function.cairo-font-options-equal":"Description","example-2741":"cairo_font_options_get_antialias example","function.cairo-font-options-get-antialias":"Description","example-2742":"cairo_font_options_get_hint_metrics example","function.cairo-font-options-get-hint-metrics":"Description","example-2743":"cairo_font_options_get_hint_style example","function.cairo-font-options-get-hint-style":"Description","example-2744":"cairo_font_options_get_subpixel_order example","function.cairo-font-options-get-subpixel-order":"Description","example-2745":"cairo_font_options_hash example","function.cairo-font-options-hash":"Description","example-2746":"cairo_font_options_merge example","function.cairo-font-options-merge":"Description","example-2747":"cairo_font_options_set_antialias example","function.cairo-font-options-set-antialias":"Description","example-2748":"cairo_font_options_set_hint_metrics example","function.cairo-font-options-set-hint-metrics":"Description","example-2749":"cairo_font_options_set_hint_style example","function.cairo-font-options-set-hint-style":"Description","example-2750":"cairo_font_options_set_subpixel_order example","function.cairo-font-options-set-subpixel-order":"Description","example-2751":"cairo_font_options_status example","function.cairo-font-options-status":"Description","example-2752":"cairo_format_stride_for_width example","function.cairo-format-stride-for-width":"Description","example-2753":"cairo_image_surface_create_for_data example","function.cairo-image-surface-create-for-data":"Description","example-2754":"cairo_image_surface_create_from_png example","function.cairo-image-surface-create-from-png":"Description","example-2755":"cairo_image_surface_create example","function.cairo-image-surface-create":"Description","example-2756":"cairo_image_surface_get_data example","function.cairo-image-surface-get-data":"Description","example-2757":"cairo_image_surface_get_format example","function.cairo-image-surface-get-format":"Description","example-2758":"cairo_image_surface_get_height example","function.cairo-image-surface-get-height":"Description","example-2759":"cairo_image_surface_get_stride example","function.cairo-image-surface-get-stride":"Description","example-2760":"cairo_image_surface_get_width example","function.cairo-image-surface-get-width":"Description","function.cairo-matrix-create-scale":"Alias of CairoMatrix::initScale","function.cairo-matrix-create-translate":"Alias of CairoMatrix::initTranslate","example-2761":"cairo_matrix_invert example","function.cairo-matrix-invert":"Description","example-2762":"cairo_matrix_multiply example","function.cairo-matrix-multiply":"Description","example-2763":"cairo_matrix_rotate example","function.cairo-matrix-rotate":"Description","example-2764":"cairo_matrix_transform_distance example","function.cairo-matrix-transform-distance":"Description","example-2765":"cairo_matrix_transform_point example","function.cairo-matrix-transform-point":"Description","example-2766":"cairo_matrix_translate example","function.cairo-matrix-translate":"Description","example-2767":"cairo_pattern_add_color_stop_rgb example","function.cairo-pattern-add-color-stop-rgb":"Description","example-2768":"cairo_pattern_add_color_stop_rgba example","function.cairo-pattern-add-color-stop-rgba":"Description","example-2769":"cairo_pattern_create_for_surface example","function.cairo-pattern-create-for-surface":"Description","example-2770":"cairo_pattern_create_linear example","function.cairo-pattern-create-linear":"Description","example-2771":"cairo_pattern_create_radial example","function.cairo-pattern-create-radial":"Description","example-2772":"cairo_pattern_create_rgb example","function.cairo-pattern-create-rgb":"Description","example-2773":"cairo_pattern_create_rgba example","function.cairo-pattern-create-rgba":"Description","example-2774":"cairo_pattern_get_color_stop_count example","function.cairo-pattern-get-color-stop-count":"Description","example-2775":"cairo_pattern_get_color_stop_rgba example","function.cairo-pattern-get-color-stop-rgba":"Description","example-2776":"cairo_pattern_get_extend example","function.cairo-pattern-get-extend":"Description","example-2777":"cairo_pattern_get_filter example","function.cairo-pattern-get-filter":"Description","example-2778":"cairo_pattern_get_linear_points example","function.cairo-pattern-get-linear-points":"Description","example-2779":"cairo_pattern_get_matrix example","function.cairo-pattern-get-matrix":"Description","example-2780":"cairo_pattern_get_radial_circles example","function.cairo-pattern-get-radial-circles":"Description","example-2781":"cairo_pattern_get_rgba example","function.cairo-pattern-get-rgba":"Description","example-2782":"cairo_pattern_get_surface example","function.cairo-pattern-get-surface":"Description","example-2783":"cairo_pattern_get_type example","function.cairo-pattern-get-type":"Description","example-2784":"cairo_pattern_set_extend example","function.cairo-pattern-set-extend":"Description","example-2785":"cairo_pattern_set_filter example","function.cairo-pattern-set-filter":"Description","example-2786":"cairo_pattern_set_matrix example","function.cairo-pattern-set-matrix":"Description","example-2787":"cairo_pattern_status example","function.cairo-pattern-status":"Description","example-2788":"cairo_pdf_surface_create example","function.cairo-pdf-surface-create":"Description","example-2789":"cairo_pdf_surface_set_size example","function.cairo-pdf-surface-set-size":"Description","example-2790":"cairo_ps_get_levels example","function.cairo-ps-get-levels":"Description","example-2791":"cairo_ps_level_to_string example","function.cairo-ps-level-to-string":"Description","example-2792":"cairo_ps_surface_create example","function.cairo-ps-surface-create":"Description","example-2793":"cairo_ps_surface_dsc_begin_page_setup example","function.cairo-ps-surface-dsc-begin-page-setup":"Description","example-2794":"cairo_ps_surface_dsc_begin_setup example","function.cairo-ps-surface-dsc-begin-setup":"Description","example-2795":"cairo_ps_surface_dsc_comment example","function.cairo-ps-surface-dsc-comment":"Description","example-2796":"cairo_ps_surface_get_eps example","function.cairo-ps-surface-get-eps":"Description","example-2797":"cairo_ps_surface_restrict_to_level example","function.cairo-ps-surface-restrict-to-level":"Description","example-2798":"cairo_ps_surface_set_eps example","function.cairo-ps-surface-set-eps":"Description","example-2799":"cairo_ps_surface_set_size example","function.cairo-ps-surface-set-size":"Description","example-2800":"cairo_scaled_font_create example","function.cairo-scaled-font-create":"Description","example-2801":"cairo_scaled_font_extents example","function.cairo-scaled-font-extents":"Description","example-2802":"cairo_scaled_font_get_ctm example","function.cairo-scaled-font-get-ctm":"Description","example-2803":"cairo_scaled_font_get_font_face example","function.cairo-scaled-font-get-font-face":"Description","example-2804":"cairo_scaled_font_get_font_matrix example","function.cairo-scaled-font-get-font-matrix":"Description","example-2805":"cairo_scaled_font_get_font_options example","function.cairo-scaled-font-get-font-options":"Description","example-2806":"cairo_scaled_font_get_scale_matrix example","function.cairo-scaled-font-get-scale-matrix":"Description","example-2807":"cairo_scaled_font_get_type example","function.cairo-scaled-font-get-type":"Description","example-2808":"cairo_scaled_font_glyph_extents example","function.cairo-scaled-font-glyph-extents":"Description","example-2809":"cairo_scaled_font_status example","function.cairo-scaled-font-status":"Description","example-2810":"cairo_scaled_font_text_extents example","function.cairo-scaled-font-text-extents":"Description","example-2811":"cairo_surface_copy_page example","function.cairo-surface-copy-page":"Description","example-2812":"cairo_surface_create_similar example","function.cairo-surface-create-similar":"Description","example-2813":"cairo_surface_finish example","function.cairo-surface-finish":"Description","example-2814":"cairo_surface_flush example","function.cairo-surface-flush":"Description","example-2815":"cairo_surface_get_content example","function.cairo-surface-get-content":"Description","example-2816":"cairo_surface_get_device_offset example","function.cairo-surface-get-device-offset":"Description","example-2817":"cairo_surface_get_font_options example","function.cairo-surface-get-font-options":"Description","example-2818":"cairo_surface_get_type example","function.cairo-surface-get-type":"Description","example-2819":"cairo_surface_mark_dirty_rectangle example","function.cairo-surface-mark-dirty-rectangle":"Description","example-2820":"cairo_surface_mark_dirty example","function.cairo-surface-mark-dirty":"Description","example-2821":"cairo_surface_set_device_offset example","function.cairo-surface-set-device-offset":"Description","example-2822":"cairo_surface_set_fallback_resolution example","function.cairo-surface-set-fallback-resolution":"Description","example-2823":"cairo_surface_show_page example","function.cairo-surface-show-page":"Description","example-2824":"cairo_surface_status example","function.cairo-surface-status":"Description","example-2825":"cairo_surface_write_to_png example","function.cairo-surface-write-to-png":"Description","example-2826":"cairo_svg_surface_create example","function.cairo-svg-surface-create":"Description","example-2827":"cairo_svg_surface_restrict_to_version example","function.cairo-svg-surface-restrict-to-version":"Description","example-2828":"cairo_svg_version_to_string example","function.cairo-svg-version-to-string":"Description","ref.cairo":"Cairo Functions","cairo.intro":"Introduction","cairo.synopsis":"Class synopsis","example-2829":"Object oriented style","example-2830":"Procedural style","cairo.availablefonts":"Retrieves the availables font types","example-2831":"Object oriented style","example-2832":"Procedural style","cairo.availablesurfaces":"Retrieves all available surfaces","example-2833":"Object oriented style","example-2834":"Procedural style","cairo.statustostring":"Retrieves the current status as string","example-2835":"Object oriented style","example-2836":"Procedural style","cairo.version":"Retrives cairo's library version","example-2837":"Object oriented style","example-2838":"Procedural style","cairo.versionstring":"Retrieves cairo version as string","class.cairo":"The Cairo class","cairocontext.intro":"Introduction","cairocontext.synopsis":"Class synopsis","example-2839":"Object oriented style","example-2840":"Procedural style","cairocontext.appendpath":"Appends a path to current path","example-2841":"Object oriented style","example-2842":"Procedural style","cairocontext.arc":"Adds a circular arc","example-2843":"Object oriented style","example-2844":"Procedural style","cairocontext.arcnegative":"Adds a negative arc","example-2845":"Object oriented style","example-2846":"Procedural style","cairocontext.clip":"Establishes a new clip region","example-2847":"Object oriented style","example-2848":"Procedural style","cairocontext.clipextents":"Computes the area inside the current clip","example-2849":"Object oriented style","example-2850":"Procedural style","cairocontext.clippreserve":"Establishes a new clip region from the current clip","example-2851":"Object oriented style","example-2852":"Procedural style","cairocontext.cliprectanglelist":"Retrieves the current clip as a list of rectangles","example-2853":"Object oriented style","example-2854":"Procedural style","cairocontext.closepath":"Closes the current path","example-2855":"CairoContext::__construct example","cairocontext.construct":"Creates a new CairoContext","example-2856":"Object oriented style","example-2857":"Procedural style","cairocontext.copypage":"Emits the current page","example-2858":"Object oriented style","example-2859":"Procedural style","cairocontext.copypath":"Creates a copy of the current path","example-2860":"Object oriented style","example-2861":"Procedural style","cairocontext.copypathflat":"Gets a flattened copy of the current path","example-2862":"Object oriented style","example-2863":"Procedural style","cairocontext.curveto":"Adds a curve","cairocontext.devicetouser":"Transform a coordinate","cairocontext.devicetouserdistance":"Transform a distance","example-2864":"Object oriented style","example-2865":"Procedural style","cairocontext.fill":"Fills the current path","example-2866":"Object oriented style","example-2867":"Procedural style","cairocontext.fillextents":"Computes the filled area","example-2868":"Object oriented style","example-2869":"Procedural style","cairocontext.fillpreserve":"Fills and preserve the current path","example-2870":"Object oriented style","example-2871":"Procedural style","cairocontext.fontextents":"Get the font extents","example-2872":"Object oriented style","example-2873":"Procedural style","cairocontext.getantialias":"Retrives the current antialias mode","example-2874":"Object oriented style","example-2875":"Procedural style","cairocontext.getcurrentpoint":"The getCurrentPoint purpose","example-2876":"Object oriented style","example-2877":"Procedural style","cairocontext.getdash":"The getDash purpose","example-2878":"Object oriented style","example-2879":"Procedural style","cairocontext.getdashcount":"The getDashCount purpose","example-2880":"Object oriented style","example-2881":"Procedural style","cairocontext.getfillrule":"The getFillRule purpose","example-2882":"Object oriented style","example-2883":"Procedural style","cairocontext.getfontface":"The getFontFace purpose","example-2884":"Object oriented style","example-2885":"Procedural style","cairocontext.getfontmatrix":"The getFontMatrix purpose","example-2886":"Object oriented style","example-2887":"Procedural style","cairocontext.getfontoptions":"The getFontOptions purpose","example-2888":"Object oriented style","example-2889":"Procedural style","cairocontext.getgrouptarget":"The getGroupTarget purpose","example-2890":"Object oriented style","example-2891":"Procedural style","cairocontext.getlinecap":"The getLineCap purpose","example-2892":"Object oriented style","example-2893":"Procedural style","cairocontext.getlinejoin":"The getLineJoin purpose","example-2894":"Object oriented style","example-2895":"Procedural style","cairocontext.getlinewidth":"The getLineWidth purpose","example-2896":"Object oriented style","example-2897":"Procedural style","cairocontext.getmatrix":"The getMatrix purpose","example-2898":"Object oriented style","example-2899":"Procedural style","cairocontext.getmiterlimit":"The getMiterLimit purpose","example-2900":"Object oriented style","example-2901":"Procedural style","cairocontext.getoperator":"The getOperator purpose","example-2902":"Object oriented style","example-2903":"Procedural style","cairocontext.getscaledfont":"The getScaledFont purpose","example-2904":"Object oriented style","example-2905":"Procedural style","cairocontext.getsource":"The getSource purpose","example-2906":"Object oriented style","example-2907":"Procedural style","cairocontext.gettarget":"The getTarget purpose","example-2908":"Object oriented style","example-2909":"Procedural style","cairocontext.gettolerance":"The getTolerance purpose","example-2910":"Object oriented style","example-2911":"Procedural style","cairocontext.glyphpath":"The glyphPath purpose","example-2912":"Object oriented style","example-2913":"Procedural style","cairocontext.hascurrentpoint":"The hasCurrentPoint purpose","example-2914":"Object oriented style","example-2915":"Procedural style","cairocontext.identitymatrix":"The identityMatrix purpose","example-2916":"Object oriented style","example-2917":"Procedural style","cairocontext.infill":"The inFill purpose","example-2918":"Object oriented style","example-2919":"Procedural style","cairocontext.instroke":"The inStroke purpose","example-2920":"Object oriented style","example-2921":"Procedural style","cairocontext.lineto":"The lineTo purpose","example-2922":"Object oriented style","example-2923":"Procedural style","cairocontext.mask":"The mask purpose","example-2924":"Object oriented style","example-2925":"Procedural style","cairocontext.masksurface":"The maskSurface purpose","example-2926":"Object oriented style","example-2927":"Procedural style","cairocontext.moveto":"The moveTo purpose","example-2928":"Object oriented style","example-2929":"Procedural style","cairocontext.newpath":"The newPath purpose","example-2930":"Object oriented style","example-2931":"Procedural style","cairocontext.newsubpath":"The newSubPath purpose","example-2932":"Object oriented style","example-2933":"Procedural style","cairocontext.paint":"The paint purpose","example-2934":"Object oriented style","example-2935":"Procedural style","cairocontext.paintwithalpha":"The paintWithAlpha purpose","example-2936":"Object oriented style","example-2937":"Procedural style","cairocontext.pathextents":"The pathExtents purpose","example-2938":"Object oriented style","example-2939":"Procedural style","cairocontext.popgroup":"The popGroup purpose","example-2940":"Object oriented style","example-2941":"Procedural style","cairocontext.popgrouptosource":"The popGroupToSource purpose","example-2942":"Object oriented style","example-2943":"Procedural style","cairocontext.pushgroup":"The pushGroup purpose","example-2944":"Object oriented style","example-2945":"Procedural style","cairocontext.pushgroupwithcontent":"The pushGroupWithContent purpose","example-2946":"Object oriented style","example-2947":"Procedural style","cairocontext.rectangle":"The rectangle purpose","example-2948":"Object oriented style","example-2949":"Procedural style","cairocontext.relcurveto":"The relCurveTo purpose","example-2950":"Object oriented style","example-2951":"Procedural style","cairocontext.rellineto":"The relLineTo purpose","example-2952":"Object oriented style","example-2953":"Procedural style","cairocontext.relmoveto":"The relMoveTo purpose","example-2954":"Object oriented style","example-2955":"Procedural style","cairocontext.resetclip":"The resetClip purpose","example-2956":"Object oriented style","example-2957":"Procedural style","cairocontext.restore":"The restore purpose","example-2958":"Object oriented style","example-2959":"Procedural style","cairocontext.rotate":"The rotate purpose","example-2960":"Object oriented style","example-2961":"Procedural style","cairocontext.save":"The save purpose","example-2962":"Object oriented style","example-2963":"Procedural style","cairocontext.scale":"The scale purpose","example-2964":"Object oriented style","example-2965":"Procedural style","cairocontext.selectfontface":"The selectFontFace purpose","example-2966":"Object oriented style","example-2967":"Procedural style","cairocontext.setantialias":"The setAntialias purpose","example-2968":"Object oriented style","example-2969":"Procedural style","cairocontext.setdash":"The setDash purpose","example-2970":"Object oriented style","example-2971":"Procedural style","cairocontext.setfillrule":"The setFillRule purpose","example-2972":"Object oriented style","example-2973":"Procedural style","cairocontext.setfontface":"The setFontFace purpose","example-2974":"Object oriented style","example-2975":"Procedural style","cairocontext.setfontmatrix":"The setFontMatrix purpose","example-2976":"Object oriented style","example-2977":"Procedural style","cairocontext.setfontoptions":"The setFontOptions purpose","example-2978":"Object oriented style","example-2979":"Procedural style","cairocontext.setfontsize":"The setFontSize purpose","example-2980":"Object oriented style","example-2981":"Procedural style","cairocontext.setlinecap":"The setLineCap purpose","example-2982":"Object oriented style","example-2983":"Procedural style","cairocontext.setlinejoin":"The setLineJoin purpose","example-2984":"Object oriented style","example-2985":"Procedural style","cairocontext.setlinewidth":"The setLineWidth purpose","example-2986":"Object oriented style","example-2987":"Procedural style","cairocontext.setmatrix":"The setMatrix purpose","example-2988":"Object oriented style","example-2989":"Procedural style","cairocontext.setmiterlimit":"The setMiterLimit purpose","example-2990":"Object oriented style","example-2991":"Procedural style","cairocontext.setoperator":"The setOperator purpose","example-2992":"Object oriented style","example-2993":"Procedural style","cairocontext.setscaledfont":"The setScaledFont purpose","example-2994":"Object oriented style","example-2995":"Procedural style","cairocontext.setsource":"The setSource purpose","example-2996":"Object oriented style","example-2997":"Procedural style","cairocontext.setsourcergb":"The setSourceRGB purpose","example-2998":"Object oriented style","example-2999":"Procedural style","cairocontext.setsourcergba":"The setSourceRGBA purpose","example-3000":"Object oriented style","example-3001":"Procedural style","cairocontext.setsourcesurface":"The setSourceSurface purpose","example-3002":"Object oriented style","example-3003":"Procedural style","cairocontext.settolerance":"The setTolerance purpose","example-3004":"Object oriented style","example-3005":"Procedural style","cairocontext.showpage":"The showPage purpose","example-3006":"Object oriented style","example-3007":"Procedural style","cairocontext.showtext":"The showText purpose","example-3008":"Object oriented style","example-3009":"Procedural style","cairocontext.status":"The status purpose","example-3010":"Object oriented style","example-3011":"Procedural style","cairocontext.stroke":"The stroke purpose","example-3012":"Object oriented style","example-3013":"Procedural style","cairocontext.strokeextents":"The strokeExtents purpose","example-3014":"Object oriented style","example-3015":"Procedural style","cairocontext.strokepreserve":"The strokePreserve purpose","example-3016":"Object oriented style","example-3017":"Procedural style","cairocontext.textextents":"The textExtents purpose","example-3018":"Object oriented style","example-3019":"Procedural style","cairocontext.textpath":"The textPath purpose","example-3020":"Object oriented style","example-3021":"Procedural style","cairocontext.transform":"The transform purpose","example-3022":"Object oriented style","example-3023":"Procedural style","cairocontext.translate":"The translate purpose","example-3024":"Object oriented style","example-3025":"Procedural style","cairocontext.usertodevice":"The userToDevice purpose","example-3026":"Object oriented style","example-3027":"Procedural style","cairocontext.usertodevicedistance":"The userToDeviceDistance purpose","class.cairocontext":"The CairoContext class","cairoexception.intro":"Introduction","cairoexception.synopsis":"Class synopsis","class.cairoexception":"The CairoException class","cairostatus.intro":"Introduction","cairostatus.synopsis":"Class synopsis","cairostatus.constants.success":"","cairostatus.constants.no-memory":"","cairostatus.constants.invalid-restore":"","cairostatus.constants.invalid-pop-group":"","cairostatus.constants.no-current-point":"","cairostatus.constants.invalid-matrix":"","cairostatus.constants.invalid-status":"","cairostatus.constants.null-pointer":"","cairostatus.constants.invalid-string":"","cairostatus.constants.invalid-path-data":"","cairostatus.constants.read-error":"","cairostatus.constants.write-error":"","cairostatus.constants.surface-finished":"","cairostatus.constants.surface-type-mismatch":"","cairostatus.constants.pattern-type-mismatch":"","cairostatus.constants.invalid-content":"","cairostatus.constants.invalid-format":"","cairostatus.constants.invalid-visual":"","cairostatus.constants.file-not-found":"","cairostatus.constants.invalid-dash":"","cairostatus.constants.invalid-dsc-comment":"","cairostatus.constants.invalid-index":"","cairostatus.constants.clip-not-representable":"","cairostatus.constants.temp-file-error":"","cairostatus.constants.invalid-stride":"","cairostatus.constants":"Predefined Constants","class.cairostatus":"The CairoStatus class","cairosurface.intro":"Introduction","cairosurface.synopsis":"Class synopsis","cairosurface.construct":"The __construct purpose","example-3028":"Object oriented style","example-3029":"Procedural style","cairosurface.copypage":"The copyPage purpose","example-3030":"CairoSurface::createSimilar example","cairosurface.createsimilar":"The createSimilar purpose","example-3031":"CairoSurface::finish example","cairosurface.finish":"The finish purpose","example-3032":"CairoSurface::flush example","cairosurface.flush":"The flush purpose","example-3033":"CairoSurface::getContent example","cairosurface.getcontent":"The getContent purpose","example-3034":"CairoSurface::getDeviceOffset example","cairosurface.getdeviceoffset":"The getDeviceOffset purpose","example-3035":"Object oriented style","example-3036":"Procedural style","cairosurface.getfontoptions":"The getFontOptions purpose","example-3037":"CairoSurface::getType example","cairosurface.gettype":"The getType purpose","example-3038":"CairoSurface::markDirty example","cairosurface.markdirty":"The markDirty purpose","example-3039":"CairoSurface::markDirtyRectangle example","cairosurface.markdirtyrectangle":"The markDirtyRectangle purpose","example-3040":"CairoSurface::setDeviceOffset example","cairosurface.setdeviceoffset":"The setDeviceOffset purpose","example-3041":"CairoSurface::setFallbackResolution example","cairosurface.setfallbackresolution":"The setFallbackResolution purpose","example-3042":"Object oriented style","example-3043":"Procedural style","cairosurface.showpage":"The showPage purpose","example-3044":"Object oriented style","example-3045":"Procedural style","cairosurface.status":"The status purpose","example-3046":"CairoSurface::writeToPng example","cairosurface.writetopng":"The writeToPng purpose","class.cairosurface":"The CairoSurface class","cairosvgsurface.intro":"Introduction","cairosvgsurface.synopsis":"Class synopsis","example-3047":"CairoSvgSurface::__construct example","cairosvgsurface.construct":"The __construct purpose","example-3048":"CairoSvgSurface::getVersions example","example-3049":"Procedural style","cairosvgsurface.getversions":"Used to retrieve a list of supported SVG versions","example-3050":"CairoSvgSurface::restrictToVersion example","cairosvgsurface.restricttoversion":"The restrictToVersion purpose","example-3051":"CairoSvgSurface::versionToString example","cairosvgsurface.versiontostring":"The versionToString purpose","class.cairosvgsurface":"Svg Surface Backend","cairoimagesurface.intro":"Introduction","cairoimagesurface.synopsis":"Class synopsis","example-3052":"CairoImageSurface::__construct example","cairoimagesurface.construct":"Creates a new CairoImageSurface","example-3053":"CairoImageSurface::createForData example","cairoimagesurface.createfordata":"The createForData purpose","example-3054":"CairoImageSurface::createFromPng example","cairoimagesurface.createfrompng":"Creates a new CairoImageSurface form a png image file","example-3055":"CairoImageSurface::getData example","cairoimagesurface.getdata":"Gets the image data as string","example-3056":"CairoImageSurface::getFormat example","cairoimagesurface.getformat":"Get the image format","example-3057":"CairoImageSurface::getHeight example","cairoimagesurface.getheight":"Retrieves the height of the CairoImageSurface","example-3058":"CairoImageSurface::getStride example","cairoimagesurface.getstride":"The getStride purpose","example-3059":"CairoImageSurface::getWidth example","cairoimagesurface.getwidth":"Retrieves the width of the CairoImageSurface","class.cairoimagesurface":"The CairoImageSurface class","cairopdfsurface.intro":"Introduction","cairopdfsurface.synopsis":"Class synopsis","example-3060":"CairoPdfSurface::__construct example","cairopdfsurface.construct":"The __construct purpose","example-3061":"CairoPdfSurface::setSize example","cairopdfsurface.setsize":"The setSize purpose","class.cairopdfsurface":"The CairoPdfSurface class","cairopssurface.intro":"Introduction","cairopssurface.synopsis":"Class synopsis","example-3062":"CairoPsSurface::__construct example","cairopssurface.construct":"The __construct purpose","example-3063":"CairoPsSurface::dscBeginPageSetup example","cairopssurface.dscbeginpagesetup":"The dscBeginPageSetup purpose","example-3064":"CairoPsSurface::dscBeginSetup example","cairopssurface.dscbeginsetup":"The dscBeginSetup purpose","example-3065":"CairoPsSurface::dscComment example","cairopssurface.dsccomment":"The dscComment purpose","example-3066":"CairoPsSurface::getEps example","cairopssurface.geteps":"The getEps purpose","example-3067":"CairoPsSurface::getLevels example","cairopssurface.getlevels":"The getLevels purpose","example-3068":"CairoPsSurface::levelToString example","cairopssurface.leveltostring":"The levelToString purpose","example-3069":"CairoPsSurface::restrictToLevel example","cairopssurface.restricttolevel":"The restrictToLevel purpose","example-3070":"CairoPsSurface::setEps example","cairopssurface.seteps":"The setEps purpose","example-3071":"CairoPsSurface::setSize example","cairopssurface.setsize":"The setSize purpose","class.cairopssurface":"The CairoPsSurface class","cairosurfacetype.intro":"Introduction","cairosurfacetype.synopsis":"Class synopsis","cairosurfacetype.constants.image":"","cairosurfacetype.constants.pdf":"","cairosurfacetype.constants.ps":"","cairosurfacetype.constants.xlib":"","cairosurfacetype.constants.xcb":"","cairosurfacetype.constants.glitz":"","cairosurfacetype.constants.quartz":"","cairosurfacetype.constants.win32":"","cairosurfacetype.constants.beos":"","cairosurfacetype.constants.directfb":"","cairosurfacetype.constants.svg":"","cairosurfacetype.constants.os2":"","cairosurfacetype.constants.win32-printing":"","cairosurfacetype.constants.quartz-image":"","cairosurfacetype.constants":"Predefined Constants","class.cairosurfacetype":"The CairoSurfaceType class","cairofontface.intro":"Introduction","cairofontface.synopsis":"Class synopsis","example-3072":"CairoFontFace::__construct example","cairofontface.construct":"Creates a new CairoFontFace object","example-3073":"CairoFontFace::getType example","cairofontface.gettype":"Retrieves the font face type","example-3074":"Object oriented style","example-3075":"Procedural style","cairofontface.status":"Check for CairoFontFace errors","class.cairofontface":"The CairoFontFace class","cairofontoptions.intro":"Introduction","cairofontoptions.synopsis":"Class synopsis","example-3076":"CairoFontOptions::__construct example","cairofontoptions.construct":"The __construct purpose","example-3077":"CairoFontOptions::equal example","cairofontoptions.equal":"The equal purpose","example-3078":"Object oriented style","example-3079":"Procedural style","cairofontoptions.getantialias":"The getAntialias purpose","example-3080":"CairoFontOptions::getHintMetrics example","cairofontoptions.gethintmetrics":"The getHintMetrics purpose","example-3081":"CairoFontOptions::getHintStyle example","cairofontoptions.gethintstyle":"The getHintStyle purpose","example-3082":"CairoFontOptions::getSubpixelOrder example","cairofontoptions.getsubpixelorder":"The getSubpixelOrder purpose","example-3083":"CairoFontOptions::hash example","cairofontoptions.hash":"The hash purpose","example-3084":"CairoFontOptions::merge example","cairofontoptions.merge":"The merge purpose","example-3085":"Object oriented style","example-3086":"Procedural style","cairofontoptions.setantialias":"The setAntialias purpose","example-3087":"CairoFontOptions::setHintMetrics example","cairofontoptions.sethintmetrics":"The setHintMetrics purpose","example-3088":"CairoFontOptions::setHintStyle example","cairofontoptions.sethintstyle":"The setHintStyle purpose","example-3089":"CairoFontOptions::setSubpixelOrder example","cairofontoptions.setsubpixelorder":"The setSubpixelOrder purpose","example-3090":"Object oriented style","example-3091":"Procedural style","cairofontoptions.status":"The status purpose","class.cairofontoptions":"The CairoFontOptions class","cairofontslant.intro":"Introduction","cairofontslant.synopsis":"Class synopsis","cairofontslant.constants.normal":"","cairofontslant.constants.italic":"","cairofontslant.constants.oblique":"","cairofontslant.constants":"Predefined Constants","class.cairofontslant":"The CairoFontSlant class","cairofonttype.intro":"Introduction","cairofonttype.synopsis":"Class synopsis","cairofonttype.constants.toy":"","cairofonttype.constants.ft":"","cairofonttype.constants.win32":"","cairofonttype.constants.quartz":"","cairofonttype.constants.user":"","cairofonttype.constants":"Predefined Constants","class.cairofonttype":"The CairoFontType class","cairofontweight.intro":"Introduction","cairofontweight.synopsis":"Class synopsis","cairofontweight.constants.normal":"","cairofontweight.constants.bold":"","cairofontweight.constants":"Predefined Constants","class.cairofontweight":"The CairoFontWeight class","cairoscaledfont.intro":"Introduction","cairoscaledfont.synopsis":"Class synopsis","example-3092":"CairoScaledFont::__construct example","cairoscaledfont.construct":"The __construct purpose","example-3093":"CairoScaledFont::extents example","cairoscaledfont.extents":"The extents purpose","example-3094":"CairoScaledFont::getCtm example","cairoscaledfont.getctm":"The getCtm purpose","example-3095":"Object oriented style","example-3096":"Procedural style","cairoscaledfont.getfontface":"The getFontFace purpose","example-3097":"Object oriented style","example-3098":"Procedural style","cairoscaledfont.getfontmatrix":"The getFontMatrix purpose","example-3099":"Object oriented style","example-3100":"Procedural style","cairoscaledfont.getfontoptions":"The getFontOptions purpose","example-3101":"CairoScaledFont::getScaleMatrix example","cairoscaledfont.getscalematrix":"The getScaleMatrix purpose","example-3102":"CairoScaledFont::getType example","cairoscaledfont.gettype":"The getType purpose","example-3103":"CairoScaledFont::glyphExtents example","cairoscaledfont.glyphextents":"The glyphExtents purpose","example-3104":"Object oriented style","example-3105":"Procedural style","cairoscaledfont.status":"The status purpose","example-3106":"Object oriented style","example-3107":"Procedural style","cairoscaledfont.textextents":"The textExtents purpose","class.cairoscaledfont":"The CairoScaledFont class","cairotoyfontface.intro":"Introduction","cairotoyfontface.synopsis":"Class synopsis","class.cairotoyfontface":"The CairoToyFontFace class","cairopatterntype.intro":"Introduction","cairopatterntype.synopsis":"Class synopsis","cairopatterntype.constants.solid":"","cairopatterntype.constants.surface":"","cairopatterntype.constants.linear":"","cairopatterntype.constants.radial":"","cairopatterntype.constants":"Predefined Constants","class.cairopatterntype":"The CairoPatternType class","cairopattern.intro":"Introduction","cairopattern.synopsis":"Class synopsis","example-3108":"CairoPattern::__construct example","cairopattern.construct":"The __construct purpose","example-3109":"Object oriented style","example-3110":"Procedural style","cairopattern.getmatrix":"The getMatrix purpose","example-3111":"CairoPattern::getType example","cairopattern.gettype":"The getType purpose","example-3112":"Object oriented style","example-3113":"Procedural style","cairopattern.setmatrix":"The setMatrix purpose","example-3114":"Object oriented style","example-3115":"Procedural style","cairopattern.status":"The status purpose","class.cairopattern":"The CairoPattern class","cairogradientpattern.intro":"Introduction","cairogradientpattern.synopsis":"Class synopsis","example-3116":"CairoGradientPattern::addColorStopRgb example","cairogradientpattern.addcolorstoprgb":"The addColorStopRgb purpose","example-3117":"CairoGradientPattern::addColorStopRgba example","cairogradientpattern.addcolorstoprgba":"The addColorStopRgba purpose","example-3118":"CairoGradientPattern::getColorStopCount example","cairogradientpattern.getcolorstopcount":"The getColorStopCount purpose","example-3119":"CairoGradientPattern::getColorStopRgba example","cairogradientpattern.getcolorstoprgba":"The getColorStopRgba purpose","example-3120":"CairoGradientPattern::getExtend example","cairogradientpattern.getextend":"The getExtend purpose","example-3121":"CairoGradientPattern::setExtend example","cairogradientpattern.setextend":"The setExtend purpose","class.cairogradientpattern":"The CairoGradientPattern class","cairosolidpattern.intro":"Introduction","cairosolidpattern.synopsis":"Class synopsis","example-3122":"CairoSolidPattern::__construct example","cairosolidpattern.construct":"The __construct purpose","example-3123":"CairoSolidPattern::getRgba example","cairosolidpattern.getrgba":"The getRgba purpose","class.cairosolidpattern":"The CairoSolidPattern class","cairosurfacepattern.intro":"Introduction","cairosurfacepattern.synopsis":"Class synopsis","example-3124":"CairoSurfacePattern::__construct example","cairosurfacepattern.construct":"The __construct purpose","example-3125":"CairoSurfacePattern::getExtend example","cairosurfacepattern.getextend":"The getExtend purpose","example-3126":"CairoSurfacePattern::getFilter example","cairosurfacepattern.getfilter":"The getFilter purpose","example-3127":"CairoSurfacePattern::getSurface example","cairosurfacepattern.getsurface":"The getSurface purpose","example-3128":"CairoSurfacePattern::setExtend example","cairosurfacepattern.setextend":"The setExtend purpose","example-3129":"CairoSurfacePattern::setFilter example","cairosurfacepattern.setfilter":"The setFilter purpose","class.cairosurfacepattern":"The CairoSurfacePattern class","cairolineargradient.intro":"Introduction","cairolineargradient.synopsis":"Class synopsis","example-3130":"CairoLinearGradient::__construct example","cairolineargradient.construct":"The __construct purpose","example-3131":"CairoLinearGradient::getPoints example","cairolineargradient.getpoints":"The getPoints purpose","class.cairolineargradient":"The CairoLinearGradient class","cairoradialgradient.intro":"Introduction","cairoradialgradient.synopsis":"Class synopsis","example-3132":"CairoRadialGradient::__construct example","cairoradialgradient.construct":"The __construct purpose","example-3133":"CairoRadialGradient::getCircles example","cairoradialgradient.getcircles":"The getCircles purpose","class.cairoradialgradient":"The CairoRadialGradient class","cairoantialias.intro":"Introduction","cairoantialias.synopsis":"Class synopsis","cairoantialias.constants.mode-default":"","cairoantialias.constants.mode-none":"","cairoantialias.constants.mode-gray":"","cairoantialias.constants.mode-subpixel":"","cairoantialias.constants":"Predefined Constants","class.cairoantialias":"The CairoAntialias class","cairocontent.intro":"Introduction","cairocontent.synopsis":"Class synopsis","cairocontent.constants.color":"","cairocontent.constants.alpha":"","cairocontent.constants.color-alpha":"","cairocontent.constants":"Predefined Constants","class.cairocontent":"The CairoContent class","cairoextend.intro":"Introduction","cairoextend.synopsis":"Class synopsis","cairoextend.constants.none":"","cairoextend.constants.repeat":"","cairoextend.constants.reflect":"","cairoextend.constants.pad":"","cairoextend.constants":"Predefined Constants","class.cairoextend":"The CairoExtend class","cairoformat.intro":"Introduction","cairoformat.synopsis":"Class synopsis","cairoformat.constants.argb32":"","cairoformat.constants.rgb24":"","cairoformat.constants.a8":"","cairoformat.constants.a1":"","cairoformat.constants":"Predefined Constants","example-3134":"CairoFormat::strideForWidth example","cairoformat.strideforwidth":"Provides an appropiate stride to use","class.cairoformat":"The CairoFormat class","cairofillrule.intro":"Introduction","cairofillrule.synopsis":"Class synopsis","cairofillrule.constants.winding":"","cairofillrule.constants.even-odd":"","cairofillrule.constants":"Predefined Constants","class.cairofillrule":"The CairoFillRule class","cairofilter.intro":"Introduction","cairofilter.synopsis":"Class synopsis","cairofilter.constants.fast":"","cairofilter.constants.good":"","cairofilter.constants.best":"","cairofilter.constants.nearest":"","cairofilter.constants.bilinear":"","cairofilter.constants.gaussian":"","cairofilter.constants":"Predefined Constants","class.cairofilter":"The CairoFilter class","cairohintmetrics.intro":"Introduction","cairohintmetrics.synopsis":"Class synopsis","cairohintmetrics.constants.metrics-default":"","cairohintmetrics.constants.metrics-off":"","cairohintmetrics.constants.metrics-on":"","cairohintmetrics.constants":"Predefined Constants","class.cairohintmetrics":"The CairoHintMetrics class","cairohintstyle.intro":"Introduction","cairohintstyle.synopsis":"Class synopsis","cairohintstyle.constants.style-default":"","cairohintstyle.constants.style-none":"","cairohintstyle.constants.style-slight":"","cairohintstyle.constants.style-medium":"","cairohintstyle.constants.style-full":"","cairohintstyle.constants":"Predefined Constants","class.cairohintstyle":"The CairoHintStyle class","cairolinecap.intro":"Introduction","cairolinecap.synopsis":"Class synopsis","cairolinecap.constants.butt":"","cairolinecap.constants.round":"","cairolinecap.constants.square":"","cairolinecap.constants":"Predefined Constants","class.cairolinecap":"The CairoLineCap class","cairolinejoin.intro":"Introduction","cairolinejoin.synopsis":"Class synopsis","cairolinejoin.constants.miter":"","cairolinejoin.constants.round":"","cairolinejoin.constants.bevel":"","cairolinejoin.constants":"Predefined Constants","class.cairolinejoin":"The CairoLineJoin class","cairomatrix.intro":"Introduction","cairomatrix.synopsis":"Class synopsis","example-3135":"Object oriented style","example-3136":"Procedural style","cairomatrix.construct":"Creates a new CairoMatrix object","example-3137":"Object oriented style","example-3138":"Procedural style","cairomatrix.initidentity":"Creates a new identity matrix","example-3139":"Object oriented style","example-3140":"Procedural style","cairomatrix.initrotate":"Creates a new rotated matrix","example-3141":"Object oriented style","example-3142":"Procedural style","cairomatrix.initscale":"Creates a new scaling matrix","example-3143":"Object oriented style","example-3144":"Procedural style","cairomatrix.inittranslate":"Creates a new translation matrix","example-3145":"CairoMatrix::invert example","cairomatrix.invert":"The invert purpose","example-3146":"CairoMatrix::multiply example","cairomatrix.multiply":"The multiply purpose","example-3147":"Object oriented style","example-3148":"Procedural style","cairomatrix.rotate":"The rotate purpose","example-3149":"Object oriented style","example-3150":"Procedural style","cairomatrix.scale":"Applies scaling to a matrix","example-3151":"CairoMatrix::transformDistance example","cairomatrix.transformdistance":"The transformDistance purpose","example-3152":"CairoMatrix::transformPoint example","cairomatrix.transformpoint":"The transformPoint purpose","example-3153":"Object oriented style","example-3154":"Procedural style","cairomatrix.translate":"The translate purpose","class.cairomatrix":"The CairoMatrix class","cairooperator.intro":"Introduction","cairooperator.synopsis":"Class synopsis","cairooperator.constants.clear":"","cairooperator.constants.source":"","cairooperator.constants.over":"","cairooperator.constants.in":"","cairooperator.constants.out":"","cairooperator.constants.atop":"","cairooperator.constants.dest":"","cairooperator.constants.dest-over":"","cairooperator.constants.dest-in":"","cairooperator.constants.dest-out":"","cairooperator.constants.dest-atop":"","cairooperator.constants.xor":"","cairooperator.constants.add":"","cairooperator.constants.saturate":"","cairooperator.constants":"Predefined Constants","class.cairooperator":"The CairoOperator class","cairopath.intro":"Introduction","cairopath.synopsis":"Class synopsis","class.cairopath":"The CairoPath class","cairopslevel.intro":"Introduction","cairopslevel.synopsis":"Class synopsis","cairopslevel.constants.level-2":"","cairopslevel.constants.level-3":"","cairopslevel.constants":"Predefined Constants","class.cairopslevel":"The CairoPsLevel class","cairosubpixelorder.intro":"Introduction","cairosubpixelorder.synopsis":"Class synopsis","cairosubpixelorder.constants.order-default":"","cairosubpixelorder.constants.order-rgb":"","cairosubpixelorder.constants.order-bgr":"","cairosubpixelorder.constants.order-vrgb":"","cairosubpixelorder.constants.order-vbgr":"","cairosubpixelorder.constants":"Predefined Constants","class.cairosubpixelorder":"The CairoSubpixelOrder class","cairosvgversion.intro":"Introduction","cairosvgversion.synopsis":"Class synopsis","cairosvgversion.constants.version-1-1":"","cairosvgversion.constants.version-1-2":"","cairosvgversion.constants":"Predefined Constants","class.cairosvgversion":"The CairoSvgVersion class","book.cairo":"Cairo","intro.exif":"Introduction","exif.requirements":"Requirements","exif.installation":"Installation","ini.exif.encode-unicode":"","ini.exif.decode-unicode-motorola":"","ini.exif.decode-unicode-intel":"","ini.exif.encode-jis":"","ini.exif.decode-jis-motorola":"","ini.exif.decode-jis-intel":"","exif.configuration":"Runtime Configuration","exif.resources":"Resource Types","exif.setup":"Installing\/Configuring","constant.exif-use-mbstring":"","exif.constants":"Predefined Constants","example-3155":"exif_imagetype example","function.exif-imagetype":"Determine the type of an image","example-3156":"exif_read_data example","function.exif-read-data":"Reads the EXIF headers from JPEG or TIFF","example-3157":"exif_tagname example","function.exif-tagname":"Get the header name for an index","example-3158":"exif_thumbnail example","function.exif-thumbnail":"Retrieve the embedded thumbnail of a TIFF or JPEG image","function.read-exif-data":"Alias of exif_read_data","ref.exif":"Exif Functions","book.exif":"Exchangeable image information","intro.image":"Introduction","image.requirements":"Requirements","image.installation":"Installation","ini.image.jpeg-ignore-warning":"","image.configuration":"Runtime Configuration","image.resources":"Resource Types","image.setup":"Installing\/Configuring","constant.gd-version":"","constant.gd-major-version":"","constant.gd-minor-version":"","constant.gd-release-version":"","constant.gd-extra-version":"","constant.gd-bundled":"","constant.img-gif":"","constant.img-jpg":"","constant.img-jpeg":"","constant.img-png":"","constant.img-wbmp":"","constant.img-xpm":"","constant.img-color-tiled":"","constant.img-color-styled":"","constant.img-color-brushed":"","constant.img-color-styledbrushed":"","constant.img-color-transparent":"","constant.img-arc-rounded":"","constant.img-arc-pie":"","constant.img-arc-chord":"","constant.img-arc-nofill":"","constant.img-arc-edged":"","constant.img-gd2-raw":"","constant.img-gd2-compressed":"","constant.img-effect-replace":"","constant.img-effect-alphablend":"","constant.img-effect-normal":"","constant.img-effect-overlay":"","constant.img-filter-negate":"","constant.img-filter-grayscale":"","constant.img-filter-brightness":"","constant.img-filter-contrast":"","constant.img-filter-colorize":"","constant.img-filter-edgedetect":"","constant.img-filter-gaussian-blur":"","constant.img-filter-selective-blur":"","constant.img-filter-emboss":"","constant.img-filter-mean-removal":"","constant.img-filter-smooth":"","constant.img-filter-pixelate":"","constant.imagetype-gif":"","constant.imagetype-jpeg":"","constant.imagetype-jpeg2000":"","constant.imagetype-png":"","constant.imagetype-swf":"","constant.imagetype-psd":"","constant.imagetype-bmp":"","constant.imagetype-wbmp":"","constant.imagetype-xbm":"","constant.imagetype-tiff-ii":"","constant.imagetype-tiff-mm":"","constant.imagetype-iff":"","constant.imagetype-jb2":"","constant.imagetype-jpc":"","constant.imagetype-jp2":"","constant.imagetype-jpx":"","constant.imagetype-swc":"","constant.imagetype-ico":"","constant.png-no-filter":"","constant.png-filter-none":"","constant.png-filter-sub":"","constant.png-filter-up":"","constant.png-filter-avg":"","constant.png-filter-paeth":"","constant.png-all-filters":"","constant.img-flip-vertical":"","constant.img-flip-horizontal":"","constant.img-flip-both":"","constant.img-bell":"","constant.img-bessel":"","constant.img-bilinear-fixed":"","constant.img-bicubic":"","constant.img-bicubic-fixed":"","constant.img-blackman":"","constant.img-box":"","constant.img-bspline":"","constant.img-catmullrom":"","constant.img-gaussian":"","constant.img-generalized-cubic":"","constant.img-hermite":"","constant.img-hamming":"","constant.img-hanning":"","constant.img-mitchell":"","constant.img-power":"","constant.img-quadratic":"","constant.img-sinc":"","constant.img-nearest-neighbour":"","constant.img-weighted4":"","constant.img-triangle":"","image.constants":"Predefined Constants","example-3159":"PNG creation with PHP","image.examples-png":"PNG creation with PHP","example-3160":"Adding watermarks to images using alpha channels","image.examples-watermark":"Adding watermarks to images using alpha channels","example-3161":"Using imagecopymerge to create a translucent watermark","image.examples.merged-watermark":"Using imagecopymerge to create a translucent watermark","image.examples":"Examples","example-3162":"Using gd_info","function.gd-info":"Retrieve information about the currently installed GD library","example-3163":"getimagesize and MIME types","example-3164":"getimagesize example","example-3165":"getimagesize (URL)","example-3166":"getimagesize() returning IPTC","function.getimagesize":"Get the size of an image","example-3167":"getimagesizefromstring example","function.getimagesizefromstring":"Get the size of an image from a string","example-3168":"image_type_to_extension example","function.image-type-to-extension":"Get file extension for image type","example-3169":"image_type_to_mime_type example","function.image-type-to-mime-type":"Get Mime-Type for image-type returned by getimagesize,\n exif_read_data, exif_thumbnail, exif_imagetype","example-3170":"image2wbmp example","function.image2wbmp":"Output image to browser or file","function.imageaffine":"Return an image containing the affine tramsformed src image, using an optional clipping area","function.imageaffinematrixconcat":"Concat two matrices (as in doing many ops in one go)","function.imageaffinematrixget":"Return an image containing the affine tramsformed src image, using an optional clipping area","example-3171":"imagealphablending usage example","function.imagealphablending":"Set the blending mode for an image","example-3172":"A comparison of two lines, one with anti-aliasing switched on","function.imageantialias":"Should antialias functions be used or not","example-3173":"Drawing a circle with imagearc","function.imagearc":"Draws an arc","example-3174":"imagechar example","function.imagechar":"Draw a character horizontally","example-3175":"imagecharup example","function.imagecharup":"Draw a character vertically","example-3176":"imagecolorallocate example","function.imagecolorallocate":"Allocate a color for an image","example-3177":"Example of using imagecolorallocatealpha","function.imagecolorallocatealpha":"Allocate a color for an image","example-3178":"Access distinct RGB values","example-3179":"Human-readable RGB values using imagecolorsforindex","function.imagecolorat":"Get the index of the color of a pixel","example-3180":"Search for a set of colors in an image","function.imagecolorclosest":"Get the index of the closest color to the specified color","example-3181":"Search for a set of colors in an image","function.imagecolorclosestalpha":"Get the index of the closest color to the specified color + alpha","example-3182":"Example of using imagecolorclosesthwb","function.imagecolorclosesthwb":"Get the index of the color which has the hue, white and blackness","example-3183":"Using imagecolordeallocate","function.imagecolordeallocate":"De-allocate a color for an image","example-3184":"Get colors from the GD logo","function.imagecolorexact":"Get the index of the specified color","example-3185":"Get colors from the GD logo","function.imagecolorexactalpha":"Get the index of the specified color + alpha","example-3186":"imagecolormatch example","function.imagecolormatch":"Makes the colors of the palette version of an image more closely match the true color version","example-3187":"Using imagecoloresolve to get colors from an image","function.imagecolorresolve":"Get the index of the specified color or its closest possible alternative","example-3188":"Using imagecoloresolvealpha to get colors from an image","function.imagecolorresolvealpha":"Get the index of the specified color + alpha or its closest possible alternative","example-3189":"imagecolorset example","function.imagecolorset":"Set the color for the specified palette index","example-3190":"imagecolorsforindex example","function.imagecolorsforindex":"Get the colors for an index","example-3191":"Getting total number of colors in an image using imagecolorstotal","function.imagecolorstotal":"Find out the number of colors in an image's palette","example-3192":"imagecolortransparent example","function.imagecolortransparent":"Define a color as transparent","example-3193":"Embossing the PHP.net logo","example-3194":"Gaussian blur","function.imageconvolution":"Apply a 3x3 convolution matrix, using coefficient and offset","example-3195":"Cropping the PHP.net logo","function.imagecopy":"Copy part of an image","example-3196":"Merging two copies of the PHP.net logo with 75% transparency","function.imagecopymerge":"Copy and merge part of an image","example-3197":"imagecopymergegray usage","function.imagecopymergegray":"Copy and merge part of an image with gray scale","example-3198":"Simple example","example-3199":"Resampling an image proportionally","function.imagecopyresampled":"Copy and resize part of an image with resampling","example-3200":"Resizing an image","function.imagecopyresized":"Copy and resize part of an image","example-3201":"Creating a new GD image stream and outputting an image.","function.imagecreate":"Create a new palette based image","example-3202":"imagecreatefromgd2 example","function.imagecreatefromgd2":"Create a new image from GD2 file or URL","example-3203":"imagecreatefromgd2part example","function.imagecreatefromgd2part":"Create a new image from a given part of GD2 file or URL","example-3204":"imagecreatefromgd example","function.imagecreatefromgd":"Create a new image from GD file or URL","example-3205":"Example to handle an error during loading of a GIF","function.imagecreatefromgif":"Create a new image from file or URL","example-3206":"Example to handle an error during loading of a JPEG","function.imagecreatefromjpeg":"Create a new image from file or URL","example-3207":"Example to handle an error during loading of a PNG","function.imagecreatefrompng":"Create a new image from file or URL","example-3208":"imagecreatefromstring example","function.imagecreatefromstring":"Create a new image from the image stream in the string","example-3209":"Example to handle an error during loading of a WBMP","function.imagecreatefromwbmp":"Create a new image from file or URL","example-3210":"Convert an WebP image to a jpeg image using imagecreatefromwebp","function.imagecreatefromwebp":"Create a new image from file or URL","example-3211":"Convert an XBM image to a png image using imagecreatefromxbm","function.imagecreatefromxbm":"Create a new image from file or URL","example-3212":"Creating an image instance using imagecreatefromxpm","function.imagecreatefromxpm":"Create a new image from file or URL","example-3213":"Creating a new GD image stream and outputting an image.","function.imagecreatetruecolor":"Create a new true color image","function.imagecrop":"Crop an image using the given coordinates and size, x, y, width and height","function.imagecropauto":"Crop an image automatically using one of the available modes","example-3214":"imagedashedline example","example-3215":"Alternative to imagedashedline","function.imagedashedline":"Draw a dashed line","example-3216":"Using imagedestroy example","function.imagedestroy":"Destroy an image","example-3217":"imageellipse example","function.imageellipse":"Draw an ellipse","example-3218":"imagefill example","function.imagefill":"Flood fill","example-3219":"Creating a 3D looking pie","function.imagefilledarc":"Draw a partial arc and fill it","example-3220":"imagefilledellipse example","function.imagefilledellipse":"Draw a filled ellipse","example-3221":"imagefilledpolygon example","function.imagefilledpolygon":"Draw a filled polygon","example-3222":"imagefilledrectangle usage","function.imagefilledrectangle":"Draw a filled rectangle","example-3223":"Filling an ellipse with a color","function.imagefilltoborder":"Flood fill to specific color","example-3224":"imagefilter grayscale example","example-3225":"imagefilter brightness example","example-3226":"imagefilter colorize example","example-3227":"imagefilter negate example","example-3228":"imagefilter pixelate example","function.imagefilter":"Applies a filter to an image","example-3229":"Flips an image vertically","example-3230":"Flips the image horizontally","function.imageflip":"Flips an image using a given mode","example-3231":"Using imagefontheight on built-in fonts","example-3232":"Using imagefontheight together with imageloadfont","function.imagefontheight":"Get font height","example-3233":"Using imagefontwidth on built-in fonts","example-3234":"Using imagefontwidth together with imageloadfont","function.imagefontwidth":"Get font width","example-3235":"imageftbbox example","function.imageftbbox":"Give the bounding box of a text using fonts via freetype2","example-3236":"imagefttext example","function.imagefttext":"Write text to the image using fonts using FreeType 2","example-3237":"imagegammacorrect usage","function.imagegammacorrect":"Apply a gamma correction to a GD image","example-3238":"Outputting a GD2 image","example-3239":"Saving a GD2 image","function.imagegd2":"Output GD2 image to browser or file","example-3240":"Outputting a GD image","example-3241":"Saving a GD image","function.imagegd":"Output GD image to browser or file","example-3242":"Outputting an image using imagegif","example-3243":"Converting a PNG image to GIF using imagegif","function.imagegif":"Output image to browser or file","example-3244":"imagegrabscreen example","function.imagegrabscreen":"Captures the whole screen","example-3245":"imagegrabwindow example","function.imagegrabwindow":"Captures a window","example-3246":"Turn on interlacing using imageinterlace","function.imageinterlace":"Enable or disable interlace","example-3247":"Simple detection of true color image instances using imageistruecolor","function.imageistruecolor":"Finds whether an image is a truecolor image","example-3248":"Outputting a JPEG image","example-3249":"Saving a JPEG image","example-3250":"Outputting the image at 75% quality","function.imagejpeg":"Output image to browser or file","example-3251":"imagelayereffect example","function.imagelayereffect":"Set the alpha blending flag to use the bundled libgd layering effects","example-3252":"Drawing a thick line","function.imageline":"Draw a line","example-3253":"imageloadfont usage example","function.imageloadfont":"Load a new font","example-3254":"imagepalettecopy example","function.imagepalettecopy":"Copy the palette from one image to another","example-3255":"Converts any image resource to true color","function.imagepalettetotruecolor":"Converts a palette based image to true color","function.imagepng":"Output a PNG image to either the browser or a file","example-3256":"imagepolygon example","function.imagepolygon":"Draws a polygon","example-3257":"imagepsbbox usage","function.imagepsbbox":"Give the bounding box of a text rectangle using PostScript Type1 fonts","example-3258":"imagepsencodefont example","function.imagepsencodefont":"Change the character encoding vector of a font","example-3259":"imagepsextendfont example","function.imagepsextendfont":"Extend or condense a font","example-3260":"imagepsfreefont example","function.imagepsfreefont":"Free memory used by a PostScript Type 1 font","example-3261":"imagepsloadfont example","function.imagepsloadfont":"Load a PostScript Type 1 font from file","example-3262":"imagepsslantfont example","function.imagepsslantfont":"Slant a font","example-3263":"imagepstext usage","function.imagepstext":"Draws a text over an image using PostScript Type1 fonts","example-3264":"Simple imagerectangle example","function.imagerectangle":"Draw a rectangle","example-3265":"Rotate an image 180 degrees","function.imagerotate":"Rotate an image with a given angle","example-3266":"imagesavealpha example","function.imagesavealpha":"Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images","function.imagescale":"Scale an image using the given new width and height","example-3267":"imagesetbrush example","function.imagesetbrush":"Set the brush image for line drawing","example-3268":"imagesetinterpolation example","function.imagesetinterpolation":"Set the interpolation method","example-3269":"imagesetpixel example","function.imagesetpixel":"Set a single pixel","example-3270":"imagesetstyle example","function.imagesetstyle":"Set the style for line drawing","example-3271":"imagesetthickness example","function.imagesetthickness":"Set the thickness for line drawing","example-3272":"imagesettile example","function.imagesettile":"Set the tile image for filling","example-3273":"imagestring example","function.imagestring":"Draw a string horizontally","example-3274":"imagestringup example","function.imagestringup":"Draw a string vertically","example-3275":"Using imagesx","function.imagesx":"Get image width","example-3276":"Using imagesy","function.imagesy":"Get image height","example-3277":"Converting a true color image to a palette-based image","function.imagetruecolortopalette":"Convert a true color image to a palette image","example-3278":"imagettfbbox example","function.imagettfbbox":"Give the bounding box of a text using TrueType fonts","example-3279":"imagettftext example","function.imagettftext":"Write text to the image using TrueType fonts","example-3280":"Checking for PNG support","function.imagetypes":"Return the image types supported by this PHP build","example-3281":"Outputting a WBMP image","example-3282":"Saving the WBMP image","example-3283":"Outputting the image with a different foreground","function.imagewbmp":"Output image to browser or file","example-3284":"Saving an WebP file","function.imagewebp":"Output an WebP image to browser or file","example-3285":"Saving an XBM file","example-3286":"Saving an XBM file with a different foreground color","function.imagexbm":"Output an XBM image to browser or file","example-3287":"Embedding IPTC data into a JPEG","function.iptcembed":"Embeds binary IPTC data into a JPEG image","example-3288":"iptcparse() used together with getimagesize","function.iptcparse":"Parse a binary IPTC block into single tags.","example-3289":"jpeg2wbmp example","function.jpeg2wbmp":"Convert JPEG image file to WBMP image file","example-3290":"png2wbmp example","function.png2wbmp":"Convert PNG image file to WBMP image file","ref.image":"GD and Image Functions","book.image":"Image Processing and GD","intro.gmagick":"Introduction","gmagick.requirements":"Requirements","gmagick.installation":"Installation","gmagick.configuration":"Runtime Configuration","gmagick.setup":"Installing\/Configuring","gmagick.constants.color-black":"","gmagick.constants.color-blue":"","gmagick.constants.color-cyan":"","gmagick.constants.color-green":"","gmagick.constants.color-red":"","gmagick.constants.color-yellow":"","gmagick.constants.color-magenta":"","gmagick.constants.color-opacity":"","gmagick.constants.color-alpha":"","gmagick.constants.color-fuzz":"","gmagick.constants.colortype":"Colortype constants","gmagick.constants.composite-default":"","gmagick.constants.composite-undefined":"","gmagick.constants.composite-no":"","gmagick.constants.composite-add":"","gmagick.constants.composite-atop":"","gmagick.constants.composite-blend":"","gmagick.constants.composite-bumpmap":"","gmagick.constants.composite-clear":"","gmagick.constants.composite-colorburn":"","gmagick.constants.composite-colordodge":"","gmagick.constants.composite-colorize":"","gmagick.constants.composite-copyblack":"","gmagick.constants.composite-copyblue":"","gmagick.constants.composite-copy":"","gmagick.constants.composite-copycyan":"","gmagick.constants.composite-copygreen":"","gmagick.constants.composite-copymagenta":"","gmagick.constants.composite-copyopacity":"","gmagick.constants.composite-copyred":"","gmagick.constants.composite-copyyellow":"","gmagick.constants.composite-darken":"","gmagick.constants.composite-dstatop":"","gmagick.constants.composite-dst":"","gmagick.constants.composite-dstin":"","gmagick.constants.composite-dstout":"","gmagick.constants.composite-dstover":"","gmagick.constants.composite-difference":"","gmagick.constants.composite-displace":"","gmagick.constants.composite-dissolve":"","gmagick.constants.composite-exclusion":"","gmagick.constants.composite-hardlight":"","gmagick.constants.composite-hue":"","gmagick.constants.composite-in":"","gmagick.constants.composite-lighten":"","gmagick.constants.composite-luminize":"","gmagick.constants.composite-minus":"","gmagick.constants.composite-modulate":"","gmagick.constants.composite-multiply":"","gmagick.constants.composite-out":"","gmagick.constants.composite-over":"","gmagick.constants.composite-overlay":"","gmagick.constants.composite-plus":"","gmagick.constants.composite-replace":"","gmagick.constants.composite-saturate":"","gmagick.constants.composite-screen":"","gmagick.constants.composite-softlight":"","gmagick.constants.composite-srcatop":"","gmagick.constants.composite-src":"","gmagick.constants.composite-srcin":"","gmagick.constants.composite-srcout":"","gmagick.constants.composite-srcover":"","gmagick.constants.composite-subtract":"","gmagick.constants.composite-threshold":"","gmagick.constants.composite-xor":"","gmagick.constants.compositeop":"Composite Operator Constants","gmagick.constants.montagemode-frame":"","gmagick.constants.montagemode-unframe":"","gmagick.constants.montagemode-concatenate":"","gmagick.constants.montagemode":"Montage Mode constants","gmagick.constants.style-normal":"","gmagick.constants.style-italic":"","gmagick.constants.style-oblique":"","gmagick.constants.style-any":"","gmagick.constants.styles":"Style constants","gmagick.constants.filter-undefined":"","gmagick.constants.filter-point":"","gmagick.constants.filter-box":"","gmagick.constants.filter-triangle":"","gmagick.constants.filter-hermite":"","gmagick.constants.filter-hanning":"","gmagick.constants.filter-hamming":"","gmagick.constants.filter-blackman":"","gmagick.constants.filter-gaussian":"","gmagick.constants.filter-quadratic":"","gmagick.constants.filter-cubic":"","gmagick.constants.filter-catrom":"","gmagick.constants.filter-mitchell":"","gmagick.constants.filter-lanczos":"","gmagick.constants.filter-bessel":"","gmagick.constants.filter-sinc":"","gmagick.constants.filters":"Filter constants","gmagick.constants.imgtype-undefined":"","gmagick.constants.imgtype-bilevel":"","gmagick.constants.imgtype-grayscale":"","gmagick.constants.imgtype-grayscalematte":"","gmagick.constants.imgtype-palette":"","gmagick.constants.imgtype-palettematte":"","gmagick.constants.imgtype-truecolor":"","gmagick.constants.imgtype-truecolormatte":"","gmagick.constants.imgtype-colorseparation":"","gmagick.constants.imgtype-colorseparationmatte":"","gmagick.constants.imgtype-optimize":"","gmagick.constants.imagetype":"Image type constants","gmagick.constants.resolution-undefined":"","gmagick.constants.resolution-pixelsperinch":"","gmagick.constants.resolution-pixelspercentimeter":"","gmagick.constants.resolution":"Resolution constants","gmagick.constants.compression-undefined":"","gmagick.constants.compression-no":"","gmagick.constants.compression-bzip":"","gmagick.constants.compression-fax":"","gmagick.constants.compression-group4":"","gmagick.constants.compression-jpeg":"","gmagick.constants.compression-jpeg2000":"","gmagick.constants.compression-losslessjpeg":"","gmagick.constants.compression-lzw":"","gmagick.constants.compression-rle":"","gmagick.constants.compression-zip":"","gmagick.constants.compressiontype":"Compression constants","gmagick.constants.paint-point":"","gmagick.constants.paint-replace":"","gmagick.constants.paint-floodfill":"","gmagick.constants.paint-filltoborder":"","gmagick.constants.paint-reset":"","gmagick.constants.paint":"Paint constants","gmagick.constants.gravity-northwest":"","gmagick.constants.gravity-north":"","gmagick.constants.gravity-northeast":"","gmagick.constants.gravity-west":"","gmagick.constants.gravity-center":"","gmagick.constants.gravity-east":"","gmagick.constants.gravity-southwest":"","gmagick.constants.gravity-south":"","gmagick.constants.gravity-southeast":"","gmagick.constants.gravity":"Gravity constants","gmagick.constants.stretch-normal":"","gmagick.constants.stretch-ultracondensed":"","gmagick.constants.stretch-condensed":"","gmagick.constants.stretch-semicondensed":"","gmagick.constants.stretch-semiexpanded":"","gmagick.constants.stretch-expanded":"","gmagick.constants.stretch-extraexpanded":"","gmagick.constants.stretch-ultraexpanded":"","gmagick.constants.stretch-any":"","gmagick.constants.stretch":"Stretch constants","gmagick.constants.align-undefined":"","gmagick.constants.align-left":"","gmagick.constants.align-center":"","gmagick.constants.align-right":"","gmagick.constants.align":"Align constants","gmagick.constants.decoration-no":"","gmagick.constants.decoration-underline":"","gmagick.constants.decoration-overline":"","gmagick.constants.decoration-linetrough":"","gmagick.constants.decoration":"Decoration constants","gmagick.constants.noise-uniform":"","gmagick.constants.noise-gaussian":"","gmagick.constants.noise-multiplicativegaussian":"","gmagick.constants.noise-impulse":"","gmagick.constants.noise-laplacian":"","gmagick.constants.noise-poisson":"","gmagick.constants.noise":"Noise constants","gmagick.constants.channel-undefined":"","gmagick.constants.channel-red":"","gmagick.constants.channel-gray":"","gmagick.constants.channel-cyan":"","gmagick.constants.channel-green":"","gmagick.constants.channel-magenta":"","gmagick.constants.channel-blue":"","gmagick.constants.channel-yellow":"","gmagick.constants.channel-alpha":"","gmagick.constants.channel-opacity":"","gmagick.constants.channel-matte":"","gmagick.constants.channel-black":"","gmagick.constants.channel-index":"","gmagick.constants.channel-all":"","gmagick.constants.channel":"Channel constants","gmagick.constants.metric-undefined":"","gmagick.constants.metric-meanabsoluteerror":"","gmagick.constants.metric-meansquareerror":"","gmagick.constants.metric-peakabsoluteerror":"","gmagick.constants.metric-peaksignaltonoiseratio":"","gmagick.constants.metric-rootmeansquarederror":"","gmagick.constants.metric":"Metric constants","gmagick.constants.pixel-char":"","gmagick.constants.pixel-double":"","gmagick.constants.pixel-float":"","gmagick.constants.pixel-integer":"","gmagick.constants.pixel-long":"","gmagick.constants.pixel-quantum":"","gmagick.constants.pixel-short":"","gmagick.constants.pixel":"Pixel constants","gmagick.constants.colorspace-undefined":"","gmagick.constants.colorspace-rgb":"","gmagick.constants.colorspace-gray":"","gmagick.constants.colorspace-transparent":"","gmagick.constants.colorspace-ohta":"","gmagick.constants.colorspace-lab":"","gmagick.constants.colorspace-xyz":"","gmagick.constants.colorspace-ycbcr":"","gmagick.constants.colorspace-ycc":"","gmagick.constants.colorspace-yiq":"","gmagick.constants.colorspace-ypbpr":"","gmagick.constants.colorspace-yuv":"","gmagick.constants.colorspace-cmyk":"","gmagick.constants.colorspace-srgb":"","gmagick.constants.colorspace-hsb":"","gmagick.constants.colorspace-hsl":"","gmagick.constants.colorspace-hwb":"","gmagick.constants.colorspace-rec601luma":"","gmagick.constants.colorspace-rec709luma":"","gmagick.constants.colorspace-log":"","gmagick.constants.colorspace":"Colorspace constants","gmagick.constants.virtualpixelmethod-undefined":"","gmagick.constants.virtualpixelmethod-background":"","gmagick.constants.virtualpixelmethod-constant":"","gmagick.constants.virtualpixelmethod-edge":"","gmagick.constants.virtualpixelmethod-mirror":"","gmagick.constants.virtualpixelmethod-tile":"","gmagick.constants.virtualpixelmethod-transparent":"","gmagick.constants.virtualpixelmethods":"Virtual Pixel Method constants","gmagick.constants.preview-undefined":"","gmagick.constants.preview-rotate":"","gmagick.constants.preview-shear":"","gmagick.constants.preview-roll":"","gmagick.constants.preview-hue":"","gmagick.constants.preview-saturation":"","gmagick.constants.preview-brightness":"","gmagick.constants.preview-gamma":"","gmagick.constants.preview-spiff":"","gmagick.constants.preview-dull":"","gmagick.constants.preview-grayscale":"","gmagick.constants.preview-quantize":"","gmagick.constants.preview-despeckle":"","gmagick.constants.preview-reducenoise":"","gmagick.constants.preview-addnoise":"","gmagick.constants.preview-sharpen":"","gmagick.constants.preview-blur":"","gmagick.constants.preview-threshold":"","gmagick.constants.preview-edgedetect":"","gmagick.constants.preview-spread":"","gmagick.constants.preview-solarize":"","gmagick.constants.preview-shade":"","gmagick.constants.preview-raise":"","gmagick.constants.preview-segment":"","gmagick.constants.preview-swirl":"","gmagick.constants.preview-implode":"","gmagick.constants.preview-wave":"","gmagick.constants.preview-oilpaint":"","gmagick.constants.preview-charcoaldrawing":"","gmagick.constants.preview-jpeg":"","gmagick.constants.preview":"Preview constants","gmagick.constants.renderingintent-undefined":"","gmagick.constants.renderingintent-saturation":"","gmagick.constants.renderingintent-perceptual":"","gmagick.constants.renderingintent-absolute":"","gmagick.constants.renderingintent-relative":"","gmagick.constants.renderingintent":"Rendering Intent constants","gmagick.constants.fillrule-undefined":"","gmagick.constants.fillrule-evenodd":"","gmagick.constants.fillrule-nonzero":"","gmagick.constants.fillrule":"Fillrule constants","gmagick.constants.pathunits-undefined":"","gmagick.constants.pathunits-userspace":"","gmagick.constants.pathunits-userspaceonuse":"","gmagick.constants.pathunits-objectboundingbox":"","gmagick.constants.pathunits":"Pathunit constants","gmagick.constants.linecap-undefined":"","gmagick.constants.linecap-butt":"","gmagick.constants.linecap-round":"","gmagick.constants.linecap-square":"","gmagick.constants.linecap":"Linecap constants","gmagick.constants.linejoin-undefined":"","gmagick.constants.linejoin-miter":"","gmagick.constants.linejoin-round":"","gmagick.constants.linejoin-bevel":"","gmagick.constants.linejoin":"Line Join constants","gmagick.constants.resourcetype-undefined":"","gmagick.constants.resourcetype-area":"","gmagick.constants.resourcetype-disk":"","gmagick.constants.resourcetype-file":"","gmagick.constants.resourcetype-map":"","gmagick.constants.resourcetype-memory":"","gmagick.constants.resourcetypes":"Resourcetype constants","gmagick.constants.orientation-undefined":"","gmagick.constants.orientation-topleft":"","gmagick.constants.orientation-topright":"","gmagick.constants.orientation-bottomright":"","gmagick.constants.orientation-bottomleft":"","gmagick.constants.orientation-lefttop":"","gmagick.constants.orientation-righttop":"","gmagick.constants.orientation-rightbottom":"","gmagick.constants.orientation-leftbottom":"","gmagick.constants.orientation":"Orientation constants","gmagick.constants":"Predefined Constants","example-3291":"Gmagick Example","gmagick.examples":"Examples","gmagick.intro":"Introduction","gmagick.synopsis":"Class synopsis","gmagick.addimage":"Adds new image to Gmagick object image list","gmagick.addnoiseimage":"Adds random noise to the image","gmagick.annotateimage":"Annotates an image with text","gmagick.blurimage":"Adds blur filter to image","gmagick.borderimage":"Surrounds the image with a border","gmagick.charcoalimage":"Simulates a charcoal drawing","gmagick.chopimage":"Removes a region of an image and trims","gmagick.clear":"Clears all resources associated to Gmagick object","gmagick.commentimage":"Adds a comment to your image","gmagick.compositeimage":"Composite one image onto another","gmagick.construct":"The Gmagick constructor","gmagick.cropimage":"Extracts a region of the image","gmagick.cropthumbnailimage":"Creates a crop thumbnail","gmagick.current":"The current purpose","gmagick.cyclecolormapimage":"Displaces an image's colormap","gmagick.deconstructimages":"Returns certain pixel differences between images","example-3292":"Gmagick::despeckleimage example","gmagick.despeckleimage":"The despeckleimage purpose","gmagick.destroy":"The destroy purpose","gmagick.drawimage":"Renders the GmagickDraw object on the current image","gmagick.edgeimage":"Enhance edges within the image","gmagick.embossimage":"Returns a grayscale image with a three-dimensional effect","gmagick.enhanceimage":"Improves the quality of a noisy image","gmagick.equalizeimage":"Equalizes the image histogram","gmagick.flipimage":"Creates a vertical mirror image","gmagick.flopimage":"The flopimage purpose","gmagick.frameimage":"Adds a simulated three-dimensional border","gmagick.gammaimage":"Gamma-corrects an image","gmagick.getcopyright":"Returns the GraphicsMagick API copyright as a string","gmagick.getfilename":"The filename associated with an image sequence","gmagick.getimagebackgroundcolor":"Returns the image background color","gmagick.getimageblueprimary":"Returns the chromaticy blue primary point","gmagick.getimagebordercolor":"Returns the image border color","gmagick.getimagechanneldepth":"Gets the depth for a particular image channel","gmagick.getimagecolors":"Returns the color of the specified colormap index","gmagick.getimagecolorspace":"Gets the image colorspace","gmagick.getimagecompose":"Returns the composite operator associated with the image","gmagick.getimagedelay":"Gets the image delay","gmagick.getimagedepth":"Gets the depth of the image","gmagick.getimagedispose":"Gets the image disposal method","gmagick.getimageextrema":"Gets the extrema for the image","gmagick.getimagefilename":"Returns the filename of a particular image in a sequence","gmagick.getimageformat":"Returns the format of a particular image in a sequence","gmagick.getimagegamma":"Gets the image gamma","gmagick.getimagegreenprimary":"Returns the chromaticy green primary point","gmagick.getimageheight":"Returns the image height","gmagick.getimagehistogram":"Gets the image histogram","gmagick.getimageindex":"Gets the index of the current active image","gmagick.getimageinterlacescheme":"Gets the image interlace scheme","gmagick.getimageiterations":"Gets the image iterations","gmagick.getimagematte":"Return if the image has a matte channel","gmagick.getimagemattecolor":"Returns the image matte color","gmagick.getimageprofile":"Returns the named image profile.","gmagick.getimageredprimary":"Returns the chromaticity red primary point","gmagick.getimagerenderingintent":"Gets the image rendering intent","gmagick.getimageresolution":"Gets the image X and Y resolution","gmagick.getimagescene":"Gets the image scene","gmagick.getimagesignature":"Generates an SHA-256 message digest","gmagick.getimagetype":"Gets the potential image type.","gmagick.getimageunits":"Gets the image units of resolution","gmagick.getimagewhitepoint":"Returns the chromaticity white point","gmagick.getimagewidth":"Returns the width of the image","gmagick.getpackagename":"Returns the GraphicsMagick package name.","gmagick.getquantumdepth":"Returns the Gmagick quantum depth as a string.","gmagick.getreleasedate":"Returns the GraphicsMagick release date as a string.","gmagick.getsamplingfactors":"Gets the horizontal and vertical sampling factor.","gmagick.getsize":"Returns the size associated with the Gmagick object","gmagick.getversion":"Returns the GraphicsMagick API version","gmagick.hasnextimage":"Checks if the object has more images","gmagick.haspreviousimage":"Checks if the object has a previous image","gmagick.implodeimage":"Creates a new image as a copy","gmagick.labelimage":"Adds a label to an image.","gmagick.levelimage":"Adjusts the levels of an image","gmagick.magnifyimage":"Scales an image proportionally 2x","gmagick.mapimage":"Replaces the colors of an image with the closest color from a reference image.","gmagick.medianfilterimage":"Applies a digital filter","gmagick.minifyimage":"Scales an image proportionally to half its size","gmagick.modulateimage":"Control the brightness, saturation, and hue","gmagick.motionblurimage":"Simulates motion blur","gmagick.newimage":"Creates a new image","gmagick.nextimage":"Moves to the next image","gmagick.normalizeimage":"Enhances the contrast of a color image","gmagick.oilpaintimage":"Simulates an oil painting","gmagick.previousimage":"Move to the previous image in the object","gmagick.profileimage":"Adds or removes a profile from an image","gmagick.quantizeimage":"Analyzes the colors within a reference image","gmagick.quantizeimages":"The quantizeimages purpose","gmagick.queryfontmetrics":"Returns an array representing the font metrics","gmagick.queryfonts":"Returns the configured fonts","gmagick.queryformats":"Returns formats supported by Gmagick.","gmagick.radialblurimage":"Radial blurs an image","gmagick.raiseimage":"Creates a simulated 3d button-like effect","gmagick.read":"Reads image from filename","gmagick.readimage":"Reads image from filename","gmagick.readimageblob":"Reads image from a binary string","gmagick.readimagefile":"The readimagefile purpose","gmagick.reducenoiseimage":"Smooths the contours of an image","gmagick.removeimage":"Removes an image from the image list","gmagick.removeimageprofile":"Removes the named image profile and returns it","gmagick.resampleimage":"Resample image to desired resolution","gmagick.resizeimage":"Scales an image","gmagick.rollimage":"Offsets an image","gmagick.rotateimage":"Rotates an image","gmagick.scaleimage":"Scales the size of an image","gmagick.separateimagechannel":"Separates a channel from the image","gmagick.setfilename":"Sets the filename before you read or write the image","gmagick.setimagebackgroundcolor":"Sets the image background color.","gmagick.setimageblueprimary":"Sets the image chromaticity blue primary point.","gmagick.setimagebordercolor":"Sets the image border color.","gmagick.setimagechanneldepth":"Sets the depth of a particular image channel","gmagick.setimagecolorspace":"Sets the image colorspace","gmagick.setimagecompose":"Sets the image composite operator","gmagick.setimagedelay":"Sets the image delay","gmagick.setimagedepth":"Sets the image depth","gmagick.setimagedispose":"Sets the image disposal method","gmagick.setimagefilename":"Sets the filename of a particular image in a sequence","gmagick.setimageformat":"Sets the format of a particular image","gmagick.setimagegamma":"Sets the image gamma","gmagick.setimagegreenprimary":"TSets the image chromaticity green primary point.","gmagick.setimageindex":"Set the iterator to the position in the image list specified with the index parameter","gmagick.setimageinterlacescheme":"Sets the interlace scheme of the image.","gmagick.setimageiterations":"Sets the image iterations.","gmagick.setimageprofile":"Adds a named profile to the Gmagick object","gmagick.setimageredprimary":"Sets the image chromaticity red primary point.","gmagick.setimagerenderingintent":"Sets the image rendering intent","gmagick.setimageresolution":"Sets the image resolution","gmagick.setimagescene":"Sets the image scene","gmagick.setimagetype":"Sets the image type","gmagick.setimageunits":"Sets the image units of resolution.","gmagick.setimagewhitepoint":"Sets the image chromaticity white point.","gmagick.setsamplingfactors":"Sets the image sampling factors.","gmagick.setsize":"Sets the size of the Gmagick object","gmagick.shearimage":"Creating a parallelogram","gmagick.solarizeimage":"Applies a solarizing effect to the image","gmagick.spreadimage":"Randomly displaces each pixel in a block","gmagick.stripimage":"Strips an image of all profiles and comments","gmagick.swirlimage":"Swirls the pixels about the center of the image","gmagick.thumbnailimage":"Changes the size of an image","gmagick.trimimage":"Remove edges from the image","gmagick.write":"Writes an image to the specified filename","gmagick.writeimage":"Writes an image to the specified filename","class.gmagick":"The Gmagick class","gmagickdraw.intro":"Introduction","gmagickdraw.synopsis":"Class synopsis","gmagickdraw.annotate":"Draws text on the image","gmagickdraw.arc":"Draws an arc","gmagickdraw.bezier":"Draws a bezier curve","gmagickdraw.ellipse":"Draws an ellipse on the image","gmagickdraw.getfillcolor":"Returns the fill color","gmagickdraw.getfillopacity":"Returns the opacity used when drawing","gmagickdraw.getfont":"Returns the font","gmagickdraw.getfontsize":"Returns the font pointsize","gmagickdraw.getfontstyle":"Returns the font style","gmagickdraw.getfontweight":"Returns the font weight","gmagickdraw.getstrokecolor":"Returns the color used for stroking object outlines","gmagickdraw.getstrokeopacity":"Returns the opacity of stroked object outlines","gmagickdraw.getstrokewidth":"Returns the width of the stroke used to draw object outlines","gmagickdraw.gettextdecoration":"Returns the text decoration","gmagickdraw.gettextencoding":"Returns the code set used for text annotations","gmagickdraw.line":"The line purpose","gmagickdraw.point":"Draws a point","gmagickdraw.polygon":"Draws a polygon","gmagickdraw.polyline":"Draws a polyline","gmagickdraw.rectangle":"Draws a rectangle","gmagickdraw.rotate":"Applies the specified rotation to the current coordinate space","gmagickdraw.roundrectangle":"Draws a rounded rectangle","gmagickdraw.scale":"Adjusts the scaling factor","gmagickdraw.setfillcolor":"Sets the fill color to be used for drawing filled objects.","gmagickdraw.setfillopacity":"The setfillopacity purpose","gmagickdraw.setfont":"Sets the fully-specified font to use when annotating with text.","gmagickdraw.setfontsize":"Sets the font pointsize to use when annotating with text.","gmagickdraw.setfontstyle":"Sets the font style to use when annotating with text","gmagickdraw.setfontweight":"Sets the font weight","gmagickdraw.setstrokecolor":"Sets the color used for stroking object outlines.","gmagickdraw.setstrokeopacity":"Specifies the opacity of stroked object outlines.","gmagickdraw.setstrokewidth":"Sets the width of the stroke used to draw object outlines.","gmagickdraw.settextdecoration":"Specifies a decoration","gmagickdraw.settextencoding":"Specifies specifies the text code set","class.gmagickdraw":"The GmagickDraw class","gmagickpixel.intro":"Introduction","gmagickpixel.synopsis":"Class synopsis","gmagickpixel.construct":"The GmagickPixel constructor","gmagickpixel.getcolor":"Returns the color","gmagickpixel.getcolorcount":"Returns the color count associated with this color","gmagickpixel.getcolorvalue":"Gets the normalized value of the provided color channel","gmagickpixel.setcolor":"Sets the color","gmagickpixel.setcolorvalue":"Sets the normalized value of one of the channels","class.gmagickpixel":"The GmagickPixel class","book.gmagick":"Gmagick","imagick.aboutimagemagick":"","intro.imagick":"Introduction","imagick.requirements.windows":"Installation requirements on Windows","imagick.requirements.nix":"Installation requirements on other platforms","imagick.requirements":"Requirements","imagick.installation":"Installation","ini.imagick.locale-fix":"","ini.imagick.progress-monitor":"","imagick.configuration":"Runtime Configuration","imagick.resources":"Resource Types","imagick.setup":"Installing\/Configuring","imagick.constants.color-black":"","imagick.constants.color-blue":"","imagick.constants.color-cyan":"","imagick.constants.color-green":"","imagick.constants.color-red":"","imagick.constants.color-yellow":"","imagick.constants.color-magenta":"","imagick.constants.color-opacity":"","imagick.constants.color-alpha":"","imagick.constants.color-fuzz":"","imagick.constants.colortype":"COLOR_* constants","imagick.constants.dispose-unrecognized":"","imagick.constants.dispose-undefined":"","imagick.constants.dispose-none":"","imagick.constants.dispose-background":"","imagick.constants.dispose-previous":"","imagick.constants.disposetype":"DISPOSE constants","imagick.constants.composite-default":"","imagick.constants.composite-undefined":"","imagick.constants.composite-no":"","imagick.constants.composite-add":"","imagick.constants.composite-atop":"","imagick.constants.composite-blend":"","imagick.constants.composite-bumpmap":"","imagick.constants.composite-clear":"","imagick.constants.composite-colorburn":"","imagick.constants.composite-colordodge":"","imagick.constants.composite-colorize":"","imagick.constants.composite-copyblack":"","imagick.constants.composite-copyblue":"","imagick.constants.composite-copy":"","imagick.constants.composite-copycyan":"","imagick.constants.composite-copygreen":"","imagick.constants.composite-copymagenta":"","imagick.constants.composite-copyopacity":"","imagick.constants.composite-copyred":"","imagick.constants.composite-copyyellow":"","imagick.constants.composite-darken":"","imagick.constants.composite-dstatop":"","imagick.constants.composite-dst":"","imagick.constants.composite-dstin":"","imagick.constants.composite-dstout":"","imagick.constants.composite-dstover":"","imagick.constants.composite-difference":"","imagick.constants.composite-displace":"","imagick.constants.composite-dissolve":"","imagick.constants.composite-exclusion":"","imagick.constants.composite-hardlight":"","imagick.constants.composite-hue":"","imagick.constants.composite-in":"","imagick.constants.composite-lighten":"","imagick.constants.composite-luminize":"","imagick.constants.composite-minus":"","imagick.constants.composite-modulate":"","imagick.constants.composite-multiply":"","imagick.constants.composite-out":"","imagick.constants.composite-over":"","imagick.constants.composite-overlay":"","imagick.constants.composite-plus":"","imagick.constants.composite-replace":"","imagick.constants.composite-saturate":"","imagick.constants.composite-screen":"","imagick.constants.composite-softlight":"","imagick.constants.composite-srcatop":"","imagick.constants.composite-src":"","imagick.constants.composite-srcin":"","imagick.constants.composite-srcout":"","imagick.constants.composite-srcover":"","imagick.constants.composite-subtract":"","imagick.constants.composite-threshold":"","imagick.constants.composite-xor":"","imagick.constants.compositeop":"Composite Operator Constants","imagick.constants.montagemode-frame":"","imagick.constants.montagemode-unframe":"","imagick.constants.montagemode-concatenate":"","imagick.constants.montagemode":"MONTAGEMODE constants","imagick.constants.style-normal":"","imagick.constants.style-italic":"","imagick.constants.style-oblique":"","imagick.constants.style-any":"","imagick.constants.styles":"STYLE constants","imagick.constants.filter-undefined":"","imagick.constants.filter-point":"","imagick.constants.filter-box":"","imagick.constants.filter-triangle":"","imagick.constants.filter-hermite":"","imagick.constants.filter-hanning":"","imagick.constants.filter-hamming":"","imagick.constants.filter-blackman":"","imagick.constants.filter-gaussian":"","imagick.constants.filter-quadratic":"","imagick.constants.filter-cubic":"","imagick.constants.filter-catrom":"","imagick.constants.filter-mitchell":"","imagick.constants.filter-lanczos":"","imagick.constants.filter-bessel":"","imagick.constants.filter-sinc":"","imagick.constants.filters":"FILTER constants","imagick.constants.imgtype-undefined":"","imagick.constants.imgtype-bilevel":"","imagick.constants.imgtype-grayscale":"","imagick.constants.imgtype-grayscalematte":"","imagick.constants.imgtype-palette":"","imagick.constants.imgtype-palettematte":"","imagick.constants.imgtype-truecolor":"","imagick.constants.imgtype-truecolormatte":"","imagick.constants.imgtype-colorseparation":"","imagick.constants.imgtype-colorseparationmatte":"","imagick.constants.imgtype-optimize":"","imagick.constants.imagetype":"IMGTYPE constants","imagick.constants.resolution-undefined":"","imagick.constants.resolution-pixelsperinch":"","imagick.constants.resolution-pixelspercentimeter":"","imagick.constants.resolution":"RESOLUTION constants","imagick.constants.compression-undefined":"","imagick.constants.compression-no":"","imagick.constants.compression-bzip":"","imagick.constants.compression-fax":"","imagick.constants.compression-group4":"","imagick.constants.compression-jpeg":"","imagick.constants.compression-jpeg2000":"","imagick.constants.compression-losslessjpeg":"","imagick.constants.compression-lzw":"","imagick.constants.compression-rle":"","imagick.constants.compression-zip":"","imagick.constants.compression-dxt1":"","imagick.constants.compression-dxt3":"","imagick.constants.compression-dxt5":"","imagick.constants.compressiontype":"COMPRESSION constants","imagick.constants.paint-point":"","imagick.constants.paint-replace":"","imagick.constants.paint-floodfill":"","imagick.constants.paint-filltoborder":"","imagick.constants.paint-reset":"","imagick.constants.paint":"PAINT constants","imagick.constants.gravity-northwest":"","imagick.constants.gravity-north":"","imagick.constants.gravity-northeast":"","imagick.constants.gravity-west":"","imagick.constants.gravity-center":"","imagick.constants.gravity-east":"","imagick.constants.gravity-southwest":"","imagick.constants.gravity-south":"","imagick.constants.gravity-southeast":"","imagick.constants.gravity":"GRAVITY constants","imagick.constants.stretch-normal":"","imagick.constants.stretch-ultracondensed":"","imagick.constants.stretch-condensed":"","imagick.constants.stretch-semicondensed":"","imagick.constants.stretch-semiexpanded":"","imagick.constants.stretch-expanded":"","imagick.constants.stretch-extraexpanded":"","imagick.constants.stretch-ultraexpanded":"","imagick.constants.stretch-any":"","imagick.constants.stretch":"STRETCH constants","imagick.constants.align-undefined":"","imagick.constants.align-left":"","imagick.constants.align-center":"","imagick.constants.align-right":"","imagick.constants.align":"ALIGN constants","imagick.constants.decoration-no":"","imagick.constants.decoration-underline":"","imagick.constants.decoration-overline":"","imagick.constants.decoration-linetrough":"","imagick.constants.decoration":"DECORATION constants","imagick.constants.noise-uniform":"","imagick.constants.noise-gaussian":"","imagick.constants.noise-multiplicativegaussian":"","imagick.constants.noise-impulse":"","imagick.constants.noise-laplacian":"","imagick.constants.noise-poisson":"","imagick.constants.noise-random":"","imagick.constants.noise":"NOISE constants","imagick.constants.channel-undefined":"","imagick.constants.channel-red":"","imagick.constants.channel-gray":"","imagick.constants.channel-cyan":"","imagick.constants.channel-green":"","imagick.constants.channel-magenta":"","imagick.constants.channel-blue":"","imagick.constants.channel-yellow":"","imagick.constants.channel-alpha":"","imagick.constants.channel-opacity":"","imagick.constants.channel-matte":"","imagick.constants.channel-black":"","imagick.constants.channel-index":"","imagick.constants.channel-all":"","imagick.constants.channel-default":"","imagick.constants.channel":"CHANNEL constants","imagick.constants.metric-undefined":"","imagick.constants.metric-meanabsoluteerror":"","imagick.constants.metric-meansquareerror":"","imagick.constants.metric-peakabsoluteerror":"","imagick.constants.metric-peaksignaltonoiseratio":"","imagick.constants.metric-rootmeansquarederror":"","imagick.constants.metric":"METRIC constants","imagick.constants.pixel-char":"","imagick.constants.pixel-double":"","imagick.constants.pixel-float":"","imagick.constants.pixel-integer":"","imagick.constants.pixel-long":"","imagick.constants.pixel-quantum":"","imagick.constants.pixel-short":"","imagick.constants.pixel":"PIXEL constants","imagick.constants.evaluate-undefined":"","imagick.constants.evaluate-add":"","imagick.constants.evaluate-and":"","imagick.constants.evaluate-divide":"","imagick.constants.evaluate-leftshift":"","imagick.constants.evaluate-max":"","imagick.constants.evaluate-min":"","imagick.constants.evaluate-multiply":"","imagick.constants.evaluate-or":"","imagick.constants.evaluate-rightshift":"","imagick.constants.evaluate-set":"","imagick.constants.evaluate-subtract":"","imagick.constants.evaluate-xor":"","imagick.constants.evaluate-pow":"","imagick.constants.evaluate-log":"","imagick.constants.evaluate-threshold":"","imagick.constants.evaluate-thresholdblack":"","imagick.constants.evaluate-thresholdwhite":"","imagick.constants.evaluate-gaussiannoise":"","imagick.constants.evaluate-impulsenoise":"","imagick.constants.evaluate-laplaciannoise":"","imagick.constants.evaluate-multiplicativenoise":"","imagick.constants.evaluate-poissonnoise":"","imagick.constants.evaluate-uniformnoise":"","imagick.constants.evaluate-cosine":"","imagick.constants.evaluate-sine":"","imagick.constants.evaluate-addmodulus":"","imagick.constants.evaluate":"EVALUATE constants","imagick.constants.colorspace-undefined":"","imagick.constants.colorspace-rgb":"","imagick.constants.colorspace-gray":"","imagick.constants.colorspace-transparent":"","imagick.constants.colorspace-ohta":"","imagick.constants.colorspace-lab":"","imagick.constants.colorspace-xyz":"","imagick.constants.colorspace-ycbcr":"","imagick.constants.colorspace-ycc":"","imagick.constants.colorspace-yiq":"","imagick.constants.colorspace-ypbpr":"","imagick.constants.colorspace-yuv":"","imagick.constants.colorspace-cmyk":"","imagick.constants.colorspace-srgb":"","imagick.constants.colorspace-hsb":"","imagick.constants.colorspace-hsl":"","imagick.constants.colorspace-hwb":"","imagick.constants.colorspace-rec601luma":"","imagick.constants.colorspace-rec709luma":"","imagick.constants.colorspace-log":"","imagick.constants.colorspace-cmy":"","imagick.constants.colorspace":"COLORSPACE constants","imagick.constants.virtualpixelmethod-undefined":"","imagick.constants.virtualpixelmethod-background":"","imagick.constants.virtualpixelmethod-constant":"","imagick.constants.virtualpixelmethod-edge":"","imagick.constants.virtualpixelmethod-mirror":"","imagick.constants.virtualpixelmethod-tile":"","imagick.constants.virtualpixelmethod-transparent":"","imagick.constants.virtualpixelmethod-mask":"","imagick.constants.virtualpixelmethod-black":"","imagick.constants.virtualpixelmethod-gray":"","imagick.constants.virtualpixelmethod-white":"","imagick.constants.virtualpixelmethod-horizontaltile":"","imagick.constants.virtualpixelmethod-verticaltile":"","imagick.constants.virtualpixelmethods":"VIRTUALPIXELMETHOD constants","imagick.constants.preview-undefined":"","imagick.constants.preview-rotate":"","imagick.constants.preview-shear":"","imagick.constants.preview-roll":"","imagick.constants.preview-hue":"","imagick.constants.preview-saturation":"","imagick.constants.preview-brightness":"","imagick.constants.preview-gamma":"","imagick.constants.preview-spiff":"","imagick.constants.preview-dull":"","imagick.constants.preview-grayscale":"","imagick.constants.preview-quantize":"","imagick.constants.preview-despeckle":"","imagick.constants.preview-reducenoise":"","imagick.constants.preview-addnoise":"","imagick.constants.preview-sharpen":"","imagick.constants.preview-blur":"","imagick.constants.preview-threshold":"","imagick.constants.preview-edgedetect":"","imagick.constants.preview-spread":"","imagick.constants.preview-solarize":"","imagick.constants.preview-shade":"","imagick.constants.preview-raise":"","imagick.constants.preview-segment":"","imagick.constants.preview-swirl":"","imagick.constants.preview-implode":"","imagick.constants.preview-wave":"","imagick.constants.preview-oilpaint":"","imagick.constants.preview-charcoaldrawing":"","imagick.constants.preview-jpeg":"","imagick.constants.preview":"PREVIEW constants","imagick.constants.renderingintent-undefined":"","imagick.constants.renderingintent-saturation":"","imagick.constants.renderingintent-perceptual":"","imagick.constants.renderingintent-absolute":"","imagick.constants.renderingintent-relative":"","imagick.constants.renderingintent":"RENDERINGINTENT constants","imagick.constants.interlace-undefined":"","imagick.constants.interlace-no":"","imagick.constants.interlace-line":"","imagick.constants.interlace-plane":"","imagick.constants.interlace-partition":"","imagick.constants.interlace-gif":"","imagick.constants.interlace-jpeg":"","imagick.constants.interlace-png":"","imagick.constants.interlace":"INTERLACE constants","imagick.constants.fillrule-undefined":"","imagick.constants.fillrule-evenodd":"","imagick.constants.fillrule-nonzero":"","imagick.constants.fillrule":"FILLRULE constants","imagick.constants.pathunits-undefined":"","imagick.constants.pathunits-userspace":"","imagick.constants.pathunits-userspaceonuse":"","imagick.constants.pathunits-objectboundingbox":"","imagick.constants.pathunits":"PATHUNITS constants","imagick.constants.linecap-undefined":"","imagick.constants.linecap-butt":"","imagick.constants.linecap-round":"","imagick.constants.linecap-square":"","imagick.constants.linecap":"LINECAP constants","imagick.constants.linejoin-undefined":"","imagick.constants.linejoin-miter":"","imagick.constants.linejoin-round":"","imagick.constants.linejoin-bevel":"","imagick.constants.linejoin":"LINEJOIN constants","imagick.constants.resourcetype-undefined":"","imagick.constants.resourcetype-area":"","imagick.constants.resourcetype-disk":"","imagick.constants.resourcetype-file":"","imagick.constants.resourcetype-map":"","imagick.constants.resourcetype-memory":"","imagick.constants.resourcetype-thread":"","imagick.constants.resourcetypes":"RESOURCETYPE constants","imagick.constants.layermethod-undefined":"","imagick.constants.layermethod-coalesce":"","imagick.constants.layermethod-compareany":"","imagick.constants.layermethod-compareclear":"","imagick.constants.layermethod-compareoverlay":"","imagick.constants.layermethod-dispose":"","imagick.constants.layermethod-optimize":"","imagick.constants.layermethod-optimizeplus":"","imagick.constants.layermethod-optimizeimage":"","imagick.constants.layermethod-optimizetrans":"","imagick.constants.layermethod-removedups":"","imagick.constants.layermethod-removezero":"","imagick.constants.layermethod-composite":"","imagick.constants.layermethod-merge":"","imagick.constants.layermethod-flatten":"","imagick.constants.layermethod-mosaic":"","imagick.constants.layermethod":"LAYERMETHOD constants","imagick.constants.orientation-undefined":"","imagick.constants.orientation-topleft":"","imagick.constants.orientation-topright":"","imagick.constants.orientation-bottomright":"","imagick.constants.orientation-bottomleft":"","imagick.constants.orientation-lefttop":"","imagick.constants.orientation-righttop":"","imagick.constants.orientation-rightbottom":"","imagick.constants.orientation-leftbottom":"","imagick.constants.orientation":"ORIENTATION constants","imagick.constants.distortion-undefined":"","imagick.constants.distortion-affine":"","imagick.constants.distortion-affineprojection":"","imagick.constants.distortion-arc":"","imagick.constants.distortion-bilinear":"","imagick.constants.distortion-perspective":"","imagick.constants.distortion-perspectiveprojection":"","imagick.constants.distortion-scalerotatetranslate":"","imagick.constants.distortion-polynomial":"","imagick.constants.distortion-polar":"","imagick.constants.distortion-depolar":"","imagick.constants.distortion-barrel":"","imagick.constants.distortion-barrelinverse":"","imagick.constants.distortion-shepards":"","imagick.constants.distortion-sentinel":"","imagick.constants.distortion":"DISTORTION constants","imagick.constants.alphachannel-activate":"","imagick.constants.alphachannel-deactivate":"","imagick.constants.alphachannel-reset":"","imagick.constants.alphachannel-set":"","imagick.constants.alphachannel-undefined":"","imagick.constants.alphachannel-copy":"","imagick.constants.alphachannel-extract":"","imagick.constants.alphachannel-opaque":"","imagick.constants.alphachannel-shape":"","imagick.constants.alphachannel-transparent":"","imagick.constants.alphachannel":"ALPHACHANNEL constants","imagick.constants.sparsecolormethod-undefined":"","imagick.constants.sparsecolormethod-barycentric":"","imagick.constants.sparsecolormethod-bilinear":"","imagick.constants.sparsecolormethod-polynomial":"","imagick.constants.sparsecolormethod-spepards":"","imagick.constants.sparsecolormethod-voronoi":"","imagick.constants.sparsecolormethod":"SPARSECOLORMETHOD constants","imagick.constants.function-undefined":"","imagick.constants.function-polynomial":"","imagick.constants.function-sinusoid":"","imagick.constants.function":"FUNCTION constants","imagick.constants.interpolate-undefined":"","imagick.constants.interpolate-average":"","imagick.constants.interpolate-bicubic":"","imagick.constants.interpolate-bilinear":"","imagick.constants.interpolate-filter":"","imagick.constants.interpolate-integer":"","imagick.constants.interpolate-mesh":"","imagick.constants.interpolate-nearestneighbor":"","imagick.constants.interpolate-spline":"","imagick.constants.interpolate":"INTERPOLATE constants","imagick.constants.dithermethod-undefined":"","imagick.constants.dithermethod-no":"","imagick.constants.dithermethod-riemersma":"","imagick.constants.dithermethod-floydsteinberg":"","imagick.constants.dithermethod":"DITHERMETHOD constants","imagick.constants":"Predefined Constants","example-3293":"Creating a thumbnail in Imagick","example-3294":"Make a thumbnail of all JPG files in a directory","example-3295":"Creating a reflection of an image","example-3296":"Filling text with gradient","example-3297":"Read in GIF image and resize all frames","example-3298":"Create a PHP logo","imagick.examples-1":"Basic usage","imagick.examples":"Examples","imagick.synopsis":"Class synopsis","imagick.imagick.methodtypes":"Image methods and global methods","imagick.imagick.methods":"Class Methods","example-3299":"Using Imagick::adaptiveBlurImage:","imagick.adaptiveblurimage":"Adds adaptive blur filter to image","example-3300":"Using Imagick::adaptiveResizeImage","imagick.adaptiveresizeimage":"Adaptively resize image with data dependent triangulation","example-3301":"A Imagick::adaptiveSharpenImage example","imagick.adaptivesharpenimage":"Adaptively sharpen the image","imagick.adaptivethresholdimage":"Selects a threshold for each pixel based on a range of intensity","imagick.addimage":"Adds new image to Imagick object image list","imagick.addnoiseimage":"Adds random noise to the image","imagick.affinetransformimage":"Transforms an image","imagick.animateimages":"Animates an image or images","example-3302":"Using Imagick::annotateImage:","imagick.annotateimage":"Annotates an image with text","example-3303":"Imagick::appendImages example","imagick.appendimages":"Append a set of images","imagick.averageimages":"Average a set of images","imagick.blackthresholdimage":"Forces all pixels below the threshold into black","example-3304":"Using Imagick::blurImage:","imagick.blurimage":"Adds blur filter to image","imagick.borderimage":"Surrounds the image with a border","imagick.charcoalimage":"Simulates a charcoal drawing","example-3305":"Using Imagick::chopImage:","imagick.chopimage":"Removes a region of an image and trims","imagick.clear":"Clears all resources associated to Imagick object","imagick.clipimage":"Clips along the first path from the 8BIM profile","imagick.clippathimage":"Clips along the named paths from the 8BIM profile","example-3306":"Imagick object cloning in different versions of imagick","imagick.clone":"Makes an exact copy of the Imagick object","example-3307":"Using Imagick::clutImage:","imagick.clutimage":"Replaces colors in the image","imagick.coalesceimages":"Composites a set of images","imagick.colorfloodfillimage":"Changes the color value of any pixel that matches target","imagick.colorizeimage":"Blends the fill color with the image","imagick.combineimages":"Combines one or more images into a single image","example-3308":"Using Imagick::commentImage:","imagick.commentimage":"Adds a comment to your image","imagick.compareimagechannels":"Returns the difference in one or more images","example-3309":"Using Imagick::compareImageLayers","imagick.compareimagelayers":"Returns the maximum bounding region between images","example-3310":"Using Imagick::compareImages:","imagick.compareimages":"Compares an image to a reconstructed image","imagick.compositeimage":"Composite one image onto another","imagick.construct":"The Imagick constructor","imagick.contrastimage":"Change the contrast of the image","imagick.contraststretchimage":"Enhances the contrast of a color image","imagick.convolveimage":"Applies a custom convolution kernel to the image","imagick.cropimage":"Extracts a region of the image","imagick.cropthumbnailimage":"Creates a crop thumbnail","imagick.current":"Returns a reference to the current Imagick object","imagick.cyclecolormapimage":"Displaces an image's colormap","imagick.decipherimage":"Deciphers an image","imagick.deconstructimages":"Returns certain pixel differences between images","imagick.deleteimageartifact":"Delete image artifact","imagick.deskewimage":"Removes skew from the image","imagick.despeckleimage":"Reduces the speckle noise in an image","imagick.destroy":"Destroys the Imagick object","imagick.displayimage":"Displays an image","imagick.displayimages":"Displays an image or image sequence","example-3311":"Using Imagick::distortImage:","imagick.distortimage":"Distorts an image using various distortion methods","imagick.drawimage":"Renders the ImagickDraw object on the current image","imagick.edgeimage":"Enhance edges within the image","imagick.embossimage":"Returns a grayscale image with a three-dimensional effect","imagick.encipherimage":"Enciphers an image","imagick.enhanceimage":"Improves the quality of a noisy image","imagick.equalizeimage":"Equalizes the image histogram","example-3312":"Using Imagick::evaluateImage","imagick.evaluateimage":"Applies an expression to an image","example-3313":"Using Imagick::exportImagePixels","imagick.exportimagepixels":"Exports raw image pixels","imagick.extentimage":"Set image size","imagick.flattenimages":"Merges a sequence of images","imagick.flipimage":"Creates a vertical mirror image","example-3314":"Imagick::floodfillPaintImage example","imagick.floodfillpaintimage":"Changes the color value of any pixel that matches target","imagick.flopimage":"Creates a horizontal mirror image","imagick.frameimage":"Adds a simulated three-dimensional border","imagick.functionimage":"Applies a function on the image","imagick.fximage":"Evaluate expression for each pixel in the image","imagick.gammaimage":"Gamma-corrects an image","imagick.gaussianblurimage":"Blurs an image","imagick.getcolorspace":"Gets the colorspace","imagick.getcompression":"Gets the object compression type","imagick.getcompressionquality":"Gets the object compression quality","imagick.getcopyright":"Returns the ImageMagick API copyright as a string","imagick.getfilename":"The filename associated with an image sequence","imagick.getfont":"Gets font","imagick.getformat":"Returns the format of the Imagick object","imagick.getgravity":"Gets the gravity","imagick.gethomeurl":"Returns the ImageMagick home URL","imagick.getimage":"Returns a new Imagick object","imagick.getimagealphachannel":"Gets the image alpha channel","imagick.getimageartifact":"Get image artifact","imagick.getimagebackgroundcolor":"Returns the image background color","imagick.getimageblob":"Returns the image sequence as a blob","imagick.getimageblueprimary":"Returns the chromaticy blue primary point","imagick.getimagebordercolor":"Returns the image border color","imagick.getimagechanneldepth":"Gets the depth for a particular image channel","imagick.getimagechanneldistortion":"Compares image channels of an image to a reconstructed image","imagick.getimagechanneldistortions":"Gets channel distortions","imagick.getimagechannelextrema":"Gets the extrema for one or more image channels","imagick.getimagechannelkurtosis":"The getImageChannelKurtosis purpose","imagick.getimagechannelmean":"Gets the mean and standard deviation","imagick.getimagechannelrange":"Gets channel range","imagick.getimagechannelstatistics":"Returns statistics for each channel in the image","imagick.getimageclipmask":"Gets image clip mask","imagick.getimagecolormapcolor":"Returns the color of the specified colormap index","imagick.getimagecolors":"Gets the number of unique colors in the image","imagick.getimagecolorspace":"Gets the image colorspace","imagick.getimagecompose":"Returns the composite operator associated with the image","imagick.getimagecompression":"Gets the current image's compression type","imagick.getimagecompressionquality":"Gets the current image's compression quality","imagick.getimagedelay":"Gets the image delay","imagick.getimagedepth":"Gets the image depth","imagick.getimagedispose":"Gets the image disposal method","imagick.getimagedistortion":"Compares an image to a reconstructed image","imagick.getimageextrema":"Gets the extrema for the image","imagick.getimagefilename":"Returns the filename of a particular image in a sequence","imagick.getimageformat":"Returns the format of a particular image in a sequence","imagick.getimagegamma":"Gets the image gamma","imagick.getimagegeometry":"Gets the width and height as an associative array","imagick.getimagegravity":"Gets the image gravity","imagick.getimagegreenprimary":"Returns the chromaticy green primary point","imagick.getimageheight":"Returns the image height","imagick.getimagehistogram":"Gets the image histogram","imagick.getimageindex":"Gets the index of the current active image","imagick.getimageinterlacescheme":"Gets the image interlace scheme","imagick.getimageinterpolatemethod":"Returns the interpolation method","imagick.getimageiterations":"Gets the image iterations","example-3315":"Using Imagick::getImageLength:","imagick.getimagelength":"Returns the image length in bytes","imagick.getimagemagicklicense":"Returns a string containing the ImageMagick license","imagick.getimagematte":"Return if the image has a matte channel","imagick.getimagemattecolor":"Returns the image matte color","imagick.getimageorientation":"Gets the image orientation","imagick.getimagepage":"Returns the page geometry","imagick.getimagepixelcolor":"Returns the color of the specified pixel","imagick.getimageprofile":"Returns the named image profile","imagick.getimageprofiles":"Returns the image profiles","example-3316":"Using Imagick::getImageProperties:","imagick.getimageproperties":"Returns the image properties","example-3317":"Using Imagick::getImageProperty:","imagick.getimageproperty":"Returns the named image property","imagick.getimageredprimary":"Returns the chromaticity red primary point","imagick.getimageregion":"Extracts a region of the image","imagick.getimagerenderingintent":"Gets the image rendering intent","imagick.getimageresolution":"Gets the image X and Y resolution","imagick.getimagesblob":"Returns all image sequences as a blob","imagick.getimagescene":"Gets the image scene","imagick.getimagesignature":"Generates an SHA-256 message digest","imagick.getimagesize":"Returns the image length in bytes","imagick.getimagetickspersecond":"Gets the image ticks-per-second","imagick.getimagetotalinkdensity":"Gets the image total ink density","imagick.getimagetype":"Gets the potential image type","imagick.getimageunits":"Gets the image units of resolution","imagick.getimagevirtualpixelmethod":"Returns the virtual pixel method","imagick.getimagewhitepoint":"Returns the chromaticity white point","imagick.getimagewidth":"Returns the image width","imagick.getinterlacescheme":"Gets the object interlace scheme","example-3318":"Using Imagick::getIteratorIndex:","imagick.getiteratorindex":"Gets the index of the current active image","imagick.getnumberimages":"Returns the number of images in the object","imagick.getoption":"Returns a value associated with the specified key","imagick.getpackagename":"Returns the ImageMagick package name","imagick.getpage":"Returns the page geometry","imagick.getpixeliterator":"Returns a MagickPixelIterator","imagick.getpixelregioniterator":"Get an ImagickPixelIterator for an image section","imagick.getpointsize":"Gets point size","imagick.getquantumdepth":"Gets the quantum depth","imagick.getquantumrange":"Returns the Imagick quantum range","imagick.getreleasedate":"Returns the ImageMagick release date","imagick.getresource":"Returns the specified resource's memory usage","imagick.getresourcelimit":"Returns the specified resource limit","imagick.getsamplingfactors":"Gets the horizontal and vertical sampling factor","imagick.getsize":"Returns the size associated with the Imagick object","imagick.getsizeoffset":"Returns the size offset","imagick.getversion":"Returns the ImageMagick API version","imagick.haldclutimage":"Replaces colors in the image","imagick.hasnextimage":"Checks if the object has more images","imagick.haspreviousimage":"Checks if the object has a previous image","example-3319":"Example Result Format","imagick.identifyimage":"Identifies an image and fetches attributes","imagick.implodeimage":"Creates a new image as a copy","example-3320":"Imagick::importImagePixels example","imagick.importimagepixels":"Imports image pixels","imagick.labelimage":"Adds a label to an image","imagick.levelimage":"Adjusts the levels of an image","imagick.linearstretchimage":"Stretches with saturation the image intensity","imagick.liquidrescaleimage":"Animates an image or images","imagick.magnifyimage":"Scales an image proportionally 2x","imagick.mapimage":"Replaces the colors of an image with the closest color from a reference image.","imagick.mattefloodfillimage":"Changes the transparency value of a color","imagick.medianfilterimage":"Applies a digital filter","imagick.mergeimagelayers":"Merges image layers","imagick.minifyimage":"Scales an image proportionally to half its size","imagick.modulateimage":"Control the brightness, saturation, and hue","imagick.montageimage":"Creates a composite image","imagick.morphimages":"Method morphs a set of images","imagick.mosaicimages":"Forms a mosaic from images","imagick.motionblurimage":"Simulates motion blur","imagick.negateimage":"Negates the colors in the reference image","example-3321":"Using Imagick::newImage:","imagick.newimage":"Creates a new image","imagick.newpseudoimage":"Creates a new image","imagick.nextimage":"Moves to the next image","imagick.normalizeimage":"Enhances the contrast of a color image","imagick.oilpaintimage":"Simulates an oil painting","imagick.opaquepaintimage":"Changes the color value of any pixel that matches target","example-3322":"Using Imagick::optimizeImageLayers","imagick.optimizeimagelayers":"Removes repeated portions of images to optimize","imagick.orderedposterizeimage":"Performs an ordered dither","imagick.paintfloodfillimage":"Changes the color value of any pixel that matches target","imagick.paintopaqueimage":"Change any pixel that matches color","imagick.painttransparentimage":"Changes any pixel that matches color with the color defined by fill","imagick.pingimage":"Fetch basic attributes about the image","example-3323":"Using Imagick::pingImageBlob","imagick.pingimageblob":"Quickly fetch attributes","example-3324":"Using Imagick::pingImageFile","imagick.pingimagefile":"Get basic image attributes in a lightweight manner","example-3325":"A Imagick::polaroidImage example","imagick.polaroidimage":"Simulates a Polaroid picture","imagick.posterizeimage":"Reduces the image to a limited number of color level","imagick.previewimages":"Quickly pin-point appropriate parameters for image processing","imagick.previousimage":"Move to the previous image in the object","imagick.profileimage":"Adds or removes a profile from an image","imagick.quantizeimage":"Analyzes the colors within a reference image","imagick.quantizeimages":"Analyzes the colors within a sequence of images","example-3326":"Using Imagick::queryFontMetrics:","imagick.queryfontmetrics":"Returns an array representing the font metrics","imagick.queryfonts":"Returns the configured fonts","imagick.queryformats":"Returns formats supported by Imagick","imagick.radialblurimage":"Radial blurs an image","imagick.raiseimage":"Creates a simulated 3d button-like effect","imagick.randomthresholdimage":"Creates a high-contrast, two-color image","imagick.readimage":"Reads image from filename","imagick.readimageblob":"Reads image from a binary string","imagick.readimagefile":"Reads image from open filehandle","imagick.recolorimage":"Recolors image","imagick.reducenoiseimage":"Smooths the contours of an image","imagick.remapimage":"Remaps image colors","imagick.removeimage":"Removes an image from the image list","imagick.removeimageprofile":"Removes the named image profile and returns it","imagick.render":"Renders all preceding drawing commands","imagick.resampleimage":"Resample image to desired resolution","imagick.resetimagepage":"Reset image page","imagick.resizeimage":"Scales an image","imagick.rollimage":"Offsets an image","imagick.rotateimage":"Rotates an image","example-3327":"Using Imagick::roundCorners:","imagick.roundcorners":"Rounds image corners","imagick.sampleimage":"Scales an image with pixel sampling","imagick.scaleimage":"Scales the size of an image","imagick.segmentimage":"Segments an image","imagick.separateimagechannel":"Separates a channel from the image","imagick.sepiatoneimage":"Sepia tones an image","imagick.setbackgroundcolor":"Sets the object's default background color","imagick.setcolorspace":"Set colorspace","imagick.setcompression":"Sets the object's default compression type","imagick.setcompressionquality":"Sets the object's default compression quality","imagick.setfilename":"Sets the filename before you read or write the image","imagick.setfirstiterator":"Sets the Imagick iterator to the first image","example-3328":"A Imagick::setFont example","imagick.setfont":"Sets font","imagick.setformat":"Sets the format of the Imagick object","imagick.setgravity":"Sets the gravity","example-3329":"A Imagick::setImage example","imagick.setimage":"Replaces image in the object","imagick.setimagealphachannel":"Sets image alpha channel","imagick.setimageartifact":"Set image artifact","imagick.setimagebackgroundcolor":"Sets the image background color","imagick.setimagebias":"Sets the image bias for any method that convolves an image","imagick.setimageblueprimary":"Sets the image chromaticity blue primary point","imagick.setimagebordercolor":"Sets the image border color","imagick.setimagechanneldepth":"Sets the depth of a particular image channel","imagick.setimageclipmask":"Sets image clip mask","imagick.setimagecolormapcolor":"Sets the color of the specified colormap index","imagick.setimagecolorspace":"Sets the image colorspace","imagick.setimagecompose":"Sets the image composite operator","imagick.setimagecompression":"Sets the image compression","imagick.setimagecompressionquality":"Sets the image compression quality","example-3330":"Modify animated Gif with Imagick::setImageDelay","imagick.setimagedelay":"Sets the image delay","imagick.setimagedepth":"Sets the image depth","imagick.setimagedispose":"Sets the image disposal method","imagick.setimageextent":"Sets the image size","imagick.setimagefilename":"Sets the filename of a particular image","imagick.setimageformat":"Sets the format of a particular image","imagick.setimagegamma":"Sets the image gamma","imagick.setimagegravity":"Sets the image gravity","imagick.setimagegreenprimary":"Sets the image chromaticity green primary point","imagick.setimageindex":"Set the iterator position","imagick.setimageinterlacescheme":"Sets the image compression","imagick.setimageinterpolatemethod":"Sets the image interpolate pixel method","example-3331":"Basic Imagick::setImageIterations usage","imagick.setimageiterations":"Sets the image iterations","imagick.setimagematte":"Sets the image matte channel","imagick.setimagemattecolor":"Sets the image matte color","example-3332":"A Imagick::setImageOpacity example","imagick.setimageopacity":"Sets the image opacity level","imagick.setimageorientation":"Sets the image orientation","imagick.setimagepage":"Sets the page geometry of the image","imagick.setimageprofile":"Adds a named profile to the Imagick object","example-3333":"Using Imagick::setImageProperty:","imagick.setimageproperty":"Sets an image property","imagick.setimageredprimary":"Sets the image chromaticity red primary point","imagick.setimagerenderingintent":"Sets the image rendering intent","imagick.setimageresolution":"Sets the image resolution","imagick.setimagescene":"Sets the image scene","example-3334":"Modify animated Gif with Imagick::setImageTicksPerSecond","imagick.setimagetickspersecond":"Sets the image ticks-per-second","imagick.setimagetype":"Sets the image type","imagick.setimageunits":"Sets the image units of resolution","imagick.setimagevirtualpixelmethod":"Sets the image virtual pixel method","imagick.setimagewhitepoint":"Sets the image chromaticity white point","imagick.setinterlacescheme":"Sets the image compression","example-3335":"Using Imagick::setIteratorIndex:","imagick.setiteratorindex":"Set the iterator position","imagick.setlastiterator":"Sets the Imagick iterator to the last image","imagick.setoption":"Set an option","imagick.setpage":"Sets the page geometry of the Imagick object","example-3336":"A Imagick::setPointSize example","imagick.setpointsize":"Sets point size","imagick.setresolution":"Sets the image resolution","imagick.setresourcelimit":"Sets the limit for a particular resource in megabytes","imagick.setsamplingfactors":"Sets the image sampling factors","imagick.setsize":"Sets the size of the Imagick object","imagick.setsizeoffset":"Sets the size and offset of the Imagick object","imagick.settype":"Sets the image type attribute","imagick.shadeimage":"Creates a 3D effect","imagick.shadowimage":"Simulates an image shadow","imagick.sharpenimage":"Sharpens an image","imagick.shaveimage":"Shaves pixels from the image edges","imagick.shearimage":"Creating a parallelogram","imagick.sigmoidalcontrastimage":"Adjusts the contrast of an image","imagick.sketchimage":"Simulates a pencil sketch","imagick.solarizeimage":"Applies a solarizing effect to the image","imagick.sparsecolorimage":"Interpolates colors","imagick.spliceimage":"Splices a solid color into the image","imagick.spreadimage":"Randomly displaces each pixel in a block","imagick.steganoimage":"Hides a digital watermark within the image","imagick.stereoimage":"Composites two images","imagick.stripimage":"Strips an image of all profiles and comments","imagick.swirlimage":"Swirls the pixels about the center of the image","imagick.textureimage":"Repeatedly tiles the texture image","imagick.thresholdimage":"Changes the value of individual pixels based on a threshold","imagick.thumbnailimage":"Changes the size of an image","imagick.tintimage":"Applies a color vector to each pixel in the image","example-3337":"Using Imagick::transformImage:","imagick.transformimage":"Convenience method for setting crop size and the image geometry","imagick.transparentpaintimage":"Paints pixels transparent","imagick.transposeimage":"Creates a vertical mirror image","imagick.transverseimage":"Creates a horizontal mirror image","example-3338":"Using Imagick::trimImage:","imagick.trimimage":"Remove edges from the image","imagick.uniqueimagecolors":"Discards all but one of any pixel color","imagick.unsharpmaskimage":"Sharpens an image","imagick.valid":"Checks if the current item is valid","imagick.vignetteimage":"Adds vignette filter to the image","imagick.waveimage":"Applies wave filter to the image","imagick.whitethresholdimage":"Force all pixels above the threshold into white","imagick.writeimage":"Writes an image to the specified filename","imagick.writeimagefile":"Writes an image to a filehandle","imagick.writeimages":"Writes an image or image sequence","imagick.writeimagesfile":"Writes frames to a filehandle","class.imagick":"The Imagick class","imagickdraw.synopsis":"Class synopsis","imagickdraw.affine":"Adjusts the current affine transformation matrix","imagickdraw.annotation":"Draws text on the image","imagickdraw.arc":"Draws an arc","imagickdraw.bezier":"Draws a bezier curve","imagickdraw.circle":"Draws a circle","imagickdraw.clear":"Clears the ImagickDraw","imagickdraw.clone":"Makes an exact copy of the specified ImagickDraw object","imagickdraw.color":"Draws color on image","imagickdraw.comment":"Adds a comment","imagickdraw.composite":"Composites an image onto the current image","imagickdraw.construct":"The ImagickDraw constructor","imagickdraw.destroy":"Frees all associated resources","imagickdraw.ellipse":"Draws an ellipse on the image","imagickdraw.getclippath":"Obtains the current clipping path ID","imagickdraw.getcliprule":"Returns the current polygon fill rule","imagickdraw.getclipunits":"Returns the interpretation of clip path units","imagickdraw.getfillcolor":"Returns the fill color","imagickdraw.getfillopacity":"Returns the opacity used when drawing","imagickdraw.getfillrule":"Returns the fill rule","imagickdraw.getfont":"Returns the font","imagickdraw.getfontfamily":"Returns the font family","imagickdraw.getfontsize":"Returns the font pointsize","imagickdraw.getfontstyle":"Returns the font style","imagickdraw.getfontweight":"Returns the font weight","imagickdraw.getgravity":"Returns the text placement gravity","imagickdraw.getstrokeantialias":"Returns the current stroke antialias setting","imagickdraw.getstrokecolor":"Returns the color used for stroking object outlines","imagickdraw.getstrokedasharray":"Returns an array representing the pattern of dashes and gaps used to stroke paths","imagickdraw.getstrokedashoffset":"Returns the offset into the dash pattern to start the dash","imagickdraw.getstrokelinecap":"Returns the shape to be used at the end of open subpaths when they are stroked","imagickdraw.getstrokelinejoin":"Returns the shape to be used at the corners of paths when they are stroked","imagickdraw.getstrokemiterlimit":"Returns the stroke miter limit","imagickdraw.getstrokeopacity":"Returns the opacity of stroked object outlines","imagickdraw.getstrokewidth":"Returns the width of the stroke used to draw object outlines","imagickdraw.gettextalignment":"Returns the text alignment","imagickdraw.gettextantialias":"Returns the current text antialias setting","imagickdraw.gettextdecoration":"Returns the text decoration","imagickdraw.gettextencoding":"Returns the code set used for text annotations","imagickdraw.gettextundercolor":"Returns the text under color","imagickdraw.getvectorgraphics":"Returns a string containing vector graphics","imagickdraw.line":"Draws a line","imagickdraw.matte":"Paints on the image's opacity channel","imagickdraw.pathclose":"Adds a path element to the current path","imagickdraw.pathcurvetoabsolute":"Draws a cubic Bezier curve","imagickdraw.pathcurvetoquadraticbezierabsolute":"Draws a quadratic Bezier curve","imagickdraw.pathcurvetoquadraticbezierrelative":"Draws a quadratic Bezier curve","imagickdraw.pathcurvetoquadraticbeziersmoothabsolute":"Draws a quadratic Bezier curve","imagickdraw.pathcurvetoquadraticbeziersmoothrelative":"Draws a quadratic Bezier curve","imagickdraw.pathcurvetorelative":"Draws a cubic Bezier curve","imagickdraw.pathcurvetosmoothabsolute":"Draws a cubic Bezier curve","imagickdraw.pathcurvetosmoothrelative":"Draws a cubic Bezier curve","imagickdraw.pathellipticarcabsolute":"Draws an elliptical arc","imagickdraw.pathellipticarcrelative":"Draws an elliptical arc","imagickdraw.pathfinish":"Terminates the current path","imagickdraw.pathlinetoabsolute":"Draws a line path","imagickdraw.pathlinetohorizontalabsolute":"Draws a horizontal line path","imagickdraw.pathlinetohorizontalrelative":"Draws a horizontal line","imagickdraw.pathlinetorelative":"Draws a line path","imagickdraw.pathlinetoverticalabsolute":"Draws a vertical line","imagickdraw.pathlinetoverticalrelative":"Draws a vertical line path","imagickdraw.pathmovetoabsolute":"Starts a new sub-path","imagickdraw.pathmovetorelative":"Starts a new sub-path","imagickdraw.pathstart":"Declares the start of a path drawing list","imagickdraw.point":"Draws a point","imagickdraw.polygon":"Draws a polygon","imagickdraw.polyline":"Draws a polyline","imagickdraw.pop":"Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw","imagickdraw.popclippath":"Terminates a clip path definition","imagickdraw.popdefs":"Terminates a definition list","imagickdraw.poppattern":"Terminates a pattern definition","imagickdraw.push":"Clones the current ImagickDraw and pushes it to the stack","imagickdraw.pushclippath":"Starts a clip path definition","imagickdraw.pushdefs":"Indicates that following commands create named elements for early processing","imagickdraw.pushpattern":"Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern","imagickdraw.rectangle":"Draws a rectangle","imagickdraw.render":"Renders all preceding drawing commands onto the image","imagickdraw.rotate":"Applies the specified rotation to the current coordinate space","imagickdraw.roundrectangle":"Draws a rounded rectangle","imagickdraw.scale":"Adjusts the scaling factor","imagickdraw.setclippath":"Associates a named clipping path with the image","imagickdraw.setcliprule":"Set the polygon fill rule to be used by the clipping path","imagickdraw.setclipunits":"Sets the interpretation of clip path units","imagickdraw.setfillalpha":"Sets the opacity to use when drawing using the fill color or fill texture","imagickdraw.setfillcolor":"Sets the fill color to be used for drawing filled objects","imagickdraw.setfillopacity":"Sets the opacity to use when drawing using the fill color or fill texture","imagickdraw.setfillpatternurl":"Sets the URL to use as a fill pattern for filling objects","imagickdraw.setfillrule":"Sets the fill rule to use while drawing polygons","imagickdraw.setfont":"Sets the fully-specified font to use when annotating with text","imagickdraw.setfontfamily":"Sets the font family to use when annotating with text","imagickdraw.setfontsize":"Sets the font pointsize to use when annotating with text","imagickdraw.setfontstretch":"Sets the font stretch to use when annotating with text","imagickdraw.setfontstyle":"Sets the font style to use when annotating with text","imagickdraw.setfontweight":"Sets the font weight","imagickdraw.setgravity":"Sets the text placement gravity","imagickdraw.setstrokealpha":"Specifies the opacity of stroked object outlines","imagickdraw.setstrokeantialias":"Controls whether stroked outlines are antialiased","imagickdraw.setstrokecolor":"Sets the color used for stroking object outlines","imagickdraw.setstrokedasharray":"Specifies the pattern of dashes and gaps used to stroke paths","imagickdraw.setstrokedashoffset":"Specifies the offset into the dash pattern to start the dash","imagickdraw.setstrokelinecap":"Specifies the shape to be used at the end of open subpaths when they are stroked","imagickdraw.setstrokelinejoin":"Specifies the shape to be used at the corners of paths when they are stroked","imagickdraw.setstrokemiterlimit":"Specifies the miter limit","imagickdraw.setstrokeopacity":"Specifies the opacity of stroked object outlines","imagickdraw.setstrokepatternurl":"Sets the pattern used for stroking object outlines","imagickdraw.setstrokewidth":"Sets the width of the stroke used to draw object outlines","imagickdraw.settextalignment":"Specifies a text alignment","imagickdraw.settextantialias":"Controls whether text is antialiased","imagickdraw.settextdecoration":"Specifies a decoration","imagickdraw.settextencoding":"Specifies specifies the text code set","imagickdraw.settextundercolor":"Specifies the color of a background rectangle","imagickdraw.setvectorgraphics":"Sets the vector graphics","imagickdraw.setviewbox":"Sets the overall canvas size","imagickdraw.skewx":"Skews the current coordinate system in the horizontal direction","imagickdraw.skewy":"Skews the current coordinate system in the vertical direction","imagickdraw.translate":"Applies a translation to the current coordinate system","class.imagickdraw":"The ImagickDraw class","imagickpixel.synopsis":"Class synopsis","imagickpixel.clear":"Clears resources associated with this object","imagickpixel.construct":"The ImagickPixel constructor","imagickpixel.destroy":"Deallocates resources associated with this object","example-3339":"Basic Imagick::getColor usage","imagickpixel.getcolor":"Returns the color","example-3340":"Basic Imagick::getColorAsString usage","imagickpixel.getcolorasstring":"Returns the color as a string","imagickpixel.getcolorcount":"Returns the color count associated with this color","example-3341":"Basic Imagick::getColorValue usage","imagickpixel.getcolorvalue":"Gets the normalized value of the provided color channel","example-3342":"Basic Imagick::getHSL example","imagickpixel.gethsl":"Returns the normalized HSL color of the ImagickPixel object","imagickpixel.ispixelsimilar":"Check the distance between this color and another","imagickpixel.issimilar":"Check the distance between this color and another","imagickpixel.setcolor":"Sets the color","example-3343":"Basic Imagick::setColorValue usage","imagickpixel.setcolorvalue":"Sets the normalized value of one of the channels","example-3344":"Use ImagickPixel::setHSL to modify a color","imagickpixel.sethsl":"Sets the normalized HSL color","class.imagickpixel":"The ImagickPixel class","imagickpixeliterator.synopsis":"Class synopsis","imagickpixeliterator.clear":"Clear resources associated with a PixelIterator","imagickpixeliterator.construct":"The ImagickPixelIterator constructor","imagickpixeliterator.destroy":"Deallocates resources associated with a PixelIterator","imagickpixeliterator.getcurrentiteratorrow":"Returns the current row of ImagickPixel objects","imagickpixeliterator.getiteratorrow":"Returns the current pixel iterator row","imagickpixeliterator.getnextiteratorrow":"Returns the next row of the pixel iterator","imagickpixeliterator.getpreviousiteratorrow":"Returns the previous row","imagickpixeliterator.newpixeliterator":"Returns a new pixel iterator","imagickpixeliterator.newpixelregioniterator":"Returns a new pixel iterator","imagickpixeliterator.resetiterator":"Resets the pixel iterator","imagickpixeliterator.setiteratorfirstrow":"Sets the pixel iterator to the first pixel row","imagickpixeliterator.setiteratorlastrow":"Sets the pixel iterator to the last pixel row","imagickpixeliterator.setiteratorrow":"Set the pixel iterator row","imagickpixeliterator.synciterator":"Syncs the pixel iterator","class.imagickpixeliterator":"The ImagickPixelIterator class","book.imagick":"Image Processing (ImageMagick)","refs.utilspec.image":"Image Processing and Generation","intro.cyrus":"Introduction","cyrus.requirements":"Requirements","cyrus.installation":"Installation","cyrus.configuration":"Runtime Configuration","cyrus.resources":"Resource Types","cyrus.setup":"Installing\/Configuring","constant.cyrus-conn-nonsyncliteral":"","constant.cyrus-conn-initialresponse":"","constant.cyrus-callback-numbered":"","constant.cyrus-callback-noliteral":"","cyrus.constants":"Predefined Constants","function.cyrus-authenticate":"Authenticate against a Cyrus IMAP server","function.cyrus-bind":"Bind callbacks to a Cyrus IMAP connection","function.cyrus-close":"Close connection to a Cyrus IMAP server","function.cyrus-connect":"Connect to a Cyrus IMAP server","function.cyrus-query":"Send a query to a Cyrus IMAP server","function.cyrus-unbind":"Unbind ...","ref.cyrus":"Cyrus Functions","book.cyrus":"Cyrus IMAP administration","intro.imap":"Introduction","imap.requirements":"Requirements","imap.installation":"Installation","imap.configuration":"Runtime Configuration","imap.resources":"Resource Types","imap.setup":"Installing\/Configuring","constant.nil":"","constant.op-debug":"","constant.op-readonly":"","constant.op-anonymous":"","constant.op-shortcache":"","constant.op-silent":"","constant.op-prototype":"","constant.op-halfopen":"","constant.op-expunge":"","constant.op-secure":"","constant.cl-expunge":"","constant.ft-uid":"","constant.ft-peek":"","constant.ft-not":"","constant.ft-internal":"","constant.ft-prefetchtext":"","constant.st-uid":"","constant.st-silent":"","constant.st-set":"","constant.cp-uid":"","constant.cp-move":"","constant.se-uid":"","constant.se-free":"","constant.se-noprefetch":"","constant.so-free":"","constant.so-noserver":"","constant.sa-messages":"","constant.sa-recent":"","constant.sa-unseen":"","constant.sa-uidnext":"","constant.sa-uidvalidity":"","constant.sa-all":"","constant.latt-noinferiors":"","constant.latt-noselect":"","constant.latt-marked":"","constant.latt-unmarked":"","constant.sortdate":"","constant.sortarrival":"","constant.sortfrom":"","constant.sortsubject":"","constant.sortto":"","constant.sortcc":"","constant.sortsize":"","constant.typetext":"","constant.typemultipart":"","constant.typemessage":"","constant.typeapplication":"","constant.typeaudio":"","constant.typeimage":"","constant.typevideo":"","constant.typeother":"","constant.enc7bit":"","constant.enc8bit":"","constant.encbinary":"","constant.encbase64":"","constant.encquotedprintable":"","constant.encother":"","constant.imap-opentimeout":"","constant.imap-readtimeout":"","constant.imap-writetimeout":"","constant.imap-closetimeout":"","constant.latt-referral":"","constant.latt-haschildren":"","constant.latt-hasnochildren":"","constant.typemodel":"","constant.imap-gc-elt":"","constant.imap-gc-env":"","constant.imap-gc-texts":"","imap.constants":"Predefined Constants","function.imap-8bit":"Convert an 8bit string to a quoted-printable string","function.imap-alerts":"Returns all IMAP alert messages that have occurred","example-3345":"imap_append example","function.imap-append":"Append a string message to a specified mailbox","function.imap-base64":"Decode BASE64 encoded text","function.imap-binary":"Convert an 8bit string to a base64 string","function.imap-body":"Read the message body","function.imap-bodystruct":"Read the structure of a specified body section of a specific message","example-3346":"imap_check example","function.imap-check":"Check current mailbox","function.imap-clearflag-full":"Clears flags on messages","function.imap-close":"Close an IMAP stream","function.imap-create":"Alias of imap_createmailbox","example-3347":"imap_createmailbox example","function.imap-createmailbox":"Create a new mailbox","example-3348":"imap_delete example","function.imap-delete":"Mark a message for deletion from current mailbox","function.imap-deletemailbox":"Delete a mailbox","function.imap-errors":"Returns all of the IMAP errors that have occurred","function.imap-expunge":"Delete all messages marked for deletion","example-3349":"imap_fetch_overview example","function.imap-fetch-overview":"Read an overview of the information in the headers of the given message","function.imap-fetchbody":"Fetch a particular section of the body of the message","function.imap-fetchheader":"Returns header for a message","function.imap-fetchmime":"Fetch MIME headers for a particular section of the message","function.imap-fetchstructure":"Read the structure of a particular message","function.imap-fetchtext":"Alias of imap_body","example-3350":"imap_gc example","function.imap-gc":"Clears IMAP cache","example-3351":"imap_get_quota example","example-3352":"imap_get_quota 4.3 or greater example","function.imap-get-quota":"Retrieve the quota level settings, and usage statics per mailbox","example-3353":"imap_get_quotaroot example","function.imap-get-quotaroot":"Retrieve the quota settings per user","example-3354":"imap_getacl example","function.imap-getacl":"Gets the ACL for a given mailbox","example-3355":"imap_getmailboxes example","function.imap-getmailboxes":"Read the list of mailboxes, returning detailed information on each one","function.imap-getsubscribed":"List all the subscribed mailboxes","function.imap-header":"Alias of imap_headerinfo","function.imap-headerinfo":"Read the header of the message","function.imap-headers":"Returns headers for all messages in a mailbox","function.imap-last-error":"Gets the last IMAP error that occurred during this page request","example-3356":"imap_list example","function.imap-list":"Read the list of mailboxes","function.imap-listmailbox":"Alias of imap_list","function.imap-listscan":"Returns the list of mailboxes that matches the given text","function.imap-listsubscribed":"Alias of imap_lsub","function.imap-lsub":"List all the subscribed mailboxes","example-3357":"imap_mail_compose example","function.imap-mail-compose":"Create a MIME message based on given envelope and body sections","function.imap-mail-copy":"Copy specified messages to a mailbox","function.imap-mail-move":"Move specified messages to a mailbox","function.imap-mail":"Send an email message","example-3358":"imap_mailboxmsginfo example","function.imap-mailboxmsginfo":"Get information about the current mailbox","example-3359":"imap_mime_header_decode example","function.imap-mime-header-decode":"Decode MIME header elements","function.imap-msgno":"Gets the message sequence number for the given UID","function.imap-num-msg":"Gets the number of messages in the current mailbox","function.imap-num-recent":"Gets the number of recent messages in current mailbox","example-3360":"Different use of imap_open","example-3361":"imap_open example","function.imap-open":"Open an IMAP stream to a mailbox","example-3362":"imap_ping Example","function.imap-ping":"Check if the IMAP stream is still active","function.imap-qprint":"Convert a quoted-printable string to an 8 bit string","function.imap-rename":"Alias of imap_renamemailbox","function.imap-renamemailbox":"Rename an old mailbox to new mailbox","example-3363":"imap_reopen example","function.imap-reopen":"Reopen IMAP stream to new mailbox","example-3364":"imap_rfc822_parse_adrlist example","function.imap-rfc822-parse-adrlist":"Parses an address string","function.imap-rfc822-parse-headers":"Parse mail headers from a string","example-3365":"imap_rfc822_write_address example","function.imap-rfc822-write-address":"Returns a properly formatted email address given the mailbox, host, and personal info","function.imap-savebody":"Save a specific body section to a file","function.imap-scan":"Alias of imap_listscan","function.imap-scanmailbox":"Alias of imap_listscan","imap-search.examples":"imap_search example","function.imap-search":"This function returns an array of messages matching the given search criteria","example-3367":"imap_set_quota example","function.imap-set-quota":"Sets a quota for a given mailbox","function.imap-setacl":"Sets the ACL for a given mailbox","example-3368":"imap_setflag_full example","function.imap-setflag-full":"Sets flags on messages","function.imap-sort":"Gets and sort messages","example-3369":"imap_status example","function.imap-status":"Returns status information on a mailbox","function.imap-subscribe":"Subscribe to a mailbox","example-3370":"imap_thread Example","function.imap-thread":"Returns a tree of threaded message","example-3371":"imap_timeout example","function.imap-timeout":"Set or fetch imap timeout","function.imap-uid":"This function returns the UID for the given message sequence number","function.imap-undelete":"Unmark the message which is marked deleted","function.imap-unsubscribe":"Unsubscribe from a mailbox","function.imap-utf7-decode":"Decodes a modified UTF-7 encoded string","function.imap-utf7-encode":"Converts ISO-8859-1 string to modified UTF-7 text","function.imap-utf8":"Converts MIME-encoded text to UTF-8","ref.imap":"IMAP Functions","book.imap":"IMAP, POP3 and NNTP","intro.mail":"Introduction","mail.requirements":"Requirements","mail.installation":"Installation","ini.mail.add-x-header":"","ini.mail.log":"","ini.smtp":"","ini.smtp-port":"","ini.sendmail-from":"","ini.sendmail-path":"","mail.configuration":"Runtime Configuration","mail.resources":"Resource Types","mail.setup":"Installing\/Configuring","mail.constants":"Predefined Constants","example-3372":"Calculating the hash and subscribing a user","function.ezmlm-hash":"Calculate the hash value needed by EZMLM","example-3373":"Sending mail.","example-3374":"Sending mail with extra headers.","example-3375":"Sending mail with an additional command line parameter.","example-3376":"Sending HTML email","function.mail":"Send mail","ref.mail":"Mail Functions","book.mail":"Mail","intro.mailparse":"Introduction","mailparse.requirements":"Requirements","mailparse.configure":"","mailparse.installation":"Installation","mailparse.configuration":"Runtime Configuration","mailparse.resources":"Resource Types","mailparse.setup":"Installing\/Configuring","constant.mailparse-extract-output":"","constant.mailparse-extract-stream":"","constant.mailparse-extract-return":"","mailparse.constants":"Predefined Constants","example-3377":"mailparse_determine_best_xfer_encoding example","function.mailparse-determine-best-xfer-encoding":"Gets the best way of encoding","function.mailparse-msg-create":"Create a mime mail resource","function.mailparse-msg-extract-part-file":"Extracts\/decodes a message section","function.mailparse-msg-extract-part":"Extracts\/decodes a message section","function.mailparse-msg-extract-whole-part-file":"Extracts a message section including headers without decoding the transfer encoding","function.mailparse-msg-free":"Frees a MIME resource","function.mailparse-msg-get-part-data":"Returns an associative array of info about the message","function.mailparse-msg-get-part":"Returns a handle on a given section in a mimemessage","function.mailparse-msg-get-structure":"Returns an array of mime section names in the supplied message","function.mailparse-msg-parse-file":"Parses a file","function.mailparse-msg-parse":"Incrementally parse data into buffer","example-3378":"mailparse_rfc822_parse_addresses example","function.mailparse-rfc822-parse-addresses":"Parse RFC 822 compliant addresses","example-3379":"mailparse_stream_encode example","function.mailparse-stream-encode":"Streams data from source file pointer, apply encoding and write to destfp","example-3380":"mailparse_uudecode_all example","function.mailparse-uudecode-all":"Scans the data from fp and extract each embedded uuencoded file","ref.mailparse":"Mailparse Functions","book.mailparse":"Mailparse","intro.vpopmail":"Introduction","vpopmail.requirements":"Requirements","vpopmail.installation":"Installation","vpopmail.configuration":"Runtime Configuration","vpopmail.resources":"Resource Types","vpopmail.setup":"Installing\/Configuring","vpopmail.constants":"Predefined Constants","function.vpopmail-add-alias-domain-ex":"Add alias to an existing virtual domain","function.vpopmail-add-alias-domain":"Add an alias for a virtual domain","function.vpopmail-add-domain-ex":"Add a new virtual domain","function.vpopmail-add-domain":"Add a new virtual domain","function.vpopmail-add-user":"Add a new user to the specified virtual domain","function.vpopmail-alias-add":"Insert a virtual alias","function.vpopmail-alias-del-domain":"Deletes all virtual aliases of a domain","function.vpopmail-alias-del":"Deletes all virtual aliases of a user","function.vpopmail-alias-get-all":"Get all lines of an alias for a domain","function.vpopmail-alias-get":"Get all lines of an alias for a domain","function.vpopmail-auth-user":"Attempt to validate a username\/domain\/password","function.vpopmail-del-domain-ex":"Delete a virtual domain","function.vpopmail-del-domain":"Delete a virtual domain","function.vpopmail-del-user":"Delete a user from a virtual domain","function.vpopmail-error":"Get text message for last vpopmail error","function.vpopmail-passwd":"Change a virtual user's password","function.vpopmail-set-user-quota":"Sets a virtual user's quota","ref.vpopmail":"vpopmail Functions","book.vpopmail":"vpopmail","refs.remote.mail":"Mail Related Extensions","intro.bc":"Introduction","bc.requirements":"Requirements","bc.installation":"Installation","ini.bcmath.scale":"","bc.configuration":"Runtime Configuration","bc.resources":"Resource Types","bc.setup":"Installing\/Configuring","bc.constants":"Predefined Constants","example-3381":"bcadd example","function.bcadd":"Add two arbitrary precision numbers","example-3382":"bccomp example","function.bccomp":"Compare two arbitrary precision numbers","example-3383":"bcdiv example","function.bcdiv":"Divide two arbitrary precision numbers","example-3384":"bcmod example","function.bcmod":"Get modulus of an arbitrary precision number","example-3385":"bcmul example","function.bcmul":"Multiply two arbitrary precision numbers","example-3386":"bcpow example","example-3387":"bcpow scale example","function.bcpow":"Raise an arbitrary precision number to another","function.bcpowmod":"Raise an arbitrary precision number to another, reduced by a specified modulus","example-3388":"bcscale example","function.bcscale":"Set default scale parameter for all bc math functions","example-3389":"bcsqrt example","function.bcsqrt":"Get the square root of an arbitrary precision number","example-3390":"bcsub example","function.bcsub":"Subtract one arbitrary precision number from another","ref.bc":"BC Math Functions","book.bc":"BCMath Arbitrary Precision Mathematics","intro.gmp":"Introduction","gmp.requirements":"Requirements","gmp.installation":"Installation","gmp.configuration":"Runtime Configuration","gmp.resources":"Resource Types","gmp.setup":"Installing\/Configuring","constant.gmp-round-zero":"","constant.gmp-round-plusinf":"","constant.gmp-round-minusinf":"","constant.gmp-version":"","gmp.constants":"Predefined Constants","example-3391":"Factorial function using GMP","gmp.examples":"Examples","gmp.seealso":"See Also","example-3392":"gmp_abs example","function.gmp-abs":"Absolute value","example-3393":"gmp_add example","function.gmp-add":"Add numbers","example-3394":"gmp_and example","function.gmp-and":"Bitwise AND","example-3395":"gmp_clrbit example","function.gmp-clrbit":"Clear bit","example-3396":"gmp_cmp example","function.gmp-cmp":"Compare numbers","example-3397":"gmp_com example","function.gmp-com":"Calculates one's complement","example-3398":"gmp_div_q example","function.gmp-div-q":"Divide numbers","example-3399":"Division of GMP numbers","function.gmp-div-qr":"Divide numbers and get quotient and remainder","example-3400":"gmp_div_r example","function.gmp-div-r":"Remainder of the division of numbers","function.gmp-div":"Alias of gmp_div_q","example-3401":"gmp_divexact example","function.gmp-divexact":"Exact division of numbers","example-3402":"gmp_fact example","function.gmp-fact":"Factorial","example-3403":"gmp_gcd example","function.gmp-gcd":"Calculate GCD","example-3404":"Solving a linear Diophantine equation","function.gmp-gcdext":"Calculate GCD and multipliers","example-3405":"gmp_hamdist example","function.gmp-hamdist":"Hamming distance","example-3406":"Creating GMP number","function.gmp-init":"Create GMP number","example-3407":"gmp_intval example","function.gmp-intval":"Convert GMP number to integer","example-3408":"gmp_invert example","function.gmp-invert":"Inverse by modulo","example-3409":"gmp_jacobi example","function.gmp-jacobi":"Jacobi symbol","example-3410":"gmp_legendre example","function.gmp-legendre":"Legendre symbol","example-3411":"gmp_mod example","function.gmp-mod":"Modulo operation","example-3412":"gmp_mul example","function.gmp-mul":"Multiply numbers","example-3413":"gmp_neg example","function.gmp-neg":"Negate number","example-3414":"gmp_nextprime example","function.gmp-nextprime":"Find next prime number","example-3415":"gmp_or example","function.gmp-or":"Bitwise OR","example-3416":"gmp_perfect_square example","function.gmp-perfect-square":"Perfect square check","example-3417":"gmp_popcount example","function.gmp-popcount":"Population count","example-3418":"gmp_pow example","function.gmp-pow":"Raise number into power","example-3419":"gmp_powm example","function.gmp-powm":"Raise number into power with modulo","example-3420":"gmp_prob_prime example","function.gmp-prob-prime":"Check if number is "probably prime"","example-3421":"gmp_random example","function.gmp-random":"Random number","example-3422":"gmp_scan0 example","function.gmp-scan0":"Scan for 0","example-3423":"gmp_scan1 example","function.gmp-scan1":"Scan for 1","example-3424":"gmp_setbit example - 0 index","example-3425":"gmp_setbit example - 1 index","example-3426":"gmp_setbit example - clearing a bit","function.gmp-setbit":"Set bit","example-3427":"gmp_sign example","function.gmp-sign":"Sign of number","example-3428":"gmp_sqrt example","function.gmp-sqrt":"Calculate square root","example-3429":"gmp_sqrtrem example","function.gmp-sqrtrem":"Square root with remainder","example-3430":"Converting a GMP number to a string","function.gmp-strval":"Convert GMP number to string","example-3431":"gmp_sub example","function.gmp-sub":"Subtract numbers","example-3432":"gmp_testbit example","function.gmp-testbit":"Tests if a bit is set","example-3433":"gmp_xor example","function.gmp-xor":"Bitwise XOR","ref.gmp":"GMP Functions","book.gmp":"GNU Multiple Precision","intro.lapack":"Introduction","lapack.requirements":"Requirements","lapack.installation":"Installation","lapack.configuration":"Runtime Configuration","lapack.resources":"Resource Types","lapack.setup":"Installing\/Configuring","lapack.constants":"Predefined Constants","lapack.intro":"Introduction","lapack.synopsis":"Class synopsis","example-3434":"Using Lapack::eigenValues:","lapack.eigenvalues":"This function returns the eigenvalues for a given square matrix","lapack.identity":"Return an identity matrix","example-3435":"Using Lapack::leastSquaresByFactorisation:","lapack.leastsquaresbyfactorisation":"Calculate the linear least squares solution of a matrix using QR factorisation","example-3436":"Using Lapack::leastSquaresBySVD:","lapack.leastsquaresbysvd":"Solve the linear least squares problem, using SVD","example-3437":"Using Lapack::pseudoInverse:","lapack.pseudoinverse":"Calculate the inverse of a matrix","example-3438":"Using Lapack::singularValues:","lapack.singularvalues":"Calculated the singular values of a matrix","example-3439":"Using Lapack::singularValues:","lapack.solvelinearequation":"Solve a system of linear equations","class.lapack":"The Lapack class","lapackexception.intro":"Introduction","lapackexception.synopsis":"Class synopsis","class.lapackexception":"The LapackException class","book.lapack":"Lapack","intro.math":"Introduction","math.requirements":"Requirements","math.installation":"Installation","math.configuration":"Runtime Configuration","math.resources":"Resource Types","math.setup":"Installing\/Configuring","math.constants":"Predefined Constants","example-3440":"abs example","function.abs":"Absolute value","function.acos":"Arc cosine","function.acosh":"Inverse hyperbolic cosine","function.asin":"Arc sine","function.asinh":"Inverse hyperbolic sine","function.atan2":"Arc tangent of two variables","function.atan":"Arc tangent","function.atanh":"Inverse hyperbolic tangent","example-3441":"base_convert example","function.base-convert":"Convert a number between arbitrary bases","example-3442":"bindec example","example-3443":"bindec interprets input as unsigned integers","function.bindec":"Binary to decimal","example-3444":"ceil example","function.ceil":"Round fractions up","example-3445":"cos example","function.cos":"Cosine","function.cosh":"Hyperbolic cosine","example-3446":"decbin example","function.decbin":"Decimal to binary","example-3447":"dechex example","example-3448":"dechex example with large integers","function.dechex":"Decimal to hexadecimal","example-3449":"decoct example","function.decoct":"Decimal to octal","example-3450":"deg2rad example","function.deg2rad":"Converts the number in degrees to the radian equivalent","example-3451":"exp example","function.exp":"Calculates the exponent of e","function.expm1":"Returns exp(number) - 1, computed in a way that is accurate even\n when the value of number is close to zero","example-3452":"floor example","function.floor":"Round fractions down","example-3453":"Using fmod","function.fmod":"Returns the floating point remainder (modulo) of the division\n of the arguments","function.getrandmax":"Show largest possible random value","example-3454":"hexdec example","function.hexdec":"Hexadecimal to decimal","function.hypot":"Calculate the length of the hypotenuse of a right-angle triangle","function.is-finite":"Finds whether a value is a legal finite number","function.is-infinite":"Finds whether a value is infinite","example-3455":"is_nan example","function.is-nan":"Finds whether a value is not a number","function.lcg-value":"Combined linear congruential generator","function.log10":"Base-10 logarithm","function.log1p":"Returns log(1 + number), computed in a way that is accurate even when\n the value of number is close to zero","function.log":"Natural logarithm","example-3456":"Example uses of max","function.max":"Find highest value","example-3457":"Example uses of min","example-3458":"Example of NULL\/FALSE value with min","function.min":"Find lowest value","example-3459":"Calculate a random floating-point number","function.mt-getrandmax":"Show largest possible random value","example-3460":"mt_rand example","function.mt-rand":"Generate a better random value","example-3461":"mt_srand example","function.mt-srand":"Seed the better random number generator","example-3462":"octdec example","function.octdec":"Octal to decimal","example-3463":"pi example","function.pi":"Get value of pi","example-3464":"Some examples of pow","function.pow":"Exponential expression","example-3465":"rad2deg example","function.rad2deg":"Converts the radian number to the equivalent number in degrees","example-3466":"rand example","function.rand":"Generate a random integer","example-3467":"round examples","example-3468":"mode examples","example-3469":"mode with precision examples","function.round":"Rounds a float","example-3470":"sin example","function.sin":"Sine","function.sinh":"Hyperbolic sine","example-3471":"sqrt example","function.sqrt":"Square root","example-3472":"srand example","function.srand":"Seed the random number generator","example-3473":"tan example","function.tan":"Tangent","function.tanh":"Hyperbolic tangent","ref.math":"Math Functions","book.math":"Mathematical Functions","intro.stats":"Introduction","stats.requirements":"Requirements","stats.installation":"Installation","stats.configuration":"Runtime Configuration","stats.resources":"Resource Types","stats.setup":"Installing\/Configuring","stats.constants":"Predefined Constants","function.stats-absolute-deviation":"Returns the absolute deviation of an array of values","function.stats-cdf-beta":"CDF function for BETA Distribution. Calculates any one parameter of the beta distribution given values for the others.","function.stats-cdf-binomial":"Calculates any one parameter of the binomial distribution given values for the others.","function.stats-cdf-cauchy":"Not documented","function.stats-cdf-chisquare":"Calculates any one parameter of the chi-square distribution given values for the others.","function.stats-cdf-exponential":"Not documented","function.stats-cdf-f":"Calculates any one parameter of the F distribution given values for the others.","function.stats-cdf-gamma":"Calculates any one parameter of the gamma distribution given values for the others.","function.stats-cdf-laplace":"Not documented","function.stats-cdf-logistic":"Not documented","function.stats-cdf-negative-binomial":"Calculates any one parameter of the negative binomial distribution given values for the others.","function.stats-cdf-noncentral-chisquare":"Calculates any one parameter of the non-central chi-square distribution given values for the others.","function.stats-cdf-noncentral-f":"Calculates any one parameter of the Non-central F distribution given values for the others.","function.stats-cdf-poisson":"Calculates any one parameter of the Poisson distribution given values for the others.","function.stats-cdf-t":"Calculates any one parameter of the T distribution given values for the others.","function.stats-cdf-uniform":"Not documented","function.stats-cdf-weibull":"Not documented","function.stats-covariance":"Computes the covariance of two data sets","function.stats-den-uniform":"Not documented","function.stats-dens-beta":"Not documented","function.stats-dens-cauchy":"Not documented","function.stats-dens-chisquare":"Not documented","function.stats-dens-exponential":"Not documented","function.stats-dens-f":"Description","function.stats-dens-gamma":"Not documented","function.stats-dens-laplace":"Not documented","function.stats-dens-logistic":"Not documented","function.stats-dens-negative-binomial":"Not documented","function.stats-dens-normal":"Not documented","function.stats-dens-pmf-binomial":"Not documented","function.stats-dens-pmf-hypergeometric":"Description","function.stats-dens-pmf-poisson":"Not documented","function.stats-dens-t":"Not documented","function.stats-dens-weibull":"Not documented","function.stats-harmonic-mean":"Returns the harmonic mean of an array of values","function.stats-kurtosis":"Computes the kurtosis of the data in the array","function.stats-rand-gen-beta":"Generates beta random deviate","function.stats-rand-gen-chisquare":"Generates random deviate from the distribution of a chisquare with "df" degrees of freedom random variable.","function.stats-rand-gen-exponential":"Generates a single random deviate from an exponential distribution with mean "av"","function.stats-rand-gen-f":"Generates a random deviate","function.stats-rand-gen-funiform":"Generates uniform float between low (exclusive) and high (exclusive)","function.stats-rand-gen-gamma":"Generates random deviates from a gamma distribution","function.stats-rand-gen-ibinomial-negative":"Generates a single random deviate from a negative binomial distribution. Arguments : n - the number of trials in the negative binomial distribution from which a random deviate is to be generated (n > 0), p - the probability of an event (0 < p < 1)).","function.stats-rand-gen-ibinomial":"Generates a single random deviate from a binomial distribution whose number of trials is "n" (n >= 0) and whose probability of an event in each trial is "pp" ([0;1]). Method : algorithm BTPE","function.stats-rand-gen-int":"Generates random integer between 1 and 2147483562","function.stats-rand-gen-ipoisson":"Generates a single random deviate from a Poisson distribution with mean "mu" (mu >= 0.0).","function.stats-rand-gen-iuniform":"Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)","function.stats-rand-gen-noncenral-chisquare":"Generates random deviate from the distribution of a noncentral chisquare with "df" degrees of freedom and noncentrality parameter "xnonc". d must be >= 1.0, xnonc must >= 0.0","function.stats-rand-gen-noncentral-f":"Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate.","function.stats-rand-gen-noncentral-t":"Generates a single random deviate from a noncentral T distribution","function.stats-rand-gen-normal":"Generates a single random deviate from a normal distribution with mean, av, and standard deviation, sd (sd >= 0). Method : Renames SNORM from TOMS as slightly modified by BWB to use RANF instead of SUNIF.","function.stats-rand-gen-t":"Generates a single random deviate from a T distribution","function.stats-rand-get-seeds":"Not documented","function.stats-rand-phrase-to-seeds":"generate two seeds for the RGN random number generator","function.stats-rand-ranf":"Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator","function.stats-rand-setall":"Not documented","function.stats-skew":"Computes the skewness of the data in the array","function.stats-standard-deviation":"Returns the standard deviation","function.stats-stat-binomial-coef":"Not documented","function.stats-stat-correlation":"Not documented","function.stats-stat-gennch":"Not documented","function.stats-stat-independent-t":"Not documented","function.stats-stat-innerproduct":"Description","function.stats-stat-noncentral-t":"Calculates any one parameter of the noncentral t distribution give values for the others.","function.stats-stat-paired-t":"Not documented","function.stats-stat-percentile":"Not documented","function.stats-stat-powersum":"Not documented","function.stats-variance":"Returns the population variance","ref.stats":"Statistic Functions","book.stats":"Statistics","intro.trader":"Introduction","trader.requirements":"Requirements","trader.installation":"Installation","ini.trader.real-precision":"","ini.trader.real-round-mode":"","trader.configuration":"Runtime Configuration","trader.setup":"Installing\/Configuring","constant.trader-ma-type-sma":"","constant.trader-ma-type-ema":"","constant.trader-ma-type-wma":"","constant.trader-ma-type-dema":"","constant.trader-ma-type-tema":"","constant.trader-ma-type-trima":"","constant.trader-ma-type-kama":"","constant.trader-ma-type-mama":"","constant.trader-ma-type-t3":"","constant.trader-real-min":"","constant.trader-real-max":"","constant.trader-func-unst-adx":"","constant.trader-func-unst-adxr":"","constant.trader-func-unst-atr":"","constant.trader-func-unst-cmo":"","constant.trader-func-unst-dx":"","constant.trader-func-unst-ema":"","constant.trader-func-unst-ht-dcperiod":"","constant.trader-func-unst-ht-dcphase":"","constant.trader-func-unst-ht-phasor":"","constant.trader-func-unst-ht-sine":"","constant.trader-func-unst-ht-trendline":"","constant.trader-func-unst-ht-trendmode":"","constant.trader-func-unst-kama":"","constant.trader-func-unst-mama":"","constant.trader-func-unst-mfi":"","constant.trader-func-unst-minus-di":"","constant.trader-func-unst-minus-dm":"","constant.trader-func-unst-natr":"","constant.trader-func-unst-plus-di":"","constant.trader-func-unst-plus-dm":"","constant.trader-func-unst-rsi":"","constant.trader-func-unst-stochrsi":"","constant.trader-func-unst-t3":"","constant.trader-func-unst-all":"","constant.trader-func-unst-none":"","constant.trader-compatibility-default":"","constant.trader-compatibility-metastock":"","constant.trader-err-success":"","constant.trader-err-lib-not-initialize":"","constant.trader-err-bad-param":"","constant.trader-err-alloc-err":"","constant.trader-err-group-not-found":"","constant.trader-err-func-not-found":"","constant.trader-err-invalid-handle":"","constant.trader-err-invalid-param-holder":"","constant.trader-err-invalid-param-holder-type":"","constant.trader-err-invalid-param-function":"","constant.trader-err-input-not-all-initialize":"","constant.trader-err-output-not-all-initialize":"","constant.trader-err-out-of-range-start-index":"","constant.trader-err-out-of-range-end-index":"","constant.trader-err-invalid-list-type":"","constant.trader-err-bad-object":"","constant.trader-err-not-supported":"","constant.trader-err-internal-error":"","constant.trader-err-unknown-error":"","trader.constants":"Predefined Constants","function.trader-acos":"Vector Trigonometric ACos","function.trader-ad":"Chaikin A\/D Line","function.trader-add":"Vector Arithmetic Add","function.trader-adosc":"Chaikin A\/D Oscillator","function.trader-adx":"Average Directional Movement Index","function.trader-adxr":"Average Directional Movement Index Rating","function.trader-apo":"Absolute Price Oscillator","function.trader-aroon":"Aroon","function.trader-aroonosc":"Aroon Oscillator","function.trader-asin":"Vector Trigonometric ASin","function.trader-atan":"Vector Trigonometric ATan","function.trader-atr":"Average True Range","function.trader-avgprice":"Average Price","function.trader-bbands":"Bollinger Bands","function.trader-beta":"Beta","function.trader-bop":"Balance Of Power","function.trader-cci":"Commodity Channel Index","function.trader-cdl2crows":"Two Crows","function.trader-cdl3blackcrows":"Three Black Crows","function.trader-cdl3inside":"Three Inside Up\/Down","function.trader-cdl3linestrike":"Three-Line Strike","function.trader-cdl3outside":"Three Outside Up\/Down","function.trader-cdl3starsinsouth":"Three Stars In The South","function.trader-cdl3whitesoldiers":"Three Advancing White Soldiers","function.trader-cdlabandonedbaby":"Abandoned Baby","function.trader-cdladvanceblock":"Advance Block","function.trader-cdlbelthold":"Belt-hold","function.trader-cdlbreakaway":"Breakaway","function.trader-cdlclosingmarubozu":"Closing Marubozu","function.trader-cdlconcealbabyswall":"Concealing Baby Swallow","function.trader-cdlcounterattack":"Counterattack","function.trader-cdldarkcloudcover":"Dark Cloud Cover","function.trader-cdldoji":"Doji","function.trader-cdldojistar":"Doji Star","function.trader-cdldragonflydoji":"Dragonfly Doji","function.trader-cdlengulfing":"Engulfing Pattern","function.trader-cdleveningdojistar":"Evening Doji Star","function.trader-cdleveningstar":"Evening Star","function.trader-cdlgapsidesidewhite":"Up\/Down-gap side-by-side white lines","function.trader-cdlgravestonedoji":"Gravestone Doji","function.trader-cdlhammer":"Hammer","function.trader-cdlhangingman":"Hanging Man","function.trader-cdlharami":"Harami Pattern","function.trader-cdlharamicross":"Harami Cross Pattern","function.trader-cdlhighwave":"High-Wave Candle","function.trader-cdlhikkake":"Hikkake Pattern","function.trader-cdlhikkakemod":"Modified Hikkake Pattern","function.trader-cdlhomingpigeon":"Homing Pigeon","function.trader-cdlidentical3crows":"Identical Three Crows","function.trader-cdlinneck":"In-Neck Pattern","function.trader-cdlinvertedhammer":"Inverted Hammer","function.trader-cdlkicking":"Kicking","function.trader-cdlkickingbylength":"Kicking - bull\/bear determined by the longer marubozu","function.trader-cdlladderbottom":"Ladder Bottom","function.trader-cdllongleggeddoji":"Long Legged Doji","function.trader-cdllongline":"Long Line Candle","function.trader-cdlmarubozu":"Marubozu","function.trader-cdlmatchinglow":"Matching Low","function.trader-cdlmathold":"Mat Hold","function.trader-cdlmorningdojistar":"Morning Doji Star","function.trader-cdlmorningstar":"Morning Star","function.trader-cdlonneck":"On-Neck Pattern","function.trader-cdlpiercing":"Piercing Pattern","function.trader-cdlrickshawman":"Rickshaw Man","function.trader-cdlrisefall3methods":"Rising\/Falling Three Methods","function.trader-cdlseparatinglines":"Separating Lines","function.trader-cdlshootingstar":"Shooting Star","function.trader-cdlshortline":"Short Line Candle","function.trader-cdlspinningtop":"Spinning Top","function.trader-cdlstalledpattern":"Stalled Pattern","function.trader-cdlsticksandwich":"Stick Sandwich","function.trader-cdltakuri":"Takuri (Dragonfly Doji with very long lower shadow)","function.trader-cdltasukigap":"Tasuki Gap","function.trader-cdlthrusting":"Thrusting Pattern","function.trader-cdltristar":"Tristar Pattern","function.trader-cdlunique3river":"Unique 3 River","function.trader-cdlupsidegap2crows":"Upside Gap Two Crows","function.trader-cdlxsidegap3methods":"Upside\/Downside Gap Three Methods","function.trader-ceil":"Vector Ceil","function.trader-cmo":"Chande Momentum Oscillator","function.trader-correl":"Pearson's Correlation Coefficient (r)","function.trader-cos":"Vector Trigonometric Cos","function.trader-cosh":"Vector Trigonometric Cosh","function.trader-dema":"Double Exponential Moving Average","function.trader-div":"Vector Arithmetic Div","function.trader-dx":"Directional Movement Index","function.trader-ema":"Exponential Moving Average","function.trader-errno":"Get error code","function.trader-exp":"Vector Arithmetic Exp","function.trader-floor":"Vector Floor","function.trader-get-compat":"Get compatibility mode","function.trader-get-unstable-period":"Get unstable period","function.trader-ht-dcperiod":"Hilbert Transform - Dominant Cycle Period","function.trader-ht-dcphase":"Hilbert Transform - Dominant Cycle Phase","function.trader-ht-phasor":"Hilbert Transform - Phasor Components","function.trader-ht-sine":"Hilbert Transform - SineWave","function.trader-ht-trendline":"Hilbert Transform - Instantaneous Trendline","function.trader-ht-trendmode":"Hilbert Transform - Trend vs Cycle Mode","function.trader-kama":"Kaufman Adaptive Moving Average","function.trader-linearreg-angle":"Linear Regression Angle","function.trader-linearreg-intercept":"Linear Regression Intercept","function.trader-linearreg-slope":"Linear Regression Slope","function.trader-linearreg":"Linear Regression","function.trader-ln":"Vector Log Natural","function.trader-log10":"Vector Log10","function.trader-ma":"Moving average","function.trader-macd":"Moving Average Convergence\/Divergence","function.trader-macdext":"MACD with controllable MA type","function.trader-macdfix":"Moving Average Convergence\/Divergence Fix 12\/26","function.trader-mama":"MESA Adaptive Moving Average","function.trader-mavp":"Moving average with variable period","function.trader-max":"Highest value over a specified period","function.trader-maxindex":"Index of highest value over a specified period","function.trader-medprice":"Median Price","function.trader-mfi":"Money Flow Index","function.trader-midpoint":"MidPoint over period","function.trader-midprice":"Midpoint Price over period","function.trader-min":"Lowest value over a specified period","function.trader-minindex":"Index of lowest value over a specified period","function.trader-minmax":"Lowest and highest values over a specified period","function.trader-minmaxindex":"Indexes of lowest and highest values over a specified period","function.trader-minus-di":"Minus Directional Indicator","function.trader-minus-dm":"Minus Directional Movement","function.trader-mom":"Momentum","function.trader-mult":"Vector Arithmetic Mult","function.trader-natr":"Normalized Average True Range","function.trader-obv":"On Balance Volume","function.trader-plus-di":"Plus Directional Indicator","function.trader-plus-dm":"Plus Directional Movement","function.trader-ppo":"Percentage Price Oscillator","function.trader-roc":"Rate of change : ((price\/prevPrice)-1)*100","function.trader-rocp":"Rate of change Percentage: (price-prevPrice)\/prevPrice","function.trader-rocr100":"Rate of change ratio 100 scale: (price\/prevPrice)*100","function.trader-rocr":"Rate of change ratio: (price\/prevPrice)","function.trader-rsi":"Relative Strength Index","function.trader-sar":"Parabolic SAR","function.trader-sarext":"Parabolic SAR - Extended","function.trader-set-compat":"Set compatibility mode","function.trader-set-unstable-period":"Set unstable period","function.trader-sin":"Vector Trigonometric Sin","function.trader-sinh":"Vector Trigonometric Sinh","function.trader-sma":"Simple Moving Average","function.trader-sqrt":"Vector Square Root","function.trader-stddev":"Standard Deviation","function.trader-stoch":"Stochastic","function.trader-stochf":"Stochastic Fast","function.trader-stochrsi":"Stochastic Relative Strength Index","function.trader-sub":"Vector Arithmetic Subtraction","function.trader-sum":"Summation","function.trader-t3":"Triple Exponential Moving Average (T3)","function.trader-tan":"Vector Trigonometric Tan","function.trader-tanh":"Vector Trigonometric Tanh","function.trader-tema":"Triple Exponential Moving Average","function.trader-trange":"True Range","function.trader-trima":"Triangular Moving Average","function.trader-trix":"1-day Rate-Of-Change (ROC) of a Triple Smooth EMA","function.trader-tsf":"Time Series Forecast","function.trader-typprice":"Typical Price","function.trader-ultosc":"Ultimate Oscillator","function.trader-var":"Variance","function.trader-wclprice":"Weighted Close Price","function.trader-willr":"Williams' %R","function.trader-wma":"Weighted Moving Average","ref.trader":"Trader Functions","book.trader":"Technical Analysis for Traders","refs.math":"Mathematical Extensions","intro.fdf":"Introduction","fdf.requirements":"Requirements","fdf.installation":"Installation","fdf.configuration":"Runtime Configuration","fdf.resources":"Resource Types","fdf.setup":"Installing\/Configuring","constant.fdfvalue":"","constant.fdfstatus":"","constant.fdffile":"","constant.fdfid":"","constant.fdfff":"","constant.fdfsetff":"","constant.fdfclearff":"","constant.fdfflags":"","constant.fdfsetf":"","constant.fdfclrf":"","constant.fdfap":"","constant.fdfas":"","constant.fdfaction":"","constant.fdfaa":"","constant.fdfapref":"","constant.fdfif":"","constant.fdfenter":"","constant.fdfexit":"","constant.fdfdown":"","constant.fdfup":"","constant.fdfformat":"","constant.fdfvalidate":"","constant.fdfkeystroke":"","constant.fdfcalculate":"","constant.fdfnormalap":"","constant.fdfrolloverap":"","constant.fdfdownap":"","fdf.constants":"Predefined Constants","example-3474":"Evaluating a FDF document","fdf.examples":"Examples","example-3475":"Adding JavaScript code to a FDF","function.fdf-add-doc-javascript":"Adds javascript code to the FDF document","function.fdf-add-template":"Adds a template into the FDF document","function.fdf-close":"Close an FDF document","example-3476":"Populating a PDF document","function.fdf-create":"Create a new FDF document","function.fdf-enum-values":"Call a user defined function for each document value","function.fdf-errno":"Return error code for last fdf operation","function.fdf-error":"Return error description for FDF error code","function.fdf-get-ap":"Get the appearance of a field","example-3477":"Storing an uploaded file","function.fdf-get-attachment":"Extracts uploaded file embedded in the FDF","function.fdf-get-encoding":"Get the value of the \/Encoding key","function.fdf-get-file":"Get the value of the \/F key","function.fdf-get-flags":"Gets the flags of a field","function.fdf-get-opt":"Gets a value from the opt array of a field","function.fdf-get-status":"Get the value of the \/STATUS key","function.fdf-get-value":"Get the value of a field","function.fdf-get-version":"Gets version number for FDF API or file","function.fdf-header":"Sets FDF-specific output headers","example-3478":"Detecting all fieldnames in a FDF","function.fdf-next-field-name":"Get the next field name","example-3479":"Accessing the form data","function.fdf-open-string":"Read a FDF document from a string","example-3480":"Accessing the form data","function.fdf-open":"Open a FDF document","function.fdf-remove-item":"Sets target frame for form","example-3481":"Retrieving FDF as a string","function.fdf-save-string":"Returns the FDF document as a string","function.fdf-save":"Save a FDF document","function.fdf-set-ap":"Set the appearance of a field","function.fdf-set-encoding":"Sets FDF character encoding","example-3482":"Passing FDF data to a second form","function.fdf-set-file":"Set PDF document to display FDF data in","function.fdf-set-flags":"Sets a flag of a field","function.fdf-set-javascript-action":"Sets an javascript action of a field","function.fdf-set-on-import-javascript":"Adds javascript code to be executed when Acrobat opens the FDF","function.fdf-set-opt":"Sets an option of a field","function.fdf-set-status":"Set the value of the \/STATUS key","function.fdf-set-submit-form-action":"Sets a submit form action of a field","function.fdf-set-target-frame":"Set target frame for form display","function.fdf-set-value":"Set the value of a field","function.fdf-set-version":"Sets version number for a FDF file","ref.fdf":"FDF Functions","book.fdf":"Forms Data Format","intro.gnupg":"Introduction","gnupg.requirements":"Requirements","gnupg.installation":"Installation","gnupg.configuration":"Runtime Configuration","gnupg.resources":"Resource Types","gnupg.setup":"Installing\/Configuring","constant.gnupg-sig-mode-normal":"","constant.gnupg-sig-mode-detach":"","constant.gnupg-sig-mode-clear":"","constant.gnupg-validity-unknown":"","constant.gnupg-validity-undefined":"","constant.gnupg-validity-never":"","constant.gnupg-validity-marginal":"","constant.gnupg-validity-full":"","constant.gnupg-validity-ultimate":"","constant.gnupg-protocol-openpgp":"","constant.gnupg-protocol-cms":"","constant.gnupg-sigsum-valid":"","constant.gnupg-sigsum-green":"","constant.gnupg-sigsum-red":"","constant.gnupg-sigsum-key-revoked":"","constant.gnupg-sigsum-key-expired":"","constant.gnupg-sigsum-key-missing":"","constant.gnupg-sigsum-sig-expired":"","constant.gnupg-sigsum-crl-missing":"","constant.gnupg-sigsum-crl-too-old":"","constant.gnupg-sigsum-bad-policy":"","constant.gnupg-sigsum-sys-error":"","constant.gnupg-error-warning":"","constant.gnupg-error-exception":"","constant.gnupg-error-silent":"","gnupg.constants":"Predefined Constants","example-3483":"gnupg clearsign example (procedural)","example-3484":"gnupg clearsign example (OO)","gnupg.keylistiterator":"keylistiterator","gnupg.examples-clearsign":"Clearsign text","gnupg.examples":"Examples","example-3486":"Procedural gnupg_adddecryptkey example","example-3487":"OO gnupg_adddecryptkey example","function.gnupg-adddecryptkey":"Add a key for decryption","example-3488":"Procedural gnupg_addencryptkey example","example-3489":"OO gnupg_addencryptkey example","function.gnupg-addencryptkey":"Add a key for encryption","example-3490":"Procedural gnupg_addsignkey example","example-3491":"OO gnupg_addsignkey example","function.gnupg-addsignkey":"Add a key for signing","example-3492":"Procedural gnupg_cleardecryptkeys example","example-3493":"OO gnupg_cleardecryptkeys example","function.gnupg-cleardecryptkeys":"Removes all keys which were set for decryption before","example-3494":"Procedural gnupg_clearencryptkeys example","example-3495":"OO gnupg_clearencryptkeys example","function.gnupg-clearencryptkeys":"Removes all keys which were set for encryption before","example-3496":"Procedural gnupg_clearsignkeys example","example-3497":"OO gnupg_clearsignkeys example","function.gnupg-clearsignkeys":"Removes all keys which were set for signing before","example-3498":"Procedural gnupg_decrypt example","example-3499":"OO gnupg_encrypt example","function.gnupg-decrypt":"Decrypts a given text","example-3500":"Procedural gnupg_decryptverify example","example-3501":"OO gnupg_decryptverify example","function.gnupg-decryptverify":"Decrypts and verifies a given text","example-3502":"Procedural gnupg_encrypt example","example-3503":"OO gnupg_encrypt example","function.gnupg-encrypt":"Encrypts a given text","example-3504":"Procedural gnupg_encryptsign example","example-3505":"OO gnupg_encryptsign example","function.gnupg-encryptsign":"Encrypts and signs a given text","example-3506":"Procedural gnupg_export example","example-3507":"OO gnupg_export example","function.gnupg-export":"Exports a key","example-3508":"Procedural gnupg_geterror example","example-3509":"OO gnupg_geterror example","function.gnupg-geterror":"Returns the errortext, if a function fails","example-3510":"Procedural gnupg_getprotocol example","example-3511":"OO gnupg_getprotocol example","function.gnupg-getprotocol":"Returns the currently active protocol for all operations","example-3512":"Procedural gnupg_import example","example-3513":"OO gnupg_import example","function.gnupg-import":"Imports a key","example-3514":"Procedural gnupg_init example","example-3515":"OO gnupg initializer example","function.gnupg-init":"Initialize a connection","example-3516":"Procedural gnupg_keyinfo example","example-3517":"OO gnupg_keyinfo example","function.gnupg-keyinfo":"Returns an array with information about all keys that matches the given pattern","example-3518":"Procedural gnupg_setarmor example","example-3519":"OO gnupg_setarmor example","function.gnupg-setarmor":"Toggle armored output","example-3520":"Procedural gnupg_seterrormode example","example-3521":"OO gnupg_seterrormode example","function.gnupg-seterrormode":"Sets the mode for error_reporting","example-3522":"Procedural gnupg_setsignmode example","example-3523":"OO gnupg_setsignmode example","function.gnupg-setsignmode":"Sets the mode for signing","example-3524":"Procedural gnupg_sign example","example-3525":"OO gnupg_sign example","function.gnupg-sign":"Signs a given text","example-3526":"Procedural gnupg_verify example","example-3527":"OO gnupg_verify example","function.gnupg-verify":"Verifies a signed text","ref.gnupg":"GnuPG Functions","book.gnupg":"GNU Privacy Guard","intro.haru":"Introduction","haru.requirements":"Requirements","haru.installation":"Installation","haru.configuration":"Runtime Configuration","haru.resources":"Resource Types","haru.setup":"Installing\/Configuring","haru.constants":"Predefined Constants","example-3528":"Fancy "Hello world"","haru.examples-basics":"Basic PECL\/haru example","haru.examples":"Examples","haru.builtin.fonts":"Builtin Fonts","haru.builtin.encodings":"Builtin Encodings","haru.builtin":"Builtin Fonts And Encodings","haruexception.intro":"Introduction","haruexception.synopsis":"Class synopsis","class.haruexception":"The HaruException class","harudoc.intro":"Introduction","harudoc.synopsis":"Class synopsis","haru.harudoc.constants":"Predefined Constants","harudoc.addpage":"Add new page to the document","harudoc.addpagelabel":"Set the numbering style for the specified range of pages","harudoc.construct":"Construct new HaruDoc instance","harudoc.createoutline":"Create a HaruOutline instance","harudoc.getcurrentencoder":"Get HaruEncoder currently used in the document","harudoc.getcurrentpage":"Return current page of the document","harudoc.getencoder":"Get HaruEncoder instance for the specified encoding","harudoc.getfont":"Get HaruFont instance","harudoc.getinfoattr":"Get current value of the specified document attribute","harudoc.getpagelayout":"Get current page layout","harudoc.getpagemode":"Get current page mode","harudoc.getstreamsize":"Get the size of the temporary stream","harudoc.insertpage":"Insert new page just before the specified page","harudoc.loadjpeg":"Load a JPEG image","harudoc.loadpng":"Load PNG image and return HaruImage instance","harudoc.loadraw":"Load a RAW image","harudoc.loadttc":"Load the font with the specified index from TTC file","harudoc.loadttf":"Load TTF font file","harudoc.loadtype1":"Load Type1 font","harudoc.output":"Write the document data to the output buffer","harudoc.readfromstream":"Read data from the temporary stream","harudoc.reseterror":"Reset error state of the document handle","harudoc.resetstream":"Rewind the temporary stream","harudoc.save":"Save the document into the specified file","harudoc.savetostream":"Save the document into a temporary stream","harudoc.setcompressionmode":"Set compression mode for the document","harudoc.setcurrentencoder":"Set the current encoder for the document","harudoc.setencryptionmode":"Set encryption mode for the document","harudoc.setinfoattr":"Set the info attribute of the document","harudoc.setinfodateattr":"Set the datetime info attributes of the document","harudoc.setopenaction":"Define which page is shown when the document is opened","harudoc.setpagelayout":"Set how pages should be displayed","harudoc.setpagemode":"Set how the document should be displayed","harudoc.setpagesconfiguration":"Set the number of pages per set of pages","harudoc.setpassword":"Set owner and user passwords for the document","harudoc.setpermission":"Set permissions for the document","harudoc.usecnsencodings":"Enable Chinese simplified encodings","harudoc.usecnsfonts":"Enable builtin Chinese simplified fonts","harudoc.usecntencodings":"Enable Chinese traditional encodings","harudoc.usecntfonts":"Enable builtin Chinese traditional fonts","harudoc.usejpencodings":"Enable Japanese encodings","harudoc.usejpfonts":"Enable builtin Japanese fonts","harudoc.usekrencodings":"Enable Korean encodings","harudoc.usekrfonts":"Enable builtin Korean fonts","class.harudoc":"The HaruDoc class","harupage.intro":"Introduction","harupage.synopsis":"Class synopsis","haru.harupage.constants":"Predefined Constants","harupage.arc":"Append an arc to the current path","harupage.begintext":"Begin a text object and set the current text position to (0,0)","harupage.circle":"Append a circle to the current path","harupage.closepath":"Append a straight line from the current point to the start point of the path","harupage.concat":"Concatenate current transformation matrix of the page and the specified matrix","harupage.createdestination":"Create new HaruDestination instance","harupage.createlinkannotation":"Create new HaruAnnotation instance","harupage.createtextannotation":"Create new HaruAnnotation instance","harupage.createurlannotation":"Create and return new HaruAnnotation instance","harupage.curveto2":"Append a Bezier curve to the current path","harupage.curveto3":"Append a Bezier curve to the current path","harupage.curveto":"Append a Bezier curve to the current path","harupage.drawimage":"Show image at the page","harupage.ellipse":"Append an ellipse to the current path","harupage.endpath":"End current path object without filling and painting operations","harupage.endtext":"End current text object","harupage.eofill":"Fill current path using even-odd rule","harupage.eofillstroke":"Fill current path using even-odd rule, then paint the path","harupage.fill":"Fill current path using nonzero winding number rule","harupage.fillstroke":"Fill current path using nonzero winding number rule, then paint the path","harupage.getcharspace":"Get the current value of character spacing","harupage.getcmykfill":"Get the current filling color","harupage.getcmykstroke":"Get the current stroking color","harupage.getcurrentfont":"Get the currently used font","harupage.getcurrentfontsize":"Get the current font size","harupage.getcurrentpos":"Get the current position for path painting","harupage.getcurrenttextpos":"Get the current position for text printing","harupage.getdash":"Get the current dash pattern","harupage.getfillingcolorspace":"Get the current filling color space","harupage.getflatness":"Get the flatness of the page","harupage.getgmode":"Get the current graphics mode","harupage.getgrayfill":"Get the current filling color","harupage.getgraystroke":"Get the current stroking color","harupage.getheight":"Get the height of the page","harupage.gethorizontalscaling":"Get the current value of horizontal scaling","harupage.getlinecap":"Get the current line cap style","harupage.getlinejoin":"Get the current line join style","harupage.getlinewidth":"Get the current line width","harupage.getmiterlimit":"Get the value of miter limit","harupage.getrgbfill":"Get the current filling color","harupage.getrgbstroke":"Get the current stroking color","harupage.getstrokingcolorspace":"Get the current stroking color space","harupage.gettextleading":"Get the current value of line spacing","harupage.gettextmatrix":"Get the current text transformation matrix of the page","harupage.gettextrenderingmode":"Get the current text rendering mode","harupage.gettextrise":"Get the current value of text rising","harupage.gettextwidth":"Get the width of the text using current fontsize, character spacing and word spacing","harupage.gettransmatrix":"Get the current transformation matrix of the page","harupage.getwidth":"Get the width of the page","harupage.getwordspace":"Get the current value of word spacing","harupage.lineto":"Draw a line from the current point to the specified point","harupage.measuretext":"Calculate the number of characters which can be included within the specified width","harupage.movetextpos":"Move text position to the specified offset","harupage.moveto":"Set starting point for new drawing path","harupage.movetonextline":"Move text position to the start of the next line","harupage.rectangle":"Append a rectangle to the current path","harupage.setcharspace":"Set character spacing for the page","harupage.setcmykfill":"Set filling color for the page","harupage.setcmykstroke":"Set stroking color for the page","harupage.setdash":"Set the dash pattern for the page","harupage.setflatness":"Set flatness for the page","harupage.setfontandsize":"Set font and fontsize for the page","harupage.setgrayfill":"Set filling color for the page","harupage.setgraystroke":"Sets stroking color for the page","harupage.setheight":"Set height of the page","harupage.sethorizontalscaling":"Set horizontal scaling for the page","harupage.setlinecap":"Set the shape to be used at the ends of lines","harupage.setlinejoin":"Set line join style for the page","harupage.setlinewidth":"Set line width for the page","harupage.setmiterlimit":"Set the current value of the miter limit of the page","harupage.setrgbfill":"Set filling color for the page","harupage.setrgbstroke":"Set stroking color for the page","harupage.setrotate":"Set rotation angle of the page","harupage.setsize":"Set size and direction of the page","harupage.setslideshow":"Set transition style for the page","harupage.settextleading":"Set text leading (line spacing) for the page","harupage.settextmatrix":"Set the current text transformation matrix of the page","harupage.settextrenderingmode":"Set text rendering mode for the page","harupage.settextrise":"Set the current value of text rising","harupage.setwidth":"Set width of the page","harupage.setwordspace":"Set word spacing for the page","harupage.showtext":"Print text at the current position of the page","harupage.showtextnextline":"Move the current position to the start of the next line and print the text","harupage.stroke":"Paint current path","harupage.textout":"Print the text on the specified position","harupage.textrect":"Print the text inside the specified region","class.harupage":"The HaruPage class","harufont.intro":"Introduction","harufont.synopsis":"Class synopsis","harufont.getascent":"Get the vertical ascent of the font","harufont.getcapheight":"Get the distance from the baseline of uppercase letters","harufont.getdescent":"Get the vertical descent of the font","harufont.getencodingname":"Get the name of the encoding","harufont.getfontname":"Get the name of the font","harufont.gettextwidth":"Get the total width of the text, number of characters, number of words and number of spaces","harufont.getunicodewidth":"Get the width of the character in the font","harufont.getxheight":"Get the distance from the baseline of lowercase letters","harufont.measuretext":"Calculate the number of characters which can be included within the specified width","class.harufont":"The HaruFont class","haruimage.intro":"Introduction","haruimage.synopsis":"Class synopsis","haruimage.getbitspercomponent":"Get the number of bits used to describe each color component of the image","haruimage.getcolorspace":"Get the name of the color space","haruimage.getheight":"Get the height of the image","haruimage.getsize":"Get size of the image","haruimage.getwidth":"Get the width of the image","haruimage.setcolormask":"Set the color mask of the image","haruimage.setmaskimage":"Set the image mask","class.haruimage":"The HaruImage class","haruencoder.intro":"Introduction","haruencoder.synopsis":"Class synopsis","haru.haruencoder.constants":"Predefined Constants","haruencoder.getbytetype":"Get the type of the byte in the text","haruencoder.gettype":"Get the type of the encoder","haruencoder.getunicode":"Convert the specified character to unicode","haruencoder.getwritingmode":"Get the writing mode of the encoder","class.haruencoder":"The HaruEncoder class","haruoutline.intro":"Introduction","haruoutline.synopsis":"Class synopsis","haruoutline.setdestination":"Set the destination for the outline","haruoutline.setopened":"Set the initial state of the outline","class.haruoutline":"The HaruOutline class","haruannotation.intro":"Introduction","haruannotation.synopsis":"Class synopsis","haru.haruannotation.constants":"Predefined Constants","haruannotation.setborderstyle":"Set the border style of the annotation","haruannotation.sethighlightmode":"Set the highlighting mode of the annotation","haruannotation.seticon":"Set the icon style of the annotation","haruannotation.setopened":"Set the initial state of the annotation","class.haruannotation":"The HaruAnnotation class","harudestination.intro":"Introduction","harudestination.synopsis":"Class synopsis","harudestination.setfit":"Set the appearance of the page to fit the window","harudestination.setfitb":"Set the appearance of the page to fit the bounding box of the page within the window","harudestination.setfitbh":"Set the appearance of the page to fit the width of the bounding box","harudestination.setfitbv":"Set the appearance of the page to fit the height of the boudning box","harudestination.setfith":"Set the appearance of the page to fit the window width","harudestination.setfitr":"Set the appearance of the page to fit the specified rectangle","harudestination.setfitv":"Set the appearance of the page to fit the window height","harudestination.setxyz":"Set the appearance of the page","class.harudestination":"The HaruDestination class","book.haru":"Haru PDF","intro.ming":"Introduction","ming.requirements":"Requirements","ming.install":"Installation","ming.configuration":"Runtime Configuration","ming.resources":"Resource Types","ming.setup":"Installing\/Configuring","constant.ming-new":"","constant.ming-zlib":"","constant.swfbutton-hit":"","constant.swfbutton-down":"","constant.swfbutton-over":"","constant.swfbutton-up":"","constant.swfbutton-mouseupoutside":"","constant.swfbutton-dragover":"","constant.swfbutton-dragout":"","constant.swfbutton-mouseup":"","constant.swfbutton-mousedown":"","constant.swfbutton-mouseout":"","constant.swfbutton-mouseover":"","constant.swffill-radial-gradient":"","constant.swffill-linear-gradient":"","constant.swffill-tiled-bitmap":"","constant.swffill-clipped-bitmap":"","constant.swftextfield-haslength":"","constant.swftextfield-noedit":"","constant.swftextfield-password":"","constant.swftextfield-multiline":"","constant.swftextfield-wordwrap":"","constant.swftextfield-drawbox":"","constant.swftextfield-noselect":"","constant.swftextfield-html":"","constant.swftextfield-align-left":"","constant.swftextfield-align-right":"","constant.swftextfield-align-center":"","constant.swftextfield-align-justify":"","constant.swfaction-onload":"","constant.swfaction-enterframe":"","constant.swfaction-unload":"","constant.swfaction-mousemove":"","constant.swfaction-mousedown":"","constant.swfaction-mouseup":"","constant.swfaction-keydown":"","constant.swfaction-keyup":"","constant.swfaction-data":"","ming.constants":"Predefined Constants","example-3529":"swfaction example","example-3530":"swfaction example","example-3531":"swfaction example","ming.examples.swfaction":"SWFAction Examples","example-3532":"swfsprite example","ming.examples.swfsprite-basic":"SWFSPrite basic examples","ming.examples":"Examples","function.ming-keypress":"Returns the action flag for keyPress(char)","function.ming-setcubicthreshold":"Set cubic threshold","function.ming-setscale":"Set the global scaling factor.","function.ming-setswfcompression":"Sets the SWF output compression","function.ming-useconstants":"Use constant pool","example-3533":"ming_useswfversion example","function.ming-useswfversion":"Sets the SWF version","ref.ming":"Ming Functions","swfaction.intro":"Introduction","swfaction.synopsis":"Class synopsis","swfaction.construct":"Creates a new SWFAction","class.swfaction":"The SWFAction class","swfbitmap.intro":"Introduction","swfbitmap.synopsis":"Class synopsis","example-3534":"Importing a DBL file","example-3535":"Using an alpha mask","swfbitmap.construct":"Loads Bitmap object","swfbitmap.getheight":"Returns the bitmap's height","swfbitmap.getwidth":"Returns the bitmap's width","class.swfbitmap":"The SWFBitmap class","swfbutton.intro":"Introduction","swfbutton.synopsis":"Class synopsis","swfbutton.addaction":"Adds an action","swfbutton.addasound":"Associates a sound with a button transition","swfbutton.addshape":"Adds a shape to a button","example-3536":"Usual interactions with buttons","example-3537":"Drag example","swfbutton.construct":"Creates a new Button","swfbutton.setaction":"Sets the action","swfbutton.setdown":"Alias for addShape(shape, SWFBUTTON_DOWN)","swfbutton.sethit":"Alias for addShape(shape, SWFBUTTON_HIT)","swfbutton.setmenu":"enable track as menu button behaviour","swfbutton.setover":"Alias for addShape(shape, SWFBUTTON_OVER)","swfbutton.setup":"Alias for addShape(shape, SWFBUTTON_UP)","class.swfbutton":"The SWFButton class","swfdisplayitem.intro":"Introduction","swfdisplayitem.synopsis":"Class synopsis","swfdisplayitem.addaction":"Adds this SWFAction to the given SWFSprite instance","swfdisplayitem.addcolor":"Adds the given color to this item's color transform","swfdisplayitem.endmask":"Another way of defining a MASK layer","swfdisplayitem.getrot":"Description","swfdisplayitem.getx":"Description","swfdisplayitem.getxscale":"Description","swfdisplayitem.getxskew":"Description","swfdisplayitem.gety":"Description","swfdisplayitem.getyscale":"Description","swfdisplayitem.getyskew":"Description","swfdisplayitem.move":"Moves object in relative coordinates","swfdisplayitem.moveto":"Moves object in global coordinates","example-3538":"swfdisplayitem::multcolor example","swfdisplayitem.multcolor":"Multiplies the item's color transform","swfdisplayitem.remove":"Removes the object from the movie","swfdisplayitem.rotate":"Rotates in relative coordinates","example-3539":"swfdisplayitem::rotateto example","swfdisplayitem.rotateto":"Rotates the object in global coordinates","swfdisplayitem.scale":"Scales the object in relative coordinates","swfdisplayitem.scaleto":"Scales the object in global coordinates","swfdisplayitem.setdepth":"Sets z-order","swfdisplayitem.setmasklevel":"Defines a MASK layer at level","swfdisplayitem.setmatrix":"Sets the item's transform matrix","swfdisplayitem.setname":"Sets the object's name","example-3540":"swfdisplayitem::setname example","swfdisplayitem.setratio":"Sets the object's ratio","swfdisplayitem.skewx":"Sets the X-skew","swfdisplayitem.skewxto":"Sets the X-skew","swfdisplayitem.skewy":"Sets the Y-skew","swfdisplayitem.skewyto":"Sets the Y-skew","class.swfdisplayitem":"The SWFDisplayItem class","swffill.intro":"Introduction","swffill.synopsis":"Class synopsis","swffill.moveto":"Moves fill origin","swffill.rotateto":"Sets fill's rotation","swffill.scaleto":"Sets fill's scale","swffill.skewxto":"Sets fill x-skew","swffill.skewyto":"Sets fill y-skew","class.swffill":"The SWFFill class","swffont.intro":"Introduction","swffont.synopsis":"Class synopsis","swffont.construct":"Loads a font definition","swffont.getascent":"Returns the ascent of the font, or 0 if not available","swffont.getdescent":"Returns the descent of the font, or 0 if not available","swffont.getleading":"Returns the leading of the font, or 0 if not available","swffont.getshape":"Returns the glyph shape of a char as a text string","swffont.getutf8width":"Calculates the width of the given string in this font at full height","swffont.getwidth":"Returns the string's width","class.swffont":"The SWFFont class","swffontchar.intro":"Introduction","swffontchar.synopsis":"Class synopsis","swffontchar.addchars":"Adds characters to a font for exporting font","swffontchar.addutf8chars":"Adds characters to a font for exporting font","class.swffontchar":"The SWFFontChar class","swfgradient.intro":"Introduction","swfgradient.synopsis":"Class synopsis","swfgradient.addentry":"Adds an entry to the gradient list","example-3541":"swfgradient example","swfgradient.construct":"Creates a gradient object","class.swfgradient":"The SWFGradient class","swfmorph.intro":"Introduction","swfmorph.synopsis":"Class synopsis","example-3542":"swfmorph example","swfmorph.construct":"Creates a new SWFMorph object","swfmorph.getshape1":"Gets a handle to the starting shape","swfmorph.getshape2":"Gets a handle to the ending shape","class.swfmorph":"The SWFMorph class","swfmovie.intro":"Introduction","swfmovie.synopsis":"Class synopsis","swfmovie.add":"Adds any type of data to a movie","swfmovie.addexport":"Description","swfmovie.addfont":"Description","swfmovie.construct":"Creates a new movie object, representing an SWF version 4 movie","swfmovie.importchar":"Description","swfmovie.importfont":"Description","swfmovie.labelframe":"Labels a frame","swfmovie.nextframe":"Moves to the next frame of the animation","example-3543":"Displaying your $movie in a browser","swfmovie.output":"Dumps your lovingly prepared movie out","swfmovie.remove":"Removes the object instance from the display list","swfmovie.save":"Saves the SWF movie in a file","swfmovie.savetofile":"Description","swfmovie.setbackground":"Sets the background color","swfmovie.setdimension":"Sets the movie's width and height","swfmovie.setframes":"Sets the total number of frames in the animation","swfmovie.setrate":"Sets the animation's frame rate","swfmovie.startsound":"Description","swfmovie.stopsound":"Description","example-3544":"Streaming example","swfmovie.streammp3":"Streams a MP3 file","swfmovie.writeexports":"Description","class.swfmovie":"The SWFMovie class","swfprebuiltclip.intro":"Introduction","swfprebuiltclip.synopsis":"Class synopsis","swfprebuiltclip.construct":"Returns a SWFPrebuiltClip object","class.swfprebuiltclip":"The SWFPrebuiltClip class","swfshape.intro":"Introduction","swfshape.synopsis":"Class synopsis","example-3545":"SWFShape::addFill example","swfshape.addfill":"Adds a solid fill to the shape","example-3546":"swfshape example","swfshape.construct":"Creates a new shape object","swfshape.drawarc":"Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock","swfshape.drawcircle":"Draws a circle of radius r centered at the current location, in a counter-clockwise fashion","swfshape.drawcubic":"Draws a cubic bezier curve using the current position and the three given points as control points","swfshape.drawcubicto":"Draws a cubic bezier curve using the current position and the three given points as control points","swfshape.drawcurve":"Draws a curve (relative)","swfshape.drawcurveto":"Draws a curve","swfshape.drawglyph":"Draws the first character in the given string into the shape using the glyph definition from the given font","swfshape.drawline":"Draws a line (relative)","swfshape.drawlineto":"Draws a line","swfshape.movepen":"Moves the shape's pen (relative)","swfshape.movepento":"Moves the shape's pen","swfshape.setleftfill":"Sets left rasterizing color","example-3547":"swfshape::setline example","swfshape.setline":"Sets the shape's line style","swfshape.setrightfill":"Sets right rasterizing color","class.swfshape":"The SWFShape class","swfsound.intro":"Introduction","swfsound.synopsis":"Class synopsis","swfsound.construct":"Returns a new SWFSound object from given file","class.swfsound":"The SWFSound class","swfsoundinstance.intro":"Introduction","swfsoundinstance.synopsis":"Class synopsis","swfsoundinstance.loopcount":"Description","swfsoundinstance.loopinpoint":"Description","swfsoundinstance.loopoutpoint":"Description","swfsoundinstance.nomultiple":"Description","class.swfsoundinstance":"The SWFSoundInstance class","swfsprite.intro":"Introduction","swfsprite.synopsis":"Class synopsis","swfsprite.add":"Adds an object to a sprite","swfsprite.construct":"Creates a movie clip (a sprite)","swfsprite.labelframe":"Labels frame","swfsprite.nextframe":"Moves to the next frame of the animation","swfsprite.remove":"Removes an object to a sprite","swfsprite.setframes":"Sets the total number of frames in the animation","swfsprite.startsound":"Description","swfsprite.stopsound":"Description","class.swfsprite":"The SWFSprite class","swftext.intro":"Introduction","swftext.synopsis":"Class synopsis","swftext.addstring":"Draws a string","swftext.addutf8string":"Writes the given text into this SWFText object at the current pen position,\n using the current font, height, spacing, and color","example-3548":"swftext example","swftext.construct":"Creates a new SWFText object","swftext.getascent":"Returns the ascent of the current font at its current size, or 0 if not available","swftext.getdescent":"Returns the descent of the current font at its current size, or 0 if not available","swftext.getleading":"Returns the leading of the current font at its current size, or 0 if not available","swftext.getutf8width":"calculates the width of the given string in this text objects current font and size","swftext.getwidth":"Computes string's width","swftext.moveto":"Moves the pen","swftext.setcolor":"Sets the current text color","swftext.setfont":"Sets the current font","swftext.setheight":"Sets the current font height","swftext.setspacing":"Sets the current font spacing","class.swftext":"The SWFText class","swftextfield.intro":"Introduction","swftextfield.synopsis":"Class synopsis","swftextfield.addchars":"adds characters to a font that will be available within a textfield","swftextfield.addstring":"Concatenates the given string to the text field","swftextfield.align":"Sets the text field alignment","swftextfield.construct":"Creates a text field object","swftextfield.setbounds":"Sets the text field width and height","swftextfield.setcolor":"Sets the color of the text field","swftextfield.setfont":"Sets the text field font","swftextfield.setheight":"Sets the font height of this text field font","swftextfield.setindentation":"Sets the indentation of the first line","swftextfield.setleftmargin":"Sets the left margin width of the text field","swftextfield.setlinespacing":"Sets the line spacing of the text field","swftextfield.setmargins":"Sets the margins width of the text field","swftextfield.setname":"Sets the variable name","swftextfield.setpadding":"Sets the padding of this textfield","swftextfield.setrightmargin":"Sets the right margin width of the text field","class.swftextfield":"The SWFTextField class","swfvideostream.intro":"Introduction","swfvideostream.synopsis":"Class synopsis","swfvideostream.construct":"Returns a SWFVideoStream object","swfvideostream.getnumframes":"Returns the number of frames in the video","swfvideostream.setdimension":"Sets video dimension","class.swfvideostream":"The SWFVideoStream class","book.ming":"Ming (flash)","intro.pdf":"Introduction","pdf.oldlibs.hints":"Issues with older versions of PDFlib","pdf.requirements":"Requirements","pdf.installation":"Installation","pdf.configuration":"Runtime Configuration","pdf.resources":"Resource Types","pdf.setup":"Installing\/Configuring","pdf.constants":"Predefined Constants","example-3549":"Hello World example from PDFlib distribution for PHP 4","example-3550":"Hello World example from PDFlib distribution for PHP 5","pdf.examples-basic":"Basic Usage Examples","pdf.examples":"Examples","pdf.oldlibs":"Remarks about Deprecated PDFlib Functions","function.pdf-activate-item":"Activate structure element or other content item","function.pdf-add-annotation":"Add annotation [deprecated]","function.pdf-add-bookmark":"Add bookmark for current page [deprecated]","function.pdf-add-launchlink":"Add launch annotation for current page [deprecated]","function.pdf-add-locallink":"Add link annotation for current page [deprecated]","function.pdf-add-nameddest":"Create named destination","function.pdf-add-note":"Set annotation for current page [deprecated]","function.pdf-add-outline":"Add bookmark for current page [deprecated]","function.pdf-add-pdflink":"Add file link annotation for current page [deprecated]","function.pdf-add-table-cell":"Add a cell to a new or existing table","function.pdf-add-textflow":"Create Textflow or add text to existing Textflow","function.pdf-add-thumbnail":"Add thumbnail for current page","function.pdf-add-weblink":"Add weblink for current page [deprecated]","function.pdf-arc":"Draw a counterclockwise circular arc segment","function.pdf-arcn":"Draw a clockwise circular arc segment","function.pdf-attach-file":"Add file attachment for current page [deprecated]","function.pdf-begin-document":"Create new PDF file","function.pdf-begin-font":"Start a Type 3 font definition","function.pdf-begin-glyph":"Start glyph definition for Type 3 font","function.pdf-begin-item":"Open structure element or other content item","function.pdf-begin-layer":"Start layer","function.pdf-begin-page-ext":"Start new page","function.pdf-begin-page":"Start new page [deprecated]","function.pdf-begin-pattern":"Start pattern definition","function.pdf-begin-template-ext":"Start template definition","function.pdf-begin-template":"Start template definition [deprecated]","function.pdf-circle":"Draw a circle","function.pdf-clip":"Clip to current path","function.pdf-close-image":"Close image","function.pdf-close-pdi-page":"Close the page handle","function.pdf-close-pdi":"Close the input PDF document [deprecated]","function.pdf-close":"Close pdf resource [deprecated]","function.pdf-closepath-fill-stroke":"Close, fill and stroke current path","function.pdf-closepath-stroke":"Close and stroke path","function.pdf-closepath":"Close current path","function.pdf-concat":"Concatenate a matrix to the CTM","function.pdf-continue-text":"Output text in next line","function.pdf-create-3dview":"Create 3D view","function.pdf-create-action":"Create action for objects or events","function.pdf-create-annotation":"Create rectangular annotation","function.pdf-create-bookmark":"Create bookmark","function.pdf-create-field":"Create form field","function.pdf-create-fieldgroup":"Create form field group","function.pdf-create-gstate":"Create graphics state object","function.pdf-create-pvf":"Create PDFlib virtual file","function.pdf-create-textflow":"Create textflow object","function.pdf-curveto":"Draw Bezier curve","function.pdf-define-layer":"Create layer definition","function.pdf-delete-pvf":"Delete PDFlib virtual file","function.pdf-delete-table":"Delete table object","function.pdf-delete-textflow":"Delete textflow object","function.pdf-delete":"Delete PDFlib object","function.pdf-encoding-set-char":"Add glyph name and\/or Unicode value","function.pdf-end-document":"Close PDF file","function.pdf-end-font":"Terminate Type 3 font definition","function.pdf-end-glyph":"Terminate glyph definition for Type 3 font","function.pdf-end-item":"Close structure element or other content item","function.pdf-end-layer":"Deactivate all active layers","function.pdf-end-page-ext":"Finish page","function.pdf-end-page":"Finish page","function.pdf-end-pattern":"Finish pattern","function.pdf-end-template":"Finish template","function.pdf-endpath":"End current path","function.pdf-fill-imageblock":"Fill image block with variable data","function.pdf-fill-pdfblock":"Fill PDF block with variable data","function.pdf-fill-stroke":"Fill and stroke path","function.pdf-fill-textblock":"Fill text block with variable data","function.pdf-fill":"Fill current path","function.pdf-findfont":"Prepare font for later use [deprecated]","function.pdf-fit-image":"Place image or template","function.pdf-fit-pdi-page":"Place imported PDF page","function.pdf-fit-table":"Place table on page","function.pdf-fit-textflow":"Format textflow in rectangular area","function.pdf-fit-textline":"Place single line of text","function.pdf-get-apiname":"Get name of unsuccessfull API function","function.pdf-get-buffer":"Get PDF output buffer","function.pdf-get-errmsg":"Get error text","function.pdf-get-errnum":"Get error number","function.pdf-get-font":"Get font [deprecated]","function.pdf-get-fontname":"Get font name [deprecated]","function.pdf-get-fontsize":"Font handling [deprecated]","function.pdf-get-image-height":"Get image height [deprecated]","function.pdf-get-image-width":"Get image width [deprecated]","function.pdf-get-majorversion":"Get major version number [deprecated]","function.pdf-get-minorversion":"Get minor version number [deprecated]","function.pdf-get-parameter":"Get string parameter","function.pdf-get-pdi-parameter":"Get PDI string parameter [deprecated]","function.pdf-get-pdi-value":"Get PDI numerical parameter [deprecated]","function.pdf-get-value":"Get numerical parameter","function.pdf-info-font":"Query detailed information about a loaded font","function.pdf-info-matchbox":"Query matchbox information","function.pdf-info-table":"Retrieve table information","function.pdf-info-textflow":"Query textflow state","function.pdf-info-textline":"Perform textline formatting and query metrics","function.pdf-initgraphics":"Reset graphic state","function.pdf-lineto":"Draw a line","function.pdf-load-3ddata":"Load 3D model","function.pdf-load-font":"Search and prepare font","function.pdf-load-iccprofile":"Search and prepare ICC profile","function.pdf-load-image":"Open image file","function.pdf-makespotcolor":"Make spot color","function.pdf-moveto":"Set current point","function.pdf-new":"Create PDFlib object","function.pdf-open-ccitt":"Open raw CCITT image [deprecated]","function.pdf-open-file":"Create PDF file [deprecated]","function.pdf-open-gif":"Open GIF image [deprecated]","function.pdf-open-image-file":"Read image from file [deprecated]","function.pdf-open-image":"Use image data [deprecated]","function.pdf-open-jpeg":"Open JPEG image [deprecated]","function.pdf-open-memory-image":"Open image created with PHP's image functions [not supported]","function.pdf-open-pdi-document":"Prepare a pdi document","function.pdf-open-pdi-page":"Prepare a page","function.pdf-open-pdi":"Open PDF file [deprecated]","function.pdf-open-tiff":"Open TIFF image [deprecated]","function.pdf-pcos-get-number":"Get value of pCOS path with type number or boolean","function.pdf-pcos-get-stream":"Get contents of pCOS path with type stream, fstream, or string","function.pdf-pcos-get-string":"Get value of pCOS path with type name, string, or boolean","function.pdf-place-image":"Place image on the page [deprecated]","function.pdf-place-pdi-page":"Place PDF page [deprecated]","function.pdf-process-pdi":"Process imported PDF document","function.pdf-rect":"Draw rectangle","function.pdf-restore":"Restore graphics state","function.pdf-resume-page":"Resume page","function.pdf-rotate":"Rotate coordinate system","function.pdf-save":"Save graphics state","function.pdf-scale":"Scale coordinate system","function.pdf-set-border-color":"Set border color of annotations [deprecated]","function.pdf-set-border-dash":"Set border dash style of annotations [deprecated]","function.pdf-set-border-style":"Set border style of annotations [deprecated]","function.pdf-set-char-spacing":"Set character spacing [deprecated]","function.pdf-set-duration":"Set duration between pages [deprecated]","function.pdf-set-gstate":"Activate graphics state object","function.pdf-set-horiz-scaling":"Set horizontal text scaling [deprecated]","function.pdf-set-info-author":"Fill the author document info field [deprecated]","function.pdf-set-info-creator":"Fill the creator document info field [deprecated]","function.pdf-set-info-keywords":"Fill the keywords document info field [deprecated]","function.pdf-set-info-subject":"Fill the subject document info field [deprecated]","function.pdf-set-info-title":"Fill the title document info field [deprecated]","function.pdf-set-info":"Fill document info field","function.pdf-set-layer-dependency":"Define relationships among layers","function.pdf-set-leading":"Set distance between text lines [deprecated]","function.pdf-set-parameter":"Set string parameter","function.pdf-set-text-matrix":"Set text matrix [deprecated]","function.pdf-set-text-pos":"Set text position","function.pdf-set-text-rendering":"Determine text rendering [deprecated]","function.pdf-set-text-rise":"Set text rise [deprecated]","function.pdf-set-value":"Set numerical parameter","function.pdf-set-word-spacing":"Set spacing between words [deprecated]","function.pdf-setcolor":"Set fill and stroke color","function.pdf-setdash":"Set simple dash pattern","function.pdf-setdashpattern":"Set dash pattern","function.pdf-setflat":"Set flatness","function.pdf-setfont":"Set font","function.pdf-setgray-fill":"Set fill color to gray [deprecated]","function.pdf-setgray-stroke":"Set stroke color to gray [deprecated]","function.pdf-setgray":"Set color to gray [deprecated]","function.pdf-setlinecap":"Set linecap parameter","function.pdf-setlinejoin":"Set linejoin parameter","function.pdf-setlinewidth":"Set line width","function.pdf-setmatrix":"Set current transformation matrix","function.pdf-setmiterlimit":"Set miter limit","function.pdf-setpolydash":"Set complicated dash pattern [deprecated]","function.pdf-setrgbcolor-fill":"Set fill rgb color values [deprecated]","function.pdf-setrgbcolor-stroke":"Set stroke rgb color values [deprecated]","function.pdf-setrgbcolor":"Set fill and stroke rgb color values [deprecated]","function.pdf-shading-pattern":"Define shading pattern","function.pdf-shading":"Define blend","function.pdf-shfill":"Fill area with shading","function.pdf-show-boxed":"Output text in a box [deprecated]","function.pdf-show-xy":"Output text at given position","function.pdf-show":"Output text at current position","function.pdf-skew":"Skew the coordinate system","function.pdf-stringwidth":"Return width of text","function.pdf-stroke":"Stroke path","function.pdf-suspend-page":"Suspend page","function.pdf-translate":"Set origin of coordinate system","function.pdf-utf16-to-utf8":"Convert string from UTF-16 to UTF-8","function.pdf-utf32-to-utf16":"Convert string from UTF-32 to UTF-16","function.pdf-utf8-to-utf16":"Convert string from UTF-8 to UTF-16","ref.pdf":"PDF Functions","book.pdf":"PDF","intro.ps":"Introduction","ps.requirements":"Requirements","ps.installation":"Installation","ps.configuration":"Runtime Configuration","ps.resources":"Resource Types","ps.setup":"Installing\/Configuring","ps.table-linecap":"Contants for line caps","ps.table-linejoin":"Contants for line joins","ps.constants":"Predefined Constants","ps.contact":"Contact Information","function.ps-add-bookmark":"Add bookmark to current page","function.ps-add-launchlink":"Adds link which launches file","function.ps-add-locallink":"Adds link to a page in the same document","function.ps-add-note":"Adds note to current page","function.ps-add-pdflink":"Adds link to a page in a second pdf document","function.ps-add-weblink":"Adds link to a web location","function.ps-arc":"Draws an arc counterclockwise","function.ps-arcn":"Draws an arc clockwise","function.ps-begin-page":"Start a new page","example-3551":"Creating and using a pattern","function.ps-begin-pattern":"Start a new pattern","example-3552":"Creating and using a template","function.ps-begin-template":"Start a new template","function.ps-circle":"Draws a circle","function.ps-clip":"Clips drawing to current path","function.ps-close-image":"Closes image and frees memory","function.ps-close":"Closes a PostScript document","function.ps-closepath-stroke":"Closes and strokes path","function.ps-closepath":"Closes path","function.ps-continue-text":"Continue text in next line","function.ps-curveto":"Draws a curve","function.ps-delete":"Deletes all resources of a PostScript document","function.ps-end-page":"End a page","function.ps-end-pattern":"End a pattern","function.ps-end-template":"End a template","function.ps-fill-stroke":"Fills and strokes the current path","function.ps-fill":"Fills the current path","function.ps-findfont":"Loads a font","function.ps-get-buffer":"Fetches the full buffer containig the generated PS data","function.ps-get-parameter":"Gets certain parameters","function.ps-get-value":"Gets certain values","example-3553":"Hyphennate a text","function.ps-hyphenate":"Hyphenates a word","function.ps-include-file":"Reads an external file with raw PostScript code","example-3554":"Drawing a rectangle","function.ps-lineto":"Draws a line","example-3555":"Creating and using a spot color","function.ps-makespotcolor":"Create spot color","function.ps-moveto":"Sets current point","function.ps-new":"Creates a new PostScript document object","function.ps-open-file":"Opens a file for output","function.ps-open-image-file":"Opens image from file","function.ps-open-image":"Reads an image for later placement","function.ps-open-memory-image":"Takes an GD image and returns an image for placement in a PS document","function.ps-place-image":"Places image on the page","function.ps-rect":"Draws a rectangle","function.ps-restore":"Restore previously save context","example-3556":"Rotation of the coordinate system","function.ps-rotate":"Sets rotation factor","function.ps-save":"Save current context","function.ps-scale":"Sets scaling factor","function.ps-set-border-color":"Sets color of border for annotations","function.ps-set-border-dash":"Sets length of dashes for border of annotations","function.ps-set-border-style":"Sets border style of annotations","function.ps-set-info":"Sets information fields of document","function.ps-set-parameter":"Sets certain parameters","example-3557":"Placing text at a given position","function.ps-set-text-pos":"Sets position for text output","function.ps-set-value":"Sets certain values","function.ps-setcolor":"Sets current color","function.ps-setdash":"Sets appearance of a dashed line","function.ps-setflat":"Sets flatness","function.ps-setfont":"Sets font to use for following output","function.ps-setgray":"Sets gray value","function.ps-setlinecap":"Sets appearance of line ends","function.ps-setlinejoin":"Sets how contected lines are joined","function.ps-setlinewidth":"Sets width of a line","function.ps-setmiterlimit":"Sets the miter limit","function.ps-setoverprintmode":"Sets overprint mode","example-3558":"Drawing a dashed line","function.ps-setpolydash":"Sets appearance of a dashed line","function.ps-shading-pattern":"Creates a pattern based on a shading","function.ps-shading":"Creates a shading for later use","function.ps-shfill":"Fills an area with a shading","function.ps-show-boxed":"Output text in a box","function.ps-show-xy2":"Output text at position","function.ps-show-xy":"Output text at given position","function.ps-show2":"Output a text at current position","function.ps-show":"Output text","function.ps-string-geometry":"Gets geometry of a string","function.ps-stringwidth":"Gets width of a string","function.ps-stroke":"Draws the current path","function.ps-symbol-name":"Gets name of a glyph","function.ps-symbol-width":"Gets width of a glyph","function.ps-symbol":"Output a glyph","example-3559":"Translation of the coordinate system","function.ps-translate":"Sets translation","ref.ps":"PS Functions","book.ps":"PostScript document creation","intro.rpmreader":"Introduction","rpmreader.requirements":"Requirements","rpmreader.installation":"Installation","rpmreader.configuration":"Runtime Configuration","rpmreader.resources":"Resource Types","rpmreader.setup":"Installing\/Configuring","constant.rpmreader-minimum":"","constant.rpmreader-name":"","constant.rpmreader-version":"","constant.rpmreader-release":"","constant.rpmreader-epoch":"","constant.rpmreader-serial":"","constant.rpmreader-summary":"","constant.rpmreader-description":"","constant.rpmreader-buildtime":"","constant.rpmreader-buildhost":"","constant.rpmreader-installtime":"","constant.rpmreader-size":"","constant.rpmreader-distribution":"","constant.rpmreader-vendor":"","constant.rpmreader-gif":"","constant.rpmreader-xpm":"","constant.rpmreader-license":"","constant.rpmreader-copyright":"","constant.rpmreader-packager":"","constant.rpmreader-group":"","constant.rpmreader-source":"","constant.rpmreader-patch":"","constant.rpmreader-url":"","constant.rpmreader-os":"","constant.rpmreader-arch":"","constant.rpmreader-prein":"","constant.rpmreader-postin":"","constant.rpmreader-preun":"","constant.rpmreader-postun":"","constant.rpmreader-oldfilenames":"","constant.rpmreader-filesizes":"","constant.rpmreader-filestates":"","constant.rpmreader-filemodes":"","constant.rpmreader-filerdevs":"","constant.rpmreader-filemtimes":"","constant.rpmreader-filemd5s":"","constant.rpmreader-filelinktos":"","constant.rpmreader-fileflags":"","constant.rpmreader-fileusername":"","constant.rpmreader-filegroupname":"","constant.rpmreader-icon":"","constant.rpmreader-sourcerpm":"","constant.rpmreader-fileverifyflags":"","constant.rpmreader-archivesize":"","constant.rpmreader-providename":"","constant.rpmreader-provides":"","constant.rpmreader-requireflags":"","constant.rpmreader-requirename":"","constant.rpmreader-requireversion":"","constant.rpmreader-conflictflags":"","constant.rpmreader-conflictname":"","constant.rpmreader-conflictversion":"","constant.rpmreader-excludearch":"","constant.rpmreader-excludeos":"","constant.rpmreader-exclusivearch":"","constant.rpmreader-exclusiveos":"","constant.rpmreader-rpmversion":"","constant.rpmreader-triggerscripts":"","constant.rpmreader-triggername":"","constant.rpmreader-triggerversion":"","constant.rpmreader-triggerflags":"","constant.rpmreader-triggerindex":"","constant.rpmreader-verifyscript":"","constant.rpmreader-changelogtime":"","constant.rpmreader-changelogname":"","constant.rpmreader-changelogtext":"","constant.rpmreader-preinprog":"","constant.rpmreader-postinprog":"","constant.rpmreader-preunprog":"","constant.rpmreader-postunprog":"","constant.rpmreader-buildarchs":"","constant.rpmreader-obsoletename":"","constant.rpmreader-obsoletes":"","constant.rpmreader-verifyscriptprog":"","constant.rpmreader-triggerscriptprog":"","constant.rpmreader-cookie":"","constant.rpmreader-filedevices":"","constant.rpmreader-fileinodes":"","constant.rpmreader-filelangs":"","constant.rpmreader-prefixes":"","constant.rpmreader-instprefixes":"","constant.rpmreader-provideflags":"","constant.rpmreader-provideversion":"","constant.rpmreader-obsoleteflags":"","constant.rpmreader-obsoleteversion":"","constant.rpmreader-dirindexes":"","constant.rpmreader-basenames":"","constant.rpmreader-dirnames":"","constant.rpmreader-optflags":"","constant.rpmreader-disturl":"","constant.rpmreader-payloadformat":"","constant.rpmreader-payloadcompressor":"","constant.rpmreader-payloadflags":"","constant.rpmreader-installcolor":"","constant.rpmreader-installtid":"","constant.rpmreader-removetid":"","constant.rpmreader-rhnplatform":"","constant.rpmreader-platform":"","constant.rpmreader-patchesname":"","constant.rpmreader-patchesflags":"","constant.rpmreader-patchesversion":"","constant.rpmreader-cachectime":"","constant.rpmreader-cachepkgpath":"","constant.rpmreader-cachepkgsize":"","constant.rpmreader-cachepkgmtime":"","constant.rpmreader-filecolors":"","constant.rpmreader-fileclass":"","constant.rpmreader-classdict":"","constant.rpmreader-filedependsx":"","constant.rpmreader-filedependsn":"","constant.rpmreader-dependsdict":"","constant.rpmreader-sourcepkgid":"","constant.rpmreader-filecontexts":"","constant.rpmreader-fscontexts":"","constant.rpmreader-recontexts":"","constant.rpmreader-policies":"","constant.rpmreader-maximum":"","rpmreader.constants":"Predefined Constants","example-3560":"Basic RPMReader Example","rpmreader.examples-basic":"Basic usage","rpmreader.examples":"Examples","example-3561":"rpm_close example","function.rpm-close":"Closes an RPM file","example-3562":"rpm_get_tag example","function.rpm-get-tag":"Retrieves a header tag from an RPM file","example-3563":"rpm_is_valid example","function.rpm-is-valid":"Tests a filename for validity as an RPM file","example-3564":"rpm_open example","function.rpm-open":"Opens an RPM file","example-3565":"rpm_version example","function.rpm-version":"Returns a string representing the current version of the\n rpmreader extension","ref.rpmreader":"RPM Reader Functions","book.rpmreader":"RPM Header Reading","intro.swf":"Introduction","swf.requirements":"Requirements","swf.installation":"Installation","swf.configuration":"Runtime Configuration","swf.resources":"Resource Types","swf.setup":"Installing\/Configuring","constant.mod-color":"","constant.mod-matrix":"","constant.type-pushbutton":"","constant.type-menubutton":"","constant.bshittest":"","constant.bsdown":"","constant.bsover":"","constant.bsup":"","constant.overdowntoidle":"","constant.idletooverdown":"","constant.outdowntoidle":"","constant.outdowntooverdown":"","constant.overdowntooutdown":"","constant.overuptooverdown":"","constant.overuptoidle":"","constant.idletooverup":"","constant.buttonenter":"","constant.buttonexit":"","constant.menuenter":"","constant.menuexit":"","swf.constants":"Predefined Constants","example-3566":"SWF example","swf.examples-basic":"Basic usage","swf.examples":"Examples","function.swf-actiongeturl":"Get a URL from a Shockwave Flash movie","function.swf-actiongotoframe":"Play a frame and then stop","function.swf-actiongotolabel":"Display a frame with the specified label","function.swf-actionnextframe":"Go forward one frame","function.swf-actionplay":"Start playing the flash movie from the current frame","function.swf-actionprevframe":"Go backwards one frame","function.swf-actionsettarget":"Set the context for actions","function.swf-actionstop":"Stop playing the flash movie at the current frame","function.swf-actiontogglequality":"Toggle between low and high quality","function.swf-actionwaitforframe":"Skip actions if a frame has not been loaded","example-3567":"swf_addbuttonrecord example","function.swf-addbuttonrecord":"Controls location, appearance and active area of the current button","function.swf-addcolor":"Set the global add color to the rgba value specified","example-3568":"Creating a simple flash file based on user input and outputting it\n and saving it in a database","function.swf-closefile":"Close the current Shockwave Flash file","function.swf-definebitmap":"Define a bitmap","function.swf-definefont":"Defines a font","function.swf-defineline":"Define a line","function.swf-definepoly":"Define a polygon","function.swf-definerect":"Define a rectangle","example-3569":"Horizontal text example","function.swf-definetext":"Define a text string","function.swf-endbutton":"End the definition of the current button","function.swf-enddoaction":"End the current action","function.swf-endshape":"Completes the definition of the current shape","function.swf-endsymbol":"End the definition of a symbol","function.swf-fontsize":"Change the font size","function.swf-fontslant":"Set the font slant","function.swf-fonttracking":"Set the current font tracking","function.swf-getbitmapinfo":"Get information about a bitmap","function.swf-getfontinfo":"Gets font information","function.swf-getframe":"Get the frame number of the current frame","function.swf-labelframe":"Label the current frame","example-3570":"A simple 3D-rotation around a text","function.swf-lookat":"Define a viewing transformation","function.swf-modifyobject":"Modify an object","function.swf-mulcolor":"Sets the global multiply color to the rgba value specified","function.swf-nextid":"Returns the next free object id","function.swf-oncondition":"Describe a transition used to trigger an action list","function.swf-openfile":"Open a new Shockwave Flash file","function.swf-ortho2":"Defines 2D orthographic mapping of user coordinates onto the current viewport","function.swf-ortho":"Defines an orthographic mapping of user coordinates onto the current viewport","function.swf-perspective":"Define a perspective projection transformation","function.swf-placeobject":"Place an object onto the screen","function.swf-polarview":"Define the viewer's position with polar coordinates","function.swf-popmatrix":"Restore a previous transformation matrix","function.swf-posround":"Enables or Disables the rounding of the translation when objects are placed or moved","function.swf-pushmatrix":"Push the current transformation matrix back onto the stack","function.swf-removeobject":"Remove an object","function.swf-rotate":"Rotate the current transformation","function.swf-scale":"Scale the current transformation","function.swf-setfont":"Change the current font","function.swf-setframe":"Switch to a specified frame","function.swf-shapearc":"Draw a circular arc","function.swf-shapecurveto3":"Draw a cubic bezier curve","function.swf-shapecurveto":"Draw a quadratic bezier curve between two points","function.swf-shapefillbitmapclip":"Set current fill mode to clipped bitmap","function.swf-shapefillbitmaptile":"Set current fill mode to tiled bitmap","function.swf-shapefilloff":"Turns off filling","function.swf-shapefillsolid":"Set the current fill style to the specified color","function.swf-shapelinesolid":"Set the current line style","function.swf-shapelineto":"Draw a line","function.swf-shapemoveto":"Move the current position","function.swf-showframe":"Display the current frame","function.swf-startbutton":"Start the definition of a button","function.swf-startdoaction":"Start a description of an action list for the current frame","function.swf-startshape":"Start a complex shape","function.swf-startsymbol":"Define a symbol","function.swf-textwidth":"Get the width of a string","function.swf-translate":"Translate the current transformations","function.swf-viewport":"Select an area for future drawing","ref.swf":"SWF Functions","book.swf":"Shockwave Flash","refs.utilspec.nontext":"Non-Text MIME Output","example-3571":"Incorrect requests","example-3572":"Calling request from a request callback","example-3573":"Calling request from a request callback","example-3574":"Using eio with libevent","intro.eio":"Introduction","eio.requirements":"Requirements","eio.installation":"Installation","eio.configuration":"Runtime Configuration","eio.resources":"Resource Types","eio.setup":"Installing\/Configuring","constant.eio-pri-min":"","constant.eio-pri-default":"","constant.eio-pri-max":"","constant.eio-seek-set":"","constant.eio-seek-cur":"","constant.eio-seek-end":"","constant.eio-readdir-dents":"","constant.eio-readdir-dirs-first":"","constant.eio-readdir-stat-order":"","constant.eio-readdir-found-unknown":"","constant.eio-dt-unknown":"","constant.eio-dt-fifo":"","constant.eio-dt-chr":"","constant.eio-dt-mpc":"","constant.eio-dt-dir":"","constant.eio-dt-nam":"","constant.eio-dt-blk":"","constant.eio-dt-mpb":"","constant.eio-dt-reg":"","constant.eio-dt-nwk":"","constant.eio-dt-cmp":"","constant.eio-dt-lnk":"","constant.eio-dt-sock":"","constant.eio-dt-door":"","constant.eio-dt-wht":"","constant.eio-dt-max":"","constant.eio-o-rdonly":"","constant.eio-o-wronly":"","constant.eio-o-rdwr":"","constant.eio-o-nonblock":"","constant.eio-o-append":"","constant.eio-o-creat":"","constant.eio-o-trunc":"","constant.eio-o-excl":"","constant.eio-o-fsync":"","constant.eio-s-irusr":"","constant.eio-s-iwusr":"","constant.eio-s-ixusr":"","constant.eio-s-irgrp":"","constant.eio-s-iwgrp":"","constant.eio-s-ixgrp":"","constant.eio-s-iroth":"","constant.eio-s-iwoth":"","constant.eio-s-ixoth":"","constant.eio-s-ifreg":"","constant.eio-s-ifchr":"","constant.eio-s-ifblk":"","constant.eio-s-ififo":"","constant.eio-s-ifsock":"","constant.eio-sync-file-range-wait-before":"","constant.eio-sync-file-range-write":"","constant.eio-sync-file-range-wait-after":"","constant.eio-falloc-fl-keep-size":"","eio.constants":"Predefined Constants","example-3575":"Cancelling a request","example-3576":"Calling eio_chmod","example-3577":"Making a custom request","example-3578":"Grouping requests","example-3579":"Using eio with libevent","eio.examples":"Examples","function.eio-busy":"Artificially increase load. Could be useful in tests,\n benchmarking.","example-3580":"eio_cancel example","function.eio-cancel":"Cancels a request","function.eio-chmod":"Change file\/direcrory permissions.","function.eio-chown":"Change file\/direcrory permissions.","function.eio-close":"Close file","example-3581":"eio_custom example","function.eio-custom":"Execute custom request like any other eio_* call.","function.eio-dup2":"Duplicate a file descriptor","example-3582":"eio_event_loop example","function.eio-event-loop":"Polls libeio until all requests proceeded","function.eio-fallocate":"Allows the caller to directly manipulate the allocated disk\n space for a file","function.eio-fchmod":"Change file permissions.","function.eio-fchown":"Change file ownership","function.eio-fdatasync":"Synchronize a file's in-core state with storage device.","example-3583":"eio_lstat example","function.eio-fstat":"Get file status","function.eio-fstatvfs":"Get file system statistics","function.eio-fsync":"Synchronize a file's in-core state with storage device","function.eio-ftruncate":"Truncate a file","function.eio-futime":"Change file last access and modification times","example-3584":"Using eio with libevent","function.eio-get-event-stream":"Get stream representing a variable used in internal communications with libeio.","function.eio-get-last-error":"Returns string describing the last error associated with a request resource","example-3585":"Grouping requests","function.eio-grp-add":"Adds a request to the request group.","function.eio-grp-cancel":"Cancels a request group","function.eio-grp-limit":"Set group limit","example-3586":"eio_grp example","function.eio-grp":"Createsa request group.","function.eio-init":"(Re-)initialize Eio","example-3587":"eio_link example","function.eio-link":"Create a hardlink for file","example-3588":"eio_lstat example","function.eio-lstat":"Get file status","example-3589":"eio_mkdir example","function.eio-mkdir":"Create directory","example-3590":"eio_mknod example","function.eio-mknod":"Create a special or ordinary file.","function.eio-nop":"Does nothing, except go through the whole request cycle.","function.eio-npending":"Returns number of finished, but unhandled requests","function.eio-nready":"Returns number of not-yet handled requests","example-3591":"eio_nreqs example","function.eio-nreqs":"Returns number of requests to be processed","function.eio-nthreads":"Returns number of threads currently in use","example-3592":"eio_open example","function.eio-open":"Opens a file","example-3593":"eio_poll example","function.eio-poll":"Can be to be called whenever there are pending requests that need finishing.","example-3594":"eio_read example","function.eio-read":"Read from a file descriptor at given offset.","function.eio-readahead":"Perform file readahead into page cache","example-3595":"eio_readdir example","function.eio-readdir":"Reads through a whole directory","example-3596":"eio_readlink example","function.eio-readlink":"Read value of a symbolic link.","example-3597":"eio_realpath example","function.eio-realpath":"Get the canonicalized absolute pathname.","example-3598":"eio_rename example","function.eio-rename":"Change the name or location of a file.","example-3599":"eio_rmdir example","function.eio-rmdir":"Remove a directory","function.eio-seek":"Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence","function.eio-sendfile":"Transfer data between file descriptors","function.eio-set-max-idle":"Set maximum number of idle threads.","function.eio-set-max-parallel":"Set maximum parallel threads","function.eio-set-max-poll-reqs":"Set maximum number of requests processed in a poll.","function.eio-set-max-poll-time":"Set maximum poll time","function.eio-set-min-parallel":"Set minimum parallel thread number","example-3600":"eio_stat example","function.eio-stat":"Get file status","example-3601":"eio_statvfs example","function.eio-statvfs":"Get file system statistics","example-3602":"eio_symlink example","function.eio-symlink":"Create a symbolic link","function.eio-sync-file-range":"Sync a file segment with disk","function.eio-sync":"Commit buffer cache to disk","function.eio-syncfs":"Calls Linux' syncfs syscall, if available","function.eio-truncate":"Truncate a file","function.eio-unlink":"Delete a name and possibly the file it refers to","function.eio-utime":"Change file last access and modification times.","function.eio-write":"Write to file","ref.eio":"Eio Functions","book.eio":"Eio","intro.ev":"Introduction","ev.requirements":"Requirements","ev.installation":"Installation","ev.configuration":"Runtime Configuration","ev.resources":"Resource Types","ev.setup":"Installing\/Configuring","ev.global.constants":"Predefined Constants","example-3603":"Simple timers","example-3604":"Periodic timer. Tick each 10.5 seconds","example-3605":"Periodic timer. Use reschedule callback","example-3606":"Periodic timer. Tick every 10.5 seconds starting at now","example-3607":"Wait until STDIN is readable","example-3608":"Use some async I\/O to access a socket","example-3609":"Embedding one loop into another","example-3610":"Embedding loop created with kqueue backend into the default loop","example-3611":"Handle SIGTERM signal","example-3612":"Monitor changes of \/var\/log\/messages","example-3613":"Monotor changes of \/var\/log\/messages. Avoid missing updates by means of one second delay","example-3614":"Process status changes","ev.examples":"Examples","ev.watchers":"Watchers","ev.watcher-callbacks":"Watcher callbacks","example-3615":"Using reschedule callback","ev.periodic-modes":"Periodic watcher operation modes","ev.intro":"Introduction","ev.synopsis":"Class synopsis","ev.constants.flag-auto":"","ev.constants.flag-noenv":"","ev.constants.flag-forkcheck":"","ev.constants.flag-noinotify":"","ev.constants.flag-signalfd":"","ev.constants.flag-nosigmask":"","ev.constants.loop-flags":"","ev.constants.run-nowait":"","ev.constants.run-once":"","ev.constants.run-flags":"","ev.constants.break-cancel":"","ev.constants.break-one":"","ev.constants.break-all":"","ev.constants.break-flags":"","ev.constants.minpri":"","ev.constants.maxpri":"","ev.constants.watcher-pri":"","ev.constants.read":"","ev.constants.write":"","ev.constants.timer":"","ev.constants.periodic":"","ev.constants.signal":"","ev.constants.child":"","ev.constants.stat":"","ev.constants.idle":"","ev.constants.prepare":"","ev.constants.check":"","ev.constants.embed":"","ev.constants.custom":"","ev.constants.error":"","ev.constants.watcher-revents":"","ev.constants.backend-select":"","ev.constants.backend-poll":"","ev.constants.backend-epoll":"","ev.constants.backend-kqueue":"","ev.constants.backend-devpoll":"","ev.constants.backend-port":"","ev.constants.backend-all":"","ev.constants.backend-mask":"","ev.constants.watcher-backends":"","ev.constants":"Predefined Constants","ev.backend":"Returns an integer describing the backend used by libev.","ev.depth":"Returns recursion depth","example-3616":"Embedding loop created with kqueue backend into the default loop","ev.embeddablebackends":"Returns the set of backends that are embeddable in other event loops.","ev.feedsignal":"Feed a signal event info Ev","ev.feedsignalevent":"Feed signal event into the default loop","ev.iteration":"Return the number of times the default event loop has polled for new\n events.","ev.now":"Returns the time when the last iteration of the default event\n loop has started.","ev.nowupdate":"Establishes the current time by querying the kernel, updating the time\n returned by Ev::now in the progress.","example-3617":"Embedding one loop into another","ev.recommendedbackends":"Returns a bit mask of recommended backends for current\n platform.","ev.resume":"Resume previously suspended default event loop","ev.run":"Begin checking for events and calling callbacks for the default\n loop","ev.sleep":"Block the process for the given number of seconds.","ev.stop":"Stops the default event loop","example-3618":"Embedding loop created with kqueue backend into the default loop","ev.supportedbackends":"Returns the set of backends supported by current libev\n configuration.","ev.suspend":"Suspend the default event loop","ev.time":"Returns the current time in fractional seconds since the epoch.","ev.verify":"Performs internal consistency checks(for debugging)","class.ev":"The Ev class","evcheck.intro":"Introduction","evcheck.synopsis":"Class synopsis","evcheck.construct":"Constructs the EvCheck watcher object","evcheck.createstopped":"Create instance of a stopped EvCheck watcher","class.evcheck":"The EvCheck class","evchild.intro":"Introduction","evchild.synopsis":"Class synopsis","evchild.props.pid":"","evchild.props.rpid":"","evchild.props.rstatus":"","evchild.props":"Properties","evchild.construct":"Constructs the EvChild watcher object","evchild.createstopped":"Create instance of a stopped EvCheck watcher","evchild.set":"Configures the watcher","class.evchild":"The EvChild class","evembed.intro":"Introduction","evembed.synopsis":"Class synopsis","evembed.props.is-active":"","evembed.props.data":"","evembed.props.is-pending":"","evembed.props.priority":"","evembed.props.embed":"","evembed.props":"Properties","example-3619":"Embedding loop created with kqueue backend into the default loop","evembed.construct":"Constructs the EvEmbed object","evembed.createstopped":"Create stopped EvEmbed watcher object","evembed.set":"Configures the watcher","evembed.sweep":"Make a single, non-blocking sweep over the embedded loop.","class.evembed":"The EvEmbed class","evfork.intro":"Introduction","evfork.synopsis":"Class synopsis","evfork.construct":"Constructs the EvFork watcher object","evfork.createstopped":"Creates a stopped instance of EvFork watcher class","class.evfork":"The EvFork class","evidle.intro":"Introduction","evidle.synopsis":"Class synopsis","evidle.construct":"Constructs the EvIdle watcher object","evidle.createstopped":"Creates instance of a stopped EvIdle watcher object","class.evidle":"The EvIdle class","evio.intro":"Introduction","evio.synopsis":"Class synopsis","evio.props.fd":"","evio.props.events":"","evio.props":"Properties","evio.construct":"Constructs EvIo watcher object","evio.createstopped":"Create stopped EvIo watcher object","evio.set":"Configures the watcher","class.evio":"The EvIo class","evloop.intro":"Introduction","evloop.synopsis":"Class synopsis","evloop.props.data":"","evloop.props.backend":"","evloop.props.is-default-loop":"","evloop.props.iteration":"","evloop.props.pending":"","evloop.props.io-interval":"","evloop.props.timeout-interval":"","evloop.props.depth":"","evloop.props":"Properties","evloop.backend":"Returns an integer describing the backend used by libev.","evloop.check":"Creates EvCheck object associated with the current event loop\n instance","evloop.child":"Creates EvChild object associated with the current event loop","evloop.construct":"Constructs the event loop object","evloop.defaultloop":"Returns or creates the default event loop.","evloop.embed":"Creates an instance of EvEmbed watcher associated\n with the current EvLoop object.","evloop.fork":"Creates EvFork watcher object associated with the current event\n loop instance","evloop.idle":"Creates EvIdle watcher object associated with the current event\n loop instance","evloop.invokepending":"Invoke all pending watchers while resetting their pending state","evloop.io":"Create EvIo watcher object associated with the current event\n loop instance","evloop.loopfork":"Must be called after a fork","evloop.now":"Returns the current "event loop time"","evloop.nowupdate":"Establishes the current time by querying the kernel, updating the time\n returned by EvLoop::now in the progress.","evloop.periodic":"Creates EvPeriodic watcher object associated with the current\n event loop instance","evloop.prepare":"Creates EvPrepare watcher object associated with the current\n event loop instance","evloop.resume":"Resume previously suspended default event loop","evloop.run":"Begin checking for events and calling callbacks for the loop","evloop.signal":"Creates EvSignal watcher object associated with the current\n event loop instance","evloop.stat":"Creates EvStat watcher object associated with the current event\n loop instance","evloop.stop":"Stops the event loop","evloop.suspend":"Suspend the loop","evloop.timer":"Creates EvTimer watcher object associated with the current event\n loop instance","evloop.verify":"Performs internal consistency checks(for debugging)","class.evloop":"The EvLoop class","evperiodic.intro":"Introduction","evperiodic.synopsis":"Class synopsis","evperiodic.props.offset":"","evperiodic.props.interval":"","evperiodic.props":"Properties","evperiodic.again":"Simply stops and restarts the periodic watcher again.","evperiodic.at":"Returns the absolute time that this\n watcher is supposed to trigger next","example-3620":"Periodic timer. Use reschedule callback","example-3621":"Periodic timer. Tick every 10.5 seconds starting at now","example-3622":"Hourly watcher","evperiodic.construct":"Constructs EvPeriodic watcher object","evperiodic.createstopped":"Create a stopped EvPeriodic watcher","evperiodic.set":"Configures the watcher","class.evperiodic":"The EvPeriodic class","evprepare.intro":"Introduction","evprepare.synopsis":"Class synopsis","evprepare.construct":"Constructs EvPrepare watcher object","evprepare.createstopped":"Creates a stopped instance of EvPrepare watcher","class.evprepare":"The EvPrepare class","evsignal.intro":"Introduction","evsignal.synopsis":"Class synopsis","evsignal.props.signum":"","evsignal.props":"Properties","example-3623":"Handle SIGTERM signal","evsignal.construct":"Constructs EvPeriodic watcher object","evsignal.createstopped":"Create stopped EvSignal watcher object","evsignal.set":"Configures the watcher","class.evsignal":"The EvSignal class","evstat.intro":"Introduction","evstat.synopsis":"Class synopsis","evstat.props.interval":"","evstat.props.path":"","evstat.props":"Properties","example-3624":"Monitor changes of \/var\/log\/messages","evstat.attr":"Returns the values most recently detected by Ev","example-3625":"Monitor changes of \/var\/log\/messages","evstat.construct":"Constructs EvStat watcher object","evstat.createstopped":"Create a stopped EvStat watcher object","evstat.prev":"Returns the previous set of values returned by EvStat::attr","evstat.set":"Configures the watcher","evstat.stat":"Initiates the stat call","class.evstat":"The EvStat class","evtimer.intro":"Introduction","evtimer.synopsis":"Class synopsis","evtimer.props.repeat":"","evtimer.props.remaining":"","evtimer.props":"Properties","evtimer.again":"Restarts the timer watcher","example-3626":"Simple timers","evtimer.construct":"Constructs an EvTimer watcher object","example-3627":"Monotor changes of \/var\/log\/messages. Avoid missing updates by means of one second delay","evtimer.createstopped":"Creates EvTimer stopped watcher object","evtimer.set":"Configures the watcher","class.evtimer":"The EvTimer class","evwatcher.intro":"Introduction","evwatcher.synopsis":"Class synopsis","evwatcher.props.is-active":"","evwatcher.props.data":"","evwatcher.props.is-pending":"","evwatcher.props.priority":"","evwatcher.props":"Properties","evwatcher.clear":"Clear watcher pending status","evwatcher.construct":"Abstract constructor of a watcher object","evwatcher.feed":"Feeds the given revents set into the event loop","evwatcher.getloop":"Returns the loop responsible for the watcher","evwatcher.invoke":"Invokes the watcher callback with the given received events bit\n mask","example-3628":"Register an I\/O watcher for some UDP socket but do not keep the\n event loop from running just because of that watcher.","evwatcher.keepalive":"Configures whether to keep the loop from returning","evwatcher.setcallback":"Sets new callback for the watcher","evwatcher.start":"Starts the watcher","evwatcher.stop":"Stops the watcher","class.evwatcher":"The EvWatcher class","book.ev":"Ev","intro.expect":"Introduction","expect.requirements":"Requirements","expect.installation":"Installation","ini.expect.timeout":"","ini.expect.loguser":"","ini.expect.logfile":"","ini.expect.match-max":"","expect.configuration":"Runtime Configuration","expect.resources":"Resource Types","expect.setup":"Installing\/Configuring","constants.expect.exp-glob":"","constants.expect.exp-exact":"","constants.expect.exp-regexp":"","constants.expect.exp-eof":"","constants.expect.exp-timeout":"","constants.expect.exp-fullbuffer":"","expect.constants":"Predefined Constants","example-3629":"Expect Usage Example","example-3630":"Another Expect Usage Example","expect.examples-usage":"Expect Usage Examples","expect.examples":"Examples","example-3631":"expect_expectl example","function.expect-expectl":"Waits until the output from a process matches one\n of the patterns, a specified time period has passed, or an EOF is seen","example-3632":"expect_popen example","function.expect-popen":"Execute command via Bourne shell, and open the PTY stream to\n the process","ref.expect":"Expect Functions","book.expect":"Expect","intro.libevent":"Introduction","libevent.requirements":"Requirements","libevent.installation":"Installation","libevent.configuration":"Runtime Configuration","libevent.resources":"Resource Types","libevent.setup":"Installing\/Configuring","constant.ev-timeout":"","constant.ev-read":"","constant.ev-write":"","constant.ev-signal":"","constant.ev-persist":"","constant.evloop-nonblock":"","constant.evloop-once":"","libevent.constants":"Predefined Constants","example-3633":"polling STDIN using basic API","example-3634":"polling STDIN using buffered event API","libevent.examples":"Examples","function.event-add":"Add an event to the set of monitored events","function.event-base-free":"Destroy event base","function.event-base-loop":"Handle events","function.event-base-loopbreak":"Abort event loop","function.event-base-loopexit":"Exit loop after a time","function.event-base-new":"Create and initialize new event base","function.event-base-priority-init":"Set the number of event priority levels","function.event-base-set":"Associate event base with an event","function.event-buffer-base-set":"Associate buffered event with an event base","function.event-buffer-disable":"Disable a buffered event","function.event-buffer-enable":"Enable a buffered event","function.event-buffer-fd-set":"Change a buffered event file descriptor","function.event-buffer-free":"Destroy buffered event","function.event-buffer-new":"Create new buffered event","function.event-buffer-priority-set":"Assign a priority to a buffered event","function.event-buffer-read":"Read data from a buffered event","function.event-buffer-set-callback":"Set or reset callbacks for a buffered event","function.event-buffer-timeout-set":"Set read and write timeouts for a buffered event","function.event-buffer-watermark-set":"Set the watermarks for read and write events","function.event-buffer-write":"Write data to a buffered event","function.event-del":"Remove an event from the set of monitored events","function.event-free":"Free event resource","function.event-new":"Create new event","function.event-set":"Prepare an event","ref.libevent":"Libevent Functions","book.libevent":"Libevent","intro.pcntl":"Introduction","pcntl.requirements":"Requirements","pcntl.installation":"Installation","pcntl.configuration":"Runtime Configuration","pcntl.resources":"Resource Types","pcntl.setup":"Installing\/Configuring","constant.wnohang":"","constant.wuntraced":"","constant.sig-ign":"","constant.sig-dfl":"","constant.sig-err":"","constant.sighup":"","constant.sigint":"","constant.sigquit":"","constant.sigill":"","constant.sigtrap":"","constant.sigabrt":"","constant.sigiot":"","constant.sigbus":"","constant.sigfpe":"","constant.sigkill":"","constant.sigusr1":"","constant.sigsegv":"","constant.sigusr2":"","constant.sigpipe":"","constant.sigalrm":"","constant.sigterm":"","constant.sigstkflt":"","constant.sigcld":"","constant.sigchld":"","constant.sigcont":"","constant.sigstop":"","constant.sigtstp":"","constant.sigttin":"","constant.sigttou":"","constant.sigurg":"","constant.sigxcpu":"","constant.sigxfsz":"","constant.sigvtalrm":"","constant.sigprof":"","constant.sigwinch":"","constant.sigpoll":"","constant.sigio":"","constant.sigpwr":"","constant.sigsys":"","constant.sigbaby":"","constant.sig-block":"","constant.sig-unblock":"","constant.sig-setmask":"","constant.si-user":"","constant.si-noinfo":"","constant.si-kernel":"","constant.si-queue":"","constant.si-timer":"","constant.si-msggq":"","constant.si-asyncio":"","constant.si-sigio":"","constant.si-tkill":"","constant.cld-exited":"","constant.cld-killed":"","constant.cld-dumped":"","constant.cld-trapped":"","constant.cld-stopped":"","constant.cld-continued":"","constant.trap-brkpt":"","constant.trap-trace":"","constant.poll-in":"","constant.poll-out":"","constant.poll-msg":"","constant.poll-err":"","constant.poll-pri":"","constant.poll-hup":"","constant.ill-illopc":"","constant.ill-illopn":"","constant.ill-illadr":"","constant.ill-illtrp":"","constant.ill-prvopc":"","constant.ill-prvreg":"","constant.ill-coproc":"","constant.ill-badstk":"","constant.fpe-intdiv":"","constant.fpe-intovf":"","constant.fpe-fltdiv":"","constant.fpe-fltovf":"","constant.fpe-fltund":"","constant.fpe-fltres":"","constant.fpe-fltinv":"","constant.fpe-fltsub":"","constant.segv-maperr":"","constant.segv-accerr":"","constant.bus-adraln":"","constant.bus-adrerr":"","constant.bus-objerr":"","pcntl.constants":"Predefined Constants","example-3635":"Process Control Example","pcntl.example":"Basic usage","pcntl.examples":"Examples","pcntl.seealso":"See Also","function.pcntl-alarm":"Set an alarm clock for delivery of a signal","function.pcntl-errno":"Alias of pcntl_strerror","function.pcntl-exec":"Executes specified program in current process space","example-3636":"pcntl_fork example","function.pcntl-fork":"Forks the currently running process","function.pcntl-get-last-error":"Retrieve the error number set by the last pcntl function which failed","function.pcntl-getpriority":"Get the priority of any process","function.pcntl-setpriority":"Change the priority of any process","example-3637":"pcntl_signal_dispatch example","function.pcntl-signal-dispatch":"Calls signal handlers for pending signals","example-3638":"pcntl_signal example","function.pcntl-signal":"Installs a signal handler","example-3639":"pcntl_sigprocmask example","function.pcntl-sigprocmask":"Sets and retrieves blocked signals","function.pcntl-sigtimedwait":"Waits for signals, with a timeout","example-3640":"pcntl_sigwaitinfo example","function.pcntl-sigwaitinfo":"Waits for signals","function.pcntl-strerror":"Retrieve the system error message associated with the given errno","function.pcntl-wait":"Waits on or returns the status of a forked child","function.pcntl-waitpid":"Waits on or returns the status of a forked child","function.pcntl-wexitstatus":"Returns the return code of a terminated child","function.pcntl-wifexited":"Checks if status code represents a normal exit","function.pcntl-wifsignaled":"Checks whether the status code represents a termination due to a signal","function.pcntl-wifstopped":"Checks whether the child process is currently stopped","function.pcntl-wstopsig":"Returns the signal which caused the child to stop","function.pcntl-wtermsig":"Returns the signal which caused the child to terminate","ref.pcntl":"PCNTL Functions","book.pcntl":"Process Control","intro.posix":"Introduction","posix.requirements":"Requirements","posix.installation":"Installation","posix.configuration":"Runtime Configuration","posix.resources":"Resource Types","posix.setup":"Installing\/Configuring","constant.posix-f-ok":"","constant.posix-r-ok":"","constant.posix-w-ok":"","constant.posix-x-ok":"","constant.posix-s-ifblk":"","constant.posix-s-ifchr":"","constant.posix-s-ififo":"","constant.posix-s-ifreg":"","constant.posix-s-ifsock":"","posix.constants":"Predefined Constants","posix.seealso":"See Also","example-3641":"posix_access example","function.posix-access":"Determine accessibility of a file","example-3642":"posix_ctermid example","function.posix-ctermid":"Get path name of controlling terminal","function.posix-errno":"Alias of posix_get_last_error","example-3643":"posix_get_last_error example","function.posix-get-last-error":"Retrieve the error number set by the last posix function that failed","example-3644":"posix_getcwd example","function.posix-getcwd":"Pathname of current directory","example-3645":"posix_getegid example","function.posix-getegid":"Return the effective group ID of the current process","example-3646":"posix_geteuid example","function.posix-geteuid":"Return the effective user ID of the current process","example-3647":"posix_getgid example","function.posix-getgid":"Return the real group ID of the current process","example-3648":"Example use of posix_getgrgid","function.posix-getgrgid":"Return info about a group by group id","example-3649":"Example use of posix_getgrnam","function.posix-getgrnam":"Return info about a group by name","example-3650":"Example use of posix_getgroups","function.posix-getgroups":"Return the group set of the current process","example-3651":"Example use of posix_getlogin","function.posix-getlogin":"Return login name","example-3652":"Example use of posix_getpgid","function.posix-getpgid":"Get process group id for job control","function.posix-getpgrp":"Return the current process group identifier","example-3653":"Example use of posix_getpid","function.posix-getpid":"Return the current process identifier","example-3654":"Example use of posix_getppid","function.posix-getppid":"Return the parent process identifier","example-3655":"Example use of posix_getpwnam","function.posix-getpwnam":"Return info about a user by username","example-3656":"Example use of posix_getpwuid","function.posix-getpwuid":"Return info about a user by user id","example-3657":"Example use of posix_getrlimit","function.posix-getrlimit":"Return info about system resource limits","example-3658":"Example use of posix_getsid","function.posix-getsid":"Get the current sid of the process","example-3659":"Example use of posix_getuid","function.posix-getuid":"Return the real user ID of the current process","function.posix-initgroups":"Calculate the group access list","function.posix-isatty":"Determine if a file descriptor is an interactive terminal","function.posix-kill":"Send a signal to a process","function.posix-mkfifo":"Create a fifo special file (a named pipe)","example-3660":"A posix_mknod example","function.posix-mknod":"Create a special or ordinary file (POSIX.1)","example-3661":"posix_setegid example","function.posix-setegid":"Set the effective GID of the current process","function.posix-seteuid":"Set the effective UID of the current process","example-3662":"posix_setgid example","function.posix-setgid":"Set the GID of the current process","function.posix-setpgid":"Set process group id for job control","function.posix-setsid":"Make the current process a session leader","example-3663":"posix_setuid example","function.posix-setuid":"Set the UID of the current process","example-3664":"posix_strerror example","function.posix-strerror":"Retrieve the system error message associated with the given errno","example-3665":"Example use of posix_times","function.posix-times":"Get process times","function.posix-ttyname":"Determine terminal device name","example-3666":"Example use of posix_uname","function.posix-uname":"Get system name","ref.posix":"POSIX Functions","book.posix":"POSIX","intro.exec":"Introduction","exec.requirements":"Requirements","exec.installation":"Installation","exec.configuration":"Runtime Configuration","exec.resources":"Resource Types","exec.setup":"Installing\/Configuring","exec.constants":"Predefined Constants","exec.notes":"Notes","exec.seealso":"See Also","example-3667":"escapeshellarg example","function.escapeshellarg":"Escape a string to be used as a shell argument","example-3668":"escapeshellcmd example","function.escapeshellcmd":"Escape shell metacharacters","example-3669":"An exec example","function.exec":"Execute an external program","function.passthru":"Execute an external program and display raw output","function.proc-close":"Close a process opened by proc_open and return the exit code of that process","function.proc-get-status":"Get information about a process opened by proc_open","function.proc-nice":"Change the priority of the current process","example-3670":"A proc_open example","function.proc-open":"Execute a command and open file pointers for input\/output","function.proc-terminate":"Kills a process opened by proc_open","example-3671":"A shell_exec example","function.shell-exec":"Execute command via shell and return the complete output as a string","example-3672":"system example","function.system":"Execute an external program and display the output","ref.exec":"Program execution Functions","book.exec":"System program execution","intro.pthreads":"Introduction","pthreads.requirements":"Requirements","pthreads.installation":"Installation","pthreads.configuration":"Runtime Configuration","pthreads.resources":"Resource Types","pthreads.setup":"Installing\/Configuring","constant.pthreads_inherit_all":"","constant.pthreads_inherit_ini":"","constant.pthreads_inherit_constants":"","constant.pthreads_inherit_classes":"","constant.pthreads_inherit_functions":"","constant.pthreads_inherit_includes":"","constant.pthreads_inherit_none":"","pthreads.constants":"Predefined Constants","thread.intro":"Introduction","thread.synopsis":"Class synopsis","thread.chunk":"Manipulation","example-3673":"Return the identity of the Thread or Process that created the referenced Thread","thread.getcreatorid":"Identification","example-3674":"Return the identity of the referenced Thread","thread.getthreadid":"Identification","example-3675":"Detect the state of the referenced Thread","thread.isjoined":"State Detection","example-3676":"Detect the state of the referenced Thread","thread.isrunning":"State Detection","example-3677":"Detect the state of the referenced Thread","thread.isstarted":"State Detection","example-3678":"Detect the state of the referenced Thread","thread.isterminated":"State Detection","example-3679":"Detect the state of the referenced Thread","thread.iswaiting":"State Detection","example-3680":"Join with the referenced Thread","thread.join":"Synchronization","example-3681":"Locking Thread Storage","thread.lock":"Synchronization","thread.merge":"Manipulation","example-3682":"Notifications and Waiting","thread.notify":"Synchronization","thread.pop":"Manipulation","thread.run":"Execution","thread.shift":"Manipulation","example-3683":"Starting Threads","thread.start":"Execution","example-3684":"Synchronizing","thread.synchronized":"Synchronization","example-3685":"Locking Thread Storage","thread.unlock":"Synchronization","example-3686":"Notifications and Waiting","thread.wait":"Synchronization","class.thread":"The Thread class","worker.intro":"Introduction","worker.synopsis":"Class synopsis","worker.chunk":"Manipulation","example-3687":"Return the identity of the Thread or Process that created the referenced Worker","worker.getcreatorid":"Identification","example-3688":"Returns the number of objects currently waiting to be executed by the referenced Worker","worker.getstacked":"Stack Analysis","example-3689":"Return the identity of the referenced Worker","worker.getthreadid":"Identification","example-3690":"Detect the state of a Worker","worker.isshutdown":"State Detection","example-3691":"Detect the state of a Worker","worker.isworking":"State Detection","worker.merge":"Manipulation","worker.pop":"Manipulation","worker.run":"Execution","worker.shift":"Manipulation","example-3692":"Shutdown the referenced Worker","worker.shutdown":"Synchronization","example-3693":"Passing Stackables to Workers for execution in the Worker Thread","worker.stack":"Stacking","example-3694":"Starting Workers","worker.start":"Execution","example-3695":"Removing Stackables from Workers","worker.unstack":"Stacking","class.worker":"The Worker class","stackable.intro":"Introduction","stackable.synopsis":"Class synopsis","stackable.chunk":"Manipulation","example-3696":"Detect the state of the referenced Stackable","stackable.isrunning":"State Detection","example-3697":"Detect the state of the referenced Stackable","stackable.isterminated":"State Detection","example-3698":"Detect the state of the referenced Stackable","stackable.iswaiting":"State Detection","stackable.lock":"Synchronization","stackable.merge":"Manipulation","stackable.notify":"Synchronization","stackable.pop":"Manipulation","stackable.run":"Execution","stackable.shift":"Manipulation","example-3699":"Synchronizing","stackable.synchronized":"Synchronization","example-3700":"Locking Object Storage","stackable.unlock":"Synchronization","example-3701":"Notifications and Waiting","stackable.wait":"Synchronization","class.stackable":"The Stackable class","example-3702":"protected method example: protected methods can only be executed by one Thread at a time.","example-3703":"private method example: private methods may only be executed by the Thread, Worker, or Stackable during execution","pthreads.modifiers":"Method Modifiers","mutex.intro":"Introduction","mutex.synopsis":"Class synopsis","example-3704":"Mutex Creation and Destruction","mutex.create":"Create a Mutex","example-3705":"Mutex Creation and Destruction","mutex.destroy":"Destroy Mutex","example-3706":"Mutex Locking and Unlocking","mutex.lock":"Acquire Mutex","example-3707":"Mutex Locking and Unlocking","mutex.trylock":"Attempt to Acquire Mutex","example-3708":"Mutex Locking and Unlocking","mutex.unlock":"Release Mutex","class.mutex":"The Mutex class","cond.intro":"Introduction","cond.synopsis":"Class synopsis","example-3709":"Condition Broadcasting","cond.broadcast":"Broadcast a Condition","example-3710":"Condition Creation and Destruction","cond.create":"Create a Condition","example-3711":"Condition Creation and Destruction","cond.destroy":"Destroy a Condition","example-3712":"Condition Signalling","cond.signal":"Signal a Condition","example-3713":"Waiting for Conditions","cond.wait":"Wait for Condition","class.cond":"The Cond class","book.pthreads":"pthreads","intro.sem":"Introduction","sem.requirements":"Requirements","sem.installation":"Installation","ini.sysvshm.init-mem":"","sem.configuration":"Runtime Configuration","sem.resources":"Resource Types","sem.setup":"Installing\/Configuring","sem.constants":"Predefined Constants","function.ftok":"Convert a pathname and a project identifier to a System V IPC key","function.msg-get-queue":"Create or attach to a message queue","function.msg-queue-exists":"Check whether a message queue exists","function.msg-receive":"Receive a message from a message queue","function.msg-remove-queue":"Destroy a message queue","function.msg-send":"Send a message to a message queue","function.msg-set-queue":"Set information in the message queue data structure","function.msg-stat-queue":"Returns information from the message queue data structure","function.sem-acquire":"Acquire a semaphore","function.sem-get":"Get a semaphore id","function.sem-release":"Release a semaphore","function.sem-remove":"Remove a semaphore","example-3714":"","function.shm-attach":"Creates or open a shared memory segment","function.shm-detach":"Disconnects from shared memory segment","function.shm-get-var":"Returns a variable from shared memory","function.shm-has-var":"Check whether a specific entry exists","function.shm-put-var":"Inserts or updates a variable in shared memory","function.shm-remove-var":"Removes a variable from shared memory","function.shm-remove":"Removes shared memory from Unix systems","ref.sem":"Semaphore Functions","book.sem":"Semaphore, Shared Memory and IPC","intro.shmop":"Introduction","shmop.requirements":"Requirements","shmop.installation":"Installation","shmop.configuration":"Runtime Configuration","shmop.resources":"Resource Types","shmop.setup":"Installing\/Configuring","shmop.constants":"Predefined Constants","example-3715":"Shared Memory Operations Overview","shmop.examples-basic":"Basic usage","shmop.examples":"Examples","example-3716":"Closing shared memory block","function.shmop-close":"Close shared memory block","example-3717":"Deleting shared memory block","function.shmop-delete":"Delete shared memory block","example-3718":"Create a new shared memory block","function.shmop-open":"Create or open shared memory block","example-3719":"Reading shared memory block","function.shmop-read":"Read data from shared memory block","example-3720":"Getting the size of the shared memory block","function.shmop-size":"Get size of shared memory block","example-3721":"Writing to shared memory block","function.shmop-write":"Write data into shared memory block","ref.shmop":"Shared Memory Functions","book.shmop":"Shared Memory","refs.fileprocess.process":"Process Control Extensions","intro.geoip":"Introduction","geoip.requirements":"Requirements","geoip.installation":"Installation","geoip.configuration":"Runtime Configuration","geoip.resources":"Resource Types","geoip.setup":"Installing\/Configuring","constant.geoip-country-edition":"","constant.geoip-region-edition-rev0":"","constant.geoip-city-edition-rev0":"","constant.geoip-org-edition":"","constant.geoip-isp-edition":"","constant.geoip-city-edition-rev1":"","constant.geoip-region-edition-rev1":"","constant.geoip-proxy-edition":"","constant.geoip-asnum-edition":"","constant.geoip-netspeed-edition":"","constant.geoip-domain-edition":"","constant.geoip-unknown-speed":"","constant.geoip-dialup-speed":"","constant.geoip-cabledsl-speed":"","constant.geoip-corporate-speed":"","geoip.constants":"Predefined Constants","example-3722":"A geoip_continent_code_by_name example","function.geoip-continent-code-by-name":"Get the two letter continent code","example-3723":"A geoip_country_code_by_name example","function.geoip-country-code-by-name":"Get the two letter country code","example-3724":"A geoip_country_code3_by_name example","function.geoip-country-code3-by-name":"Get the three letter country code","example-3725":"A geoip_country_name_by_name example","function.geoip-country-name-by-name":"Get the full country name","example-3726":"A geoip_database_info example","function.geoip-database-info":"Get GeoIP Database information","example-3727":"A geoip_db_avail example","function.geoip-db-avail":"Determine if GeoIP Database is available","example-3728":"A geoip_db_filename example","function.geoip-db-filename":"Returns the filename of the corresponding GeoIP Database","example-3729":"A geoip_db_get_all_info example","example-3730":"A geoip_db_get_all_info example","function.geoip-db-get-all-info":"Returns detailed information about all GeoIP database types","example-3731":"A geoip_id_by_name example","function.geoip-id-by-name":"Get the Internet connection type","example-3732":"A geoip_isp_by_name example","function.geoip-isp-by-name":"Get the Internet Service Provider (ISP) name","example-3733":"A geoip_org_by_name example","function.geoip-org-by-name":"Get the organization name","example-3734":"A geoip_record_by_name example","function.geoip-record-by-name":"Returns the detailed City information found in the GeoIP Database","example-3735":"A geoip_region_by_name example","function.geoip-region-by-name":"Get the country code and region","example-3736":"A geoip_region_name_by_code example using region code for US\/Canada","example-3737":"A geoip_region_name_by_code example using FIPS codes","function.geoip-region-name-by-code":"Returns the region name for some country and region code combo","example-3738":"A geoip_time_zone_by_country_and_region example using region code for US\/Canada","example-3739":"A geoip_time_zone_by_country_and_region example using FIPS codes","function.geoip-time-zone-by-country-and-region":"Returns the time zone for some country and region code combo","ref.geoip":"GeoIP Functions","book.geoip":"Geo IP Location","intro.fann":"Introduction","fann.requirements":"Requirements","fann.installation.lib":"FANN Library Installation","fann.installation.pecl":"PECL Installation","fann.installation.manual":"Manual Installation","fann.installation":"Installation","fann.configuration":"Runtime Configuration","fann.resources":"Resource Types","fann.setup":"Installing\/Configuring","constant.fann-train-incremental":"","constant.fann-train-batch":"","constant.fann-train-rprop":"","constant.fann-train-quickprop":"","constant.fann-train-sarprop":"","constants.fann-train":"Training algorithms","constant.fann-linear":"","constant.fann-threshold":"","constant.fann-threshold-symmetric":"","constant.fann-sigmoid":"","constant.fann-sigmoid-stepwise":"","constant.fann-sigmoid-symmetric":"","constant.fann-sigmoid-symmetric-stepwise":"","constant.fann-gaussian":"","constant.fann-gaussian-symmetric":"","constant.fann-gaussian-stepwise":"","constant.fann-elliot":"","constant.fann-elliot-symmetric":"","constant.fann-linear-piece":"","constant.fann-linear-piece-symmetric":"","constant.fann-sin-symmetric":"","constant.fann-cos-symmetric":"","constant.fann-sin":"","constant.fann-cos":"","constants.fann-activation-funcs":"Activation functions","constant.fann-errorfunc-linear":"","constant.fann-errorfunc-tanh":"","constants.fann-errorfunc":"Error function used during training","constant.fann-stopfunc-mse":"","constant.fann-stopfunc-bit":"","constants.fann-stopfunc":"Stop criteria used during training","constant.fann-nettype-layer":"","constant.fann-nettype-shortcut":"","constants.fann-nettype":"Definition of network types used by fann_get_network_type","constant.fann-e-no-error":"","constant.fann-e-cant-open-config-r":"","constant.fann-e-cant-open-config-w":"","constant.fann-e-wrong-config-version":"","constant.fann-e-cant-read-config":"","constant.fann-e-cant-read-neuron":"","constant.fann-e-cant-read-connections":"","constant.fann-e-wrong-num-connections":"","constant.fann-e-cant-open-td-w":"","constant.fann-e-cant-open-td-r":"","constant.fann-e-cant-read-td":"","constant.fann-e-cant-allocate-mem":"","constant.fann-e-cant-train-activation":"","constant.fann-e-cant-use-activation":"","constant.fann-e-train-data-mismatch":"","constant.fann-e-cant-use-train-alg":"","constant.fann-e-train-data-subset":"","constant.fann-e-index-out-of-bound":"","constant.fann-e-scale-not-present":"","constant.fann-e-input-no-match":"","constant.fann-e-output-no-match":"","constants.fann-e":"Errors","fann.constants":"Predefined Constants","example-3740":"Simple train","example-3741":"Simple test","fann.examples-1":"XOR training","fann.examples":"Examples","function.fann-cascadetrain-on-data":"Trains on an entire dataset, for a period of time using the Cascade2 training algorithm","function.fann-cascadetrain-on-file":"Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm.","function.fann-clear-scaling-params":"Clears scaling parameters","function.fann-copy":"Creates a copy of a fann structure","function.fann-create-from-file":"Constructs a backpropagation neural network from a configuration file","function.fann-create-shortcut-array":"Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections","function.fann-create-shortcut":"Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections","function.fann-create-sparse-array":"Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes","function.fann-create-sparse":"Creates a standard backpropagation neural network, which is not fully connected","function.fann-create-standard-array":"Creates a standard fully connected backpropagation neural network using an array of layer sizes","function.fann-create-standard":"Creates a standard fully connected backpropagation neural network","example-3742":"fann_create_train_from_callback example","function.fann-create-train-from-callback":"Creates the training data struct from a user supplied function","function.fann-create-train":"Creates an empty training data struct","function.fann-descale-input":"Scale data in input vector after get it from ann based on previously calculated parameters","function.fann-descale-output":"Scale data in output vector after get it from ann based on previously calculated parameters","function.fann-descale-train":"Descale input and output data based on previously calculated parameters","function.fann-destroy-train":"Destructs the training data","function.fann-destroy":"Destroys the entire network and properly freeing all the associated memory","function.fann-duplicate-train-data":"Returns an exact copy of a fann train data","function.fann-get-activation-function":"Returns the activation function","function.fann-get-activation-steepness":"Returns the activation steepness for supplied neuron and layer number","function.fann-get-bias-array":"Get the number of bias in each layer in the network","function.fann-get-bit-fail-limit":"Returns the bit fail limit used during training","function.fann-get-bit-fail":"The number of fail bits","function.fann-get-cascade-activation-functions-count":"Returns the number of cascade activation functions","function.fann-get-cascade-activation-functions":"Returns the cascade activation functions","function.fann-get-cascade-activation-steepnesses-count":"The number of activation steepnesses","function.fann-get-cascade-activation-steepnesses":"Returns the cascade activation steepnesses","function.fann-get-cascade-candidate-change-fraction":"Returns the cascade candidate change fraction","function.fann-get-cascade-candidate-limit":"Return the candidate limit","function.fann-get-cascade-candidate-stagnation-epochs":"Returns the number of cascade candidate stagnation epochs","function.fann-get-cascade-max-cand-epochs":"Returns the maximum candidate epochs","function.fann-get-cascade-max-out-epochs":"Returns the maximum out epochs","function.fann-get-cascade-min-cand-epochs":"Returns the minimum candidate epochs","function.fann-get-cascade-min-out-epochs":"Returns the minimum out epochs","function.fann-get-cascade-num-candidate-groups":"Returns the number of candidate groups","function.fann-get-cascade-num-candidates":"Returns the number of candidates used during training","function.fann-get-cascade-output-change-fraction":"Returns the cascade output change fraction","function.fann-get-cascade-output-stagnation-epochs":"Returns the number of cascade output stagnation epochs","function.fann-get-cascade-weight-multiplier":"Returns the weight multiplier","function.fann-get-connection-array":"Get connections in the network","function.fann-get-connection-rate":"Get the connection rate used when the network was created","function.fann-get-errno":"Returns the last error number","function.fann-get-errstr":"Returns the last errstr","function.fann-get-layer-array":"Get the number of neurons in each layer in the network","function.fann-get-learning-momentum":"Returns the learning momentum","function.fann-get-learning-rate":"Returns the learning rate","function.fann-get-mse":"Reads the mean square error from the network","function.fann-get-network-type":"Get the type of neural network it was created as","function.fann-get-num-input":"Get the number of input neurons","function.fann-get-num-layers":"Get the number of layers in the neural network","function.fann-get-num-output":"Get the number of output neurons","function.fann-get-quickprop-decay":"Returns the decay which is a factor that weights should decrease in each iteration during quickprop training","function.fann-get-quickprop-mu":"Returns the mu factor","function.fann-get-rprop-decrease-factor":"Returns the increase factor used during RPROP training","function.fann-get-rprop-delta-max":"Returns the maximum step-size","function.fann-get-rprop-delta-min":"Returns the minimum step-size","function.fann-get-rprop-delta-zero":"Returns the initial step-size","function.fann-get-rprop-increase-factor":"Returns the increase factor used during RPROP training","function.fann-get-sarprop-step-error-shift":"Returns the sarprop step error shift","function.fann-get-sarprop-step-error-threshold-factor":"Returns the sarprop step error threshold factor","function.fann-get-sarprop-temperature":"Returns the sarprop temperature","function.fann-get-sarprop-weight-decay-shift":"Returns the sarprop weight decay shift","function.fann-get-total-connections":"Get the total number of connections in the entire network","function.fann-get-total-neurons":"Get the total number of neurons in the entire network","function.fann-get-train-error-function":"Returns the error function used during training","function.fann-get-train-stop-function":"Returns the the stop function used during training","function.fann-get-training-algorithm":"Returns the training algorithm","function.fann-init-weights":"Initialize the weights using Widrow + Nguyen’s algorithm","function.fann-length-train-data":"Returns the number of training patterns in the train data","function.fann-merge-train-data":"Merges the train data","function.fann-num-input-train-data":"Returns the number of inputs in each of the training patterns in the train data","function.fann-num-output-train-data":"Returns the number of outputs in each of the training patterns in the train data","function.fann-print-error":"Prints the error string","function.fann-randomize-weights":"Give each connection a random weight between min_weight and max_weight","example-3743":"fann_read_train_from_file example","function.fann-read-train-from-file":"Reads a file that stores training data","function.fann-reset-errno":"Resets the last error number","function.fann-reset-errstr":"Resets the last error string","function.fann-reset-mse":"Resets the mean square error from the network","function.fann-run":"Will run input through the neural network","function.fann-save-train":"Save the training structure to a file","function.fann-save":"Saves the entire network to a configuration file","function.fann-scale-input-train-data":"Scales the inputs in the training data to the specified range","function.fann-scale-input":"Scale data in input vector before feed it to ann based on previously calculated parameters","function.fann-scale-output-train-data":"Scales the outputs in the training data to the specified range","function.fann-scale-output":"Scale data in output vector before feed it to ann based on previously calculated parameters","function.fann-scale-train-data":"Scales the inputs and outputs in the training data to the specified range","function.fann-scale-train":"Scale input and output data based on previously calculated parameters","function.fann-set-activation-function-hidden":"Sets the activation function for all of the hidden layers","function.fann-set-activation-function-layer":"Sets the activation function for all the neurons in the supplied layer.","function.fann-set-activation-function-output":"Sets the activation function for the output layer","function.fann-set-activation-function":"Sets the activation function for supplied neuron and layer","function.fann-set-activation-steepness-hidden":"Sets the steepness of the activation steepness for all neurons in the all hidden layers","function.fann-set-activation-steepness-layer":"Sets the activation steepness for all of the neurons in the supplied layer number","function.fann-set-activation-steepness-output":"Sets the steepness of the activation steepness in the output layer","function.fann-set-activation-steepness":"Sets the activation steepness for supplied neuron and layer number","function.fann-set-bit-fail-limit":"Set the bit fail limit used during training","function.fann-set-callback":"Sets the callback function for use during training","function.fann-set-cascade-activation-functions":"Sets the array of cascade candidate activation functions","function.fann-set-cascade-activation-steepnesses":"Sets the array of cascade candidate activation steepnesses","function.fann-set-cascade-candidate-change-fraction":"Sets the cascade candidate change fraction","function.fann-set-cascade-candidate-limit":"Sets the candidate limit","function.fann-set-cascade-candidate-stagnation-epochs":"Sets the number of cascade candidate stagnation epochs","function.fann-set-cascade-max-cand-epochs":"Sets the max candidate epochs","function.fann-set-cascade-max-out-epochs":"Sets the maximum out epochs","function.fann-set-cascade-min-cand-epochs":"Sets the min candidate epochs","function.fann-set-cascade-min-out-epochs":"Sets the minimum out epochs","function.fann-set-cascade-num-candidate-groups":"Sets the number of candidate groups","function.fann-set-cascade-output-change-fraction":"Sets the cascade output change fraction","function.fann-set-cascade-output-stagnation-epochs":"Sets the number of cascade output stagnation epochs","function.fann-set-cascade-weight-multiplier":"Sets the weight multiplier","function.fann-set-error-log":"Sets where the errors are logged to","function.fann-set-input-scaling-params":"Calculate input scaling parameters for future use based on training data","function.fann-set-learning-momentum":"Sets the learning momentum","function.fann-set-learning-rate":"Sets the learning rate","function.fann-set-output-scaling-params":"Calculate output scaling parameters for future use based on training data","function.fann-set-quickprop-decay":"Sets the quickprop decay factor","function.fann-set-quickprop-mu":"Sets the quickprop mu factor","function.fann-set-rprop-decrease-factor":"Sets the decrease factor used during RPROP training","function.fann-set-rprop-delta-max":"Sets the maximum step-size","function.fann-set-rprop-delta-min":"Sets the minimum step-size","function.fann-set-rprop-delta-zero":"Sets the initial step-size","function.fann-set-rprop-increase-factor":"Sets the increase factor used during RPROP training","function.fann-set-sarprop-step-error-shift":"Sets the sarprop step error shift","function.fann-set-sarprop-step-error-threshold-factor":"Sets the sarprop step error threshold factor","function.fann-set-sarprop-temperature":"Sets the sarprop temperature","function.fann-set-sarprop-weight-decay-shift":"Sets the sarprop weight decay shift","function.fann-set-scaling-params":"Calculate input and output scaling parameters for future use based on training data","function.fann-set-train-error-function":"Sets the error function used during training","function.fann-set-train-stop-function":"Sets the stop function used during training","function.fann-set-training-algorithm":"Sets the training algorithm","function.fann-set-weight-array":"Set connections in the network","function.fann-set-weight":"Set a connection in the network","function.fann-shuffle-train-data":"Shuffles training data, randomizing the order","function.fann-subset-train-data":"Returns an copy of a subset of the train data","function.fann-test-data":"Test a set of training data and calculates the MSE for the training data","function.fann-test":"Test with a set of inputs, and a set of desired outputs","function.fann-train-epoch":"Train one epoch with a set of training data","function.fann-train-on-data":"Trains on an entire dataset for a period of time","function.fann-train-on-file":"Trains on an entire dataset, which is read from file, for a period of time","function.fann-train":"Train one iteration with a set of inputs, and a set of desired outputs","ref.fann":"Fann Functions","fannconnection.intro":"Introduction","fannconnection.synopsis":"Class synopsis","fannconnection.props.from-neuron":"","fannconnection.props.to-neuron":"","fannconnection.props.weight":"","fannconnection.props":"Properties","fannconnection.construct":"The connection constructor","fannconnection.getfromneuron":"Returns the postions of starting neuron.","fannconnection.gettoneuron":"Returns the postions of terminating neuron","fannconnection.getweight":"Returns the connection weight","fannconnection.setweight":"Sets the connections weight","class.fannconnection":"The FANNConnection class","book.fann":"FANN (Fast Artificial Neural Network)","intro.json":"Introduction","json.requirements":"Requirements","json.installation":"Installation","json.configuration":"Runtime Configuration","json.resources":"Resource Types","json.setup":"Installing\/Configuring","constant.json-error-none":"","constant.json-error-depth":"","constant.json-error-state-mismatch":"","constant.json-error-ctrl-char":"","constant.json-error-syntax":"","constant.json-error-utf8":"","constant.json-error-recursion":"","constant.json-error-inf-or-nan":"","constant.json-error-unsupported-type":"","constant.json-hex-tag":"","constant.json-hex-amp":"","constant.json-hex-apos":"","constant.json-hex-quot":"","constant.json-force-object":"","constant.json-numeric-check":"","constant.json-bigint-as-string":"","constant.json-pretty-print":"","constant.json-unescaped-slashes":"","constant.json-unescaped-unicode":"","json.constants":"Predefined Constants","jsonserializable.intro":"Introduction","jsonserializable.synopsis":"Interface synopsis","example-3744":"JsonSerializable::jsonSerialize example\n returning an array","example-3745":"JsonSerializable::jsonSerialize example\n returning an associative array","example-3746":"JsonSerializable::jsonSerialize example\n returning an integer","example-3747":"JsonSerializable::jsonSerialize example\n returning a string","jsonserializable.jsonserialize":"Specify data which should be serialized to JSON","class.jsonserializable":"The JsonSerializable interface","example-3748":"json_decode examples","example-3749":"Accessing invalid object properties","example-3750":"common mistakes using json_decode","example-3751":"depth errors","example-3752":"json_decode of large integers","function.json-decode":"Decodes a JSON string","example-3753":"A json_encode example","example-3754":"A json_encode example showing some options in use","example-3755":"Sequential versus non-sequential array example","function.json-encode":"Returns the JSON representation of a value","function.json-last-error-msg":"Returns the error string of the last json_encode() or json_decode() call","example-3756":"json_last_error example","example-3757":"json_last_error with json_encode","function.json-last-error":"Returns the last error occurred","ref.json":"JSON Functions","book.json":"JavaScript Object Notation","intro.judy":"Introduction","judy.requirements":"Requirements","judy.pecl":"","judy.pecl.win":"","judy.install.linux":"Installation on Linux Systems","judy.install.windows":"Installation on Windows Systems","judy.install.macos":"Installation on Mac OS X","judy.installation":"Installation","judy.configuration":"Runtime Configuration","judy.resources":"Resource Types","judy.setup":"Installing\/Configuring","judy.types":"","example-3758":"Judy array example","judy.intro":"Introduction","judy.synopsis":"Class synopsis","judy.constants.bitset":"","judy.constants.int-to-int":"","judy.constants.int-to-mixed":"","judy.constants.string-to-int":"","judy.constants.string-to-mixed":"","judy.constants":"Predefined Constants","judy.bycount":"Locate the Nth index present in the Judy array","judy.construct":"Construct a new Judy object","judy.count":"Count the number of elements in the Judy array","judy.destruct":"Destruct a Judy object","judy.first":"Search for the first index in the Judy array","judy.firstempty":"Search for the first absent index in the Judy array","judy.free":"Free the entire Judy array","judy.gettype":"Return the type of the current Judy array","judy.last":"Search for the last index in the Judy array","judy.lastempty":"Search for the last absent index in the Judy array","judy.memoryusage":"Return the memory used by the Judy array","judy.next":"Search for the next index in the Judy array","judy.nextempty":"Search for the next absent index in the Judy array","judy.offsetexists":"Whether a offset exists","judy.offsetget":"Offset to retrieve","judy.offsetset":"Offset to set","judy.offsetunset":"Offset to unset","judy.prev":"Search for the previous index in the Judy array","judy.prevempty":"Search for the previous absent index in the Judy array","judy.size":"Return the size of the current Judy array","class.judy":"The Judy class","function.judy-type":"Return the type of a Judy array","function.judy-version":"Return or print the current PHP Judy version","ref.judy":"Judy Functions","book.judy":"Judy Arrays","intro.lua":"Introduction","lua.requirements":"Requirements","lua.installation":"Installation","lua.configuration":"Runtime Configuration","lua.resources":"Resource Types","lua.setup":"Installing\/Configuring","lua.intro":"Introduction","lua.synopsis":"Class synopsis","lua.constants.lua-version":"","lua.constants":"Predefined Constants","example-3759":"Lua::assignexample","lua.assign":"Assign a PHP variable to Lua","example-3760":"Lua::callexample","lua.call":"Call Lua functions","lua.construct":"Lua constructor","example-3761":"Lua::evalexample","lua.eval":"Evaluate a string as Lua code","lua.getversion":"The getversion purpose","lua.include":"Parse a Lua script file","example-3762":"Lua::registerCallbackexample","lua.registercallback":"Register a PHP function to Lua","class.lua":"The Lua class","luaclosure.intro":"Introduction","luaclosure.synopsis":"Class synopsis","example-3763":"LuaClosure::__invokeexample","luaclosure.invoke":"invoke luaclosure","class.luaclosure":"The LuaClosure class","book.lua":"Lua","intro.misc":"Introduction","misc.requirements":"Requirements","misc.installation":"Installation","ini.ignore-user-abort":"","ini.syntax-highlighting":"","ini.browscap":"","misc.configuration":"Runtime Configuration","misc.resources":"Resource Types","misc.setup":"Installing\/Configuring","constant.connection-aborted":"","constant.connection-normal":"","constant.connection-timeout":"","constant.--compiler-halt-offset--":"","misc.constants":"Predefined Constants","function.connection-aborted":"Check whether client disconnected","function.connection-status":"Returns connection status bitfield","function.connection-timeout":"Check if the script timed out","example-3764":"constant example","function.constant":"Returns the value of a constant","example-3765":"Defining Constants","function.define":"Defines a named constant","example-3766":"Checking Constants","function.defined":"Checks whether a given named constant exists","function.die":"Equivalent to exit","example-3767":"eval example - simple text merge","function.eval":"Evaluate a string as PHP code","example-3768":"exit example","example-3769":"exit status example","example-3770":"Shutdown functions and destructors run regardless","function.exit":"Output a message and terminate the current script","example-3771":"Listing all information about the users browser","function.get-browser":"Tells what the user's browser is capable of","example-3772":"A __halt_compiler example","function.halt-compiler":"Halts the compiler execution","function.highlight-file":"Syntax highlighting of a file","example-3773":"highlight_string example","function.highlight-string":"Syntax highlighting of a string","example-3774":"A ignore_user_abort example","function.ignore-user-abort":"Set whether a client disconnect should abort script execution","example-3775":"pack example","function.pack":"Pack data into binary string","function.php-check-syntax":"Check the PHP syntax of (and execute) the specified file","example-3776":"php_strip_whitespace example","function.php-strip-whitespace":"Return source with stripped comments and whitespace","function.show-source":"Alias of highlight_file","example-3777":"sleep example","function.sleep":"Delay execution","example-3778":"A sys_getloadavg example","function.sys-getloadavg":"Gets system load average","example-3779":"time_nanosleep example","function.time-nanosleep":"Delay for a number of seconds and nanoseconds","example-3780":"A time_sleep_until example","function.time-sleep-until":"Make the script sleep until the specified time","example-3781":"uniqid Example","function.uniqid":"Generate a unique ID","example-3782":"unpack example","example-3783":"unpack example with a repeater","example-3784":"unpack example with unnamed keys","function.unpack":"Unpack data from binary string","example-3785":"usleep example","function.usleep":"Delay execution in microseconds","ref.misc":"Misc. Functions","changelog.misc":"Changelog","book.misc":"Miscellaneous Functions","intro.parsekit":"Introduction","parsekit.requirements":"Requirements","parsekit.installation":"Installation","parsekit.configuration":"Runtime Configuration","parsekit.resources":"Resource Types","parsekit.setup":"Installing\/Configuring","constant.parsekit-quiet":"","constant.parsekit-simple":"","constant.parsekit-extended-value":"","constant.parsekit-result-const":"","constant.parsekit-result-ea-type":"","constant.parsekit-result-jmp-addr":"","constant.parsekit-result-oparray":"","constant.parsekit-result-opline":"","constant.parsekit-result-var":"","constant.parsekit-usage-unknown":"","constant.parsekit-zend-internal-class":"","constant.parsekit-zend-user-class":"","constant.parsekit-zend-eval-code":"","constant.parsekit-zend-internal-function":"","constant.parsekit-zend-overloaded-function":"","constant.parsekit-zend-overloaded-function-temporary":"","constant.parsekit-zend-user-function":"","constant.parsekit-is-const":"","constant.parsekit-is-tmp-var":"","constant.parsekit-is-unused":"","constant.parsekit-is-var":"","constant.parsekit-zend-add":"","constant.parsekit-zend-add-array-element":"","constant.parsekit-zend-add-char":"","constant.parsekit-zend-add-interface":"","constant.parsekit-zend-add-string":"","constant.parsekit-zend-add-var":"","constant.parsekit-zend-assign":"","constant.parsekit-zend-assign-add":"","constant.parsekit-zend-assign-bw-and":"","constant.parsekit-zend-assign-bw-or":"","constant.parsekit-zend-assign-bw-xor":"","constant.parsekit-zend-assign-concat":"","constant.parsekit-zend-assign-dim":"","constant.parsekit-zend-assign-div":"","constant.parsekit-zend-assign-mod":"","constant.parsekit-zend-assign-mul":"","constant.parsekit-zend-assign-obj":"","constant.parsekit-zend-assign-ref":"","constant.parsekit-zend-assign-sl":"","constant.parsekit-zend-assign-sr":"","constant.parsekit-zend-assign-sub":"","constant.parsekit-zend-begin-silence":"","constant.parsekit-zend-bool":"","constant.parsekit-zend-bool-not":"","constant.parsekit-zend-bool-xor":"","constant.parsekit-zend-brk":"","constant.parsekit-zend-bw-and":"","constant.parsekit-zend-bw-not":"","constant.parsekit-zend-bw-or":"","constant.parsekit-zend-bw-xor":"","constant.parsekit-zend-case":"","constant.parsekit-zend-cast":"","constant.parsekit-zend-catch":"","constant.parsekit-zend-clone":"","constant.parsekit-zend-concat":"","constant.parsekit-zend-cont":"","constant.parsekit-zend-declare-class":"","constant.parsekit-zend-declare-function":"","constant.parsekit-zend-declare-inherited-class":"","constant.parsekit-zend-div":"","constant.parsekit-zend-do-fcall":"","constant.parsekit-zend-do-fcall-by-name":"","constant.parsekit-zend-echo":"","constant.parsekit-zend-end-silence":"","constant.parsekit-zend-exit":"","constant.parsekit-zend-ext-fcall-begin":"","constant.parsekit-zend-ext-fcall-end":"","constant.parsekit-zend-ext-nop":"","constant.parsekit-zend-ext-stmt":"","constant.parsekit-zend-fetch-class":"","constant.parsekit-zend-fetch-constant":"","constant.parsekit-zend-fetch-dim-func-arg":"","constant.parsekit-zend-fetch-dim-is":"","constant.parsekit-zend-fetch-dim-r":"","constant.parsekit-zend-fetch-dim-rw":"","constant.parsekit-zend-fetch-dim-tmp-var":"","constant.parsekit-zend-fetch-dim-unset":"","constant.parsekit-zend-fetch-dim-w":"","constant.parsekit-zend-fetch-func-arg":"","constant.parsekit-zend-fetch-is":"","constant.parsekit-zend-fetch-obj-func-arg":"","constant.parsekit-zend-fetch-obj-is":"","constant.parsekit-zend-fetch-obj-r":"","constant.parsekit-zend-fetch-obj-rw":"","constant.parsekit-zend-fetch-obj-unset":"","constant.parsekit-zend-fetch-obj-w":"","constant.parsekit-zend-fetch-r":"","constant.parsekit-zend-fetch-rw":"","constant.parsekit-zend-fetch-unset":"","constant.parsekit-zend-fetch-w":"","constant.parsekit-zend-fe-fetch":"","constant.parsekit-zend-fe-reset":"","constant.parsekit-zend-free":"","constant.parsekit-zend-handle-exception":"","constant.parsekit-zend-import-class":"","constant.parsekit-zend-import-const":"","constant.parsekit-zend-import-function":"","constant.parsekit-zend-include-or-eval":"","constant.parsekit-zend-init-array":"","constant.parsekit-zend-init-ctor-call":"","constant.parsekit-zend-init-fcall-by-name":"","constant.parsekit-zend-init-method-call":"","constant.parsekit-zend-init-static-method-call":"","constant.parsekit-zend-init-string":"","constant.parsekit-zend-instanceof":"","constant.parsekit-zend-isset-isempty":"","constant.parsekit-zend-isset-isempty-dim-obj":"","constant.parsekit-zend-isset-isempty-prop-obj":"","constant.parsekit-zend-isset-isempty-var":"","constant.parsekit-zend-is-equal":"","constant.parsekit-zend-is-identical":"","constant.parsekit-zend-is-not-equal":"","constant.parsekit-zend-is-not-identical":"","constant.parsekit-zend-is-smaller":"","constant.parsekit-zend-is-smaller-or-equal":"","constant.parsekit-zend-jmp":"","constant.parsekit-zend-jmpnz":"","constant.parsekit-zend-jmpnz-ex":"","constant.parsekit-zend-jmpz":"","constant.parsekit-zend-jmpznz":"","constant.parsekit-zend-jmpz-ex":"","constant.parsekit-zend-jmp-no-ctor":"","constant.parsekit-zend-mod":"","constant.parsekit-zend-mul":"","constant.parsekit-zend-new":"","constant.parsekit-zend-nop":"","constant.parsekit-zend-op-data":"","constant.parsekit-zend-post-dec":"","constant.parsekit-zend-post-dec-obj":"","constant.parsekit-zend-post-inc":"","constant.parsekit-zend-post-inc-obj":"","constant.parsekit-zend-pre-dec":"","constant.parsekit-zend-pre-dec-obj":"","constant.parsekit-zend-pre-inc":"","constant.parsekit-zend-pre-inc-obj":"","constant.parsekit-zend-print":"","constant.parsekit-zend-qm-assign":"","constant.parsekit-zend-raise-abstract-error":"","constant.parsekit-zend-recv":"","constant.parsekit-zend-recv-init":"","constant.parsekit-zend-return":"","constant.parsekit-zend-send-ref":"","constant.parsekit-zend-send-val":"","constant.parsekit-zend-send-var":"","constant.parsekit-zend-send-var-no-ref":"","constant.parsekit-zend-sl":"","constant.parsekit-zend-sr":"","constant.parsekit-zend-sub":"","constant.parsekit-zend-switch-free":"","constant.parsekit-zend-throw":"","constant.parsekit-zend-ticks":"","constant.parsekit-zend-unset-dim-obj":"","constant.parsekit-zend-unset-var":"","constant.parsekit-zend-verify-abstract-class":"","parsekit.constants":"Predefined Constants","example-3786":"parsekit_compile_file example","function.parsekit-compile-file":"Compile a string of PHP code and return the resulting op array","example-3787":"parsekit_compile_string example","function.parsekit-compile-string":"Compile a string of PHP code and return the resulting op array","example-3788":"parsekit_func_arginfo example","function.parsekit-func-arginfo":"Return information regarding function argument(s)","ref.parsekit":"Parsekit Functions","book.parsekit":"Parsekit","intro.spl":"Introduction","spl.requirements":"Requirements","spl.installation":"Installation","spl.configuration":"Runtime Configuration","spl.resources":"Resource Types","spl.setup":"Installing\/Configuring","spl.constants":"Predefined Constants","spldoublylinkedlist.intro":"Introduction","spldoublylinkedlist.synopsis":"Class synopsis","spldoublylinkedlist.bottom":"Peeks at the node from the beginning of the doubly linked list","example-3789":"SplDoublyLinkedList::__construct example","spldoublylinkedlist.construct":"Constructs a new doubly linked list","spldoublylinkedlist.count":"Counts the number of elements in the doubly linked list.","spldoublylinkedlist.current":"Return current array entry","spldoublylinkedlist.getiteratormode":"Returns the mode of iteration","spldoublylinkedlist.isempty":"Checks whether the doubly linked list is empty.","spldoublylinkedlist.key":"Return current node index","spldoublylinkedlist.next":"Move to next entry","spldoublylinkedlist.offsetexists":"Returns whether the requested $index exists","spldoublylinkedlist.offsetget":"Returns the value at the specified $index","spldoublylinkedlist.offsetset":"Sets the value at the specified $index to $newval","spldoublylinkedlist.offsetunset":"Unsets the value at the specified $index","spldoublylinkedlist.pop":"Pops a node from the end of the doubly linked list","spldoublylinkedlist.prev":"Move to previous entry","spldoublylinkedlist.push":"Pushes an element at the end of the doubly linked list","spldoublylinkedlist.rewind":"Rewind iterator back to the start","spldoublylinkedlist.serialize":"Serializes the storage","spldoublylinkedlist.setiteratormode":"Sets the mode of iteration","spldoublylinkedlist.shift":"Shifts a node from the beginning of the doubly linked list","spldoublylinkedlist.top":"Peeks at the node from the end of the doubly linked list","spldoublylinkedlist.unserialize":"Unserializes the storage","spldoublylinkedlist.unshift":"Prepends the doubly linked list with an element","spldoublylinkedlist.valid":"Check whether the doubly linked list contains more nodes","class.spldoublylinkedlist":"The SplDoublyLinkedList class","splstack.intro":"Introduction","splstack.synopsis":"Class synopsis","example-3790":"SplStack::__construct example","splstack.construct":"Constructs a new stack implemented using a doubly linked list","splstack.setiteratormode":"Sets the mode of iteration","class.splstack":"The SplStack class","splqueue.intro":"Introduction","splqueue.synopsis":"Class synopsis","example-3791":"SplQueue::__construct example","example-3792":"Efficiently handling tasks with SplQueue","splqueue.construct":"Constructs a new queue implemented using a doubly linked list","splqueue.dequeue":"Dequeues a node from the queue","splqueue.enqueue":"Adds an element to the queue.","splqueue.setiteratormode":"Sets the mode of iteration","class.splqueue":"The SplQueue class","splheap.intro":"Introduction","splheap.synopsis":"Class synopsis","splheap.compare":"Compare elements in order to place them correctly in the heap while sifting up.","splheap.construct":"Constructs a new empty heap","splheap.count":"Counts the number of elements in the heap.","splheap.current":"Return current node pointed by the iterator","splheap.extract":"Extracts a node from top of the heap and sift up.","splheap.insert":"Inserts an element in the heap by sifting it up.","splheap.isempty":"Checks whether the heap is empty.","splheap.key":"Return current node index","splheap.next":"Move to the next node","splheap.recoverfromcorruption":"Recover from the corrupted state and allow further actions on the heap.","splheap.rewind":"Rewind iterator back to the start (no-op)","splheap.top":"Peeks at the node from the top of the heap","splheap.valid":"Check whether the heap contains more nodes","class.splheap":"The SplHeap class","splmaxheap.intro":"Introduction","splmaxheap.synopsis":"Class synopsis","splmaxheap.compare":"Compare elements in order to place them correctly in the heap while sifting up.","class.splmaxheap":"The SplMaxHeap class","splminheap.intro":"Introduction","splminheap.synopsis":"Class synopsis","splminheap.compare":"Compare elements in order to place them correctly in the heap while sifting up.","class.splminheap":"The SplMinHeap class","splpriorityqueue.intro":"Introduction","splpriorityqueue.synopsis":"Class synopsis","splpriorityqueue.compare":"Compare priorities in order to place elements correctly in the heap while sifting up.","splpriorityqueue.construct":"Constructs a new empty queue","splpriorityqueue.count":"Counts the number of elements in the queue.","splpriorityqueue.current":"Return current node pointed by the iterator","splpriorityqueue.extract":"Extracts a node from top of the heap and sift up.","splpriorityqueue.insert":"Inserts an element in the queue by sifting it up.","splpriorityqueue.isempty":"Checks whether the queue is empty.","splpriorityqueue.key":"Return current node index","splpriorityqueue.next":"Move to the next node","splpriorityqueue.recoverfromcorruption":"Recover from the corrupted state and allow further actions on the queue.","splpriorityqueue.rewind":"Rewind iterator back to the start (no-op)","splpriorityqueue.setextractflags":"Sets the mode of extraction","splpriorityqueue.top":"Peeks at the node from the top of the queue","splpriorityqueue.valid":"Check whether the queue contains more nodes","class.splpriorityqueue":"The SplPriorityQueue class","splfixedarray.intro":"Introduction","splfixedarray.synopsis":"Class synopsis","example-3793":"SplFixedArray usage example","splfixedarray.examples":"Examples","example-3794":"SplFixedArray::__construct example","splfixedarray.construct":"Constructs a new fixed array","example-3795":"SplFixedArray::count example","splfixedarray.count":"Returns the size of the array","splfixedarray.current":"Return current array entry","example-3796":"SplFixedArray::fromArray example","splfixedarray.fromarray":"Import a PHP array in a SplFixedArray instance","example-3797":"SplFixedArray::getSize example","splfixedarray.getsize":"Gets the size of the array","splfixedarray.key":"Return current array index","splfixedarray.next":"Move to next entry","splfixedarray.offsetexists":"Returns whether the requested index exists","splfixedarray.offsetget":"Returns the value at the specified index","splfixedarray.offsetset":"Sets a new value at a specified index","splfixedarray.offsetunset":"Unsets the value at the specified $index","splfixedarray.rewind":"Rewind iterator back to the start","example-3798":"SplFixedArray::setSize example","splfixedarray.setsize":"Change the size of an array","example-3799":"SplFixedArray::toArray example","splfixedarray.toarray":"Returns a PHP array from the fixed array","splfixedarray.valid":"Check whether the array contains more elements","splfixedarray.wakeup":"Reinitialises the array after being unserialised","class.splfixedarray":"The SplFixedArray class","splobjectstorage.intro":"Introduction","splobjectstorage.synopsis":"Class synopsis","example-3800":"SplObjectStorage as a set","example-3801":"SplObjectStorage as a map","splobjectstorage.examples":"Examples","example-3802":"SplObjectStorage::addAll example","splobjectstorage.addall":"Adds all objects from another storage","example-3803":"SplObjectStorage::attach example","splobjectstorage.attach":"Adds an object in the storage","example-3804":"SplObjectStorage::contains example","splobjectstorage.contains":"Checks if the storage contains a specific object","example-3805":"SplObjectStorage::count example","splobjectstorage.count":"Returns the number of objects in the storage","example-3806":"SplObjectStorage::current example","splobjectstorage.current":"Returns the current storage entry","example-3807":"SplObjectStorage::detach example","splobjectstorage.detach":"Removes an object from the storage","example-3808":"SplObjectStorage::getHash example","splobjectstorage.gethash":"Calculate a unique identifier for the contained objects","example-3809":"SplObjectStorage::getInfo example","splobjectstorage.getinfo":"Returns the data associated with the current iterator entry","example-3810":"SplObjectStorage::key example","splobjectstorage.key":"Returns the index at which the iterator currently is","example-3811":"SplObjectStorage::next example","splobjectstorage.next":"Move to the next entry","example-3812":"SplObjectStorage::offsetExists example","splobjectstorage.offsetexists":"Checks whether an object exists in the storage","example-3813":"SplObjectStorage::offsetGet example","splobjectstorage.offsetget":"Returns the data associated with an object","example-3814":"SplObjectStorage::offsetSet example","splobjectstorage.offsetset":"Associates data to an object in the storage","example-3815":"SplObjectStorage::offsetUnset example","splobjectstorage.offsetunset":"Removes an object from the storage","example-3816":"SplObjectStorage::removeAll example","splobjectstorage.removeall":"Removes objects contained in another storage from the current storage","example-3817":"SplObjectStorage::removeAllExcept example","splobjectstorage.removeallexcept":"Removes all objects except for those contained in another storage from the current storage","example-3818":"SplObjectStorage::rewind example","splobjectstorage.rewind":"Rewind the iterator to the first storage element","example-3819":"SplObjectStorage::serialize example","splobjectstorage.serialize":"Serializes the storage","example-3820":"SplObjectStorage::setInfo example","splobjectstorage.setinfo":"Sets the data associated with the current iterator entry","example-3821":"SplObjectStorage::unserialize example","splobjectstorage.unserialize":"Unserializes a storage from its string representation","example-3822":"SplObjectStorage::valid example","splobjectstorage.valid":"Returns if the current iterator entry is valid","class.splobjectstorage":"The SplObjectStorage class","spl.datastructures":"Datastructures","spl.iterators.tree":"SPL Iterators Class Tree","appenditerator.intro":"Introduction","appenditerator.synopsis":"Class synopsis","appenditerator.append.examples.basic":"AppendIterator::append example","appenditerator.append":"Appends an iterator","appenditerator.examples.foreach":"Iterating AppendIterator with foreach","appenditerator.examples.api":"Iterating AppendIterator with the AppendIterator API","appenditerator.construct":"Constructs an AppendIterator","appenditerator.current":"Gets the current value","appenditerator.getarrayiterator":"Gets the ArrayIterator","appenditerator.getinneriterator.examples.basic":"AppendIterator::getInnerIterator example","appenditerator.getinneriterator":"Gets the inner iterator","appenditerator.getiteratorindex.examples.basic":"AppendIterator.getIteratorIndex basic example","appenditerator.getiteratorindex":"Gets an index of iterators","appenditerator.key.examples.basic":"AppendIterator::key basic example","appenditerator.key":"Gets the current key","appenditerator.next":"Moves to the next element","appenditerator.rewind":"Rewinds the Iterator","appenditerator.valid":"Checks validity of the current element","class.appenditerator":"The AppendIterator class","arrayiterator.intro":"Introduction","arrayiterator.synopsis":"Class synopsis","arrayiterator.append":"Append an element","arrayiterator.asort":"Sort array by values","arrayiterator.construct":"Construct an ArrayIterator","arrayiterator.count":"Count elements","example-3829":"ArrayIterator::current example","arrayiterator.current":"Return current array entry","arrayiterator.getarraycopy":"Get array copy","arrayiterator.getflags":"Get flags","example-3830":"ArrayIterator::key example","arrayiterator.key":"Return current array key","arrayiterator.ksort":"Sort array by keys","arrayiterator.natcasesort":"Sort an array naturally, case insensitive","arrayiterator.natsort":"Sort an array naturally","example-3831":"ArrayIterator::next example","arrayiterator.next":"Move to next entry","arrayiterator.offsetexists":"Check if offset exists","arrayiterator.offsetget":"Get value for an offset","arrayiterator.offsetset":"Set value for an offset","arrayiterator.offsetunset":"Unset value for an offset","example-3832":"ArrayIterator::rewind example","arrayiterator.rewind":"Rewind array back to the start","arrayiterator.seek":"Seek to position","arrayiterator.serialize":"Serialize","arrayiterator.setflags":"Set behaviour flags","arrayiterator.uasort":"User defined sort","arrayiterator.uksort":"User defined sort","arrayiterator.unserialize":"Unserialize","example-3833":"ArrayIterator::valid example","arrayiterator.valid":"Check whether array contains more entries","class.arrayiterator":"The ArrayIterator class","cachingiterator.intro":"Introduction","cachingiterator.synopsis":"Class synopsis","cachingiterator.constants.call-tostring":"","cachingiterator.constants.catch-get-child":"","cachingiterator.constants.tostring-use-key":"","cachingiterator.constants.tostring-use-current":"","cachingiterator.constants.tostring-use-inner":"","cachingiterator.constants.full-cache":"","cachingiterator.constants":"Predefined Constants","cachingiterator.construct":"Construct a new CachingIterator object for the iterator.","cachingiterator.count":"The number of elements in the iterator","cachingiterator.current":"Return the current element","cachingiterator.getcache":"The getCache purpose","cachingiterator.getflags":"Get flags used","cachingiterator.getinneriterator":"Returns the inner iterator","cachingiterator.hasnext":"Check whether the inner iterator has a valid next element","cachingiterator.key":"Return the key for the current element","cachingiterator.next":"Move the iterator forward","cachingiterator.offsetexists":"The offsetExists purpose","cachingiterator.offsetget":"The offsetGet purpose","cachingiterator.offsetset":"The offsetSet purpose","cachingiterator.offsetunset":"The offsetUnset purpose","cachingiterator.rewind":"Rewind the iterator","cachingiterator.setflags":"The setFlags purpose","cachingiterator.tostring":"Return the string representation of the current element","cachingiterator.valid":"Check whether the current element is valid","class.cachingiterator":"The CachingIterator class","callbackfilteriterator.intro":"Introduction","callbackfilteriterator.synopsis":"Class synopsis","callbackfilteriterator.examples.args":"Available callback arguments","callbackfilteriterator.examples.basic":"Callback basic examples","callbackfilteriterator.examples":"Examples","callbackfilteriterator.accept":"Calls the callback with the current value, the current key and the inner iterator as arguments","callbackfilteriterator.construct":"Create a filtered iterator from another iterator","class.callbackfilteriterator":"The CallbackFilterIterator class","directoryiterator.intro":"Introduction","directoryiterator.synopsis":"Class synopsis","directoryiterator.changelog":"Changelog","example-3836":"A DirectoryIterator::__construct example","directoryiterator.construct":"Constructs a new directory iterator from a path","example-3837":"A DirectoryIterator::current example","directoryiterator.current":"Return the current DirectoryIterator item.","example-3838":"A DirectoryIterator::getATime example","directoryiterator.getatime":"Get last access time of the current DirectoryIterator item","example-3839":"A DirectoryIterator::getBasename example","directoryiterator.getbasename":"Get base name of current DirectoryIterator item.","example-3840":"DirectoryIterator::getCTime example","directoryiterator.getctime":"Get inode change time of the current DirectoryIterator item","example-3841":"DirectoryIterator::getExtension example","example-3842":"","directoryiterator.getextension":"Gets the file extension","example-3843":"A DirectoryIterator::getFilename example","directoryiterator.getfilename":"Return file name of current DirectoryIterator item.","example-3844":"DirectoryIterator::getGroup example","directoryiterator.getgroup":"Get group for the current DirectoryIterator item","example-3845":"DirectoryIterator::getInode example","directoryiterator.getinode":"Get inode for the current DirectoryIterator item","example-3846":"A DirectoryIterator::getMTime example","directoryiterator.getmtime":"Get last modification time of current DirectoryIterator item","example-3847":"DirectoryIterator::getOwner example","directoryiterator.getowner":"Get owner of current DirectoryIterator item","example-3848":"DirectoryIterator::getPath example","directoryiterator.getpath":"Get path of current Iterator item without filename","example-3849":"DirectoryIterator::getPathname example","directoryiterator.getpathname":"Return path and file name of current DirectoryIterator item","example-3850":"DirectoryIterator::getPerms example","directoryiterator.getperms":"Get the permissions of current DirectoryIterator item","example-3851":"DirectoryIterator::getSize example","directoryiterator.getsize":"Get size of current DirectoryIterator item","example-3852":"DirectoryIterator::getType example","directoryiterator.gettype":"Determine the type of the current DirectoryIterator item","example-3853":"DirectoryIterator::isDir example","directoryiterator.isdir":"Determine if current DirectoryIterator item is a directory","example-3854":"A DirectoryIterator::isDot example","directoryiterator.isdot":"Determine if current DirectoryIterator item is '.' or '..'","example-3855":"DirectoryIterator::isExecutable example","directoryiterator.isexecutable":"Determine if current DirectoryIterator item is executable","example-3856":"DirectoryIterator::isFile example","directoryiterator.isfile":"Determine if current DirectoryIterator item is a regular file","example-3857":"A DirectoryIterator::isLink example","directoryiterator.islink":"Determine if current DirectoryIterator item is a symbolic link","example-3858":"DirectoryIterator::isReadable example","directoryiterator.isreadable":"Determine if current DirectoryIterator item can be read","example-3859":"DirectoryIterator::isWritable example","directoryiterator.iswritable":"Determine if current DirectoryIterator item can be written to","example-3860":"A DirectoryIterator::key example","directoryiterator.key":"Return the key for the current DirectoryIterator item","example-3861":"DirectoryIterator::next example","directoryiterator.next":"Move forward to next DirectoryIterator item","example-3862":"DirectoryIterator::rewind example","directoryiterator.rewind":"Rewind the DirectoryIterator back to the start","example-3863":"DirectoryIterator::seek example","directoryiterator.seek":"Seek to a DirectoryIterator item","example-3864":"A DirectoryIterator::__toString example","directoryiterator.tostring":"Get file name as a string","example-3865":"A DirectoryIterator::valid example","directoryiterator.valid":"Check whether current DirectoryIterator position is a valid file","class.directoryiterator":"The DirectoryIterator class","emptyiterator.intro":"Introduction","emptyiterator.synopsis":"Class synopsis","emptyiterator.current":"The current() method","emptyiterator.key":"The key() method","emptyiterator.next":"The next() method","emptyiterator.rewind":"The rewind() method","emptyiterator.valid":"The valid() method","class.emptyiterator":"The EmptyIterator class","filesystemiterator.intro":"Introduction","filesystemiterator.synopsis":"Class synopsis","filesystemiterator.constants.current-as-pathname":"","filesystemiterator.constants.current-as-fileinfo":"","filesystemiterator.constants.current-as-self":"","filesystemiterator.constants.current-mode-mask":"","filesystemiterator.constants.key-as-pathname":"","filesystemiterator.constants.key-as-filename":"","filesystemiterator.constants.follow-symlinks":"","filesystemiterator.constants.key-mode-mask":"","filesystemiterator.constants.new-current-and-key":"","filesystemiterator.constants.skip-dots":"","filesystemiterator.constants.unix-paths":"","filesystemiterator.constants":"Predefined Constants","example-3866":"FilesystemIterator::__construct example","filesystemiterator.construct":"Constructs a new filesystem iterator","example-3867":"FilesystemIterator::current example","filesystemiterator.current":"The current file","filesystemiterator.getflags":"Get the handling flags","example-3868":"FilesystemIterator::key example","filesystemiterator.key":"Retrieve the key for the current file","example-3869":"FilesystemIterator::next example","filesystemiterator.next":"Move to the next file","example-3870":"FilesystemIterator::rewind example","filesystemiterator.rewind":"Rewinds back to the beginning","example-3871":"FilesystemIterator::key example","filesystemiterator.setflags":"Sets handling flags","class.filesystemiterator":"The FilesystemIterator class","filteriterator.intro":"Introduction","filteriterator.synopsis":"Class synopsis","example-3872":"FilterIterator::accept example","filteriterator.accept":"Check whether the current element of the iterator is acceptable","filteriterator.construct":"Construct a filterIterator","filteriterator.current":"Get the current element value","filteriterator.getinneriterator":"Get the inner iterator","filteriterator.key":"Get the current key","filteriterator.next":"Move the iterator forward","filteriterator.rewind":"Rewind the iterator","filteriterator.valid":"Check whether the current element is valid","class.filteriterator":"The FilterIterator class","globiterator.intro":"Introduction","globiterator.synopsis":"Class synopsis","example-3873":"GlobIterator example","globiterator.construct":"Construct a directory using glob","example-3874":"GlobIterator::count example","globiterator.count":"Get the number of directories and files","class.globiterator":"The GlobIterator class","infiniteiterator.intro":"Introduction","infiniteiterator.synopsis":"Class synopsis","example-3875":"InfiniteIterator::__construct example","infiniteiterator.construct":"Constructs an InfiniteIterator","infiniteiterator.next":"Moves the inner Iterator forward or rewinds it","class.infiniteiterator":"The InfiniteIterator class","iteratoriterator.intro":"Introduction","iteratoriterator.synopsis":"Class synopsis","iteratoriterator.construct":"Create an iterator from anything that is traversable","iteratoriterator.current":"Get the current value","iteratoriterator.getinneriterator":"Get the inner iterator","iteratoriterator.key":"Get the key of the current element","iteratoriterator.next":"Forward to the next element","iteratoriterator.rewind":"Rewind to the first element","iteratoriterator.valid":"Checks if the iterator is valid","class.iteratoriterator":"The IteratorIterator class","limititerator.intro":"Introduction","limititerator.synopsis":"Class synopsis","example-3876":"LimitIterator usage example","limititerator.examples":"Examples","example-3877":"LimitIterator::__construct example","limititerator.construct":"Construct a LimitIterator","limititerator.current":"Get current element","limititerator.getinneriterator":"Get inner iterator","example-3878":"LimitIterator::getPosition example","limititerator.getposition":"Return the current position","limititerator.key":"Get current key","limititerator.next":"Move the iterator forward","limititerator.rewind":"Rewind the iterator to the specified starting offset","limititerator.seek":"Seek to the given position","limititerator.valid":"Check whether the current element is valid","class.limititerator":"The LimitIterator class","multipleiterator.intro":"Introduction","multipleiterator.synopsis":"Class synopsis","multipleiterator.constants.mit-need-any":"","multipleiterator.constants.mit-need-all":"","multipleiterator.constants.mit-keys-numeric":"","multipleiterator.constants.mit-keys-assoc":"","multipleiterator.constants":"Predefined Constants","multipleiterator.attachiterator":"Attaches iterator information","multipleiterator.examples.basic.1":"","multipleiterator.examples.basic.2":"","multipleiterator.examples.basic.3":"","multipleiterator.examples.basic.4":"","multipleiterator.example.basic":"Iterating a MultipleIterator","multipleiterator.construct":"Constructs a new MultipleIterator","multipleiterator.containsiterator":"Checks if an iterator is attached","multipleiterator.countiterators":"Gets the number of attached iterator instances","multipleiterator.current":"Gets the registered iterator instances","multipleiterator.detachiterator":"Detaches an iterator","multipleiterator.getflags":"Gets the flag information","multipleiterator.key":"Gets the registered iterator instances","multipleiterator.next":"Moves all attached iterator instances forward","multipleiterator.rewind":"Rewinds all attached iterator instances","multipleiterator.setflags":"Sets flags","multipleiterator.valid":"Checks the validity of sub iterators","class.multipleiterator":"The MultipleIterator class","norewinditerator.intro":"Introduction","norewinditerator.synopsis":"Class synopsis","example-3880":"NoRewindIterator::__construct example","norewinditerator.construct":"Construct a NoRewindIterator","norewinditerator.current":"Get the current value","norewinditerator.getinneriterator":"Get the inner iterator","norewinditerator.key":"Get the current key","norewinditerator.next":"Forward to the next element","example-3881":"NoRewindIterator::rewind example","norewinditerator.rewind":"Prevents the rewind operation on the inner iterator.","norewinditerator.valid":"Validates the iterator","class.norewinditerator":"The NoRewindIterator class","parentiterator.intro":"Introduction","parentiterator.synopsis":"Class synopsis","parentiterator.accept":"Determines acceptability","parentiterator.construct":"Constructs a ParentIterator","parentiterator.getchildren":"Return the inner iterator's children contained in a ParentIterator","parentiterator.haschildren":"Check whether the inner iterator's current element has children","parentiterator.next":"Move the iterator forward","parentiterator.rewind":"Rewind the iterator","class.parentiterator":"The ParentIterator class","recursivearrayiterator.intro":"Introduction","recursivearrayiterator.synopsis":"Class synopsis","example-3882":"RecursiveArrayIterator::getChildren example","recursivearrayiterator.getchildren":"Returns an iterator for the current entry if it is an array or an object.","example-3883":"RecursiveArrayIterator::hasChildren example","recursivearrayiterator.haschildren":"Returns whether current entry is an array or an object.","class.recursivearrayiterator":"The RecursiveArrayIterator class","recursivecachingiterator.intro":"Introduction","recursivecachingiterator.synopsis":"Class synopsis","recursivecachingiterator.construct":"Construct","recursivecachingiterator.getchildren":"Return the inner iterator's children as a RecursiveCachingIterator","recursivecachingiterator.haschildren":"Check whether the current element of the inner iterator has children","class.recursivecachingiterator":"The RecursiveCachingIterator class","recursivecallbackfilteriterator.intro":"Introduction","recursivecallbackfilteriterator.synopsis":"Class synopsis","recursivecallbackfilteriterator.examples.args":"Available callback arguments","recursivecallbackfilteriterator.examples.basic":"Recursive callback basic example","recursivecallbackfilteriterator.examples":"Examples","recursivecallbackfilteriterator.construct":"Create a RecursiveCallbackFilterIterator from a RecursiveIterator","recursivecallbackfilteriterator.getchildren":"Return the inner iterator's children contained in a RecursiveCallbackFilterIterator","recursivecallbackfilteriterator.haschildren.examples.basic":"RecursiveCallbackFilterIterator::hasChildren basic usage","recursivecallbackfilteriterator.haschildren":"Check whether the inner iterator's current element has children","class.recursivecallbackfilteriterator":"The RecursiveCallbackFilterIterator class","recursivedirectoryiterator.intro":"Introduction","recursivedirectoryiterator.synopsis":"Class synopsis","example-3887":"RecursiveDirectoryIterator example","recursivedirectoryiterator.construct":"Constructs a RecursiveDirectoryIterator","recursivedirectoryiterator.getchildren":"Returns an iterator for the current entry if it is a directory","recursivedirectoryiterator.getsubpath":"Get sub path","recursivedirectoryiterator.getsubpathname":"Get sub path and name","recursivedirectoryiterator.haschildren":"Returns whether current entry is a directory and not '.' or '..'","recursivedirectoryiterator.key":"Return path and filename of current dir entry","recursivedirectoryiterator.next":"Move to next entry","recursivedirectoryiterator.rewind":"Rewind dir back to the start","class.recursivedirectoryiterator":"The RecursiveDirectoryIterator class","recursivefilteriterator.intro":"Introduction","recursivefilteriterator.synopsis":"Class synopsis","example-3888":"Basic RecursiveFilterIterator example","example-3889":"RecursiveFilterIterator example","recursivefilteriterator.construct":"Create a RecursiveFilterIterator from a RecursiveIterator","recursivefilteriterator.getchildren":"Return the inner iterator's children contained in a RecursiveFilterIterator","recursivefilteriterator.haschildren":"Check whether the inner iterator's current element has children","class.recursivefilteriterator":"The RecursiveFilterIterator class","recursiveiteratoriterator.intro":"Introduction","recursiveiteratoriterator.synopsis":"Class synopsis","recursiveiteratoriterator.constants.leaves-only":"","recursiveiteratoriterator.constants.self-first":"","recursiveiteratoriterator.constants.child-first":"","recursiveiteratoriterator.constants.catch-get-child":"","recursiveiteratoriterator.constants":"Predefined Constants","recursiveiteratoriterator.beginchildren":"Begin children","recursiveiteratoriterator.beginiteration":"Begin Iteration","recursiveiteratoriterator.callgetchildren":"Get children","recursiveiteratoriterator.callhaschildren":"Has children","recursiveiteratoriterator.examples.basic.leaves-only":"","recursiveiteratoriterator.examples.basic.self-first":"","recursiveiteratoriterator.examples.basic.child-first":"","recursiveiteratoriterator.example.basic":"Iterating a RecursiveIteratorIterator","recursiveiteratoriterator.construct":"Construct a RecursiveIteratorIterator","recursiveiteratoriterator.current":"Access the current element value","recursiveiteratoriterator.endchildren":"End children","recursiveiteratoriterator.enditeration":"End Iteration","recursiveiteratoriterator.getdepth":"Get the current depth of the recursive iteration","recursiveiteratoriterator.getinneriterator":"Get inner iterator","recursiveiteratoriterator.getmaxdepth":"Get max depth","recursiveiteratoriterator.getsubiterator":"The current active sub iterator","recursiveiteratoriterator.key":"Access the current key","recursiveiteratoriterator.next":"Move forward to the next element","recursiveiteratoriterator.nextelement":"Next element","recursiveiteratoriterator.rewind":"Rewind the iterator to the first element of the top level inner iterator","recursiveiteratoriterator.setmaxdepth":"Set max depth","recursiveiteratoriterator.valid":"Check whether the current position is valid","class.recursiveiteratoriterator":"The RecursiveIteratorIterator class","recursiveregexiterator.intro":"Introduction","recursiveregexiterator.synopsis":"Class synopsis","example-3891":"RecursiveRegexIterator::__construct example","recursiveregexiterator.construct":"Creates a new RecursiveRegexIterator.","example-3892":"RecursiveRegexIterator::getChildren example","recursiveregexiterator.getchildren":"Returns an iterator for the current entry.","example-3893":"RecursiveRegexIterator::hasChildren example","recursiveregexiterator.haschildren":"Returns whether an iterator can be obtained for the current entry.","class.recursiveregexiterator":"The RecursiveRegexIterator class","recursivetreeiterator.intro":"Introduction","recursivetreeiterator.synopsis":"Class synopsis","recursivetreeiterator.constants.bypass-current":"","recursivetreeiterator.constants.bypass-key":"","recursivetreeiterator.constants.prefix-left":"","recursivetreeiterator.constants.prefix-mid-has-next":"","recursivetreeiterator.constants.prefix-mid-last":"","recursivetreeiterator.constants.prefix-end-has-next":"","recursivetreeiterator.constants.prefix-end-last":"","recursivetreeiterator.constants.prefix-right":"","recursivetreeiterator.constants":"Predefined Constants","recursivetreeiterator.beginchildren":"Begin children","recursivetreeiterator.beginiteration":"Begin iteration","recursivetreeiterator.callgetchildren":"Get children","recursivetreeiterator.callhaschildren":"Has children","recursivetreeiterator.construct":"Construct a RecursiveTreeIterator","recursivetreeiterator.current":"Get current element","recursivetreeiterator.endchildren":"End children","recursivetreeiterator.enditeration":"End iteration","recursivetreeiterator.getentry":"Get current entry","recursivetreeiterator.getpostfix":"Get the postfix","recursivetreeiterator.getprefix":"Get the prefix","recursivetreeiterator.key":"Get the key of the current element","recursivetreeiterator.next":"Move to next element","recursivetreeiterator.nextelement":"Next element","recursivetreeiterator.rewind":"Rewind iterator","recursivetreeiterator.setprefixpart":"Set a part of the prefix","recursivetreeiterator.valid":"Check validity","class.recursivetreeiterator":"The RecursiveTreeIterator class","regexiterator.intro":"Introduction","regexiterator.synopsis":"Class synopsis","regexiterator.constants.all-matches":"","regexiterator.constants.get-match":"","regexiterator.constants.match":"","regexiterator.constants.replace":"","regexiterator.constants.split":"","regexiterator.constants.operation-modes":"RegexIterator operation modes","regexiterator.constants.use-key":"","regexiterator.constants.flags":"RegexIterator Flags","regexiterator.constants":"Predefined Constants","regexiterator.accept.example.basic":"RegexIterator::accept example","regexiterator.accept":"Get accept status","example-3895":"RegexIterator::__construct example","regexiterator.construct":"Create a new RegexIterator","regexiterator.getflags.example.basic":"RegexIterator::getFlags example","regexiterator.getflags":"Get flags","regexiterator.getmode.example.basic":"RegexIterator::getMode example","regexiterator.getmode":"Returns operation mode.","regexiterator.getpregflags.example.basic":"RegexIterator::getPregFlags example","regexiterator.getpregflags":"Returns the regular expression flags.","regexiterator.getregex":"Returns current regular expression","regexiterator.setflags.example.basic":"RegexIterator::setFlags example","regexiterator.setflags":"Sets the flags.","regexiterator.setmode.example.basic":"RegexIterator::setMode example","regexiterator.setmode":"Sets the operation mode.","regexiterator.setpregflags.example.basic":"RegexIterator::setPregFlags example","regexiterator.setpregflags":"Sets the regular expression flags.","class.regexiterator":"The RegexIterator class","spl.iterators":"Iterators","spl.interfaces.list":"Interface list","countable.intro":"Introduction","countable.synopsis":"Interface synopsis","example-3902":"Countable::count example","countable.count":"Count elements of an object","class.countable":"The Countable interface","outeriterator.intro":"Introduction","outeriterator.synopsis":"Interface synopsis","outeriterator.getinneriterator":"Returns the inner iterator for the current entry.","class.outeriterator":"The OuterIterator interface","recursiveiterator.intro":"Introduction","recursiveiterator.synopsis":"Interface synopsis","recursiveiterator.getchildren":"Returns an iterator for the current entry.","recursiveiterator.haschildren":"Returns if an iterator can be created fot the current entry.","class.recursiveiterator":"The RecursiveIterator interface","seekableiterator.intro":"Introduction","seekableiterator.synopsis":"Interface synopsis","seekableiterator.examples.basic":"Basic usage","seekableiterator.examples":"","example-3904":"SeekableIterator::seek example","seekableiterator.seek":"Seeks to a position","class.seekableiterator":"The SeekableIterator interface","spl.interfaces":"Interfaces","spl.exceptions.tree":"SPL Exceptions Class Tree","badfunctioncallexception.intro":"Introduction","badfunctioncallexception.synopsis":"Class synopsis","class.badfunctioncallexception":"The BadFunctionCallException class","badmethodcallexception.intro":"Introduction","badmethodcallexception.synopsis":"Class synopsis","class.badmethodcallexception":"The BadMethodCallException class","domainexception.intro":"Introduction","domainexception.synopsis":"Class synopsis","class.domainexception":"The DomainException class","invalidargumentexception.intro":"Introduction","invalidargumentexception.synopsis":"Class synopsis","class.invalidargumentexception":"The InvalidArgumentException class","lengthexception.intro":"Introduction","lengthexception.synopsis":"Class synopsis","class.lengthexception":"The LengthException class","logicexception.intro":"Introduction","logicexception.synopsis":"Class synopsis","class.logicexception":"The LogicException class","outofboundsexception.intro":"Introduction","outofboundsexception.synopsis":"Class synopsis","class.outofboundsexception":"The OutOfBoundsException class","outofrangeexception.intro":"Introduction","outofrangeexception.synopsis":"Class synopsis","class.outofrangeexception":"The OutOfRangeException class","overflowexception.intro":"Introduction","overflowexception.synopsis":"Class synopsis","class.overflowexception":"The OverflowException class","rangeexception.intro":"Introduction","rangeexception.synopsis":"Class synopsis","class.rangeexception":"The RangeException class","runtimeexception.intro":"Introduction","runtimeexception.synopsis":"Class synopsis","class.runtimeexception":"The RuntimeException class","underflowexception.intro":"Introduction","underflowexception.synopsis":"Class synopsis","class.underflowexception":"The UnderflowException class","unexpectedvalueexception.intro":"Introduction","unexpectedvalueexception.synopsis":"Class synopsis","class.unexpectedvalueexception":"The UnexpectedValueException class","spl.exceptions":"Exceptions","example-3905":"class_implements example","function.class-implements":"Return the interfaces which are implemented by the given class","example-3906":"class_parents example","function.class-parents":"Return the parent classes of the given class","example-3907":"class_uses example","function.class-uses":"Return the traits used by the given class","example-3908":"iterator_apply example","function.iterator-apply":"Call a function for every element in an iterator","example-3909":"iterator_count example","function.iterator-count":"Count the elements in an iterator","example-3910":"iterator_to_array example","function.iterator-to-array":"Copy the iterator into an array","function.spl-autoload-call":"Try all registered __autoload() function to load the requested class","function.spl-autoload-extensions":"Register and return default file extensions for spl_autoload","function.spl-autoload-functions":"Return all registered __autoload() functions","example-3911":"spl_autoload_register as a replacement for an __autoload function","example-3912":"spl_autoload_register example where the class is not loaded","function.spl-autoload-register":"Register given function as __autoload() implementation","function.spl-autoload-unregister":"Unregister given function as __autoload() implementation","function.spl-autoload":"Default implementation for __autoload()","example-3913":"spl_classes example","function.spl-classes":"Return available SPL classes","example-3914":"A spl_object_hash example","function.spl-object-hash":"Return hash id for given object","ref.spl":"SPL Functions","splfileinfo.intro":"Introduction","splfileinfo.synopsis":"Class synopsis","example-3915":"SplFileInfo::__construct example","splfileinfo.construct":"Construct a new SplFileInfo object","splfileinfo.getatime":"Gets last access time of the file","example-3916":"SplFileInfo::getBasename example","splfileinfo.getbasename":"Gets the base name of the file","example-3917":"SplFileInfo::getCTime example","splfileinfo.getctime":"Gets the inode change time","example-3918":"SplFileInfo::getExtension example","example-3919":"","splfileinfo.getextension":"Gets the file extension","splfileinfo.getfileinfo":"Gets an SplFileInfo object for the file","example-3920":"SplFileInfo::getFilename example","splfileinfo.getfilename":"Gets the filename","example-3921":"SplFileInfo::getGroup example","splfileinfo.getgroup":"Gets the file group","splfileinfo.getinode":"Gets the inode for the file","example-3922":"SplFileInfo::getLinkTarget example","splfileinfo.getlinktarget":"Gets the target of a link","splfileinfo.getmtime":"Gets the last modified time","example-3923":"SplFileInfo::getOwner example","splfileinfo.getowner":"Gets the owner of the file","example-3924":"SplFileInfo::getPath example","splfileinfo.getpath":"Gets the path without filename","example-3925":"SplFileInfo::getPathInfo example","splfileinfo.getpathinfo":"Gets an SplFileInfo object for the path","example-3926":"SplFileInfo::getPathname example","splfileinfo.getpathname":"Gets the path to the file","example-3927":"SplFileInfo::getPerms example","splfileinfo.getperms":"Gets file permissions","example-3928":"SplFileInfo::getRealPath example","splfileinfo.getrealpath":"Gets absolute path to file","splfileinfo.getsize":"Gets file size","example-3929":"SplFileInfo::getType example","splfileinfo.gettype":"Gets file type","example-3930":"SplFileInfo::isDir example","splfileinfo.isdir":"Tells if the file is a directory","example-3931":"SplFileInfo::isExecutable example","splfileinfo.isexecutable":"Tells if the file is executable","example-3932":"SplFileInfo::isFile example","splfileinfo.isfile":"Tells if the object references a regular file","example-3933":"SplFileInfo::isLink example","splfileinfo.islink":"Tells if the file is a link","example-3934":"SplFileInfo::isReadable example","splfileinfo.isreadable":"Tells if file is readable","splfileinfo.iswritable":"Tells if the entry is writable","example-3935":"SplFileInfo::openFile example","splfileinfo.openfile":"Gets an SplFileObject object for the file","example-3936":"SplFileInfo::setFileClass example","splfileinfo.setfileclass":"Sets the class name used with SplFileInfo::openFile","example-3937":"SplFileInfo::setFileClass example","splfileinfo.setinfoclass":"Sets the class used with getFileInfo and getPathInfo","example-3938":"SplFileInfo::__toString example","splfileinfo.tostring":"Returns the path to the file as a string","class.splfileinfo":"The SplFileInfo class","splfileobject.intro":"Introduction","splfileobject.synopsis":"Class synopsis","splfileobject.constants.drop-new-line":"","splfileobject.constants.read-ahead":"","splfileobject.constants.skip-empty":"","splfileobject.constants.read-csv":"","splfileobject.constants":"Predefined Constants","example-3939":"SplFileObject::__construct example","splfileobject.construct":"Construct a new file object.","example-3940":"SplFileObject::current example","splfileobject.current":"Retrieve current line of file","example-3941":"SplFileObject::eof example","splfileobject.eof":"Reached end of file","example-3942":"SplFileObject::fflush example","splfileobject.fflush":"Flushes the output to the file","example-3943":"SplFileObject::fgetc example","splfileobject.fgetc":"Gets character from file","example-3944":"SplFileObject::fgetcsv example","example-3945":"SplFileObject::READ_CSV example","splfileobject.fgetcsv":"Gets line from file and parse as CSV fields","example-3946":"SplFileObject::fgets example","splfileobject.fgets":"Gets line from file","example-3947":"SplFileObject::fgetss example","splfileobject.fgetss":"Gets line from file and strip HTML tags","example-3948":"SplFileObject::flock example","splfileobject.flock":"Portable file locking","example-3949":"SplFileObject::fpassthru example","splfileobject.fpassthru":"Output all remaining data on a file pointer","splfileobject.fputcsv.examples.basic":"SplFileObject::fputcsv example","splfileobject.fputcsv":"Write a field array as a CSV line","example-3951":"SplFileObject::fscanf example","splfileobject.fscanf":"Parses input from file according to a format","example-3952":"SplFileObject::fseek example","splfileobject.fseek":"Seek to a position","example-3953":"SplFileObject::fstat example","splfileobject.fstat":"Gets information about the file","example-3954":"SplFileObject::ftell example","splfileobject.ftell":"Return current file position","example-3955":"SplFileObject::ftruncate example","splfileobject.ftruncate":"Truncates the file to a given length","example-3956":"SplFileObject::fwrite example","splfileobject.fwrite":"Write to file","splfileobject.getchildren":"No purpose","example-3957":"SplFileObject::getCsvControl example","splfileobject.getcsvcontrol":"Get the delimiter and enclosure character for CSV","splfileobject.getcurrentline":"Alias of SplFileObject::fgets","example-3958":"SplFileObject::getFlags example","splfileobject.getflags":"Gets flags for the SplFileObject","example-3959":"SplFileObject::getMaxLineLen example","splfileobject.getmaxlinelen":"Get maximum line length","splfileobject.haschildren":"SplFileObject does not have children","example-3960":"SplFileObject::key example","example-3961":"SplFileObject::key example with SplFileObject::setMaxLineLen","splfileobject.key":"Get line number","example-3962":"SplFileObject::next example","splfileobject.next":"Read next line","example-3963":"SplFileObject::rewind example","splfileobject.rewind":"Rewind the file to the first line","example-3964":"SplFileObject::seek example","splfileobject.seek":"Seek to specified line","example-3965":"SplFileObject::setCsvControl example","splfileobject.setcsvcontrol":"Set the delimiter and enclosure character for CSV","example-3966":"SplFileObject::setFlags example","splfileobject.setflags":"Sets flags for the SplFileObject","example-3967":"SplFileObject::setMaxLineLen example","splfileobject.setmaxlinelen":"Set maximum line length","splfileobject.tostring":"Alias of SplFileObject::current","example-3968":"SplFileObject::valid example","splfileobject.valid":"Not at EOF","class.splfileobject":"The SplFileObject class","spltempfileobject.intro":"Introduction","spltempfileobject.synopsis":"Class synopsis","example-3969":"SplTempFileObject example","spltempfileobject.construct":"Construct a new temporary file object","class.spltempfileobject":"The SplTempFileObject class","spl.files":"File Handling","arrayobject.intro":"Introduction","arrayobject.synopsis":"Class synopsis","arrayobject.constants.std-prop-list":"","arrayobject.constants.array-as-props":"","arrayobject.constants.flags":"ArrayObject Flags","arrayobject.constants":"Predefined Constants","example-3970":"ArrayObject::append example","arrayobject.append":"Appends the value","example-3971":"ArrayObject::asort example","arrayobject.asort":"Sort the entries by value","example-3972":"ArrayObject::__construct example","arrayobject.construct":"Construct a new array object","example-3973":"ArrayObject::count example","arrayobject.count":"Get the number of public properties in the ArrayObject","example-3974":"ArrayObject::exchangeArray example","arrayobject.exchangearray":"Exchange the array for another one.","example-3975":"ArrayObject::getArrayCopy example","arrayobject.getarraycopy":"Creates a copy of the ArrayObject.","example-3976":"ArrayObject::getFlags example","arrayobject.getflags":"Gets the behavior flags.","example-3977":"ArrayObject::getIterator example","arrayobject.getiterator":"Create a new iterator from an ArrayObject instance","example-3978":"ArrayObject::getIteratorClass example","arrayobject.getiteratorclass":"Gets the iterator classname for the ArrayObject.","example-3979":"ArrayObject::ksort example","arrayobject.ksort":"Sort the entries by key","example-3980":"ArrayObject::natcasesort example","arrayobject.natcasesort":"Sort an array using a case insensitive "natural order" algorithm","example-3981":"ArrayObject::natsort example","arrayobject.natsort":"Sort entries using a "natural order" algorithm","example-3982":"ArrayObject::offsetExists example","arrayobject.offsetexists":"Returns whether the requested index exists","example-3983":"ArrayObject::offsetGet example","arrayobject.offsetget":"Returns the value at the specified index","example-3984":"ArrayObject::offsetSet example","arrayobject.offsetset":"Sets the value at the specified index to newval","example-3985":"ArrayObject::offsetUnset example","arrayobject.offsetunset":"Unsets the value at the specified index","example-3986":"ArrayObject::serialize example","arrayobject.serialize":"Serialize an ArrayObject","example-3987":"ArrayObject::setFlags example","arrayobject.setflags":"Sets the behavior flags.","example-3988":"ArrayObject::setIteratorClass example","arrayobject.setiteratorclass":"Sets the iterator classname for the ArrayObject.","example-3989":"ArrayObject::uasort example","arrayobject.uasort":"Sort the entries with a user-defined comparison function and maintain key association","example-3990":"ArrayObject::uksort example","arrayobject.uksort":"Sort the entries by keys using a user-defined comparison function","arrayobject.unserialize":"Unserialize an ArrayObject","class.arrayobject":"The ArrayObject class","splobserver.intro":"Introduction","splobserver.synopsis":"Interface synopsis","splobserver.update":"Receive update from subject","class.splobserver":"The SplObserver interface","splsubject.intro":"Introduction","splsubject.synopsis":"Interface synopsis","splsubject.attach":"Attach an SplObserver","splsubject.detach":"Detach an observer","splsubject.notify":"Notify an observer","class.splsubject":"The SplSubject interface","spl.misc":"Miscellaneous Classes and Interfaces","book.spl":"Standard PHP Library (SPL)","intro.spl-types":"Introduction","spl-types.requirements":"Requirements","spl-types.installation":"Installation","spl-types.configuration":"Runtime Configuration","spl-types.resources":"Resource Types","spl-types.setup":"Installing\/Configuring","spltype.intro":"Introduction","spltype.synopsis":"Class synopsis","spltype.constants.default":"","spltype.constants":"Predefined Constants","spltype.construct":"Creates a new value of some type","class.spltype":"The SplType class","splint.intro":"Introduction","splint.synopsis":"Class synopsis","splint.constants.default":"","splint.constants":"Predefined Constants","example-3991":"SplInt usage example","splint.examples":"Examples","class.splint":"The SplInt class","splfloat.intro":"Introduction","splfloat.synopsis":"Class synopsis","splfloat.constants.default":"","splfloat.constants":"Predefined Constants","example-3992":"SplFloat usage example","splfloat.examples":"Examples","class.splfloat":"The SplFloat class","splenum.intro":"Introduction","splenum.synopsis":"Class synopsis","splenum.constants.default":"","splenum.constants":"Predefined Constants","example-3993":"SplEnum usage example","splenum.examples":"Examples","example-3994":"SplEnum::getConstList example","splenum.getconstlist":"Returns all consts (possible values) as an array.","class.splenum":"The SplEnum class","splbool.intro":"Introduction","splbool.synopsis":"Class synopsis","splbool.constants.default":"","splbool.constants.false":"","splbool.constants.true":"","splbool.constants":"Predefined Constants","example-3995":"SplBool usage example","splbool.examples":"Examples","class.splbool":"The SplBool class","splstring.intro":"Introduction","splstring.synopsis":"Class synopsis","splstring.constants.default":"","splstring.constants":"Predefined Constants","example-3996":"SplString usage example","splstring.examples":"Examples","class.splstring":"The SplString class","book.spl-types":"SPL Type Handling","intro.stream":"Introduction","stream.requirements":"Requirements","stream.installation":"Installation","stream.configuration":"Runtime Configuration","stream.resources":"Stream Classes","stream.setup":"Installing\/Configuring","stream.constants":"Predefined Constants","stream.filters":"Stream Filters","stream.contexts":"Stream Contexts","stream.errors":"Stream Errors","example-3997":"Using file_get_contents\n to retrieve data from multiple sources","example-3998":"Making a POST request to an https server","example-3999":"Writing data to a compressed file","example-4000":"A Stream for reading\/writing global variables","stream.streamwrapper.example-1":"Example class registered as stream wrapper","stream.examples":"Examples","php-user-filter.intro":"Introduction","php-user-filter.synopsis":"Class synopsis","php-user-filter.props.filtername":"","php-user-filter.props.params":"","php-user-filter.props":"Properties","php-user-filter.filter":"Called when applying the filter","php-user-filter.onclose":"Called when closing the filter","php-user-filter.oncreate":"Called when creating the filter","class.php-user-filter":"The php_user_filter class","streamwrapper.intro":"Introduction","streamwrapper.synopsis":"Class synopsis","streamwrapper.props.context":"","streamwrapper.props":"Properties","streamwrapper.construct":"Constructs a new stream wrapper","streamwrapper.destruct":"Destructs an existing stream wrapper","streamwrapper.dir-closedir":"Close directory handle","streamwrapper.dir-opendir":"Open directory handle","example-4001":"Listing files from tar archives","streamwrapper.dir-readdir":"Read entry from directory handle","streamwrapper.dir-rewinddir":"Rewind directory handle","streamwrapper.mkdir":"Create a directory","streamwrapper.rename":"Renames a file or directory","streamwrapper.rmdir":"Removes a directory","streamwrapper.stream-cast":"Retrieve the underlaying resource","streamwrapper.stream-close":"Close an resource","streamwrapper.stream-eof":"Tests for end-of-file on a file pointer","streamwrapper.stream-flush":"Flushes the output","streamwrapper.stream-lock":"Advisory file locking","streamwrapper.stream-metadata":"Change stream options","streamwrapper.stream-open":"Opens file or URL","streamwrapper.stream-read":"Read from stream","streamwrapper.stream-seek":"Seeks to specific location in a stream","streamwrapper.stream-set-option":"Change stream options","streamwrapper.stream-stat":"Retrieve information about a file resource","streamwrapper.stream-tell":"Retrieve the current position of a stream","streamwrapper.stream-truncate":"Truncate stream","streamwrapper.stream-write":"Write to stream","streamwrapper.unlink":"Delete a file","streamwrapper.url-stat":"Retrieve information about a file","class.streamwrapper":"The streamWrapper class","function.set-socket-blocking":"Alias of stream_set_blocking","function.stream-bucket-append":"Append bucket to brigade","function.stream-bucket-make-writeable":"Return a bucket object from the brigade for operating on","function.stream-bucket-new":"Create a new bucket for use on the current stream","example-4002":"stream_bucket_prepend examples","function.stream-bucket-prepend":"Prepend bucket to brigade","example-4003":"Using stream_context_create","function.stream-context-create":"Creates a stream context","stream-context-get-default.example.basic":"Using stream_context_get_default","function.stream-context-get-default":"Retrieve the default stream context","stream-context-get-options.example.basic":"stream_context_get_options example","function.stream-context-get-options":"Retrieve options for a stream\/wrapper\/context","example-4006":"stream_context_get_params example","function.stream-context-get-params":"Retrieves parameters from a context","stream-context-set-default.example.basic":"stream_context_set_default example","function.stream-context-set-default":"Set the default stream context","function.stream-context-set-option":"Sets an option for a stream\/wrapper\/context","function.stream-context-set-params":"Set parameters for a stream\/wrapper\/context","example-4008":"A stream_copy_to_stream example","function.stream-copy-to-stream":"Copies data from one stream to another","function.stream-encoding":"Set character set for stream encoding","example-4009":"Controlling where filters are applied","function.stream-filter-append":"Attach a filter to a stream","function.stream-filter-prepend":"Attach a filter to a stream","example-4010":"Filter for capitalizing characters on foo-bar.txt stream","example-4011":"Registering a generic filter class to match multiple filter names.","function.stream-filter-register":"Register a user defined stream filter","example-4012":"Dynamicly refiltering a stream","function.stream-filter-remove":"Remove a filter from a stream","example-4013":"stream_get_contents example","function.stream-get-contents":"Reads remainder of a stream into a string","example-4014":"Using stream_get_filters","function.stream-get-filters":"Retrieve list of registered filters","function.stream-get-line":"Gets line from stream resource up to a given delimiter","example-4015":"stream_get_meta_data example","function.stream-get-meta-data":"Retrieves header\/meta data from streams\/file pointers","example-4016":"Using stream_get_transports","function.stream-get-transports":"Retrieve list of registered socket transports","example-4017":"stream_get_wrappers example","example-4018":"Checking for the existence of a stream wrapper","function.stream-get-wrappers":"Retrieve list of registered streams","example-4019":"stream_is_local example","function.stream-is-local":"Checks if a stream is a local stream","stream-notification-callback.example.basic":"stream_notification_callback example","stream-notification-callback.example.download":"Simple progressbar for commandline download client","function.stream-notification-callback":"A callback function for the notification context paramater","function.stream-register-wrapper":"Alias of stream_wrapper_register","example-4022":"stream_resolve_include_path example","function.stream-resolve-include-path":"Resolve filename against the include path","example-4023":"stream_select Example","function.stream-select":"Runs the equivalent of the select() system call on the given\n arrays of streams with a timeout specified by tv_sec and tv_usec","function.stream-set-blocking":"Set blocking\/non-blocking mode on a stream","function.stream-set-chunk-size":"Set the stream chunk size","function.stream-set-read-buffer":"Set read file buffering on the given stream","example-4024":"stream_set_timeout example","function.stream-set-timeout":"Set timeout period on a stream","example-4025":"stream_set_write_buffer example","function.stream-set-write-buffer":"Sets write file buffering on the given stream","function.stream-socket-accept":"Accept a connection on a socket created by stream_socket_server","stream-socket-client.example.basic":"stream_socket_client example","stream-socket-client.example.daytime":"Using UDP connection","function.stream-socket-client":"Open Internet or Unix domain socket connection","stream-socket-enable-crypto.example.basic":"stream_socket_enable_crypto example","function.stream-socket-enable-crypto":"Turns encryption on\/off on an already connected socket","function.stream-socket-get-name":"Retrieve the name of the local or remote sockets","example-4029":"A stream_socket_pair example","function.stream-socket-pair":"Creates a pair of connected, indistinguishable socket streams","example-4030":"stream_socket_recvfrom example","function.stream-socket-recvfrom":"Receives data from a socket, connected or not","example-4031":"stream_socket_sendto Example","function.stream-socket-sendto":"Sends a message to a socket, whether it is connected or not","example-4032":"Using TCP server sockets","example-4033":"Using UDP server sockets","function.stream-socket-server":"Create an Internet or Unix domain server socket","example-4034":"A stream_socket_shutdown example","function.stream-socket-shutdown":"Shutdown a full-duplex connection","function.stream-supports-lock":"Tells whether the stream supports locking.","example-4035":"How to register a stream wrapper","function.stream-wrapper-register":"Register a URL wrapper implemented as a PHP class","function.stream-wrapper-restore":"Restores a previously unregistered built-in wrapper","function.stream-wrapper-unregister":"Unregister a URL wrapper","ref.stream":"Stream Functions","book.stream":"Streams","intro.tidy":"Introduction","tidy.requirements":"Requirements","tidy.installation":"Installation","ini.tidy.default-config":"","ini.tidy.clean-output":"","tidy.configuration":"Runtime Configuration","tidy.resources":"Resource Types","tidy.setup":"Installing\/Configuring","tidy.constants":"Predefined Constants","example-4036":"Basic Tidy usage","tidy.examples.basic":"Tidy example","tidy.examples":"Examples","tidy.intro":"Introduction","tidy.synopsis":"Class synopsis","example-4037":"tidy::getBody example","tidy.body":"Returns a tidyNode object starting from the <body> tag of the tidy parse tree","example-4038":"tidy::cleanrepair example","tidy.cleanrepair":"Execute configured cleanup and repair operations on parsed markup","example-4039":"tidy::__construct example","tidy.construct":"Constructs a new tidy object","example-4040":"tidy::diagnose example","tidy.diagnose":"Run configured diagnostics on parsed and repaired markup","example-4041":"tidy_get_error_buffer example","tidy.props.errorbuffer":"Return warnings and errors which occurred parsing the specified document","example-4042":"tidy::getConfig example","tidy.getconfig":"Get current Tidy configuration","tidy.gethtmlver":"Get the Detected HTML version for the specified document","example-4043":"tidy_getopt example","tidy.getopt":"Returns the value of the specified configuration option for the tidy document","example-4044":"Print all options along with their documentation and default value","tidy.getoptdoc":"Returns the documentation for the given option name","tidy.getrelease":"Get release date (version) for Tidy library","example-4045":"tidy::getStatus example","tidy.getstatus":"Get status of specified document","example-4046":"tidy::head example","tidy.head":"Returns a tidyNode object starting from the <head> tag of the tidy parse tree","example-4047":"tidy::html example","tidy.html":"Returns a tidyNode object starting from the <html> tag of the tidy parse tree","tidy.isxhtml":"Indicates if the document is a XHTML document","tidy.isxml":"Indicates if the document is a generic (non HTML\/XHTML) XML document","example-4048":"tidy::parseFile example","tidy.parsefile":"Parse markup in file or URI","example-4049":"tidy::parseString example","tidy.parsestring":"Parse a document stored in a string","example-4050":"tidy::repairFile example","tidy.repairfile":"Repair a file and return it as a string","example-4051":"tidy::repairString example","tidy.repairstring":"Repair a string using an optionally provided configuration file","example-4052":"tidy::root example","tidy.root":"Returns a tidyNode object representing the root of the tidy parse tree","class.tidy":"The tidy class","tidynode.intro":"Introduction","tidynode.synopsis":"Class synopsis","tidynode.props.value":"","tidynode.props.name":"","tidynode.props.type":"","tidynode.props.line":"","tidynode.props.column":"","tidynode.props.proprietary":"","tidynode.props.id":"","tidynode.props.attribute":"","tidynode.props.child":"","tidynode.props":"Properties","example-4053":"tidyNode::hasChildren example","tidynode.getparent":"Returns the parent node of the current node","example-4054":"tidyNode::hasChildren example","tidynode.haschildren":"Checks if a node has children","example-4055":"tidyNode::hasSiblings example","tidynode.hassiblings":"Checks if a node has siblings","example-4056":"Extract ASP code from a mixed HTML document","tidynode.isasp":"Checks if this node is ASP","example-4057":"Extract comments from a mixed HTML document","tidynode.iscomment":"Checks if a node represents a comment","example-4058":"Extract HTML code from a mixed HTML document","tidynode.ishtml":"Checks if a node is part of a HTML document","example-4059":"Extract JSTE code from a mixed HTML document","tidynode.isjste":"Checks if this node is JSTE","example-4060":"Extract PHP code from a mixed HTML document","tidynode.isphp":"Checks if a node is PHP","example-4061":"Extract text from a mixed HTML document","tidynode.istext":"Checks if a node represents text (no markup)","class.tidynode":"The tidyNode class","example-4062":"ob_tidyhandler example","function.ob-tidyhandler":"ob_start callback function to repair the buffer","example-4063":"tidy_access_count example","function.tidy-access-count":"Returns the Number of Tidy accessibility warnings encountered for specified document","example-4064":"tidy_config_count example","function.tidy-config-count":"Returns the Number of Tidy configuration errors encountered for specified document","example-4065":"tidy_error_count example","function.tidy-error-count":"Returns the Number of Tidy errors encountered for specified document","example-4066":"tidy_get_output example","function.tidy-get-output":"Return a string representing the parsed tidy markup","function.tidy-load-config":"Load an ASCII Tidy configuration file with the specified encoding","function.tidy-reset-config":"Restore Tidy configuration to default values","function.tidy-save-config":"Save current settings to named file","function.tidy-set-encoding":"Set the input\/output character encoding for parsing markup","example-4067":"tidy_setopt example","function.tidy-setopt":"Updates the configuration settings for the specified tidy document","example-4068":"tidy_warning_count example","function.tidy-warning-count":"Returns the Number of Tidy warnings encountered for specified document","ref.tidy":"Tidy Functions","book.tidy":"Tidy","intro.tokenizer":"Introduction","tokenizer.requirements":"Requirements","tokenizer.installation":"Installation","tokenizer.configuration":"Runtime Configuration","tokenizer.resources":"Resource Types","tokenizer.setup":"Installing\/Configuring","tokenizer.constants":"Predefined Constants","example-4069":"Strip comments with the tokenizer","tokenizer.examples":"Examples","example-4070":"token_get_all examples","function.token-get-all":"Split given source into PHP tokens","example-4071":"token_name example","function.token-name":"Get the symbolic name of a given PHP token","ref.tokenizer":"Tokenizer Functions","book.tokenizer":"Tokenizer","intro.url":"Introduction","url.requirements":"Requirements","url.installation":"Installation","url.configuration":"Runtime Configuration","url.resources":"Resource Types","url.setup":"Installing\/Configuring","constant.php-url-scheme":"","constant.php-url-host":"","constant.php-url-port":"","constant.php-url-user":"","constant.php-url-pass":"","constant.php-url-path":"","constant.php-url-query":"","constant.php-url-fragment":"","constant.php-query-rfc1738":"","constant.php-query-rfc3986":"","url.constants":"Predefined Constants","example-4072":"base64_decode example","function.base64-decode":"Decodes data encoded with MIME base64","example-4073":"base64_encode example","function.base64-encode":"Encodes data with MIME base64","example-4074":"get_headers example","example-4075":"get_headers using HEAD example","function.get-headers":"Fetches all the headers sent by the server in response to a HTTP request","example-4076":"What get_meta_tags parses","example-4077":"What get_meta_tags returns","function.get-meta-tags":"Extracts all meta tag content attributes from a file and returns an array","example-4078":"Simple usage of http_build_query","example-4079":"http_build_query with numerically index elements.","example-4080":"http_build_query with complex arrays","example-4081":"Using http_build_query with an object","function.http-build-query":"Generate URL-encoded query string","example-4082":"A parse_url example","example-4083":"A parse_url example with missing scheme","function.parse-url":"Parse a URL and return its components","example-4084":"rawurldecode example","function.rawurldecode":"Decode URL-encoded strings","example-4085":"including a password in an FTP URL","example-4086":"rawurlencode example 2","function.rawurlencode":"URL-encode according to RFC 3986","example-4087":"urldecode example","function.urldecode":"Decodes URL-encoded string","example-4088":"urlencode example","example-4089":"urlencode and htmlentities example","function.urlencode":"URL-encodes string","ref.url":"URL Functions","book.url":"URLs","intro.v8js":"Introduction","v8js.requirements":"Requirements","v8js.installation":"Installation","ini.v8js.max-disposed-contexts":"","ini.v8js.flags":"","v8js.configuration":"Runtime Configuration","v8js.resources":"Resource Types","v8js.setup":"Installing\/Configuring","example-4090":"Basic Javascript execution","v8js.examples":"Examples","v8js.intro":"Introduction","v8js.synopsis":"Class synopsis","v8js.constants.v8-version":"","v8js.constants.flag-none":"","v8js.constants.flag-force-array":"","v8js.constants":"Predefined Constants","v8js.construct":"Construct a new V8Js object","v8js.executestring":"Execute a string as Javascript code","v8js.getextensions":"Return an array of registered extensions","v8js.getpendingexception":"Return pending uncaught Javascript exception","v8js.registerextension":"Register Javascript extensions for V8Js","class.v8js":"The V8Js class","v8jsexception.intro":"Introduction","v8jsexception.synopsis":"Class synopsis","v8jsexception.props.jsfilename":"","v8jsexception.props.jslinenumber":"","v8jsexception.props.jssourceline":"","v8jsexception.props.jstrace":"","v8jsexception.props":"Properties","v8jsexception.getjsfilename":"The getJsFileName purpose","v8jsexception.getjslinenumber":"The getJsLineNumber purpose","v8jsexception.getjssourceline":"The getJsSourceLine purpose","v8jsexception.getjstrace":"The getJsTrace purpose","class.v8jsexception":"The V8JsException class","book.v8js":"V8 Javascript Engine Integration","intro.yaml":"Introduction","yaml.requirements":"Requirements","yaml.installation":"Installation","ini.yaml.decode-binary":"","ini.yaml.decode-timestamp":"","ini.yaml.output-canonical":"","ini.yaml.output-indent":"","ini.yaml.output-width":"","yaml.configuration":"Runtime Configuration","yaml.resources":"Resource Types","yaml.setup":"Installing\/Configuring","constant.yaml-any-scalar-style":"","constant.yaml-plain-scalar-style":"","constant.yaml-single-quoted-scalar-style":"","constant.yaml-double-quoted-scalar-style":"","constant.yaml-literal-scalar-style":"","constant.yaml-folded-scalar-style":"","yaml.constants.style":"Scalar entity styles usable by yaml_parse\n callback methods.","constant.yaml-null-tag":"","constant.yaml-bool-tag":"","constant.yaml-str-tag":"","constant.yaml-int-tag":"","constant.yaml-float-tag":"","constant.yaml-timestamp-tag":"","constant.yaml-seq-tag":"","constant.yaml-map-tag":"","constant.yaml-php-tag":"","yaml.constants.tag":"Common tags usable by yaml_parse\n callback methods.","constant.yaml-any-encoding":"","constant.yaml-utf8-encoding":"","constant.yaml-utf16le-encoding":"","constant.yaml-utf16be-encoding":"","yaml.constants.encoding":"Encoding types for yaml_emit","constant.yaml-any-break":"","constant.yaml-cr-break":"","constant.yaml-ln-break":"","constant.yaml-crln-break":"","yaml.constants.break":"Linebreak types for yaml_emit","yaml.constants":"Predefined Constants","example-4091":"Yaml Example","yaml.examples":"Examples","example-4092":"Parse callback example","yaml.callbacks.parse":"Parse callbacks","example-4093":"Emit callback example","yaml.callbacks.emit":"Emit callbacks","yaml.callbacks":"Callbacks","function.yaml-emit-file":"Send the YAML representation of a value to a file","example-4094":"yaml_emit example","function.yaml-emit":"Returns the YAML representation of a value","function.yaml-parse-file":"Parse a YAML stream from a file","function.yaml-parse-url":"Parse a Yaml stream from a URL","example-4095":"yaml_parse example","function.yaml-parse":"Parse a YAML stream","ref.yaml":"Yaml Functions","book.yaml":"YAML Data Serialization","intro.yaf":"Introduction","yaf.requirements":"Requirements","yaf.installation":"Installation","ini.yaf.library":"","ini.yaf.action-prefer":"","ini.yaf.lowcase-path":"","ini.yaf.use-spl-autoload":"","ini.yaf.forward-limit":"","ini.yaf.name-suffix":"","ini.yaf.name-separator":"","ini.yaf.cache-config":"","ini.yaf.environ":"","ini.yaf.use-namespace":"","yaf.configuration":"Runtime Configuration","yaf.resources":"Resource Types","yaf.setup":"Installing\/Configuring","constant.yaf-version":"","constant.yaf-environ":"","constant.yaf-err-startup-failed":"","constant.yaf-err-route-failed":"","constant.yaf-err-dispatch-failed":"","constant.yaf-err-autoload-failed":"","constant.yaf-err-notfound-module":"","constant.yaf-err-notfound-controller":"","constant.yaf-err-notfound-action":"","constant.yaf-err-notfound-view":"","constant.yaf-err-call-failed":"","constant.yaf-err-type-error":"","yaf.constants":"Predefined Constants","example-4096":"A classic Application directory layout","example-4097":"Entry","example-4098":"Rewrite rule","example-4099":"Application config","example-4100":"Default controller","example-4101":"Default view template","example-4102":"Run the Applicatioin","yaf.tutorials":"Examples","example-4103":"An array of yaf configuration example","example-4104":"an ini file of yaf configuration example","configuration.yaf.directory":"","configuration.yaf.ext":"","configuration.yaf.view.ext":"","configuration.yaf.modules":"","configuration.yaf.library":"","configuration.yaf.library.directory":"","configuration.yaf.library.namespace":"","configuration.yaf.bootstrap":"","configuration.yaf.baseuri":"","configuration.yaf.dispatcher.throwexception":"","configuration.yaf.dispatcher.catchexception":"","configuration.yaf.dispatcher.defaulRoute":"","configuration.yaf.dispatcher.defaultmodule":"","configuration.yaf.dispatcher.defaultcontroller":"","configuration.yaf.dispatcher.defaultaction":"","configuration.yaf.system":"","yaf.appconfig":"Application Configuration","yaf-application.intro":"Introduction","yaf-application.synopsis":"Class synopsis","yaf-application.props.config":"","yaf-application.props.dispatcher":"","yaf-application.props.app":"","yaf-application.props.modules":"","yaf-application.props.running":"","yaf-application.props.environ":"","yaf-application.props":"Properties","yaf-application.app":"Retrieve an Application instance","example-4105":"A Bootstrapexample","example-4106":"Yaf_Application::bootstrapexample","yaf-application.bootstrap":"Call bootstrap","example-4107":"Yaf_Application::clearLastErrorexample","yaf-application.clearlasterror":"Clear the last error info","yaf-application.clone":"Yaf_Application can not be cloned","yaf.application.ini":"","example-4108":"A ini config file example","example-4109":"Yaf_Application::__constructexample","example-4110":"Yaf_Application::__constructexample","yaf-application.construct":"Yaf_Application constructor","yaf-application.destruct":"The __destruct purpose","example-4111":"Yaf_Application::environexample","yaf-application.environ":"Retrive environ","example-4112":"Yaf_Application::executeexample","yaf-application.execute":"Execute a callback","yaf-application.getappdirectory":"Get the application directory","example-4113":"Yaf_Application::getConfigexample","yaf-application.getconfig":"Retrive the config instance","example-4114":"Yaf_Application::getDispatcherexample","yaf-application.getdispatcher":"Get Yaf_Dispatcher instance","example-4115":"Yaf_Application::getLastErrorMsgexample","yaf-application.getlasterrormsg":"Get message of the last occurred error","example-4116":"Yaf_Application::getLastErrorNoexample","yaf-application.getlasterrorno":"Get code of last occurred error","example-4117":"Yaf_Application::getModulesexample","yaf-application.getmodules":"Get defined module names","yaf-application.run":"Start Yaf_Application","yaf-application.setappdirectory":"Change the application directory","yaf-application.sleep":"Yaf_Application can not be serialized","yaf-application.wakeup":"Yaf_Application can not be unserialized","class.yaf-application":"The Yaf_Application class","yaf-bootstrap-abstract.intro":"Introduction","example-4118":"Bootstrap example","yaf-bootstrap-abstract.synopsis":"Class synopsis","class.yaf-bootstrap-abstract":"The Yaf_Bootstrap_Abstract class","yaf-dispatcher.intro":"Introduction","yaf-dispatcher.synopsis":"Class synopsis","yaf-dispatcher.props.router":"","yaf-dispatcher.props.view":"","yaf-dispatcher.props.request":"","yaf-dispatcher.props.plugins":"","yaf-dispatcher.props.instance":"","yaf-dispatcher.props.auto-render":"","yaf-dispatcher.props.return-response":"","yaf-dispatcher.props.instantly-flush":"","yaf-dispatcher.props.default-module":"","yaf-dispatcher.props.default-controller":"","yaf-dispatcher.props.default-action":"","yaf-dispatcher.props":"Properties","example-4119":"Yaf_Dispatcher::autoRenderexample","yaf-dispatcher.autorender":"Switch on\/off autorendering","example-4120":"Yaf_Dispatcher::catchExceptionexample","yaf-dispatcher.catchexception":"Switch on\/off exception catching","yaf-dispatcher.clone":"Yaf_Dispatcher can not be cloned","yaf-dispatcher.construct":"Yaf_Dispatcher constructor","yaf-dispatcher.disableview":"Disable view rendering","yaf-dispatcher.dispatch":"Dispatch a request","yaf-dispatcher.enableview":"enable view rendering","yaf-dispatcher.flushinstantly":"Switch on\/off the instant flushing","yaf-dispatcher.getapplication":"Retrive the application","yaf-dispatcher.getinstance":"Retrive the dispatcher instance","yaf-dispatcher.getrequest":"Retrive the request instance","yaf-dispatcher.getrouter":"Retrive router instance","yaf-dispatcher.initview":"Initialize view and return it","example-4121":"Yaf_Dispatcher::registerPluginexample","yaf-dispatcher.registerplugin":"Register a plugin","yaf-dispatcher.returnresponse":"The returnResponse purpose","yaf-dispatcher.setdefaultaction":"Change default action name","yaf-dispatcher.setdefaultcontroller":"Change default controller name","yaf-dispatcher.setdefaultmodule":"Change default module name","yaf-dispatcher.seterrorhandler":"Set error handler","yaf-dispatcher.setrequest":"The setRequest purpose","example-4122":"A custom View engineexample","example-4123":"Yaf_Dispatcher::setViewexample","yaf-dispatcher.setview":"Set a custom view engine","yaf-dispatcher.sleep":"Yaf_Dispatcher can not be serialized","example-4124":"Yaf_Dispatcher::throwexceptionexample","example-4125":"Yaf_Dispatcher::throwexceptionexample","yaf-dispatcher.throwexception":"Switch on\/off exception throwing","yaf-dispatcher.wakeup":"Yaf_Dispatcher can not be unserialized","class.yaf-dispatcher":"The Yaf_Dispatcher class","yaf-config-abstract.intro":"Introduction","yaf-config-abstract.synopsis":"Class synopsis","yaf-config-abstract.props.config":"","yaf-config-abstract.props.readonly":"","yaf-config-abstract.props":"Properties","yaf-config-abstract.get":"Getter","yaf-config-abstract.readonly":"Find a config whether readonly","yaf-config-abstract.set":"Setter","yaf-config-abstract.toarray":"Cast to array","class.yaf-config-abstract":"The Yaf_Config_Abstract class","yaf-config-ini.intro":"Introduction","yaf-config-ini.synopsis":"Class synopsis","yaf-config-ini.props.config":"","yaf-config-ini.props.readonly":"","yaf-config-ini.props":"Properties","example-4126":"Yaf_Config_Iniexample","yaf-config-ini.construct":"Yaf_Config_Ini constructor","yaf-config-ini.count":"The count purpose","yaf-config-ini.current":"The current purpose","yaf-config-ini.get":"The __get purpose","yaf-config-ini.isset":"The __isset purpose","yaf-config-ini.key":"The key purpose","yaf-config-ini.next":"The next purpose","yaf-config-ini.offsetexists":"The offsetExists purpose","yaf-config-ini.offsetget":"The offsetGet purpose","yaf-config-ini.offsetset":"The offsetSet purpose","yaf-config-ini.offsetunset":"The offsetUnset purpose","yaf-config-ini.readonly":"The readonly purpose","yaf-config-ini.rewind":"The rewind purpose","yaf-config-ini.set":"The __set purpose","yaf-config-ini.toarray":"Returns a PHP array","yaf-config-ini.valid":"The valid purpose","class.yaf-config-ini":"The Yaf_Config_Ini class","yaf-config-simple.intro":"Introduction","yaf-config-simple.synopsis":"Class synopsis","yaf-config-simple.props.config":"","yaf-config-simple.props.readonly":"","yaf-config-simple.props":"Properties","yaf-config-simple.construct":"The __construct purpose","yaf-config-simple.count":"The count purpose","yaf-config-simple.current":"The current purpose","yaf-config-simple.get":"The __get purpose","yaf-config-simple.isset":"The __isset purpose","yaf-config-simple.key":"The key purpose","yaf-config-simple.next":"The next purpose","yaf-config-simple.offsetexists":"The offsetExists purpose","yaf-config-simple.offsetget":"The offsetGet purpose","yaf-config-simple.offsetset":"The offsetSet purpose","yaf-config-simple.offsetunset":"The offsetUnset purpose","yaf-config-simple.readonly":"The readonly purpose","yaf-config-simple.rewind":"The rewind purpose","yaf-config-simple.set":"The __set purpose","yaf-config-simple.toarray":"Returns a PHP array","yaf-config-simple.valid":"The valid purpose","class.yaf-config-simple":"The Yaf_Config_Simple class","yaf-controller-abstract.intro":"Introduction","yaf-controller-abstract.synopsis":"Class synopsis","example-4127":"define action in a separate file","example-4128":"Dummy_action.php","yaf-controller-abstract.props.actions":"","yaf-controller-abstract.props.module":"","yaf-controller-abstract.props.name":"","yaf-controller-abstract.props.request":"","yaf-controller-abstract.props.response":"","yaf-controller-abstract.props.invoke-args":"","yaf-controller-abstract.props.view":"","yaf-controller-abstract.props":"Properties","yaf-controller-abstract.clone":"Yaf_Controller_Abstract can not be cloned","yaf-controller-abstract.construct":"Yaf_Controller_Abstract constructor","yaf-controller-abstract.display":"The display purpose","example-4129":"Yaf_Controller_Abstract::forwardexample","yaf-controller-abstract.forward":"foward to another action","yaf-controller-abstract.getinvokearg":"The getInvokeArg purpose","yaf-controller-abstract.getinvokeargs":"The getInvokeArgs purpose","yaf-controller-abstract.getmodulename":"Get module name","yaf-controller-abstract.getrequest":"Retrieve current request object","yaf-controller-abstract.getresponse":"Retrieve current response object","yaf-controller-abstract.getview":"Retrieve the view engine","yaf-controller-abstract.getviewpath":"The getViewpath purpose","yaf-controller-abstract.init":"Controller initializer","yaf-controller-abstract.initview":"The initView purpose","yaf-controller-abstract.redirect":"Redirect to a URL","yaf-controller-abstract.render":"Render view template","yaf-controller-abstract.setviewpath":"The setViewpath purpose","class.yaf-controller-abstract":"The Yaf_Controller_Abstract class","yaf-action-abstract.intro":"Introduction","yaf-action-abstract.synopsis":"Class synopsis","yaf-action-abstract.props.module":"","yaf-action-abstract.props.name":"","yaf-action-abstract.props.request":"","yaf-action-abstract.props.response":"","yaf-action-abstract.props.invoke-args":"","yaf-action-abstract.props.view":"","yaf-action-abstract.props.controller":"","yaf-action-abstract.props":"Properties","example-4130":"Yaf_Action_Abstract::executeexample","example-4131":"Yaf_Action_Abstract::executeexample","yaf-action-abstract.execute":"Action entry point","yaf-action-abstract.getcontroller":"Retrieve controller object","class.yaf-action-abstract":"The Yaf_Action_Abstract class","yaf-view-interface.intro":"Introduction","yaf-view-interface.synopsis":"Class synopsis","yaf-view-interface.assign":"Assign value to View engine","yaf-view-interface.display":"Render and output a template","yaf-view-interface.getscriptpath":"The getScriptPath purpose","yaf-view-interface.render":"Render a template","yaf-view-interface.setscriptpath":"The setScriptPath purpose","class.yaf-view-interface":"The Yaf_View_Interface class","yaf-view-simple.intro":"Introduction","yaf-view-simple.synopsis":"Class synopsis","yaf-view-simple.props.tpl-vars":"","yaf-view-simple.props.tpl-dir":"","yaf-view-simple.props":"Properties","example-4132":"Yaf_View_Simple::assignexample","example-4133":"templateexample","yaf-view-simple.assign":"Assign values","example-4134":"Yaf_View_Simple::assignRefexample","example-4135":"templateexample","yaf-view-simple.assignref":"The assignRef purpose","example-4136":"Yaf_View_Simple::clearexample","yaf-view-simple.clear":"Clear Assigned values","example-4137":"Yaf_View_Simple::__constructorexample","yaf-view-simple.construct":"Constructor of Yaf_View_Simple","yaf-view-simple.display":"Render and display","yaf-view-simple.eval":"Render template","yaf-view-simple.get":"Retrieve assigned variable","yaf-view-simple.getscriptpath":"Get templates directory","yaf-view-simple.isset":"The __isset purpose","yaf-view-simple.render":"Render template","example-4138":"Yaf_View_Simple::__setexample","yaf-view-simple.set":"Set value to engine","yaf-view-simple.setscriptpath":"Set tempaltes directory","class.yaf-view-simple":"The Yaf_View_Simple class","example-4139":"Config example","example-4140":"Register localnamespace","example-4141":"Load class example","example-4142":"Load namespace class example","example-4143":"MVC class loading example","example-4144":"MVC class distinctions","example-4145":"MVC loading example","yaf-loader.intro":"Introduction","yaf-loader.synopsis":"Class synopsis","yaf-loader.props.local-ns":"","yaf-loader.props.library":"","yaf-loader.props.global-library":"","yaf-loader.props.instance":"","yaf-loader.props":"Properties","yaf-loader.autoload":"The autoload purpose","yaf-loader.clearlocalnamespace":"The clearLocalNamespace purpose","yaf-loader.clone":"The __clone purpose","yaf-loader.construct":"The __construct purpose","yaf-loader.getinstance":"The getInstance purpose","yaf-loader.getlibrarypath":"get the library path","yaf-loader.getlocalnamespace":"The getLocalNamespace purpose","yaf-loader.import":"The import purpose","yaf-loader.islocalname":"The isLocalName purpose","example-4146":"Yaf_Loader::registerLocalNamespaceexample","yaf-loader.registerlocalnamespace":"register local class prefix","yaf-loader.setlibrarypath":"Change the library path","yaf-loader.sleep":"The __sleep purpose","yaf-loader.wakeup":"The __wakeup purpose","class.yaf-loader":"The Yaf_Loader class","yaf-plugin-abstract.intro":"Introduction","example-4147":"Plugin example","yaf-plugin-abstract.synopsis":"Class synopsis","yaf-plugin-abstract.dispatchloopshutdown":"The dispatchLoopShutdown purpose","yaf-plugin-abstract.dispatchloopstartup":"The dispatchLoopStartup purpose","yaf-plugin-abstract.postdispatch":"The postDispatch purpose","yaf-plugin-abstract.predispatch":"The preDispatch purpose","yaf-plugin-abstract.preresponse":"The preResponse purpose","example-4148":"Yaf_Plugin_Abstract::routerShutdownexample","yaf-plugin-abstract.routershutdown":"The routerShutdown purpose","yaf-plugin-abstract.routerstartup":"RouterStartup hook","class.yaf-plugin-abstract":"The Yaf_Plugin_Abstract class","yaf-registry.intro":"Introduction","yaf-registry.synopsis":"Class synopsis","yaf-registry.props.instance":"","yaf-registry.props.entries":"","yaf-registry.props":"Properties","yaf-registry.clone":"The __clone purpose","yaf-registry.construct":"Yaf_Registry implements singleton","yaf-registry.del":"Remove an item from registry","yaf-registry.get":"Retrieve an item from registry","yaf-registry.has":"Check whether an item exists","yaf-registry.set":"Add an item into registry","class.yaf-registry":"The Yaf_Registry class","yaf-request-abstract.intro":"Introduction","yaf-request-abstract.synopsis":"Class synopsis","yaf-request-abstract.props.module":"","yaf-request-abstract.props.controller":"","yaf-request-abstract.props.action":"","yaf-request-abstract.props.method":"","yaf-request-abstract.props.params":"","yaf-request-abstract.props.language":"","yaf-request-abstract.props.exception":"","yaf-request-abstract.props.base-uri":"","yaf-request-abstract.props.uri":"","yaf-request-abstract.props.dispatched":"","yaf-request-abstract.props.routed":"","yaf-request-abstract.props":"Properties","yaf-request-abstract.constants.scheme-http":"","yaf-request-abstract.constants.scheme-https":"","yaf-request-abstract.constants":"Predefined Constants","yaf-request-abstract.getactionname":"The getActionName purpose","yaf-request-abstract.getbaseuri":"The getBaseUri purpose","yaf-request-abstract.getcontrollername":"The getControllerName purpose","yaf-request-abstract.getenv":"Retrieve ENV varialbe","yaf-request-abstract.getexception":"The getException purpose","yaf-request-abstract.getlanguage":"The getLanguage purpose","yaf-request-abstract.getmethod":"The getMethod purpose","yaf-request-abstract.getmodulename":"The getModuleName purpose","yaf-request-abstract.getparam":"The getParam purpose","yaf-request-abstract.getparams":"The getParams purpose","yaf-request-abstract.getrequesturi":"The getRequestUri purpose","yaf-request-abstract.getserver":"Retrieve SERVER variable","yaf-request-abstract.iscli":"The isCli purpose","yaf-request-abstract.isdispatched":"The isDispatched purpose","yaf-request-abstract.isget":"The isGet purpose","yaf-request-abstract.ishead":"The isHead purpose","yaf-request-abstract.isoptions":"The isOptions purpose","yaf-request-abstract.ispost":"The isPost purpose","yaf-request-abstract.isput":"The isPut purpose","yaf-request-abstract.isrouted":"The isRouted purpose","yaf-request-abstract.isxmlhttprequest":"The isXmlHttpRequest purpose","yaf-request-abstract.setactionname":"The setActionName purpose","yaf-request-abstract.setbaseuri":"set base URI","yaf-request-abstract.setcontrollername":"The setControllerName purpose","yaf-request-abstract.setdispatched":"The setDispatched purpose","yaf-request-abstract.setmodulename":"The setModuleName purpose","yaf-request-abstract.setparam":"The setParam purpose","yaf-request-abstract.setrequesturi":"The setRequestUri purpose","yaf-request-abstract.setrouted":"The setRouted purpose","class.yaf-request-abstract":"The Yaf_Request_Abstract class","yaf-request-http.intro":"Introduction","yaf-request-http.synopsis":"Class synopsis","yaf-request-http.props.module":"","yaf-request-http.props.controller":"","yaf-request-http.props.action":"","yaf-request-http.props.method":"","yaf-request-http.props.params":"","yaf-request-http.props.language":"","yaf-request-http.props.exception":"","yaf-request-http.props.base-uri":"","yaf-request-http.props.uri":"","yaf-request-http.props.dispatched":"","yaf-request-http.props.routed":"","yaf-request-http.props":"Properties","yaf-request-http.clone":"The __clone purpose","yaf-request-http.construct":"The __construct purpose","yaf-request-http.get":"Retrieve variable from client","yaf-request-http.getcookie":"Retrieve Cookie varialbe","yaf-request-http.getfiles":"The getFiles purpose","yaf-request-http.getpost":"Retrieve POST variable","yaf-request-http.getquery":"Fetch a query parameter","yaf-request-http.getrequest":"The getRequest purpose","yaf-request-http.isxmlhttprequest":"Whether a Ajax Request","class.yaf-request-http":"The Yaf_Request_Http class","yaf-request-simple.intro":"Introduction","yaf-request-simple.synopsis":"Class synopsis","yaf-request-simple.props.module":"","yaf-request-simple.props.controller":"","yaf-request-simple.props.action":"","yaf-request-simple.props.method":"","yaf-request-simple.props.params":"","yaf-request-simple.props.language":"","yaf-request-simple.props.exception":"","yaf-request-simple.props.base-uri":"","yaf-request-simple.props.uri":"","yaf-request-simple.props.dispatched":"","yaf-request-simple.props.routed":"","yaf-request-simple.props":"Properties","yaf-request-simple.constants.scheme-http":"","yaf-request-simple.constants.scheme-https":"","yaf-request-simple.constants":"Predefined Constants","yaf-request-simple.clone":"The __clone purpose","yaf-request-simple.construct":"The __construct purpose","yaf-request-simple.get":"The get purpose","yaf-request-simple.getcookie":"The getCookie purpose","yaf-request-simple.getfiles":"The getFiles purpose","yaf-request-simple.getpost":"The getPost purpose","yaf-request-simple.getquery":"The getQuery purpose","yaf-request-simple.getrequest":"The getRequest purpose","yaf-request-simple.isxmlhttprequest":"The isXmlHttpRequest purpose","class.yaf-request-simple":"The Yaf_Request_Simple class","yaf-response-abstract.intro":"Introduction","yaf-response-abstract.synopsis":"Class synopsis","yaf-response-abstract.props.header":"","yaf-response-abstract.props.body":"","yaf-response-abstract.props.sendheader":"","yaf-response-abstract.props":"Properties","example-4149":"Yaf_Response_Abstract::appendBodyexample","yaf-response-abstract.appendbody":"append to body","yaf-response-abstract.clearbody":"The clearBody purpose","yaf-response-abstract.clearheaders":"The clearHeaders purpose","yaf-response-abstract.clone":"The __clone purpose","yaf-response-abstract.construct":"The __construct purpose","yaf-response-abstract.destruct":"The __destruct purpose","example-4150":"Yaf_Response_Abstract::getBodyexample","yaf-response-abstract.getbody":"Retrieve a exists content","yaf-response-abstract.getheader":"The getHeader purpose","example-4151":"Yaf_Response_Abstract::prependBodyexample","yaf-response-abstract.prependbody":"The prependBody purpose","example-4152":"Yaf_Response_Abstract::responseexample","yaf-response-abstract.response":"send response","yaf-response-abstract.setallheaders":"The setAllHeaders purpose","example-4153":"Yaf_Response_Abstract::setBodyexample","yaf-response-abstract.setbody":"Set content to response","yaf-response-abstract.setheader":"The setHeader purpose","yaf-response-abstract.setredirect":"The setRedirect purpose","yaf-response-abstract.tostring":"The __toString purpose","class.yaf-response-abstract":"The Yaf_Response_Abstract class","yaf-route-interface.intro":"Introduction","yaf-route-interface.synopsis":"Class synopsis","yaf-route-interface.route":"route a request","class.yaf-route-interface":"The Yaf_Route_Interface class","yaf-route-map.intro":"Introduction","yaf-route-map.synopsis":"Class synopsis","yaf-route-map.props.ctl-router":"","yaf-route-map.props.delimeter":"","yaf-route-map.props":"Properties","example-4154":"Yaf_Route_Mapexample","example-4155":"Yaf_Route_Mapexample","example-4156":"Yaf_Route_Mapexample","yaf-route-map.construct":"The __construct purpose","yaf-route-map.route":"The route purpose","class.yaf-route-map":"The Yaf_Route_Map class","yaf-route-regex.intro":"Introduction","yaf-route-regex.synopsis":"Class synopsis","yaf-route-regex.props.route":"","yaf-route-regex.props.default":"","yaf-route-regex.props.maps":"","yaf-route-regex.props.verify":"","yaf-route-regex.props":"Properties","example-4157":"Yaf_Route_Regexexample","example-4158":"Yaf_Route_Regexexample","yaf-route-regex.construct":"The __construct purpose","yaf-route-regex.route":"The route purpose","class.yaf-route-regex":"The Yaf_Route_Regex class","yaf-route-rewrite.intro":"Introduction","yaf-route-rewrite.synopsis":"Class synopsis","yaf-route-rewrite.props.route":"","yaf-route-rewrite.props.default":"","yaf-route-rewrite.props.verify":"","yaf-route-rewrite.props":"Properties","example-4159":"Yaf_Route_Rewriteexample","example-4160":"Yaf_Route_Rewriteexample","yaf-route-rewrite.construct":"Yaf_Route_Rewrite constructor","yaf-route-rewrite.route":"The route purpose","class.yaf-route-rewrite":"The Yaf_Route_Rewrite class","example-4161":"Rewrite rule for Apache","example-4162":"Rewrite rule for Apache","example-4163":"Rewrite rule for Lighttpd","example-4164":"Rewrite rule for Nginx","yaf-router.intro":"Introduction","example-4165":"Yaf_Route_Static(default route)example","yaf-router.default":"Default route","yaf-router.synopsis":"Class synopsis","yaf-router.props.routes":"","yaf-router.props.current":"","yaf-router.props":"Properties","example-4166":"application.iniexample","example-4167":"Yaf_Dispatcher::autoConfigexample","yaf-router.addconfig":"Add config-defined routes into Router","example-4168":"Yaf_Dispatcher::autoRenderexample","yaf-router.addroute":"Add new Route into Router","yaf-router.construct":"Yaf_Router constructor","example-4169":"Register some routes in Bootstrap","example-4170":"plugin Dummy.php (under application.directory\/plugins)","yaf-router.getcurrentroute":"Get the effective route name","yaf-router.getroute":"Retrieve a route by name","yaf-router.getroutes":"Retrieve registered routes","yaf-router.route":"The route purpose","class.yaf-router":"The Yaf_Router class","yaf-route-simple.intro":"Introduction","yaf-route-simple.synopsis":"Class synopsis","yaf-route-simple.props.controller":"","yaf-route-simple.props.module":"","yaf-route-simple.props.action":"","yaf-route-simple.props":"Properties","example-4171":"Yaf_Route_Simple::routeexample","example-4172":"Yaf_Route_Simple::routeexample","yaf-route-simple.construct":"Yaf_Route_Simple constructor","yaf-route-simple.route":"Route a request","class.yaf-route-simple":"The Yaf_Route_Simple class","yaf-route-static.intro":"Introduction","yaf-route-static.synopsis":"Class synopsis","yaf-route-static.match":"The match purpose","example-4173":"Yaf_Route_Static::routeexample","yaf-route-static.route":"Route a request","class.yaf-route-static":"The Yaf_Route_Static class","yaf-route-supervar.intro":"Introduction","yaf-route-supervar.synopsis":"Class synopsis","yaf-route-supervar.props.var-name":"","yaf-route-supervar.props":"Properties","example-4174":"Yaf_Route_Supervarexample","yaf-route-supervar.construct":"The __construct purpose","yaf-route-supervar.route":"The route purpose","class.yaf-route-supervar":"The Yaf_Route_Supervar class","yaf-session.intro":"Introduction","yaf-session.synopsis":"Class synopsis","yaf-session.props.instance":"","yaf-session.props.session":"","yaf-session.props.started":"","yaf-session.props":"Properties","yaf-session.clone":"The __clone purpose","yaf-session.construct":"The __construct purpose","yaf-session.count":"The count purpose","yaf-session.current":"The current purpose","yaf-session.del":"The del purpose","yaf-session.get":"The __get purpose","yaf-session.getinstance":"The getInstance purpose","yaf-session.has":"The has purpose","yaf-session.isset":"The __isset purpose","yaf-session.key":"The key purpose","yaf-session.next":"The next purpose","yaf-session.offsetexists":"The offsetExists purpose","yaf-session.offsetget":"The offsetGet purpose","yaf-session.offsetset":"The offsetSet purpose","yaf-session.offsetunset":"The offsetUnset purpose","yaf-session.rewind":"The rewind purpose","yaf-session.set":"The __set purpose","yaf-session.sleep":"The __sleep purpose","yaf-session.start":"The start purpose","yaf-session.unset":"The __unset purpose","yaf-session.valid":"The valid purpose","yaf-session.wakeup":"The __wakeup purpose","class.yaf-session":"The Yaf_Session class","yaf-exception.intro":"Introduction","yaf-exception.synopsis":"Class synopsis","yaf-exception.construct":"The __construct purpose","yaf-exception.getprevious":"The getPrevious purpose","class.yaf-exception":"The Yaf_Exception class","yaf-exception-typeerror.intro":"Introduction","yaf-exception-typeerror.synopsis":"Class synopsis","class.yaf-exception-typeerror":"The Yaf_Exception_TypeError class","yaf-exception-startuperror.intro":"Introduction","yaf-exception-startuperror.synopsis":"Class synopsis","class.yaf-exception-startuperror":"The Yaf_Exception_StartupError class","yaf-exception-dispatchfailed.intro":"Introduction","yaf-exception-dispatchfailed.synopsis":"Class synopsis","class.yaf-exception-dispatchfailed":"The Yaf_Exception_DispatchFailed class","yaf-exception-routerfailed.intro":"Introduction","yaf-exception-routerfailed.synopsis":"Class synopsis","class.yaf-exception-routerfailed":"The Yaf_Exception_RouterFailed class","yaf-exception-loadfailed.intro":"Introduction","yaf-exception-loadfailed.synopsis":"Class synopsis","class.yaf-exception-loadfailed":"The Yaf_Exception_LoadFailed class","yaf-exception-loadfailed-module.intro":"Introduction","yaf-exception-loadfailed-module.synopsis":"Class synopsis","class.yaf-exception-loadfailed-module":"The Yaf_Exception_LoadFailed_Module class","yaf-exception-loadfailed-controller.intro":"Introduction","yaf-exception-loadfailed-controller.synopsis":"Class synopsis","class.yaf-exception-loadfailed-controller":"The Yaf_Exception_LoadFailed_Controller class","yaf-exception-loadfailed-action.intro":"Introduction","yaf-exception-loadfailed-action.synopsis":"Class synopsis","class.yaf-exception-loadfailed-action":"The Yaf_Exception_LoadFailed_Action class","yaf-exception-loadfailed-view.intro":"Introduction","yaf-exception-loadfailed-view.synopsis":"Class synopsis","class.yaf-exception-loadfailed-view":"The Yaf_Exception_LoadFailed_View class","book.yaf":"Yaf","example-4175":"Taintexample","intro.taint":"Introduction","taint.requirements":"Requirements","taint.installation":"Installation","ini.taint.enable":"","ini.taint.error-level":"","taint.configuration":"Runtime Configuration","taint.resources":"Resource Types","taint.setup":"Installing\/Configuring","taint.detail.basic":"Functions and Statements which will spread the tainted mark of a\n tainted string","taint.detail.taint":"Functions and statements which will check tainted string","taint.detail.untaint":"Functions which untaint the tainted string","taint.detail":"More Details","function.is-tainted":"Checks whether a string is tainted","function.taint":"Taint a string","function.untaint":"Untaint strings","ref.taint":"Taint Functions","book.taint":"Taint","refs.basic.other":"Other Basic Extensions","intro.amqp":"Introduction","amqp.requirements":"Requirements","amqp.installation":"Installation","ini.amqp.host":"","ini.amqp.vhost":"","ini.amqp.port":"","ini.amqp.login":"","ini.amqp.password":"","ini.amqp.auto-ack":"","ini.amqp.min-messages":"","ini.amqp.max-messages":"","ini.amqp.prefetch-count":"","amqp.configuration":"Runtime Configuration","amqp.resources":"Resource Types","amqp.setup":"Installing\/Configuring","constant.amqp-noparam":"","constant.amqp-durable":"","constant.amqp-passive":"","constant.amqp-exclusive":"","constant.amqp-autodelete":"","constant.amqp-internal":"","constant.amqp-nolocal":"","constant.amqp-autoack":"","constant.amqp-ifempty":"","constant.amqp-ifunused":"","constant.amqp-mandatory":"","constant.amqp-immediate":"","constant.amqp-multiple":"","constant.amqp-nowait":"","constant.amqp-ex-type-direct":"","constant.amqp-ex-type-fanout":"","constant.amqp-ex-type-topic":"","constant.amqp-ex-type-header":"","amqp.constants":"Predefined Constants","example-4176":"AMQP Example","amqp.examples":"Examples","amqpconnection.intro":"Introduction","amqpconnection.synopsis":"Class synopsis","example-4177":"AMQPConnection::connect example","amqpconnection.connect":"Establish a connection with the AMQP broker.","example-4178":"AMQPConnection::__construct example","amqpconnection.construct":"Create an instance of AMQPConnection","example-4179":"AMQPConnection::disconnect example","amqpconnection.disconnect":"Closes the connection with the AMQP broker.","amqpconnection.gethost":"Get the configured host","amqpconnection.getlogin":"Get the configured login","amqpconnection.getpassword":"Get the configured password","amqpconnection.getport":"Get the configured port","amqpconnection.gettimeout":"Get the configured timeout","amqpconnection.getvhost":"Get the configured vhost","example-4180":"AMQPConnection::isConnected example","amqpconnection.isconnected":"Determine if the AMQPConnection object is connected to the broker.","example-4181":"AMQPConnection::reconnect example","amqpconnection.reconnect":"Closes any open connection and creates a new connection with the AMQP broker.","example-4182":"AMQPConnection::setHost example","amqpconnection.sethost":"Set the amqp host.","example-4183":"AMQPConnection::setLogin example","amqpconnection.setlogin":"Set the login.","example-4184":"AMQPConnection::setPassword example","amqpconnection.setpassword":"Set the password.","example-4185":"AMQPConnection::setPort example","amqpconnection.setport":"Set the port.","example-4186":"AMQPConnection::setTimeout example","amqpconnection.settimeout":"Set the timeout.","example-4187":"AMQPConnection::setVhost example","amqpconnection.setvhost":"Set the amqp virtual host","class.amqpconnection":"The AMQPConnection class","amqpchannel.intro":"Introduction","amqpchannel.synopsis":"Class synopsis","amqpchannel.committransaction":"Commit a pending transaction","amqpchannel.construct":"Create an instance of an AMQPChannel object","amqpchannel.isconnected":"Check the channel connection","amqpchannel.qos":"Set the Quality Of Service settings for the given channel","amqpchannel.rollbacktransaction":"Rollback a transaction","amqpchannel.setprefetchcount":"Set the number of messages to prefetch from the broker","amqpchannel.setprefetchsize":"Set the window size to prefetch from the broker","amqpchannel.starttransaction":"Start a transaction","class.amqpchannel":"The AMQPChannel class","amqpexchange.intro":"Introduction","amqpexchange.synopsis":"Class synopsis","amqpexchange.bind":"Bind to another exchange","amqpexchange.construct":"Create an instance of AMQPExchange","example-4188":"AMQPExchange::declare example","amqpexchange.declare":"Declare a new exchange on the broker.","example-4189":"AMQPExchange::delete example","amqpexchange.delete":"Delete the exchange from the broker.","amqpexchange.getargument":"Get the argument associated with the given key","amqpexchange.getarguments":"Get all arguments set on the given exchange","amqpexchange.getflags":"Get the flag bitmask","amqpexchange.getname":"Get the configured name","amqpexchange.gettype":"Get the configured type","amqpexchange.publish":"Publish a message to an exchange.","amqpexchange.setargument":"Set the value for the given key","amqpexchange.setarguments":"Set all arguments on the exchange","amqpexchange.setflags":"Set the flags on an exchange","amqpexchange.setname":"Set the name of the exchange","amqpexchange.settype":"Set the type of the exchange","class.amqpexchange":"The AMQPExchange class","amqpqueue.intro":"Introduction","amqpqueue.synopsis":"Class synopsis","example-4190":"AMQPQueue::ack example with AMQPQueue::get","example-4191":"AMQPQueue::ack example with AMQPQueue::consume","amqpqueue.ack":"Acknowledge the receipt of a message","amqpqueue.bind":"Bind the given queue to a routing key on an exchange.","amqpqueue.cancel":"Cancel a queue binding.","amqpqueue.construct":"Create an instance of an AMQPQueue object","example-4192":"AMQPQueue::consume example","amqpqueue.consume":"Consume messages from a queue","amqpqueue.declare":"Declare a new queue","amqpqueue.delete":"Delete a queue and its contents.","example-4193":"AMQPQueue::get example","amqpqueue.get":"Retrieve the next message from the queue.","amqpqueue.getargument":"Get the argument associated with the given key","amqpqueue.getarguments":"Get all arguments set on the given queue","amqpqueue.getflags":"Get the flag bitmask","amqpqueue.getname":"Get the configured name","amqpqueue.nack":"Mark a message as explicitly not acknowledged.","amqpqueue.purge":"Purge the contents of a queue","amqpqueue.setargument":"Set the value for the given key","amqpqueue.setarguments":"Set all arguments on the queue","amqpqueue.setflags":"Set the queue flags","amqpqueue.setname":"Set the queue name","amqpqueue.unbind":"Unbind the queue from a routing key.","class.amqpqueue":"The AMQPQueue class","amqpenvelope.intro":"Introduction","amqpenvelope.synopsis":"Class synopsis","amqpenvelope.getappid":"Get the message appid","amqpenvelope.getbody":"Get the message body","amqpenvelope.getcontentencoding":"Get the message contentencoding","amqpenvelope.getcontenttype":"Get the message contenttype","amqpenvelope.getcorrelationid":"Get the message correlation id","amqpenvelope.getdeliverytag":"Get the message delivery tag","amqpenvelope.getexchange":"Get the message exchange","amqpenvelope.getexpiration":"Get the message expiration","amqpenvelope.getheader":"Get a specific message header","amqpenvelope.getheaders":"Get the message headers","amqpenvelope.getmessageid":"Get the message id","amqpenvelope.getpriority":"Get the message priority","amqpenvelope.getreplyto":"Get the message replyto","amqpenvelope.getroutingkey":"Get the message routing key","amqpenvelope.gettimestamp":"Get the message timestamp","amqpenvelope.gettype":"Get the message type","amqpenvelope.getuserid":"Get the message user id","amqpenvelope.isredelivery":"Whether this is a redelivery of the message","class.amqpenvelope":"The AMQPEnvelope class","book.amqp":"AMQP","intro.chdb":"Introduction","chdb.requirements":"Requirements","chdb.installation":"Installation","chdb.configuration":"Runtime Configuration","chdb.resources":"Resource Types","chdb.setup":"Installing\/Configuring","chdb.constants":"Predefined Constants","example-4194":"Creating a chdb file","example-4195":"Loading and looking up a chdb file","chdb.examples":"Examples","chdb.intro":"Introduction","chdb.synopsis":"Class synopsis","chdb.construct":"Creates a chdb instance","example-4196":"chdb::get example","chdb.get":"Gets the value associated with a key","class.chdb":"The chdb class","example-4197":"chdb_create example","function.chdb-create":"Creates a chdb file","ref.chdb":"chdb Functions","book.chdb":"Constant hash database","intro.curl":"Introduction","curl.requirements":"Requirements","curl.installation":"Installation","ini.curl.cainfo":"","curl.configuration":"Runtime Configuration","curl.resources":"Resource Types","curl.setup":"Installing\/Configuring","constant.curlopt-autoreferer":"","constant.curlopt-cookiesession":"","constant.curlopt-dns-use-global-cache":"","constant.curlopt-dns-cache-timeout":"","constant.curlopt-ftp-ssl":"","constant.curlftpssl-try":"","constant.curlftpssl-all":"","constant.curlftpssl-control":"","constant.curlftpssl-none":"","constant.curlopt-private":"","constant.curlopt-ftpsslauth":"","constant.curlopt-port":"","constant.curlopt-file":"","constant.curlopt-infile":"","constant.curlopt-infilesize":"","constant.curlopt-url":"","constant.curlopt-proxy":"","constant.curlopt-verbose":"","constant.curlopt-header":"","constant.curlopt-httpheader":"","constant.curlopt-noprogress":"","constant.curlopt-nobody":"","constant.curlopt-failonerror":"","constant.curlopt-upload":"","constant.curlopt-post":"","constant.curlopt-ftplistonly":"","constant.curlopt-ftpappend":"","constant.curlopt-ftp-create-missing-dirs":"","constant.curlopt-netrc":"","constant.curlopt-followlocation":"","constant.curlopt-ftpascii":"","constant.curlopt-put":"","constant.curlopt-mute":"","constant.curlopt-userpwd":"","constant.curlopt-proxyuserpwd":"","constant.curlopt-range":"","constant.curlopt-timeout":"","constant.curlopt-timeout-ms":"","constant.curlopt-tcp-nodelay":"","constant.curlopt-postfields":"","constant.curlopt-progressfunction":"","constant.curlopt-referer":"","constant.curlopt-useragent":"","constant.curlopt-ftpport":"","constant.curlopt-ftp-use-epsv":"","constant.curlopt-low-speed-limit":"","constant.curlopt-low-speed-time":"","constant.curlopt-resume-from":"","constant.curlopt-cookie":"","constant.curlopt-sslcert":"","constant.curlopt-sslcertpasswd":"","constant.curlopt-writeheader":"","constant.curlopt-ssl-verifyhost":"","constant.curlopt-cookiefile":"","constant.curlopt-sslversion":"","constant.curlopt-timecondition":"","constant.curlopt-timevalue":"","constant.curlopt-customrequest":"","constant.curlopt-stderr":"","constant.curlopt-transfertext":"","constant.curlopt-returntransfer":"","constant.curlopt-quote":"","constant.curlopt-postquote":"","constant.curlopt-interface":"","constant.curlopt-krb4level":"","constant.curlopt-httpproxytunnel":"","constant.curlopt-filetime":"","constant.curlopt-writefunction":"","constant.curlopt-readfunction":"","constant.curlopt-passwdfunction":"","constant.curlopt-headerfunction":"","constant.curlopt-maxredirs":"","constant.curlopt-maxconnects":"","constant.curlopt-closepolicy":"","constant.curlopt-fresh-connect":"","constant.curlopt-forbid-reuse":"","constant.curlopt-random-file":"","constant.curlopt-egdsocket":"","constant.curlopt-connecttimeout":"","constant.curlopt-connecttimeout-ms":"","constant.curlopt-ssl-verifypeer":"","constant.curlopt-cainfo":"","constant.curlopt-capath":"","constant.curlopt-cookiejar":"","constant.curlopt-ssl-cipher-list":"","constant.curlopt-binarytransfer":"","constant.curlopt-nosignal":"","constant.curlopt-proxytype":"","constant.curlopt-buffersize":"","constant.curlopt-httpget":"","constant.curlopt-http-version":"","constant.curlopt-sslkey":"","constant.curlopt-sslkeytype":"","constant.curlopt-sslkeypasswd":"","constant.curlopt-sslengine":"","constant.curlopt-sslengine-default":"","constant.curlopt-sslcerttype":"","constant.curlopt-crlf":"","constant.curlopt-encoding":"","constant.curlopt-proxyport":"","constant.curlopt-unrestricted-auth":"","constant.curlopt-ftp-use-eprt":"","constant.curlopt-http200aliases":"","constant.curlopt-httpauth":"","constant.curlauth-basic":"","constant.curlauth-digest":"","constant.curlauth-gssnegotiate":"","constant.curlauth-ntlm":"","constant.curlauth-any":"","constant.curlauth-anysafe":"","constant.curlopt-proxyauth":"","constant.curlopt-max-recv-speed-large":"","constant.curlopt-max-send-speed-large":"","constant.curlclosepolicy-least-recently-used":"","constant.curlclosepolicy-least-traffic":"","constant.curlclosepolicy-slowest":"","constant.curlclosepolicy-callback":"","constant.curlclosepolicy-oldest":"","constant.curlinfo-private":"","constant.curlinfo-effective-url":"","constant.curlinfo-http-code":"","constant.curlinfo-header-out":"","constant.curlinfo-header-size":"","constant.curlinfo-request-size":"","constant.curlinfo-total-time":"","constant.curlinfo-namelookup-time":"","constant.curlinfo-connect-time":"","constant.curlinfo-pretransfer-time":"","constant.curlinfo-size-upload":"","constant.curlinfo-size-download":"","constant.curlinfo-speed-download":"","constant.curlinfo-speed-upload":"","constant.curlinfo-filetime":"","constant.curlinfo-ssl-verifyresult":"","constant.curlinfo-content-length-download":"","constant.curlinfo-content-length-upload":"","constant.curlinfo-starttransfer-time":"","constant.curlinfo-content-type":"","constant.curlinfo-redirect-time":"","constant.curlinfo-redirect-count":"","constant.curl-timecond-ifmodsince":"","constant.curl-timecond-ifunmodsince":"","constant.curl-timecond-lastmod":"","constant.curl-version-ipv6":"","constant.curl-version-kerberos4":"","constant.curl-version-ssl":"","constant.curl-version-libz":"","constant.curlversion-now":"","constant.curle-ok":"","constant.curle-unsupported-protocol":"","constant.curle-failed-init":"","constant.curle-url-malformat":"","constant.curle-url-malformat-user":"","constant.curle-couldnt-resolve-proxy":"","constant.curle-couldnt-resolve-host":"","constant.curle-couldnt-connect":"","constant.curle-ftp-weird-server-reply":"","constant.curle-ftp-access-denied":"","constant.curle-ftp-user-password-incorrect":"","constant.curle-ftp-weird-pass-reply":"","constant.curle-ftp-weird-user-reply":"","constant.curle-ftp-weird-pasv-reply":"","constant.curle-ftp-weird-227-format":"","constant.curle-ftp-cant-get-host":"","constant.curle-ftp-cant-reconnect":"","constant.curle-ftp-couldnt-set-binary":"","constant.curle-partial-file":"","constant.curle-ftp-couldnt-retr-file":"","constant.curle-ftp-write-error":"","constant.curle-ftp-quote-error":"","constant.curle-http-not-found":"","constant.curle-write-error":"","constant.curle-malformat-user":"","constant.curle-ftp-couldnt-stor-file":"","constant.curle-read-error":"","constant.curle-out-of-memory":"","constant.curle-operation-timeouted":"","constant.curle-ftp-couldnt-set-ascii":"","constant.curle-ftp-port-failed":"","constant.curle-ftp-couldnt-use-rest":"","constant.curle-ftp-couldnt-get-size":"","constant.curle-http-range-error":"","constant.curle-http-post-error":"","constant.curle-ssl-connect-error":"","constant.curle-ftp-bad-download-resume":"","constant.curle-file-couldnt-read-file":"","constant.curle-ldap-cannot-bind":"","constant.curle-ldap-search-failed":"","constant.curle-library-not-found":"","constant.curle-function-not-found":"","constant.curle-aborted-by-callback":"","constant.curle-bad-function-argument":"","constant.curle-bad-calling-order":"","constant.curle-http-port-failed":"","constant.curle-bad-password-entered":"","constant.curle-too-many-redirects":"","constant.curle-unknown-telnet-option":"","constant.curle-telnet-option-syntax":"","constant.curle-obsolete":"","constant.curle-ssl-peer-certificate":"","constant.curle-got-nothing":"","constant.curle-ssl-engine-notfound":"","constant.curle-ssl-engine-setfailed":"","constant.curle-send-error":"","constant.curle-recv-error":"","constant.curle-share-in-use":"","constant.curle-ssl-certproblem":"","constant.curle-ssl-cipher":"","constant.curle-ssl-cacert":"","constant.curle-bad-content-encoding":"","constant.curle-ldap-invalid-url":"","constant.curle-filesize-exceeded":"","constant.curle-ftp-ssl-failed":"","constant.curlftpauth-default":"","constant.curlftpauth-ssl":"","constant.curlftpauth-tls":"","constant.curlproxy-http":"","constant.curlproxy-socks5":"","constant.curl-netrc-optional":"","constant.curl-netrc-ignored":"","constant.curl-netrc-required":"","constant.curl-http-version-none":"","constant.curl-http-version-1-0":"","constant.curl-http-version-1-1":"","constant.curlm-call-multi-perform":"","constant.curlm-ok":"","constant.curlm-bad-handle":"","constant.curlm-bad-easy-handle":"","constant.curlm-out-of-memory":"","constant.curlm-internal-error":"","constant.curlmsg-done":"","constant.curlopt-keypasswd":"","constant.curlopt-ssh-auth-types":"","constant.curlopt-ssh-host-public-key-md5":"","constant.curlopt-ssh-private-keyfile":"","constant.curlopt-ssh-public-keyfile":"","constant.curlmopt-pipelining":"","constant.curlmopt-maxconnects":"","constant.curlssh-auth-any":"","constant.curlssh-auth-default":"","constant.curlssh-auth-host":"","constant.curlssh-auth-keyboard":"","constant.curlssh-auth-none":"","constant.curlssh-auth-password":"","constant.curlssh-auth-publickey":"","constant.curl-wrappers-enabled":"","curl.constants":"Predefined Constants","example-4198":"Using PHP's cURL module to fetch the example.com homepage","curl.examples-basic":"Basic curl example","curl.examples":"Examples","example-4199":"Initializing a new cURL session and fetching a web page","function.curl-close":"Close a cURL session","example-4200":"Copying a cURL handle","function.curl-copy-handle":"Copy a cURL handle along with all of its preferences","example-4201":"curl_errno example","function.curl-errno":"Return the last error number","example-4202":"curl_error example","function.curl-error":"Return a string containing the last error for the current session","example-4203":"curl_escape example","function.curl-escape":"URL encodes the given string","example-4204":"Fetching a web page","function.curl-exec":"Perform a cURL session","function.curl-file-create":"Create a CURLFile object","example-4205":"curl_getinfo example","function.curl-getinfo":"Get information regarding a specific transfer","example-4206":"Initializing a new cURL session and fetching a web page","function.curl-init":"Initialize a cURL session","example-4207":"curl_multi_add_handle example","function.curl-multi-add-handle":"Add a normal cURL handle to a cURL multi handle","example-4208":"curl_multi_close example","function.curl-multi-close":"Close a set of cURL handles","example-4209":"curl_multi_exec example","function.curl-multi-exec":"Run the sub-connections of the current cURL handle","function.curl-multi-getcontent":"Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set","example-4210":"A curl_multi_info_read example","function.curl-multi-info-read":"Get information about the current transfers","example-4211":"curl_multi_init example","function.curl-multi-init":"Returns a new cURL multi handle","function.curl-multi-remove-handle":"Remove a multi handle from a set of cURL handles","function.curl-multi-select":"Wait for activity on any curl_multi connection","function.curl-multi-setopt":"Set an option for the cURL multi handle","example-4212":"curl_multi_strerror example","function.curl-multi-strerror":"Return string describing error code","function.curl-pause":"Pause and unpause a connection","example-4213":"curl_reset example","function.curl-reset":"Reset all options of a libcurl session handle","example-4214":"Initializing a new cURL session and fetching a web page","example-4215":"Our own implementation of curl_setopt_array","function.curl-setopt-array":"Set multiple options for a cURL transfer","example-4216":"Initializing a new cURL session and fetching a web page","example-4217":"Uploading file","function.curl-setopt":"Set an option for a cURL transfer","example-4218":"curl_share_setopt example","function.curl-share-close":"Close a cURL share handle","example-4219":"curl_share_init example","function.curl-share-init":"Initialize a cURL share handle","example-4220":"curl_share_setopt example","function.curl-share-setopt":"Set an option for a cURL share handle.","example-4221":"curl_errno example","function.curl-strerror":"Return string describing the given error code","example-4222":"curl_escape example","function.curl-unescape":"Decodes the given URL encoded string","example-4223":"curl_version example","function.curl-version":"Gets cURL version information","ref.curl":"cURL Functions","curlfile.intro":"Introduction","curlfile.synopsis":"Class synopsis","curlfile.props.name":"","curlfile.props.mime":"","curlfile.props.postname":"","curlfile.props":"Properties","example-4224":"CURLFile::__construct example","curlfile.construct":"Create a CURLFile object","curlfile.getfilename":"Get file name","curlfile.getmimetype":"Get MIME type","curlfile.getpostfilename":"Get file name for POST","curlfile.setmimetype":"Set MIME type","curlfile.setpostfilename":"Set file name for POST","curlfile.wakeup":"Unserialization handler","class.curlfile":"The CURLFile class","book.curl":"Client URL Library","intro.event":"Introduction","event.requirements":"Requirements","event.installation":"Installation","event.configuration":"Runtime Configuration","event.resources":"Resource Types","event.setup":"Installing\/Configuring","example-4225":"Simple HTTP client","example-4226":"HTTP client using asynchronous DNS resolver","example-4227":"Echo server","example-4228":"SSL echo server","example-4229":"Signal handler","example-4230":"Use libevent's loop to process requests of `eio' extension","example-4231":"Miscellaneous","example-4232":"Simple HTTP server","example-4233":"EventHttpConnection::makeRequest example","example-4234":"Connection listener based on a UNIX domain socket","event.example.smtp":"Simple SMTP server","event.examples":"Examples","event.flags":"Event flags","event.persistence":"About event persistence","event.callbacks":"Event callbacks","example-4236":"Handling SIGTERM signal","event.constructing.signal.events":"Constructing signal events","event.intro":"Introduction","event.synopsis":"Class synopsis","event.props.pending":"","event.props":"Properties","event.constants.et":"","event.constants.persist":"","event.constants.read":"","event.constants.write":"","event.constants.signal":"","event.constants.timeout":"","event.constants":"Predefined Constants","event.add":"Makes event pending","example-4237":"Event::addSignal example","event.addsignal":"Makes signal event pending","example-4238":"Event::addTimer example","event.addtimer":"Makes timer event pending","event.construct":"Constructs Event object","event.del":"Makes event non-pending","event.delsignal":"Makes signal event non-pending","event.deltimer":"Makes timer event non-pending","event.free":"Make event non-pending and free resources allocated for this\n event.","event.getsupportedmethods":"Returns array with of the names of the methods supported in this version of Libevent","event.pending":"Detects whether event is pending or scheduled","event.set":"Re-configures event","event.setpriority":"Set event priority","event.settimer":"Re-configures timer event","event.signal":"Constructs signal event object","event.timer":"Constructs timer event object","class.event":"The Event class","eventbase.object-dtor-warning":"","eventbase.intro":"Introduction","eventbase.synopsis":"Class synopsis","eventbase.constants.loop-once":"","eventbase.constants.loop-nonblock":"","eventbase.constants.nolock":"","eventbase.constants.startup-iocp":"","eventbase.constants.no-cache-time":"","eventbase.constants.epoll-use-changelist":"","eventbase.constants":"Predefined Constants","eventbase.construct":"Constructs EventBase object","eventbase.dispatch":"Dispatch pending events","eventbase.exit":"Stop dispatching events","example-4239":"EventBase::getFeatures example","eventbase.getfeatures":"Returns bitmask of features supported","example-4240":"EventBase::getMethod example","eventbase.getmethod":"Returns event method in use","eventbase.gettimeofdaycached":"Returns the current event base time","eventbase.gotexit":"Checks if the event loop was told to exit","eventbase.gotstop":"Checks if the event loop was told to exit","eventbase.loop":"Dispatch pending events","eventbase.priorityinit":"Sets number of priorities per event base","eventbase.reinit":"Re-initialize event base(after a fork).","eventbase.stop":"Tells event_base to stop dispatching events","class.eventbase":"The EventBase class","eventbuffer.intro":"Introduction","eventbuffer.synopsis":"Class synopsis","eventbuffer.props.length":"","eventbuffer.props.contiguous-space":"","eventbuffer.props":"Properties","eventbuffer.constants.eol-any":"","eventbuffer.constants.eol-crlf":"","eventbuffer.constants.eol-crlf-strict":"","eventbuffer.constants.eol-lf":"","eventbuffer.constants.ptr-set":"","eventbuffer.constants.ptr-add":"","eventbuffer.constants":"Predefined Constants","eventbuffer.add":"Append data to the end of an event buffer","eventbuffer.addbuffer":"Move all data from a buffer provided to the current instance of EventBuffer","eventbuffer.appendfrom":"Moves the specified number of bytes from a source buffer to the\n end of the current buffer","eventbuffer.construct":"Constructs EventBuffer object","eventbuffer.copyout":"Copies out specified number of bytes from the front of the buffer","eventbuffer.drain":"Removes specified number of bytes from the front of the buffer\n without copying it anywhere","eventbuffer.enablelocking":"Description","eventbuffer.expand":"Reserves space in buffer","eventbuffer.freeze":"Prevent calls that modify an event buffer from succeeding","eventbuffer.lock":"Acquires a lock on buffer","eventbuffer.prepend":"Prepend data to the front of the buffer","eventbuffer.prependbuffer":"Moves all data from source buffer to the front of current buffer","eventbuffer.pullup":"Linearizes data within buffer\n and returns it's contents as a string","eventbuffer.read":"Read data from an evbuffer and drain the bytes read","eventbuffer.readfrom":"Read data from a file onto the end of the buffer","eventbuffer.readline":"Extracts a line from the front of the buffer","example-4241":"EventBuffer::search example","eventbuffer.search":"Scans the buffer for an occurrence of a string","eventbuffer.searcheol":"Scans the buffer for an occurrence of an end of line","eventbuffer.substr":"Substracts a portion of the buffer data","eventbuffer.unfreeze":"Re-enable calls that modify an event buffer","eventbuffer.unlock":"Releases lock acquired by EventBuffer::lock","eventbuffer.write":"Write contents of the buffer to a file or socket","class.eventbuffer":"The EventBuffer class","eventbufferevent.intro":"Introduction","eventbufferevent.synopsis":"Class synopsis","eventbufferevent.props.fd":"","eventbufferevent.props.priority":"","eventbufferevent.props.input":"","eventbufferevent.props.output":"","eventbufferevent.props":"Properties","eventbufferevent.constants.reading":"","eventbufferevent.constants.writing":"","eventbufferevent.constants.eof":"","eventbufferevent.constants.error":"","eventbufferevent.constants.timeout":"","eventbufferevent.constants.connected":"","eventbufferevent.constants.opt-close-on-free":"","eventbufferevent.constants.opt-threadsafe":"","eventbufferevent.constants.opt-defer-callbacks":"","eventbufferevent.constants.opt-unlock-callbacks":"","eventbufferevent.constants.ssl-open":"","eventbufferevent.constants.ssl-connecting":"","eventbufferevent.constants.ssl-accepting":"","eventbufferevent.constants":"Predefined Constants","example-4242":"EventBufferEvent::connect example","example-4243":"Connect to UNIX domain socket which presumably is served by a server, read response from\n the server and output it to the console","eventbufferevent.connect":"Connect buffer event's file descriptor to given address or\n UNIX socket","example-4244":"EventBufferEvent::connectHost example","eventbufferevent.connecthost":"Connects to a hostname with optionally asyncronous DNS resolving","eventbufferevent.construct":"Constructs EventBufferEvent object","eventbufferevent.createpair":"Creates two buffer events connected to each other","eventbufferevent.disable":"Disable events read, write, or both on a buffer event.","eventbufferevent.enable":"Enable events read, write, or both on a buffer event.","eventbufferevent.free":"Free a buffer event","eventbufferevent.getdnserrorstring":"Returns string describing the last failed DNS lookup attempt","eventbufferevent.getenabled":"Returns bitmask of events currently enabled on the buffer event","example-4245":"Buffer event's read callback","eventbufferevent.getinput":"Returns underlying input buffer associated with current buffer\n event","example-4246":"EventBufferEvent::getOutput example","eventbufferevent.getoutput":"Returns underlying output buffer associated with current buffer\n event","eventbufferevent.read":"Read buffer's data","eventbufferevent.readbuffer":"Drains the entire contents of the input buffer and places them into buf","eventbufferevent.setcallbacks":"Assigns read, write and event(status) callbacks","eventbufferevent.setpriority":"Assign a priority to a bufferevent","eventbufferevent.settimeouts":"Set the read and write timeout for a buffer event","eventbufferevent.setwatermark":"Adjusts read and\/or write watermarks","example-4247":"EventBufferEvent::sslError example","eventbufferevent.sslerror":"Returns most recent OpenSSL error reported on the buffer event","example-4248":"Simple SMTP server","eventbufferevent.sslfilter":"Create a new SSL buffer event to send its data over another buffer event","eventbufferevent.sslrenegotiate":"Tells a bufferevent to begin SSL renegotiation.","eventbufferevent.sslsocket":"Creates a new SSL buffer event to send its data over an SSL on a socket","eventbufferevent.write":"Adds data to a buffer event's output buffer","eventbufferevent.writebuffer":"Adds contents of the entire buffer to a buffer event's output\n buffer","class.eventbufferevent":"The EventBufferEvent class","eventbufferevent.about.callbacks":"About buffer event callbacks","eventconfig.intro":"Introduction","eventconfig.synopsis":"Class synopsis","eventconfig.constants.feature-et":"","eventconfig.constants.feature-o1":"","eventconfig.constants.feature-fds":"","eventconfig.constants":"Predefined Constants","example-4249":"EventConfig::avoidMethod example","eventconfig.avoidmethod":"Tells libevent to avoid specific event method","example-4250":"EventConfig::__construct example","eventconfig.construct":"Constructs EventConfig object","example-4251":"EventConfig::requireFeatures example","eventconfig.requirefeatures":"Enters a required event method feature that the application demands","eventconfig.setmaxdispatchinterval":"Prevents priority inversion","class.eventconfig":"The EventConfig class","eventdnsbase.intro":"Introduction","eventdnsbase.synopsis":"Class synopsis","eventdnsbase.constants.option-search":"","eventdnsbase.constants.option-nameservers":"","eventdnsbase.constants.option-misc":"","eventdnsbase.constants.option-hostsfile":"","eventdnsbase.constants.options-all":"","eventdnsbase.constants":"Predefined Constants","eventdnsbase.addnameserverip":"Adds a nameserver to the DNS base","eventdnsbase.addsearch":"Adds a domain to the list of search domains","eventdnsbase.clearsearch":"Removes all current search suffixes","eventdnsbase.construct":"Constructs EventDnsBase object","eventdnsbase.countnameservers":"Gets the number of configured nameservers","eventdnsbase.loadhosts":"Loads a hosts file (in the same format as \/etc\/hosts) from hosts file","eventdnsbase.parseresolvconf":"Scans the resolv.conf-formatted file","eventdnsbase.setoption":"Set the value of a configuration option","eventdnsbase.setsearchndots":"Set the 'ndots' parameter for searches","class.eventdnsbase":"The EventDnsBase class","eventhttp.intro":"Introduction","eventhttp.synopsis":"Class synopsis","example-4252":"EventHttp::accept example","eventhttp.accept":"Makes an HTTP server accept connections on the specified socket stream or resource","example-4253":"EventHttp::addServerAlias example","eventhttp.addserveralias":"Adds a server alias to the HTTP server object","example-4254":"EventHttp::bind example","eventhttp.bind":"Binds an HTTP server on the specified address and port","example-4255":"Simple HTTP server","eventhttp.construct":"Constructs EventHttp object(the HTTP server)","eventhttp.removeserveralias":"Removes server alias","eventhttp.setallowedmethods":"Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks","example-4256":"EventHttp::setCallback example","eventhttp.setcallback":"Sets a callback for specified URI","example-4257":"EventHttp::setDefaultCallback example","eventhttp.setdefaultcallback":"Sets default callback to handle requests that are not caught by specific callbacks","eventhttp.setmaxbodysize":"Sets maximum request body size","eventhttp.setmaxheaderssize":"Sets maximum HTTP header size","eventhttp.settimeout":"Sets the timeout for an HTTP request","class.eventhttp":"The EventHttp class","eventhttpconnection.intro":"Introduction","eventhttpconnection.synopsis":"Class synopsis","eventhttpconnection.construct":"Constructs EventHttpConnection object","eventhttpconnection.getbase":"Returns event base associated with the connection","eventhttpconnection.getpeer":"Gets the remote address and port associated with the connection","example-4258":"EventHttpConnection::makeRequest example","eventhttpconnection.makerequest":"Makes an HTTP request over the specified connection","example-4259":"EventHttpConnection::setCloseCallback example","eventhttpconnection.setclosecallback":"Set callback for connection close","eventhttpconnection.setlocaladdress":"Sets the IP address from which HTTP connections are made","eventhttpconnection.setlocalport":"Sets the local port from which connections are made","eventhttpconnection.setmaxbodysize":"Sets maximum body size for the connection","eventhttpconnection.setmaxheaderssize":"Sets maximum header size","eventhttpconnection.setretries":"Sets the retry limit for the connection","eventhttpconnection.settimeout":"Sets the timeout for the connection","class.eventhttpconnection":"The EventHttpConnection class","eventhttprequest.intro":"Introduction","eventhttprequest.synopsis":"Class synopsis","eventhttprequest.constants.cmd-get":"","eventhttprequest.constants.cmd-post":"","eventhttprequest.constants.cmd-head":"","eventhttprequest.constants.cmd-put":"","eventhttprequest.constants.cmd-delete":"","eventhttprequest.constants.cmd-options":"","eventhttprequest.constants.cmd-trace":"","eventhttprequest.constants.cmd-connect":"","eventhttprequest.constants.cmd-patch":"","eventhttprequest.constants.input-header":"","eventhttprequest.constants.output-header":"","eventhttprequest.constants":"Predefined Constants","eventhttprequest.addheader":"Adds an HTTP header to the headers of the request","eventhttprequest.cancel":"Cancels a pending HTTP request","eventhttprequest.clearheaders":"Removes all output headers from the header list of the request","eventhttprequest.closeconnection":"Closes associated HTTP connection","example-4260":"EventHttpRequest::__construct example","eventhttprequest.construct":"Constructs EventHttpRequest object","eventhttprequest.findheader":"Finds the value belonging a header","eventhttprequest.free":"Frees the object and removes associated events","eventhttprequest.getbufferevent":"Returns EventBufferEvent object","eventhttprequest.getcommand":"Returns the request command(method)","eventhttprequest.getconnection":"Returns EventHttpConnection object","eventhttprequest.gethost":"Returns the request host","eventhttprequest.getinputbuffer":"Returns the input buffer","eventhttprequest.getinputheaders":"Returns associative array of the input headers","eventhttprequest.getoutputbuffer":"Returns the output buffer of the request","eventhttprequest.getoutputheaders":"Returns associative array of the input headers","eventhttprequest.getresponsecode":"Returns the the response code","eventhttprequest.geturi":"Returns the request URI","eventhttprequest.removeheader":"Removes an HTTP header from the headers of the request","example-4261":"EventHttpRequest::sendError example","eventhttprequest.senderror":"Send an HTML error message to the client","eventhttprequest.sendreply":"Send an HTML reply to the client","eventhttprequest.sendreplychunk":"Send another data chunk as part of an ongoing chunked reply","eventhttprequest.sendreplyend":"Complete a chunked reply, freeing the request as appropriate","eventhttprequest.sendreplystart":"Initiate a chunked reply","class.eventhttprequest":"The EventHttpRequest class","eventlistener.intro":"Introduction","eventlistener.synopsis":"Class synopsis","eventlistener.props.fd":"","eventlistener.props":"Properties","eventlistener.constants.opt-leave-sockets-blocking":"","eventlistener.constants.opt-close-on-free":"","eventlistener.constants.opt-close-on-exec":"","eventlistener.constants.opt-reuseable":"","eventlistener.constants.opt-threadsafe":"","eventlistener.constants":"Predefined Constants","example-4262":"EventListener::__construct example","eventlistener.construct":"Creates new connection listener associated with an event base","eventlistener.disable":"Disables an event connect listener object","eventlistener.enable":"Enables an event connect listener object","eventlistener.getbase":"Returns event base associated with the event listener","eventlistener.getsocketname":"Retreives the current address to which the\n listener's socket is bound.","eventlistener.setcallback":"The setCallback purpose","eventlistener.seterrorcallback":"Set event listener's error callback","class.eventlistener":"The EventListener class","eventsslcontext.intro":"Introduction","eventsslcontext.synopsis":"Class synopsis","eventsslcontext.props.local-cert":"","eventsslcontext.props.local-pk":"","eventsslcontext.props":"Properties","eventsslcontext.constants.sslv2-client-method":"","eventsslcontext.constants.sslv3-client-method":"","eventsslcontext.constants.sslv23-client-method":"","eventsslcontext.constants.tls-client-method":"","eventsslcontext.constants.sslv2-server-method":"","eventsslcontext.constants.sslv3-server-method":"","eventsslcontext.constants.sslv23-server-method":"","eventsslcontext.constants.tls-server-method":"","eventsslcontext.constants.opt-local-cert":"","eventsslcontext.constants.opt-local-pk":"","eventsslcontext.constants.opt-passphrase":"","eventsslcontext.constants.opt-ca-file":"","eventsslcontext.constants.opt-ca-path":"","eventsslcontext.constants.opt-allow-self-signed":"","eventsslcontext.constants.opt-verify-peer":"","eventsslcontext.constants.opt-verify-depth":"","eventsslcontext.constants.opt-ciphers":"","eventsslcontext.constants":"Predefined Constants","example-4263":"EventSslContext::__construct example","eventsslcontext.construct":"Constructs an OpenSSL context for use with Event classes","class.eventsslcontext":"The EventSslContext class","eventutil.intro":"Introduction","eventutil.synopsis":"Class synopsis","eventutil.constants.af-inet":"","eventutil.constants.af-inet6":"","eventutil.constants.af-unspec":"","eventutil.constants.so-debug":"","eventutil.constants.so-reuseaddr":"","eventutil.constants.so-keepalive":"","eventutil.constants.so-dontroute":"","eventutil.constants.so-linger":"","eventutil.constants.so-broadcast":"","eventutil.constants.so-oobinline":"","eventutil.constants.so-sndbuf":"","eventutil.constants.so-rcvbuf":"","eventutil.constants.so-sndlowat":"","eventutil.constants.so-rcvlowat":"","eventutil.constants.so-sndtimeo":"","eventutil.constants.so-rcvtimeo":"","eventutil.constants.so-type":"","eventutil.constants.so-error":"","eventutil.constants.sol-socket":"","eventutil.constants.sol-tcp":"","eventutil.constants.sol-udp":"","eventutil.constants.ipproto-ip":"","eventutil.constants.ipproto-ipv6":"","eventutil.constants.libevent-version-number":"","eventutil.constants":"Predefined Constants","eventutil.construct":"The abstract constructor","eventutil.getlastsocketerrno":"Returns the most recent socket error number","eventutil.getlastsocketerror":"Returns the most recent socket error","eventutil.getsocketfd":"Returns numeric file descriptor of a socket, or stream","eventutil.getsocketname":"Retreives the current address to which the\n socket is bound.","eventutil.setsocketoption":"Sets socket options","eventutil.sslrandpoll":"Generates entropy by means of OpenSSL's RAND_poll()","class.eventutil":"The EventUtil class","book.event":"Event","intro.fam":"Introduction","fam.requirements":"Requirements","fam.installation":"Installation","fam.configuration":"Runtime Configuration","fam.resources":"Resource Types","fam.setup":"Installing\/Configuring","fam.constants":"Predefined Constants","function.fam-cancel-monitor":"Terminate monitoring","function.fam-close":"Close FAM connection","function.fam-monitor-collection":"Monitor a collection of files in a directory for changes","function.fam-monitor-directory":"Monitor a directory for changes","function.fam-monitor-file":"Monitor a regular file for changes","function.fam-next-event":"Get next pending FAM event","function.fam-open":"Open connection to FAM daemon","function.fam-pending":"Check for pending FAM events","function.fam-resume-monitor":"Resume suspended monitoring","function.fam-suspend-monitor":"Temporarily suspend monitoring","ref.fam":"FAM Functions","book.fam":"File Alteration Monitor","intro.ftp":"Introduction","ftp.requirements":"Requirements","ftp.installation":"Installation","ftp.configuration":"Runtime Configuration","ftp.resources":"Resource Types","ftp.setup":"Installing\/Configuring","constant.ftp-ascii":"","constant.ftp-text":"","constant.ftp-binary":"","constant.ftp-image":"","constant.ftp-timeout-sec":"","constant.ftp-autoseek":"","constant.ftp-autoresume":"","constant.ftp-failed":"","constant.ftp-finished":"","constant.ftp-moredata":"","ftp.constants":"Predefined Constants","example-4264":"FTP example","ftp.examples-basic":"Basic usage","ftp.examples":"Examples","example-4265":"ftp_alloc example","function.ftp-alloc":"Allocates space for a file to be uploaded","example-4266":"ftp_cdup example","function.ftp-cdup":"Changes to the parent directory","example-4267":"ftp_chdir example","function.ftp-chdir":"Changes the current directory on a FTP server","example-4268":"ftp_chmod example","function.ftp-chmod":"Set permissions on a file via FTP","example-4269":"ftp_close example","function.ftp-close":"Closes an FTP connection","example-4270":"ftp_connect example","function.ftp-connect":"Opens an FTP connection","example-4271":"ftp_delete example","function.ftp-delete":"Deletes a file on the FTP server","example-4272":"ftp_exec example","function.ftp-exec":"Requests execution of a command on the FTP server","example-4273":"ftp_fget example","function.ftp-fget":"Downloads a file from the FTP server and saves to an open file","example-4274":"ftp_fput example","function.ftp-fput":"Uploads from an open file to the FTP server","example-4275":"ftp_get_option example","function.ftp-get-option":"Retrieves various runtime behaviours of the current FTP stream","example-4276":"ftp_get example","function.ftp-get":"Downloads a file from the FTP server","example-4277":"ftp_login example","function.ftp-login":"Logs in to an FTP connection","example-4278":"ftp_mdtm example","function.ftp-mdtm":"Returns the last modified time of the given file","example-4279":"ftp_mkdir example","function.ftp-mkdir":"Creates a directory","example-4280":"ftp_nb_continue example","function.ftp-nb-continue":"Continues retrieving\/sending a file (non-blocking)","example-4281":"ftp_nb_fget example","function.ftp-nb-fget":"Retrieves a file from the FTP server and writes it to an open file (non-blocking)","example-4282":"ftp_nb_fput example","function.ftp-nb-fput":"Stores a file from an open file to the FTP server (non-blocking)","example-4283":"ftp_nb_get example","example-4284":"Resuming a download with ftp_nb_get","example-4285":"Resuming a download at position 100 to a new\n file with ftp_nb_get","function.ftp-nb-get":"Retrieves a file from the FTP server and writes it to a local file (non-blocking)","example-4286":"ftp_nb_put example","example-4287":"Resuming an upload with ftp_nb_put","function.ftp-nb-put":"Stores a file on the FTP server (non-blocking)","example-4288":"ftp_nlist example","function.ftp-nlist":"Returns a list of files in the given directory","example-4289":"ftp_pasv example","function.ftp-pasv":"Turns passive mode on or off","example-4290":"ftp_put example","function.ftp-put":"Uploads a file to the FTP server","example-4291":"ftp_pwd example","function.ftp-pwd":"Returns the current directory name","function.ftp-quit":"Alias of ftp_close","example-4292":"Using ftp_raw to login to an FTP server manually.","function.ftp-raw":"Sends an arbitrary command to an FTP server","example-4293":"ftp_rawlist example","function.ftp-rawlist":"Returns a detailed list of files in the given directory","example-4294":"ftp_rename example","function.ftp-rename":"Renames a file or a directory on the FTP server","example-4295":"ftp_rmdir example","function.ftp-rmdir":"Removes a directory","example-4296":"ftp_set_option example","function.ftp-set-option":"Set miscellaneous runtime FTP options","example-4297":"Sending a SITE command to an ftp server","function.ftp-site":"Sends a SITE command to the server","example-4298":"ftp_size example","function.ftp-size":"Returns the size of the given file","example-4299":"ftp_ssl_connect example","function.ftp-ssl-connect":"Opens an Secure SSL-FTP connection","example-4300":"ftp_systype example","function.ftp-systype":"Returns the system type identifier of the remote FTP server","ref.ftp":"FTP Functions","book.ftp":"FTP","intro.gearman":"Introduction","gearman.requirements":"Requirements","gearman.installation":"Installation","gearman.configuration":"Runtime Configuration","gearman.resources":"Resource Types","gearman.setup":"Installing\/Configuring","constant.gearman-success":"","constant.gearman-io-wait":"","constant.gearman-errno":"","constant.gearman-no-active-fds":"","constant.gearman-unexpected-packet":"","constant.gearman-getaddrinfo":"","constant.gearman-no-servers":"","constant.gearman-lost-connection":"","constant.gearman-memory-allocation-failure":"","constant.gearman-server-error":"","constant.gearman-work-data":"","constant.gearman-work-warning":"","constant.gearman-work-status":"","constant.gearman-work-exception":"","constant.gearman-work-fail":"","constant.gearman-could-not-connect":"","constant.gearman-invalid-function-name":"","constant.gearman-invalid-worker-function":"","constant.gearman-no-registered-functions":"","constant.gearman-no-jobs":"","constant.gearman-echo-data-corruption":"","constant.gearman-need-workload-fn":"","constant.gearman-pause":"","constant.gearman-unknown-state":"","constant.gearman-send-buffer-too-small":"","constant.gearman-timeout":"","constant.gearman-client-non-blocking":"","constant.gearman-client-unbuffered-result":"","constant.gearman-client-free-tasks":"","constant.gearman-worker-non-blocking":"","constant.gearman-worker-grab-uniq":"","constant.gearman-default-tcp-host":"","constant.gearman-default-tcp-port":"","constant.gearman-default-socket-timeout":"","constant.gearman-default-socket-send-size":"","constant.gearman-default-socket-recv-size":"","constant.gearman-max-error-size":"","constant.gearman-packet-header-size":"","constant.gearman-job-handle-size":"","constant.gearman-option-size":"","constant.gearman-unique-size":"","constant.gearman-max-command-args":"","constant.gearman-args-buffer-size":"","constant.gearman-send-buffer-size":"","constant.gearman-recv-buffer-size":"","constant.gearman-worker-wait-timeout":"","gearman.constants":"Predefined Constants","example-4301":"Basic Gearman client and worker","gearman.examples-reverse":"Basic usage","example-4302":"Basic Gearman client and worker, background","gearman.examples-reverse-bg":"Basic Gearman client and worker, background","example-4303":"Basic Gearman client and worker, submitting tasks","gearman.examples-reverse-task":"Basic Gearman client and worker, submitting tasks","gearman.examples":"Examples","gearmanclient.intro":"Introduction","gearmanclient.synopsis":"Class synopsis","gearmanclient.addoptions":"Add client options","example-4304":"Adding two job servers","gearmanclient.addserver":"Add a job server to the client","example-4305":"Add two job servers","gearmanclient.addservers":"Add a list of job servers to the client","example-4306":"Basic submission of two tasks","example-4307":"Basic submission of two tasks with passing application context","gearmanclient.addtask":"Add a task to be run in parallel","example-4308":"Two tasks, one background and one not","gearmanclient.addtaskbackground":"Add a background task to be run in parallel","example-4309":"A high priority task along with two normal tasks","gearmanclient.addtaskhigh":"Add a high priority task to run in parallel","gearmanclient.addtaskhighbackground":"Add a high priority background task to be run in parallel","example-4310":"A low priority task along with two normal tasks","gearmanclient.addtasklow":"Add a low priority task to run in parallel","gearmanclient.addtasklowbackground":"Add a low priority background task to be run in parallel","example-4311":"Monitor completion of multiple background tasks","gearmanclient.addtaskstatus":"Add a task to get status","gearmanclient.clearcallbacks":"Clear all task callback functions","gearmanclient.clone":"Create a copy of a GearmanClient object","gearmanclient.construct":"Create a GearmanClient instance","gearmanclient.context":"Get the application context","gearmanclient.data":"Get the application data (deprecated)","example-4312":"Simple job submission with immediate return","example-4313":"Submitting a job and retrieving incremental status","gearmanclient.do":"Run a single task and return a result [deprecated]","example-4314":"Submit and monitor a background job","gearmanclient.dobackground":"Run a task in the background","gearmanclient.dohigh":"Run a single high priority task","gearmanclient.dohighbackground":"Run a high priority task in the background","gearmanclient.dojobhandle":"Get the job handle for the running task","gearmanclient.dolow":"Run a single low priority task","gearmanclient.dolowbackground":"Run a low priority task in the background","example-4315":"Simple job submission with immediate return","example-4316":"Submitting a job and retrieving incremental status","gearmanclient.donormal":"Run a single task and return a result","example-4317":"Get the status of a long running job","gearmanclient.dostatus":"Get the status for the running task","gearmanclient.echo":"Send data to all job servers to see if they echo it back [deprecated]","gearmanclient.error":"Returns an error string for the last error encountered.","gearmanclient.geterrno":"Get an errno value","example-4318":"Monitor the status of a long running background job","gearmanclient.jobstatus":"Get the status of a background job","gearmanclient.ping":"Send data to all job servers to see if they echo it back","gearmanclient.removeoptions":"Remove client options","gearmanclient.returncode":"Get the last Gearman return code","gearmanclient.runtasks":"Run a list of tasks in parallel","gearmanclient.setclientcallback":"Callback function when there is a data packet for a task (deprecated)","gearmanclient.setcompletecallback":"Set a function to be called on task completion","gearmanclient.setcontext":"Set application context","gearmanclient.setcreatedcallback":"Set a callback for when a task is queued","gearmanclient.setdata":"Set application data (deprecated)","gearmanclient.setdatacallback":"Callback function when there is a data packet for a task","gearmanclient.setexceptioncallback":"Set a callback for worker exceptions","gearmanclient.setfailcallback":"Set callback for job failure","gearmanclient.setoptions":"Set client options","gearmanclient.setstatuscallback":"Set a callback for collecting task status","gearmanclient.settimeout":"Set socket I\/O activity timeout","gearmanclient.setwarningcallback":"Set a callback for worker warnings","gearmanclient.setworkloadcallback":"Set a callback for accepting incremental data updates","gearmanclient.timeout":"Get current socket I\/O activity timeout value","class.gearmanclient":"The GearmanClient class","gearmanjob.intro":"Introduction","gearmanjob.synopsis":"Class synopsis","gearmanjob.complete":"Send the result and complete status (deprecated)","gearmanjob.construct":"Create a GearmanJob instance","gearmanjob.data":"Send data for a running job (deprecated)","gearmanjob.exception":"Send exception for running job (deprecated)","gearmanjob.fail":"Send fail status (deprecated)","gearmanjob.functionname":"Get function name","gearmanjob.handle":"Get the job handle","gearmanjob.returncode":"Get last return code","gearmanjob.sendcomplete":"Send the result and complete status","gearmanjob.senddata":"Send data for a running job","gearmanjob.sendexception":"Send exception for running job (exception)","gearmanjob.sendfail":"Send fail status","gearmanjob.sendstatus":"Send status","gearmanjob.sendwarning":"Send a warning","gearmanjob.setreturn":"Set a return value","gearmanjob.status":"Send status (deprecated)","gearmanjob.unique":"Get the unique identifier","gearmanjob.warning":"Send a warning (deprecated)","gearmanjob.workload":"Get workload","gearmanjob.workloadsize":"Get size of work load","class.gearmanjob":"The GearmanJob class","gearmantask.intro":"Introduction","gearmantask.synopsis":"Class synopsis","gearmantask.construct":"Create a GearmanTask instance","gearmantask.create":"Create a task (deprecated)","gearmantask.data":"Get data returned for a task","gearmantask.datasize":"Get the size of returned data","gearmantask.function":"Get associated function name (deprecated)","gearmantask.functionname":"Get associated function name","gearmantask.isknown":"Determine if task is known","gearmantask.isrunning":"Test whether the task is currently running","gearmantask.jobhandle":"Get the job handle","gearmantask.recvdata":"Read work or result data into a buffer for a task","gearmantask.returncode":"Get the last return code","gearmantask.senddata":"Send data for a task (deprecated)","gearmantask.sendworkload":"Send data for a task","gearmantask.taskdenominator":"Get completion percentage denominator","gearmantask.tasknumerator":"Get completion percentage numerator","gearmantask.unique":"Get the unique identifier for a task","gearmantask.uuid":"Get the unique identifier for a task (deprecated)","class.gearmantask":"The GearmanTask class","gearmanworker.intro":"Introduction","gearmanworker.synopsis":"Class synopsis","example-4319":"Simple worker making use of extra application context data","gearmanworker.addfunction":"Register and add callback function","gearmanworker.addoptions":"Add worker options","example-4320":"Add alternate Gearman servers","gearmanworker.addserver":"Add a job server","example-4321":"Add two job servers","gearmanworker.addservers":"Add job servers","gearmanworker.clone":"Create a copy of the worker","gearmanworker.construct":"Create a GearmanWorker instance","gearmanworker.echo":"Test job server response","gearmanworker.error":"Get the last error encountered","gearmanworker.geterrno":"Get errno","gearmanworker.options":"Get worker options","gearmanworker.register":"Register a function with the job server","gearmanworker.removeoptions":"Remove worker options","gearmanworker.returncode":"Get last Gearman return code","example-4322":"GearmanWorker::setId example","function.func-name":"Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers.","gearmanworker.setoptions":"Set worker options","example-4323":"A simple worker with a 5 second timeout","gearmanworker.settimeout":"Set socket I\/O activity timeout","gearmanworker.timeout":"Get socket I\/O activity timeout","gearmanworker.unregister":"Unregister a function name with the job servers","gearmanworker.unregisterall":"Unregister all function names with the job servers","example-4324":"Running worker in non-blocking mode","gearmanworker.wait":"Wait for activity from one of the job servers","example-4325":"GearmanWorker::work example","gearmanworker.work":"Wait for and perform jobs","class.gearmanworker":"The GearmanWorker class","gearmanexception.intro":"Introduction","gearmanexception.synopsis":"Class synopsis","class.gearmanexception":"The GearmanException class","book.gearman":"Gearman","intro.net-gopher":"Introduction","net-gopher.requirements":"Requirements","net-gopher.install":"Installation","net-gopher.configuration":"Runtime Configuration","net-gopher.resources":"Resource Types","net-gopher.setup":"Installing\/Configuring","net-gopher.constants":"Predefined Constants","net-gopher.examples-basic":"Basic Example","net-gopher.examples":"Examples","example-4326":"Hypothetical output from gopher:\/\/gopher.example.com\/","example-4327":"Using gopher_parsedir","function.gopher-parsedir":"Translate a gopher formatted directory entry into an associative array.","ref.net-gopher":"Gopher Functions","book.net-gopher":"Net Gopher","intro.gupnp":"Introduction","gupnp.requirements":"Requirements","gupnp.installation":"Installation","gupnp.configuration":"Runtime Configuration","gupnp.resources":"Resource Types","gupnp.setup":"Installing\/Configuring","constant.gupnp-type-boolean":"","constant.gupnp-type-int":"","constant.gupnp-type-long":"","constant.gupnp-type-double":"","constant.gupnp-type-float":"","constant.gupnp-type-string":"","constant.gupnp-signal-device-proxy-available":"","constant.gupnp-signal-device-proxy-unavailable":"","constant.gupnp-signal-service-proxy-available":"","constant.gupnp-signal-service-proxy-unavailable":"","constant.gupnp-signal-action-invoked":"","constant.gupnp-signal-notify-failed":"","constant.gupnp-signal-subscription-lost":"","constant.gupnp-control-error-invalid-action":"","constant.gupnp-control-error-invalid-args":"","constant.gupnp-control-error-out-of-sync":"","constant.gupnp-control-error-action-failed":"","gupnp.constants":"Predefined Constants","example-4328":"Search for all UPnP devices and services.","gupnp.browsing":"Browsing devices and services","example-4329":"Implementing light server","example-4330":"Implementing light client","gupnp.binary-light":"Implementing the BinaryLight device","gupnp.examples":"Examples","example-4331":"Create new UPnP context and get IP address of the host","function.gupnp-context-get-host-ip":"Get the IP address","example-4332":"Create new UPnP context and get port number","function.gupnp-context-get-port":"Get the port","function.gupnp-context-get-subscription-timeout":"Get the event subscription timeout","example-4333":"Create new UPnP context and set host path","function.gupnp-context-host-path":"Start hosting","example-4334":"Create new UPnP context","function.gupnp-context-new":"Create a new context","function.gupnp-context-set-subscription-timeout":"Sets the event subscription timeout","example-4335":"Create new UPnP context and set callback","function.gupnp-context-timeout-add":"Sets a function to be called at regular intervals","function.gupnp-context-unhost-path":"Stop hosting","example-4336":"Create new UPnP context and start browsing","function.gupnp-control-point-browse-start":"Start browsing","function.gupnp-control-point-browse-stop":"Stop browsing","example-4337":"Create new UPnP context and start browsing","function.gupnp-control-point-callback-set":"Set control point callback","function.gupnp-control-point-new":"Create a new control point","function.gupnp-device-action-callback-set":"Set device callback function","example-4338":"Create new UPnP context and get device info service","function.gupnp-device-info-get-service":"Get the service with type","function.gupnp-device-info-get":"Get info of root device","function.gupnp-root-device-get-available":"Check whether root device is available","function.gupnp-root-device-get-relative-location":"Get the relative location of root device.","example-4339":"Create new UPnP context and get device info service","function.gupnp-root-device-new":"Create a new root device","function.gupnp-root-device-set-available":"Set whether or not root_device is available","function.gupnp-root-device-start":"Start main loop","function.gupnp-root-device-stop":"Stop main loop","function.gupnp-service-action-get":"Retrieves the specified action arguments","function.gupnp-service-action-return-error":"Return error code","function.gupnp-service-action-return":"Return successfully","function.gupnp-service-action-set":"Sets the specified action return values","function.gupnp-service-freeze-notify":"Freeze new notifications","function.gupnp-service-info-get-introspection":"Get resource introspection of service","function.gupnp-service-info-get":"Get full info of service","function.gupnp-service-introspection-get-state-variable":"Returns the state variable data","function.gupnp-service-notify":"Notifies listening clients","function.gupnp-service-proxy-action-get":"Send action to the service and get value","function.gupnp-service-proxy-action-set":"Send action to the service and set value","function.gupnp-service-proxy-add-notify":"Sets up callback for variable change notification","function.gupnp-service-proxy-callback-set":"Set service proxy callback for signal","function.gupnp-service-proxy-get-subscribed":"Check whether subscription is valid to the service","function.gupnp-service-proxy-remove-notify":"Cancels the variable change notification","gupnp-service-proxy-send-action":"Send action with multiple parameters synchronously","function.gupnp-service-proxy-set-subscribed":"(Un)subscribes to the service.","function.gupnp-service-thaw-notify":"Sends out any pending notifications and stops queuing of new ones.","ref.gupnp":"Gupnp Functions","book.gupnp":"Gupnp","intro.http":"Introduction","http.requirements.windows":"Installation requirements on Windows","http.requirements.nix":"Installation requirements on other platforms","http.requirements":"Requirements","http.install.pecl":"Installation","http.install":"Installation\/Configuration","http.configuration":"Runtime Configuration","http.resources":"Resource Types","http.setup":"Installing\/Configuring","constant.http-support":"","constant.http-support-requests":"","constant.http-support-magicmime":"","constant.http-support-encodings":"","constant.http-support-sslrequests":"","http.constants.support":"Constants usable with http_support","constant.http-params-allow-comma":"","constant.http-params-allow-failure":"","constant.http-params-raise-error":"","constant.http-params-default":"","http.constants.params":"Constants usable with http_parse_params","constant.http-cookie-parse-raw":"","constant.http-cookie-secure":"","constant.http-cookie-httponly":"","http.constants.cookie":"Constants usable with http_parse_cookie and its return value","constant.http-deflate-level-def":"","constant.http-deflate-level-min":"","constant.http-deflate-level-max":"","constant.http-deflate-type-zlib":"","constant.http-deflate-type-gzip":"","constant.http-deflate-type-raw":"","constant.http-deflate-strategy-def":"","constant.http-deflate-strategy-filt":"","constant.http-deflate-strategy-huff":"","constant.http-deflate-strategy-rle":"","constant.http-deflate-strategy-fixed":"","http.constants.deflate":"Constants usable with http_deflate and HttpDeflateStream","constant.http-encoding-stream-flush-none":"","constant.http-encoding-stream-flush-sync":"","constant.http-encoding-stream-flush-full":"","http.constants.encodingstream":"Constants usable with HttpDeflateStream and HttpInflateStream","constant.http-e-runtime":"","constant.http-e-invalid-param":"","constant.http-e-header":"","constant.http-e-malformed-headers":"","constant.http-e-request-method":"","constant.http-e-message-type":"","constant.http-e-encoding":"","constant.http-e-request":"","constant.http-e-request-pool":"","constant.http-e-socket":"","constant.http-e-response":"","constant.http-e-url":"","constant.http-e-querystring":"","http.constants.error":"Constants used for error reporting and Exceptions","constant.http-msg-none":"","constant.http-msg-request":"","constant.http-msg-response":"","http.constants.message":"Constants usable with HttpMessage","constant.http-querystring-type-bool":"","constant.http-querystring-type-int":"","constant.http-querystring-type-float":"","constant.http-querystring-type-string":"","constant.http-querystring-type-array":"","constant.http-querystring-type-object":"","http.constants.querystring":"Constants usable with HttpQueryString","constant.http-auth-basic":"","constant.http-auth-digest":"","constant.http-auth-ntlm":"","constant.http-auth-gssneg":"","constant.http-auth-any":"","http.constants.request.httpauth":"Constants used for the httpauthtype request option","constant.http-version-any":"","constant.http-version-1-0":"","constant.http-version-1-1":"","http.constants.request.protocol":"Constants used for the HTTP protocol version request option","constant.http-ssl-version-any":"","constant.http-ssl-version-tlsv1":"","constant.http-ssl-version-sslv3":"","constant.http-ssl-version-sslv2":"","http.constants.request.ssl":"Constants used for the SSL protocol type and version request option","constant.http-proxy-socks4":"","constant.http-proxy-socks5":"","constant.http-proxy-http":"","http.constants.request.proxy":"Constants used for the proxytype request option","constant.http-ipresolve-v4":"","constant.http-ipresolve-v6":"","constant.http-ipresolve-any":"","http.constants.request.dns":"Constants used for the ipresolve request option","constant.http-meth-get":"","constant.http-meth-head":"","constant.http-meth-post":"","constant.http-meth-put":"","constant.http-meth-delete":"","constant.http-meth-options":"","constant.http-meth-trace":"","constant.http-meth-connect":"","constant.http-meth-propfind":"","constant.http-meth-proppatch":"","constant.http-meth-mkcol":"","constant.http-meth-copy":"","constant.http-meth-move":"","constant.http-meth-lock":"","constant.http-meth-unlock":"","constant.http-meth-version-control":"","constant.http-meth-report":"","constant.http-meth-checkout":"","constant.http-meth-checkin":"","constant.http-meth-uncheckout":"","constant.http-meth-mkworkspace":"","constant.http-meth-update":"","constant.http-meth-label":"","constant.http-meth-merge":"","constant.http-meth-baseline-control":"","constant.http-meth-mkactivity":"","constant.http-meth-acl":"","http.constants.request.methods":"Predefined HTTP request method constants","constant.http-redirect":"","constant.http-redirect-perm":"","constant.http-redirect-found":"","constant.http-redirect-post":"","constant.http-redirect-proxy":"","constant.http-redirect-temp":"","http.constants.redirect":"Constants usable with http_redirect","constant.http-url-replace":"","constant.http-url-join-path":"","constant.http-url-join-query":"","constant.http-url-strip-user":"","constant.http-url-strip-pass":"","constant.http-url-strip-auth":"","constant.http-url-strip-port":"","constant.http-url-strip-path":"","constant.http-url-strip-query":"","constant.http-url-strip-fragment":"","constant.http-url-strip-all":"","http.constants.url":"Constants usable with http_build_url","http.constants":"Predefined Constants","http.request.option.timeout":"","http.request.option.connecttimeout":"","http.request.option.dns-cache-timeout":"","http.request.options.timeouts":"Options related to time outs","http.request.option.url":"","http.request.option.port":"","http.request.option.redirect":"","http.request.option.unrestrictedauth":"","http.request.options.urls":"Options related to urls","http.request.options.cookies":"Options related to cookies","http.request.options.headers":"Options related to headers","http.request.options.auth":"Options related to authentication","http.request.options.proxy":"Options related to proxies","http.request.options.transfer":"Options related to the transfer","http.request.options.limits":"Options imposing limits","http.request.options.callback":"Callback options","http.request.options.network":"Network options","http.request.options.ssl":"SSL options","http.request.options":"Options usable with the HttpRequest class and request functions","httpdeflatestream.synopsis":"Class synopsis","http.httpdeflatestream.constants":"Predefined Constants","http.httpdeflatestream.members":"Class Members","example-4340":"A HttpDeflateStream example","httpdeflatestream.construct":"HttpDeflateStream class constructor","httpdeflatestream.factory":"HttpDeflateStream class factory","httpdeflatestream.finish":"Finalize deflate stream","httpdeflatestream.flush":"Flush deflate stream","httpdeflatestream.update":"Update deflate stream","class.httpdeflatestream":"The HttpDeflateStream class","httpinflatestream.synopsis":"Class synopsis","http.httpinflatestream.constants":"Constants","http.httpinflatestream.members":"Class Members","example-4341":"A HttpInflateStream example","httpinflatestream.construct":"HttpInflateStream class constructor","httpinflatestream.factory":"HttpInflateStream class factory","httpinflatestream.finish":"Finalize inflate stream","httpinflatestream.flush":"Flush inflate stream","httpinflatestream.update":"Update inflate stream","class.httpinflatestream":"The HttpInflateStream class","httpmessage.synopsis":"Class synopsis","http.httpmessage.properties.instance":"Instance Properties","http.httpmessage.properties":"Properties","http.httpmessage.constants":"Predefined Constants","http.httpmessage.members":"Class Members","httpmessage.addheaders":"Add headers","httpmessage.construct":"HttpMessage constructor","httpmessage.detach":"Detach HttpMessage","httpmessage.factory":"Create HttpMessage from string","httpmessage.fromenv":"Create HttpMessage from environment","httpmessage.fromstring":"Create HttpMessage from string","httpmessage.getbody":"Get message body","httpmessage.getheader":"Get header","httpmessage.getheaders":"Get message headers","httpmessage.gethttpversion":"Get HTTP version","httpmessage.getparentmessage":"Get parent message","httpmessage.getrequestmethod":"Get request method","httpmessage.getrequesturl":"Get request URL","httpmessage.getresponsecode":"Get response code","httpmessage.getresponsestatus":"Get response status","httpmessage.gettype":"Get message type","httpmessage.guesscontenttype":"Guess content type","httpmessage.prepend":"Prepend message(s)","httpmessage.reverse":"Reverse message chain","httpmessage.send":"Send message","httpmessage.setbody":"Set message body","httpmessage.setheaders":"Set headers","httpmessage.sethttpversion":"Set HTTP version","httpmessage.setrequestmethod":"Set request method","httpmessage.setrequesturl":"Set request URL","httpmessage.setresponsecode":"Set response code","httpmessage.setresponsestatus":"Set response status","httpmessage.settype":"Set message type","httpmessage.tomessagetypeobject":"Create HTTP object regarding message type","httpmessage.tostring":"Get string representation","class.httpmessage":"The HttpMessage class","httpquerystring.synopsis":"Class synopsis","http.httpquerystring.properties.instance":"Instance Properties","http.httpquerystring.properties.static":"Static Properties","http.httpquerystring.properties":"Properties","http.httpquerystring.constants":"Predefined Constants","http.httpquerystring.members":"Class Members","httpquerystring.construct":"HttpQueryString constructor","httpquerystring.get":"Get (part of) query string","httpquerystring.mod":"Modifiy query string copy","httpquerystring.set":"Set query string params","httpquerystring.singleton":"HttpQueryString singleton","httpquerystring.toarray":"Get query string as array","httpquerystring.tostring":"Get query string","httpquerystring.xlate":"Change query strings charset","class.httpquerystring":"The HttpQueryString class","httprequest.synopsis":"Class synopsis","http.httprequest.properties.instance":"Instance Properties","http.httprequest.properties":"Properties","http.httprequest.constants":"Predefined Constants","http.httprequest.members":"Class Members","example-4342":"A HttpRequest::addCookies example","httprequest.addcookies":"Add cookies","httprequest.addheaders":"Add headers","httprequest.addpostfields":"Add post fields","httprequest.addpostfile":"Add post file","httprequest.addputdata":"Add put data","httprequest.addquerydata":"Add query data","httprequest.addrawpostdata":"Add raw post data","httprequest.addssloptions":"Add ssl options","httprequest.clearhistory":"Clear history","httprequest.construct":"HttpRequest constructor","httprequest.enablecookies":"Enable cookies","httprequest.getcontenttype":"Get content type","httprequest.getcookies":"Get cookies","httprequest.getheaders":"Get headers","httprequest.gethistory":"Get history","httprequest.getmethod":"Get method","httprequest.getoptions":"Get options","httprequest.getpostfields":"Get post fields","httprequest.getpostfiles":"Get post files","httprequest.getputdata":"Get put data","httprequest.getputfile":"Get put file","httprequest.getquerydata":"Get query data","httprequest.getrawpostdata":"Get raw post data","httprequest.getrawrequestmessage":"Get raw request message","httprequest.getrawresponsemessage":"Get raw response message","httprequest.getrequestmessage":"Get request message","httprequest.getresponsebody":"Get response body","httprequest.getresponsecode":"Get response code","httprequest.getresponsecookies":"Get response cookie(s)","httprequest.getresponsedata":"Get response data","httprequest.getresponseheader":"Get response header(s)","httprequest.getresponseinfo":"Get response info","httprequest.getresponsemessage":"Get response message","httprequest.getresponsestatus":"Get response status","httprequest.getssloptions":"Get ssl options","httprequest.geturl":"Get url","httprequest.resetcookies":"Reset cookies","example-4343":"GET example","example-4344":"POST example","httprequest.send":"Send request","httprequest.setbody":"Set request body to send, overwriting previously set request body.","httprequest.setcontenttype":"Set content type","httprequest.setcookies":"Set cookies","httprequest.setheaders":"Set headers","httprequest.setmethod":"Set method","httprequest.setoptions":"Set options","httprequest.setpostfields":"Set post fields","httprequest.setpostfiles":"Set post files","httprequest.setputdata":"Set put data","httprequest.setputfile":"Set put file","httprequest.setquerydata":"Set query data","httprequest.setrawpostdata":"Set raw post data","httprequest.setssloptions":"Set ssl options","httprequest.seturl":"Set URL","class.httprequest":"The HttpRequest","httprequestpool.synopsis":"Class synopsis","http.httprequestpool.properties":"Properties","http.httprequestpool.constants":"Predefined Constants","http.httprequestpool.members":"Class Members","httprequestpool.attach":"Attach HttpRequest","example-4345":"A HttpRequestPool example","httprequestpool.construct":"HttpRequestPool constructor","httprequestpool.destruct":"HttpRequestPool destructor","httprequestpool.detach":"Detach HttpRequest","httprequestpool.getattachedrequests":"Get attached requests","httprequestpool.getfinishedrequests":"Get finished requests","httprequestpool.reset":"Reset request pool","httprequestpool.send":"Send all requests","example-4346":"A HttpRequestPool::socketPerform example","httprequestpool.socketperform":"Perform socket actions","httprequestpool.socketselect":"Perform socket select","class.httprequestpool":"The HttpRequestPool class","httpresponse.synopsis":"Class synopsis","http.httpresponse.properties.static":"Static Properties","http.httpresponse.properties":"Properties","http.httpresponse.constants":"Predefined Constants","http.httpresponse.members":"Class Members","example-4347":"A HttpResponse::capture example","httpresponse.capture":"Capture script output","httpresponse.getbuffersize":"Get buffer size","httpresponse.getcache":"Get cache","httpresponse.getcachecontrol":"Get cache control","httpresponse.getcontentdisposition":"Get content disposition","httpresponse.getcontenttype":"Get content type","httpresponse.getdata":"Get data","httpresponse.getetag":"Get ETag","httpresponse.getfile":"Get file","httpresponse.getgzip":"Get gzip","httpresponse.getheader":"Get header","httpresponse.getlastmodified":"Get last modified","httpresponse.getrequestbody":"Get request body","httpresponse.getrequestbodystream":"Get request body stream","httpresponse.getrequestheaders":"Get request headers","httpresponse.getstream":"Get Stream","httpresponse.getthrottledelay":"Get throttle delay","httpresponse.guesscontenttype":"Guess content type","httpresponse.redirect":"Redirect","example-4348":"A HttpResponse::send example","httpresponse.send":"Send response","httpresponse.setbuffersize":"Set buffer size","httpresponse.setcache":"Set cache","httpresponse.setcachecontrol":"Set cache control","httpresponse.setcontentdisposition":"Set content disposition","httpresponse.setcontenttype":"Set content type","httpresponse.setdata":"Set data","httpresponse.setetag":"Set ETag","httpresponse.setfile":"Set file","httpresponse.setgzip":"Set gzip","httpresponse.setheader":"Set header","httpresponse.setlastmodified":"Set last modified","httpresponse.setstream":"Set stream","httpresponse.setthrottledelay":"Set throttle delay","httpresponse.status":"Send HTTP response status","class.httpresponse":"The HttpResponse","http.functions":"Function groups","example-4349":"A http_cache_etag example","function.http-cache-etag":"Caching by ETag","example-4350":"A http_cache_last_modified example","function.http-cache-last-modified":"Caching by last modification","example-4351":"A http_chunked_decode example","function.http-chunked-decode":"Decode chunked-encoded data","function.http-deflate":"Deflate data","function.http-inflate":"Inflate data","function.http-build-cookie":"Build cookie string","function.http-date":"Compose HTTP RFC compliant date","function.http-get-request-body-stream":"Get request body as stream","function.http-get-request-body":"Get request body as string","function.http-get-request-headers":"Get request headers as array","function.http-match-etag":"Match ETag","function.http-match-modified":"Match last modification","function.http-match-request-header":"Match any header","example-4352":"A http_support example","function.http-support":"Check built-in HTTP support","example-4353":"Using http_negotiate_charset","function.http-negotiate-charset":"Negotiate client's preferred character set","example-4354":"Using http_negotiate_content_type","function.http-negotiate-content-type":"Negotiate client's preferred content type","example-4355":"Using http_negotiate_language","function.http-negotiate-language":"Negotiate client's preferred language","function.ob-deflatehandler":"Deflate output handler","function.ob-etaghandler":"ETag output handler","function.ob-inflatehandler":"Inflate output handler","example-4356":"Using http_parse_cookie","function.http-parse-cookie":"Parse HTTP cookie","example-4357":"Using http_parse_headers","function.http-parse-headers":"Parse HTTP headers","example-4358":"Using http_parse_message","function.http-parse-message":"Parse HTTP messages","example-4359":"A http_parse_params example","function.http-parse-params":"Parse parameter list","function.http-persistent-handles-clean":"Clean up persistent handles","example-4360":"A http_persistent_handles_count example","function.http-persistent-handles-count":"Stat persistent handles","example-4361":"A http_persistent_handles_ident example","function.http-persistent-handles-ident":"Get\/set ident of persistent handles","http.request.info":"","example-4362":"A http_get example","function.http-get":"Perform GET request","function.http-head":"Perform HEAD request","function.http-post-data":"Perform POST request with pre-encoded data","example-4363":"A http_post_fields example","function.http-post-fields":"Perform POST request with data to be encoded","function.http-put-data":"Perform PUT request with data","function.http-put-file":"Perform PUT request with file","function.http-put-stream":"Perform PUT request with stream","function.http-request-body-encode":"Encode request body","function.http-request-method-exists":"Check whether request method exists","function.http-request-method-name":"Get request method name","function.http-request-method-register":"Register request method","function.http-request-method-unregister":"Unregister request method","function.http-request":"Perform custom request","example-4364":"A http_redirect example","function.http-redirect":"Issue HTTP redirect","function.http-send-content-disposition":"Send Content-Disposition","function.http-send-content-type":"Send Content-Type","function.http-send-data":"Send arbitrary data","example-4365":"A http_send_file example","function.http-send-file":"Send file","function.http-send-last-modified":"Send Last-Modified","function.http-send-status":"Send HTTP response status","function.http-send-stream":"Send stream","example-4366":"A http_throttle example","function.http-throttle":"HTTP throttling","function.http-build-str":"Build query string","example-4367":"A http_build_url example","function.http-build-url":"Build a URL","ref.http":"HTTP Functions","book.http":"HTTP","intro.hw":"Introduction","hw.requirements":"Requirements","hw.installation":"Installation","hw.configuration":"Runtime Configuration","hw.resources":"Resource Types","hw.setup":"Installing\/Configuring","constant.hw-attr-lang":"","constant.hw-attr-nr":"","constant.hw-attr-none":"","hw.constants":"Predefined Constants","hw.apache":"Integration with Apache","hw.todo":"Todo","function.hw-array2objrec":"Convert attributes from object array to object record","function.hw-changeobject":"Changes attributes of an object (obsolete)","function.hw-children":"Object ids of children","function.hw-childrenobj":"Object records of children","function.hw-close":"Closes the Hyperwave connection","function.hw-connect":"Opens a connection","function.hw-connection-info":"Prints information about the connection to Hyperwave server","function.hw-cp":"Copies objects","function.hw-deleteobject":"Deletes object","function.hw-docbyanchor":"Object id object belonging to anchor","function.hw-docbyanchorobj":"Object record object belonging to anchor","function.hw-document-attributes":"Object record of hw_document","function.hw-document-bodytag":"Body tag of hw_document","function.hw-document-content":"Returns content of hw_document","function.hw-document-setcontent":"Sets\/replaces content of hw_document","function.hw-document-size":"Size of hw_document","function.hw-dummy":"Hyperwave dummy function","function.hw-edittext":"Retrieve text document","function.hw-error":"Error number","function.hw-errormsg":"Returns error message","function.hw-free-document":"Frees hw_document","function.hw-getanchors":"Object ids of anchors of document","function.hw-getanchorsobj":"Object records of anchors of document","function.hw-getandlock":"Return object record and lock object","function.hw-getchildcoll":"Object ids of child collections","function.hw-getchildcollobj":"Object records of child collections","function.hw-getchilddoccoll":"Object ids of child documents of collection","function.hw-getchilddoccollobj":"Object records of child documents of collection","function.hw-getobject":"Object record","function.hw-getobjectbyquery":"Search object","function.hw-getobjectbyquerycoll":"Search object in collection","function.hw-getobjectbyquerycollobj":"Search object in collection","function.hw-getobjectbyqueryobj":"Search object","function.hw-getparents":"Object ids of parents","function.hw-getparentsobj":"Object records of parents","function.hw-getrellink":"Get link from source to dest relative to rootid","function.hw-getremote":"Gets a remote document","function.hw-getremotechildren":"Gets children of remote document","function.hw-getsrcbydestobj":"Returns anchors pointing at object","function.hw-gettext":"Retrieve text document","function.hw-getusername":"Name of currently logged in user","function.hw-identify":"Identifies as user","function.hw-incollections":"Check if object ids in collections","function.hw-info":"Info about connection","function.hw-inscoll":"Insert collection","function.hw-insdoc":"Insert document","function.hw-insertanchors":"Inserts only anchors into text","function.hw-insertdocument":"Upload any document","function.hw-insertobject":"Inserts an object record","function.hw-mapid":"Maps global id on virtual local id","example-4368":"modifying an attribute","example-4369":"adding a completely new attribute","example-4370":"modifying Title attribute","example-4371":"modifying Title attribute","example-4372":"removing attribute","function.hw-modifyobject":"Modifies object record","function.hw-mv":"Moves objects","function.hw-new-document":"Create new document","function.hw-objrec2array":"Convert attributes from object record to object array","function.hw-output-document":"Prints hw_document","function.hw-pconnect":"Make a persistent database connection","function.hw-pipedocument":"Retrieve any document","function.hw-root":"Root object id","function.hw-setlinkroot":"Set the id to which links are calculated","function.hw-stat":"Returns status string","function.hw-unlock":"Unlock object","function.hw-who":"List of currently logged in users","ref.hw":"Hyperwave Functions","book.hw":"Hyperwave","intro.hwapi":"Introduction","hwapi.requirements":"Requirements","hwapi.installation":"Installation","hwapi.configuration":"Runtime Configuration","hwapi.resources":"Resource Types","hwapi.setup":"Installing\/Configuring","hwapi.constants":"Predefined Constants","hwapi.apache":"Integration with Apache","hwapi.classes":"Classes","hwapi.checkin":"Checks in an object","hwapi.checkout":"Checks out an object","hwapi.children":"Returns children of an object","hwapi.content":"Returns content of an object","hwapi.copy":"Copies physically","hwapi.dbstat":"Returns statistics about database server","hwapi.dcstat":"Returns statistics about document cache server","hwapi.dstanchors":"Returns a list of all destination anchors","hwapi.dstofsrcanchor":"Returns destination of a source anchor","hwapi.find":"Search for objects","hwapi.ftstat":"Returns statistics about fulltext server","hwapi.hwstat":"Returns statistics about Hyperwave server","hwapi.identify":"Log into Hyperwave Server","hwapi.info":"Returns information about server configuration","hwapi.insert":"Inserts a new object","hwapi.insertanchor":"Inserts a new object of type anchor","hwapi.insertcollection":"Inserts a new object of type collection","hwapi.insertdocument":"Inserts a new object of type document","hwapi.link":"Creates a link to an object","hwapi.lock":"Locks an object","hwapi.move":"Moves object between collections","example-4373":"Retrieve an object","hwapi.object":"Retrieve attribute information","hwapi.objectbyanchor":"Returns the object an anchor belongs to","hwapi.parents":"Returns parents of an object","hwapi.remove":"Delete an object","hwapi.replace":"Replaces an object","hwapi.setcommittedversion":"Commits version other than last version","hwapi.srcanchors":"Returns a list of all source anchors","hwapi.srcsofdst":"Returns source of a destination object","hwapi.unlock":"Unlocks a locked object","hwapi.user":"Returns the own user object","hwapi.userlist":"Returns a list of all logged in users","hwapi.attribute-key":"Returns key of the attribute","hwapi.attribute-langdepvalue":"Returns value for a given language","hwapi.attribute-value":"Returns value of the attribute","hwapi.attribute-values":"Returns all values of the attribute","hwapi.content-mimetype":"Returns mimetype","hwapi.content-read":"Read content","hwapi.error-count":"Returns number of reasons","hwapi.error-reason":"Returns reason of error","hwapi.object-assign":"Clones object","hwapi.object-attreditable":"Checks whether an attribute is editable","hwapi.object-count":"Returns number of attributes","hwapi.object-insert":"Inserts new attribute","hwapi.object-remove":"Removes attribute","hwapi.object-title":"Returns the title attribute","hwapi.object-value":"Returns value of attribute","hwapi.reason-description":"Returns description of reason","hwapi.reason-type":"Returns type of reason","function.hwapi-attribute-new":"Creates instance of class hw_api_attribute","function.hwapi-content-new":"Create new instance of class hw_api_content","function.hwapi-hgcsp":"Returns object of class hw_api","function.hwapi-object-new":"Creates a new instance of class hwapi_object_new","ref.hwapi":"Hyperwave API Functions","book.hwapi":"Hyperwave API","intro.java":"Introduction","java.requirements":"Requirements","java.installation":"Installation","java.configuration":"Runtime Configuration","java.resources":"Resource Types","java.setup":"Installing\/Configuring","java.constants":"Predefined Constants","java.servlet":"Java Servlet SAPI","example-4374":"Java Example","example-4375":"AWT Example","java.examples-basic":"Basic usage","java.examples":"Examples","function.java-last-exception-clear":"Clear last Java exception","example-4376":"Java exception handler","function.java-last-exception-get":"Get last Java exception","ref.java":"Java Functions","book.java":"PHP \/ Java Integration","intro.ldap":"Introduction","ldap.requirements":"Requirements","ldap.installation":"Installation","ini.ldap.max_links":"","ldap.configuration":"Runtime Configuration","ldap.resources":"Resource Types","ldap.setup":"Installing\/Configuring","constant.ldap-deref-never":"","constant.ldap-deref-searching":"","constant.ldap-deref-finding":"","constant.ldap-deref-always":"","constant.ldap-opt-deref":"","constant.ldap-opt-sizelimit":"","constant.ldap-opt-timelimit":"","constant.ldap-opt-network-timeout":"","constant.ldap-opt-protocol-version":"","constant.ldap-opt-error-number":"","constant.ldap-opt-referrals":"","constant.ldap-opt-restart":"","constant.ldap-opt-host-name":"","constant.ldap-opt-error-string":"","constant.ldap-opt-matched-dn":"","constant.ldap-opt-server-controls":"","constant.ldap-opt-client-controls":"","constant.ldap-opt-debug-level":"","constant.gslc-ssl-no-auth":"","constant.gslc-ssl-oneway-auth":"","constant.gslc-ssl-twoway-auth":"","ldap.constants":"Predefined Constants","ldap.using":"Using the PHP LDAP calls","example-4377":"LDAP search example","ldap.examples-basic":"Basic usage","ldap.examples":"Examples","function.ldap-8859-to-t61":"Translate 8859 characters to t61 characters","example-4378":"Complete example with authenticated bind","function.ldap-add":"Add entries to LDAP directory","example-4379":"Using LDAP Bind","example-4380":"Using LDAP Bind Anonymously","function.ldap-bind":"Bind to LDAP directory","function.ldap-close":"Alias of ldap_unbind","example-4381":"Complete example of password check","function.ldap-compare":"Compare value of attribute found in entry specified with DN","example-4382":"Example of connecting to LDAP server.","example-4383":"Example of connecting securely to LDAP server.","function.ldap-connect":"Connect to an LDAP server","function.ldap-control-paged-result-response":"Retrieve the LDAP pagination cookie","example-4384":"LDAP pagination","example-4385":"LDAP pagination","function.ldap-control-paged-result":"Send LDAP pagination control","ldap-count-entries.example.basic":"ldap-count-entries example","function.ldap-count-entries":"Count the number of entries in a search","function.ldap-delete":"Delete an entry from a directory","function.ldap-dn2ufn":"Convert DN to User Friendly Naming format","example-4387":"Enumerating all LDAP error messages","function.ldap-err2str":"Convert LDAP error number into string error message","example-4388":"Generating and catching an error","function.ldap-errno":"Return the LDAP error number of the last LDAP command","function.ldap-error":"Return the LDAP error message of the last LDAP command","function.ldap-explode-dn":"Splits DN into its component parts","function.ldap-first-attribute":"Return first attribute","function.ldap-first-entry":"Return first result id","function.ldap-first-reference":"Return first reference","function.ldap-free-result":"Free result memory","example-4389":"Show the list of attributes held for a particular directory entry","function.ldap-get-attributes":"Get attributes from a search result entry","function.ldap-get-dn":"Get the DN of a result entry","function.ldap-get-entries":"Get all result entries","example-4390":"Check protocol version","function.ldap-get-option":"Get the current value for given option","function.ldap-get-values-len":"Get all binary values from a result entry","example-4391":"List all values of the "mail" attribute for a\n directory entry","function.ldap-get-values":"Get all values from a result entry","example-4392":"Produce a list of all organizational units of an organization","function.ldap-list":"Single-level search","function.ldap-mod-add":"Add attribute values to current attributes","function.ldap-mod-del":"Delete attribute values from current attributes","function.ldap-mod-replace":"Replace attribute values with new ones","function.ldap-modify":"Modify an LDAP entry","function.ldap-next-attribute":"Get the next attribute in result","function.ldap-next-entry":"Get next result entry","function.ldap-next-reference":"Get next reference","function.ldap-parse-reference":"Extract information from reference entry","function.ldap-parse-result":"Extract information from result","function.ldap-read":"Read an entry","function.ldap-rename":"Modify the name of an entry","function.ldap-sasl-bind":"Bind to LDAP directory using SASL","example-4393":"LDAP search","function.ldap-search":"Search LDAP tree","example-4394":"Set protocol version","example-4395":"Set server controls","function.ldap-set-option":"Set the value of the given option","function.ldap-set-rebind-proc":"Set a callback function to do re-binds on referral chasing","example-4396":"LDAP sort","function.ldap-sort":"Sort LDAP result entries","function.ldap-start-tls":"Start TLS","function.ldap-t61-to-8859":"Translate t61 characters to 8859 characters","function.ldap-unbind":"Unbind from LDAP directory","ref.ldap":"LDAP Functions","book.ldap":"Lightweight Directory Access Protocol","intro.notes":"Introduction","notes.requirements":"Requirements","notes.installation":"Installation","notes.configuration":"Runtime Configuration","notes.resources":"Resource Types","notes.setup":"Installing\/Configuring","notes.constants":"Predefined Constants","function.notes-body":"Open the message msg_number in the specified mailbox on the specified server (leave serv","function.notes-copy-db":"Copy a Lotus Notes database","function.notes-create-db":"Create a Lotus Notes database","function.notes-create-note":"Create a note using form form_name","function.notes-drop-db":"Drop a Lotus Notes database","function.notes-find-note":"Returns a note id found in database_name","function.notes-header-info":"Open the message msg_number in the specified mailbox on the specified server (leave serv","function.notes-list-msgs":"Returns the notes from a selected database_name","function.notes-mark-read":"Mark a note_id as read for the User user_name","function.notes-mark-unread":"Mark a note_id as unread for the User user_name","function.notes-nav-create":"Create a navigator name, in database_name","function.notes-search":"Find notes that match keywords in database_name","function.notes-unread":"Returns the unread note id's for the current User user_name","function.notes-version":"Get the version Lotus Notes","ref.notes":"Lotus Notes Functions","book.notes":"Lotus Notes","intro.memcache":"Introduction","memcache.requirements":"Requirements","memcache.installation":"Installation","ini.memcache.allow-failover":"","ini.memcache.max-failover-attempts":"","ini.memcache.chunk-size":"","ini.memcache.default-port":"","ini.memcache.hash-strategy":"","ini.memcache.hash-function":"","ini.memcache.session-handler":"","ini.memcache.save-path":"","ini.memcache.protocol":"","ini.memcache.redundancy":"","ini.memcache.session-redundancy":"","ini.memcache.compress-threshold":"","ini.memcache.lock-timeout":"","memcache.ini":"Runtime Configuration","memcache.resources":"Resource Types","memcache.setup":"Installing\/Configuring","constantmemcache-compressed":"","constantmemcache-have-session":"","constantmemcache-user1":"","constantmemcache-user2":"","constantmemcache-user3":"","constantmemcache-user4":"","memcache.constants":"Predefined Constants","example-4397":"memcache extension overview example","example-4398":"Using memcache session handler","memcache.examples-overview":"Basic usage","memcache.examples":"Examples","memcache.intro":"Introduction","memcache.synopsis":"Class synopsis","example-4399":"Memcache::add example","memcache.add":"Add an item to the server","example-4400":"Memcache::addServer example","memcache.addserver":"Add a memcached server to connection pool","example-4401":"Memcache::close example","memcache.close":"Close memcached server connection","example-4402":"Memcache::connect example","memcache.connect":"Open memcached server connection","example-4403":"Memcache::decrement example","memcache.decrement":"Decrement item's value","example-4404":"Memcache::delete example","memcache.delete":"Delete item from the server","example-4405":"Memcache::flush example","memcache.flush":"Flush all existing items at the server","example-4406":"Memcache::get example","memcache.get":"Retrieve item from the server","example-4407":"Memcache::getExtendedStats example","memcache.getextendedstats":"Get statistics from all servers in pool","example-4408":"Memcache::getServerStatus example","memcache.getserverstatus":"Returns server status","memcache.getstats":"Get statistics of the server","example-4409":"Memcache::getVersion example","memcache.getversion":"Return version of the server","example-4410":"Memcache::increment example","memcache.increment":"Increment item's value","example-4411":"Memcache::pconnect example","memcache.pconnect":"Open memcached server persistent connection","example-4412":"Memcache::replace example","memcache.replace":"Replace value of the existing item","example-4413":"Memcache::set example","example-4414":"Memcache::set example","memcache.set":"Store data at the server","example-4415":"Memcache::setCompressThreshold example","memcache.setcompressthreshold":"Enable automatic compression of large values","example-4416":"Memcache::setServerParams example","memcache.setserverparams":"Changes server parameters and status at runtime","class.memcache":"The Memcache class","function.memcache-debug":"Turn debug output on\/off","ref.memcache":"Memcache Functions","book.memcache":"Memcache","intro.memcached":"Introduction","memcached.requirements":"Requirements","memcached.installation":"Installation","ini.memcached.sess-locking":"","ini.memcached.sess-consistent-hash":"","ini.memcached.sess-binary":"","ini.memcached.sess-lock-wait":"","ini.memcached.sess-prefix":"","ini.memcached.sess-number-of-replicas":"","ini.memcached.sess-randomize-replica-read":"","ini.memcached.sess-remove-failed":"","ini.memcached.compression-type":"","ini.memcached.compression-factor":"","ini.memcached.compression-threshold":"","ini.memcached.serializer":"","ini.memcached.use-sasl":"","memcached.configuration":"Runtime Configuration","memcached.resources":"Resource Types","memcached.setup":"Installing\/Configuring","memcached.constants.opt-compression":"","memcached.constants.opt-serializer":"","memcached.constants.serializer-php":"","memcached.constants.serializer-igbinary":"","memcached.constants.serializer-json":"","memcached.constants.opt-prefix-key":"","memcached.constants.opt-hash":"","memcached.constants.hash-default":"","memcached.constants.hash-md5":"","memcached.constants.hash-crc":"","memcached.constants.hash-fnv1-64":"","memcached.constants.hash-fnv1a-64":"","memcached.constants.hash-fnv1-32":"","memcached.constants.hash-fnv1a-32":"","memcached.constants.hash-hsieh":"","memcached.constants.hash-murmur":"","memcached.constants.opt-distribution":"","memcached.constants.distribution-modula":"","memcached.constants.distribution-consistent":"","memcached.constants.opt-libketama-compatible":"","memcached.constants.opt-buffer-writes":"","memcached.constants.opt-binary-protocol":"","memcached.constants.opt-no-block":"","memcached.constants.opt-tcp-nodelay":"","memcached.constants.opt-socket-send-size":"","memcached.constants.opt-socket-recv-size":"","memcached.constants.opt-connect-timeout":"","memcached.constants.opt-retry-timeout":"","memcached.constants.opt-send-timeout":"","memcached.constants.opt-recv-timeout":"","memcached.constants.opt-poll-timeout":"","memcached.constants.opt-cache-lookups":"","memcached.constants.opt-server-failure-limit":"","memcached.constants.have-igbinary":"","memcached.constants.have-json":"","memcached.constants.get-preserve-order":"","memcached.constants.res-success":"","memcached.constants.res-failure":"","memcached.constants.res-host-lookup-failure":"","memcached.constants.res-unknown-read-failure":"","memcached.constants.res-protocol-error":"","memcached.constants.res-client-error":"","memcached.constants.res-server-error":"","memcached.constants.res-write-failure":"","memcached.constants.res-data-exists":"","memcached.constants.res-notstored":"","memcached.constants.res-notfound":"","memcached.constants.res-partial-read":"","memcached.constants.res-some-errors":"","memcached.constants.res-no-servers":"","memcached.constants.res-end":"","memcached.constants.res-errno":"","memcached.constants.res-buffered":"","memcached.constants.res-timeout":"","memcached.constants.res-bad-key-provided":"","memcached.constants.res-connection-socket-create-failure":"","memcached.constants.res-payload-failure":"","memcached.constants":"Predefined Constants","memcached.expiration":"Expiration Times","example-4417":"Result callback example","memcached.callbacks.result":"Result callbacks","example-4418":"Read-through callback example","memcached.callbacks.read-through":"Read-through cache callbacks","memcached.callbacks":"Callbacks","memcache.sessions.save-handler":"","memcache.sessions.save-path":"","memcached.sessions":"Sessions support","memcached.intro":"Introduction","memcached.synopsis":"Class synopsis","memcached.add":"Add an item under a new key","memcached.addbykey":"Add an item under a new key on a specific server","example-4419":"Memcached::addServer example","memcached.addserver":"Add a server to the server pool","example-4420":"Memcached::addServers example","memcached.addservers":"Add multiple servers to the server pool","example-4421":"Memcached::append example","memcached.append":"Append data to an existing item","memcached.appendbykey":"Append data to an existing item on a specific server","example-4422":"Memcached::cas example","memcached.cas":"Compare and swap an item","memcached.casbykey":"Compare and swap an item on a specific server","example-4423":"Creating a Memcached object","memcached.construct":"Create a Memcached instance","example-4424":"Memcached::decrement example","memcached.decrement":"Decrement numeric item's value","memcached.decrementbykey":"Decrement numeric item's value, stored on a specific server","example-4425":"Memcached::delete example","memcached.delete":"Delete an item","memcached.deletebykey":"Delete an item from a specific server","memcached.deletemulti":"Delete multiple items","memcached.deletemultibykey":"Delete multiple items from a specific server","example-4426":"Memcached::fetch example","memcached.fetch":"Fetch the next result","example-4427":"Memcached::getDelayed example","memcached.fetchall":"Fetch all the remaining results","example-4428":"Memcached::flush example","memcached.flush":"Invalidate all items in the cache","example-4429":"Memcached::get example #1","example-4430":"Memcached::get example #2","memcached.get":"Retrieve an item","memcached.getallkeys":"Gets the keys stored on all the servers","memcached.getbykey":"Retrieve an item from a specific server","example-4431":"Memcached::getDelayed example","memcached.getdelayed":"Request multiple items","memcached.getdelayedbykey":"Request multiple items from a specific server","example-4432":"Memcached::getMulti example","example-4433":"Memcached::GET_PRESERVE_ORDER example","memcached.getmulti":"Retrieve multiple items","memcached.getmultibykey":"Retrieve multiple items from a specific server","example-4434":"Retrieving Memcached options","memcached.getoption":"Retrieve a Memcached option value","example-4435":"Memcached::getResultCode example","memcached.getresultcode":"Return the result code of the last operation","example-4436":"Memcached::getResultMessage example","memcached.getresultmessage":"Return the message describing the result of the last operation","example-4437":"Memcached::getServerByKey example","memcached.getserverbykey":"Map a key to a server","example-4438":"Memcached::getServerList example","memcached.getserverlist":"Get the list of the servers in the pool","example-4439":"Memcached::getStats example","memcached.getstats":"Get server pool statistics","example-4440":"Memcached::getVersion example","memcached.getversion":"Get server pool version info","example-4441":"Memcached::increment example","memcached.increment":"Increment numeric item's value","memcached.incrementbykey":"Increment numeric item's value, stored on a specific server","memcached.ispersistent":"Check if a persitent connection to memcache is being used","memcached.ispristine":"Check if the instance was recently created","example-4442":"Memcached::prepend example","memcached.prepend":"Prepend data to an existing item","memcached.prependbykey":"Prepend data to an existing item on a specific server","memcached.quit":"Close any open connections","memcached.replace":"Replace the item under an existing key","memcached.replacebykey":"Replace the item under an existing key on a specific server","memcached.resetserverlist":"Clears all servers from the server list","example-4443":"Memcached::set example","memcached.set":"Store an item","example-4444":"Memcached::setByKey example","memcached.setbykey":"Store an item on a specific server","example-4445":"Memcached::setMulti example","memcached.setmulti":"Store multiple items","memcached.setmultibykey":"Store multiple items on a specific server","example-4446":"Setting a Memcached option","memcached.setoption":"Set a Memcached option","example-4447":"Setting Memcached options","memcached.setoptions":"Set Memcached options","memcached.setsaslauthdata":"Set the credentials to use for authentication","memcached.touch":"Set a new expiration on an item","memcached.touchbykey":"Set a new expiration on an item on a specific server","class.memcached":"The Memcached class","memcachedexception.intro":"Introduction","memcachedexception.synopsis":"Class synopsis","class.memcachedexception":"The MemcachedException class","book.memcached":"Memcached","intro.mqseries":"Introduction","mqseries.requirements.nix":"Installation requirements on non windows platforms","mqseries.requirements.windows":"Installation requirements on Windows","mqseries.requirements":"Requirements","mqseries.configure":"Installation","mqseries.ini":"Runtime Configuration","mqseries.resources":"Resource Types","mqseries.setup":"Installing\/Configuring","mqseries.constants":"Predefined Constants","example-4448":"mqseries_back\n example","function.mqseries-back":"MQSeries MQBACK","example-4449":"mqseries_begin\n example","function.mqseries-begin":"MQseries MQBEGIN","example-4450":"mqseries_close\n example","function.mqseries-close":"MQSeries MQCLOSE","example-4451":"mqseries_cmit\n example","function.mqseries-cmit":"MQSeries MQCMIT","example-4452":"mqseries_conn\n example","function.mqseries-conn":"MQSeries MQCONN","example-4453":"mqseries_connx\n example","example-4454":"mqseries_connx\n example using SSL connection & OCSP Responder URL","function.mqseries-connx":"MQSeries MQCONNX","example-4455":"mqseries_disc\n example","function.mqseries-disc":"MQSeries MQDISC","example-4456":"mqseries_get\n example","function.mqseries-get":"MQSeries MQGET","example-4457":"mqseries_inq\n example","function.mqseries-inq":"MQSeries MQINQ","example-4458":"mqseries_open\n example","function.mqseries-open":"MQSeries MQOPEN","function.mqseries-put1":"MQSeries MQPUT1","example-4459":"mqseries_put\n example","function.mqseries-put":"MQSeries MQPUT","function.mqseries-set":"MQSeries MQSET","example-4460":"mqseries_strerror\n example","function.mqseries-strerror":"Returns the error message corresponding to a result code (MQRC).","ref.mqseries":"mqseries Functions","book.mqseries":"mqseries","intro.network":"Introduction","network.requirements":"Requirements","network.installation":"Installation","ini.define-syslog-variables":"","network.configuration":"Runtime Configuration","network.resources":"Resource Types","network.setup":"Installing\/Configuring","network.constants":"Predefined Constants","function.checkdnsrr":"Check DNS records corresponding to a given Internet host name or IP address","function.closelog":"Close connection to system logger","example-4461":"define_syslog_variables example","function.define-syslog-variables":"Initializes all syslog related variables","function.dns-check-record":"Alias of checkdnsrr","function.dns-get-mx":"Alias of getmxrr","example-4462":"Using dns_get_record","example-4463":"Using dns_get_record and DNS_ANY","function.dns-get-record":"Fetch DNS Resource Records associated with a hostname","example-4464":"fsockopen Example","example-4465":"Using UDP connection","function.fsockopen":"Open Internet or Unix domain socket connection","example-4466":"A simple gethostbyaddr example","function.gethostbyaddr":"Get the Internet host name corresponding to a given IP address","example-4467":"A simple gethostbyname example","function.gethostbyname":"Get the IPv4 address corresponding to a given Internet host name","example-4468":"gethostbynamel example","function.gethostbynamel":"Get a list of IPv4 addresses corresponding to a given Internet host\n name","example-4469":"A simple gethostname example","function.gethostname":"Gets the host name","function.getmxrr":"Get MX records corresponding to a given Internet host name","example-4470":"getprotobyname example","function.getprotobyname":"Get protocol number associated with protocol name","function.getprotobynumber":"Get protocol name associated with protocol number","example-4471":"getservbyname example","function.getservbyname":"Get port number associated with an Internet service and protocol","function.getservbyport":"Get Internet service which corresponds to port and protocol","header-register-callback.example.basic":"header_register_callback example","function.header-register-callback":"Call a header function","example-4473":"Unsetting specific header.","example-4474":"Unsetting all previously set headers.","function.header-remove":"Remove previously set headers","example-4475":"Download dialog","example-4476":"Caching directives","function.header":"Send a raw HTTP header","example-4477":"Examples using headers_list","function.headers-list":"Returns a list of response headers sent (or ready to send)","example-4478":"Examples using headers_sent","function.headers-sent":"Checks if or where headers have been sent","example-4479":"Examples using http_response_code","function.http-response-code":"Get or Set the HTTP response code","example-4480":"inet_ntop Example","function.inet-ntop":"Converts a packed internet address to a human readable representation","example-4481":"inet_pton Example","function.inet-pton":"Converts a human readable IP address to its packed in_addr representation","example-4482":"ip2long Example","example-4483":"Displaying an IP address","function.ip2long":"Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address","function.long2ip":"Converts an (IPv4) Internet network address into a string in Internet standard dotted format","function.openlog":"Open connection to system logger","function.pfsockopen":"Open persistent Internet or Unix domain socket connection","example-4484":"setcookie send example","example-4485":"setcookie delete example","example-4486":"setcookie and arrays","function.setcookie":"Send a cookie","function.setrawcookie":"Send a cookie without urlencoding the cookie value","function.socket-get-status":"Alias of stream_get_meta_data","function.socket-set-blocking":"Alias of stream_set_blocking","function.socket-set-timeout":"Alias of stream_set_timeout","example-4487":"Using syslog","function.syslog":"Generate a system log message","ref.network":"Network Functions","book.network":"Network","intro.rrd":"Introduction","rrd.requirements":"Requirements","rrd.installation":"Installation","rrd.configuration":"Runtime Configuration","rrd.resources":"Resource Types","rrd.setup":"Installing\/Configuring","rrd.constants":"Predefined Constants","example-4488":"Procedural usage of rrd","rrd.examples-procedural":"Procedural PECL\/rrd example","example-4489":"OO usage of rrd","rrd.examples-oop":"OOP PECL\/rrd example","rrd.examples":"Examples","function.rrd-create":"Creates rrd database file","function.rrd-error":"Gets latest error message.","function.rrd-fetch":"Fetch the data for graph as array.","function.rrd-first":"Gets the timestamp of the first sample from rrd file.","function.rrd-graph":"Creates image from a data.","function.rrd-info":"Gets information about rrd file","function.rrd-last":"Gets unix timestamp of the last sample.","function.rrd-lastupdate":"Gets information about last updated data.","function.rrd-restore":"Restores the RRD file from XML dump.","function.rrd-tune":"Tunes some RRD database file header options.","function.rrd-update":"Updates the RRD database.","function.rrd-version":"Gets information about underlying rrdtool library","function.rrd-xport":"Exports the information about RRD database.","ref.rrd":"RRD Functions","rrdcreator.intro":"Introduction","rrdcreator.synopsis":"Class synopsis","rrdcreator.addarchive":"Adds RRA - archive of data values for each data source.","rrdcreator.adddatasource":"Adds data source definition for RRD database.","rrdcreator.construct":"Creates new RRDCreator instance","rrdcreator.save":"Saves the RRD database to a file","class.rrdcreator":"The RRDCreator class","rrdgraph.intro":"Introduction","rrdgraph.synopsis":"Class synopsis","rrdgraph.construct":"Creates new RRDGraph instance","rrdgraph.save":"Saves the result of query into image","rrdgraph.saveverbose":"Saves the RRD database query into image and returns the verbose\n information about generated graph.","example-4490":"RRDGraph::setOptions examples","rrdgraph.setoptions":"Sets the options for rrd graph export","class.rrdgraph":"The RRDGraph class","rrdupdater.intro":"Introduction","rrdupdater.synopsis":"Class synopsis","rrdupdater.construct":"Creates new RRDUpdater instance","example-4491":"RRDUpdater::update examples","rrdupdater.update":"Update the RRD database file","class.rrdupdater":"The RRDUpdater class","book.rrd":"RRDtool","intro.sam":"Introduction","sam.requirements":"Requirements","sam.installation.linux":"Linux installation steps","sam.installation.windows":"Windows installation steps","sam.installation.vs2005":"Additional steps for Visual Studio 2005","sam.installation":"Installation","sam.configuration.mapping":"Protocol support and mapping","sam.configuration":"Runtime Configuration","sam.resources":"Resource Types","sam.setup":"Installing\/Configuring","constant.sam-auto":"","constant.sam-boolean":"","constant.sam-bus":"","constant.sam-byte":"","constant.sam-bytes":"","constant.sam-correlid":"","constant.sam-deliverymode":"","constant.sam-double":"","constant.sam-endpoints":"","constant.sam-float":"","constant.sam-host":"","constant.sam-int":"","constant.sam-long":"","constant.sam-manual":"","constant.sam-messageid":"","constant.sam-mqtt":"","constant.sam-mqtt-cleanstart":"","constant.sam-non-persistent":"","constant.sam-password":"","constant.sam-persistent":"","constant.sam-port":"","constant.sam-priority":"","constant.sam-reply-to":"","constant.sam-rtt":"","constant.sam-string":"","constant.sam-targetchain":"","constant.sam-text":"","constant.sam-timetolive":"","constant.sam-transactions":"","constant.sam-userid":"","constant.sam-wait":"","constant.sam-wmq":"","constant.sam-wmq-bindings":"","constant.sam-wmq-client":"","constant.sam-wmq-target-client":"","constant.sam-wpm":"","sam.constants":"Predefined Constants","example-4492":"Creating a connection and connecting to a remote WebSphere MQSeries Messaging Server","example-4493":"Creating a connection and connecting to a remote WebSphere Application Server","example-4494":"Creating a connection and connecting to an MQTT server","sam.connections":"Connections","example-4495":"Creating a message with a simple text body","example-4496":"Setting a text format property using the default syntax","example-4497":"Setting a property using a type hint","example-4498":"Retrieving a property from a message header","sam.messages":"Messages","example-4499":"Adding a message to a queue and receiving a response","sam.operations":"Messaging operations","example-4500":"Creating a durable subscription to a topic","example-4501":"Subscribing to a topic using a WebSphere Platform Messaging (WPM) server","example-4502":"Receiving published data using a durable subscription","example-4503":"Deleting a durable subscription to a topic","sam.pubsub":"Publish\/Subscribe and subscriptions to topics","example-4504":"Handling an error from a method that returns no result","example-4505":"Handling an error from a method that returns a result","sam.errors":"Error handling","sam.examples":"Examples","class.samconnection":"SAMConnection","class.sammessage":"SAMMessage","sam.classes":"Predefined Classes","example-4506":"Committing the current unit of work","samconnection.commit":"Commits (completes) the current unit of work.","example-4507":"Creating a connection to a Messaging Server using the IBM MQSeries\n protocol (WMQ)","example-4508":"Creating a connection with application transaction control and default\n host and port values","example-4509":"Creating a connection to a Messaging Server using the IBM WebSphere\n Platform Messaging protocol (WPM)","samconnection.connect":"Establishes a connection to a Messaging Server","example-4510":"Creating a connection object and connecting to a Messaging Server","samconnection.construct":"Creates a new connection to a Messaging Server","example-4511":"Disconnecting from a Messaging Server","samconnection.disconnect":"Disconnects from a Messaging Server","example-4512":"Using the error number and description properties","samconnection.errno":"Contains the unique numeric error code of the last executed SAM operation.","example-4513":"Using the error number and description properties","samconnection.error":"Contains the text description of the last failed SAM operation.","example-4514":"Checking whether there us a connection to a Messaging Server","samconnection.isconnected":"Queries whether a connection is established to a Messaging Server","example-4515":"Retrieve the next message from a queue without removing it","example-4516":"Retrieve a specific message from a queue without removing it from the queue","samconnection.peek":"Read a message from a queue without removing it from the queue.","example-4517":"Retrieve all messages in a queue without removing them","example-4518":"Retrieve all messages from a queue with a matching correlation id","samconnection.peekall":"Read one or more messages from a queue without removing it from the queue.","example-4519":"Receiving a message from a queue","example-4520":"Receiving a message from a queue with options","example-4521":"Receiving a message from a subscription","samconnection.receive":"Receive a message from a queue or subscription.","example-4522":"Removing a message from a queue by message id","samconnection.remove":"Remove a message from a queue.","example-4523":"Cancelling an in-flight unit of work","samconnection.rollback":"Cancels (rolls back) an in-flight unit of work.","example-4524":"Send a message to a queue","example-4525":"Publish a message to a topic","example-4526":"Send a request and receive a response","samconnection.send":"Send a message to a queue or publish an item to a topic.","example-4527":"Turn on debugging output","example-4528":"Turn off debugging output","samconnection.setdebug":"Turn on or off additional debugging output.","example-4529":"Subscribe to a topic","samconnection.subscribe":"Create a subscription to a specified topic.","example-4530":"Delete a subscription","samconnection.unsubscribe":"Cancel a subscription to a specified topic.","example-4531":"Setting a text string into the body of a message","sammessage.body":"The body of the message.","example-4532":"Creating a message","example-4533":"Creating a message with a simple text payload","sammessage.construct":"Creates a new Message object","example-4534":"Setting a text format property using the default syntax","example-4535":"Setting a text format property using a type hint","example-4536":"Setting properties as the sender of a message","example-4537":"Retreiving property values from a message","sammessage.header":"The header properties of the message.","ref.sam":"SAM Functions","book.sam":"Simple Asynchronous Messaging","intro.snmp":"Introduction","snmp.requirements":"Requirements","snmp.installation":"Installation","snmp.configuration":"Runtime Configuration","snmp.resources":"Resource Types","snmp.setup":"Installing\/Configuring","constant.snmp-oid-output-suffix":"","constant.snmp-oid-output-module":"","constant.snmp-oid-output-full":"","constant.snmp-oid-output-numeric":"","constant.snmp-oid-output-ucd":"","constant.snmp-oid-output-none":"","constant.snmp-value-library":"","constant.snmp-value-plain":"","constant.snmp-value-object":"","constant.snmp-bit-str":"","constant.snmp-octet-str":"","constant.snmp-opaque":"","constant.snmp-null":"","constant.snmp-object-id":"","constant.snmp-ipaddress":"","constant.snmp-counter":"","constant.snmp-unsigned":"","constant.snmp-timeticks":"","constant.snmp-uinteger":"","constant.snmp-integer":"","constant.snmp-counter64":"","snmp.constants":"Predefined Constants","example-4538":"snmp_get_quick_print example","function.snmp-get-quick-print":"Fetches the current value of the UCD library's quick_print setting","example-4539":"Using snmp_get_valueretrieval","function.snmp-get-valueretrieval":"Return the method how the SNMP values will be returned","example-4540":"Using snmp_read_mib","function.snmp-read-mib":"Reads and parses a MIB file into the active MIB tree","example-4541":"Using snmp_set_enum_print","function.snmp-set-enum-print":"Return all values that are enums with their enum value instead of the raw integer","function.snmp-set-oid-numeric-print":"Return all objects including their respective object id within the specified one","example-4542":"Using snmprealwalk","function.snmp-set-oid-output-format":"Set the OID output format","example-4543":"Using snmp_set_quick_print","function.snmp-set-quick-print":"Set the value of quick_print within the UCD SNMP library","example-4544":"Using\n snmp_set_valueretrieval","function.snmp-set-valueretrieval":"Specify the method how the SNMP values will be returned","example-4545":"Using snmp2_get","function.snmp2-get":"Fetch an SNMP object","example-4546":"Using snmp2_get_next","function.snmp2-getnext":"Fetch the SNMP object which follows the given object id","example-4547":"Using snmp2_real_walk","function.snmp2-real-walk":"Return all objects including their respective object ID within the specified one","example-4548":"Using snmp2_set","example-4549":"Using snmp2_set for setting BITS SNMP object id","function.snmp2-set":"Set the value of an SNMP object","example-4550":"snm2_pwalk Example","function.snmp2-walk":"Fetch all the SNMP objects from an agent","example-4551":"Using snmp3_get","function.snmp3-get":"Fetch an SNMP object","example-4552":"Using snmp3_getnext","function.snmp3-getnext":"Fetch the SNMP object which follows the given object id","example-4553":"Using\n snmp3_real_walk","function.snmp3-real-walk":"Return all objects including their respective object ID within the specified one","example-4554":"Using snmp3_set","example-4555":"Using snmp3_set for setting BITS SNMP object id","function.snmp3-set":"Set the value of an SNMP object","example-4556":"snmp3_walk Example","function.snmp3-walk":"Fetch all the SNMP objects from an agent","example-4557":"Using snmpget","function.snmpget":"Fetch an SNMP object","example-4558":"Using snmpgetnext","function.snmpgetnext":"Fetch the SNMP object which follows the given object id","example-4559":"Using snmprealwalk","function.snmprealwalk":"Return all objects including their respective object ID within the specified one","example-4560":"Using snmpset","example-4561":"Using snmpset for setting BITS SNMP object id","function.snmpset":"Set the value of an SNMP object","example-4562":"snmpwalk Example","function.snmpwalk":"Fetch all the SNMP objects from an agent","example-4563":"snmpwalkoid Example","function.snmpwalkoid":"Query for a tree of information about a network entity","ref.snmp":"SNMP Functions","snmp.intro":"Introduction","snmp.synopsis":"Class synopsis","snmp.props.max-oids":"","snmp.props.valueretrieval":"","snmp.props.quick-print":"","snmp.props.enum-print":"","snmp.props.oid-output-format":"OID .1.3.6.1.2.1.1.3.0 representation for various\n oid_output_format values","snmp.props.oid-increasing-check":"","snmp.props.exceptions-enabled":"","snmp.props.info":"","snmp.props":"Properties","snmp.class.constants.errno-noerror":"","snmp.class.constants.errno-generic":"","snmp.class.constants.errno-timeout":"","snmp.class.constants.errno-error-in-reply":"","snmp.class.constants.errno-oid-not-increasing":"","snmp.class.constants.errno-oid-parsing-error":"","snmp.class.constants.errno-multiple-set-queries":"","snmp.class.constants.errno-any":"","snmp.class.constants.error-types":"SNMP Error Types","snmp.class.constants.version-1":"","snmp.class.constants.version-2c":"","snmp.class.constants.version-3":"","snmp.class.constants.protocols":"SNMP Protocol Versions","snmp.class.constants":"Predefined Constants","snmp.close.example.basic":"SNMP::close example","snmp.close":"Close SNMP session","snmp.construct.example.basic":"Fetching sysLocation","snmp.construct":"Creates SNMP instance representing session to remote SNMP agent","snmp.get.example.singleoid":"Single SNMP object","snmp.get.example.oidarray":"Miltiple SNMP objects","snmp.get":"Fetch an SNMP object","snmp.geterrno.example.basic":"SNMP::getErrno example","snmp.geterrno":"Get last error code","snmp.geterror.example.basic":"SNMP::getError example","snmp.geterror":"Get last error message","snmp.getnext.example.singleoid":"Single SNMP object","snmp.getnext.example.oidarray":"Miltiple SNMP objects","snmp.getnext":"Fetch an SNMP object which\n follows the given object id","snmp.set.example.basic":"Set single SNMP object id","snmp.set.example.multiple":"Set multiple values using single SNMP::set\n call","snmp.set.example.bits":"Using SNMP::set for setting BITS SNMP object id","snmp.set":"Set the value of an SNMP object","snmp.setsecurity.example.basic":"SNMP::setSecurity example","snmp.setsecurity":"Configures security-related SNMPv3 session parameters","snmp.walk.example.basic":"SNMP::walk example","snmp.walk.example.suffix-as-key":"suffix_as_key example","snmp.walk":"Fetch SNMP object subtree","class.snmp":"The SNMP class","snmpexception.intro":"Introduction","snmpexception.synopsis":"Class synopsis","snmpexception.props.code":"","snmpexception.props":"Properties","class.snmpexception":"The SNMPException class","book.snmp":"SNMP","intro.sockets":"Introduction","sockets.requirements":"Requirements","sockets.installation":"Installation","sockets.configuration":"Runtime Configuration","sockets.resources":"Resource Types","sockets.setup":"Installing\/Configuring","constant.af-unix":"","constant.af-inet":"","constant.af-inet6":"","constant.sock-stream":"","constant.sock-dgram":"","constant.sock-raw":"","constant.sock-seqpacket":"","constant.sock-rdm":"","constant.msg-oob":"","constant.msg-waitall":"","constant.msg-peek":"","constant.msg-dontroute":"","constant.msg-eor":"","constant.msg-eof":"","constant.so-debug":"","constant.so-reuseaddr":"","constant.so-reuseport":"","constant.so-keepalive":"","constant.so-dontroute":"","constant.so-linger":"","constant.so-broadcast":"","constant.so-oobinline":"","constant.so-sndbuf":"","constant.so-rcvbuf":"","constant.so-sndlowat":"","constant.so-rcvlowat":"","constant.so-sndtimeo":"","constant.so-rcvtimeo":"","constant.so-type":"","constant.so-error":"","constant.tcp-nodelay":"","constant.sol-socket":"","constant.php-normal-read":"","constant.php-binary-read":"","constant.sol-tcp":"","constant.sol-udp":"","constant.socket-eintr":"","constant.socket-ebadf":"","constant.socket-eacces":"","constant.socket-efault":"","constant.socket-einval":"","constant.socket-emfile":"","constant.socket-enametoolong":"","constant.socket-enotempty":"","constant.socket-eloop":"","constant.socket-ewouldblock":"","constant.socket-eremote":"","constant.socket-eusers":"","constant.socket-enotsock":"","constant.socket-edestaddrreq":"","constant.socket-emsgsize":"","constant.socket-eprototype":"","constant.socket-eprotonosupport":"","constant.socket-esocktnosupport":"","constant.socket-eopnotsupp":"","constant.socket-epfnosupport":"","constant.socket-eafnosupport":"","constant.socket-eaddrnotavail":"","constant.socket-enetdown":"","constant.socket-enetunreach":"","constant.socket-enetreset":"","constant.socket-econnaborted":"","constant.socket-econnreset":"","constant.socket-enobufs":"","constant.socket-eisconn":"","constant.socket-enotconn":"","constant.socket-eshutdown":"","constant.socket-etimedout":"","constant.socket-econnrefused":"","constant.socket-ehostdown":"","constant.socket-ehostunreach":"","constant.socket-ealready":"","constant.socket-einprogress":"","constant.socket-enoprotoopt":"","constant.socket-eaddrinuse":"","constant.socket-etoomyrefs":"","constant.socket-eproclim":"","constant.socket-eduot":"","constant.socket-estale":"","constant.socket-ediscon":"","constant.socket-sysnotready":"","constant.socket-vernotsupported":"","constant.socket-notinitialised":"","constant.socket-host-not-found":"","constant.socket-try-again":"","constant.socket-no-recovery":"","constant.socket-no-data":"","constant.socket-no-address":"","constant.socket-eperm":"","constant.socket-enoent":"","constant.socket-eio":"","constant.socket-enxio":"","constant.socket-e2big":"","constant.socket-eagain":"","constant.socket-enomem":"","constant.socket-enotblk":"","constant.socket-ebusy":"","constant.socket-eexist":"","constant.socket-exdev":"","constant.socket-enodev":"","constant.socket-enotdir":"","constant.socket-eisdir":"","constant.socket-enfile":"","constant.socket-enotty":"","constant.socket-enospc":"","constant.socket-espipe":"","constant.socket-erofs":"","constant.socket-emlink":"","constant.socket-epipe":"","constant.socket-enolck":"","constant.socket-enosys":"","constant.socket-enomsg":"","constant.socket-eidrm":"","constant.socket-echrng":"","constant.socket-el2nsync":"","constant.socket-el3hlt":"","constant.socket-el3rst":"","constant.socket-elnrng":"","constant.socket-eunatch":"","constant.socket-enocsi":"","constant.socket-el2hlt":"","constant.socket-ebade":"","constant.socket-ebadr":"","constant.socket-exfull":"","constant.socket-enoano":"","constant.socket-ebadrqc":"","constant.socket-ebadslt":"","constant.socket-enostr":"","constant.socket-enodata":"","constant.socket-etime":"","constant.socket-enosr":"","constant.socket-enonet":"","constant.socket-enolink":"","constant.socket-eadv":"","constant.socket-esrmnt":"","constant.socket-ecomm":"","constant.socket-eproto":"","constant.socket-emultihop":"","constant.socket-ebadmsg":"","constant.socket-enotuniq":"","constant.socket-ebadfd":"","constant.socket-eremchg":"","constant.socket-erestart":"","constant.socket-estrpipe":"","constant.socket-eprotoopt":"","constant.socket-addrinuse":"","constant.socket-etoomanyrefs":"","constant.socket-eisnam":"","constant.socket-eremoteio":"","constant.socket-edquot":"","constant.socket-enomedium":"","constant.socket-emediumtype":"","sockets.constants":"Predefined Constants","example-4578":"Socket example: Simple TCP\/IP server","example-4579":"Socket example: Simple TCP\/IP client","sockets.examples":"Examples","sockets.errors":"Socket Errors","function.socket-accept":"Accepts a connection on a socket","example-4580":"Using socket_bind to set the source address","function.socket-bind":"Binds a name to a socket","function.socket-clear-error":"Clears the error on the socket or the last error code","function.socket-close":"Closes a socket resource","function.socket-cmsg-space":"Calculate message buffer size","function.socket-connect":"Initiates a connection on a socket","function.socket-create-listen":"Opens a socket on port to accept connections","example-4581":"socket_create_pair example","example-4582":"socket_create_pair IPC example","function.socket-create-pair":"Creates a pair of indistinguishable sockets and stores them in an array","function.socket-create":"Create a socket (endpoint for communication)","example-4583":"socket_set_option example","function.socket-get-option":"Gets socket options for the socket","function.socket-getpeername":"Queries the remote side of the given socket which may either result in host\/port or in a Unix filesystem path, dependent on its type","function.socket-getsockname":"Queries the local side of the given socket which may either result in host\/port or in a Unix filesystem path, dependent on its type","example-4584":"socket_import_stream example","function.socket-import-stream":"Import a stream","example-4585":"socket_last_error example","function.socket-last-error":"Returns the last error on the socket","function.socket-listen":"Listens for a connection on a socket","function.socket-read":"Reads a maximum of length bytes from a socket","example-4586":"socket_recv example","function.socket-recv":"Receives data from a connected socket","example-4587":"socket_recvfrom example","function.socket-recvfrom":"Receives data from a socket whether or not it is connection-oriented","function.socket-recvmsg":"Read a message","example-4588":"Using NULL with socket_select","example-4589":"Understanding socket_select's result","example-4590":"socket_select example","function.socket-select":"Runs the select() system call on the given arrays of sockets with a specified timeout","function.socket-send":"Sends data to a connected socket","function.socket-sendmsg":"Send a message","example-4591":"socket_sendto Example","function.socket-sendto":"Sends a message to a socket, whether it is connected or not","example-4592":"socket_set_block example","function.socket-set-block":"Sets blocking mode on a socket resource","example-4593":"socket_set_nonblock example","function.socket-set-nonblock":"Sets nonblocking mode for file descriptor fd","example-4594":"socket_set_option example","function.socket-set-option":"Sets socket options for the socket","function.socket-shutdown":"Shuts down a socket for receiving, sending, or both","example-4595":"socket_strerror example","function.socket-strerror":"Return a string describing a socket error","function.socket-write":"Write to a socket","ref.sockets":"Socket Functions","book.sockets":"Sockets","intro.ssh2":"Introduction","ssh2.requirements":"Requirements","ssh2.installation":"Installation","ssh2.configuration":"Runtime Configuration","ssh2.resources":"Resource Types","ssh2.setup":"Installing\/Configuring","constant.ssh2-fingerprint-md5":"","constant.ssh2-fingerprint-sha1":"","constant.ssh2-fingerprint-hex":"","constant.ssh2-fingerprint-raw":"","constant.ssh2-term-unit-chars":"","constant.ssh2-term-unit-pixels":"","constant.ssh2-default-term-width":"","constant.ssh2-default-term-height":"","constant.ssh2-default-term-unit":"","constant.ssh2-stream-stdio":"","constant.ssh2-stream-stderr":"","constant.ssh2-default-terminal":"","ssh2.constants":"Predefined Constants","example-4596":"Authenticating with a ssh agent","function.ssh2-auth-agent":"Authenticate over SSH using the ssh agent","example-4597":"Authentication using a public hostkey","function.ssh2-auth-hostbased-file":"Authenticate using a public hostkey","example-4598":"Retrieving a list of authentication methods","function.ssh2-auth-none":"Authenticate as "none"","example-4599":"Authenticating with a password","function.ssh2-auth-password":"Authenticate over SSH using a plain password","example-4600":"Authentication using a public key","function.ssh2-auth-pubkey-file":"Authenticate using a public key","example-4601":"ssh2_connect example","function.ssh2-connect":"Connect to an SSH server","example-4602":"Executing a command","function.ssh2-exec":"Execute a command on a remote server","example-4603":"Opening a shell and retrieving the stderr stream associated with it","function.ssh2-fetch-stream":"Fetch an extended data stream","example-4604":"Checking the fingerprint against a known value","function.ssh2-fingerprint":"Retrieve fingerprint of remote server","example-4605":"Determining what methods were negotiated","function.ssh2-methods-negotiated":"Return list of negotiated methods","example-4606":"Adding a publickey with ssh2_publickey_add","function.ssh2-publickey-add":"Add an authorized publickey","function.ssh2-publickey-init":"Initialize Publickey subsystem","example-4607":"Listing authorized keys with ssh2_publickey_list","function.ssh2-publickey-list":"List currently authorized publickeys","function.ssh2-publickey-remove":"Remove an authorized publickey","example-4608":"Downloading a file via SCP","function.ssh2-scp-recv":"Request a file via SCP","example-4609":"Uploading a file via SCP","function.ssh2-scp-send":"Send a file via SCP","example-4610":"Creating a directory on a remote server","function.ssh2-sftp-chmod":"Changes file mode","example-4611":"Stating a symbolic link via SFTP","function.ssh2-sftp-lstat":"Stat a symbolic link","example-4612":"Creating a directory on a remote server","function.ssh2-sftp-mkdir":"Create a directory","example-4613":"Reading a symbolic link","function.ssh2-sftp-readlink":"Return the target of a symbolic link","example-4614":"Resolving a pathname","function.ssh2-sftp-realpath":"Resolve the realpath of a provided path string","example-4615":"Renaming a file via sftp","function.ssh2-sftp-rename":"Rename a remote file","example-4616":"Removing a directory on a remote server","function.ssh2-sftp-rmdir":"Remove a directory","example-4617":"Stating a file via SFTP","function.ssh2-sftp-stat":"Stat a file on a remote filesystem","example-4618":"Creating a symbolic link","function.ssh2-sftp-symlink":"Create a symlink","example-4619":"Deleting a file","function.ssh2-sftp-unlink":"Delete a file","example-4620":"Opening a file via SFTP","function.ssh2-sftp":"Initialize SFTP subsystem","example-4621":"Executing a command","function.ssh2-shell":"Request an interactive shell","example-4622":"Opening a tunnel to an arbitrary host","function.ssh2-tunnel":"Open a tunnel through a remote server","ref.ssh2":"SSH2 Functions","book.ssh2":"Secure Shell2","intro.stomp":"Introduction","stomp.requirements":"Requirements","stomp.installation":"Installation","ini.stomp.default-broker":"","ini.stomp.default-connection-timeout-sec":"","ini.stomp.default-connection-timeout-usec":"","ini.stomp.default-read-timeout-sec":"","ini.stomp.default-read-timeout-usec":"","stomp.configuration":"Runtime Configuration","stomp.resources":"Resource Types","stomp.setup":"Installing\/Configuring","example-4623":"Object oriented style","example-4624":"Procedural style","stomp.examples":"Examples","example-4625":"stomp_connect_error example","function.stomp-connect-error":"Returns a string description of the last connect error","example-4626":"stomp_version example","function.stomp-version":"Gets the current stomp extension version","ref.stomp":"Stomp Functions","stomp.intro":"Introduction","stomp.synopsis":"Class synopsis","example-4627":"Object oriented style","example-4628":"Procedural style","stomp.abort":"Rolls back a transaction in progress","example-4629":"Object oriented style","example-4630":"Procedural style","stomp.ack":"Acknowledges consumption of a message","stomp.begin":"Starts a transaction","example-4631":"Object oriented style","example-4632":"Procedural style","stomp.commit":"Commits a transaction in progress","example-4633":"Object oriented style","example-4634":"Procedural style","stomp.construct":"Opens a connection","stomp.destruct":"Closes stomp connection","example-4635":"Object oriented style","example-4636":"Procedural style","stomp.error":"Gets the last stomp error","example-4637":"Object oriented style","example-4638":"Procedural style","stomp.getreadtimeout":"Gets read timeout","example-4639":"Object oriented style","example-4640":"Procedural style","stomp.getsessionid":"Gets the current stomp session ID","stomp.hasframe":"Indicates whether or not there is a frame ready to read","example-4641":"Object oriented style","example-4642":"Procedural style","stomp.readframe":"Reads the next frame","stomp.send":"Sends a message","example-4643":"Object oriented style","example-4644":"Procedural style","stomp.setreadtimeout":"Sets read timeout","stomp.subscribe":"Registers to listen to a given destination","stomp.unsubscribe":"Removes an existing subscription","class.stomp":"The Stomp class","stompframe.intro":"Introduction","stompframe.synopsis":"Class synopsis","stompframe.props.command":"","stompframe.props.headers":"","stompframe.props.body":"","stompframe.props":"Properties","stompframe.construct":"Constructor","class.stompframe":"The StompFrame class","stompexception.intro":"Introduction","stompexception.synopsis":"Class synopsis","stomp.getdetails":"Get exception details","class.stompexception":"The StompException class","book.stomp":"Stomp Client","intro.svm":"Introduction","svm.requirements":"Requirements","svm.installation":"Installation","svm.configuration":"Runtime Configuration","svm.resources":"Resource Types","svm.setup":"Installing\/Configuring","example-4645":"Train from array","example-4646":"Train from a file","svm.examples":"Examples","svm.intro":"Introduction","svm.synopsis":"Class synopsis","svm.constants.c-svc":"","svm.constants.nu-svc":"","svm.constants.one-class":"","svm.constants.epsilon-svr":"","svm.constants.nu-svr":"","svm.constants.kernel-linear":"","svm.constants.kernel-poly":"","svm.constants.kernel-rbf":"","svm.constants.kernel-sigmoid":"","svm.constants.kernel-precomputed":"","svm.constants.opt-type":"","svm.constants.opt-kernel-type":"","svm.constants.opt-degree":"","svm.constants.opt-shrinking":"","svm.constants.opt-propability":"","svm.constants.opt-gamma":"","svm.constants.opt-nu":"","svm.constants.opt-eps":"","svm.constants.opt-p":"","svm.constants.opt-coef-zero":"","svm.constants.opt-c":"","svm.constants.opt-cache-size":"","svm.constants.types":"SVM Constants","svm.constants":"Predefined Constants","svm.construct":"Construct a new SVM object","svm.crossvalidate":"Test training params on subsets of the training data.","svm.getoptions":"Return the current training parameters","svm.setoptions":"Set training parameters","svm.train":"Create a SVMModel based on training data","class.svm":"The SVM class","svmmodel.intro":"Introduction","svmmodel.synopsis":"Class synopsis","svmmodel.checkprobabilitymodel":"Returns true if the model has probability information","svmmodel.construct":"Construct a new SVMModel","svmmodel.getlabels":"Get the labels the model was trained on","svmmodel.getnrclass":"Returns the number of classes the model was trained with","svmmodel.getsvmtype":"Get the SVM type the model was trained with","svmmodel.getsvrprobability":"Get the sigma value for regression types","svmmodel.load":"Load a saved SVM Model","svmmodel.predict-probability":"Return class probabilities for previous unseen data","svmmodel.predict":"Predict a value for previously unseen data","svmmodel.save":"Save a model to a file","class.svmmodel":"The SVMModel class","book.svm":"Support Vector Machine","intro.svn":"Introduction","svn.requirements":"Requirements","svn.installation":"Installation","svn.configuration":"Runtime Configuration","svn.resources":"Resource Types","svn.setup":"Installing\/Configuring","constant.svn-revision-head":"","constant.svn-auth-param-default-username":"","constant.svn-auth-param-default-password":"","constant.svn-auth-param-non-interactive":"","constant.svn-auth-param-dont-store-passwords":"","constant.svn-auth-param-no-auth-cache":"","constant.svn-auth-param-ssl-server-failures":"","constant.svn-auth-param-ssl-server-cert-info":"","constant.svn-auth-param-config":"","constant.svn-auth-param-server-group":"","constant.svn-auth-param-config-dir":"","constant.php-svn-auth-param-ignore-ssl-verify-errors":"","svn.constants.auth":"Constants usable with svn_auth_set_parameter","constant.svn-fs-config-fs-type":"","constant.svn-fs-type-bdb":"","constant.svn-fs-type-fsfs":"","constant.svn-prop-revision-date":"","constant.svn-prop-revision-orig-date":"","constant.svn-prop-revision-author":"","constant.svn-prop-revision-log":"","constant.svn-wc-status-none":"","constant.svn-wc-status-unversioned":"","constant.svn-wc-status-normal":"","constant.svn-wc-status-added":"","constant.svn-wc-status-missing":"","constant.svn-wc-status-deleted":"","constant.svn-wc-status-replaced":"","constant.svn-wc-status-modified":"","constant.svn-wc-status-merged":"","constant.svn-wc-status-conflicted":"","constant.svn-wc-status-ignored":"","constant.svn-wc-status-obstructed":"","constant.svn-wc-status-external":"","constant.svn-wc-status-incomplete":"","svn.constants.status":"Working copy status constants","constant.svn-node-none":"","constant.svn-node-file":"","constant.svn-node-dir":"","constant.svn-node-unknown":"","svn.constants.type":"Node type constants","svn.constants":"Predefined Constants","example-4647":"svn_add example","function.svn-add":"Schedules the addition of an item in a working directory","function.svn-auth-get-parameter":"Retrieves authentication parameter","example-4648":"Default authentication example","function.svn-auth-set-parameter":"Sets an authentication parameter","example-4649":"svn_blame example","function.svn-blame":"Get the SVN blame for a file","example-4650":"Basic example","function.svn-cat":"Returns the contents of a file in a repository","example-4651":"Basic example","function.svn-checkout":"Checks out a working copy from the repository","example-4652":"Basic example","function.svn-cleanup":"Recursively cleanup a working copy directory, finishing incomplete operations and removing locks","example-4653":"Basic example","function.svn-client-version":"Returns the version of the SVN client libraries","example-4654":"Basic example","function.svn-commit":"Sends changes from the local working copy to the repository","function.svn-delete":"Delete items from a working copy or repository.","example-4655":"Basic example","example-4656":"Diffing two revisions of a repository path","example-4657":"Portably diffing two local files","function.svn-diff":"Recursively diffs two paths","example-4658":"svn_export example","function.svn-export":"Export the contents of a SVN directory","function.svn-fs-abort-txn":"Abort a transaction, returns true if everything is okay, false otherwise","function.svn-fs-apply-text":"Creates and returns a stream that will be used to replace","function.svn-fs-begin-txn2":"Create a new transaction","function.svn-fs-change-node-prop":"Return true if everything is ok, false otherwise","function.svn-fs-check-path":"Determines what kind of item lives at path in a given repository fsroot","function.svn-fs-contents-changed":"Return true if content is different, false otherwise","function.svn-fs-copy":"Copies a file or a directory, returns true if all is ok, false otherwise","function.svn-fs-delete":"Deletes a file or a directory, return true if all is ok, false otherwise","function.svn-fs-dir-entries":"Enumerates the directory entries under path; returns a hash of dir names to file type","function.svn-fs-file-contents":"Returns a stream to access the contents of a file from a given version of the fs","function.svn-fs-file-length":"Returns the length of a file from a given version of the fs","function.svn-fs-is-dir":"Return true if the path points to a directory, false otherwise","function.svn-fs-is-file":"Return true if the path points to a file, false otherwise","function.svn-fs-make-dir":"Creates a new empty directory, returns true if all is ok, false otherwise","function.svn-fs-make-file":"Creates a new empty file, returns true if all is ok, false otherwise","function.svn-fs-node-created-rev":"Returns the revision in which path under fsroot was created","function.svn-fs-node-prop":"Returns the value of a property for a node","function.svn-fs-props-changed":"Return true if props are different, false otherwise","function.svn-fs-revision-prop":"Fetches the value of a named property","function.svn-fs-revision-root":"Get a handle on a specific version of the repository root","function.svn-fs-txn-root":"Creates and returns a transaction root","function.svn-fs-youngest-rev":"Returns the number of the youngest revision in the filesystem","example-4659":"Basic example","function.svn-import":"Imports an unversioned path into a repository","example-4660":"svn_log example","function.svn-log":"Returns the commit log messages of a repository URL","example-4661":"svn_ls example","function.svn-ls":"Returns list of directory contents in repository URL, optionally at revision number","function.svn-mkdir":"Creates a directory in a working copy or repository","function.svn-repos-create":"Create a new subversion repository at path","function.svn-repos-fs-begin-txn-for-commit":"Create a new transaction","function.svn-repos-fs-commit-txn":"Commits a transaction and returns the new revision","function.svn-repos-fs":"Gets a handle on the filesystem for a repository","function.svn-repos-hotcopy":"Make a hot-copy of the repos at repospath; copy it to destpath","function.svn-repos-open":"Open a shared lock on a repository.","function.svn-repos-recover":"Run recovery procedures on the repository located at path.","function.svn-revert":"Revert changes to the working copy","example-4662":"Basic example","function.svn-status":"Returns the status of working copy files and directories","example-4663":"Basic example","function.svn-update":"Update working copy","ref.svn":"SVN Functions","book.svn":"Subversion","intro.tcpwrap":"Introduction","tcpwrap.requirements":"Requirements","tcpwrap.installation":"Installation","tcpwrap.configuration":"Runtime Configuration","tcpwrap.resources":"Resource Types","tcpwrap.setup":"Installing\/Configuring","tcpwrap.constants":"Predefined Constants","example-4664":"Deny all connections from localhost","function.tcpwrap-check":"Performs a tcpwrap check","ref.tcpwrap":"TCP Functions","book.tcpwrap":"TCP Wrappers","intro.varnish":"Introduction","varnish.requirements":"Requirements","varnish.installation":"Installation","varnish.configuration":"Runtime Configuration","varnish.resources":"Resource Types","varnish.setup":"Installing\/Configuring","constant.varnish-status-syntax":"","constant.varnish-status-unknown":"","constant.varnish-status-unimpl":"","constant.varnish-status-toofew":"","constant.varnish-status-toomany":"","constant.varnish-status-param":"","constant.varnish-status-auth":"","constant.varnish-status-ok":"","constant.varnish-status-cant":"","constant.varnish-status-comms":"","constant.varnish-status-close":"","constant.varnish-config-ident":"","constant.varnish-config-host":"","constant.varnish-config-port":"","constant.varnish-config-timeout":"","constant.varnish-config-secret":"","constant.varnish-config-compat":"","constant.varnish-compat-2":"","constant.varnish-compat-3":"","varnish.constants":"Predefined Constants","example-4665":"Ban an URL","varnish.example.admin":"Basic VarnishAdmin usage","example-4666":"Get statistic snapshot","varnish.example.stat":"Basic VarnishStat usage","example-4667":"Read varnish shared memory log","varnish.example.log":"Basic VarnishLog usage","varnish.examples":"Examples","varnishadmin.intro":"Introduction","varnishadmin.synopsis":"Class synopsis","varnishadmin.auth":"Authenticate on a varnish instance","varnishadmin.ban":"Ban URLs using a VCL expression","varnishadmin.banurl":"Ban an URL using a VCL expression","varnishadmin.clearpanic":"Clear varnish instance panic messages","varnishadmin.connect":"Connect to a varnish instance administration interface","example-4668":"VarnishAdmin::__construct example","varnishadmin.construct":"VarnishAdmin constructor","varnishadmin.disconnect":"Disconnect from a varnish instance administration interface","varnishadmin.getpanic":"Get the last panic message on a varnish instance","varnishadmin.getparams":"Fetch current varnish instance configuration parameters","varnishadmin.isrunning":"Check if the varnish slave process is currently running","varnishadmin.setcompat":"Set the class compat configuration param","varnishadmin.sethost":"Set the class host configuration param","varnishadmin.setident":"Set the class ident configuration param","varnishadmin.setparam":"Set configuration param on the current varnish instance","varnishadmin.setport":"Set the class port configuration param","varnishadmin.setsecret":"Set the class secret configuration param","varnishadmin.settimeout":"Set the class timeout configuration param","varnishadmin.start":"Start varnish worker process","varnishadmin.stop":"Stop varnish worker process","class.varnishadmin":"The VarnishAdmin class","varnishstat.intro":"Introduction","varnishstat.synopsis":"Class synopsis","varnishstat.construct":"VarnishStat constructor","varnishstat.getsnapshot":"Get the current varnish instance statistics snapshot","class.varnishstat":"The VarnishStat class","varnishlog.intro":"Introduction","varnishlog.synopsis":"Class synopsis","varnishlog.constants.tag-debug":"","varnishlog.constants.tag-error":"","varnishlog.constants.tag-cli":"","varnishlog.constants.tag-statsess":"","varnishlog.constants.tag-reqend":"","varnishlog.constants.tag-sessionopen":"","varnishlog.constants.tag-sessionclose":"","varnishlog.constants.tag-backendopen":"","varnishlog.constants.tag-backendxid":"","varnishlog.constants.tag-backendreuse":"","varnishlog.constants.tag-backendclose":"","varnishlog.constants.tag-httpgarbage":"","varnishlog.constants.tag-backend":"","varnishlog.constants.tag-length":"","varnishlog.constants.tag-fetcherror":"","varnishlog.constants.tag-rxrequest":"","varnishlog.constants.tag-rxresponse":"","varnishlog.constants.tag-rxstatus":"","varnishlog.constants.tag-rxurl":"","varnishlog.constants.tag-rxprotocol":"","varnishlog.constants.tag-rxheader":"","varnishlog.constants.tag-txrequest":"","varnishlog.constants.tag-txresponse":"","varnishlog.constants.tag-txstatus":"","varnishlog.constants.tag-txurl":"","varnishlog.constants.tag-txprotocol":"","varnishlog.constants.tag-txheader":"","varnishlog.constants.tag-objrequest":"","varnishlog.constants.tag-objresponse":"","varnishlog.constants.tag-objstatus":"","varnishlog.constants.tag-objurl":"","varnishlog.constants.tag-objprotocol":"","varnishlog.constants.tag-objheader":"","varnishlog.constants.tag-lostheader":"","varnishlog.constants.tag-ttl":"","varnishlog.constants.tag-fetch-body":"","varnishlog.constants.tag-vcl-acl":"","varnishlog.constants.tag-vcl-call":"","varnishlog.constants.tag-vcl-trace":"","varnishlog.constants.tag-vcl-return":"","varnishlog.constants.tag-vcl-error":"","varnishlog.constants.tag-reqstart":"","varnishlog.constants.tag-hit":"","varnishlog.constants.tag-hitpass":"","varnishlog.constants.tag-expban":"","varnishlog.constants.tag-expkill":"","varnishlog.constants.tag-workthread":"","varnishlog.constants.tag-esi-xmlerror":"","varnishlog.constants.tag-hash":"","varnishlog.constants.tag-backend-health":"","varnishlog.constants.tag-vcl-log":"","varnishlog.constants.tag-gzip":"","varnishlog.constants":"Predefined Constants","varnishlog.construct":"Varnishlog constructor","varnishlog.getline":"Get next log line","varnishlog.gettagname":"Get the log tag string representation by its index","class.varnishlog":"The VarnishLog class","book.varnish":"Varnish","intro.yaz":"Introduction","yaz.requirements":"Requirements","yaz.installation":"Installation","yaz.configuration":"Runtime Configuration","yaz.resources":"Resource Types","yaz.setup":"Installing\/Configuring","yaz.constants":"Predefined Constants","example-4669":"Parallel searching using Yaz","yaz.examples":"Examples","function.yaz-addinfo":"Returns additional error information","example-4670":"CCL configuration","function.yaz-ccl-conf":"Configure CCL parser","example-4671":"CCL Parsing","function.yaz-ccl-parse":"Invoke CCL Parser","function.yaz-close":"Close YAZ connection","function.yaz-connect":"Prepares for a connection to a Z39.50 server","function.yaz-database":"Specifies the databases within a session","function.yaz-element":"Specifies Element-Set Name for retrieval","function.yaz-errno":"Returns error number","function.yaz-error":"Returns error description","function.yaz-es-result":"Inspects Extended Services Result","example-4672":"Record Update","function.yaz-es":"Prepares for an Extended Service Request","function.yaz-get-option":"Returns value of option for connection","function.yaz-hits":"Returns number of hits for last search","function.yaz-itemorder":"Prepares for Z39.50 Item Order with an ILL-Request package","function.yaz-present":"Prepares for retrieval (Z39.50 present)","function.yaz-range":"Specifies a range of records to retrieve","example-4673":"Array for GRS-1 record","example-4674":"Working with MARCXML","function.yaz-record":"Returns a record","function.yaz-scan-result":"Returns Scan Response result","example-4675":"PHP function that scans titles","function.yaz-scan":"Prepares for a scan","function.yaz-schema":"Specifies schema for retrieval","example-4676":"Query Examples","function.yaz-search":"Prepares for a search","function.yaz-set-option":"Sets one or more options for connection","example-4677":"Sort Criterias","function.yaz-sort":"Sets sorting criteria","function.yaz-syntax":"Specifies the preferred record syntax for retrieval","function.yaz-wait":"Wait for Z39.50 requests to complete","ref.yaz":"YAZ Functions","book.yaz":"YAZ","intro.nis":"Introduction","nis.requirements":"Requirements","nis.installation":"Installation","nis.configuration":"Runtime Configuration","nis.resources":"Resource Types","nis.setup":"Installing\/Configuring","constant.yperr-access":"","constant.yperr-badargs":"","constant.yperr-baddb":"","constant.yperr-busy":"","constant.yperr-domain":"","constant.yperr-key":"","constant.yperr-map":"","constant.yperr-nodom":"","constant.yperr-nomore":"","constant.yperr-pmap":"","constant.yperr-resrc":"","constant.yperr-rpc":"","constant.yperr-ypbind":"","constant.yperr-yperr":"","constant.yperr-ypserv":"","constant.yperr-vers":"","nis.constants":"Predefined Constants","function.yp-all":"Traverse the map and call a function on each entry","function.yp-cat":"Return an array containing the entire map","example-4678":"Example for NIS errors","function.yp-err-string":"Returns the error string associated with the given error code","function.yp-errno":"Returns the error code of the previous operation","example-4679":"Example for the NIS first","function.yp-first":"Returns the first key-value pair from the named map","example-4680":"Example for the default domain","function.yp-get-default-domain":"Fetches the machine's default NIS domain","example-4681":"Example for the NIS master","function.yp-master":"Returns the machine name of the master NIS server for a map","example-4682":"Example for NIS match","function.yp-match":"Returns the matched line","example-4683":"Example for NIS next","function.yp-next":"Returns the next key-value pair in the named map","example-4684":"Example for the NIS order","function.yp-order":"Returns the order number for a map","ref.nis":"YP\/NIS Functions","book.nis":"YP\/NIS","intro.zmq":"Introduction","zmq.installation":"Installation","zmq.requirements":"Requirements","zmq.setup":"Installing\/Configuring","zmq.intro":"Introduction","zmq.synopsis":"Class synopsis","zmq.constants.socket-pair":"","zmq.constants.socket-pub":"","zmq.constants.socket-sub":"","zmq.constants.socket-req":"","zmq.constants.socket-rep":"","zmq.constants.socket-xreq":"","zmq.constants.socket-xrep":"","zmq.constants.socket-push":"","zmq.constants.socket-pull":"","zmq.constants.socket-router":"","zmq.constants.socket-dealer":"","zmq.constants.socket-xpub":"","zmq.constants.socket-xsub":"","zmq.constants.socket-stream":"","zmq.constants.sockopt-hwm":"","zmq.constants.sockopt-sndhwm":"","zmq.constants.sockopt-rcvhwm":"","zmq.constants.sockopt-affinity":"","zmq.constants.sockopt-identity":"","zmq.constants.sockopt-subscribe":"","zmq.constants.sockopt-unsubscribe":"","zmq.constants.sockopt-rate":"","zmq.constants.sockopt-recovery-ivl":"","zmq.constants.sockopt-reconnect-ivl":"","zmq.constants.sockopt-reconnect-ivl-max":"","zmq.constants.sockopt-mcast-loop":"","zmq.constants.sockopt-sndbuf":"","zmq.constants.sockopt-rcvbuf":"","zmq.constants.sockopt-rcvmore":"","zmq.constants.sockopt-type":"","zmq.constants.sockopt-linger":"","zmq.constants.sockopt-backlog":"","zmq.constants.sockopt-maxmsgsize":"","zmq.constants.sockopt-sndtimeo":"","zmq.constants.sockopt-rcvtimeo":"","zmq.constants.sockopt-ipv4only":"","zmq.constants.sockopt-last-endpoint":"","zmq.constants.sockopt-tcp-keepalive-idle":"","zmq.constants.sockopt-tcp-keepalive-cnt":"","zmq.constants.sockopt-tcp-keepalive-intvl":"","zmq.constants.sockopt-delay-attach-on-connect":"","zmq.constants.sockopt-tcp-accept-filter":"","zmq.constants.sockopt-xpub-verbose":"","zmq.constants.sockopt-router-raw":"","zmq.constants.sockopt-ipv6":"","zmq.constants.ctxopt-max-sockets":"","zmq.constants.poll-in":"","zmq.constants.poll-out":"","zmq.constants.mode-noblock":"","zmq.constants.mode-dontwait":"","zmq.constants.mode-sndmore":"","zmq.constants.device-forwarder":"","zmq.constants.device-queue":"","zmq.constants.device-streamer":"","zmq.constants.err-internal":"","zmq.constants.err-eagain":"","zmq.constants.err-enotsup":"","zmq.constants.err-efsm":"","zmq.constants.err-eterm":"","zmq.constants.types":"ZMQ Constant Types","zmq.constants":"Predefined Constants","zmq.construct":"ZMQ constructor","class.zmq":"The ZMQ class","zmqcontext.intro":"Introduction","zmqcontext.synopsis":"Class synopsis","example-4685":"A ZMQContext example","zmqcontext.construct":"Construct a new ZMQContext object","zmqcontext.getopt":"Get context option","example-4686":"A ZMQContext example","zmqcontext.getsocket":"Create a new socket","zmqcontext.ispersistent":"Whether the context is persistent","zmqcontext.setopt":"Set a socket option","class.zmqcontext":"The ZMQContext class","zmqsocket.intro":"Introduction","zmqsocket.synopsis":"Class synopsis","zmqsocket.bind":"Bind the socket","example-4687":"A ZMQContext example","zmqsocket.connect":"Connect the socket","example-4688":"A ZMQSocket example","zmqsocket.construct":"Construct a new ZMQSocket","zmqsocket.disconnect":"Disconnect a socket","zmqsocket.getendpoints":"Get list of endpoints","zmqsocket.getpersistentid":"Get the persistent id","zmqsocket.getsockettype":"Get the socket type","zmqsocket.getsockopt":"Get socket option","zmqsocket.ispersistent":"Whether the socket is persistent","example-4689":"A send\/recv example","zmqsocket.recv":"Receives a message","zmqsocket.recvmulti":"Receives a multipart message","zmqsocket.send":"Sends a message","zmqsocket.sendmulti":"Sends a multipart message","zmqsocket.setsockopt":"Set a socket option","zmqsocket.unbind":"Unbind the socket","class.zmqsocket":"The ZMQSocket class","zmqpoll.intro":"Introduction","zmqpoll.synopsis":"Class synopsis","zmqpoll.add":"Add item to the poll set","zmqpoll.clear":"Clear the poll set","zmqpoll.count":"Count items in the poll set","zmqpoll.getlasterrors":"Get poll errors","example-4690":"A ZMQPoll example","zmqpoll.poll":"Poll the items","zmqpoll.remove":"Remove item from poll set","class.zmqpoll":"The ZMQPoll class","zmqdevice.intro":"Introduction","zmqdevice.synopsis":"Class synopsis","zmqdevice.construct":"Construct a new device","zmqdevice.getidletimeout":"Get the idle timeout","zmqdevice.gettimertimeout":"Get the timer timeout","zmqdevice.run":"Run the new device","zmqdevice.setidlecallback":"Set the idle callback function","zmqdevice.setidletimeout":"Set the idle timeout","zmqdevice.settimercallback":"Set the timer callback function","zmqdevice.settimertimeout":"Set the timer timeout","class.zmqdevice":"The ZMQDevice class","book.zmq":"ZMQ","refs.remote.other":"Other Services","intro.mnogosearch":"Introduction","mnogosearch.requirements":"Requirements","mnogosearch.installation":"Installation","mnogosearch.configuration":"Runtime Configuration","mnogosearch.resources":"Resource Types","mnogosearch.setup":"Installing\/Configuring","constant.udm-field-urlid":"","constant.udm-field-url":"","constant.udm-field-content":"","constant.udm-field-title":"","constant.udm-field-keywords":"","constant.udm-field-desc":"","constant.udm-field-description":"","constant.udm-field-text":"","constant.udm-field-size":"","constant.udm-field-rating":"","constant.udm-field-score":"","constant.udm-field-modified":"","constant.udm-field-order":"","constant.udm-field-crc":"","constant.udm-field-category":"","constant.udm-field-lang":"","constant.udm-field-charset":"","constant.udm-param-page-size":"","constant.udm-param-page-num":"","constant.udm-param-search-mode":"","constant.udm-param-cache-mode":"","constant.udm-param-track-mode":"","constant.udm-param-phrase-mode":"","constant.udm-param-charset":"","constant.udm-param-local-charset":"","constant.udm-param-browser-charset":"","constant.udm-param-stoptable":"","constant.udm-param-stop-table":"","constant.udm-param-stopfile":"","constant.udm-param-stop-file":"","constant.udm-param-weight-factor":"","constant.udm-param-word-match":"","constant.udm-param-max-word-len":"","constant.udm-param-max-wordlen":"","constant.udm-param-min-word-len":"","constant.udm-param-min-wordlen":"","constant.udm-param-ispell-prefixes":"","constant.udm-param-ispell-prefix":"","constant.udm-param-prefixes":"","constant.udm-param-prefix":"","constant.udm-param-cross-words":"","constant.udm-param-crosswords":"","constant.udm-param-vardir":"","constant.udm-param-datadir":"","constant.udm-param-hlbeg":"","constant.udm-param-hlend":"","constant.udm-param-synonym":"","constant.udm-param-searchd":"","constant.udm-param-qstring":"","constant.udm-param-remote-addr":"","constant.udm-limit-cat":"","constant.udm-limit-url":"","constant.udm-limit-tag":"","constant.udm-limit-lang":"","constant.udm-limit-date":"","constant.udm-param-found":"","constant.udm-param-num-rows":"","constant.udm-param-wordinfo":"","constant.udm-param-word-info":"","constant.udm-param-searchtime":"","constant.udm-param-search-time":"","constant.udm-param-first-doc":"","constant.udm-param-last-doc":"","constant.udm-mode-all":"","constant.udm-mode-any":"","constant.udm-mode-bool":"","constant.udm-mode-phrase":"","constant.udm-cache-enabled":"","constant.udm-cache-disabled":"","constant.udm-track-enabled":"","constant.udm-track-disabled":"","constant.udm-phrase-enabled":"","constant.udm-phrase-disabled":"","constant.udm-cross-words-enabled":"","constant.udm-crosswords-enabled":"","constant.udm-cross-words-disabled":"","constant.udm-crosswords-disabled":"","constant.udm-prefixes-enabled":"","constant.udm-prefix-enabled":"","constant.udm-ispell-prefixes-enabled":"","constant.udm-ispell-prefix-enabled":"","constant.udm-prefixes-disabled":"","constant.udm-prefix-disabled":"","constant.udm-ispell-prefixes-disabled":"","constant.udm-ispell-prefix-disabled":"","constant.udm-ispell-type-affix":"","constant.udm-ispell-type-spell":"","constant.udm-ispell-type-db":"","constant.udm-ispell-type-server":"","constant.udm-match-word":"","constant.udm-match-begin":"","constant.udm-match-substr":"","constant.udm-match-end":"","mnogosearch.constants":"Predefined Constants","example-4691":"","function.udm-add-search-limit":"Add various search limits","function.udm-alloc-agent-array":"Allocate mnoGoSearch session","function.udm-alloc-agent":"Allocate mnoGoSearch session","example-4692":"udm_api_version example","function.udm-api-version":"Get mnoGoSearch API version","example-4693":"udm_cat_listexample","function.udm-cat-list":"Get all the categories on the same level with the current one","example-4694":"Specifying path to the current category in the following format:\n '> Root > Sport > Auto > Ferrari'","function.udm-cat-path":"Get the path to the current category","function.udm-check-charset":"Check if the given charset is known to mnogosearch","function.udm-check-stored":"Check connection to stored","function.udm-clear-search-limits":"Clear all mnoGoSearch search restrictions","function.udm-close-stored":"Close connection to stored","function.udm-crc32":"Return CRC32 checksum of given string","function.udm-errno":"Get mnoGoSearch error number","function.udm-error":"Get mnoGoSearch error message","function.udm-find":"Perform search","function.udm-free-agent":"Free mnoGoSearch session","function.udm-free-ispell-data":"Free memory allocated for ispell data","function.udm-free-res":"Free mnoGoSearch result","function.udm-get-doc-count":"Get total number of documents in database","function.udm-get-res-field":"Fetch a result field","function.udm-get-res-param":"Get mnoGoSearch result parameters","function.udm-hash32":"Return Hash32 checksum of gived string","example-4695":"udm_load_ispell_data example","example-4696":"udm_load_ispell_data example","function.udm-load-ispell-data":"Load ispell data","function.udm-open-stored":"Open connection to stored","function.udm-set-agent-param":"Set mnoGoSearch agent session parameters","ref.mnogosearch":"mnoGoSearch Functions","book.mnogosearch":"mnoGoSearch","intro.solr":"Introduction","solr.requirements":"Requirements","solr.installation":"Installation","solr.configuration":"Runtime Configuration","solr.resources":"Resource Types","solr.setup":"Installing\/Configuring","constant.solr-major-version":"","constant.solr-minor-version":"","constant.solr-patch-version":"","constant.solr-extension-version":"","solr.constants":"Predefined Constants","example-4697":"solr_get_version example","function.solr-get-version":"Returns the current version of the Apache Solr extension","ref.solr":"Solr Functions","example-4698":"Contents of the BootStrap file","example-4699":"Adding a document to the index","example-4700":"Merging one document into another document","example-4701":"Searching for documents - SolrObject responses","example-4702":"Searching for documents - SolrDocument responses","example-4703":"Simple TermsComponent example - basic","example-4704":"Simple TermsComponent example - using a prefix","example-4705":"Simple TermsComponent example - specifying a minimum frequency","example-4706":"Simple Facet Example","example-4707":"Simple Facet Example - with optional field override for mincount","example-4708":"Connecting to SSL-Enabled Server","solr.examples":"Examples","solrutils.intro":"Introduction","solrutils.synopsis":"Class synopsis","solrutils.digestxmlresponse":"Parses an response XML string into a SolrObject","solrutils.escapequerychars":"Escapes a lucene query string","solrutils.getsolrversion":"Returns the current version of the Solr extension","solrutils.queryphrase":"Prepares a phrase from an unescaped lucene string","class.solrutils":"The SolrUtils class","solrinputdocument.intro":"Introduction","solrinputdocument.synopsis":"Class synopsis","solrinputdocument.constants.sort-default":"","solrinputdocument.constants.sort-asc":"","solrinputdocument.constants.sort-desc":"","solrinputdocument.constants.sort-field-name":"","solrinputdocument.constants.sort-field-value-count":"","solrinputdocument.constants.sort-field-boost-value":"","solrinputdocument.constants.types":"SolrInputDocument Class Constants","solrinputdocument.constants":"Predefined Constants","solrinputdocument.addfield":"Adds a field to the document","solrinputdocument.clear":"Resets the input document","solrinputdocument.clone":"Creates a copy of a SolrDocument","solrinputdocument.construct":"Constructor","solrinputdocument.deletefield":"Removes a field from the document","solrinputdocument.destruct":"Destructor","solrinputdocument.fieldexists":"Checks if a field exists","solrinputdocument.getboost":"Retrieves the current boost value for the document","solrinputdocument.getfield":"Retrieves a field by name","solrinputdocument.getfieldboost":"Retrieves the boost value for a particular field","solrinputdocument.getfieldcount":"Returns the number of fields in the document","solrinputdocument.getfieldnames":"Returns an array containing all the fields in the document","solrinputdocument.merge":"Merges one input document into another","solrinputdocument.reset":"This is an alias of SolrInputDocument::clear","solrinputdocument.setboost":"Sets the boost value for this document","solrinputdocument.setfieldboost":"Sets the index-time boost value for a field","solrinputdocument.sort":"Sorts the fields within the document","solrinputdocument.toarray":"Returns an array representation of the input document","class.solrinputdocument":"The SolrInputDocument class","solrdocument.intro":"Introduction","solrdocument.synopsis":"Class synopsis","solrdocument.constants.sort-default":"","solrdocument.constants.sort-asc":"","solrdocument.constants.sort-desc":"","solrdocument.constants.sort-field-name":"","solrdocument.constants.sort-field-value-count":"","solrdocument.constants.sort-field-boost-value":"","solrdocument.constants":"Predefined Constants","solrdocument.addfield":"Adds a field to the document","solrdocument.clear":"Drops all the fields in the document","solrdocument.clone":"Creates a copy of a SolrDocument object","solrdocument.construct":"Constructor","solrdocument.current":"Retrieves the current field","solrdocument.deletefield":"Removes a field from the document","solrdocument.destruct":"Destructor","solrdocument.fieldexists":"Checks if a field exists in the document","solrdocument.get":"Access the field as a property","solrdocument.getfield":"Retrieves a field by name","solrdocument.getfieldcount":"Returns the number of fields in this document","solrdocument.getfieldnames":"Returns an array of fields names in the document","solrdocument.getinputdocument":"Returns a SolrInputDocument equivalent of the object","solrdocument.isset":"Checks if a field exists","solrdocument.key":"Retrieves the current key","solrdocument.merge":"Merges source to the current SolrDocument","solrdocument.next":"Moves the internal pointer to the next field","solrdocument.offsetexists":"Checks if a particular field exists","solrdocument.offsetget":"Retrieves a field","solrdocument.offsetset":"Adds a field to the document","solrdocument.offsetunset":"Removes a field","solrdocument.reset":"This is an alias to SolrDocument::clear()","solrdocument.rewind":"Resets the internal pointer to the beginning","solrdocument.serialize":"Used for custom serialization","solrdocument.set":"Adds another field to the document","solrdocument.sort":"Sorts the fields in the document","example-4709":"SolrDocument::toArray example","solrdocument.toarray":"Returns an array representation of the document","solrdocument.unserialize":"Custom serialization of SolrDocument objects","solrdocument.unset":"Removes a field from the document","solrdocument.valid":"Checks if the current position internally is still valid","class.solrdocument":"The SolrDocument class","solrdocumentfield.intro":"Introduction","solrdocumentfield.synopsis":"Class synopsis","solrdocumentfield.props.name":"","solrdocumentfield.props.boost":"","solrdocumentfield.props.values":"","solrdocumentfield.props":"Properties","solrdocumentfield.construct":"Constructor","solrdocumentfield.destruct":"Destructor","class.solrdocumentfield":"The SolrDocumentField class","solrobject.intro":"Introduction","solrobject.synopsis":"Class synopsis","example-4710":"SolrObject::__construct example","solrobject.construct":"Creates Solr object","solrobject.destruct":"Destructor","solrobject.getpropertynames":"Returns an array of all the names of the properties","solrobject.offsetexists":"Checks if the property exists","solrobject.offsetget":"Used to retrieve a property","solrobject.offsetset":"Sets the value for a property","example-4711":"SolrObject::offsetUnset example","solrobject.offsetunset":"Sets the value for the property","class.solrobject":"The SolrObject class","solrclient.intro":"Introduction","solrclient.synopsis":"Class synopsis","solrclient.constants.search-servlet-type":"","solrclient.constants.update-servlet-type":"","solrclient.constants.threads-servlet-type":"","solrclient.constants.ping-servlet-type":"","solrclient.constants.terms-servlet-type":"","solrclient.constants.default-search-servlet":"","solrclient.constants.default-update-servlet":"","solrclient.constants.default-threads-servlet":"","solrclient.constants.default-ping-servlet":"","solrclient.constants.default-terms-servlet":"","solrclient.constants":"Predefined Constants","example-4712":"SolrClient::addDocument example","solrclient.adddocument":"Adds a document to the index","example-4713":"SolrClient::addDocuments example","solrclient.adddocuments":"Adds a collection of SolrInputDocument instances to the index","solrclient.commit":"Finalizes all add\/deletes made to the index","example-4714":"SolrClient::__construct example","solrclient.construct":"Constructor for the SolrClient object","solrclient.deletebyid":"Delete by Id","solrclient.deletebyids":"Deletes by Ids","solrclient.deletebyqueries":"Removes all documents matching any of the queries","example-4715":"SolrQuery::deleteByQuery example","solrclient.deletebyquery":"Deletes all documents matching the given query","solrclient.destruct":"Destructor for SolrClient","solrclient.getdebug":"Returns the debug data for the last connection attempt","solrclient.getoptions":"Returns the client options set internally","solrclient.optimize":"Defragments the index","example-4716":"SolrClient::ping example","solrclient.ping":"Checks if Solr server is still up","example-4717":"SolrClient::query example","solrclient.query":"Sends a query to the server","example-4718":"SolrClient::request example","solrclient.request":"Sends a raw update request","solrclient.rollback":"Rollbacks all add\/deletes made to the index since the last commit","example-4719":"SolrClient::setResponseWriter example","solrclient.setresponsewriter":"Sets the response writer used to prepare the response from Solr","solrclient.setservlet":"Changes the specified servlet type to a new value","solrclient.threads":"Checks the threads status","class.solrclient":"The SolrClient class","solrresponse.intro":"Introduction","solrresponse.synopsis":"Class synopsis","solrresponse.props.http-status":"","solrresponse.props.parser-mode":"","solrresponse.props.success":"","solrresponse.props.http-status-message":"","solrresponse.props.http-request-url":"","solrresponse.props.http-raw-request-headers":"","solrresponse.props.http-raw-request":"","solrresponse.props.http-raw-response-headers":"","solrresponse.props.http-raw-response":"","solrresponse.props.http-digested-response":"","solrresponse.props":"Properties","solrresponse.constants.parse-solr-obj":"","solrresponse.constants.parse-solr-doc":"","solrresponse.constants.types":"SolrResponse Class Constants","solrresponse.constants":"Predefined Constants","solrresponse.getdigestedresponse":"Returns the XML response as serialized PHP data","solrresponse.gethttpstatus":"Returns the HTTP status of the response","solrresponse.gethttpstatusmessage":"Returns more details on the HTTP status","solrresponse.getrawrequest":"Returns the raw request sent to the Solr server","solrresponse.getrawrequestheaders":"Returns the raw request headers sent to the Solr server","solrresponse.getrawresponse":"Returns the raw response from the server","solrresponse.getrawresponseheaders":"Returns the raw response headers from the server","solrresponse.getrequesturl":"Returns the full URL the request was sent to","solrresponse.getresponse":"Returns a SolrObject representing the XML response from the server","solrresponse.setparsemode":"Sets the parse mode","solrresponse.success":"Was the request a success","class.solrresponse":"The SolrResponse class","solrqueryresponse.intro":"Introduction","solrqueryresponse.synopsis":"Class synopsis","solrqueryresponse.constants.parse-solr-obj":"","solrqueryresponse.constants.parse-solr-doc":"","solrqueryresponse.constants.types":"SolrQueryResponse Class constants","solrqueryresponse.constants":"Predefined Constants","solrqueryresponse.construct":"Constructor","solrqueryresponse.destruct":"Destructor","class.solrqueryresponse":"The SolrQueryResponse class","solrupdateresponse.intro":"Introduction","solrupdateresponse.synopsis":"Class synopsis","solrupdateresponse.constants.parse-solr-obj":"","solrupdateresponse.constants.parse-solr-doc":"","solrupdateresponse.constants.types":"SolrUpdateResponse Class Constants","solrupdateresponse.constants":"Predefined Constants","solrupdateresponse.construct":"Constructor","solrupdateresponse.destruct":"Destructor","class.solrupdateresponse":"The SolrUpdateResponse class","solrpingresponse.intro":"Introduction","solrpingresponse.synopsis":"Class synopsis","solrpingresponse.props.http-status":"","solrpingresponse.props.parser-mode":"","solrpingresponse.props.success":"","solrpingresponse.props.http-status-message":"","solrpingresponse.props.http-request-url":"","solrpingresponse.props.http-raw-request-headers":"","solrpingresponse.props.http-raw-request":"","solrpingresponse.props.http-raw-response-headers":"","solrpingresponse.props.http-raw-response":"","solrpingresponse.props.http-digested-response":"","solrpingresponse.props":"Properties","solrpingresponse.constants.parse-solr-obj":"","solrpingresponse.constants.parse-solr-doc":"","solrpingresponse.constants.types":"SolrPingResponse Class Constants","solrpingresponse.constants":"Predefined Constants","solrpingresponse.construct":"Constructor","solrpingresponse.destruct":"Destructor","solrpingresponse.getresponse":"Returns the response from the server","class.solrpingresponse":"The SolrPingResponse class","solrgenericresponse.intro":"Introduction","solrgenericresponse.synopsis":"Class synopsis","solrgenericresponse.constants.parse-solr-obj":"","solrgenericresponse.constants.parse-solr-doc":"","solrgenericresponse.constants.types":"SolrGenericResponse Class constants","solrgenericresponse.constants":"Predefined Constants","solrgenericresponse.construct":"Constructor","solrgenericresponse.destruct":"Destructor","class.solrgenericresponse":"The SolrGenericResponse class","solrparams.intro":"Introduction","solrparams.synopsis":"Class synopsis","solrparams.add":"This is an alias for SolrParams::addParam","solrparams.addparam":"Adds a parameter to the object","solrparams.get":"This is an alias for SolrParams::getParam","solrparams.getparam":"Returns a parameter value","solrparams.getparams":"Returns an array of non URL-encoded parameters","solrparams.getpreparedparams":"Returns an array of URL-encoded parameters","solrparams.serialize":"Used for custom serialization","solrparams.set":"An alias of SolrParams::setParam","example-4720":"SolrParams::setParam example","solrparams.setparam":"Sets the parameter to the specified value","solrparams.tostring":"Returns all the name-value pair parameters in the object","solrparams.unserialize":"Used for custom serialization","class.solrparams":"The SolrParams class","solrmodifiableparams.intro":"Introduction","solrmodifiableparams.synopsis":"Class synopsis","solrmodifiableparams.construct":"Constructor","solrmodifiableparams.destruct":"Destructor","class.solrmodifiableparams":"The SolrModifiableParams class","solrquery.intro":"Introduction","solrquery.synopsis":"Class synopsis","solrquery.constants.order-asc":"","solrquery.constants.order-desc":"","solrquery.constants.facet-sort-index":"","solrquery.constants.facet-sort-count":"","solrquery.constants.terms-sort-index":"","solrquery.constants.terms-sort-count":"","solrquery.constants":"Predefined Constants","solrquery.addfacetdatefield":"Maps to facet.date","solrquery.addfacetdateother":"Adds another facet.date.other parameter","example-4721":"SolrQuery::addFacetField example","solrquery.addfacetfield":"Adds another field to the facet","solrquery.addfacetquery":"Adds a facet query","solrquery.addfield":"Specifies which fields to return in the result","example-4722":"SolrQuery::addFilterQuery example","solrquery.addfilterquery":"Specifies a filter query","solrquery.addhighlightfield":"Maps to hl.fl","solrquery.addmltfield":"Sets a field to use for similarity","solrquery.addmltqueryfield":"Maps to mlt.qf","solrquery.addsortfield":"Used to control how the results should be sorted","solrquery.addstatsfacet":"Requests a return of sub results for values within the given facet","solrquery.addstatsfield":"Maps to stats.field parameter","solrquery.construct":"Constructor","solrquery.destruct":"Destructor","solrquery.getfacet":"Returns the value of the facet parameter","solrquery.getfacetdateend":"Returns the value for the facet.date.end parameter","solrquery.getfacetdatefields":"Returns all the facet.date fields","solrquery.getfacetdategap":"Returns the value of the facet.date.gap parameter","solrquery.getfacetdatehardend":"Returns the value of the facet.date.hardend parameter","solrquery.getfacetdateother":"Returns the value for the facet.date.other parameter","solrquery.getfacetdatestart":"Returns the lower bound for the first date range for all date faceting on this field","solrquery.getfacetfields":"Returns all the facet fields","solrquery.getfacetlimit":"Returns the maximum number of constraint counts that should be returned for the facet fields","solrquery.getfacetmethod":"Returns the value of the facet.method parameter","solrquery.getfacetmincount":"Returns the minimum counts for facet fields should be included in the response","solrquery.getfacetmissing":"Returns the current state of the facet.missing parameter","solrquery.getfacetoffset":"Returns an offset into the list of constraints to be used for pagination","solrquery.getfacetprefix":"Returns the facet prefix","solrquery.getfacetqueries":"Returns all the facet queries","solrquery.getfacetsort":"Returns the facet sort type","solrquery.getfields":"Returns the list of fields that will be returned in the response","solrquery.getfilterqueries":"Returns an array of filter queries","solrquery.gethighlight":"Returns the state of the hl parameter","solrquery.gethighlightalternatefield":"Returns the highlight field to use as backup or default","solrquery.gethighlightfields":"Returns all the fields that Solr should generate highlighted snippets for","solrquery.gethighlightformatter":"Returns the formatter for the highlighted output","solrquery.gethighlightfragmenter":"Returns the text snippet generator for highlighted text","solrquery.gethighlightfragsize":"Returns the number of characters of fragments to consider for highlighting","solrquery.gethighlighthighlightmultiterm":"Returns whether or not to enable highlighting for range\/wildcard\/fuzzy\/prefix queries","solrquery.gethighlightmaxalternatefieldlength":"Returns the maximum number of characters of the field to return","solrquery.gethighlightmaxanalyzedchars":"Returns the maximum number of characters into a document to look for suitable snippets","solrquery.gethighlightmergecontiguous":"Returns whether or not the collapse contiguous fragments into a single fragment","solrquery.gethighlightregexmaxanalyzedchars":"Returns the maximum number of characters from a field when using the regex fragmenter","solrquery.gethighlightregexpattern":"Returns the regular expression for fragmenting","solrquery.gethighlightregexslop":"Returns the deviation factor from the ideal fragment size","solrquery.gethighlightrequirefieldmatch":"Returns if a field will only be highlighted if the query matched in this particular field","solrquery.gethighlightsimplepost":"Returns the text which appears after a highlighted term","solrquery.gethighlightsimplepre":"Returns the text which appears before a highlighted term","solrquery.gethighlightsnippets":"Returns the maximum number of highlighted snippets to generate per field","solrquery.gethighlightusephrasehighlighter":"Returns the state of the hl.usePhraseHighlighter parameter","solrquery.getmlt":"Returns whether or not MoreLikeThis results should be enabled","solrquery.getmltboost":"Returns whether or not the query will be boosted by the interesting term relevance","solrquery.getmltcount":"Returns the number of similar documents to return for each result","solrquery.getmltfields":"Returns all the fields to use for similarity","solrquery.getmltmaxnumqueryterms":"Returns the maximum number of query terms that will be included in any generated query","solrquery.getmltmaxnumtokens":"Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support","solrquery.getmltmaxwordlength":"Returns the maximum word length above which words will be ignored","solrquery.getmltmindocfrequency":"Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs","solrquery.getmltmintermfrequency":"Returns the frequency below which terms will be ignored in the source document","solrquery.getmltminwordlength":"Returns the minimum word length below which words will be ignored","solrquery.getmltqueryfields":"Returns the query fields and their boosts","solrquery.getquery":"Returns the main query","solrquery.getrows":"Returns the maximum number of documents","solrquery.getsortfields":"Returns all the sort fields","solrquery.getstart":"Returns the offset in the complete result set","solrquery.getstats":"Returns whether or not stats is enabled","solrquery.getstatsfacets":"Returns all the stats facets that were set","solrquery.getstatsfields":"Returns all the statistics fields","solrquery.getterms":"Returns whether or not the TermsComponent is enabled","solrquery.gettermsfield":"Returns the field from which the terms are retrieved","solrquery.gettermsincludelowerbound":"Returns whether or not to include the lower bound in the result set","solrquery.gettermsincludeupperbound":"Returns whether or not to include the upper bound term in the result set","solrquery.gettermslimit":"Returns the maximum number of terms Solr should return","solrquery.gettermslowerbound":"Returns the term to start at","solrquery.gettermsmaxcount":"Returns the maximum document frequency","solrquery.gettermsmincount":"Returns the minimum document frequency to return in order to be included","solrquery.gettermsprefix":"Returns the term prefix","solrquery.gettermsreturnraw":"Whether or not to return raw characters","solrquery.gettermssort":"Returns an integer indicating how terms are sorted","solrquery.gettermsupperbound":"Returns the term to stop at","solrquery.gettimeallowed":"Returns the time in milliseconds allowed for the query to finish","solrquery.removefacetdatefield":"Removes one of the facet date fields","solrquery.removefacetdateother":"Removes one of the facet.date.other parameters","solrquery.removefacetfield":"Removes one of the facet.date parameters","solrquery.removefacetquery":"Removes one of the facet.query parameters","solrquery.removefield":"Removes a field from the list of fields","solrquery.removefilterquery":"Removes a filter query","solrquery.removehighlightfield":"Removes one of the fields used for highlighting","solrquery.removemltfield":"Removes one of the moreLikeThis fields","solrquery.removemltqueryfield":"Removes one of the moreLikeThis query fields","solrquery.removesortfield":"Removes one of the sort fields","solrquery.removestatsfacet":"Removes one of the stats.facet parameters","solrquery.removestatsfield":"Removes one of the stats.field parameters","solrquery.setechohandler":"Toggles the echoHandler parameter","solrquery.setechoparams":"Determines what kind of parameters to include in the response","solrquery.setexplainother":"Sets the explainOther common query parameter","solrquery.setfacet":"Maps to the facet parameter. Enables or disables facetting","solrquery.setfacetdateend":"Maps to facet.date.end","solrquery.setfacetdategap":"Maps to facet.date.gap","solrquery.setfacetdatehardend":"Maps to facet.date.hardend","solrquery.setfacetdatestart":"Maps to facet.date.start","solrquery.setfacetenumcachemindefaultfrequency":"Sets the minimum document frequency used for determining term count","solrquery.setfacetlimit":"Maps to facet.limit","solrquery.setfacetmethod":"Specifies the type of algorithm to use when faceting a field","solrquery.setfacetmincount":"Maps to facet.mincount","solrquery.setfacetmissing":"Maps to facet.missing","solrquery.setfacetoffset":"Sets the offset into the list of constraints to allow for pagination","solrquery.setfacetprefix":"Specifies a string prefix with which to limits the terms on which to facet","solrquery.setfacetsort":"Determines the ordering of the facet field constraints","solrquery.sethighlight":"Enables or disables highlighting","solrquery.sethighlightalternatefield":"Specifies the backup field to use","solrquery.sethighlightformatter":"Specify a formatter for the highlight output","solrquery.sethighlightfragmenter":"Sets a text snippet generator for highlighted text","solrquery.sethighlightfragsize":"The size of fragments to consider for highlighting","solrquery.sethighlighthighlightmultiterm":"Use SpanScorer to highlight phrase terms","solrquery.sethighlightmaxalternatefieldlength":"Sets the maximum number of characters of the field to return","solrquery.sethighlightmaxanalyzedchars":"Specifies the number of characters into a document to look for suitable snippets","solrquery.sethighlightmergecontiguous":"Whether or not to collapse contiguous fragments into a single fragment","solrquery.sethighlightregexmaxanalyzedchars":"Specify the maximum number of characters to analyze","solrquery.sethighlightregexpattern":"Specify the regular expression for fragmenting","solrquery.sethighlightregexslop":"Sets the factor by which the regex fragmenter can stray from the ideal fragment size","solrquery.sethighlightrequirefieldmatch":"Require field matching during highlighting","solrquery.sethighlightsimplepost":"Sets the text which appears after a highlighted term","solrquery.sethighlightsimplepre":"Sets the text which appears before a highlighted term","solrquery.sethighlightsnippets":"Sets the maximum number of highlighted snippets to generate per field","solrquery.sethighlightusephrasehighlighter":"Whether to highlight phrase terms only when they appear within the query phrase","solrquery.setmlt":"Enables or disables moreLikeThis","solrquery.setmltboost":"Set if the query will be boosted by the interesting term relevance","solrquery.setmltcount":"Set the number of similar documents to return for each result","solrquery.setmltmaxnumqueryterms":"Sets the maximum number of query terms included","solrquery.setmltmaxnumtokens":"Specifies the maximum number of tokens to parse","solrquery.setmltmaxwordlength":"Sets the maximum word length","solrquery.setmltmindocfrequency":"Sets the mltMinDoc frequency","solrquery.setmltmintermfrequency":"Sets the frequency below which terms will be ignored in the source docs","solrquery.setmltminwordlength":"Sets the minimum word length","solrquery.setomitheader":"Exclude the header from the returned results","solrquery.setquery":"Sets the search query","solrquery.setrows":"Specifies the maximum number of rows to return in the result","solrquery.setshowdebuginfo":"Flag to show debug information","solrquery.setstart":"Specifies the number of rows to skip","solrquery.setstats":"Enables or disables the Stats component","solrquery.setterms":"Enables or disables the TermsComponent","solrquery.settermsfield":"Sets the name of the field to get the Terms from","solrquery.settermsincludelowerbound":"Include the lower bound term in the result set","solrquery.settermsincludeupperbound":"Include the upper bound term in the result set","solrquery.settermslimit":"Sets the maximum number of terms to return","solrquery.settermslowerbound":"Specifies the Term to start from","solrquery.settermsmaxcount":"Sets the maximum document frequency","solrquery.settermsmincount":"Sets the minimum document frequency","solrquery.settermsprefix":"Restrict matches to terms that start with the prefix","solrquery.settermsreturnraw":"Return the raw characters of the indexed term","solrquery.settermssort":"Specifies how to sort the returned terms","solrquery.settermsupperbound":"Sets the term to stop at","solrquery.settimeallowed":"The time allowed for search to finish","class.solrquery":"The SolrQuery class","solrexception.intro":"Introduction","solrexception.synopsis":"Class synopsis","solrexception.props.sourceline":"","solrexception.props.sourcefile":"","solrexception.props.zif-name":"","solrexception.props":"Properties","solrexception.getinternalinfo":"Returns internal information where the Exception was thrown","class.solrexception":"The SolrException class","solrclientexception.intro":"Introduction","solrclientexception.synopsis":"Class synopsis","solrclientexception.getinternalinfo":"Returns internal information where the Exception was thrown","class.solrclientexception":"The SolrClientException class","solrillegalargumentexception.intro":"Introduction","solrillegalargumentexception.synopsis":"Class synopsis","solrillegalargumentexception.getinternalinfo":"Returns internal information where the Exception was thrown","class.solrillegalargumentexception":"The SolrIllegalArgumentException class","solrillegaloperationexception.intro":"Introduction","solrillegaloperationexception.synopsis":"Class synopsis","solrillegaloperationexception.getinternalinfo":"Returns internal information where the Exception was thrown","class.solrillegaloperationexception":"The SolrIllegalOperationException class","book.solr":"Apache Solr","intro.sphinx":"Introduction","sphinx.requirements":"Requirements","sphinx.installation":"Installation","sphinx.configuration":"Runtime Configuration","sphinx.resources":"Resource Types","sphinx.setup":"Installing\/Configuring","constant.searchd-ok":"","constant.searchd-error":"","constant.searchd-retry":"","constant.searchd-warning":"","constant.sph-match-all":"","constant.sph-match-any":"","constant.sph-match-phrase":"","constant.sph-match-boolean":"","constant.sph-match-extended":"","constant.sph-match-fullscan":"","constant.sph-match-extended2":"","constant.sph-rank-proximity-bm25":"","constant.sph-rank-bm25":"","constant.sph-rank-none":"","constant.sph-rank-wordcount":"","constant.sph-sort-relevance":"","constant.sph-sort-attr-desc":"","constant.sph-sort-attr-asc":"","constant.sph-sort-time-segments":"","constant.sph-sort-extended":"","constant.sph-sort-expr":"","constant.sph-filter-values":"","constant.sph-filter-range":"","constant.sph-filter-floatrange":"","constant.sph-attr-integer":"","constant.sph-attr-timestamp":"","constant.sph-attr-ordinal":"","constant.sph-attr-bool":"","constant.sph-attr-float":"","constant.sph-attr-multi":"","constant.sph-groupby-day":"","constant.sph-groupby-week":"","constant.sph-groupby-month":"","constant.sph-groupby-year":"","constant.sph-groupby-attr":"","constant.sph-groupby-attrpair":"","sphinx.constants":"Predefined Constants","example-4723":"Basic usage example","sphinx.examples":"Examples","sphinxclient.intro":"Introduction","sphinxclient.synopsis":"Class synopsis","sphinxclient.addquery":"Add query to multi-query batch","sphinxclient.buildexcerpts":"Build text snippets","sphinxclient.buildkeywords":"Extract keywords from query","sphinxclient.close":"Closes previously opened persistent connection","sphinxclient.construct":"Create a new SphinxClient object","sphinxclient.escapestring":"Escape special characters","sphinxclient.getlasterror":"Get the last error message","sphinxclient.getlastwarning":"Get the last warning","sphinxclient.open":"Opens persistent connection to the server","sphinxclient.query":"Execute search query","sphinxclient.resetfilters":"Clear all filters","sphinxclient.resetgroupby":"Clear all group-by settings","sphinxclient.runqueries":"Run a batch of search queries","sphinxclient.setarrayresult":"Change the format of result set array","sphinxclient.setconnecttimeout":"Set connection timeout","sphinxclient.setfieldweights":"Set field weights","sphinxclient.setfilter":"Add new integer values set filter","sphinxclient.setfilterfloatrange":"Add new float range filter","sphinxclient.setfilterrange":"Add new integer range filter","sphinxclient.setgeoanchor":"Set anchor point for a geosphere distance calculations","sphinxclient.setgroupby":"Set grouping attribute","sphinxclient.setgroupdistinct":"Set attribute name for per-group distinct values count calculations","sphinxclient.setidrange":"Set a range of accepted document IDs","sphinxclient.setindexweights":"Set per-index weights","sphinxclient.setlimits":"Set offset and limit of the result set","sphinxclient.setmatchmode":"Set full-text query matching mode","sphinxclient.setmaxquerytime":"Set maximum query time","sphinxclient.setoverride":"Sets temporary per-document attribute value\n overrides","sphinxclient.setrankingmode":"Set ranking mode","sphinxclient.setretries":"Set retry count and delay","sphinxclient.setselect":"Set select clause","sphinxclient.setserver":"Set searchd host and port","sphinxclient.setsortmode":"Set matches sorting mode","sphinxclient.status":"Queries searchd status","sphinxclient.updateattributes":"Update document attributes","class.sphinxclient":"The SphinxClient class","book.sphinx":"Sphinx Client","intro.swish":"Introduction","swish.requirements":"Requirements","swish.installation":"Installation","swish.configuration":"Runtime Configuration","swish.resources":"Resource Types","swish.setup":"Installing\/Configuring","swish.constants.meta-type-undef":"","swish.constants.meta-type-string":"","swish.constants.meta-type-ulong":"","swish.constants.meta-type-date":"","swish.constants.in-file-bit":"","swish.constants.in-title-bit":"","swish.constants.in-head-bit":"","swish.constants.in-body-bit":"","swish.constants.in-comments-bit":"","swish.constants.in-header-bit":"","swish.constants.in-emphasized-bit":"","swish.constants.in-meta-bit":"","swish.constants.in-file":"","swish.constants.in-title":"","swish.constants.in-head":"","swish.constants.in-body":"","swish.constants.in-comments":"","swish.constants.in-header":"","swish.constants.in-emphasized":"","swish.constants.in-meta":"","swish.constants.in-all":"","swish.constants":"Predefined Constants","example-4724":"Basic search query","swish.examples-basic":"Basic usage","swish.examples":"Examples","example-4725":"A Swish::__construct example","swish.construct":"Construct a Swish object","example-4726":"Basic Swish::getMetaList example","swish.getmetalist":"Get the list of meta entries for the index","example-4727":"Basic Swish::getPropertyList example","swish.getpropertylist":"Get the list of properties for the index","example-4728":"Basic Swish::prepare example","swish.prepare":"Prepare a search query","example-4729":"Basic Swish::query example","swish.query":"Execute a query and return results object","swishresult.getmetalist":"Get a list of meta entries","example-4730":"Basic SwishResult::stem example","swishresult.stem":"Stems the given word","example-4731":"Basic SwishResults::getParsedWords example","swishresults.getparsedwords":"Get an array of parsed words","swishresults.getremovedstopwords":"Get an array of stopwords removed from the query","example-4732":"Basic SwishResults::nextResult example","swishresults.nextresult":"Get the next search result","example-4733":"Basic SwishResults::seekResult example","swishresults.seekresult":"Set current seek pointer to the given position","example-4734":"Basic SwishSearch::execute example","swishsearch.execute":"Execute the search and get the results","example-4735":"Basic SwishSearch::resetLimit example","swishsearch.resetlimit":"Reset the search limits","example-4736":"Basic SwishSearch::setLimit example","swishsearch.setlimit":"Set the search limits","example-4737":"Basic SwishSearch::setPhraseDelimiter example","swishsearch.setphrasedelimiter":"Set the phrase delimiter","example-4738":"Basic SwishSearch::setSort example","swishsearch.setsort":"Set the sort order","example-4739":"Basic SwishSearch::setStructure example","swishsearch.setstructure":"Set the structure flag in the search object","ref.swish":"Swish Functions","book.swish":"Swish Indexing","refs.search":"Search Engine Extensions","intro.apache":"Introduction","apache.requirements":"Requirements","apache.installation":"Installation","example-4740":"Turning off PHP parsing for a directory using .htaccess","ini.engine":"","ini.child-terminate":"","ini.last-modified":"","ini.xbithack":"","apache.configuration":"Runtime Configuration","apache.resources":"Resource Types","apache.setup":"Installing\/Configuring","apache.constants":"Predefined Constants","function.apache-child-terminate":"Terminate apache process after this request","example-4741":"apache_get_modules example","function.apache-get-modules":"Get a list of loaded Apache modules","example-4742":"apache_get_version example","function.apache-get-version":"Fetch Apache version","example-4743":"apache_getenv example","function.apache-getenv":"Get an Apache subprocess_env variable","example-4744":"apache_lookup_uri example","function.apache-lookup-uri":"Perform a partial request for the specified URI and return all info about it","example-4745":"Passing information between PHP and Perl","example-4746":"Logging values in access.log","function.apache-note":"Get and set apache request notes","example-4747":"apache_request_headers example","function.apache-request-headers":"Fetch all HTTP request headers","function.apache-reset-timeout":"Reset the Apache write timer","example-4748":"apache_response_headers example","function.apache-response-headers":"Fetch all HTTP response headers","example-4749":"Setting an Apache environment variable using apache_setenv","function.apache-setenv":"Set an Apache subprocess_env variable","example-4750":"getallheaders example","function.getallheaders":"Fetch all HTTP request headers","function.virtual":"Perform an Apache sub-request","ref.apache":"Apache Functions","book.apache":"Apache","intro.fpm":"Introduction","fpm.setup":"Installing\/Configuring","function.fastcgi-finish-request":"Flushes all response data to the client","ref.fpm":"FPM Functions","book.fpm":"FastCGI Process Manager","intro.iisfunc":"Introduction","iisfunc.requirements":"Requirements","iisfunc.installation":"Installation","iisfunc.configuration":"Runtime Configuration","iisfunc.resources":"Resource Types","iisfunc.setup":"Installing\/Configuring","constant.iis-read":"","constant.iis-write":"","constant.iis-execute":"","constant.iis-script":"","constant.iis-anonymous":"","constant.iis-basic":"","constant.iis-ntlm":"","constant.iis-starting":"","constant.iis-stopped":"","constant.iis-paused":"","constant.iis-running":"","iisfunc.constants":"Predefined Constants","function.iis-add-server":"Creates a new virtual web server","function.iis-get-dir-security":"Gets Directory Security","function.iis-get-script-map":"Gets script mapping on a virtual directory for a specific extension","function.iis-get-server-by-comment":"Return the instance number associated with the Comment","function.iis-get-server-by-path":"Return the instance number associated with the Path","function.iis-get-server-rights":"Gets server rights","function.iis-get-service-state":"Returns the state for the service defined by ServiceId","function.iis-remove-server":"Removes the virtual web server indicated by ServerInstance","function.iis-set-app-settings":"Creates application scope for a virtual directory","function.iis-set-dir-security":"Sets Directory Security","function.iis-set-script-map":"Sets script mapping on a virtual directory","function.iis-set-server-rights":"Sets server rights","function.iis-start-server":"Starts the virtual web server","function.iis-start-service":"Starts the service defined by ServiceId","function.iis-stop-server":"Stops the virtual web server","function.iis-stop-service":"Stops the service defined by ServiceId","ref.iisfunc":"IIS Functions","book.iisfunc":"IIS Administration","intro.nsapi":"Introduction","nsapi.requirements":"Requirements","nsapi.installation":"Installation","ini.nsapi.read-timeout":"","nsapi.configuration":"Runtime Configuration","nsapi.resources":"Resource Types","nsapi.setup":"Installing\/Configuring","nsapi.constants":"Predefined Constants","example-4751":"nsapi_request_headers example","function.nsapi-request-headers":"Fetch all HTTP request headers","function.nsapi-response-headers":"Fetch all HTTP response headers","function.nsapi-virtual":"Perform an NSAPI sub-request","ref.nsapi":"NSAPI Functions","book.nsapi":"NSAPI","refs.utilspec.server":"Server Specific Extensions","intro.msession":"Introduction","msession.requirements":"Requirements","msession.installation":"Installation","msession.configuration":"Runtime Configuration","msession.resources":"Resource Types","msession.setup":"Installing\/Configuring","msession.constants":"Predefined Constants","function.msession-connect":"Connect to msession server","function.msession-count":"Get session count","function.msession-create":"Create a session","function.msession-destroy":"Destroy a session","function.msession-disconnect":"Close connection to msession server","function.msession-find":"Find all sessions with name and value","function.msession-get-array":"Get array of msession variables","function.msession-get-data":"Get data session unstructured data","function.msession-get":"Get value from session","function.msession-inc":"Increment value in session","function.msession-list":"List all sessions","function.msession-listvar":"List sessions with variable","function.msession-lock":"Lock a session","function.msession-plugin":"Call an escape function within the msession personality plugin","function.msession-randstr":"Get random string","function.msession-set-array":"Set msession variables from an array","function.msession-set-data":"Set data session unstructured data","function.msession-set":"Set value in session","function.msession-timeout":"Set\/get session timeout","function.msession-uniq":"Get unique id","function.msession-unlock":"Unlock a session","ref.msession":"Msession Functions","book.msession":"Mohawk Software Session Handler Functions","intro.session":"Introduction","session.requirements":"Requirements","session.installation":"Installation","ini.session.save-handler":"","ini.session.save-path":"","ini.session.name":"","ini.session.auto-start":"","ini.session.serialize-handler":"","ini.session.gc-probability":"","ini.session.gc-divisor":"","ini.session.gc-maxlifetime":"","ini.session.referer-check":"","ini.session.entropy-file":"","ini.session.entropy-length":"","ini.session.use-strict-mode":"","ini.session.use-cookies":"","ini.session.use-only-cookies":"","ini.session.cookie-lifetime":"","ini.session.cookie-path":"","ini.session.cookie-domain":"","ini.session.cookie-secure":"","ini.session.cookie-httponly":"","ini.session.cache-limiter":"","ini.session.cache-expire":"","ini.session.use-trans-sid":"","ini.session.bug-compat-42":"","ini.session.bug-compat-warn":"","ini.session.hash-function":"","ini.session.hash-bits-per-character":"","ini.url-rewriter.tags":"","ini.session.upload-progress.enabled":"","ini.session.upload-progress.cleanup":"","ini.session.upload-progress.prefix":"","ini.session.upload-progress.name":"","ini.session.upload-progress.freq":"","ini.session.upload-progress.min-freq":"","session.configuration":"Runtime Configuration","session.resources":"Resource Types","session.setup":"Installing\/Configuring","constant.sid":"","constant.php-session-disabled":"","constant.php-session-none":"","constant.php-session-active":"","session.constants":"Predefined Constants","example-4752":"Registering a variable with $_SESSION.","example-4753":"Unregistering a variable with $_SESSION.","session.examples.basic":"Basic usage","example-4754":"Counting the number of hits of a single user","session.idpassing":"Passing the Session ID","session.customhandler":"Custom Session Handlers","session.examples":"Examples","session.upload-progress.example-form":"","session.upload-progress.example-array":"","example-4755":"Example information","session.upload-progress":"Session Upload Progress","session.security":"Sessions and security","example-4756":"session_cache_expire example","function.session-cache-expire":"Return current cache expire","example-4757":"session_cache_limiter example","function.session-cache-limiter":"Get and\/or set the current cache limiter","function.session-commit":"Alias of session_write_close","function.session-decode":"Decodes session data from a session encoded string","example-4758":"Destroying a session with $_SESSION","function.session-destroy":"Destroys all data registered to a session","function.session-encode":"Encodes the current session data as a session encoded string","function.session-get-cookie-params":"Get the session cookie parameters","function.session-id":"Get and\/or set the current session id","function.session-is-registered":"Find out whether a global variable is registered in a session","function.session-module-name":"Get and\/or set the current session module","example-4759":"session_name example","function.session-name":"Get and\/or set the current session name","example-4760":"A session_regenerate_id example","function.session-regenerate-id":"Update the current session id with a newly generated one","function.session-register-shutdown":"Session shutdown function","function.session-register":"Register one or more global variables with the current session","function.session-save-path":"Get and\/or set the current session save path","function.session-set-cookie-params":"Set the session cookie parameters","example-4761":"Custom session handler: see full code in SessionHandlerInterface synposis.","example-4762":"Custom session save handler using objects","function.session-set-save-handler":"Sets user-level session storage functions","example-4763":"A session example: page1.php","example-4764":"A session example: page2.php","function.session-start":"Start new or resume existing session","function.session-status":"Returns the current session status","function.session-unregister":"Unregister a global variable from the current session","function.session-unset":"Free all session variables","function.session-write-close":"Write session data and end session","ref.session":"Session Functions","sessionhandler.intro":"Introduction","sessionhandler.synopsis":"Class synopsis","session.notes":"","example-4765":"Using SessionHandler to add encryption to internal PHP save handlers.","sessionhandler.examples":"","sessionhandler.close":"Close the session","sessionhandler.destroy":"Destroy a session","sessionhandler.gc":"Cleanup old sessions","sessionhandler.open":"Initialize session","sessionhandler.read":"Read session data","sessionhandler.write":"Write session data","class.sessionhandler":"The SessionHandler class","sessionhandlerinterface.intro":"Introduction","sessionhandlerinterface.synopsis":"Class synopsis","example-4766":"Example using SessionHandlerInterface","sessionhandlerinterface.examples":"","sessionhandlerinterface.close":"Close the session","sessionhandlerinterface.destroy":"Destroy a session","sessionhandlerinterface.gc":"Cleanup old sessions","sessionhandlerinterface.open":"Initialize session","sessionhandlerinterface.read":"Read session data","sessionhandlerinterface.write":"Write session data","class.sessionhandlerinterface":"The SessionHandlerInterface class","book.session":"Session Handling","intro.session-pgsql":"Introduction","session-pgsql.requirements":"Requirements","session-pgsql.installation":"Installation","session-pgsql.configuration":"Runtime Configuration","session-pgsql.resources":"Resource Types","session-pgsql.setup":"Installing\/Configuring","session-pgsql.tables":"Table definitions","session-pgsql.constants":"Predefined Constants","session-pgsql.contact":"Contact Information","function.session-pgsql-add-error":"Increments error counts and sets last error message","function.session-pgsql-get-error":"Returns number of errors and last error message","function.session-pgsql-get-field":"Get custom field value","function.session-pgsql-reset":"Reset connection to session database servers","function.session-pgsql-set-field":"Set custom field value","function.session-pgsql-status":"Get current save handler status","ref.session-pgsql":"Session PgSQL Functions","book.session-pgsql":"PostgreSQL Session Save Handler","refs.basic.session":"Session Extensions","intro.bbcode":"Introduction","bbcode.requirements":"Requirements","bbcode.installation":"Installation","bbcode.configuration":"Runtime Configuration","bbcode.resources":"Resource Types","bbcode.setup":"Installing\/Configuring","constant.bbcode-type-noarg":"","constant.bbcode-type-single":"","constant.bbcode-type-arg":"","constant.bbcode-type-optarg":"","constant.bbcode-type-root":"","constant.bbcode-flags-arg-parsing":"","constant.bbcode-flags-cdata-not-allowed":"","constant.bbcode-flags-smileys-on":"","constant.bbcode-flags-smileys-off":"","constant.bbcode-flags-one-open-per-level":"","constant.bbcode-flags-remove-if-empty":"","constant.bbcode-flags-deny-reopen-child":"","constant.bbcode-arg-double-quote":"","constant.bbcode-arg-single-quote":"","constant.bbcode-arg-html-quote":"","constant.bbcode-arg-quote-escaping":"","constant.bbcode-auto-correct":"","constant.bbcode-correct-reopen-tags":"","constant.bbcode-disable-tree-build":"","constant.bbcode-default-smileys-on":"","constant.bbcode-default-smileys-off":"","constant.bbcode-force-smileys-off":"","constant.bbcode-smileys-case-insensitive":"","constant.bbcode-set-flags-set":"","constant.bbcode-set-flags-add":"","constant.bbcode-set-flags-remove":"","bbcode.constants":"Predefined Constants","function.bbcode-add-element":"Adds a bbcode element","example-4767":"bbcode_add_smiley usage example","function.bbcode-add-smiley":"Adds a smiley to the parser","example-4768":"bbcode_create example","function.bbcode-create":"Create a BBCode Resource","function.bbcode-destroy":"Close BBCode_container resource","function.bbcode-parse":"Parse a string following a given rule set","example-4769":"bbcode_set_arg_parser usage example","function.bbcode-set-arg-parser":"Attach another parser in order to use another rule set for argument parsing","example-4770":"bbcode_set_flags usage example","function.bbcode-set-flags":"Set or alter parser options","ref.bbcode":"BBCode Functions","book.bbcode":"Bulletin Board Code","intro.pcre":"Introduction","pcre.requirements":"Requirements","pcre.installation":"Installation","ini.pcre.backtrack-limit":"","ini.pcre.recursion-limit":"","pcre.configuration":"Runtime Configuration","pcre.resources":"Resource Types","pcre.setup":"Installing\/Configuring","pcre.constants":"Predefined Constants","example-4771":"Examples of valid patterns","example-4772":"Examples of invalid patterns","pcre.examples":"Examples","regexp.introduction":"Introduction","regexp.reference.delimiters":"Delimiters","regexp.reference.meta":"Meta-characters","regexp.reference.escape":"Escape sequences","regexp.reference.unicode":"Unicode character properties","regexp.reference.anchors":"Anchors","regexp.reference.dot":"Dot","regexp.reference.character-classes":"Character classes","regexp.reference.alternation":"Alternation","regexp.reference.internal-options":"Internal option setting","regexp.reference.subpatterns":"Subpatterns","regexp.reference.repetition":"Repetition","regexp.reference.back-references":"Back references","regexp.reference.assertions":"Assertions","regexp.reference.onlyonce":"Once-only subpatterns","regexp.reference.conditional":"Conditional subpatterns","regexp.reference.comments":"Comments","regexp.reference.recursive":"Recursive patterns","regexp.reference.performance":"Performance","reference.pcre.pattern.syntax":"Pattern Syntax","reference.pcre.pattern.modifiers.eval":"","reference.pcre.pattern.modifiers":"Pattern Modifiers","reference.pcre.pattern.differences":"Perl Differences","reference.pcre.pattern.posix":"Differences from POSIX regex","pcre.pattern":"PCRE Patterns","example-4773":"Example comparing preg_filter \n with preg_replace","function.preg-filter":"Perform a regular expression search and replace","example-4774":"preg_grep example","function.preg-grep":"Return array entries that match the pattern","example-4775":"preg_last_error example","function.preg-last-error":"Returns the error code of the last PCRE regex execution","example-4776":"Getting all phone numbers out of some text.","example-4777":"Find matching HTML tags (greedy)","example-4778":"Using named subpattern","function.preg-match-all":"Perform a global regular expression match","example-4779":"Find the string of text "php"","example-4780":"Find the word "web"","example-4781":"Getting the domain name out of a URL","example-4782":"Using named subpattern","function.preg-match":"Perform a regular expression match","example-4783":"preg_quote example","example-4784":"Italicizing a word within some text","function.preg-quote":"Quote regular expression characters","example-4785":"preg_replace_callback and \n anonymous function","example-4786":"preg_replace_callback example","example-4787":"preg_replace_callback using recursive structure\n to handle encapsulated BB code","function.preg-replace-callback":"Perform a regular expression search and replace using a callback","example-4788":"Using backreferences followed by numeric literals","example-4789":"Using indexed arrays with preg_replace","example-4790":"Replacing several values","example-4791":"Strip whitespace","example-4792":"Using the count parameter","function.preg-replace":"Perform a regular expression search and replace","example-4793":"preg_split example : Get the parts of a search string","example-4794":"Splitting a string into component characters","example-4795":"Splitting a string into matches and their offsets","function.preg-split":"Split string by a regular expression","ref.pcre":"PCRE Functions","book.pcre":"Regular Expressions (Perl-Compatible)","intro.regex":"Introduction","regex.requirements":"Requirements","regex.installation":"Installation","regex.configuration":"Runtime Configuration","regex.resources":"Resource Types","regex.setup":"Installing\/Configuring","regex.constants":"Predefined Constants","example-4796":"Regular Expression Examples","regex.examples":"Examples","regex.seealso":"See Also","example-4797":"ereg_replace example","example-4798":"ereg_replace example","example-4799":"Replace URLs with links","function.ereg-replace":"Replace regular expression","example-4800":"ereg example","function.ereg":"Regular expression match","example-4801":"Highlight search results","function.eregi-replace":"Replace regular expression case insensitive","example-4802":"eregi example","function.eregi":"Case insensitive regular expression match","example-4803":"split example","example-4804":"split example","function.split":"Split string into array by regular expression","example-4805":"spliti example","function.spliti":"Split string into array by regular expression case insensitive","example-4806":"sql_regcase example","function.sql-regcase":"Make regular expression for case insensitive match","ref.regex":"POSIX Regex Functions","book.regex":"Regular Expression (POSIX Extended)","intro.ssdeep":"Introduction","ssdeep.requirements":"Requirements","ssdeep.installation":"Installation","ssdeep.configuration":"Runtime Configuration","ssdeep.resources":"Resource Types","ssdeep.setup":"Installing\/Configuring","ssdeep.constants":"Predefined Constants","function.ssdeep-fuzzy-compare":"Calculates the match score between two fuzzy hash signatures","function.ssdeep-fuzzy-hash-filename":"Create a fuzzy hash from a file","function.ssdeep-fuzzy-hash":"Create a fuzzy hash from a string","ref.ssdeep":"ssdeep Functions","book.ssdeep":"ssdeep Fuzzy Hashing","intro.strings":"Introduction","strings.requirements":"Requirements","strings.installation":"Installation","strings.configuration":"Runtime Configuration","strings.resources":"Resource Types","strings.setup":"Installing\/Configuring","constant.crypt-salt-length":"","constant.crypt-std-des":"","constant.crypt-ext-des":"","constant.crypt-md5":"","constant.crypt-blowfish":"","constant.html-specialchars":"","constant.html-entities":"","constant.ent-compat":"","constant.ent-quotes":"","constant.ent-noquotes":"","constant.ent-ignore":"","constant.ent-substitute":"","constant.ent-disallowed":"","constant.ent-html401":"","constant.ent-xml1":"","constant.ent-xhtml":"","constant.ent-html5":"","constant.char-max":"","constant.lc-ctype":"","constant.lc-numeric":"","constant.lc-time":"","constant.lc-collate":"","constant.lc-monetary":"","constant.lc-all":"","constant.lc-messages":"","constant.str-pad-left":"","constant.str-pad-right":"","constant.str-pad-both":"","string.constants":"Predefined Constants","strings.seealso":"See Also","example-4807":"addcslashes example","function.addcslashes":"Quote string with slashes in a C style","example-4808":"An addslashes example","function.addslashes":"Quote string with slashes","function.bin2hex":"Convert binary data into hexadecimal representation","function.chop":"Alias of rtrim","example-4809":"chr example","function.chr":"Return a specific character","example-4810":"chunk_split example","function.chunk-split":"Split a string into smaller chunks","function.convert-cyr-string":"Convert from one Cyrillic character set to another","example-4811":"convert_uudecode example","function.convert-uudecode":"Decode a uuencoded string","example-4812":"convert_uuencode example","function.convert-uuencode":"Uuencode a string","example-4813":"count_chars example","function.count-chars":"Return information about characters used in a string","example-4814":"Displaying a crc32 checksum","function.crc32":"Calculates the crc32 polynomial of a string","example-4815":"crypt examples","example-4816":"Using crypt with htpasswd","example-4817":"Using crypt with different hash types","function.crypt":"One-way string hashing","example-4818":"echo examples","function.echo":"Output one or more strings","example-4819":"explode examples","example-4820":"explode return examples","example-4821":"limit parameter examples","function.explode":"Split a string by string","example-4822":"fprintf: zero-padded integers","example-4823":"fprintf: formatting currency","function.fprintf":"Write a formatted string to a stream","example-4824":"Translation Table Example","function.get-html-translation-table":"Returns the translation table used by htmlspecialchars and htmlentities","function.hebrev":"Convert logical Hebrew text to visual text","function.hebrevc":"Convert logical Hebrew text to visual text with newline conversion","hex2bin.example.basic":"hex2bin example","function.hex2bin":"Decodes a hexadecimally encoded binary string","example-4826":"Decoding HTML entities","function.html-entity-decode":"Convert all HTML entities to their applicable characters","example-4827":"A htmlentities example","example-4828":"Usage of ENT_IGNORE","function.htmlentities":"Convert all applicable characters to HTML entities","example-4829":"A htmlspecialchars_decode example","function.htmlspecialchars-decode":"Convert special HTML entities back to characters","example-4830":"htmlspecialchars example","function.htmlspecialchars":"Convert special characters to HTML entities","example-4831":"implode example","function.implode":"Join array elements with a string","function.join":"Alias of implode","example-4832":"lcfirst example","function.lcfirst":"Make a string's first character lowercase","example-4833":"levenshtein example","function.levenshtein":"Calculate Levenshtein distance between two strings","example-4834":"localeconv example","function.localeconv":"Get numeric formatting information","example-4835":"Usage example of ltrim","function.ltrim":"Strip whitespace (or other characters) from the beginning of a string","example-4836":"Usage example of md5_file","function.md5-file":"Calculates the md5 hash of a given file","example-4837":"A md5 example","function.md5":"Calculate the md5 hash of a string","metaphone.example.basic":"metaphone basic example","metaphone.example.phonemes":"Using the phonemes parameter","function.metaphone":"Calculate the metaphone key of a string","example-4840":"money_format Example","function.money-format":"Formats a number as a currency string","function.nl-langinfo":"Query language and locale information","example-4841":"Using nl2br","example-4842":"Generating valid HTML markup using the is_xhtml parameter","example-4843":"Various newline separators","function.nl2br":"Inserts HTML line breaks before all newlines in a string","example-4844":"number_format Example","function.number-format":"Format a number with grouped thousands","example-4845":"ord example","function.ord":"Return ASCII value of character","example-4846":"Using parse_str","function.parse-str":"Parses the string into variables","example-4847":"print examples","function.print":"Output a string","function.printf":"Output a formatted string","function.quoted-printable-decode":"Convert a quoted-printable string to an 8 bit string","function.quoted-printable-encode":"Convert a 8 bit string to a quoted-printable string","function.quotemeta":"Quote meta characters","example-4848":"Usage example of rtrim","function.rtrim":"Strip whitespace (or other characters) from the end of a string","example-4849":"setlocale Examples","example-4850":"setlocale Examples for Windows","function.setlocale":"Set locale information","example-4851":"sha1_file example","function.sha1-file":"Calculate the sha1 hash of a file","example-4852":"A sha1 example","function.sha1":"Calculate the sha1 hash of a string","function.similar-text":"Calculate the similarity between two strings","example-4853":"Soundex Examples","function.soundex":"Calculate the soundex key of a string","sprintf.coercion":"Type Handling","example-4854":"Argument swapping","example-4855":"Argument swapping","example-4856":"Argument swapping","example-4857":"Argument swapping","example-4858":"Position specifier with other specifiers","example-4859":"printf: various examples","example-4860":"printf: string specifiers","example-4861":"sprintf: zero-padded integers","example-4862":"sprintf: formatting currency","example-4863":"sprintf: scientific notation","function.sprintf":"Return a formatted string","example-4864":"sscanf Example","example-4865":"sscanf - using optional parameters","function.sscanf":"Parses input from a string according to a format","function.str-getcsv":"Parse a CSV string into an array","example-4866":"str_ireplace example","function.str-ireplace":"Case-insensitive version of str_replace.","example-4867":"str_pad example","function.str-pad":"Pad a string to a certain length with another string","example-4868":"str_repeat example","function.str-repeat":"Repeat a string","example-4869":"Basic str_replace examples","example-4870":"Examples of potential str_replace gotchas","function.str-replace":"Replace all occurrences of the search string with the replacement string","example-4871":"str_rot13 example","function.str-rot13":"Perform the rot13 transform on a string","example-4872":"str_shuffle example","function.str-shuffle":"Randomly shuffles a string","example-4873":"Example uses of str_split","function.str-split":"Convert a string to an array","example-4874":"A str_word_count example","function.str-word-count":"Return information about words used in a string","example-4875":"strcasecmp example","function.strcasecmp":"Binary safe case-insensitive string comparison","function.strchr":"Alias of strstr","function.strcmp":"Binary safe string comparison","function.strcoll":"Locale based string comparison","strcspn.example":"strcspn example","function.strcspn":"Find length of initial segment not matching mask","example-4877":"strip_tags example","function.strip-tags":"Strip HTML and PHP tags from a string","function.stripcslashes":"Un-quote string quoted with addcslashes","example-4878":"stripos examples","function.stripos":"Find the position of the first occurrence of a case-insensitive substring in a string","example-4879":"A stripslashes example","example-4880":"Using stripslashes on an array","function.stripslashes":"Un-quotes a quoted string","example-4881":"stristr example","example-4882":"Testing if a string is found or not","example-4883":"Using a non "string" needle","function.stristr":"Case-insensitive strstr","example-4884":"A strlen example","function.strlen":"Get string length","function.strnatcasecmp":"Case insensitive string comparisons using a "natural order" algorithm","function.strnatcmp":"String comparisons using a "natural order" algorithm","function.strncasecmp":"Binary safe case-insensitive string comparison of the first n characters","function.strncmp":"Binary safe string comparison of the first n characters","example-4885":"strpbrk example","function.strpbrk":"Search a string for any of a set of characters","example-4886":"Using ===","example-4887":"Using !==","example-4888":"Using an offset","function.strpos":"Find the position of the first occurrence of a substring in a string","example-4889":"strrchr example","function.strrchr":"Find the last occurrence of a character in a string","example-4890":"Reversing a string with strrev","function.strrev":"Reverse a string","example-4891":"A simple strripos example","function.strripos":"Find the position of the last occurrence of a case-insensitive substring in a string","example-4892":"Checking if a needle is in the haystack","example-4893":"Searching with offsets","function.strrpos":"Find the position of the last occurrence of a substring in a string","example-4894":"strspn example","function.strspn":"Finds the length of the initial segment of a string consisting\n entirely of characters contained within a given mask.","example-4895":"strstr example","function.strstr":"Find the first occurrence of a string","example-4896":"strtok example","example-4897":"Old strtok behavior","example-4898":"New strtok behavior","function.strtok":"Tokenize string","example-4899":"strtolower example","function.strtolower":"Make a string lowercase","example-4900":"strtoupper example","function.strtoupper":"Make a string uppercase","example-4901":"strtr example","example-4902":"strtr example with two arguments","example-4903":"strtr behavior comparison","function.strtr":"Translate characters or replace substrings","example-4904":"A substr_compare example","function.substr-compare":"Binary safe comparison of two strings from an offset, up to length characters","example-4905":"A substr_count example","function.substr-count":"Count the number of substring occurrences","example-4906":"Simple substr_replace examples","example-4907":"Using substr_replace to replace multiple strings at\n once","function.substr-replace":"Replace text within a portion of a string","example-4908":"Using a negative start","example-4909":"Using a negative length","example-4910":"Basic substr usage","example-4911":"substr casting behaviour","example-4912":"","function.substr":"Return part of a string","example-4913":"Usage example of trim","example-4914":"Trimming array values with trim","function.trim":"Strip whitespace (or other characters) from the beginning and end of a string","example-4915":"ucfirst example","function.ucfirst":"Make a string's first character uppercase","example-4916":"ucwords example","function.ucwords":"Uppercase the first character of each word in a string","example-4917":"vfprintf: zero-padded integers","function.vfprintf":"Write a formatted string to a stream","example-4918":"vprintf: zero-padded integers","function.vprintf":"Output a formatted string","example-4919":"vsprintf: zero-padded integers","function.vsprintf":"Return a formatted string","example-4920":"wordwrap example","example-4921":"wordwrap example","function.wordwrap":"Wraps a string to a given number of characters","ref.strings":"String Functions","changelog.strings":"Changelog","book.strings":"Strings","refs.basic.text":"Text Processing","intro.array":"Introduction","array.requirements":"Requirements","array.installation":"Installation","array.configuration":"Runtime Configuration","array.resources":"Resource Types","array.setup":"Installing\/Configuring","constant.case-lower":"","constant.case-upper":"","constant.sort-asc":"","constant.sort-desc":"","constant.sort-regular":"","constant.sort-numeric":"","constant.sort-string":"","constant.sort-locale-string":"","constant.sort-natural":"","constant.sort-flag-case":"","constant.count-normal":"","constant.count-recursive":"","constant.extr-overwrite":"","constant.extr-skip":"","constant.extr-prefix-same":"","constant.extr-prefix-all":"","constant.extr-prefix-invalid":"","constant.extr-prefix-if-exists":"","constant.extr-if-exists":"","constant.extr-refs":"","array.constants":"Predefined Constants","array.sorting":"Sorting Arrays","array.seealso":"See Also","function.array-change-key-case.example-1":"array_change_key_case example","function.array-change-key-case":"Changes the case of all keys in an array","example-4923":"array_chunk example","function.array-chunk":"Split an array into chunks","example-4924":"Get column of first names from recordset","example-4925":"Get column of last names from recordset, indexed by the "id" column","function.array-column":"Return the values from a single column in the input array","example-4926":"A simple array_combine example","function.array-combine":"Creates an array by using one array for keys and another for its values","example-4927":"array_count_values example","function.array-count-values":"Counts all the values of an array","example-4928":"array_diff_assoc example","example-4929":"array_diff_assoc example","function.array-diff-assoc":"Computes the difference of arrays with additional index check","example-4930":"array_diff_key example","function.array-diff-key":"Computes the difference of arrays using keys for comparison","example-4931":"array_diff_uassoc example","function.array-diff-uassoc":"Computes the difference of arrays with additional index check which is performed by a user supplied callback function","example-4932":"array_diff_ukey example","function.array-diff-ukey":"Computes the difference of arrays using a callback function on the keys for comparison","example-4933":"array_diff example","function.array-diff":"Computes the difference of arrays","example-4934":"array_fill_keys example","function.array-fill-keys":"Fill an array with values, specifying keys","function.array-fill.example.basic":"array_fill example","function.array-fill":"Fill an array with values","example-4936":"array_filter example","example-4937":"array_filter without\n callback","function.array-filter":"Filters elements of an array using a callback function","example-4938":"array_flip example","example-4939":"array_flip example : collision","function.array-flip":"Exchanges all keys with their associated values in an array","example-4940":"array_intersect_assoc example","function.array-intersect-assoc":"Computes the intersection of arrays with additional index check","example-4941":"array_intersect_key example","function.array-intersect-key":"Computes the intersection of arrays using keys for comparison","example-4942":"array_intersect_uassoc example","function.array-intersect-uassoc":"Computes the intersection of arrays with additional index check, compares indexes by a callback function","example-4943":"array_intersect_ukey example","function.array-intersect-ukey":"Computes the intersection of arrays using a callback function on the keys for comparison","example-4944":"array_intersect example","function.array-intersect":"Computes the intersection of arrays","example-4945":"array_key_exists example","example-4946":"array_key_exists vs isset","function.array-key-exists":"Checks if the given key or index exists in the array","example-4947":"array_keys example","function.array-keys":"Return all the keys or a subset of the keys of an array","example-4948":"array_map example","example-4949":"array_map using a lambda function (as of PHP 5.3.0)","example-4950":"array_map - using more arrays","example-4951":"Creating an array of arrays","example-4952":"array_map - with string keys","function.array-map":"Applies the callback to the elements of the given arrays","example-4953":"array_merge_recursive example","function.array-merge-recursive":"Merge two or more arrays recursively","example-4954":"array_merge PHP 5 example","example-4955":"array_merge example","example-4956":"Simple array_merge example","function.array-merge":"Merge one or more arrays","example-4957":"Sorting multiple arrays","example-4958":"Sorting multi-dimensional array","example-4959":"Sorting database results","example-4960":"Case insensitive sorting","function.array-multisort":"Sort multiple or multi-dimensional arrays","example-4961":"array_pad example","function.array-pad":"Pad array to the specified length with a value","example-4962":"array_pop example","function.array-pop":"Pop the element off the end of array","example-4963":"array_product examples","function.array-product":"Calculate the product of values in an array","example-4964":"array_push example","function.array-push":"Push one or more elements onto the end of array","example-4965":"array_rand example","function.array-rand":"Pick one or more random entries out of an array","example-4966":"array_reduce example","function.array-reduce":"Iteratively reduce the array to a single value using a callback function","example-4967":"array_replace_recursive example","example-4968":"array_replace_recursive and recursive behavior","function.array-replace-recursive":"Replaces elements from passed arrays into the first array recursively","example-4969":"array_replace example","function.array-replace":"Replaces elements from passed arrays into the first array","example-4970":"array_reverse example","function.array-reverse":"Return an array with elements in reverse order","example-4971":"array_search example","function.array-search":"Searches the array for a given value and returns the corresponding key if successful","example-4972":"array_shift example","function.array-shift":"Shift an element off the beginning of array","example-4973":"array_slice examples","function.array-slice":"Extract a slice of the array","example-4974":"array_splice examples","example-4975":"array_splice examples","function.array-splice":"Remove a portion of the array and replace it with something else","example-4976":"array_sum examples","function.array-sum":"Calculate the sum of values in an array","example-4977":"array_udiff_assoc example","function.array-udiff-assoc":"Computes the difference of arrays with additional index check, compares data by a callback function","example-4978":"array_udiff_uassoc example","function.array-udiff-uassoc":"Computes the difference of arrays with additional index check, compares data and indexes by a callback function","example-4979":"array_udiff example using stdClass Objects","example-4980":"array_udiff example using DateTime Objects","function.array-udiff":"Computes the difference of arrays by using a callback function for data comparison","example-4981":"array_uintersect_assoc example","function.array-uintersect-assoc":"Computes the intersection of arrays with additional index check, compares data by a callback function","example-4982":"array_uintersect_uassoc example","function.array-uintersect-uassoc":"Computes the intersection of arrays with additional index check, compares data and indexes by a callback functions","example-4983":"array_uintersect example","function.array-uintersect":"Computes the intersection of arrays, compares data by a callback function","example-4984":"array_unique example","example-4985":"array_unique and types","function.array-unique":"Removes duplicate values from an array","example-4986":"array_unshift example","function.array-unshift":"Prepend one or more elements to the beginning of an array","example-4987":"array_values example","function.array-values":"Return all the values of an array","example-4988":"array_walk_recursive example","function.array-walk-recursive":"Apply a user function recursively to every member of an array","example-4989":"array_walk example","function.array-walk":"Apply a user function to every member of an array","example-4990":"array example","example-4991":"Automatic index with array","example-4992":"1-based index with array","example-4993":"Accessing an array inside double quotes","function.array":"Create an array","example-4994":"arsort example","function.arsort":"Sort an array in reverse order and maintain index association","example-4995":"asort example","function.asort":"Sort an array and maintain index association","example-4996":"compact example","function.compact":"Create array containing variables and their values","example-4997":"count example","example-4998":"Recursive count example","function.count":"Count all elements in an array, or something in an object","example-4999":"Example use of current and friends","function.current":"Return the current element in an array","example-5000":"each examples","example-5001":"Traversing an array with each","function.each":"Return the current key and value pair from an array and advance the array cursor","example-5002":"end example","function.end":"Set the internal pointer of an array to its last element","example-5003":"extract example","function.extract":"Import variables into the current symbol table from an array","example-5004":"in_array example","example-5005":"in_array with strict example","example-5006":"in_array with an array as needle","function.in-array":"Checks if a value exists in an array","function.key-exists":"Alias of array_key_exists","example-5007":"key example","function.key":"Fetch a key from an array","example-5008":"krsort example","function.krsort":"Sort an array by key in reverse order","example-5009":"ksort example","function.ksort":"Sort an array by key","example-5010":"list examples","example-5011":"An example use of list","example-5012":"Using nested list","example-5013":"Using list with array indices","function.list":"Assign variables as if they were an array","example-5014":"natcasesort example","function.natcasesort":"Sort an array using a case insensitive "natural order" algorithm","example-5015":"natsort examples demonstrating basic usage","example-5016":"natsort examples demonstrating potential gotchas","function.natsort":"Sort an array using a "natural order" algorithm","example-5017":"Example use of next and friends","function.next":"Advance the internal array pointer of an array","function.pos":"Alias of current","example-5018":"Example use of prev and friends","function.prev":"Rewind the internal array pointer","example-5019":"range examples","function.range":"Create an array containing a range of elements","example-5020":"reset example","function.reset":"Set the internal pointer of an array to its first element","example-5021":"rsort example","function.rsort":"Sort an array in reverse order","example-5022":"shuffle example","function.shuffle":"Shuffle an array","function.sizeof":"Alias of count","example-5023":"sort example","example-5024":"sort example using case-insensitive natural\n ordering","function.sort":"Sort an array","example-5025":"Basic uasort example","function.uasort":"Sort an array with a user-defined comparison function and maintain index association","example-5026":"uksort example","function.uksort":"Sort an array by keys using a user-defined comparison function","function.usort.examples.basic":"usort example","function.usort.examples.multi":"usort example using multi-dimensional array","function.usort.examples.object":"usort example using a member function of an object","function.usort.examples.closure":"usort example using a closure\n to sort a multi-dimensional array","function.usort":"Sort an array by values using a user-defined comparison function","ref.array":"Array Functions","book.array":"Arrays","intro.classobj":"Introduction","classobj.requirements":"Requirements","classobj.installation":"Installation","classobj.configuration":"Runtime Configuration","classobj.resources":"Resource Types","classobj.setup":"Installing\/Configuring","classobj.constants":"Predefined Constants","example-5031":"classes.inc","example-5032":"test_script.php","classobj.examples":"Examples","function.autoload":"Attempt to load undefined class","example-5033":"call_user_method_array alternative","function.call-user-method-array":"Call a user method given with an array of parameters [deprecated]","example-5034":"call_user_method alternative","function.call-user-method":"Call a user method on an specific object [deprecated]","example-5035":"class_alias example","function.class-alias":"Creates an alias for a class","example-5036":"class_exists example","example-5037":"autoload parameter example","function.class-exists":"Checks if the class has been defined","example-5038":"Using get_called_class","function.get-called-class":"the "Late Static Binding" class name","example-5039":"get_class_methods example","function.get-class-methods":"Gets the class methods' names","example-5040":"get_class_vars example","example-5041":"get_class_vars and scoping behaviour","function.get-class-vars":"Get the default properties of the class","example-5042":"Using get_class","example-5043":"Using get_class in superclass","function.get-class":"Returns the name of the class of an object","example-5044":"get_declared_classes example","function.get-declared-classes":"Returns an array with the name of the defined classes","example-5045":"get_declared_interfaces example","function.get-declared-interfaces":"Returns an array of all declared interfaces","function.get-declared-traits":"Returns an array of all declared traits","example-5046":"Use of get_object_vars","function.get-object-vars":"Gets the properties of the given object","example-5047":"Using get_parent_class","function.get-parent-class":"Retrieves the parent class name for object or class","example-5048":"interface_exists example","function.interface-exists":"Checks if the interface has been defined","example-5049":"is_a example","example-5050":"Using the instanceof operator in PHP 5","function.is-a":"Checks if the object is of this class or has this class as one of its parents","example-5051":"is_subclass_of example","example-5052":"is_subclass_of using interface example","function.is-subclass-of":"Checks if the object has this class as one of its parents","example-5053":"method_exists example","example-5054":"Static method_exists example","function.method-exists":"Checks if the class method exists","example-5055":"A property_exists example","function.property-exists":"Checks if the object or class has a property","function.trait-exists":"Checks if the trait exists","ref.classobj":"Classes\/Object Functions","book.classobj":"Class\/Object Information","intro.classkit":"Introduction","classkit.requirements":"Requirements","classkit.installation":"Installation","classkit.configuration":"Runtime Configuration","classkit.resources":"Resource Types","classkit.setup":"Installing\/Configuring","constant.classkit-acc-private":"","constant.classkit-acc-protected":"","constant.classkit-acc-public":"","classkit.constants":"Predefined Constants","example-5056":"classkit_import example","function.classkit-import":"Import new class method definitions from a file","example-5057":"classkit_method_add example","function.classkit-method-add":"Dynamically adds a new method to a given class","example-5058":"classkit_method_copy example","function.classkit-method-copy":"Copies a method from class to another","example-5059":"classkit_method_redefine example","function.classkit-method-redefine":"Dynamically changes the code of the given method","example-5060":"classkit_method_remove example","function.classkit-method-remove":"Dynamically removes the given method","example-5061":"classkit_method_rename example","function.classkit-method-rename":"Dynamically changes the name of the given method","ref.classkit":"Classkit Functions","book.classkit":"Classkit","intro.ctype":"Introduction","ctype.requirements":"Requirements","ctype.installation":"Installation","ctype.configuration":"Runtime Configuration","ctype.resources":"Resource Types","ctype.setup":"Installing\/Configuring","ctype.constants":"Predefined Constants","example-5062":"A ctype_alnum example (using the default locale)","function.ctype-alnum":"Check for alphanumeric character(s)","example-5063":"A ctype_alpha example (using the default locale)","function.ctype-alpha":"Check for alphabetic character(s)","example-5064":"A ctype_cntrl example","function.ctype-cntrl":"Check for control character(s)","example-5065":"A ctype_digit example","example-5066":"A ctype_digit example comparing strings with integers","function.ctype-digit":"Check for numeric character(s)","example-5067":"A ctype_graph example","function.ctype-graph":"Check for any printable character(s) except space","example-5068":"A ctype_lower example (using the default locale)","function.ctype-lower":"Check for lowercase character(s)","example-5069":"A ctype_print example","function.ctype-print":"Check for printable character(s)","example-5070":"A ctype_punct example","function.ctype-punct":"Check for any printable character which is not whitespace or an\n alphanumeric character","example-5071":"A ctype_space example","function.ctype-space":"Check for whitespace character(s)","example-5072":"A ctype_upper example (using the default locale)","function.ctype-upper":"Check for uppercase character(s)","example-5073":"A ctype_xdigit example","function.ctype-xdigit":"Check for character(s) representing a hexadecimal digit","ref.ctype":"Ctype Functions","book.ctype":"Character type checking","intro.filter":"Introduction","filter.requirements":"Requirements","filter.installation":"Installation","example-5074":"Configuring the default filter to act like htmlspecialchars","ini.filter.default":"","ini.filter.default-flags":"","filter.configuration":"Runtime Configuration","filter.resources":"Resource Types","filter.setup":"Installing\/Configuring","filter.filters.validate":"Validate filters","example-5075":"Configuring the default filter to act like htmlspecialchars","filter.filters.sanitize":"Sanitize filters","filter.filters.misc":"Other filters","filter.filters.flags":"Filter flags","filter.filters":"Types of filters","constant.input-post":"","constant.input-get":"","constant.input-cookie":"","constant.input-env":"","constant.input-server":"","constant.input-session":"","constant.input-request":"","constant.filter-flag-none":"","constant.filter-require-scalar":"","constant.filter-require-array":"","constant.filter-force-array":"","constant.filter-null-on-failure":"","constant.filter-validate-int":"","constant.filter-validate-boolean":"","constant.filter-validate-float":"","constant.filter-validate-regexp":"","constant.filter-validate-url":"","constant.filter-validate-email":"","constant.filter-validate-ip":"","constant.filter-default":"","constant.filter-unsafe-raw":"","constant.filter-sanitize-string":"","constant.filter-sanitize-stripped":"","constant.filter-sanitize-encoded":"","constant.filter-sanitize-special-chars":"","constant.filter-sanitize-email":"","constant.filter-sanitize-url":"","constant.filter-sanitize-number-int":"","constant.filter-sanitize-number-float":"","constant.filter-sanitize-magic-quotes":"","constant.filter-callback":"","constant.filter-flag-allow-octal":"","constant.filter-flag-allow-hex":"","constant.filter-flag-strip-low":"","constant.filter-flag-strip-high":"","constant.filter-flag-encode-low":"","constant.filter-flag-encode-high":"","constant.filter-flag-encode-amp":"","constant.filter-flag-no-encode-quotes":"","constant.filter-flag-empty-string-null":"","constant.filter-flag-allow-fraction":"","constant.filter-flag-allow-thousand":"","constant.filter-flag-allow-scientific":"","constant.filter-flag-path-required":"","constant.filter-flag-query-required":"","constant.filter-flag-ipv4":"","constant.filter-flag-ipv6":"","constant.filter-flag-no-res-range":"","constant.filter-flag-no-priv-range":"","filter.constants":"Predefined Constants","filter.examples.validation.email":"","example-5076":"Validating email addresses with filter_var","filter.examples.validation.ip":"","example-5077":"Validating IP addresses with filter_var","filter.examples.validation.options":"","example-5078":"Passing options to filter_var","filter.examples.validation":"Validation","filter.examples.sanitization.email":"","example-5079":"Sanitizing and validating email addresses","filter.examples.sanitization.default_filter":"","example-5080":"Configuring a default filter","filter.examples.sanitization":"Sanitization","filter.examples":"Examples","function.filter-has-var":"Checks if variable of specified type exists","function.filter-id":"Returns the filter ID belonging to a named filter","example-5081":"A filter_input_array example","function.filter-input-array":"Gets external variables and optionally filters them","example-5082":"A filter_input example","function.filter-input":"Gets a specific external variable by name and optionally filters it","example-5083":"A filter_list example","function.filter-list":"Returns a list of all supported filters","example-5084":"A filter_var_array example","function.filter-var-array":"Gets multiple variables and optionally filters them","example-5085":"A filter_var example","function.filter-var":"Filters a variable with a specified filter","ref.filter":"Filter Functions","book.filter":"Data Filtering","intro.funchand":"Introduction","funchand.requirements":"Requirements","funchand.installation":"Installation","funchand.configuration":"Runtime Configuration","funchand.resources":"Resource Types","funchand.setup":"Installing\/Configuring","funchand.constants":"Predefined Constants","example-5086":"call_user_func_array example","example-5087":"call_user_func_array using namespace name","example-5088":"Using lambda function","function.call-user-func-array":"Call a callback with an array of parameters","example-5089":"call_user_func example and references","example-5090":"call_user_func example","example-5091":"call_user_func using namespace name","example-5092":"Using a class method with call_user_func","example-5093":"Using lambda function with call_user_func","function.call-user-func":"Call the callback given by the first parameter","example-5094":"Creating an anonymous function with create_function","example-5095":"Making a general processing function with\n create_function","example-5096":"Using anonymous functions as callback functions","function.create-function":"Create an anonymous (lambda-style) function","example-5097":"forward_static_call_array example","function.forward-static-call-array":"Call a static method and pass the arguments as array","example-5098":"forward_static_call example","function.forward-static-call":"Call a static method","example-5099":"func_get_arg example","example-5100":"func_get_arg example before and\n after PHP 5.3","example-5101":"func_get_arg example of byref and byval arguments","function.func-get-arg":"Return an item from the argument list","example-5102":"func_get_args example","example-5103":"func_get_args example before and\n after PHP 5.3","example-5104":"func_get_args example of byref and byval arguments","function.func-get-args":"Returns an array comprising a function's argument list","example-5105":"func_num_args example","example-5106":"func_num_args example before and\n after PHP 5.3","function.func-num-args":"Returns the number of arguments passed to the function","example-5107":"function_exists example","function.function-exists":"Return TRUE if the given function has been defined","example-5108":"get_defined_functions example","function.get-defined-functions":"Returns an array of all defined functions","example-5109":"register_shutdown_function example","function.register-shutdown-function":"Register a function for execution on shutdown","example-5110":"register_tick_function example","function.register-tick-function":"Register a function for execution on each tick","function.unregister-tick-function":"De-register a function for execution on each tick","ref.funchand":"Function handling Functions","book.funchand":"Function Handling","intro.objaggregation":"Introduction","example-5111":"Class association","example-5112":"Object association","objaggregation.examples.association":"Object Aggregation examples","example-5113":"storage_classes.inc","example-5114":"test_aggregation.php","objaggregation.examples2":"Examples","objaggregation.examples":"Examples","example-5115":"Using aggregate_info","function.aggregate-info":"Gets aggregation information for a given object","function.aggregate-methods-by-list":"Selective dynamic class methods aggregation to an object","function.aggregate-methods-by-regexp":"Selective class methods aggregation to an object using a regular\n expression","function.aggregate-methods":"Dynamic class and object aggregation of methods","function.aggregate-properties-by-list":"Selective dynamic class properties aggregation to an object","function.aggregate-properties-by-regexp":"Selective class properties aggregation to an object using a regular\n expression","function.aggregate-properties":"Dynamic aggregation of class properties to an object","function.aggregate":"Dynamic class and object aggregation of methods and properties","function.aggregation-info":"Alias of aggregate_info","function.deaggregate":"Removes the aggregated methods and properties from an object","ref.objaggregation":"Object Aggregation Functions","book.objaggregation":"Object Aggregation\/Composition [PHP 4]","intro.quickhash":"Introduction","quickhash.requirements":"Requirements","quickhash.installation":"Installation","quickhash.configuration":"Runtime Configuration","quickhash.setup":"Installing\/Configuring","quickhash.constants":"Predefined Constants","example-5116":"Quickhash Example","example-5117":"Quickhash ArrayAccess Example","example-5118":"Quickhash Iterator Example","example-5119":"Quickhash String Values Example","quickhash.examples":"Examples","quickhashintset.intro":"Introduction","quickhashintset.synopsis":"Class synopsis","quickhashintset.constants.check-for-dupes":"","quickhashintset.constants.do-not-use-zend-alloc":"","quickhashintset.constants.hasher-no-hash":"","quickhashintset.constants.hasher-jenkins1":"","quickhashintset.constants.hasher-jenkins2":"","quickhashintset.constants":"Predefined Constants","example-5120":"QuickHashIntSet::add example","quickhashintset.add":"This method adds a new entry to the set","example-5121":"QuickHashIntSet::__construct example","quickhashintset.construct":"Creates a new QuickHashIntSet object","example-5122":"QuickHashIntSet::delete example","quickhashintset.delete":"This method deletes an entry from the set","example-5123":"QuickHashIntSet::exists example","quickhashintset.exists":"This method checks whether a key is part of the set","example-5124":"QuickHashIntSet::getSize example","quickhashintset.getsize":"Returns the number of elements in the set","example-5125":"QuickHashIntSet::loadFromFile example","quickhashintset.loadfromfile":"This factory method creates a set from a file","example-5126":"QuickHashIntSet::loadFromString example","quickhashintset.loadfromstring":"This factory method creates a set from a string","example-5127":"QuickHashIntSet::saveToFile example","quickhashintset.savetofile":"This method stores an in-memory set to disk","example-5128":"QuickHashIntSet::saveToString example","quickhashintset.savetostring":"This method returns a serialized version of the set","class.quickhashintset":"The QuickHashIntSet class","quickhashinthash.intro":"Introduction","quickhashinthash.synopsis":"Class synopsis","quickhashinthash.constants.check-for-dupes":"","quickhashinthash.constants.do-not-use-zend-alloc":"","quickhashinthash.constants.hasher-no-hash":"","quickhashinthash.constants.hasher-jenkins1":"","quickhashinthash.constants.hasher-jenkins2":"","quickhashinthash.constants":"Predefined Constants","example-5129":"QuickHashIntHash::add example","quickhashinthash.add":"This method adds a new entry to the hash","example-5130":"QuickHashIntHash::__construct example","quickhashinthash.construct":"Creates a new QuickHashIntHash object","example-5131":"QuickHashIntHash::delete example","quickhashinthash.delete":"This method deletes am entry from the hash","example-5132":"QuickHashIntHash::exists example","quickhashinthash.exists":"This method checks whether a key is part of the hash","example-5133":"QuickHashIntHash::get example","quickhashinthash.get":"This method retrieves a value from the hash by its key","example-5134":"QuickHashIntHash::getSize example","quickhashinthash.getsize":"Returns the number of elements in the hash","example-5135":"QuickHash IntHash file format","example-5136":"QuickHash IntHash file format","example-5137":"QuickHashIntHash::loadFromFile example","quickhashinthash.loadfromfile":"This factory method creates a hash from a file","example-5138":"QuickHashIntHash::loadFromString example","quickhashinthash.loadfromstring":"This factory method creates a hash from a string","example-5139":"QuickHashIntHash::saveToFile example","quickhashinthash.savetofile":"This method stores an in-memory hash to disk","example-5140":"QuickHashIntHash::saveToString example","quickhashinthash.savetostring":"This method returns a serialized version of the hash","example-5141":"QuickHashIntHash::set example","quickhashinthash.set":"This method updates an entry in the hash with a new value, or\n adds a new one if the entry doesn't exist","example-5142":"QuickHashIntHash::update example","quickhashinthash.update":"This method updates an entry in the hash with a new value","class.quickhashinthash":"The QuickHashIntHash class","quickhashstringinthash.intro":"Introduction","quickhashstringinthash.synopsis":"Class synopsis","quickhashstringinthash.constants.check-for-dupes":"","quickhashstringinthash.constants.do-not-use-zend-alloc":"","quickhashstringinthash.constants":"Predefined Constants","example-5143":"QuickHashStringIntHash::add example","quickhashstringinthash.add":"This method adds a new entry to the hash","example-5144":"QuickHashStringIntHash::__construct example","quickhashstringinthash.construct":"Creates a new QuickHashStringIntHash object","example-5145":"QuickHashStringIntHash::delete example","quickhashstringinthash.delete":"This method deletes am entry from the hash","quickhashstringinthash.exists":"This method checks whether a key is part of the hash","example-5146":"QuickHashStringIntHash::get example","quickhashstringinthash.get":"This method retrieves a value from the hash by its key","example-5147":"QuickHashStringIntHash::getSize example","quickhashstringinthash.getsize":"Returns the number of elements in the hash","example-5148":"QuickHash StringIntHash file format","example-5149":"QuickHash IntHash file format","example-5150":"QuickHashStringIntHash::loadFromFile example","quickhashstringinthash.loadfromfile":"This factory method creates a hash from a file","example-5151":"QuickHashStringIntHash::loadFromString example","quickhashstringinthash.loadfromstring":"This factory method creates a hash from a string","example-5152":"QuickHashStringIntHash::saveToFile example","quickhashstringinthash.savetofile":"This method stores an in-memory hash to disk","example-5153":"QuickHashStringIntHash::saveToString example","quickhashstringinthash.savetostring":"This method returns a serialized version of the hash","example-5154":"QuickHashStringIntHash::set example","quickhashstringinthash.set":"This method updates an entry in the hash with a new value, or\n adds a new one if the entry doesn't exist","example-5155":"QuickHashStringIntHash::update example","quickhashstringinthash.update":"This method updates an entry in the hash with a new value","class.quickhashstringinthash":"The QuickHashStringIntHash class","quickhashintstringhash.intro":"Introduction","quickhashintstringhash.synopsis":"Class synopsis","quickhashintstringhash.constants.check-for-dupes":"","quickhashintstringhash.constants.do-not-use-zend-alloc":"","quickhashintstringhash.constants.hasher-no-hash":"","quickhashintstringhash.constants.hasher-jenkins1":"","quickhashintstringhash.constants.hasher-jenkins2":"","quickhashintstringhash.constants":"Predefined Constants","example-5156":"QuickHashIntStringHash::add example","quickhashintstringhash.add":"This method adds a new entry to the hash","example-5157":"QuickHashIntStringHash::__construct example","quickhashintstringhash.construct":"Creates a new QuickHashIntStringHash object","example-5158":"QuickHashIntStringHash::delete example","quickhashintstringhash.delete":"This method deletes am entry from the hash","quickhashintstringhash.exists":"This method checks whether a key is part of the hash","example-5159":"QuickHashIntStringHash::get example","quickhashintstringhash.get":"This method retrieves a value from the hash by its key","example-5160":"QuickHashIntStringHash::getSize example","quickhashintstringhash.getsize":"Returns the number of elements in the hash","example-5161":"QuickHash IntString file format","example-5162":"QuickHash IntString file format","example-5163":"QuickHashIntStringHash::loadFromFile example","quickhashintstringhash.loadfromfile":"This factory method creates a hash from a file","example-5164":"QuickHashIntStringHash::loadFromString example","quickhashintstringhash.loadfromstring":"This factory method creates a hash from a string","example-5165":"QuickHashIntStringHash::saveToFile example","quickhashintstringhash.savetofile":"This method stores an in-memory hash to disk","example-5166":"QuickHashIntStringHash::saveToString example","quickhashintstringhash.savetostring":"This method returns a serialized version of the hash","example-5167":"QuickHashIntStringHash::set example","quickhashintstringhash.set":"This method updates an entry in the hash with a new value, or\n adds a new one if the entry doesn't exist","example-5168":"QuickHashIntStringHash::update example","quickhashintstringhash.update":"This method updates an entry in the hash with a new value","class.quickhashintstringhash":"The QuickHashIntStringHash class","book.quickhash":"Quickhash","intro.reflection":"Introduction","reflection.requirements":"Requirements","reflection.installation":"Installation","reflection.configuration":"Runtime Configuration","reflection.resources":"Resource Types","reflection.setup":"Installing\/Configuring","reflection.constants":"Predefined Constants","example-5169":"Reflection Example from Shell (a Terminal)","reflection.examples":"Examples","example-5170":"Extending the built-in classes","reflection.extending":"Extending","reflection.intro":"Introduction","reflection.synopsis":"Class synopsis","reflection.export":"Exports","reflection.getmodifiernames":"Gets modifier names","class.reflection":"The Reflection class","reflectionclass.intro":"Introduction","reflectionclass.synopsis":"Class synopsis","reflectionclass.props.name":"","reflectionclass.props":"Properties","reflectionclass.constants.is-implicit-abstract":"","reflectionclass.constants.is-explicit-abstract":"","reflectionclass.constants.is-final":"","reflectionclass.constants.modifiers":"ReflectionClass Modifiers","reflectionclass.constants":"Predefined Constants","example-5171":"Basic usage ReflectionClass","reflectionclass.construct":"Constructs a ReflectionClass","example-5172":"Basic usage of ReflectionClass::export","reflectionclass.export":"Exports a class","reflectionclass.getconstant":"Gets defined constant","reflectionclass.getconstants":"Gets constants","example-5173":"Basic usage of ReflectionClass::getConstructor","reflectionclass.getconstructor":"Gets the constructor of the class","example-5174":"ReflectionClass::getDefaultProperties example","reflectionclass.getdefaultproperties":"Gets default properties","example-5175":"ReflectionClass::getDocComment example","reflectionclass.getdoccomment":"Gets doc comments","example-5176":"ReflectionClass::getEndLine example","reflectionclass.getendline":"Gets end line","example-5177":"Basic usage of ReflectionClass::getExtension","reflectionclass.getextension":"Gets a ReflectionExtension object for the extension which defined the class","example-5178":"Basic usage of ReflectionClass::getExtensionName","reflectionclass.getextensionname":"Gets the name of the extension which defined the class","reflectionclass.getfilename":"Gets the filename of the file in which the class has been defined","example-5179":"ReflectionClass::getInterfaceNames example","reflectionclass.getinterfacenames":"Gets the interface names","example-5180":"ReflectionClass::getInterfaces example","reflectionclass.getinterfaces":"Gets the interfaces","example-5181":"Basic usage of ReflectionClass::getMethod","reflectionclass.getmethod":"Gets a ReflectionMethod for a class method.","example-5182":"Basic usage of ReflectionClass::getMethods","example-5183":"Filtering results from ReflectionClass::getMethods","reflectionclass.getmethods":"Gets an array of methods","reflectionclass.getmodifiers":"Gets modifiers","example-5184":"ReflectionClass::getName example","reflectionclass.getname":"Gets class name","example-5185":"ReflectionClass::getNamespaceName example","reflectionclass.getnamespacename":"Gets namespace name","reflectionclass.getparentclass":"Gets parent class","reflectionclass.getproperties.example.filter":"ReflectionClass::getProperties filtering example","reflectionclass.getproperties":"Gets properties","example-5187":"Basic usage of ReflectionClass::getProperty","reflectionclass.getproperty":"Gets a ReflectionProperty for a class's property","example-5188":"ReflectionClass::getShortName example","reflectionclass.getshortname":"Gets short name","reflectionclass.getstartline":"Gets starting line number","reflectionclass.getstaticproperties":"Gets static properties","example-5189":"Basic usage of ReflectionClass::getStaticPropertyValue","reflectionclass.getstaticpropertyvalue":"Gets static property value","reflectionclass.gettraitaliases":"Returns an array of trait aliases","reflectionclass.gettraitnames":"Returns an array of names of traits used by this class","reflectionclass.gettraits":"Returns an array of traits used by this class","example-5190":"ReflectionClass::hasConstant example","reflectionclass.hasconstant":"Checks if constant is defined","example-5191":"ReflectionClass::hasMethod example","reflectionclass.hasmethod":"Checks if method is defined","example-5192":"ReflectionClass::hasProperty example","reflectionclass.hasproperty":"Checks if property is defined","reflectionclass.implementsinterface":"Implements interface","example-5193":"ReflectionClass::inNamespace example","reflectionclass.innamespace":"Checks if in namespace","example-5194":"ReflectionClass::isAbstract example","reflectionclass.isabstract":"Checks if class is abstract","example-5195":"Basic usage of ReflectionClass::isCloneable","reflectionclass.iscloneable":"Returns whether this class is cloneable","example-5196":"ReflectionClass::isAbstract example","reflectionclass.isfinal":"Checks if class is final","example-5197":"ReflectionClass::isInstance related examples","reflectionclass.isinstance":"Checks class for instance","example-5198":"ReflectionClass::isInstantiable example","reflectionclass.isinstantiable":"Checks if the class is instantiable","example-5199":"Basic usage of ReflectionClass::isInterface","reflectionclass.isinterface":"Checks if the class is an interface","example-5200":"Basic usage of ReflectionClass::isInternal","reflectionclass.isinternal":"Checks if class is defined internally by an extension, or the core","example-5201":"ReflectionClass::isIterateable example","reflectionclass.isiterateable":"Checks if iterateable","reflectionclass.issubclassof":"Checks if a subclass","reflectionclass.istrait":"Returns whether this is a trait","reflectionclass.isuserdefined":"Checks if user defined","reflectionclass.newinstance":"Creates a new class instance from given arguments.","example-5202":"Basic usage of ReflectionClass::newInstanceArgs","reflectionclass.newinstanceargs":"Creates a new class instance from given arguments.","reflectionclass.newinstancewithoutconstructor":"Creates a new class instance without invoking the constructor.","reflectionclass.setstaticpropertyvalue":"Sets static property value","example-5203":"ReflectionClass::__toString example","reflectionclass.tostring":"Returns the string representation of the ReflectionClass object.","class.reflectionclass":"The ReflectionClass class","reflectionzendextension.intro":"Introduction","reflectionzendextension.synopsis":"Class synopsis","reflectionzendextension.props.name":"","reflectionzendextension.props":"Properties","reflectionzendextension.clone":"Clone handler","reflectionzendextension.construct":"Constructor","reflectionzendextension.export":"Export","reflectionzendextension.getauthor":"Gets author","reflectionzendextension.getcopyright":"Gets copyright","reflectionzendextension.getname":"Gets name","reflectionzendextension.geturl":"Gets URL","reflectionzendextension.getversion":"Gets version","reflectionzendextension.tostring":"To string handler","class.reflectionzendextension":"The ReflectionZendExtension class","reflectionextension.intro":"Introduction","reflectionextension.synopsis":"Class synopsis","reflectionextension.props.name":"","reflectionextension.props":"Properties","reflectionextension.clone":"Clones","example-5204":"ReflectionExtension example","reflectionextension.construct":"Constructs a ReflectionExtension","reflectionextension.export":"Export","example-5205":"ReflectionExtension::getClasses example","reflectionextension.getclasses":"Gets classes","example-5206":"ReflectionExtension::getClassNames example","reflectionextension.getclassnames":"Gets class names","example-5207":"ReflectionExtension::getConstants example","reflectionextension.getconstants":"Gets constants","example-5208":"ReflectionExtension::getDependencies example","reflectionextension.getdependencies":"Gets dependencies","example-5209":"ReflectionExtension::getFunctions example","reflectionextension.getfunctions":"Gets extension functions","example-5210":"ReflectionExtension::getINIEntries example","reflectionextension.getinientries":"Gets extension ini entries","example-5211":"ReflectionExtension::getName example","reflectionextension.getname":"Gets extension name","example-5212":"ReflectionExtension::getVersion example","reflectionextension.getversion":"Gets extension version","example-5213":"ReflectionExtension::info example","reflectionextension.info":"Print extension info","reflectionextension.ispersistent":"Returns whether this extension is persistent","reflectionextension.istemporary":"Returns whether this extension is temporary","reflectionextension.tostring":"To string","class.reflectionextension":"The ReflectionExtension class","reflectionfunction.intro":"Introduction","reflectionfunction.synopsis":"Class synopsis","reflectionfunction.props.name":"","reflectionfunction.props":"Properties","reflectionfunction.constants.is-deprecated":"","reflectionfunction.constants.modifiers":"ReflectionFunction Modifiers","reflectionfunction.constants":"Predefined Constants","example-5214":"ReflectionFunction::__construct example","reflectionfunction.construct":"Constructs a ReflectionFunction object","reflectionfunction.export":"Exports function","reflectionfunction.getclosure":"Returns a dynamically created closure for the function","example-5215":"ReflectionFunction::invoke example","reflectionfunction.invoke":"Invokes function","example-5216":"ReflectionFunction::invokeArgs example","example-5217":"ReflectionFunction::invokeArgs with references example","reflectionfunction.invokeargs":"Invokes function args","reflectionfunction.isdisabled":"Checks if function is disabled","example-5218":"ReflectionFunction::__toString example","reflectionfunction.tostring":"To string","class.reflectionfunction":"The ReflectionFunction class","reflectionfunctionabstract.intro":"Introduction","reflectionfunctionabstract.synopsis":"Class synopsis","reflectionfunctionabstract.props.name":"","reflectionfunctionabstract.props":"Properties","reflectionfunctionabstract.clone":"Clones function","reflectionfunctionabstract.getclosurescopeclass":"Returns the scope associated to the closure","reflectionfunctionabstract.getclosurethis":"Returns this pointer bound to closure","reflectionfunctionabstract.getdoccomment":"Gets doc comment","reflectionfunctionabstract.getendline":"Gets end line number","reflectionfunctionabstract.getextension":"Gets extension info","reflectionfunctionabstract.getextensionname":"Gets extension name","reflectionfunctionabstract.getfilename":"Gets file name","reflectionfunctionabstract.getname":"Gets function name","reflectionfunctionabstract.getnamespacename":"Gets namespace name","reflectionfunctionabstract.getnumberofparameters":"Gets number of parameters","reflectionfunctionabstract.getnumberofrequiredparameters":"Gets number of required parameters","reflectionfunctionabstract.getparameters":"Gets parameters","reflectionfunctionabstract.getshortname":"Gets function short name","reflectionfunctionabstract.getstartline":"Gets starting line number","reflectionfunctionabstract.getstaticvariables":"Gets static variables","reflectionfunctionabstract.innamespace":"Checks if function in namespace","reflectionfunctionabstract.isclosure":"Checks if closure","example-5219":"ReflectionFunctionAbstract::isDeprecated example","reflectionfunctionabstract.isdeprecated":"Checks if deprecated","reflectionfunctionabstract.isgenerator":"Returns whether this function is a generator","reflectionfunctionabstract.isinternal":"Checks if is internal","reflectionfunctionabstract.isuserdefined":"Checks if user defined","reflectionfunctionabstract.returnsreference":"Checks if returns reference","reflectionfunctionabstract.tostring":"To string","class.reflectionfunctionabstract":"The ReflectionFunctionAbstract class","reflectionmethod.intro":"Introduction","reflectionmethod.synopsis":"Class synopsis","reflectionmethod.props.name":"","reflectionmethod.props.class":"","reflectionmethod.props":"Properties","reflectionmethod.constants.is-static":"","reflectionmethod.constants.is-public":"","reflectionmethod.constants.is-protected":"","reflectionmethod.constants.is-private":"","reflectionmethod.constants.is-abstract":"","reflectionmethod.constants.is-final":"","reflectionmethod.constants.modifiers":"ReflectionMethod Modifiers","reflectionmethod.constants":"Predefined Constants","example-5220":"ReflectionMethod::__construct example","reflectionmethod.construct":"Constructs a ReflectionMethod","reflectionmethod.export":"Export a reflection method.","reflectionmethod.getclosure":"Returns a dynamically created closure for the method","example-5221":"ReflectionMethod::getDeclaringClass example","reflectionmethod.getdeclaringclass":"Gets declaring class for the reflected method.","example-5222":"ReflectionMethod::getModifiers example","reflectionmethod.getmodifiers":"Gets the method modifiers","example-5223":"ReflectionMethod::getPrototype example","reflectionmethod.getprototype":"Gets the method prototype (if there is one).","example-5224":"ReflectionMethod::invoke example","reflectionmethod.invoke":"Invoke","example-5225":"ReflectionMethod::invokeArgs example","reflectionmethod.invokeargs":"Invoke args","reflectionmethod.isabstract":"Checks if method is abstract","reflectionmethod.isconstructor":"Checks if method is a constructor","reflectionmethod.isdestructor":"Checks if method is a destructor","reflectionmethod.isfinal":"Checks if method is final","reflectionmethod.isprivate":"Checks if method is private","reflectionmethod.isprotected":"Checks if method is protected","reflectionmethod.ispublic":"Checks if method is public","reflectionmethod.isstatic":"Checks if method is static","reflectionmethod.setaccessible":"Set method accessibility","example-5226":"ReflectionMethod::__toString example","reflectionmethod.tostring":"Returns the string representation of the Reflection method object.","class.reflectionmethod":"The ReflectionMethod class","reflectionobject.intro":"Introduction","reflectionobject.synopsis":"Class synopsis","reflectionobject.props.name":"","reflectionobject.props":"Properties","reflectionobject.construct":"Constructs a ReflectionObject","reflectionobject.export":"Export","class.reflectionobject":"The ReflectionObject class","reflectionparameter.intro":"Introduction","reflectionparameter.synopsis":"Class synopsis","reflectionparameter.props.name":"","reflectionparameter.props":"Properties","reflectionparameter.allowsnull":"Checks if null is allowed","reflectionparameter.canbepassedbyvalue":"Returns whether this parameter can be passed by value","reflectionparameter.clone":"Clone","example-5227":"Using the ReflectionParameter class","reflectionparameter.construct":"Construct","reflectionparameter.export":"Exports","reflectionparameter.getclass":"Get class","reflectionparameter.getdeclaringclass":"Gets declaring class","reflectionparameter.getdeclaringfunction":"Gets declaring function","example-5228":"Getting","reflectionparameter.getdefaultvalue":"Gets default parameter value","reflectionparameter.getdefaultvalueconstantname":"Returns the default value's constant name if default value is constant or null","reflectionparameter.getname":"Gets parameter name","reflectionparameter.getposition":"Gets parameter position","reflectionparameter.isarray":"Checks if parameter expects an array","reflectionparameter.iscallable":"Returns whether parameter MUST be callable","reflectionparameter.isdefaultvalueavailable":"Checks if a default value is available","reflectionparameter.isdefaultvalueconstant":"Returns whether the default value of this parameter is constant","reflectionparameter.isoptional":"Checks if optional","reflectionparameter.ispassedbyreference":"Checks if passed by reference","reflectionparameter.tostring":"To string","class.reflectionparameter":"The ReflectionParameter class","reflectionproperty.intro":"Introduction","reflectionproperty.synopsis":"Class synopsis","reflectionproperty.props.name":"","reflectionproperty.props.class":"","reflectionproperty.props":"Properties","reflectionproperty.constants.is-static":"","reflectionproperty.constants.is-public":"","reflectionproperty.constants.is-protected":"","reflectionproperty.constants.is-private":"","reflectionproperty.constants.modifiers":"ReflectionProperty Modifiers","reflectionproperty.constants":"Predefined Constants","reflectionproperty.clone":"Clone","example-5229":"ReflectionProperty::__construct example","example-5230":"Getting value from private and protected properties using ReflectionProperty class","reflectionproperty.construct":"Construct a ReflectionProperty object","reflectionproperty.export":"Export","reflectionproperty.getdeclaringclass":"Gets declaring class","reflectionproperty.getdoccomment":"Gets doc comment","reflectionproperty.getmodifiers":"Gets modifiers","reflectionproperty.getname":"Gets property name","example-5231":"ReflectionProperty::getValue example","reflectionproperty.getvalue":"Gets value","reflectionproperty.isdefault":"Checks if default value","reflectionproperty.isprivate":"Checks if property is private","reflectionproperty.isprotected":"Checks if property is protected","reflectionproperty.ispublic":"Checks if property is public","reflectionproperty.isstatic":"Checks if property is static","reflectionproperty.setaccessible":"Set property accessibility","example-5232":"ReflectionProperty::setValue example","reflectionproperty.setvalue":"Set property value","reflectionproperty.tostring":"To string","class.reflectionproperty":"The ReflectionProperty class","reflector.intro":"Introduction","reflector.synopsis":"Class synopsis","reflector.export":"Exports","reflector.tostring":"To string","class.reflector":"The Reflector interface","reflectionexception.intro":"Introduction","reflectionexception.synopsis":"Class synopsis","class.reflectionexception":"The ReflectionException class","book.reflection":"Reflection","intro.var":"Introduction","var.requirements":"Requirements","var.installation":"Installation","unserialize-callback-func":"","var.configuration":"Runtime Configuration","var.resources":"Resource Types","var.setup":"Installing\/Configuring","var.constants":"Predefined Constants","example-5233":"boolval examples","function.boolval":"Get the boolean value of a variable","example-5234":"debug_zval_dump example","example-5235":"","example-5236":"","function.debug-zval-dump":"Dumps a string representation of an internal zend value to output","function.doubleval":"Alias of floatval","example-5237":"A simple empty \/ isset\n comparison.","example-5238":"empty on String Offsets","function.empty":"Determine whether a variable is empty","example-5239":"floatval Example","function.floatval":"Get float value of a variable","example-5240":"get_defined_vars Example","function.get-defined-vars":"Returns an array of all defined variables","example-5241":"get_resource_type example","function.get-resource-type":"Returns the resource type","example-5242":"gettype example","function.gettype":"Get the type of a variable","example-5243":"import_request_variables example","function.import-request-variables":"Import GET\/POST\/Cookie variables into the global scope","example-5244":"intval examples","function.intval":"Get the integer value of a variable","example-5245":"Check that variable is an array","function.is-array":"Finds whether a variable is an array","example-5246":"is_bool examples","function.is-bool":"Finds out whether a variable is a boolean","example-5247":"is_callable example","function.is-callable":"Verify that the contents of a variable can be called as a function","function.is-double":"Alias of is_float","example-5248":"is_float example","function.is-float":"Finds whether the type of a variable is float","example-5249":"is_int example","function.is-int":"Find whether the type of a variable is integer","function.is-integer":"Alias of is_int","function.is-long":"Alias of is_int","example-5250":"is_null example","function.is-null":"Finds whether a variable is NULL","example-5251":"is_numeric examples","function.is-numeric":"Finds whether a variable is a number or a numeric string","example-5252":"is_object example","function.is-object":"Finds whether a variable is an object","function.is-real":"Alias of is_float","example-5253":"is_resource example","function.is-resource":"Finds whether a variable is a resource","example-5254":"is_scalar example","function.is-scalar":"Finds whether a variable is a scalar","example-5255":"is_string example","function.is-string":"Find whether the type of a variable is string","example-5256":"isset Examples","example-5257":"isset on String Offsets","function.isset":"Determine if a variable is set and is not NULL","example-5258":"print_r example","example-5259":"return parameter example","function.print-r":"Prints human-readable information about a variable","example-5260":"serialize example","function.serialize":"Generates a storable representation of a value","example-5261":"settype example","function.settype":"Set the type of a variable","example-5262":"strval example using PHP 5's magic\n __toString() method.","function.strval":"Get string value of a variable","example-5263":"unserialize example","example-5264":"unserialize_callback_func example","function.unserialize":"Creates a PHP value from a stored representation","example-5265":"unset example","example-5266":"Using (unset) casting","function.unset":"Unset a given variable","example-5267":"var_dump example","function.var-dump":"Dumps information about a variable","example-5268":"var_export Examples","example-5269":"Exporting classes since PHP 5.1.0","example-5270":"Using __set_state() (since PHP 5.1.0)","function.var-export":"Outputs or returns a parsable string representation of a variable","ref.var":"Variable handling Functions","book.var":"Variable handling","refs.basic.vartype":"Variable and Type Related Extensions","intro.oauth":"Introduction","oauth.requirements":"Requirements","oauth.installation":"Installation","oauth.configuration":"Runtime Configuration","oauth.resources":"Resource Types","oauth.setup":"Installing\/Configuring","constant.oauth-sig-method-rsasha1":"","constant.oauth-sig-method-hmacsha1":"","constant.oauth-sig-method-hmacsha256":"","constant.oauth-auth-type-authorization":"","constant.oauth-auth-type-none":"","constant.oauth-auth-type-uri":"","constant.oauth-auth-type-form":"","constant.oauth-http-method-get":"","constant.oauth-http-method-post":"","constant.oauth-http-method-put":"","constant.oauth-http-method-head":"","constant.oauth-http-method-delete":"","constant.oauth-reqengine-streams":"","constant.oauth-reqengine-curl":"","constant.oauth-ok":"","constant.oauth-bad-nonce":"","constant.oauth-bad-timestamp":"","constant.oauth-consumer-key-unknown":"","constant.oauth-consumer-key-refused":"","constant.oauth-invalid-signature":"","constant.oauth-token-used":"","constant.oauth-token-expired":"","constant.oauth-token-revoked":"","constant.oauth-token-rejected":"","constant.oauth-verifier-invalid":"","constant.oauth-parameter-absent":"","constant.oauth-signature-method-rejected":"","oauth.constants":"Predefined Constants","oauth.examples.fireeagle.location":"","example-5271":"","oauth.examples.fireeagle":"FireEagle","oauth.examples":"Examples","function.oauth-get-sbs":"Generate a Signature Base String","function.oauth-urlencode":"Encode a URI to RFC 3986","ref.oauth":"OAuth Functions","oauth.intro":"Introduction","oauth.synopsis":"Class synopsis","oauth.props.debug":"","oauth.props.sslchecks":"","oauth.props.debuginfo":"","oauth.props":"Properties","oauth.construct":"Create a new OAuth object","oauth.destruct":"The destructor","oauth.disabledebug":"Turn off verbose debugging","oauth.disableredirects":"Turn off redirects","oauth.disablesslchecks":"Turn off SSL checks","oauth.enabledebug":"Turn on verbose debugging","oauth.enableredirects":"Turn on redirects","oauth.enablesslchecks":"Turn on SSL checks","example-5272":"OAuth::fetch example","oauth.fetch":"Fetch an OAuth protected resource","oauth.generatesignature":"Generate a signature","example-5273":"OAuth::getAccessToken example","oauth.getaccesstoken":"Fetch an access token","oauth.getcapath":"Gets CA information","oauth.getlastresponse":"Get the last response","oauth.getlastresponseheaders":"Get headers for last response","oauth.getlastresponseinfo":"Get HTTP information about the last response","oauth.getrequestheader":"Generate OAuth header string signature","example-5274":"OAuth::getRequestToken example","oauth.getrequesttoken":"Fetch a request token","oauth.setauthtype":"Set authorization type","oauth.setcapath":"Set CA path and info","oauth.setnonce":"Set the nonce for subsequent requests","example-5275":"OAuth::setRequestEngine example","oauth.setrequestengine":"The setRequestEngine purpose","oauth.setrsacertificate.example":"An OAuth::setRsaCertificate example","oauth.setrsacertificate":"Set the RSA certificate","oauth.setsslchecks":"Tweak specific SSL checks for requests.","oauth.settimestamp":"Set the timestamp","example-5277":"OAuth::setToken example","oauth.settoken":"Sets the token and secret","oauth.setversion":"Set the OAuth version","class.oauth":"The OAuth class","oauthprovider.intro":"Introduction","oauthprovider.synopsis":"Class synopsis","oauthprovider.addrequiredparameter":"Add required parameters","oauthprovider.callconsumerhandler":"Calls the consumerNonceHandler callback","oauthprovider.calltimestampnoncehandler":"Calls the timestampNonceHandler callback","oauthprovider.calltokenhandler":"Calls the tokenNonceHandler callback","oauthprovider.checkoauthrequest":"Check an oauth request","example-5278":"OAuthProvider::__construct example","oauthprovider.construct":"Constructs a new OAuthProvider object","example-5279":"Example OAuthProvider::consumerHandler callback","oauthprovider.consumerhandler":"Set the consumerHandler handler callback","example-5280":"OAuthProvider::generateToken example","oauthprovider.generatetoken":"Generate a random token","example-5281":"OAuthProvider::is2LeggedEndpoint example","oauthprovider.is2leggedendpoint":"is2LeggedEndpoint","oauthprovider.isrequesttokenendpoint":"Sets isRequestTokenEndpoint","oauthprovider.removerequiredparameter":"Remove a required parameter","oauthprovider.reportproblem":"Report a problem","oauthprovider.setparam":"Set a parameter","oauthprovider.setrequesttokenpath":"Set request token path","example-5282":"Example OAuthProvider::timestampNonceHandler callback","oauthprovider.timestampnoncehandler":"Set the timestampNonceHandler handler callback","example-5283":"Example OAuthProvider::tokenHandler callback","oauthprovider.tokenhandler":"Set the tokenHandler handler callback","class.oauthprovider":"The OAuthProvider class","oauthexception.intro":"Introduction","oauthexception.synopsis":"Class synopsis","oauthexception.props.lastresponse":"","oauthexception.props.debuginfo":"","oauthexception.props":"Properties","class.oauthexception":"OAuthException class","book.oauth":"OAuth","example-5284":"A sample SCA component","intro.sca":"Introduction","sca.requirements":"Requirements","sca.installation":"Installation","sca.configuration":"Runtime Configuration","sca.resources":"Resource Types","sca.setup":"Installing\/Configuring","sca.constants":"Predefined Constants","example-5285":"The structure of an SCA for PHP component","sca.examples.structure":"The structure of a Service Component","example-5286":"Obtaining a proxy for a local PHP class","example-5287":"Obtaining a proxy for a web service","sca.examples.proxies":"Obtaining a proxy for another Service Component","example-5288":"Calling services","sca.examples.calling":"Calling another Service Component","example-5289":"Obtaining a proxy using getService","example-5290":"Making calls on the proxy","sca.examples.nonscascript":"Locating and calling services from a script which is not an\n SCA Component","example-5291":"StockQuote Service","example-5292":"Generated WSDL","sca.examples.exposing-webservice":"Exposing a Service Component as a Web service","sca.examples.deploy":"Deploying an SCA component","example-5293":"Generated WSDL","sca.examples.obtaining-wsdl":"Obtaining the WSDL for an SCA component offering a Service as\n a Web service","example-5294":"location attribute","sca.examples.understanding-wsdl.location":"Location attribute of the <service> element","example-5295":"method with two arguments","example-5296":"types section illustrating named parameters","sca.examples.understanding-wsdl.positional-parameters":"Document\/literal wrapped WSDL and positional\n parameters","sca.examples.understanding-wsdl":"Understanding how the WSDL is generated","example-5297":"A Component that uses Data Structures","sca.examples.structures.defined":"How data structures are defined to SCA components","sca.examples.structures.creating":"Creating SDOs","sca.examples.structures.services":"Creating an SDO to pass to a service","sca.examples.structures.services.returning":"Creating an SDO to return from a component","sca.examples.structures":"Working with Data Structures","sca.examples.errorhandling.runtime":"Handling of Runtime exceptions","sca.examples.errorhandlilng.business":"Handling of Business exceptions","sca.examples.errorhandling":"Error handling","sca.examples":"Examples","class.sca":"SCA","class.sca-localproxy":"SCA_LocalProxy","class.sca-soapproxy":"SCA_SoapProxy","sca.classes":"Predefined Classes","sca.createdataobject":"create an SDO","example-5298":"An SCA::getService example","sca.getservice":"Obtain a proxy for a service","sca-localproxy.createdataobject":"create an SDO","sca-soapproxy.createdataobject":"create an SDO","ref.sca":"SCA Functions","book.sca":"SCA","intro.soap":"Introduction","soap.requirements":"Requirements","soap.installation":"Installation","ini.soap.wsdl-cache-enabled":"","ini.soap.wsdl-cache-dir":"","ini.soap.wsdl-cache-ttl":"","ini.soap.wsdl-cache":"","ini.soap.wsdl-cache-limit":"","soap.configuration":"Runtime Configuration","soap.resources":"Resource Types","soap.setup":"Installing\/Configuring","soap.constants":"Predefined Constants","example-5299":"is_soap_fault example","example-5300":"SOAP's standard method for error reporting is exceptions","function.is-soap-fault":"Checks if a SOAP call has failed","function.use-soap-error-handler":"Set whether to use the SOAP error handler","ref.soap":"SOAP Functions","soapclient.intro":"Introduction","soapclient.synopsis":"Class synopsis","soapclient.call":"Calls a SOAP function (deprecated)","soapclient.construct":"SoapClient constructor","example-5301":"SoapClient::__doRequest example","soapclient.dorequest":"Performs a SOAP request","example-5302":"SoapClient::__getFunctions example","soapclient.getfunctions":"Returns list of available SOAP functions","example-5303":"SoapClient::__getLastRequest() example","soapclient.getlastrequest":"Returns last SOAP request","example-5304":"SoapClient::__getLastRequest() example","soapclient.getlastrequestheaders":"Returns the SOAP headers from the last request","example-5305":"SoapClient::__getLastResponse() example","soapclient.getlastresponse":"Returns last SOAP response","example-5306":"SoapClient::__getLastResponse() example","soapclient.getlastresponseheaders":"Returns the SOAP headers from the last response","example-5307":"SoapClient::__getTypes example","soapclient.gettypes":"Returns a list of SOAP types","soapclient.setcookie":"The __setCookie purpose","example-5308":"SoapClient::__setLocation example","soapclient.setlocation":"Sets the location of the Web service to use","example-5309":"SoapClient::__setSoapHeaders example","example-5310":"Set Multiple Headers","soapclient.setsoapheaders":"Sets SOAP headers for subsequent calls","example-5311":"SoapClient::__soapCall example","soapclient.soapcall":"Calls a SOAP function","example-5312":"SoapClient::SoapClient example","soapclient.soapclient":"SoapClient constructor","class.soapclient":"The SoapClient class","soapserver.intro":"Introduction","soapserver.synopsis":"Class synopsis","example-5313":"SoapServer::addFunction example","soapserver.addfunction":"Adds one or more functions to handle SOAP requests","soapserver.addsoapheader":"Add a SOAP header to the response","soapserver.construct":"SoapServer constructor","soapserver.fault":"Issue SoapServer fault indicating an error","example-5314":"SoapServer::getFunctions example","soapserver.getfunctions":"Returns list of defined functions","example-5315":"SoapServer::handle example","soapserver.handle":"Handles a SOAP request","soapserver.setclass":"Sets the class which handles SOAP requests","soapserver.setobject":"Sets the object which will be used to handle SOAP requests","example-5316":"SoapServer::setPersistence example","soapserver.setpersistence":"Sets SoapServer persistence mode","example-5317":"SoapServer::SoapServer example","soapserver.soapserver":"SoapServer constructor","class.soapserver":"The SoapServer class","soapfault.intro":"Introduction","soapfault.synopsis":"Class synopsis","soapfault.construct":"SoapFault constructor","example-5318":"Some examples","example-5319":"Some examples","soapfault.soapfault":"SoapFault constructor","soapfault.tostring":"Obtain a string representation of a SoapFault","class.soapfault":"The SoapFault class","soapheader.intro":"Introduction","soapheader.synopsis":"Class synopsis","soapheader.construct":"SoapHeader constructor","example-5320":"SoapHeader::SoapHeader example","soapheader.soapheader":"SoapHeader constructor","class.soapheader":"The SoapHeader class","soapparam.intro":"Introduction","soapparam.synopsis":"Class synopsis","soapparam.construct":"SoapParam constructor","example-5321":"SoapParam::SoapParam example","soapparam.soapparam":"SoapParam constructor","class.soapparam":"The SoapParam class","soapvar.intro":"Introduction","soapvar.synopsis":"Class synopsis","soapvar.construct":"SoapVar constructor","example-5322":"SoapVar::SoapVar example","soapvar.soapvar":"SoapVar constructor","class.soapvar":"The SoapVar class","book.soap":"SOAP","intro.xmlrpc":"Introduction","xmlrpc.requirements":"Requirements","xmlrpc.installation":"Installation","xmlrpc.configuration":"Runtime Configuration","xmlrpc.resources":"Resource Types","xmlrpc.setup":"Installing\/Configuring","xmlrpc.constants":"Predefined Constants","function.xmlrpc-decode-request":"Decodes XML into native PHP types","function.xmlrpc-decode":"Decodes XML into native PHP types","example-5323":"XMLRPC client functions example","function.xmlrpc-encode-request":"Generates XML for a method request","function.xmlrpc-encode":"Generates XML for a PHP value","example-5324":"XML-RPC type example","function.xmlrpc-get-type":"Gets xmlrpc type for a PHP value","function.xmlrpc-is-fault":"Determines if an array value represents an XMLRPC fault","function.xmlrpc-parse-method-descriptions":"Decodes XML into a list of method descriptions","function.xmlrpc-server-add-introspection-data":"Adds introspection documentation","function.xmlrpc-server-call-method":"Parses XML requests and call methods","function.xmlrpc-server-create":"Creates an xmlrpc server","function.xmlrpc-server-destroy":"Destroys server resources","function.xmlrpc-server-register-introspection-callback":"Register a PHP function to generate documentation","function.xmlrpc-server-register-method":"Register a PHP function to resource method matching method_name","example-5325":"A xmlrpc_set_type example","function.xmlrpc-set-type":"Sets xmlrpc type, base64 or datetime, for a PHP string value","ref.xmlrpc":"XML-RPC Functions","book.xmlrpc":"XML-RPC","refs.webservice":"Web Services","dotnet.intro":"Introduction","dotnet.requirements":"Requirements","dotnet.installation":"Installation","dotnet.configuration":"Runtime Configuration","dotnet.resources":"Resource Types","dotnet.setup":"Installing\/Configuring","dotnet.constants":"Predefined Constants","function.dotnet-load":"Loads a DOTNET module","ref.dotnet":".NET Functions","book.dotnet":".NET","intro.com":"Introduction","com.requirements":"Requirements","com.installation":"Installation","ini.com.allow-dcom":"","ini.com.autoregister-typelib":"","ini.com.autoregister-verbose":"","ini.com.autoregister-casesensitive":"","ini.com.code-page":"","ini.com.typelib-file":"","com.configuration":"Runtime Configuration","com.resources":"Resource Types","com.setup":"Installing\/Configuring","com.constants":"Predefined Constants","com.error-handling":"Errors and error handling","example-5326":"For Each in ASP","example-5327":"while() ... Next() in PHP 4","example-5328":"foreach in PHP 5","com.examples.foreach":"For Each","com.examples.arrays":"Arrays and Array-style COM properties","com.examples":"Examples","class.com.class":"Description","com.com":"Methods","class.com.overloadedmethods":"Overloaded Methods","com.addref":"","com.release":"","class.com.falsemethods":"Pseudo Methods","com.all":"","com.next":"","com.prev":"","com.reset":"","class.com.iteratormethods":"Pseudo Methods for Iterating","example.com1":"COM example (1)","example.com2":"COM example (2)","class.com.examples":"COM examples","class.com":"The COM class","class.dotnet.class":"Description","example.dotnet":"DOTNET example","dotnet.dotnet":"Methods","class.dotnet":"The DOTNET class","class.variant.class":"Description","com.variant.example.php4":"Variant example, PHP 4.x style","com.variant.example.php5":"Variant example, PHP 5 style","variant.variant":"Methods","class.variant":"VARIANT class","com.seealso":"See Also","function.com-addref":"Increases the components reference counter [deprecated]","function.com-create-guid":"Generate a globally unique identifier (GUID)","example-5334":"COM event sink example","function.com-event-sink":"Connect events from a COM object to a PHP object","function.com-get-active-object":"Returns a handle to an already running instance of a COM object","example-5335":"OO syntax","function.com-get":"Gets the value of a COM Component's property [deprecated]","example-5336":"Don't use com_invoke(), use OO syntax instead","function.com-invoke":"Calls a COM component's method [deprecated]","function.com-isenum":"Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]","function.com-load-typelib":"Loads a Typelib","example-5337":"OO syntax","function.com-load":"Creates a new reference to a COM component [deprecated]","function.com-message-pump":"Process COM messages, sleeping for up to timeoutms milliseconds","function.com-print-typeinfo":"Print out a PHP class definition for a dispatchable interface","function.com-propget":"Alias of com_get","function.com-propput":"Alias of com_set","function.com-propset":"Alias of com_set","function.com-release":"Decreases the components reference counter [deprecated]","example-5338":"OO syntax","function.com-set":"Assigns a value to a COM component's property","function.variant-abs":"Returns the absolute value of a variant","function.variant-add":""Adds" two variant values together and returns the result","function.variant-and":"Performs a bitwise AND operation between two variants","function.variant-cast":"Convert a variant into a new variant object of another type","function.variant-cat":"concatenates two variant values together and returns the result","function.variant-cmp":"Compares two variants","function.variant-date-from-timestamp":"Returns a variant date representation of a Unix timestamp","function.variant-date-to-timestamp":"Converts a variant date\/time value to Unix timestamp","function.variant-div":"Returns the result from dividing two variants","function.variant-eqv":"Performs a bitwise equivalence on two variants","function.variant-fix":"Returns the integer portion of a variant","function.variant-get-type":"Returns the type of a variant object","function.variant-idiv":"Converts variants to integers and then returns the result from dividing them","function.variant-imp":"Performs a bitwise implication on two variants","function.variant-int":"Returns the integer portion of a variant","function.variant-mod":"Divides two variants and returns only the remainder","function.variant-mul":"Multiplies the values of the two variants","function.variant-neg":"Performs logical negation on a variant","function.variant-not":"Performs bitwise not negation on a variant","function.variant-or":"Performs a logical disjunction on two variants","function.variant-pow":"Returns the result of performing the power function with two variants","function.variant-round":"Rounds a variant to the specified number of decimal places","function.variant-set-type":"Convert a variant into another type "in-place"","function.variant-set":"Assigns a new value for a variant object","function.variant-sub":"Subtracts the value of the right variant from the left variant value","function.variant-xor":"Performs a logical exclusion on two variants","ref.com":"COM Functions","book.com":"COM and .Net (Windows)","intro.printer":"Introduction","printer.requirements":"Requirements","printer.installation":"Installation","printer.configuration":"Runtime Configuration","printer.resources":"Resource Types","printer.setup":"Installing\/Configuring","constant.printer-copies":"","constant.printer-mode":"","constant.printer-title":"","constant.printer-devicename":"","constant.printer-driverversion":"","constant.printer-output-file":"","constant.printer-resolution-y":"","constant.printer-resolution-x":"","constant.printer-scale":"","constant.printer-background-color":"","constant.printer-paper-length":"","constant.printer-paper-width":"","constant.printer-paper-format":"","constant.printer-format-custom":"","constant.printer-format-letter":"","constant.printer-format-legal":"","constant.printer-format-a3":"","constant.printer-format-a4":"","constant.printer-format-a5":"","constant.printer-format-b4":"","constant.printer-format-b5":"","constant.printer-format-folio":"","constant.printer-orientation":"","constant.printer-orientation-portrait":"","constant.printer-orientation-landscape":"","constant.printer-text-color":"","constant.printer-text-align":"","constant.printer-ta-baseline":"","constant.printer-ta-bottom":"","constant.printer-ta-top":"","constant.printer-ta-center":"","constant.printer-ta-left":"","constant.printer-ta-right":"","constant.printer-pen-solid":"","constant.printer-pen-dash":"","constant.printer-pen-dot":"","constant.printer-pen-dashdot":"","constant.printer-pen-dashdotdot":"","constant.printer-pen-invisible":"","constant.printer-brush-solid":"","constant.printer-brush-custom":"","constant.printer-brush-diagonal":"","constant.printer-brush-cross":"","constant.printer-brush-diagcross":"","constant.printer-brush-fdiagonal":"","constant.printer-brush-horizontal":"","constant.printer-brush-vertical":"","constant.printer-fw-thin":"","constant.printer-fw-ultralight":"","constant.printer-fw-light":"","constant.printer-fw-normal":"","constant.printer-fw-medium":"","constant.printer-fw-bold":"","constant.printer-fw-ultrabold":"","constant.printer-fw-heavy":"","constant.printer-enum-local":"","constant.printer-enum-name":"","constant.printer-enum-shared":"","constant.printer-enum-default":"","constant.printer-enum-connections":"","constant.printer-enum-network":"","constant.printer-enum-remote":"","printer.constants":"Predefined Constants","example-5339":"printer_abort example","function.printer-abort":"Deletes the printer's spool file","example-5340":"printer_close example","function.printer-close":"Close an open printer connection","function.printer-create-brush":"Create a new brush","example-5341":"printer_create_dc example","function.printer-create-dc":"Create a new device context","function.printer-create-font":"Create a new font","function.printer-create-pen":"Create a new pen","function.printer-delete-brush":"Delete a brush","function.printer-delete-dc":"Delete a device context","function.printer-delete-font":"Delete a font","function.printer-delete-pen":"Delete a pen","example-5342":"printer_draw_bmp example","function.printer-draw-bmp":"Draw a bmp","example-5343":"printer_draw_chord example","function.printer-draw-chord":"Draw a chord","example-5344":"printer_draw_elipse example","function.printer-draw-elipse":"Draw an ellipse","example-5345":"printer_draw_line example","function.printer-draw-line":"Draw a line","example-5346":"printer_draw_pie example","function.printer-draw-pie":"Draw a pie","example-5347":"printer_draw_rectangle example","function.printer-draw-rectangle":"Draw a rectangle","example-5348":"printer_draw_roundrect example","function.printer-draw-roundrect":"Draw a rectangle with rounded corners","example-5349":"printer_draw_text example","function.printer-draw-text":"Draw text","function.printer-end-doc":"Close document","function.printer-end-page":"Close active page","example-5350":"printer_get_option example","function.printer-get-option":"Retrieve printer configuration data","example-5351":"printer_list example","function.printer-list":"Return an array of printers attached to the server","example-5352":"printer_logical_fontheight example","function.printer-logical-fontheight":"Get logical font height","example-5353":"printer_open example","function.printer-open":"Opens a connection to a printer","example-5354":"printer_select_brush example","function.printer-select-brush":"Select a brush","example-5355":"printer_select_font example","function.printer-select-font":"Select a font","example-5356":"printer_select_pen example","function.printer-select-pen":"Select a pen","example-5357":"printer_set_option example","function.printer-set-option":"Configure the printer connection","example-5358":"printer_start_doc example","function.printer-start-doc":"Start a new document","function.printer-start-page":"Start a new page","example-5359":"printer_write example","function.printer-write":"Write data to the printer","ref.printer":"Printer Functions","book.printer":"Printer","intro.w32api":"Introduction","w32api.requirements":"Requirements","w32api.installation":"Installation","w32api.configuration":"Runtime Configuration","w32api.resources":"Resource Types","w32api.setup":"Installing\/Configuring","constant.dc-microsoft":"","constant.dc-borland":"","constant.dc-call-cdecl":"","constant.dc-call-std":"","constant.dc-retval-math4":"","constant.dc-retval-math8":"","constant.dc-call-std-bo":"","constant.dc-call-std-ms":"","constant.dc-call-std-m8":"","constant.dc-flag-argptr":"","w32api.constants":"Predefined Constants","example-5360":"Get the uptime and display it in a message box","w32api.examples-uptime":"w32api examples","w32api.examples":"Examples","function.w32api-deftype":"Defines a type for use with other w32api_functions","function.w32api-init-dtype":"Creates an instance of the data type typename and fills it with the values passed","function.w32api-invoke-function":"Invokes function funcname with the arguments passed after the function name","function.w32api-register-function":"Registers function function_name from library with PHP","function.w32api-set-call-method":"Sets the calling method used","ref.w32api":"W32api Functions","book.w32api":"W32api","intro.win32ps":"Introduction","win32ps.requirements":"Requirements","win32ps.installation":"Installation","win32ps.configuration":"Runtime Configuration","win32ps.resources":"Resource Types","win32ps.setup":"Installing\/Configuring","win32ps.constants":"Predefined Constants","example-5361":"Statistics about the current PHP process","example-5362":"Statistics about global memory utilization","win32ps.examples-process":"Win32ps examples","win32ps.examples":"Examples","function.win32-ps-list-procs":"List running processes","function.win32-ps-stat-mem":"Stat memory utilization","function.win32-ps-stat-proc":"Stat process","ref.win32ps":"win32ps Functions","book.win32ps":"win32ps","intro.win32service":"Introduction","win32service.requirements":"Requirements","win32service.installation":"Installation","win32service.configuration":"Runtime Configuration","win32service.resources":"Resource Types","win32service.setup":"Installing\/Configuring","win32service.constants.servicetype":"Win32Service Service Type Bitmasks","win32service.constants.servicestatus":"Win32Service Service Status Constants","win32service.constants.servicecontrol":"Win32Service Service Control Message Constants","win32service.constants.controlsaccepted":"Win32Service Service Control Message Accepted Bitmasks","win32service.constants.servicestarttype":"Win32Service Service Start Type Constants","win32service.constants.errorcontrol":"Win32Service Service Error Control Constants","win32service.constants.serviceflag":"Win32Service Service Flag Constants","win32service.constants.errors":"Win32 Error Codes","win32service.constants.basepriorities":"Win32 Base Priority Classes","win32service.constants":"Predefined Constants","example-5363":"Registering a PHP script to run as a service","example-5364":"Unregistering a service","example-5365":"Running as a service","win32service.examples":"Examples","function.win32-continue-service":"Resumes a paused service","example-5366":"A win32_create_service example","function.win32-create-service":"Creates a new service entry in the SCM database","example-5367":"A win32_delete_service example","function.win32-delete-service":"Deletes a service entry from the SCM database","function.win32-get-last-control-message":"Returns the last control message that was sent to this service","function.win32-pause-service":"Pauses a service","function.win32-query-service-status":"Queries the status of a service","function.win32-set-service-status":"Update the service status","example-5368":"A win32_start_service_ctrl_dispatcher example","function.win32-start-service-ctrl-dispatcher":"Registers the script with the SCM, so that it can act as the service with the given name","function.win32-start-service":"Starts a service","function.win32-stop-service":"Stops a service","ref.win32service":"win32service Functions","book.win32service":"win32service","refs.utilspec.windows":"Windows Only Extensions","intro.dom":"Introduction","dom.requirements":"Requirements","dom.installation":"Installation","dom.configuration":"Runtime Configuration","dom.resources":"Resource Types","dom.setup":"Installing\/Configuring","dom.constants":"Predefined Constants","example-5369":"book.xml","dom.examples":"Examples","domattr.intro":"Introduction","domattr.synopsis":"Class synopsis","domattr.props.name":"","domattr.props.ownerelement":"","domattr.props.schematypeinfo":"","domattr.props.specified":"","domattr.props.value":"","domattr.props":"Properties","example-5370":"Creating a new DOMAttr object","domattr.construct":"Creates a new DOMAttr object","example-5371":"DOMAttr::isId() Example","domattr.isid":"Checks if attribute is a defined ID","class.domattr":"The DOMAttr class","domcdatasection.intro":"Introduction","domcdatasection.synopsis":"Class synopsis","domcdatasection.construct.examples.basic":"Creating a new DOMCdataSection object","domcdatasection.construct":"Constructs a new DOMCdataSection object","class.domcdatasection":"The DOMCdataSection class","domcharacterdata.intro":"Introduction","domcharacterdata.synopsis":"Class synopsis","domcharacterdata.props.data":"","domcharacterdata.props.length":"","domcharacterdata.props":"Properties","domcharacterdata.appenddata":"Append the string to the end of the character data of the node","domcharacterdata.deletedata":"Remove a range of characters from the node","domcharacterdata.insertdata":"Insert a string at the specified 16-bit unit offset","domcharacterdata.replacedata":"Replace a substring within the DOMCharacterData node","domcharacterdata.substringdata":"Extracts a range of data from the node","class.domcharacterdata":"The DOMCharacterData class","domcomment.intro":"Introduction","domcomment.synopsis":"Class synopsis","example-5373":"Creating a new DOMComment","domcomment.construct":"Creates a new DOMComment object","class.domcomment":"The DOMComment class","domdocument.intro":"Introduction","domdocument.synopsis":"Class synopsis","domdocument.props.actualencoding":"","domdocument.props.config":"","domdocument.props.doctype":"","domdocument.props.documentelement":"","domdocument.props.documenturi":"","domdocument.props.encoding":"","domdocument.props.formatoutput":"","domdocument.props.implementation":"","domdocument.props.preservewhitespace":"","domdocument.props.recover":"","domdocument.props.resolveexternals":"","domdocument.props.standalone":"","domdocument.props.stricterrorchecking":"","domdocument.props.substituteentities":"","domdocument.props.validateonparse":"","domdocument.props.version":"","domdocument.props.xmlencoding":"","domdocument.props.xmlstandalone":"","domdocument.props.xmlversion":"","domdocument.props":"Properties","example-5374":"Creating a new DOMDocument","domdocument.construct":"Creates a new DOMDocument object","domdocument.createattribute":"Create new attribute","domdocument.createattributens":"Create new attribute node with an associated namespace","domdocument.createcdatasection":"Create new cdata node","domdocument.createcomment":"Create new comment node","domdocument.createdocumentfragment":"Create new document fragment","example-5375":"Creating a new element and inserting it as root","domdocument.createelement":"Create new element node","example-5376":"Creating a new element and inserting it as root","example-5377":"A namespace prefix example","domdocument.createelementns":"Create new element node with an associated namespace","domdocument.createentityreference":"Create new entity reference node","domdocument.createprocessinginstruction":"Creates new PI node","domdocument.createtextnode":"Create new text node","example-5378":"DOMDocument::getElementById() Example","domdocument.getelementbyid":"Searches for an element with a certain id","domdocument.getelementsbytagname.example.basic":"Basic Usage Example","domdocument.getelementsbytagname":"Searches for all elements with given local tag name","example-5380":"Get all the XInclude elements","domdocument.getelementsbytagnamens":"Searches for all elements with given tag name in specified namespace","example-5381":"DOMDocument::importNode example","domdocument.importnode":"Import node into current document","example-5382":"Creating a Document","domdocument.load":"Load XML from a file","example-5383":"Creating a Document","domdocument.loadhtml":"Load HTML from a string","example-5384":"Creating a Document","domdocument.loadhtmlfile":"Load HTML from a file","example-5385":"Creating a Document","example-5386":"Static invocation of loadXML","domdocument.loadxml":"Load XML from a string","domdocument.normalizedocument":"Normalizes the document","example-5387":"Adding a new method to DOMElement to ease our code","example-5388":"Retrieving elements as custom class","example-5389":"Retrieving owner document","domdocument.registernodeclass":"Register extended class used to create base node type","domdocument.relaxngvalidate":"Performs relaxNG validation on the document","domdocument.relaxngvalidatesource":"Performs relaxNG validation on the document","example-5390":"Saving a DOM tree into a file","domdocument.save":"Dumps the internal XML tree back into a file","example-5391":"Saving a HTML tree into a string","domdocument.savehtml":"Dumps the internal document into a string using HTML formatting","example-5392":"Saving a HTML tree into a file","domdocument.savehtmlfile":"Dumps the internal document into a file using HTML formatting","example-5393":"Saving a DOM tree into a string","domdocument.savexml":"Dumps the internal XML tree back into a string","domdocument.schemavalidate":"Validates a document based on a schema","domdocument.schemavalidatesource":"Validates a document based on a schema","example-5394":"Example of DTD validation","domdocument.validate":"Validates the document based on its DTD","example-5395":"DOMDocument::xinclude() example","domdocument.xinclude":"Substitutes XIncludes in a DOMDocument Object","class.domdocument":"The DOMDocument class","domdocumentfragment.synopsis":"Class synopsis","example-5396":"Appending XML data to your document","domdocumentfragment.appendxml":"Append raw XML data","class.domdocumentfragment":"The DOMDocumentFragment class","domdocumenttype.intro":"Introduction","domdocumenttype.synopsis":"Class synopsis","domdocumenttype.props.publicid":"","domdocumenttype.props.systemid":"","domdocumenttype.props.name":"","domdocumenttype.props.entities":"","domdocumenttype.props.notations":"","domdocumenttype.props.internalsubset":"","domdocumenttype.props":"Properties","class.domdocumenttype":"The DOMDocumentType class","domelement.synopsis":"Class synopsis","domelement.props.schematypeinfo":"","domelement.props.tagname":"","domelement.props":"Properties","example-5397":"Creating a new DOMElement","domelement.construct":"Creates a new DOMElement object","domelement.getattribute":"Returns value of attribute","domelement.getattributenode":"Returns attribute node","domelement.getattributenodens":"Returns attribute node","domelement.getattributens":"Returns value of attribute","domelement.getelementsbytagname":"Gets elements by tagname","domelement.getelementsbytagnamens":"Get elements by namespaceURI and localName","domelement.hasattribute":"Checks to see if attribute exists","domelement.hasattributens":"Checks to see if attribute exists","domelement.removeattribute":"Removes attribute","domelement.removeattributenode":"Removes attribute","domelement.removeattributens":"Removes attribute","example-5398":"Setting an attribute","domelement.setattribute":"Adds new attribute","domelement.setattributenode":"Adds new attribute node to element","domelement.setattributenodens":"Adds new attribute node to element","domelement.setattributens":"Adds new attribute","domelement.setidattribute":"Declares the attribute specified by name to be of type ID","domelement.setidattributenode":"Declares the attribute specified by node to be of type ID","domelement.setidattributens":"Declares the attribute specified by local name and namespace URI to be of type ID","class.domelement":"The DOMElement class","domentity.intro":"Introduction","domentity.synopsis":"Class synopsis","domentity.props.publicid":"","domentity.props.systemid":"","domentity.props.notationname":"","domentity.props.actualencoding":"","domentity.props.encoding":"","domentity.props.version":"","domentity.props":"Properties","class.domentity":"The DOMEntity class","domentityreference.synopsis":"Class synopsis","example-5399":"Creating a new DOMEntityReference","domentityreference.construct":"Creates a new DOMEntityReference object","class.domentityreference":"The DOMEntityReference class","domexception.intro":"Introduction","domexception.synopsis":"Class synopsis","domexception.props.code":"","domexception.props":"Properties","class.domexception":"The DOMException class","domimplementation.intro":"Introduction","domimplementation.synopsis":"Class synopsis","domimplementation.construct":"Creates a new DOMImplementation object","domimplementation.createdocument":"Creates a DOMDocument object of the specified type with its document element","example-5400":"Creating a document with an attached DTD","domimplementation.createdocumenttype":"Creates an empty DOMDocumentType object","example-5401":"Testing your DOM Implementation","domimplementation.hasfeature":"Test if the DOM implementation implements a specific feature","class.domimplementation":"The DOMImplementation class","domnamednodemap.synopsis":"Class synopsis","domnamednodemap.props.length":"","domnamednodemap.props":"Properties","domnamednodemap.getnameditem":"Retrieves a node specified by name","domnamednodemap.getnameditemns":"Retrieves a node specified by local name and namespace URI","domnamednodemap.item":"Retrieves a node specified by index","class.domnamednodemap":"The DOMNamedNodeMap class","domnode.synopsis":"Class synopsis","domnode.props.nodename":"","domnode.props.nodevalue":"","domnode.props.nodetype":"","domnode.props.parentnode":"","domnode.props.childnodes":"","domnode.props.firstchild":"","domnode.props.lastchild":"","domnode.props.previoussibling":"","domnode.props.nextsibling":"","domnode.props.attributes":"","domnode.props.ownerdocument":"","domnode.props.namespaceuri":"","domnode.props.prefix":"","domnode.props.localname":"","domnode.props.baseuri":"","domnode.props.textcontent":"","domnode.props":"Properties","example-5402":"Adding a child","domnode.appendchild":"Adds new child at the end of the children","domnode.c14n":"Canonicalize nodes to a string","domnode.c14nfile":"Canonicalize nodes to a file","domnode.clonenode":"Clones a node","example-5403":"DOMNode::getLineNo example","domnode.getlineno":"Get line number for a node","example-5404":"DOMNode::getNodePath example","domnode.getnodepath":"Get an XPath for a node","domnode.hasattributes":"Checks if node has attributes","domnode.haschildnodes":"Checks if node has children","domnode.insertbefore":"Adds a new child before a reference node","domnode.isdefaultnamespace":"Checks if the specified namespaceURI is the default namespace or not","domnode.issamenode":"Indicates if two nodes are the same node","domnode.issupported":"Checks if feature is supported for specified version","domnode.lookupnamespaceuri":"Gets the namespace URI of the node based on the prefix","domnode.lookupprefix":"Gets the namespace prefix of the node based on the namespace URI","domnode.normalize":"Normalizes the node","example-5405":"Removing a child","domnode.removechild":"Removes child from list of children","domnode.replacechild":"Replaces a child","class.domnode":"The DOMNode class","domnodelist.synopsis":"Class synopsis","domnodelist.props.length":"","domnodelist.props":"Properties","example-5406":"Traversing all the entries of the table","domnodelist.item":"Retrieves a node specified by index","class.domnodelist":"The DOMNodeList class","domnotation.synopsis":"Class synopsis","domnotation.props.publicid":"","domnotation.props.systemid":"","domnotation.props":"Properties","class.domnotation":"The DOMNotation class","domprocessinginstruction.synopsis":"Class synopsis","domprocessinginstruction.props.target":"","domprocessinginstruction.props.data":"","domprocessinginstruction.props":"Properties","example-5407":"Creating a new DOMProcessingInstruction object","domprocessinginstruction.construct":"Creates a new DOMProcessingInstruction object","class.domprocessinginstruction":"The DOMProcessingInstruction class","domtext.intro":"Introduction","domtext.synopsis":"Class synopsis","domtext.props.wholetext":"","domtext.props":"Properties","example-5408":"Creating a new DOMText","domtext.construct":"Creates a new DOMText object","domtext.iswhitespaceinelementcontent":"Indicates whether this text node contains whitespace","domtext.splittext":"Breaks this node into two nodes at the specified offset","class.domtext":"The DOMText class","domxpath.intro":"Introduction","domxpath.synopsis":"Class synopsis","domxpath.props.document":"","domxpath.props":"Properties","domxpath.construct":"Creates a new DOMXPath object","example-5409":"Getting the count of all the english books","domxpath.evaluate":"Evaluates the given XPath expression and returns a typed result if possible","example-5410":"Getting all the english books","domxpath.query":"Evaluates the given XPath expression","domxpath.registernamespace":"Registers the namespace with the DOMXPath object","example-5411":"book.xml","example-5412":"DOMXPath::registerPHPFunctions with php:functionString","example-5413":"DOMXPath::registerPHPFunctions with php:function","domxpath.registerphpfunctions":"Register PHP functions as XPath functions","class.domxpath":"The DOMXPath class","example-5414":"Import SimpleXML into DOM with dom_import_simplexml","function.dom-import-simplexml":"Gets a DOMElement object from a\n SimpleXMLElement object","ref.dom":"DOM Functions","book.dom":"Document Object Model","intro.libxml":"Introduction","libxml.requirements":"Requirements","libxml.installation":"Installation","libxml.configuration":"Runtime Configuration","libxml.resources":"Resource Types","libxml.setup":"Installing\/Configuring","constant.libxml-compact":"","constant.libxml-dtdattr":"","constant.libxml-dtdload":"","constant.libxml-dtdvalid":"","constant.libxml-noblanks":"","constant.libxml-nocdata":"","constant.libxml-noemptytag":"","constant.libxml-noent":"","constant.libxml-noerror":"","constant.libxml-nonet":"","constant.libxml-nowarning":"","constant.libxml-noxmldecl":"","constant.libxml-nsclean":"","constant.libxml-parsehuge":"","constant.libxml-xinclude":"","constant.libxml-err-error":"","constant.libxml-err-fatal":"","constant.libxml-err-none":"","constant.libxml-err-warning":"","constant.libxml-version":"","constant.libxml-dotted-version":"","constant.libxml-schema-create":"","libxml.constants":"Predefined Constants","libxmlerror.intro":"Introduction","libxmlerror.synopsis":"Class synopsis","libxmlerror.props.level":"","libxmlerror.props.code":"","libxmlerror.props.column":"","libxmlerror.props.message":"","libxmlerror.props.file":"","libxmlerror.props.line":"","libxmlerror.props":"Properties","class.libxmlerror":"The libXMLError class","function.libxml-clear-errors":"Clear libxml error buffer","function.libxml-disable-entity-loader":"Disable the ability to load external entities","example-5415":"A libxml_get_errors example","function.libxml-get-errors":"Retrieve array of errors","function.libxml-get-last-error":"Retrieve last error from libxml","example-5416":"libxml_set_external_entity_loader example","function.libxml-set-external-entity-loader":"Changes the default external entity loader","example-5417":"A libxml_set_streams_context example","function.libxml-set-streams-context":"Set the streams context for the next libxml document load or write","example-5418":"A libxml_use_internal_errors example","function.libxml-use-internal-errors":"Disable libxml errors and allow user to fetch error information as needed","ref.libxml":"libxml Functions","book.libxml":"libxml","intro.qtdom":"Introduction","qtdom.requirements":"Requirements","qtdom.installation":"Installation","qtdom.configuration":"Runtime Configuration","qtdom.resources":"Resource Types","qtdom.setup":"Installing\/Configuring","qtdom.constants":"Predefined Constants","function.qdom-error":"Returns the error string from the last QDOM operation or FALSE if no errors occurred","function.qdom-tree":"Creates a tree of an XML string","ref.qtdom":"qtdom Functions","book.qtdom":"qtdom","sdo.intro.structure":"The Structure of a Service Data Object","intro.sdo":"Introduction","sdo.requirements":"Requirements","sdo.install.unix":"Unix systems","sdo.build.linux.steps":"Building SDO on Linux","sdo.installation":"Installation","sdo.configuration":"Runtime Configuration","sdo.resources":"Resource Types","sdo.setup":"Installing\/Configuring","sdo-das-changesummary.constants.none":"","sdo-das-changesummary.constants.modification":"","sdo-das-changesummary.constants.addition":"","sdo-das-changesummary.constants.deletion":"","sdo.constants":"Predefined Constants","sdo.limitations.implementation":"Implementation Limitations","sdo.limitations.sdo":"SDO Limitations","sdo.limitations":"Limitations","sdo.examples-basic":"Basic usage","sdo.examples.propname":"","example-5419":"Access via property name","sdo.examples.simplexpath":"","example-5420":"Access via property name as array index","sdo.examples.doiter":"","sdo.examples.doiter-output":"","example-5421":"Data Object iteration","sdo.examples.mvpname":"","example-5422":"Access many-valued property by name","sdo.examples.mvaccess":"","example-5423":"Many-valued element access","sdo.examples.mvpiter":"","example-5424":"Many-valued property iteration","sdo.examples.nestedprop":"","sdo.examples.chainarray":"","example-5425":"Chained property access","sdo.examples.xpath1nav":"","sdo.examples.xpath0nav":"","example-5426":"XPath navigation","sdo.examples.xpathquery":"","example-5427":"XPath querying","sdo.examples.create":"","example-5428":"Creating child data objects","sdo.examples.unsetprim":"","example-5429":"Unset a primitive property","sdo.examples.unsetdo":"","example-5430":"Unset a data object","sdo.examples.unsetrefdo":"","example-5431":"Unset a referenced data object","sdo.examples.propindex":"","example-5432":"Access via property index","sdo.sample.getset":"Setting and Getting Property Values","sdo.examples.seqinterface":"","example-5433":"Getting the SDO_Sequence interface","sdo.examples.getsetseq":"","example-5434":"Get\/set sequence values","sdo.examples.seqiter":"","example-5435":"Sequence iteration","sdo.examples.seqvsdo":"","example-5436":"Sequence versus Data Object","sdo.examples.seqadd":"","example-5437":"Adding to a sequence","sdo.examples.seqremove":"","example-5438":"Removing from a sequence","sdo.sample.sequence":"Working with Sequenced Data Objects","sdo.examples.reflection":"","example-5439":"Reflecting on a Data Object","sdo.examples.reflection.type":"","example-5440":"Accessing the type information","sdo.sample.reflection":"Reflecting on Service Data Objects","sdo.examples":"Examples","sdo.das.table":"Data Access Services","class.sdo-dataobject":"SDO_DataObject","class.sdo-sequence":"SDO_Sequence","class.sdo-list":"SDO_List","class.sdo-datafactory":"SDO_DataFactory","class.sdo-exception":"SDO_Exception","sdo.class.sdo-apis":"SDO Application Programmer Interface","class.sdo-model-reflectiondataobject":"SDO_Model_ReflectionDataObject","class.sdo-model-type":"SDO_Model_Type","class.sdo-model-property":"SDO_Model_Property","sdo.class.sdo-model-apis":"SDO Reflection Application Programmer Interfaces","class.sdo-das-dataobject":"SDO_DAS_DataObject","class.sdo-das-changesummary":"SDO_DAS_ChangeSummary","class.sdo-das-setting":"SDO_DAS_Setting","class.sdo-das-datafactory":"SDO_DAS_DataFactory","sdo.class.sdo-das-spis":"SDO Data Access Service Developer Interfaces","sdo.classes":"Predefined Classes","sdo-das-changesummary.beginlogging":"Begin change logging","sdo-das-changesummary.endlogging":"End change logging","sdo-das-changesummary.getchangetype":"Get the type of change made to an SDO_DataObject","sdo-das-changesummary.getchangeddataobjects":"Get the changed data objects from a change summary","sdo-das-changesummary.getoldcontainer":"Get the old container for a deleted SDO_DataObject","sdo-das-changesummary.getoldvalues":"Get the old values for a given changed SDO_DataObject","sdo-das-changesummary.islogging":"Test to see whether change logging is switched on","example-5441":"A\n SDO_DAS_DataFactory::addPropertyToType\n example","sdo-das-datafactory.addpropertytotype":"Adds a property to a type","example-5442":"A\n SDO_DAS_DataFactory::addType\nexample","sdo-das-datafactory.addtype":"Add a new type to a model","sdo-das-datafactory.getdatafactory":"Get a data factory instance","sdo-das-dataobject.getchangesummary":"Get a data object's change summary","sdo-das-setting.getlistindex":"Get the list index for a changed many-valued property","sdo-das-setting.getpropertyindex":"Get the property index for a changed property","sdo-das-setting.getpropertyname":"Get the property name for a changed property","sdo-das-setting.getvalue":"Get the old value for the changed property","sdo-das-setting.isset":"Test whether a property was set prior to being modified","sdo-datafactory.create":"Create an SDO_DataObject","sdo-dataobject.clear":"Clear an SDO_DataObject's properties","sdo-dataobject.createdataobject":"Create a child SDO_DataObject","sdo-dataobject.getcontainer":"Get a data object's container","sdo-dataobject.getsequence":"Get the sequence for a data object","sdo-dataobject.gettypename":"Return the name of the type for a data object.","sdo-dataobject.gettypenamespaceuri":"Return the namespace URI of the type for a data object.","sdo-exception.getcause":"Get the cause of the exception.","sdo-list.insert":"Insert into a list","sdo-model-property.getcontainingtype":"Get the SDO_Model_Type which contains this property","sdo-model-property.getdefault":"Get the default value for the property","sdo-model-property.getname":"Get the name of the SDO_Model_Property","sdo-model-property.gettype":"Get the SDO_Model_Type of the property","sdo-model-property.iscontainment":"Test to see if the property defines a containment relationship","sdo-model-property.ismany":"Test to see if the property is many-valued","sdo-model-reflectiondataobject.construct":"Construct an SDO_Model_ReflectionDataObject","sdo-model-reflectiondataobject.export":"Get a string describing the SDO_DataObject.","sdo-model-reflectiondataobject.getcontainmentproperty":"Get the property which defines the containment relationship to the data object","sdo-model-reflectiondataobject.getinstanceproperties":"Get the instance properties of the SDO_DataObject","sdo-model-reflectiondataobject.gettype":"Get the SDO_Model_Type for the SDO_DataObject","sdo-model-type.getbasetype":"Get the base type for this type","sdo-model-type.getname":"Get the name of the type","sdo-model-type.getnamespaceuri":"Get the namespace URI of the type","sdo-model-type.getproperties":"Get the SDO_Model_Property objects defined for the type","sdo-model-type.getproperty":"Get an SDO_Model_Property of the type","sdo-model-type.isabstracttype":"Test to see if this SDO_Model_Type is an abstract data type","sdo-model-type.isdatatype":"Test to see if this SDO_Model_Type is a primitive data type","sdo-model-type.isinstance":"Test for an SDO_DataObject being an instance of this SDO_Model_Type","sdo-model-type.isopentype":"Test to see if this type is an open type","sdo-model-type.issequencedtype":"Test to see if this is a sequenced type","sdo-sequence.getproperty":"Return the property for the specified sequence index.","sdo-sequence.insert":"Insert into a sequence","sdo-sequence.move":"Move an item to another sequence position","ref.sdo":"SDO Functions","book.sdo":"Service Data Objects","overview":"Overview of Operation","intro.sdodasrel":"Introduction","sdodasrel.requirements":"Requirements","sdodasrel.installation":"Installation","sdodasrel.tracing":"Tracing","sdodasrel.configuration":"Runtime Configuration","sdodasrel.resources":"Resource Types","sdodasrel.setup":"Installing\/Configuring","sdodasrel.constants":"Predefined Constants","sdodasrel.examples-crud":"Creating, retrieving, updating and deleting data","sdodasrel.metadata.database.model":"What the Relational DAS does with the metadata","sdodasrel.metadata.approottype":"Specifying the application root type","sdodasrel.metadata.crels":"Specifying the SDO containment relationships","sdodasrel.metadata.database":"Database metadata","sdodasrel.metadata":"Specifying the metadata","sdodasrel.examples.1c-c":"","example-5443":"Creating a data object","sdodasrel.examples.1c-r":"","example-5444":"Retrieving a data object","sdodasrel.examples.1c-ru":"","example-5445":"Updating a data object","sdodasrel.examples.1c-rd":"","example-5446":"Deleting a data object","sdodasrel.examples.one-table":"One-table examples","sdodasrel.examples.1cd-c":"","example-5447":"One company, one department - Create","sdodasrel.examples.1cd-ru":"","example-5448":"One company, one department - Retrieve and Update","sdodasrel.examples.1cd-crud.good-delete":"","sdodasrel.examples.1cd-crud.bad-delete":"","sdodasrel.examples.1cd-rd":"","example-5449":"One company, two departments - Retrieve and Delete","sdodasrel.examples.two-table":"Two-table examples","sdodasrel.examples.1cde-c":"","example-5450":"One company, one department, one employee - Create","sdodasrel.examples.1cde-ru":"","example-5451":"One company, one department, one employee - Retrieve and update","sdodasrel.examples.1cde-rd":"","example-5452":"One company, two departments, two employees - Retrieve and delete","sdodasrel.examples.three-table":"Three-table example","sdodasrel.examples":"Examples","sdodasrel.limitations":"Limitations","sdodasrel.sdo-das-relational.methods":"Methods","sdodasrel.sdo-das-relational":"SDO_DAS_Relational","sdodasrel.sdo-das-relational-exception":"SDO_DAS_Relational_Exception","sdodasrel.classes":"Predefined Classes","sdodasrel.ac.examples.pdo":"","sdo-das-relational.applychanges":"Applies the changes made to a data graph back to the database.","sdo-das-relational.construct":"Creates an instance of a Relational Data Access Service","sdo-das-relational.createrootdataobject":"Returns the special root object in an otherwise \n empty data graph. Used when creating a data graph from scratch.","sdodasrel.epq.examples.pdo":"","sdodasrel.functions.epq.1c-r":"","example-5453":"Retrieving a data object using\n executePreparedQuery","sdo-das-relational.executepreparedquery":"Executes an SQL query passed as a prepared statement, with a \n list of values to substitute for placeholders, and return the \n results as a normalised data graph.","sdodasrel.eq.examples.pdo":"","sdo-das-relational.executequery":"Executes a given SQL query against a relational database \n and returns the results as a normalised data graph.","ref.sdodasrel":"SDO-DAS-Relational Functions","book.sdodasrel":"SDO Relational Data Access Service","intro.sdo-das-xml":"Introduction","sdo-das-xml.requirements":"Requirements","sdo-das-xml.installation":"Installation","sdo-das-xml.configuration":"Runtime Configuration","sdo-das-xml.resources":"Resource Types","sdo-das-xml.setup":"Installing\/Configuring","sdo-das-xml.constants":"Predefined Constants","sdo-das-xml.examples.loadfromfile":"","sdo-das-xml.examples.loadfromfile.output":"","example-5454":"Loading, altering, and saving an XML document","sdo-das-xml.examples.create":"","example-5455":"Creating a new XML document","sdo-das-xml.examples.create.output":"","sdo-das-xml.examples.example3":"","sdo-das-xml.examples.sdo-das-xml-document.output":"","example-5456":"Setting XML document properties","sdo-das-xml.examples.example4":"","example-5457":"Using an open type","sdo-das-xml.examples.example5":"","sdo-das-xml.examples.example5.output":"","example-5458":"Finding out what you can from the document","sdo-das-xml.examples.example6":"","sdo-das-xml.examples.example6.output":"","example-5459":"Printing the SDO model","sdo-das-xml.examples":"Examples","class.sdo-das-xml":"SDO_DAS_XML","class.sdo-das-xml-document":"SDO_DAS_XML_Document","class.sdo-das-xml-parserexception":"SDO_DAS_XML_ParserException","class.sdo-das-xml-fileexception":"SDO_DAS_XML_FileException","sdo-das-xml.classes":"Predefined Classes","sdo-das-xml.limitations.simpletypes":"XML Simple Types","sdo-das-xml.limitations.complextypes":"XML Complex Types","sdo-das-xml.limitations.attribute":"XSD Attribute","sdo-das-xml.limitations.elements":"XSD Elements","sdo-das-xml.limitations.elementsimpletype":"XSD Elements with Simple Type","sdo-das-xml.limitations":"Limitations compared with SDO 2.0 specification","sdo-das-xml.addtypes":"To load a second or subsequent schema file to a SDO_DAS_XML object","sdo-das-xml.create":"To create SDO_DAS_XML object for a given schema file","sdo-das-xml.createdataobject":"Creates SDO_DataObject for a given namespace URI and type name","sdo-das-xml.createdocument":"Creates an XML Document object from scratch, without the need to load a document from a file or string.","sdo-das-xml.loadfile":"Returns SDO_DAS_XML_Document object for a given path to xml instance document","sdo-das-xml.loadstring":"Returns SDO_DAS_XML_Document for a given xml instance string","sdo-das-xml.savefile":"Saves the SDO_DAS_XML_Document object to a file","sdo-das-xml.savestring":"Saves the SDO_DAS_XML_Document object to a string","sdo-das-xml-document.getrootdataobject":"Returns the root SDO_DataObject","sdo-das-xml-document.getrootelementname":"Returns root element's name","sdo-das-xml-document.getrootelementuri":"Returns root element's URI string","sdo-das-xml-document.setencoding":"Sets the given string as encoding","sdo-das-xml-document.setxmldeclaration":"Sets the xml declaration","sdo-das-xml-document.setxmlversion":"Sets the given string as xml version","ref.sdo-das-xml":"SDO DAS XML Functions","book.sdo-das-xml":"SDO XML Data Access Service","intro.simplexml":"Introduction","simplexml.requirements":"Requirements","simplexml.installation":"Installation","simplexml.configuration":"Runtime Configuration","simplexml.resources":"Resource Types","simplexml.setup":"Installing\/Configuring","simplexml.constants":"Predefined Constants","simplexml.examples.movie":"","example-5460":"Include file example.php with XML string","example-5461":"Getting <plot>","example-5462":"Getting <line>","example-5463":"Accessing non-unique elements in SimpleXML","example-5464":"Using attributes","example-5465":"Comparing Elements and Attributes with Text","example-5466":"Comparing Two Elements","example-5467":"Using XPath","example-5468":"Setting values","example-5469":"Adding elements and attributes","example-5470":"DOM Interoperability","simplexml.examples-basic":"Basic SimpleXML usage","simplexml.examples.error":"","example-5471":"Loading broken XML string","simplexml.examples-errors":"Dealing with XML errors","simplexml.examples":"Examples","simplexmlelement.intro":"Introduction","simplexmlelement.synopsis":"Class synopsis","example-5472":"Add attributes and children to a SimpleXML element","simplexmlelement.addattribute":"Adds an attribute to the SimpleXML element","example-5473":"Add attributes and children to a SimpleXML element","simplexmlelement.addchild":"Adds a child element to the XML node","example-5474":"Get XML","example-5475":"Using asXML() on SimpleXMLElement::xpath results","simplexmlelement.asxml":"Return a well-formed XML string based on SimpleXML element","example-5476":"Interpret an XML string","simplexmlelement.attributes":"Identifies an element's attributes","example-5477":"Traversing a children() pseudo-array","example-5478":"Using namespaces","simplexmlelement.children":"Finds children of given node","example-5479":"Create a SimpleXMLElement object","example-5480":"Create a SimpleXMLElement object from a URL","simplexmlelement.construct":"Creates a new SimpleXMLElement object","example-5481":"Counting the number of children","simplexmlelement.count":"Counts the children of an element","example-5482":"Get document namespaces","example-5483":"Working with multiple namespaces","simplexmlelement.getdocnamespaces":"Returns namespaces declared in document","example-5484":"Get XML element names","simplexmlelement.getname":"Gets the name of the XML element","example-5485":"Get document namespaces in use","simplexmlelement.getnamespaces":"Returns namespaces used in document","example-5486":"Setting a namespace prefix to use in an XPath query","simplexmlelement.registerxpathnamespace":"Creates a prefix\/ns context for the next XPath query","simplexmlelement.savexml":"Alias of SimpleXMLElement::asXML","example-5487":"Get string content","simplexmlelement.tostring":"Returns the string content","example-5488":"Xpath","simplexmlelement.xpath":"Runs XPath query on XML data","class.simplexmlelement":"The SimpleXMLElement class","simplexmliterator.intro":"Introduction","simplexmliterator.synopsis":"Class synopsis","example-5489":"Return the current element","simplexmliterator.current":"Returns the current element","example-5490":"Return the sub-elements of the current element","simplexmliterator.getchildren":"Returns the sub-elements of the current element","example-5491":"Check whether the current element has sub-elements","simplexmliterator.haschildren":"Checks whether the current element has sub elements.","example-5492":"Get the current XML tag key","simplexmliterator.key":"Return current key","example-5493":"Move to the next element","simplexmliterator.next":"Move to next element","example-5494":"Rewind to the first element","simplexmliterator.rewind":"Rewind to the first element","example-5495":"Check whether the current element is valid","simplexmliterator.valid":"Check whether the current element is valid","class.simplexmliterator":"The SimpleXMLIterator class","example-5496":"Importing DOM","function.simplexml-import-dom":"Get a SimpleXMLElement object from a DOM node.","example-5497":"Interpret an XML document","function.simplexml-load-file":"Interprets an XML file into an object","example-5498":"Interpret an XML string","function.simplexml-load-string":"Interprets a string of XML into an object","ref.simplexml":"SimpleXML Functions","book.simplexml":"SimpleXML","intro.wddx":"Introduction","wddx.requirements":"Requirements","wddx.installation":"Installation","wddx.configuration":"Runtime Configuration","wddx.resources":"Resource Types","wddx.setup":"Installing\/Configuring","wddx.constants":"Predefined Constants","example-5499":"Serializing a single value with WDDX","example-5500":"Using incremental packets with WDDX","wddx.examples-serialize":"wddx examples","wddx.examples":"Examples","function.wddx-add-vars":"Add variables to a WDDX packet with the specified ID","function.wddx-deserialize":"Unserializes a WDDX packet","function.wddx-packet-end":"Ends a WDDX packet with the specified ID","function.wddx-packet-start":"Starts a new WDDX packet with structure inside it","function.wddx-serialize-value":"Serialize a single value into a WDDX packet","example-5501":"wddx_serialize_vars example","function.wddx-serialize-vars":"Serialize variables into a WDDX packet","ref.wddx":"WDDX Functions","book.wddx":"WDDX","intro.xmldiff":"Introduction","xmldiff.requirements":"Requirements","xmldiff.installation":"Installation","xmldiff.setup":"Installing\/Configuring","xmldiff-base.intro":"Introduction","xmldiff-base.synopsis":"Class synopsis","xmldiff-base.construct":"Constructor","xmldiff-base.diff":"Produce diff of two XML documents","xmldiff-base.merge":"Produce new XML document based on diff","class.xmldiff-base":"The XMLDiff\\Base class","xmldiff-dom.intro":"Introduction","xmldiff-dom.synopsis":"Class synopsis","xmldiff-dom.diff":"Diff two DOMDocument objects","xmldiff-dom.merge":"Produce merged DOMDocument","class.xmldiff-dom":"The XMLDiff\\DOM class","xmldiff-memory.intro":"Introduction","xmldiff-memory.synopsis":"Class synopsis","xmldiff-memory.diff":"Diff two XML documents","xmldiff-memory.merge":"Produce merged XML document","class.xmldiff-memory":"The XMLDiff\\Memory class","xmldiff-file.intro":"Introduction","xmldiff-file.synopsis":"Class synopsis","xmldiff-file.diff":"Diff two XML files","xmldiff-file.merge":"Produce merged XML document","class.xmldiff-file":"The XMLDiff\\File class","book.xmldiff":"XML diff and merge","intro.xml":"Introduction","xml.requirements":"Requirements","xml.installation":"Installation","xml.configuration":"Runtime Configuration","xml.resources":"Resource Types","xml.setup":"Installing\/Configuring","constant.xml-error-none":"","constant.xml-error-no-memory":"","constant.xml-error-syntax":"","constant.xml-error-no-elements":"","constant.xml-error-invalid-token":"","constant.xml-error-unclosed-token":"","constant.xml-error-partial-char":"","constant.xml-error-tag-mismatch":"","constant.xml-error-duplicate-attribute":"","constant.xml-error-junk-after-doc-element":"","constant.xml-error-param-entity-ref":"","constant.xml-error-undefined-entity":"","constant.xml-error-recursive-entity-ref":"","constant.xml-error-async-entity":"","constant.xml-error-bad-char-ref":"","constant.xml-error-binary-entity-ref":"","constant.xml-error-attribute-external-entity-ref":"","constant.xml-error-misplaced-xml-pi":"","constant.xml-error-unknown-encoding":"","constant.xml-error-incorrect-encoding":"","constant.xml-error-unclosed-cdata-section":"","constant.xml-error-external-entity-handling":"","constant.xml-option-case-folding":"","constant.xml-option-target-encoding":"","constant.xml-option-skip-tagstart":"","constant.xml-option-skip-white":"","constant.xml-sax-impl":"","xml.constants":"Predefined Constants","xml.eventhandlers":"Event Handlers","xml.case-folding":"Case Folding","xml.error-codes":"Error Codes","xml.encoding":"Character Encoding","example-5502":"Show XML Element Structure","example.xml-structure":"XML Element Structure Example","example-5503":"Map XML to HTML","example.xml-map-tags":"XML Tag Mapping Example","example-5504":"External Entity Example","example-5505":"xmltest.xml","example-5506":"xmltest2.xml","example.xml-external-entity":"XML External Entity Example","xml.examples":"Examples","function.utf8-decode":"Converts a string with ISO-8859-1 characters encoded with UTF-8\n to single-byte ISO-8859-1","function.utf8-encode":"Encodes an ISO-8859-1 string to UTF-8","function.xml-error-string":"Get XML parser error string","function.xml-get-current-byte-index":"Get current byte index for an XML parser","function.xml-get-current-column-number":"Get current column number for an XML parser","function.xml-get-current-line-number":"Get current line number for an XML parser","function.xml-get-error-code":"Get XML parser error code","example-5507":"xml_parse_into_struct example","example-5508":"moldb.xml - small database of molecular information","example-5509":"parsemoldb.php - parses moldb.xml into an array of\n molecular objects","function.xml-parse-into-struct":"Parse XML data into an array structure","function.xml-parse":"Start parsing an XML document","function.xml-parser-create-ns":"Create an XML parser with namespace support","function.xml-parser-create":"Create an XML parser","function.xml-parser-free":"Free an XML parser","function.xml-parser-get-option":"Get options from an XML parser","function.xml-parser-set-option":"Set options in an XML parser","function.xml-set-character-data-handler":"Set up character data handler","function.xml-set-default-handler":"Set up default handler","function.xml-set-element-handler":"Set up start and end element handlers","function.xml-set-end-namespace-decl-handler":"Set up end namespace declaration handler","function.xml-set-external-entity-ref-handler":"Set up external entity reference handler","function.xml-set-notation-decl-handler":"Set up notation declaration handler","example-5510":"xml_set_object example","function.xml-set-object":"Use XML Parser within an object","function.xml-set-processing-instruction-handler":"Set up processing instruction (PI) handler","function.xml-set-start-namespace-decl-handler":"Set up start namespace declaration handler","function.xml-set-unparsed-entity-decl-handler":"Set up unparsed entity declaration handler","ref.xml":"XML Parser Functions","book.xml":"XML Parser","xmlreader.encoding":"Encoding","intro.xmlreader":"Introduction","xmlreader.requirements":"Requirements","xmlreader.installation":"Installation","xmlreader.configuration":"Runtime Configuration","xmlreader.resources":"Resource Types","xmlreader.setup":"Installing\/Configuring","xmlreader.intro":"Introduction","xmlreader.synopsis":"Class synopsis","xmlreader.props.attributecount":"","xmlreader.props.baseuri":"","xmlreader.props.depth":"","xmlreader.props.hasattributes":"","xmlreader.props.hasvalue":"","xmlreader.props.isdefault":"","xmlreader.props.isemptyelement":"","xmlreader.props.localname":"","xmlreader.props.name":"","xmlreader.props.namespaceuri":"","xmlreader.props.nodetype":"","xmlreader.props.prefix":"","xmlreader.props.value":"","xmlreader.props.xmllang":"","xmlreader.props":"Properties","xmlreader.constants.none":"","xmlreader.constants.element":"","xmlreader.constants.attribute":"","xmlreader.constants.text":"","xmlreader.constants.cdata":"","xmlreader.constants.entity-ref":"","xmlreader.constants.entity":"","xmlreader.constants.pi":"","xmlreader.constants.comment":"","xmlreader.constants.doc":"","xmlreader.constants.doc-type":"","xmlreader.constants.doc-fragment":"","xmlreader.constants.notation":"","xmlreader.constants.whitespace":"","xmlreader.constants.significant-whitespace":"","xmlreader.constants.end-element":"","xmlreader.constants.end-entity":"","xmlreader.constants.xml-declaration":"","xmlreader.constants.types":"XMLReader Node Types","xmlreader.constants.loaddtd":"","xmlreader.constants.defaultattrs":"","xmlreader.constants.validate":"","xmlreader.constants.subst-entities":"","xmlreader.constants.options":"XMLReader Parser Options","xmlreader.constants":"Predefined Constants","xmlreader.close":"Close the XMLReader input","xmlreader.expand":"Returns a copy of the current node as a DOM object","xmlreader.getattribute":"Get the value of a named attribute","xmlreader.getattributeno":"Get the value of an attribute by index","xmlreader.getattributens":"Get the value of an attribute by localname and URI","xmlreader.getparserproperty":"Indicates if specified property has been set","example-5511":"Validating XML","xmlreader.isvalid":"Indicates if the parsed document is valid","xmlreader.lookupnamespace":"Lookup namespace for a prefix","xmlreader.movetoattribute":"Move cursor to a named attribute","xmlreader.movetoattributeno":"Move cursor to an attribute by index","xmlreader.movetoattributens":"Move cursor to a named attribute","xmlreader.movetoelement":"Position cursor on the parent Element of current Attribute","xmlreader.movetofirstattribute":"Position cursor on the first Attribute","xmlreader.movetonextattribute":"Position cursor on the next Attribute","xmlreader.next":"Move cursor to next node skipping all subtrees","xmlreader.open":"Set the URI containing the XML to parse","xmlreader.read":"Move to next node in document","xmlreader.readinnerxml":"Retrieve XML from current node","xmlreader.readouterxml":"Retrieve XML from current node, including it self","xmlreader.readstring":"Reads the contents of the current node as a string","xmlreader.setparserproperty":"Set parser options","xmlreader.setrelaxngschema":"Set the filename or URI for a RelaxNG Schema","xmlreader.setrelaxngschemasource":"Set the data containing a RelaxNG Schema","xmlreader.setschema":"Validate document against XSD","xmlreader.xml":"Set the data containing the XML to parse","class.xmlreader":"The XMLReader class","book.xmlreader":"XMLReader","intro.xmlwriter":"Introduction","xmlwriter.requirements":"Requirements","xmlwriter.installation":"Installation","xmlwriter.configuration":"Runtime Configuration","xmlwriter.resources":"Resource Types","xmlwriter.setup":"Installing\/Configuring","xmlwriter.constants":"Predefined Constants","function.xmlwriter-end-attribute":"End attribute","function.xmlwriter-end-cdata":"End current CDATA","function.xmlwriter-end-comment":"Create end comment","function.xmlwriter-end-document":"End current document","function.xmlwriter-end-dtd-attlist":"End current DTD AttList","function.xmlwriter-end-dtd-element":"End current DTD element","function.xmlwriter-end-dtd-entity":"End current DTD Entity","function.xmlwriter-end-dtd":"End current DTD","function.xmlwriter-end-element":"End current element","function.xmlwriter-end-pi":"End current PI","function.xmlwriter-flush":"Flush current buffer","function.xmlwriter-full-end-element":"End current element","function.xmlwriter-open-memory":"Create new xmlwriter using memory for string output","function.xmlwriter-open-uri":"Create new xmlwriter using source uri for output","function.xmlwriter-output-memory":"Returns current buffer","function.xmlwriter-set-indent-string":"Set string used for indenting","function.xmlwriter-set-indent":"Toggle indentation on\/off","function.xmlwriter-start-attribute-ns":"Create start namespaced attribute","function.xmlwriter-start-attribute":"Create start attribute","function.xmlwriter-start-cdata":"Create start CDATA tag","function.xmlwriter-start-comment":"Create start comment","function.xmlwriter-start-document":"Create document tag","function.xmlwriter-start-dtd-attlist":"Create start DTD AttList","function.xmlwriter-start-dtd-element":"Create start DTD element","function.xmlwriter-start-dtd-entity":"Create start DTD Entity","function.xmlwriter-start-dtd":"Create start DTD tag","function.xmlwriter-start-element-ns":"Create start namespaced element tag","function.xmlwriter-start-element":"Create start element tag","function.xmlwriter-start-pi":"Create start PI tag","function.xmlwriter-text":"Write text","function.xmlwriter-write-attribute-ns":"Write full namespaced attribute","function.xmlwriter-write-attribute":"Write full attribute","function.xmlwriter-write-cdata":"Write full CDATA tag","function.xmlwriter-write-comment":"Write full comment tag","function.xmlwriter-write-dtd-attlist":"Write full DTD AttList tag","function.xmlwriter-write-dtd-element":"Write full DTD element tag","function.xmlwriter-write-dtd-entity":"Write full DTD Entity tag","function.xmlwriter-write-dtd":"Write full DTD tag","function.xmlwriter-write-element-ns":"Write full namespaced element tag","function.xmlwriter-write-element":"Write full element tag","function.xmlwriter-write-pi":"Writes a PI","function.xmlwriter-write-raw":"Write a raw XML text","ref.xmlwriter":"XMLWriter Functions","book.xmlwriter":"XMLWriter","intro.xsl":"Introduction","xsl.requirements":"Requirements","xsl.installation":"Installation","xsl.configuration":"Runtime Configuration","xsl.resources":"Resource Types","xsl.setup":"Installing\/Configuring","constant.xsl-clone-auto":"","constant.xsl-clone-never":"","constant.xsl-clone-always":"","constant.libxslt-version":"","constant.libxslt-dotted-version":"","constant.libexslt-version":"","constant.libexslt-dotted-version":"","constant.xsl-secpref-read-file":"","constant.xsl-secpref-write-file":"","constant.xsl-secpref-create-directory":"","constant.xsl-secpref-read-network":"","constant.xsl-secpref-write-network":"","xsl.constants":"Predefined Constants","example-5512":"collection.xml","example-5513":"collection.xsl","xsl.examples-collection":"Example collection.xml and collection.xsl files","xsl.examples":"Examples","xsltprocessor.intro":"Introduction","xsltprocessor.synopsis":"Class synopsis","example-5514":"Creating an XSLTProcessor","xsltprocessor.construct":"Creates a new XSLTProcessor object","xsltprocessor.getparameter":"Get value of a parameter","xsltprocessor.getsecurityprefs":"Get security preferences","example-5515":"Testing EXSLT support","xsltprocessor.hasexsltsupport":"Determine if PHP has EXSLT support","xsltprocessor.importstylesheet":"Import stylesheet","example-5516":"Simple PHP Function call from a stylesheet","xsltprocessor.registerphpfunctions":"Enables the ability to use PHP functions as XSLT functions","xsltprocessor.removeparameter":"Remove parameter","example-5517":"Changing the owner before the transformation","xsltprocessor.setparameter":"Set value for a parameter","example-5518":"Example profiling output","xsltprocessor.setprofiling":"Sets profiling output file","xsltprocessor.setsecurityprefs":"Set security preferences","example-5519":"Transforming to a DOMDocument","xsltprocessor.transformtodoc":"Transform to a DOMDocument","example-5520":"Transforming to a HTML file","xsltprocessor.transformtouri":"Transform to URI","example-5521":"Transforming to a string","xsltprocessor.transformtoxml":"Transform to XML","class.xsltprocessor":"The XSLTProcessor class","book.xsl":"XSL","intro.xslt":"Introduction","xslt.requirements":"Requirements","xslt.installation":"Installation","xslt.configuration":"Runtime Configuration","xslt.resources":"Resource Types","xslt.setup":"Installing\/Configuring","constant.xslt-opt-silent":"","constant.xslt-sabopt-parse-public-entities":"","constant.xslt-sabopt-disable-adding-meta":"","constant.xslt-sabopt-disable-stripping":"","constant.xslt-sabopt-ignore-doc-not-found":"","constant.xslt-sabopt-files-to-handler":"","constant.xslt-err-unsupported-scheme":"","xslt.constants":"Predefined Constants","function.xslt-backend-info":"Returns the information on the compilation settings of the backend","example-5522":"xslt_backend_name example","function.xslt-backend-name":"Returns the name of the backend","example-5523":"xslt_backend_version example","function.xslt-backend-version":"Returns the version number of Sablotron","example-5524":"xslt_create example","function.xslt-create":"Create a new XSLT processor","function.xslt-errno":"Returns an error number","example-5525":"Handling errors using the xslt_error and\n xslt_errno functions.","function.xslt-error":"Returns an error string","function.xslt-free":"Free XSLT processor","function.xslt-getopt":"Get options on a given xsl processor","example-5526":"Using the xslt_process to transform an XML\n file and a XSL file to a new XML file","example-5527":"Using the xslt_process to transform an XML file\n and a XSL file to a variable containing the resulting XML data","example-5528":"Using the xslt_process to transform a variable containing XML data\n and a variable containing XSL data into a variable containing the resulting XML data","example-5529":"Passing PHP variables to XSL files","function.xslt-process":"Perform an XSLT transformation","function.xslt-set-base":"Set the base URI for all XSLT transformations","function.xslt-set-encoding":"Set the encoding for the parsing of XML documents","example-5530":"xslt_set_error_handler Example","function.xslt-set-error-handler":"Set an error handler for a XSLT processor","example-5531":"Using the XSLT Logging features","function.xslt-set-log":"Set the log file to write log messages to","example-5532":"Using your own error handler as a method","function.xslt-set-object":"Sets the object in which to resolve callback functions","function.xslt-set-sax-handler":"Set SAX handlers for a XSLT processor","example-5533":"xslt_set_sax_handlers Example","example-5534":"Object oriented handler","function.xslt-set-sax-handlers":"Set the SAX handlers to be called when the XML document gets processed","function.xslt-set-scheme-handler":"Set Scheme handlers for a XSLT processor","example-5535":"xslt_set_scheme_handlers example","function.xslt-set-scheme-handlers":"Set the scheme handlers for the XSLT processor","example-5536":"xslt_setopt Example","function.xslt-setopt":"Set options on a given XSLT processor","ref.xslt":"XSLT (PHP 4) Functions","book.xslt":"XSLT (PHP 4)","refs.xml":"XML Manipulation","funcref":"Function Reference","internals2.preface":"Preface","internals2.memory.management.apis":"Main memory APIs","internals2.memory.management.example.leak":"Leak Detection in Action","internals2.memory.management":"Basic memory management","internals2.memory.management.papis":"Persistent memory APIs","internals2.memory.persistence":"Data persistence","internals2.structure.globals.using.accessor2":"Accessor macros for per-module globals","internals2.memory.tsrm.iapis":"TSRM Internals","internals2.memory.tsrm.mapis":"TSRM Mutex API","internals2.memory.tsrm":"Thread-Safe Resource Manager","internals2.memory":"Memory management","internals2.variables.types.api":"Native Type Constants","internals2.variables.zvals.api":"Accessor Macros","internals2.variables.refcounts.api":"Reference Count Manipulation","internals2.variables.general.api":"Creation, Destruction, Separation and Copying","internals2.variables.conversion.api":"Type Conversion","internals2.variables.intro":"Introduction to Variables","internals2.variables.arrays.api":"HashTable as Variable API","internals2.variables.iarrays.api":"Indexed Arrays API","internals2.variables.aarrays.api":"Associative Arrays API","internals2.variables.arrays":"Working with Arrays","internals2.variables.advrrays.api":"HashTable API","internals2.variables.trarrays.api":"HashTable Traversal API","internals2.variables.coparrays.api":"Copying, Merging and Sorting","internals2.variables.tables":"Working with HashTable","internals2.variables.objects":"Working with Objects","internals2.variables":"Working with Variables","internals2.funcs.index.internal-func-params":"INTERNAL_FUNCTION_PARAMETERS","internals2.funcs.parameters.api":"Parsing Parameters Prototypes","internals2.funcs.parameters.types":"Type Specifiers","internals2.funcs.parameters.advanced":"Advanced Type Specifiers","internals2.funcs":"Writing Functions","internals2.classes":"Writing Classes","internals2.resources":"Working with Resources","internals2.ini":"Working with INI settings","internals2.streams":"Working with streams","internals2.counter.preface":"Preface","internals2.counter.intro":"Introduction","internals2.counter.ini.reset-time":"","internals2.counter.ini.save-path":"","internals2.counter.ini.initial-value":"","internals2.counter.ini":"Runtime Configuration","internals2.counter.resources":"Resource Types","internals2.counter.setup":"Installing\/Configuring","internals2.counter.constants":"Predefined Constants","internals2.counter.examples.basic.ex":""counter"'s basic interface","internals2.counter.examples.basic":"Basic interface","internals2.counter.examples.extended.ex":""counter"'s extended interface","internals2.counter.examples.extended":"Extended interface","internals2.counter.examples.objective.ex":""counter"'s objective interface","internals2.counter.examples.objective":"Objective interface","internals2.counter.examples":"Examples","internals2.counter.counter-class.intro":"Introduction","internals2.counter.counter-class.synopsis":"Class synopsis","internals2.counter.counter-class.construct":"Creates an instance of a Counter which maintains a single numeric value.","internals2.counter.counter-class.getvalue":"Get the current value of a counter.","internals2.counter.counter-class.bumpvalue":"Change the current value of a counter.","internals2.counter.counter-class.resetvalue":"Reset the current value of a counter.","internals2.counter.counter-class.getmeta":"Return a piece of metainformation about a counter.","internals2.counter.counter-class.getnamed":"Retrieve an existing named counter.","internals2.counter.counter-class.setcounterclass":"Set the class returned by Counter::getNamed.","internals2.counter.counter-class":"The Counter class","internals2.counter.function.counter-get":"Get the current value of the basic counter.","internals2.counter.function.counter-bump":"Update the current value of the basic counter.","internals2.counter.function.counter-reset":"Reset the current value of the basic counter.","internals2.counter.basic-interface":"The basic interface","internals2.counter.function.counter-create":"Creates a counter which maintains a single numeric value.","internals2.counter.function.counter-get-value":"Get the current value of a counter resource.","internals2.counter.function.counter-bump-value":"Change the current value of a counter resource.","internals2.counter.function.counter-reset-value":"Reset the current value of a counter resource.","internals2.counter.function.counter-get-meta":"Return a piece of metainformation about a counter resource.","internals2.counter.function.counter-get-named":"Retrieve an existing named counter as a resource.","internals2.counter.extended-interface":"The extended interface","internals2.counter":"The "counter" Extension - A Continuing Example","internals2.buildsys.environment":"Building PHP for extension development","internals2.buildsys.skeleton":"The ext_skel script","internals2.buildsys.configunix.sample-config":"An example config.m4 file","internals2.buildsys.configunix.autoconf":"A short introduction to autoconf syntax","internals2.buildsys.configunix.php-arg.configure-out":"Sample configure output","internals2.buildsys.configunix.php-arg":"PHP_ARG_*: Giving users the option","internals2.buildsys.configunix.processing.with-example":"Handling the --with-example[=FILE] option","internals2.buildsys.configunix.processing.enable-example-debug":"Handling the --enable-example-debug option","internals2.buildsys.configunix.processing.with-example-extra":"Handling the --with-example-extra=DIR option","internals2.buildsys.configunix.processing":"Processing the user's choices","internals2.buildsys.configunix.finishing":"Telling the buildsystem what was decided","internals2.buildsys.configunix.counter.configunix":"counter's config.m4 file","internals2.buildsys.configunix.counter":"The counter extension's config.m4 file","internals2.buildsys.configunix":"Talking to the UNIX build system: config.m4","internals2.buildsys.configwin.sample-config":"An example config.w32 file","internals2.buildsys.configwin.counter.configwin":"counter's config.w32 file","internals2.buildsys.configwin.counter":"The counter extension's config.w32 file","internals2.buildsys.configwin":"Talking to the Windows build system: config.w32","internals2.buildsys":"The PHP 5 build system","internals2.structure.files.ex1":"Files in the counter extension, in no particular order","internals2.structure.files.misc-files":"Non-source files","internals2.structure.files":"Files which make up an extension","internals2.structure.basics":"Basic constructs","internals2.structure.modstruct.example-decl":"zend_module declaration in the counter extension","internals2.structure.modstruct.struct-defn":"zend_module definition in PHP 5.3","internals2.structure.modstruct.struct-values.not-for-dev":"","internals2.structure.modstruct.struct-values.given-by-smhe":"","internals2.structure.modstruct.struct-values.given-by-smh":"","internals2.structure.modstruct.struct-values.given-by-smp":"","internals2.structure.modstruct.struct-values.given-by-nmg":"","internals2.structure.modstruct.struct-values.given-by-pmg":"","internals2.structure.modstruct.struct-values.only-with-zts":"","internals2.structure.modstruct.struct-values.only-without-zts":"","internals2.structure.modstruct.struct-values.given-by-smpe":"","internals2.structure.modstruct.struct-values":"Module structure field values","internals2.structure.modstruct.filling-it-in.counter-mod-ex":"Counter extension module definition","internals2.structure.modstruct.filling-it-in":"Filling in the structure in a practical situation","internals2.structure.modstruct.php53":"What's changed between 5.2 and 5.3?","internals2.structure.modstruct":"The zend_module structure","internals2.structure.globals.intro.wrong-way":"The wrong way to store the basic counter interface's value","internals2.structure.globals.intro":"Introduction to globals in a PHP extension","internals2.structure.globals.declaring.doth":"The counter module's globals","internals2.structure.globals.declaring.dotc":"The counter module's global structure declaration","internals2.structure.globals.declaring":"Declaring module globals","internals2.structure.globals.using.accessor":"Accessor macros for per-module globals","internals2.structure.globals.intro.right-way":"The right way to store the basic counter interface's value","internals2.structure.globals.using":"Accessing module globals","internals2.structure.globals":"Extension globals","internals2.structure.lifecycle.mod-vs-req":"Loading, unloading, and requests","internals2.structure.lifecycle.overview":"Overview","internals2.structure.lifecycle.what-when":"What to do, and when to do it","internals2.structure.lifecycle.info.counter":"counter's PHP_MINFO function","internals2.structure.lifecycle.info":"The phpinfo callback","internals2.structure.lifecycle":"Life cycle of an extension","internals2.structure.tests":"Testing an extension","internals2.structure":"Extension structure","internals2.pdo.prerequisites":"Prerequisites","internals2.pdo.preparation.layout":"Source directory layout","internals2.pdo.preparation.create-skel":"Creating a skeleton","internals2.pdo.preparation.std-includes.build-specific":"Build Specific Headers","internals2.pdo.preparation.std-includes.php":"PHP Headers","internals2.pdo.preparation.std-includes.pdo":"PDO Interface Headers","internals2.pdo.preparation.std-headers.driver-spec":"Driver Specific Headers","internals2.pdo.preparation.std-headers.optional":"Optional Headers","internals2.pdo.preparation.std-includes":"Standard Includes","internals2.pdo.preparation":"Preparation and Housekeeping","internals2.pdo.implementing.structures":"Major Structures and Attributes","internals2.pdo.implementing.skel.entries":"function entries","internals2.pdo.implementing.skel.module":"Module entry","internals2.pdo.implementing.skel.functions.minit":"PHP_MINIT_FUNCTION","internals2.pdo.implementing.skel.functions.mshutdown":"PHP_MSHUTDOWN_FUNCTION","internals2.pdo.implementing.skel.functions.minfo":"PHP_MINFO_FUNCTION","internals2.pdo.implementing.skel.functions":"Standard PHP Module Extension Functions","internals2.pdo.implementing.skel":"pdo_SKEL.c: PHP extension glue","internals2.pdo.implementing.driver.error.ex-macros":"Example macros for invoking pdo_SKEL_error","internals2.pdo.implementing.driver.error":"pdo_SKEL_error","internals2.pdo.implementing.driver.fetch-err":"pdo_SKEL_fetch_error_func","internals2.pdo.implementing.driver.handle-closer":"SKEL_handle_closer","internals2.pdo.implementing.preparer.ex-parse-params":"Using pdo_parse_params","internals2.pdo.implementing.preparer.ex-no-native-prep":"Implementing preparer for drivers that don't support native prepared statements","internals2.pdo.preparer":"SKEL_handle_preparer","internals2.pdo.implementing.driver.handle-doer":"SKEL_handle_doer","internals2.pdo.implementing.driver.handle-quoter":"SKEL_handle_quoter","internals2.pdo.implementing.driver.handle-begin":"SKEL_handle_begin","internals2.pdo.implementing.driver.handle-commit":"SKEL_handle_commit","internals2.pdo.implementing.driver.handle-rollback":"SKEL_handle_rollback","internals2.pdo.implementing.driver.get-attr":"SKEL_handle_get_attribute","internals2.pdo.implementing.driver.set-attr":"SKEL_handle_set_attribute","internals2.pdo.implementing.driver.last-id":"SKEL_handle_last_id","internals2.pdo.implementing.driver.check-live":"SKEL_check_liveness","internals2.pdo.implementing.driver.get-methods":"SKEL_get_driver_methods","internals2.pdo.implementing.driver.handle-factory":"SKEL_handle_factory","internals2.pdo.implementing.driver.method-table":"Driver method table","internals2.pdo.implementing.driver.skeldriver":"pdo_SKEL_driver","internals2.pdo.implementing.driver":"SKEL_driver.c: Driver implementation","internals2.pdo.implementing.statement.dtor":"SKEL_stmt_dtor","internals2.pdo.implementing.statement.exec":"SKEL_stmt_execute","internals2.pdo.implementing.statement.fetch":"SKEL_stmt_fetch","internals2.pdo.implementing.statement.param-hook":"SKEL_stmt_param_hook","internals2.pdo.implementing.statement.desc-col":"SKEL_stmt_describe_col","internals2.pdo.implementing.statement.get-col-data":"SKEL_stmt_get_col_data","internals2.pdo.implementing.statement.set-attr":"SKEL_stmt_set_attr","internals2.pdo.implementing.statement.get-attr":"SKEL_stmt_get_attr","internals2.pdo.implementing.statement.get-col-meta":"SKEL_stmt_get_col_meta","internals2.pdo.implementing.statement.method-table":"Statement handling method table","internals2.pdo.implementing.statement":"SKEL_statement.c: Statement implementation","internals2.pdo.implementing":"Fleshing out your skeleton","internals2.pdo.building":"Building","internals2.pdo.testing":"Testing","internals2.pdo.packaging.creating":"Creating a package","internals2.pdo.packaging.creating.releasing":"Releasing the package","internals2.pdo.packaging":"Packaging and distribution","internals2.pdo.dbh.co.methods":"","internals2.pdo.dbh.co.driver-data":"","internals2.pdo.dbh.co.credentials":"","internals2.pdo.dbh.co.is-persist":"","internals2.pdo.dbh.co.auto-commit":"","internals2.pdo.dbh.co.alloc-own":"","internals2.pdo.dbh.co.max-esc":"","internals2.pdo.dbh.co.dsn":"","internals2.pdo.dbh.co.error-code":"","internals2.pdo.dbh.co-ncase":"","internals2.pdo.dbh.co.methods-co":"","internals2.pdo.dbh.co.driver-data-co":"","internals2.pdo.dbh.co.credentials-co":"","internals2.pdo.dbh.co.is-persist-co":"","internals2.pdo.dbh.co.auto-commit-co":"","internals2.pdo.dbh.co.alloc-own-co":"","internals2.pdo.dbh.co.max-esc-co":"","internals2.pdo.dbh.co.dsn-co":"","internals2.pdo.dbh.co.error-code-co":"","internals2.pdo.dbh.co-ncase-co":"","internals2.pdo.pdo-dbh-t":"pdo_dbh_t definition","internals2.pdo.stmt.co.methods":"","internals2.pdo.stmt.co.driver-data":"","internals2.pdo.stmt.co.executed":"","internals2.pdo.stmt.co.holder":"","internals2.pdo.stmt.co.colcount":"","internals2.pdo.stmt.co.cols":"","internals2.pdo.stmt.co.methods-co":"","internals2.pdo.stmt.co.driver-data-co":"","internals2.pdo.stmt.co.executed-co":"","internals2.pdo.stmt.co.holder-co":"","internals2.pdo.stmt.co.colcount-co":"","internals2.pdo.stmt.co.cols-co":"","internals2.pdo.pdo-stmt-t":"pdo_stmt_t definition","internals2.pdo.table.attributes":"Database and Statement Attributes Table","internals2.pdo.constants":"Constants","internals2.pdo.error-handling":"Error handling","internals2.pdo":"PDO Driver How-To","internals2.faq":"Extension FAQs","internals2.apiref":"Zend Engine 2 API reference","internals2.opcodes.preface":"Opcode List","internals2.opcodes.add.code":"PHP code","internals2.opcodes.add.listing":"PHP opcodes","internals2.opcodes.add":"ADD","internals2.opcodes.add-array-element.code":"PHP code","internals2.opcodes.add-array-element.listing":"PHP opcodes","internals2.opcodes.add-array-element":"ADD_ARRAY_ELEMENT","internals2.opcodes.add-char.code":"PHP code","internals2.opcodes.add-char.listing":"PHP opcodes","internals2.opcodes.add-char":"ADD_CHAR","internals2.opcodes.add-interface.code":"PHP code","internals2.opcodes.add-interface":"ADD_INTERFACE","internals2.opcodes.add-string.code":"PHP code","internals2.opcodes.add-string.listing":"PHP opcodes","internals2.opcodes.add-string":"ADD_STRING","internals2.opcodes.add-var.code":"PHP code","internals2.opcodes.add-var.listing":"PHP opcodes","internals2.opcodes.add-var":"ADD_VAR","internals2.opcodes.assign.code":"PHP code","internals2.opcodes.assign.listing":"PHP opcodes","internals2.opcodes.assign":"ASSIGN","internals2.opcodes.assign-add.code":"PHP code","internals2.opcodes.assign-add.listing":"PHP opcodes","internals2.opcodes.assign-add":"ASSIGN_ADD","internals2.opcodes.assign-bw-and.code":"PHP code","internals2.opcodes.assign-bw-and.listing":"PHP opcodes","internals2.opcodes.assign-bw-and":"ASSIGN_BW_AND","internals2.opcodes.assign-bw-or.code":"PHP code","internals2.opcodes.assign-bw-or.listing":"PHP opcodes","internals2.opcodes.assign-bw-or":"ASSIGN_BW_OR","internals2.opcodes.assign-bw-xor.code":"PHP code","internals2.opcodes.assign-bw-xor.listing":"PHP opcodes","internals2.opcodes.assign-bw-xor":"ASSIGN_BW_XOR","internals2.opcodes.assign-concat.code":"PHP code","internals2.opcodes.assign-concat.listing":"PHP opcodes","internals2.opcodes.assign-concat":"ASSIGN_CONCAT","internals2.opcodes.assign-dim.code":"PHP code","internals2.opcodes.assign-dim.listing":"PHP opcodes","internals2.opcodes.assign-dim":"ASSIGN_DIM","internals2.opcodes.assign-div.code":"PHP code","internals2.opcodes.assign-div.listing":"PHP opcodes","internals2.opcodes.assign-div":"ASSIGN_DIV","internals2.opcodes.assign-mod.code":"PHP code","internals2.opcodes.assign-mod.listing":"PHP opcodes","internals2.opcodes.assign-mod":"ASSIGN_MOD","internals2.opcodes.assign-mul.code":"PHP code","internals2.opcodes.assign-mul.listing":"PHP opcodes","internals2.opcodes.assign-mul":"ASSIGN_MUL","internals2.opcodes.assign-obj.code":"PHP code","internals2.opcodes.assign-obj.listing":"PHP opcodes","internals2.opcodes.assign-obj":"ASSIGN_OBJ","internals2.opcodes.assign-ref.code":"PHP code","internals2.opcodes.assign-ref.listing":"PHP opcodes","internals2.opcodes.assign-ref":"ASSIGN_REF","internals2.opcodes.assign-sl.code":"PHP code","internals2.opcodes.assign-sl.listing":"PHP opcodes","internals2.opcodes.assign-sl":"ASSIGN_SL","internals2.opcodes.assign-sr.code":"PHP code","internals2.opcodes.assign-sr.listing":"PHP opcodes","internals2.opcodes.assign-sr":"ASSIGN_SR","internals2.opcodes.assign-sub.code":"PHP code","internals2.opcodes.assign-sub.listing":"PHP opcodes","internals2.opcodes.assign-sub":"ASSIGN_SUB","internals2.opcodes.begin-silence.code":"PHP code","internals2.opcodes.begin-silence.listing":"PHP opcodes","internals2.opcodes.begin-silence":"BEGIN_SILENCE","internals2.opcodes.bool.code":"PHP code","internals2.opcodes.bool.listing":"PHP opcodes","internals2.opcodes.bool":"BOOL","internals2.opcodes.bool-not.code":"PHP code","internals2.opcodes.bool-not.listing":"PHP opcodes","internals2.opcodes.bool-not":"BOOL_NOT","internals2.opcodes.bool-xor.code":"PHP code","internals2.opcodes.bool-xor.listing":"PHP opcodes","internals2.opcodes.bool-xor":"BOOL_XOR","internals2.opcodes.brk.code":"PHP code","internals2.opcodes.brk.listing":"PHP opcodes","internals2.opcodes.brk":"BRK","internals2.opcodes.bw-and.code":"PHP code","internals2.opcodes.bw-and.listing":"PHP opcodes","internals2.opcodes.bw-and":"BW_AND","internals2.opcodes.bw-not.code":"PHP code","internals2.opcodes.bw-not.listing":"PHP opcodes","internals2.opcodes.bw-not":"BW_NOT","internals2.opcodes.bw-or.code":"PHP code","internals2.opcodes.bw-or.listing":"PHP opcodes","internals2.opcodes.bw-or":"BW_OR","internals2.opcodes.bw-xor.code":"PHP code","internals2.opcodes.bw-xor.listing":"PHP opcodes","internals2.opcodes.bw-xor":"BW_XOR","internals2.opcodes.case.code":"PHP code","internals2.opcodes.case.listing":"PHP opcodes","internals2.opcodes.case":"CASE","internals2.opcodes.cast.code":"PHP code","internals2.opcodes.cast.listing":"PHP opcodes","internals2.opcodes.cast":"CAST","internals2.opcodes.catch.code":"PHP code","internals2.opcodes.catch.listing":"PHP opcodes","internals2.opcodes.catch":"CATCH","internals2.opcodes.clone.code":"PHP code","internals2.opcodes.clone.listing":"PHP opcodes","internals2.opcodes.clone":"CLONE","internals2.opcodes.concat.code":"PHP code","internals2.opcodes.concat.listing":"PHP opcodes","internals2.opcodes.concat":"CONCAT","internals2.opcodes.cont.code":"PHP code","internals2.opcodes.cont.listing":"PHP opcodes","internals2.opcodes.cont":"CONT","internals2.opcodes.declare-class.code":"PHP code","internals2.opcodes.declare-class.listing":"PHP opcodes","internals2.opcodes.declare-class":"DECLARE_CLASS","internals2.opcodes.declare-const.code":"PHP code","internals2.opcodes.declare-const":"DECLARE_CONST","internals2.opcodes.declare-function.code":"PHP code","internals2.opcodes.declare-function.listing":"PHP opcodes","internals2.opcodes.declare-function":"DECLARE_FUNCTION","internals2.opcodes.declare-inherited-class.code":"PHP code","internals2.opcodes.declare-inherited-class.listing":"PHP opcodes","internals2.opcodes.declare-inherited-class":"DECLARE_INHERITED_CLASS","internals2.opcodes.declare-inherited-class-delayed.code":"PHP code","internals2.opcodes.declare-inherited-class-delayed":"DECLARE_INHERITED_CLASS_DELAYED","internals2.opcodes.div.code":"PHP code","internals2.opcodes.div.listing":"PHP opcodes","internals2.opcodes.div":"DIV","internals2.opcodes.do-fcall.code":"PHP code","internals2.opcodes.do-fcall.listing":"PHP opcodes","internals2.opcodes.do-fcall":"DO_FCALL","internals2.opcodes.do-fcall-by-name.code":"PHP code","internals2.opcodes.do-fcall-by-name.listing":"PHP opcodes","internals2.opcodes.do-fcall-by-name":"DO_FCALL_BY_NAME","internals2.opcodes.echo.code":"PHP code","internals2.opcodes.echo.listing":"PHP opcodes","internals2.opcodes.echo":"ECHO","internals2.opcodes.end-silence.code":"PHP code","internals2.opcodes.end-silence.listing":"PHP opcodes","internals2.opcodes.end-silence":"END_SILENCE","internals2.opcodes.exit.code":"PHP code","internals2.opcodes.exit.listing":"PHP opcodes","internals2.opcodes.exit":"EXIT","internals2.opcodes.ext-fcall-begin.code":"PHP code","internals2.opcodes.ext-fcall-begin":"EXT_FCALL_BEGIN","internals2.opcodes.ext-fcall-end.code":"PHP code","internals2.opcodes.ext-fcall-end":"EXT_FCALL_END","internals2.opcodes.ext-nop.code":"PHP code","internals2.opcodes.ext-nop":"EXT_NOP","internals2.opcodes.ext-stmt.code":"PHP code","internals2.opcodes.ext-stmt":"EXT_STMT","internals2.opcodes.fe-fetch.code":"PHP code","internals2.opcodes.fe-fetch.listing":"PHP opcodes","internals2.opcodes.fe-fetch":"FE_FETCH","internals2.opcodes.fe-reset.code":"PHP code","internals2.opcodes.fe-reset.listing":"PHP opcodes","internals2.opcodes.fe-reset":"FE_RESET","internals2.opcodes.fetch-class.code":"PHP code","internals2.opcodes.fetch-class.listing":"PHP opcodes","internals2.opcodes.fetch-class":"FETCH_CLASS","internals2.opcodes.fetch-constant.code":"PHP code","internals2.opcodes.fetch-constant.listing":"PHP opcodes","internals2.opcodes.fetch-constant":"FETCH_CONSTANT","internals2.opcodes.fetch-dim-func-arg.code":"PHP code","internals2.opcodes.fetch-dim-func-arg.listing":"PHP opcodes","internals2.opcodes.fetch-dim-func-arg":"FETCH_DIM_FUNC_ARG","internals2.opcodes.fetch-dim-is.code":"PHP code","internals2.opcodes.fetch-dim-is":"FETCH_DIM_IS","internals2.opcodes.fetch-dim-r.code":"PHP code","internals2.opcodes.fetch-dim-r.listing":"PHP opcodes","internals2.opcodes.fetch-dim-r":"FETCH_DIM_R","internals2.opcodes.fetch-dim-rw.code":"PHP code","internals2.opcodes.fetch-dim-rw.listing":"PHP opcodes","internals2.opcodes.fetch-dim-rw":"FETCH_DIM_RW","internals2.opcodes.fetch-dim-tmp-var.code":"PHP code","internals2.opcodes.fetch-dim-tmp-var.listing":"PHP opcodes","internals2.opcodes.fetch-dim-tmp-var":"FETCH_DIM_TMP_VAR","internals2.opcodes.fetch-dim-unset.code":"PHP code","internals2.opcodes.fetch-dim-unset":"FETCH_DIM_UNSET","internals2.opcodes.fetch-dim-w.code":"PHP code","internals2.opcodes.fetch-dim-w.listing":"PHP opcodes","internals2.opcodes.fetch-dim-w":"FETCH_DIM_W","internals2.opcodes.fetch-func-arg.code":"PHP code","internals2.opcodes.fetch-func-arg.listing":"PHP opcodes","internals2.opcodes.fetch-func-arg":"FETCH_FUNC_ARG","internals2.opcodes.fetch-is.code":"PHP code","internals2.opcodes.fetch-is.listing":"PHP opcodes","internals2.opcodes.fetch-is":"FETCH_IS","internals2.opcodes.fetch-obj-func-arg.code":"PHP code","internals2.opcodes.fetch-obj-func-arg.listing":"PHP opcodes","internals2.opcodes.fetch-obj-func-arg":"FETCH_OBJ_FUNC_ARG","internals2.opcodes.fetch-obj-is.code":"PHP code","internals2.opcodes.fetch-obj-is":"FETCH_OBJ_IS","internals2.opcodes.fetch-obj-r.code":"PHP code","internals2.opcodes.fetch-obj-r.listing":"PHP opcodes","internals2.opcodes.fetch-obj-r":"FETCH_OBJ_R","internals2.opcodes.fetch-obj-rw.code":"PHP code","internals2.opcodes.fetch-obj-rw.listing":"PHP opcodes","internals2.opcodes.fetch-obj-rw":"FETCH_OBJ_RW","internals2.opcodes.fetch-obj-unset.code":"PHP code","internals2.opcodes.fetch-obj-unset":"FETCH_OBJ_UNSET","internals2.opcodes.fetch-obj-w.code":"PHP code","internals2.opcodes.fetch-obj-w.listing":"PHP opcodes","internals2.opcodes.fetch-obj-w":"FETCH_OBJ_W","internals2.opcodes.fetch-r.code":"PHP code","internals2.opcodes.fetch-r.listing":"PHP opcodes","internals2.opcodes.fetch-r":"FETCH_R","internals2.opcodes.fetch-rw.code":"PHP code","internals2.opcodes.fetch-rw.listing":"PHP opcodes","internals2.opcodes.fetch-rw":"FETCH_RW","internals2.opcodes.fetch-unset.code":"PHP code","internals2.opcodes.fetch-unset":"FETCH_UNSET","internals2.opcodes.fetch-w.code":"PHP code","internals2.opcodes.fetch-w.listing":"PHP opcodes","internals2.opcodes.fetch-w":"FETCH_W","internals2.opcodes.free.code":"PHP code","internals2.opcodes.free.listing":"PHP opcodes","internals2.opcodes.free":"FREE","internals2.opcodes.goto.code":"PHP code","internals2.opcodes.goto":"GOTO","internals2.opcodes.handle-exception.code":"PHP code","internals2.opcodes.handle-exception.listing":"PHP opcodes","internals2.opcodes.handle-exception":"HANDLE_EXCEPTION","internals2.opcodes.include-or-eval.code":"PHP code","internals2.opcodes.include-or-eval.listing":"PHP opcodes","internals2.opcodes.include-or-eval":"INCLUDE_OR_EVAL","internals2.opcodes.init-array.code":"PHP code","internals2.opcodes.init-array.listing":"PHP opcodes","internals2.opcodes.init-array":"INIT_ARRAY","internals2.opcodes.init-fcall-by-name.code":"PHP code","internals2.opcodes.init-fcall-by-name.listing":"PHP opcodes","internals2.opcodes.init-fcall-by-name":"INIT_FCALL_BY_NAME","internals2.opcodes.init-method-call.code":"PHP code","internals2.opcodes.init-method-call.listing":"PHP opcodes","internals2.opcodes.init-method-call":"INIT_METHOD_CALL","internals2.opcodes.init-ns-fcall-by-name.code":"PHP code","internals2.opcodes.init-ns-fcall-by-name":"INIT_NS_FCALL_BY_NAME","internals2.opcodes.init-static-method-call.code":"PHP code","internals2.opcodes.init-static-method-call.listing":"PHP opcodes","internals2.opcodes.init-static-method-call":"INIT_STATIC_METHOD_CALL","internals2.opcodes.init-string.code":"PHP code","internals2.opcodes.init-string.listing":"PHP opcodes","internals2.opcodes.init-string":"INIT_STRING","internals2.opcodes.instanceof.code":"PHP code","internals2.opcodes.instanceof.listing":"PHP opcodes","internals2.opcodes.instanceof":"INSTANCEOF","internals2.opcodes.is-equal.code":"PHP code","internals2.opcodes.is-equal.listing":"PHP opcodes","internals2.opcodes.is-equal":"IS_EQUAL","internals2.opcodes.is-identical.code":"PHP code","internals2.opcodes.is-identical.listing":"PHP opcodes","internals2.opcodes.is-identical":"IS_IDENTICAL","internals2.opcodes.is-not-equal.code":"PHP code","internals2.opcodes.is-not-equal.listing":"PHP opcodes","internals2.opcodes.is-not-equal":"IS_NOT_EQUAL","internals2.opcodes.is-not-identical.code":"PHP code","internals2.opcodes.is-not-identical.listing":"PHP opcodes","internals2.opcodes.is-not-identical":"IS_NOT_IDENTICAL","internals2.opcodes.is-smaller.code":"PHP code","internals2.opcodes.is-smaller.listing":"PHP opcodes","internals2.opcodes.is-smaller":"IS_SMALLER","internals2.opcodes.is-smaller-or-equal.code":"PHP code","internals2.opcodes.is-smaller-or-equal.listing":"PHP opcodes","internals2.opcodes.is-smaller-or-equal":"IS_SMALLER_OR_EQUAL","internals2.opcodes.isset-isempty-dim-obj.code":"PHP code","internals2.opcodes.isset-isempty-dim-obj.listing":"PHP opcodes","internals2.opcodes.isset-isempty-dim-obj":"ISSET_ISEMPTY_DIM_OBJ","internals2.opcodes.isset-isempty-prop-obj.code":"PHP code","internals2.opcodes.isset-isempty-prop-obj.listing":"PHP opcodes","internals2.opcodes.isset-isempty-prop-obj":"ISSET_ISEMPTY_PROP_OBJ","internals2.opcodes.isset-isempty-var.code":"PHP code","internals2.opcodes.isset-isempty-var.listing":"PHP opcodes","internals2.opcodes.isset-isempty-var":"ISSET_ISEMPTY_VAR","internals2.opcodes.jmp.code":"PHP code","internals2.opcodes.jmp.listing":"PHP opcodes","internals2.opcodes.jmp":"JMP","internals2.opcodes.jmpnz.code":"PHP code","internals2.opcodes.jmpnz.listing":"PHP opcodes","internals2.opcodes.jmpnz":"JMPNZ","internals2.opcodes.jmpnz-ex.code":"PHP code","internals2.opcodes.jmpnz-ex.listing":"PHP opcodes","internals2.opcodes.jmpnz-ex":"JMPNZ_EX","internals2.opcodes.jmpz.code":"PHP code","internals2.opcodes.jmpz.listing":"PHP opcodes","internals2.opcodes.jmpz":"JMPZ","internals2.opcodes.jmpz-ex.code":"PHP code","internals2.opcodes.jmpz-ex.listing":"PHP opcodes","internals2.opcodes.jmpz-ex":"JMPZ_EX","internals2.opcodes.jmpznz.code":"PHP code","internals2.opcodes.jmpznz.listing":"PHP opcodes","internals2.opcodes.jmpznz":"JMPZNZ","internals2.opcodes.mod.code":"PHP code","internals2.opcodes.mod.listing":"PHP opcodes","internals2.opcodes.mod":"MOD","internals2.opcodes.mul.code":"PHP code","internals2.opcodes.mul.listing":"PHP opcodes","internals2.opcodes.mul":"MUL","internals2.opcodes.new.code":"PHP code","internals2.opcodes.new.listing":"PHP opcodes","internals2.opcodes.new":"NEW","internals2.opcodes.nop.code":"PHP code","internals2.opcodes.nop.listing":"PHP opcodes","internals2.opcodes.nop":"NOP","internals2.opcodes.post-dec.code":"PHP code","internals2.opcodes.post-dec.listing":"PHP opcodes","internals2.opcodes.post-dec":"POST_DEC","internals2.opcodes.post-dec-obj.code":"PHP code","internals2.opcodes.post-dec-obj.listing":"PHP opcodes","internals2.opcodes.post-dec-obj":"POST_DEC_OBJ","internals2.opcodes.post-inc.code":"PHP code","internals2.opcodes.post-inc.listing":"PHP opcodes","internals2.opcodes.post-inc":"POST_INC","internals2.opcodes.post-inc-obj.code":"PHP code","internals2.opcodes.post-inc-obj.listing":"PHP opcodes","internals2.opcodes.post-inc-obj":"POST_INC_OBJ","internals2.opcodes.pre-dec.code":"PHP code","internals2.opcodes.pre-dec.listing":"PHP opcodes","internals2.opcodes.pre-dec":"PRE_DEC","internals2.opcodes.pre-dec-obj.code":"PHP code","internals2.opcodes.pre-dec-obj.listing":"PHP opcodes","internals2.opcodes.pre-dec-obj":"PRE_DEC_OBJ","internals2.opcodes.pre-inc.code":"PHP code","internals2.opcodes.pre-inc.listing":"PHP opcodes","internals2.opcodes.pre-inc":"PRE_INC","internals2.opcodes.pre-inc-obj.code":"PHP code","internals2.opcodes.pre-inc-obj.listing":"PHP opcodes","internals2.opcodes.pre-inc-obj":"PRE_INC_OBJ","internals2.opcodes.print.code":"PHP code","internals2.opcodes.print.listing":"PHP opcodes","internals2.opcodes.print":"PRINT","internals2.opcodes.qm-assign.code":"PHP code","internals2.opcodes.qm-assign.listing":"PHP opcodes","internals2.opcodes.qm-assign":"QM_ASSIGN","internals2.opcodes.raise-abstract-error.code":"PHP code","internals2.opcodes.raise-abstract-error.listing":"PHP opcodes","internals2.opcodes.raise-abstract-error":"RAISE_ABSTRACT_ERROR","internals2.opcodes.recv.code":"PHP code","internals2.opcodes.recv.listing":"PHP opcodes","internals2.opcodes.recv":"RECV","internals2.opcodes.recv-init.code":"PHP code","internals2.opcodes.recv-init.listing":"PHP opcodes","internals2.opcodes.recv-init":"RECV_INIT","internals2.opcodes.return.code":"PHP code","internals2.opcodes.return.listing":"PHP opcodes","internals2.opcodes.return":"RETURN","internals2.opcodes.return-by-ref.code":"PHP code","internals2.opcodes.return-by-ref":"RETURN_BY_REF","internals2.opcodes.send-ref.code":"PHP code","internals2.opcodes.send-ref.listing":"PHP opcodes","internals2.opcodes.send-ref":"SEND_REF","internals2.opcodes.send-val.code":"PHP code","internals2.opcodes.send-val.listing":"PHP opcodes","internals2.opcodes.send-val":"SEND_VAL","internals2.opcodes.send-var.code":"PHP code","internals2.opcodes.send-var.listing":"PHP opcodes","internals2.opcodes.send-var":"SEND_VAR","internals2.opcodes.send-var-no-ref.code":"PHP code","internals2.opcodes.send-var-no-ref":"SEND_VAR_NO_REF","internals2.opcodes.sl.code":"PHP code","internals2.opcodes.sl.listing":"PHP opcodes","internals2.opcodes.sl":"SL","internals2.opcodes.sr.code":"PHP code","internals2.opcodes.sr.listing":"PHP opcodes","internals2.opcodes.sr":"SR","internals2.opcodes.sub.code":"PHP code","internals2.opcodes.sub.listing":"PHP opcodes","internals2.opcodes.sub":"SUB","internals2.opcodes.switch-free.code":"PHP code","internals2.opcodes.switch-free.listing":"PHP opcodes","internals2.opcodes.switch-free":"SWITCH_FREE","internals2.opcodes.throw.code":"PHP code","internals2.opcodes.throw.listing":"PHP opcodes","internals2.opcodes.throw":"THROW","internals2.opcodes.ticks.code":"PHP code","internals2.opcodes.ticks.listing":"PHP opcodes","internals2.opcodes.ticks":"TICKS","internals2.opcodes.unset-dim.code":"PHP code","internals2.opcodes.unset-dim.listing":"PHP opcodes","internals2.opcodes.unset-dim":"UNSET_DIM","internals2.opcodes.unset-obj.code":"PHP code","internals2.opcodes.unset-obj.listing":"PHP opcodes","internals2.opcodes.unset-obj":"UNSET_OBJ","internals2.opcodes.unset-var.code":"PHP code","internals2.opcodes.unset-var.listing":"PHP opcodes","internals2.opcodes.unset-var":"UNSET_VAR","internals2.opcodes.user-opcode.code":"PHP code","internals2.opcodes.user-opcode":"USER_OPCODE","internals2.opcodes.verify-abstract-class.code":"PHP code","internals2.opcodes.verify-abstract-class":"VERIFY_ABSTRACT_CLASS","internals2.opcodes.zend-declare-lambda-function.code":"PHP code","internals2.opcodes.zend-declare-lambda-function":"ZEND_DECLARE_LAMBDA_FUNCTION","internals2.opcodes.zend-jmp-set.code":"PHP code","internals2.opcodes.zend-jmp-set":"ZEND_JMP_SET","internals2.opcodes.list":"Opcode Descriptions and Examples","internals2.opcodes":"Zend Engine 2 Opcodes","internals2.ze1.intro":"Old introduction","internals2.ze1.streams.overview":"Overview","example-5560":"simple stream example that displays the PHP home page","internals2.ze1.streams.basics":"Streams Basics","example-5561":"How to accept a stream as a parameter","example-5562":"How to return a stream from a function","internals2.ze1.streams.resources":"Streams as Resources","internals2.ze1.streams.constants":"Streams open options","internals2.ze1.streams":"Streams API for PHP Extension Authors","internals2.ze1.zendapi.intro":"Introduction","internals2.ze1.zendapi.fig.internal-struct":"","internals2.ze1.zendapi.overview.whatisit":"What Is Zend? and What Is PHP?","internals2.ze1.zendapi.overview":"Overview","internals2.ze1.zendapi.possibilities.external":"External Modules","internals2.ze1.zendapi.possibilities.builtin":"Built-in Modules","internals2.ze1.zendapi.possibilities.engine":"The Zend Engine","internals2.ze1.zendapi.possibilities":"Extension Possibilities","internals2.ze1.zendapi.layout.conventions":"Extension Conventions","internals2.ze1.zendapi.layout.macros":"Macros","internals2.ze1.zendapi.layout.memory-management":"Memory Management","internals2.ze1.zendapi.layout.dir-and-file":"Directory and File Functions","internals2.ze1.zendapi.layout.string-handling":"String Handling","internals2.ze1.zendapi.layout.complex-types":"Complex Types","internals2.ze1.zendapi.layout":"Source Layout","internals2.ze1.zendapi.example.config.m4":"The default config.m4.","internals2.ze1.zendapi.build":"PHP's Automatic Build System","internals2.ze1.zendapi.example.simple":"A simple extension.","internals2.ze1.zendapi.creating.compiling":"Compiling Modules","internals2.ze1.zendapi.creating":"Creating Extensions","internals2.ze1.zendapi.example.testfile":"A test file for first_module.so.","internals2.ze1.zendapi.using":"Using Extensions","internals2.ze1.zendapi.troubleshooting":"Troubleshooting","internals2.ze1.zendapi.structure.module":"Module Structure","internals2.ze1.zendapi.structure.headers":"Header File Inclusions","internals2.ze1.zendapi.tab.parameters":"Zend's Parameters to Functions Called from PHP","internals2.ze1.zendapi.structure.exporting-functions":"Declaring Exported Functions","internals2.ze1.zendapi.example.zend-function-entry":"Internal declaration of zend_function_entry.","internals2.ze1.zendapi.tab.funcdef-macros":"Macros for Defining Functions","internals2.ze1.zendapi.structure.function-block":"Declaration of the Zend Function Block","internals2.ze1.zendapi.example.zend-module-entry":"Internal declaration of zend_module_entry.","internals2.ze1.zendapi.tab.init-shutdown":"Macros to Declare Startup and Shutdown Functions","internals2.ze1.zendapi.structure.module-block":"Declaration of the Zend Module Block","internals2.ze1.zendapi.structure.get-module":"Creation of get_module","internals2.ze1.zendapi.structure.implementation":"Implementation of All Exported Functions","internals2.ze1.zendapi.structure.summary":"Summary","internals2.ze1.zendapi.structure":"Source Discussion","internals2.ze1.zendapi.arguments.count":"Determining the Number of Arguments","internals2.ze1.zendapi.arguments.retrieval":"Retrieving Arguments","internals2.ze1.zendapi.arguments.deprecated-retrieval":"Old way of retrieving arguments (deprecated)","internals2.ze1.zendapi.example.fsockopen":"PHP's implementation of variable arguments in fsockopen().","internals2.ze1.zendapi.arguments.variable":"Dealing with a Variable Number of Arguments\/Optional Parameters","internals2.ze1.zendapi.tab.arg-conv":"Argument Conversion Functions","internals2.ze1.zendapi.fig.cross-convert":"","internals2.ze1.zendapi.example.zval-typedef":"PHP\/Zend zval type definition.","internals2.ze1.zendapi.tab.struct-zval":"Zend zval Structure","internals2.ze1.zendapi.tab.struct-zvalue-value":"Zend zvalue_value Structure","internals2.ze1.zendapi.tab.ztype-constants":"Zend Variable Type Constants","zend.arguments.access":"Accessing Arguments","internals2.ze1.zendapi.example.pass-by-ref":"Testing for referenced parameter passing.","internals2.ze1.zendapi.arguments.by-reference":"Dealing with Arguments Passed by Reference","internals2.ze1.zendapi.arguments.write-safety":"Assuring Write Safety for Other Parameters","internals2.ze1.zendapi.arguments":"Accepting Arguments","internals2.ze1.zendapi.example.variable-scopes":"Creating variables with different scopes.","internals2.ze1.zendapi.variables.overview":"Overview","internals2.ze1.zendapi.example.create-long":"Creation of a long.","internals2.ze1.zendapi.variables.long":"Longs (Integers)","internals2.ze1.zendapi.variables.float":"Doubles (Floats)","internals2.ze1.zendapi.variables.string":"Strings","internals2.ze1.zendapi.variables.boolean":"Booleans","internals2.ze1.zendapi.tab.api-assoc-arrays":"Zend's API for Associative Arrays","internals2.ze1.zendapi.tab.api-indexed-arrays":"Zend's API for Indexed Arrays, Part 1","internals2.ze1.zendapi.tab.api-indexed-array-2":"Zend's API for Indexed Arrays, Part 2","internals2.ze1.zendapi.example.array-add-assoc":"Adding an element to an associative array.","internals2.ze1.zendapi.example.array-add-indexed":"Adding an element to an indexed array.","internals2.ze1.zendapi.variables.array":"Arrays","internals2.ze1.zendapi.tab.object-creation":"Zend's API for Object Creation","internals2.ze1.zendapi.variables.object":"Objects","zend.variables.resource":"Resources","internals2.ze1.zendapi.tab.macros-global-vars":"Macros for Global Variable Creation","internals2.ze1.zendapi.variables.global":"Macros for Automatic Global Variable Creation","internals2.ze1.zendapi.tab.create-const":"Macros for Creating Constants","internals2.ze1.zendapi.variables.constant":"Creating Constants","internals2.ze1.zendapi.variables":"Creating Variables","internals2.ze1.zendapi.copy-constructor":"Duplicating Variable Contents: The Copy Constructor","internals2.ze1.zendapi.tab.return":"Predefined Macros for Returning Values from a\n Function","internals2.ze1.zendapi.tab.retval":"Predefined Macros for Setting the Return Value\n of a Function","internals2.ze1.zendapi.returning":"Returning Values","internals2.ze1.zendapi.printing.zend-printf":"zend_printf","internals2.ze1.zendapi.tab.error-messages":"Zend's Predefined Error Messages.","internals2.ze1.zendapi.fig.warning-messages":"","internals2.ze1.zendapi.printing.zend-error":"zend_error","internals2.ze1.zendapi.example.phpinfo":"Source code and screenshot for output in phpinfo.","internals2.ze1.zendapi.printing.phpinfo":"Including Output in phpinfo","internals2.ze1.zendapi.example.exec-info":"Printing execution information.","internals2.ze1.zendapi.printing.execution":"Execution Information","internals2.ze1.zendapi.printing":"Printing Information","internals2.ze1.zendapi.startup-and-shutdown":"Startup and Shutdown Functions","internals2.ze1.zendapi.example.call-user-func":"Calling user functions.","internals2.ze1.zendapi.calling-user-functions":"Calling User Functions","internals2.ze1.zendapi.table.ini-macros":"Macros to Access Initialization Entries in PHP","internals2.ze1.zendapi.ini-file-support":"Initialization File Support","internals2.ze1.zendapi.where-to-go":"Where to Go from Here","internals2.ze1.zendapi.tab.m4-macros":"M4 Macros for config.m4","internals2.ze1.zendapi.configuration-macros.config-m4":"config.m4","internals2.ze1.zendapi.configuration-macros":"Reference: Some Configuration Macros","internals2.ze1.zendapi.tab.api-macros":"API Macros for Accessing zval Containers","internals2.ze1.zendapi.api-macros":"API Macros","internals2.ze1.zendapi":"Zend API: Hacking the Core of PHP","internals2.ze1.tsrm":"TSRM API","internals2.ze1":"Zend Engine 1","internals2":"PHP at the Core: A Hacker's Guide","faq.general.what":"","faq.general.acronym":"","faq.general.relation-versions":"","faq.general.running-concurent":"","faq.general.differences-45":"","faq.general.bug":"","faq.general":"General Information","faq.mailinglist.isthere":"","faq.mailinglist.others":"","faq.mailinglist.myown":"","faq.mailinglist.subscribing":"","faq.mailinglist.archive":"","faq.mailinglist.question":"","faq.mailinglist.guideline":"","faq.mailinglist":"Mailing lists","faq.obtaining.where":"","faq.obtaining.precompiled":"","faq.obtaining.optional":"","faq.obtaining.how":"","faq.obtaining.compilent":"","faq.obtaining.browscap":"","faq.obtaining.threadsafety":"","faq.obtaining":"Obtaining PHP","faq.databases.mssql":"","faq.databases.access":"","faq.databases.mysql.deprecated":"","faq.databases.mysql.php5":"","faq.databases.shared-mysql":"","faq.databases.mysqlresource":"","faq.databases":"Database issues","faq.installation.apache2":"","faq.installation.phpini":"","faq.installation.nodata":"","faq.installation.processing":"","faq.installation.frontpage":"","faq.installation.blankscreen":"","faq.installation.500error":"","faq.installation.undefinedsyms":"","faq.installation.cgierror":"","faq.installation.phpandiis":"","faq.installation.forceredirect":"","faq.installation.findphpini":"","faq.installation.addtopath":"","faq.installation.phprc":"","faq.installation.apache.multiviews":"","faq.installation.requestmethods":"","faq.installation":"Installation","faq.build.configure":"","faq.build.configuring":"","faq.build.lex":"","faq.build.apache-sharedcore":"","faq.build.not-found":"","faq.build.yytname":"","faq.build.link":"","faq.build.undefined":"","faq.build.apache":"","faq.build.not-running":"","faq.build.activate-module":"","faq.build.ansi":"","faq.build.apxs":"","faq.build.microtime":"","faq.build.mysql.tempnam":"","faq.build.upgrade":"","faq.build.gdlibs":"","faq.installation.needgnu":"","faq.build":"Build Problems","faq.using.parameterorder":"","faq.using.anyform":"Superglobals: availability note","faq.using.addslashes":"directive note: magic_quotes_gpc","faq.using.stripslashes":"directive note: magic_quotes_gpc","faq.register-globals":"","faq.using.wrong-order":"","faq.using.newlines":"","faq.using.headers-sent":"","faq.using.header":"","faq.using.authentication":"","faq.using.iis.sharing":"","faq.using.mixml":"","faq.using.variables":"register_globals: important\nnote","faq.using.freepdf":"","faq.using.cgi-vars":"Superglobals: availability note","faq.using.shorthandbytes":"kilobyte versus kibibyte","faq.using.windowslocalhostissue":"","faq.using":"Using PHP","faq.passwords.hashing":"","faq.passwords.fasthash":"","faq.passwords.bestpractice":"","faq.passwords.salt":"","faq.passwords":"Safe Password Hashing","example-5578":"A hidden HTML form element","example-5579":"Data to be edited by the user","example-5580":"In a URL","faq.html.encoding":"","faq.html.form-image":"","faq.html.arrays":"","faq.html.select-multiple":"","example-5581":"Generating Javascript with PHP","faq.html.javascript-variable":"","faq.html":"PHP and HTML","faq.com.q1":"","faq.com.q2":"","faq.com.q3":"","faq.com.q4":"","faq.com.q5":"","faq.com.q6":"","faq.com.q7":"","faq.com.q8":"","faq.com.q9":"","faq.com.q10":"","faq.com.q11":"","faq.com.q12":"","faq.com.q13":"","faq.com.q14":"","faq.com.q15":"","faq.com":"PHP and COM","faq.languages.asp":"","faq.languages.coldfusion":"","faq.languages.perl":"","faq.languages":"PHP and other languages","faq.migration5.php45":"","faq.migration5.mysql":"","faq.migration5.oop":"","faq.migration5.changes":"","faq.migration5":"Migrating from PHP 4 to PHP 5","faq.misc.bz2":"","faq.misc.arguments.references":"","example-5582":"Emulating Register Globals","faq.misc.registerglobals":"","faq.misc":"Miscellaneous Questions","faq":"FAQ: Frequently Asked Questions","example-5583":"Example PHP\/FI Code","history.phpfi":"PHP Tools, FI, Construction Kit, and PHP\/FI","history.php3":"PHP 3","history.php4":"PHP 4","history.php5":"PHP 5","history.php":"History of PHP","history.pear":"PEAR","history.phpqa":"PHP Quality Assurance Initiative","history.phpgtk":"PHP-GTK","history.php.related":"History of PHP related projects","history.php.books":"Books about PHP","history.php.publications":"Publications about PHP","history":"History of PHP and Related Projects","migration55.changes":"What has changed in PHP 5.5.x","migration55.incompatible.windows":"Windows XP and 2003 support dropped","migration55.incompatible.case":"Case insensitivity no longer locale specific","migration55.incompatible.pack":"pack and unpack changes","migration55.incompatible.self-parent-static":"self, parent and static are now always case insensitive","migration55.incompatible.guid":"PHP logo GUIDs removed","migration55.incompatible.execution":"Internal execution changes","migration55.incompatible":"Backward Incompatible Changes","migration55.new-features.generators":"Generators added","migration55.new-features.finally":"finally keyword added","migration55.new-features.password":"New password hashing API","migration55.new-features.foreach-list":"foreach now supports list","migration55.new-features.empty":"empty supports arbitrary expressions","migration55.new-features.const-dereferencing":"array and string literal dereferencing","migration55.new-features.class-name":"Class name resolution via ::class","migration55.new-features.opcache":"OPcache extension added","migration55.new-features.non-scalar-iterator-keys":"foreach now supports non-scalar keys","migration55.new-features.windows-apache":"Apache 2.4 handler supported on Windows","migration55.new-features.gd":"Improvements to GD","migration55.new-features":"New features","migration55.deprecated.mysql":"ext\/mysql deprecation","migration55.deprecated.preg-replace-e":"preg_replace \/e modifier","migration55.deprecated.intl":"intl deprecations","migration55.deprecated.mcrypt":"mcrypt deprecations","migration55.deprecated":"Deprecated features in PHP 5.5.x","migration55.changed-functions.core":"PHP Core","migration55.changed-functions.intl":"intl","migration55.changed-functions":"Changed Functions","migration55.new-functions.core":"PHP Core","migration55.new-functions.hash":"Hash","migration55.new-functions.openssl":"OpenSSL","migration55.new-functions.curl":"cURL","migration55.new-functions.gd":"GD","migration55.new-functions.mysqli":"MySQLi","migration55.new-functions.pgsql":"PostgreSQL","migration55.new-functions.sockets":"Sockets","migration55.new-functions.cli":"CLI","migration55.new-functions.intl":"Intl","migration55.new-features.spl":"SPL","migration55.new-functions":"New Functions","migration55.classes.curl":"cURL","migration55.classes.datetime":"Date and Time","migration55.classes.intl":"Intl","migration55.classes":"New Classes and Interfaces","migration55.new-methods.mysqli":"MySQLi","migration55.new-methods.intl":"Intl","migration55.new-methods":"New Methods","migration55.extensions-other.intl":"Intl","migration55.extensions-other":"Other changes to extensions","migration55.global-constants.gd":"GD","migration55.global-constants.json":"JSON","migration55.global-constants.mysqli":"MySQLi","migration55.global-constants":"New Global Constants","migrations55.ini.intl":"Intl","migration55.ini.mysqlnd":"MySQLnd","migration55.ini":"Changes to INI file handling","migration55.internals":"Changes to PHP Internals","migration55":"Migrating from PHP 5.4.x to PHP 5.5.x","migration54.changes":"What has changed in PHP 5.4.x","migration54.incompatible":"Backward Incompatible Changes","migration54.new-features":"New features","migration54.sapi":"Changes in SAPI modules","migration54.deprecated":"Deprecated features in PHP 5.4.x","migration54.parameters":"Changed Functions","migration54.functions":"New Functions","migration54.classes":"New Classes and Interfaces","migration54.methods":"New Methods","migration54.removed-extensions":"Removed Extensions","migration54.extensions-other":"Other changes to extensions","migration54.global-constants":"New Global Constants","migration54.ini":"Changes to INI file handling","migration54.other":"Other changes","migration54":"Migrating from PHP 5.3.x to PHP 5.4.x","migration53.changes":"What has changed in PHP 5.3.x","migration53.incompatible":"Backward Incompatible Changes","migration53.new-features":"New features","migration53.windows":"Changes made to Windows support","migration53.sapi":"Changes in SAPI modules","migration53.deprecated":"Deprecated features in PHP 5.3.x","migration53.undeprecated":"Undeprecated features in PHP 5.3.x","migration53.parameters":"New Parameters","migration53.functions":"New Functions","migration53.new-stream-wrappers":"New stream wrappers","migration53.new-stream-filters":"New stream filters","migration53.class-constants":"New Class Constants","migration53.methods":"New Methods","migration53.new-extensions":"New Extensions","migration53.removed-extensions":"Removed Extensions","migration53.extensions-other":"Other changes to extensions","migration53.classes":"New Classes","migration53.global-constants":"New Global Constants","migration53.ini":"Changes to INI file handling","migration53.other":"Other changes","migration53":"Migrating from PHP 5.2.x to PHP 5.3.x","migration52.changes":"What has changed in PHP 5.2.x","migration52.incompatible":"Backward Incompatible Changes","example-5584":"In PHP Core","example-5585":"Object Oriented Code in PHP Core","example-5586":"In the bzip2 Extension","example-5587":"In the datetime Extension","example-5588":"In the dBase Extension","example-5589":"In the mcrypt Extension","example-5590":"In the oci8 Extension","example-5591":"In the SPL Extension","example-5592":"In the Semaphore (sysvmsg) extension","example-5593":"A 5.2.1+ Zip Example","migration52.error-messages":"New Error Messages","migration52.datetime":"Changes in PHP datetime\n support","migration52.parameters":"New Parameters","migration52.functions":"New Functions","migration52.methods":"New Methods","migration52.removed-extensions":"Removed Extensions","migration52.new-extensions":"New Extensions","migration52.classes":"New Classes","migration52.global-constants":"New Global Constants","migration52.class-constants":"New Class Constants","migration52.newconf":"New INI Configuration Directives","migration52.errorrep":"Error Reporting","migration52.other":"Other Enhancements","migration52":"Migrating from PHP 5.1.x to PHP 5.2.x","migration51.changes":"Key PHP 5.1.x features","migration51.references-overview":"Overview","migration51.references-fails":"Code that worked under PHP 4.3, but now fails","migration51.references-error":"Code that worked under PHP 4.3.x, but now throws an error","migration51.references-works":"Code that failed under PHP 4.3.x, but now works","migration51.references-didnotwork":"Code that should have worked under PHP 5.0.x","migration51.references-warnings":"Warnings that came and went","migration51.references":"Changes in reference handling","migration51.reading":"Reading []","migration51.integer-parameters":"Integer values in function parameters","migration51.oop-functions":"instanceof, is_a(),\n is_subclass_of() and catch","migration51.oop-methods":"Abstract private methods","migration51.oop-modifiers":"Access modifiers in interfaces","migration51.oop-inheritance":"Changes in inheritance rules","migration51.oop-constants":"Class constants","migration51.oop":"Class and object changes","migration51.extensions-gone":"Extensions that are gone from the PHP core","migration51.extensions-constants":"Class constants in new PHP 5.1.x extensions","migration51.extensions":"Extensions","migration51.datetime":"Date\/time support","migration51.databases-pdo":"PDO overview","migration51.databases-mysql":"Changes in MySQL support","migration51.databases-sqlite":"Changes in SQLite support","migration51.databases":"Changes in database support","migration51.errorcheck":"Checking for E_STRICT","migration51":"Migrating from PHP 5.0.x to PHP 5.1.x","migration5.changes":"What has changed in PHP 5.0.x","example-5594":"strrpos and strripos now\n use the entire string as a needle","example-5595":"An object with no properties is no longer considered "empty"","example-5596":"In some cases classes must be declared before used","migration5.incompatible":"Backward Incompatible Changes","migration5.cli-cgi":"CLI and CGI","example-5597":"Migrating Apache configuration files for PHP 5","example-5598":"Migrating Apache configuration files for PHP 5, CGI mode","migration5.configuration":"Migrating Configuration Files","migration5.functions":"New Functions","migration5.newconf":"New Directives","migration5.databases":"Databases","migration5.oop":"New Object Model","migrating5.errorrep":"Error Reporting","migration5":"Migrating from PHP 4 to PHP 5.0.x","keyword.class":"class","keyword.extends":"extends","oop4.constructor":"Constructors","keyword.paamayim-nekudotayim":"Scope Resolution Operator (::)","keyword.parent":"parent","oop4.serialization":"Serializing objects - objects in sessions","oop4.magic-functions":"The magic functions __sleep and __wakeup","oop4.newref":"References inside the constructor","example-5599":"Example of object comparison in PHP 4","example-5600":"Compound object comparisons in PHP 4","oop4.object-comparison":"Comparing objects","oop4":"Classes and Objects (PHP 4)","debugger-about":"About debugging in PHP","debugger":"Debugging in PHP","configure.enable-debug":"","configure.with-layout":"","configure.with-pear":"","configure.without-pear":"","configure.enable-sigchild":"","configure.disable-rpath":"","configure.enable-libgcc":"","configure.enable-php-streams":"","configure.with-zlib-dir":"","configure.enable-trans-sid":"","configure.with-tsrm-pthreads":"","configure.enable-shared":"","configure.enable-static":"","configure.enable-fast-install":"","configure.with-gnu-ld":"","configure.disable-libtool-lock":"","configure.with-pic":"","configure.enable-memory-limit":"","configure.disable-url-fopen-wrapper":"","configure.enable-versioning.php4":"","configure.options.misc":"Misc options","configure.enable-maintainer-mode":"","configure.with-config-file-path":"","configure.enable-safe-mode":"","configure.with-exec-dir":"","configure.enable-magic-quotes":"","configure.disable-short-tags":"","configure.enable-zend-multibyte":"","configure.with-libdir":"","configure.options.php":"PHP options","configure.with-aolserver":"","configure.with-apxs":"","configure.with-apache":"","configure.with-mod-charset":"","configure.with-apxs2":"","configure.with-caudium":"","configure.disable-cli":"","configure.enable-embed":"","configure.with-fhttpd":"","configure.with-isapi":"","configure.with-nsapi":"","configure.with-phttpd":"","configure.with-pi3web":"","configure.with-roxen":"","configure.enable-roxen-zts":"","configure.with-servlet":"","configure.with-thttpd":"","configure.with-tux":"","configure.with-webjames":"","configure.disable-cgi":"","configure.enable-force-cgi-redirect":"","configure.enable-discard-path":"","configure.with-fastcgi":"","configure.enable-fastcgi":"","configure.disable-path-info-check":"","configure.options.servers":"SAPI options","configure.options":"Configure Options in PHP","configure.about":"List of core configure options","configure":"Configure options","ini.list":"List of php.ini directives","example-5601":"Activate full on-screen error reporting for dev. domain","ini.per-host":"","example-5602":"Add security script for protected areas","ini.per-path":"","ini.sections":"List of php.ini sections","ini.sect.httpd-options":"Httpd Options","ini.short-open-tag":"","ini.asp-tags":"","ini.precision":"","ini.serialize-precision":"","ini.y2k-compliance":"","ini.allow-call-time-pass-reference":"Changelog for allow_call_time_pass_reference","ini.expose-php":"","ini.disable-functions":"","ini.disable-classes":"Availability note","ini.zend.ze1-compatibility-mode":"","ini.zend.multibyte":"","ini.zend.script-encoding":"","ini.zend.signal-check":"","ini.detect-unicode":"","ini.exit-on-timeout":"","ini.sect.language-options":"Language Options","ini.memory-limit":"","ini.sect.resource-limits":"Resource Limits","ini.realpath-cache-size":"","ini.realpath-cache-ttl":"","ini.sect.performance":"Performance Tuning","ini.track-vars":"","ini.arg-separator.output":"","ini.arg-separator.input":"","ini.variables-order":"","ini.request-order":"","ini.auto-globals-jit":"","ini.register-globals":"","ini.register-argc-argv":"","ini.register-long-arrays":"","ini.enable-post-data-reading":"","ini.post-max-size":"","ini.gpc-order":"","ini.auto-prepend-file":"","ini.auto-append-file":"","ini.default-mimetype":"","ini.default-charset":"","ini.always-populate-raw-post-data":"","ini.sect.data-handling":"Data Handling","example-5603":"Unix include_path","example-5604":"Windows include_path","example-5605":"Unix include_path using ${USER} env variable","ini.include-path":"","ini.open-basedir":"","ini.doc-root":"","ini.user-dir":"","ini.extension-dir":"","ini.extension":"","ini.zend-extension":"","ini.zend-extension-debug":"","ini.zend-extension-debug-ts":"","ini.zend-extension-ts":"","ini.cgi.check-shebang-line":"","ini.cgi.fix-pathinfo":"","ini.cgi.force-redirect":"","ini.cgi.redirect-status-env":"","ini.cgi.rfc2616-headers":"","ini.fastcgi.impersonate":"","ini.fastcgi.logging":"","ini.sect.path-directory":"Paths and Directories","ini.file-uploads":"","ini.upload-tmp-dir":"","ini.upload-max-filesize":"","ini.max-file-uploads":"","ini.sect.file-uploads":"File Uploads","ini.sql.safe-mode":"","ini.sect.sql-general":"General SQL","ini.windows-show-crt-warning":"","ini.sect.windows":"Windows Specific","ini.core":"Description of core php.ini directives","ini":"php.ini directives","extensions.alphabetical":"Alphabetical","extensions.membership.core":"Core Extensions","extensions.membership.bundled":"Bundled Extensions","extensions.membership.external":"External Extensions","extensions.membership.pecl":"PECL Extensions","extensions.membership":"Membership","extensions.state.deprecated":"Deprecated Extensions","extensions.state.experimental":"Experimental Extensions","extensions.state":"State","extensions":"Extension List\/Categorization","aliases":"List of Function Aliases","reserved.keywords":"List of Keywords","reserved.classes.standard":"Standard Defined Classes","reserved.classes.php5":"Predefined classes as of PHP 5","reserved.classes.closure":"Closure","reserved.classes.generator":"Generator","reserved.classes.special":"Special classes","reserved.classes":"Predefined Classes","constant.php-version":"","constant.php-major-version":"","constant.php-minor-version":"","constant.php-release-version":"","constant.php-version-id":"","constant.php-extra-version":"","constant.php-zts":"","constant.php-debug":"","constant.php-maxpathlen":"","constant.php-os":"","constant.php-sapi":"","constant.php-eol":"","constant.php-int-max":"","constant.php-int-size":"","constant.default-include-path":"","constant.pear-install-dir":"","constant.pear-extension-dir":"","constant.php-extension-dir":"","constant.php-prefix":"","constant.php-bindir":"","constant.php-binary":"","constant.php-mandir":"","constant.php-libdir":"","constant.php-datadir":"","constant.php-sysconfdir":"","constant.php-localstatedir":"","constant.php-config-file-path":"","constant.php-config-file-scan-dir":"","constant.php-shlib-suffix":"","constant.e-error":"","constant.e-warning":"","constant.e-parse":"","constant.e-notice":"","constant.e-core-error":"","constant.e-core-warning":"","constant.e-compile-error":"","constant.e-compile-warning":"","constant.e-user-error":"","constant.e-user-warning":"","constant.e-user-notice":"","constant.e-deprecated":"","constant.e-user-deprecated":"","constant.e-all":"","constant.e-strict":"","constant.compiler-halt-offset":"","constant.true":"","constant.false":"","constant.null":"","reserved.constants.core":"Core Predefined Constants","reserved.constants.standard":"Standard Predefined Constants","reserved.constants":"Predefined Constants","reserved":"List of Reserved Words","resource":"List of Resource Types","example-5606":"string.rot13","example-5607":"string.toupper","example-5608":"string.tolower","example-5609":"string.strip_tags","filters.string":"String Filters","example-5610":"convert.base64-encode &\n convert.base64-decode","example-5611":"convert.quoted-printable-encode &\n convert.quoted-printable-decode","filters.convert":"Conversion Filters","example-5612":"zlib.deflate and\n zlib.inflate","example-5613":"zlib.deflate simple","example-5614":"bzip2.compress and\n bzip2.decompress","filters.compression":"Compression Filters","example-5615":"Encrypting file output using 3DES","example-5616":"Reading an encrypted file","filters.encryption":"Encryption Filters","filters":"List of Available Filters","transports.inet":"Internet Domain: TCP, UDP, SSL, and TLS","transports.unix":"Unix Domain: Unix and UDG","transports":"List of Supported Socket Transports","types.comparisions-loose":"Loose comparisons with ==","type.comparisons-strict":"Strict comparisons with ===","types.comparisons":"PHP type comparison tables","tokens":"List of Parser Tokens","userlandnaming.globalnamespace":"Global Namespace","userlandnaming.rules":"Rules","userlandnaming.tips":"Tips","userlandnaming":"Userland Naming Guide","about.formats":"Formats","about.notes":"About user notes","about.prototypes":"How to read a function definition (prototype)","about.phpversions":"PHP versions documented in this manual","about.more":"How to find more information about PHP","about.howtohelp":"How to help improve the documentation","about.generate":"How we generate the formats","about.translations":"Translations","about":"About the manual","cc.license":"Creative Commons Attribution 3.0","indexes.functions":"Function and Method listing","indexes.examples":"Example listing","indexes":"Index listing","doc.changelog":"Changelog","appendices":"Appendices","index":"PHP Manual"} diff --git a/public/manual/en/search-index.json b/public/manual/en/search-index.json new file mode 100644 index 0000000000..ec875678b9 --- /dev/null +++ b/public/manual/en/search-index.json @@ -0,0 +1 @@ +[["","index","authorgroup"],["","index","authorgroup"],["","copyright","legalnotice"],["","index","info"],["","preface","section"],["","preface","preface"],["","manual","book"],["","intro-whatis","example"],["","intro-whatis","section"],["","intro-whatcando","section"],["","introduction","chapter"],["","tutorial.requirements","section"],["","tutorial.firstpage","example"],["","tutorial.firstpage","example"],["","tutorial.firstpage","section"],["","tutorial.useful","example"],["","tutorial.useful","example"],["","tutorial.useful","example"],["","tutorial.useful","section"],["","tutorial.forms","example"],["","tutorial.forms","example"],["","tutorial.forms","section"],["","tutorial.oldcode","section"],["","tutorial.whatsnext","section"],["","tutorial","chapter"],["","getting-started","book"],["","install.general","chapter"],["","install.unix.apache","example"],["","install.unix.apache","example"],["","install.unix.apache","example"],["","install.unix.apache","sect1"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","example"],["","install.unix.apache2","sect1"],["","install.unix.lighttpd-14","example"],["","install.unix.lighttpd-14","sect2"],["","install.unix.lighttpd-14","sect2"],["","install.unix.lighttpd-14","example"],["","install.unix.lighttpd-14","sect2"],["","install.unix.lighttpd-14","example"],["","install.unix.lighttpd-14","sect2"],["","install.unix.lighttpd-14","sect1"],["","install.unix.sun","sect2"],["","install.unix.sun","sect2"],["","install.unix.sun","sect2"],["","install.unix.sun","sect1"],["","install.unix.commandline","sect2"],["","install.unix.commandline","sect2"],["","install.unix.commandline","sect1"],["","install.unix.hpux","sect1"],["","install.unix.openbsd","example"],["","install.unix.openbsd","sect2"],["","install.unix.openbsd","sect2"],["","install.unix.openbsd","sect2"],["","install.unix.openbsd","sect2"],["","install.unix.openbsd","sect1"],["","install.unix.solaris","sect2"],["","install.unix.solaris","sect2"],["","install.unix.solaris","sect1"],["","install.unix.debian","example"],["","install.unix.debian","example"],["","install.unix.debian","sect2"],["","install.unix.debian","example"],["","install.unix.debian","example"],["","install.unix.debian","sect2"],["","install.unix.debian","sect2"],["","install.unix.debian","sect1"],["","install.unix","chapter"],["","install.macosx.packages","sect1"],["","install.macosx.bundled","sect1"],["","install.macosx.compile","sect1"],["","install.macosx","chapter"],["","install.windows.installer","sect1"],["","install.windows.installer.msi","sect2"],["","install.windows.installer.msi","sect2"],["","install.windows.installer.msi","sect2"],["","install.windows.installer.msi","sect1"],["","install.windows.manual","sect2"],["","install.windows.manual","example"],["","install.windows.manual","sect2"],["","install.windows.manual","sect2"],["","install.windows.manual","sect1"],["","install.windows.iis","sect1"],["","install.windows.iis6","example"],["","install.windows.iis6","example"],["","install.windows.iis6","sect2"],["","install.windows.iis6","example"],["","install.windows.iis6","sect2"],["","install.windows.iis6","sect2"],["","install.windows.iis6","example"],["","install.windows.iis6","sect2"],["","install.windows.iis6","example"],["","install.windows.iis6","sect2"],["","install.windows.iis6","example"],["","install.windows.iis6","sect2"],["","install.windows.iis6","sect1"],["","install.windows.iis7","sect2"],["","install.windows.iis7","example"],["","install.windows.iis7","sect3"],["","install.windows.iis7","example"],["","install.windows.iis7","example"],["","install.windows.iis7","sect3"],["","install.windows.iis7","sect2"],["","install.windows.iis7","example"],["","install.windows.iis7","example"],["","install.windows.iis7","sect2"],["","install.windows.iis7","example"],["","install.windows.iis7","sect2"],["","install.windows.iis7","example"],["","install.windows.iis7","sect2"],["","install.windows.iis7","example"],["","install.windows.iis7","sect2"],["","install.windows.iis7","example"],["","install.windows.iis7","sect2"],["","install.windows.iis7","sect1"],["","install.windows.apache1","example"],["","install.windows.apache1","sect2"],["","install.windows.apache1","example"],["","install.windows.apache1","sect2"],["","install.windows.apache1","sect1"],["","install.windows.apache2","example"],["","install.windows.apache2","example"],["","install.windows.apache2","sect2"],["","install.windows.apache2","example"],["","install.windows.apache2","sect2"],["","install.windows.apache2","example"],["","install.windows.apache2","sect2"],["","install.windows.apache2","sect1"],["","install.windows.sun","sect2"],["","install.windows.sun","sect2"],["","install.windows.sun","sect2"],["","install.windows.sun","sect2"],["","install.windows.sun","sect2"],["","install.windows.sun","sect1"],["","install.windows.sambar","example"],["","install.windows.sambar","sect1"],["","install.windows.xitami","sect1"],["","install.windows.building","sect1"],["","install.windows.extensions","example"],["","install.windows.extensions","table"],["","install.windows.extensions","sect1"],["","install.windows.commandline","example"],["","install.windows.commandline","sect1"],["","install.windows","chapter"],["","install.cloud.azure","sect1"],["","install.cloud.ec2","sect1"],["","install.cloud","chapter"],["","install.fpm.install","sect2"],["","install.fpm.install","sect1"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","varlistentry"],["","install.fpm.configuration","example"],["","install.fpm.configuration","example"],["","install.fpm.configuration","sect1"],["","install.fpm","chapter"],["","install.pecl.intro","sect1"],["","install.pecl.downloads","sect1"],["","install.pecl.windows","sect2"],["","install.pecl.windows","example"],["","install.pecl.windows","sect2"],["","install.pecl.windows","sect2"],["","install.pecl.windows","sect2"],["","install.pecl.windows","sect1"],["","install.pecl.pear","sect1"],["","install.pecl.phpize","sect1"],["","install.pecl.php-config","sect1"],["","install.pecl.static","sect1"],["","install.pecl","chapter"],["","install.problems.faq","sect1"],["","install.problems.support","sect1"],["","install.problems.bugs","sect1"],["","install.problems","chapter"],["","configuration.file","example"],["","configuration.file","example"],["","configuration.file","sect1"],["","configuration.file.per-user","sect1"],["","configuration.changes.modes","sect1"],["","configuration.changes","example"],["","configuration.changes","sect2"],["","configuration.changes","sect2"],["","configuration.changes","sect2"],["","configuration.changes","sect1"],["","configuration","chapter"],["","install","book"],["","language.basic-syntax.phptags","sect1"],["","language.basic-syntax.phpmode","example"],["","language.basic-syntax.phpmode","example"],["","language.basic-syntax.phpmode","example"],["","language.basic-syntax.phpmode","sect1"],["","language.basic-syntax.instruction-separation","sect1"],["","language.basic-syntax.comments","sect1"],["","language.basic-syntax","chapter"],["","language.types.intro","sect1"],["","language.types.boolean","sect2"],["","language.types.boolean","sect2"],["","language.types.boolean","sect1"],["","language.types.integer","example"],["","language.types.integer","example"],["","language.types.integer","sect2"],["","language.types.integer","example"],["","language.types.integer","example"],["","language.types.integer","sect2"],["","language.types.integer","sect3"],["","language.types.integer","sect3"],["","language.types.integer","sect3"],["","language.types.integer","sect3"],["","language.types.integer","sect2"],["","language.types.integer","sect1"],["","language.types.float","warning"],["","language.types.float","sect2"],["","language.types.float","sect2"],["","language.types.float","sect2"],["","language.types.float","sect1"],["","language.types.string","sect3"],["","language.types.string","sect3"],["","language.types.string","example"],["","language.types.string","example"],["","language.types.string","example"],["","language.types.string","example"],["","language.types.string","example"],["","language.types.string","sect3"],["","language.types.string","example"],["","language.types.string","example"],["","language.types.string","sect3"],["","language.types.string","example"],["","language.types.string","sect4"],["","language.types.string","sect4"],["","language.types.string","sect3"],["","language.types.string","example"],["","language.types.string","example"],["","language.types.string","sect3"],["","language.types.string","sect2"],["","language.types.string","sect2"],["","language.types.string","sect2"],["","language.types.string","sect2"],["","language.types.string","sect2"],["","language.types.string","sect1"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","sect3"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","sect3"],["","language.types.array","sect3"],["","language.types.array","sect2"],["","language.types.array","sect2"],["","language.types.array","sect4"],["","language.types.array","sect3"],["","language.types.array","sect2"],["","language.types.array","sect2"],["","language.types.array","sect2"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","example"],["","language.types.array","sect2"],["","language.types.array","sect1"],["","language.types.object","sect2"],["","language.types.object","sect2"],["","language.types.object","sect1"],["","language.types.resource","sect2"],["","language.types.resource","sect2"],["","language.types.resource","sect1"],["","language.types.null","sect2"],["","language.types.null","sect2"],["","language.types.null","sect1"],["","language.types.callable","example"],["","language.types.callable","example"],["","language.types.callable","sect2"],["","language.types.callable","sect1"],["","language.pseudo-types","sect2"],["","language.pseudo-types","sect2"],["","language.pseudo-types","sect2"],["","language.pseudo-types","sect2"],["","language.pseudo-types","sect2"],["","language.pseudo-types","sect1"],["","language.types.type-juggling","sect2"],["","language.types.type-juggling","sect1"],["","language.types","chapter"],["","language.variables.basics","example"],["","language.variables.basics","sect1"],["","language.variables.predefined","sect1"],["","language.variables.scope","example"],["","language.variables.scope","example"],["","language.variables.scope","example"],["","language.variables.scope","sect2"],["","language.variables.scope","example"],["","language.variables.scope","example"],["","language.variables.scope","example"],["","language.variables.scope","example"],["","language.variables.scope","sect2"],["","language.variables.scope","sect2"],["","language.variables.scope","sect1"],["","language.variables.variable","example"],["","language.variables.variable","sect1"],["","language.variables.external","example"],["","language.variables.external","example"],["","language.variables.external","example"],["","language.variables.external","sect3"],["","language.variables.external","sect2"],["","language.variables.external","example"],["","language.variables.external","sect2"],["","language.variables.external","sect2"],["","language.variables.external","sect2"],["","language.variables.external","sect1"],["","language.variables","chapter"],["","language.constants","example"],["","language.constants.syntax","example"],["","language.constants.syntax","example"],["","language.constants.syntax","sect1"],["","language.constants.predefined","sect1"],["","language.constants","chapter"],["","language.expressions","chapter"],["","language.operators.precedence","example"],["","language.operators.precedence","example"],["","language.operators.precedence","sect1"],["","language.operators.arithmetic","sect1"],["","language.operators.assignment","example"],["","language.operators.assignment","sect2"],["","language.operators.assignment","sect1"],["","language.operators.bitwise","example"],["","language.operators.bitwise","example"],["","language.operators.bitwise","example"],["","language.operators.bitwise","sect1"],["","language.operators.comparison","table"],["","language.operators.comparison","example"],["","language.operators.comparison","example"],["","language.operators.comparison","example"],["","language.operators.comparison","example"],["","language.operators.comparison","sect2"],["","language.operators.comparison","sect1"],["","language.operators.errorcontrol","sect1"],["","language.operators.execution","sect1"],["","language.operators.increment","example"],["","language.operators.increment","sect1"],["","language.operators.logical","example"],["","language.operators.logical","sect1"],["","language.operators.string","sect1"],["","language.operators.array","example"],["","language.operators.array","sect1"],["","language.operators.type","example"],["","language.operators.type","example"],["","language.operators.type","example"],["","language.operators.type","example"],["","language.operators.type","example"],["","language.operators.type","example"],["","language.operators.type","example"],["","language.operators.type","sect1"],["","language.operators","chapter"],["","control-structures.intro","sect1"],["","control-structures.if","sect1"],["","control-structures.else","sect1"],["","control-structures.elseif","sect1"],["","control-structures.alternative-syntax","sect1"],["","control-structures.while","sect1"],["","control-structures.do.while","sect1"],["","control-structures.for","sect1"],["","control-structures.foreach","sect2"],["","control-structures.foreach","sect1"],["","control-structures.break","sect1"],["","control-structures.continue","sect1"],["","control-structures.switch","example"],["","control-structures.switch","example"],["","control-structures.switch","sect1"],["","control-structures.declare","example"],["","control-structures.declare","example"],["","control-structures.declare","sect2"],["","control-structures.declare","example"],["","control-structures.declare","sect2"],["","control-structures.declare","sect1"],["","function.return","sect1"],["","function.require","sect1"],["","function.include","example"],["","function.include","example"],["","function.include","example"],["","function.include","example"],["","function.include","example"],["","function.include","example"],["","function.include","sect1"],["","function.require-once","sect1"],["","function.include-once","example"],["","function.include-once","sect1"],["","control-structures.goto","example"],["","control-structures.goto","example"],["","control-structures.goto","example"],["","control-structures.goto","sect1"],["","language.control-structures","chapter"],["","functions.user-defined","example"],["","functions.user-defined","example"],["","functions.user-defined","example"],["","functions.user-defined","example"],["","functions.user-defined","sect1"],["","functions.arguments","example"],["","functions.arguments","example"],["","functions.arguments","sect2"],["","functions.arguments","example"],["","functions.arguments","example"],["","functions.arguments","example"],["","functions.arguments","example"],["","functions.arguments","sect2"],["","functions.arguments","sect2"],["","functions.arguments","sect1"],["","functions.returning-values","example"],["","functions.returning-values","example"],["","functions.returning-values","example"],["","functions.returning-values","sect1"],["","functions.variable-functions","example"],["","functions.variable-functions","example"],["","functions.variable-functions","example"],["","functions.variable-functions","sect1"],["","functions.internal","sect1"],["","functions.anonymous","example"],["","functions.anonymous","example"],["","functions.anonymous","example"],["","functions.anonymous","sect1"],["","language.functions","chapter"],["","oop5.intro","sect1"],["","language.oop5.basic","example"],["","language.oop5.basic","example"],["","language.oop5.basic","sect2"],["","language.oop5.basic","example"],["","language.oop5.basic","example"],["","language.oop5.basic","example"],["","language.oop5.basic","sect2"],["","language.oop5.basic","example"],["","language.oop5.basic","sect2"],["","language.oop5.basic","example"],["","language.oop5.basic","sect2"],["","language.oop5.basic","sect1"],["","language.oop5.properties","example"],["","language.oop5.properties","example"],["","language.oop5.properties","sect1"],["","language.oop5.constants","example"],["","language.oop5.constants","example"],["","language.oop5.constants","sect1"],["","language.oop5.autoload","example"],["","language.oop5.autoload","example"],["","language.oop5.autoload","example"],["","language.oop5.autoload","example"],["","language.oop5.autoload","sect1"],["","language.oop5.decon","methodsynopsis"],["","language.oop5.decon","example"],["","language.oop5.decon","example"],["","language.oop5.decon","sect2"],["","language.oop5.decon","methodsynopsis"],["","language.oop5.decon","example"],["","language.oop5.decon","sect2"],["","language.oop5.decon","sect1"],["","language.oop5.visibility","example"],["","language.oop5.visibility","sect2"],["","language.oop5.visibility","example"],["","language.oop5.visibility","sect2"],["","language.oop5.visibility","example"],["","language.oop5.visibility","sect2"],["","language.oop5.visibility","sect1"],["","language.oop5.inheritance","example"],["","language.oop5.inheritance","sect2"],["","language.oop5.inheritance","sect1"],["","language.oop5.paamayim-nekudotayim","example"],["","language.oop5.paamayim-nekudotayim","example"],["","language.oop5.paamayim-nekudotayim","example"],["","language.oop5.paamayim-nekudotayim","sect1"],["","language.oop5.static","example"],["","language.oop5.static","example"],["","language.oop5.static","sect1"],["","language.oop5.abstract","example"],["","language.oop5.abstract","example"],["","language.oop5.abstract","sect1"],["","language.oop5.interfaces","sect2"],["","language.oop5.interfaces","sect2"],["","language.oop5.interfaces","example"],["","language.oop5.interfaces","example"],["","language.oop5.interfaces","example"],["","language.oop5.interfaces","example"],["","language.oop5.interfaces","sect2"],["","language.oop5.interfaces","sect1"],["","language.oop5.traits","example"],["","language.oop5.traits","example"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","example"],["","language.oop5.traits","example"],["","language.oop5.traits","sect2"],["","language.oop5.traits","sect1"],["","language.oop5.overloading","sect2"],["","language.oop5.overloading","methodsynopsis"],["","language.oop5.overloading","methodsynopsis"],["","language.oop5.overloading","methodsynopsis"],["","language.oop5.overloading","methodsynopsis"],["","language.oop5.overloading","example"],["","language.oop5.overloading","sect2"],["","language.oop5.overloading","methodsynopsis"],["","language.oop5.overloading","methodsynopsis"],["","language.oop5.overloading","example"],["","language.oop5.overloading","sect2"],["","language.oop5.overloading","sect1"],["","language.oop5.iterations","example"],["","language.oop5.iterations","example"],["","language.oop5.iterations","example"],["","language.oop5.iterations","sect1"],["","language.oop5.magic","methodsynopsis"],["","language.oop5.magic","methodsynopsis"],["","language.oop5.magic","example"],["","language.oop5.magic","sect2"],["","language.oop5.magic","methodsynopsis"],["","language.oop5.magic","example"],["","language.oop5.magic","sect2"],["","language.oop5.magic","methodsynopsis"],["","language.oop5.magic","example"],["","language.oop5.magic","sect2"],["","language.oop5.magic","methodsynopsis"],["","language.oop5.magic","example"],["","language.oop5.magic","sect2"],["","language.oop5.magic","sect1"],["","language.oop5.final","example"],["","language.oop5.final","example"],["","language.oop5.final","sect1"],["","language.oop5.cloning","methodsynopsis"],["","language.oop5.cloning","example"],["","language.oop5.cloning","sect1"],["","language.oop5.object-comparison","example"],["","language.oop5.object-comparison","sect1"],["","language.oop5.typehinting","example"],["","language.oop5.typehinting","sect1"],["","language.oop5.late-static-bindings","example"],["","language.oop5.late-static-bindings","sect2"],["","language.oop5.late-static-bindings","example"],["","language.oop5.late-static-bindings","example"],["","language.oop5.late-static-bindings","example"],["","language.oop5.late-static-bindings","sect2"],["","language.oop5.late-static-bindings","sect1"],["","language.oop5.references","example"],["","language.oop5.references","sect1"],["","language.oop5.serialization","sect1"],["","language.oop5.changelog","sect1"],["","language.oop5","chapter"],["","language.namespaces.rationale","example"],["","language.namespaces.rationale","sect1"],["","language.namespaces.definition","example"],["","language.namespaces.definition","example"],["","language.namespaces.definition","sect1"],["","language.namespaces.nested","example"],["","language.namespaces.nested","sect1"],["","language.namespaces.definitionmultiple","example"],["","language.namespaces.definitionmultiple","example"],["","language.namespaces.definitionmultiple","example"],["","language.namespaces.definitionmultiple","example"],["","language.namespaces.definitionmultiple","sect1"],["","language.namespaces.basics","example"],["","language.namespaces.basics","sect1"],["","language.namespaces.dynamic","example"],["","language.namespaces.dynamic","example"],["","language.namespaces.dynamic","sect1"],["","language.namespaces.nsconstants","example"],["","language.namespaces.nsconstants","example"],["","language.namespaces.nsconstants","example"],["","language.namespaces.nsconstants","example"],["","language.namespaces.nsconstants","example"],["","language.namespaces.nsconstants","sect1"],["","language.namespaces.importing","example"],["","language.namespaces.importing","example"],["","language.namespaces.importing","example"],["","language.namespaces.importing","example"],["","language.namespaces.importing","example"],["","language.namespaces.importing","sect2"],["","language.namespaces.importing","sect1"],["","language.namespaces.global","example"],["","language.namespaces.global","sect1"],["","language.namespaces.fallback","example"],["","language.namespaces.fallback","example"],["","language.namespaces.fallback","sect1"],["","language.namespaces.rules","example"],["","language.namespaces.rules","sect1"],["","language.namespaces.faq","example"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","example"],["","language.namespaces.faq","sect2"],["","language.namespaces.faq","sect1"],["","language.namespaces","chapter"],["","language.exceptions","example"],["","language.exceptions","example"],["","language.exceptions","example"],["","language.exceptions.extending","example"],["","language.exceptions.extending","example"],["","language.exceptions.extending","sect1"],["","language.exceptions","chapter"],["","language.generators.overview","example"],["","language.generators.overview","sect1"],["","language.generators.syntax","example"],["","language.generators.syntax","example"],["","language.generators.syntax","sect3"],["","language.generators.syntax","example"],["","language.generators.syntax","sect3"],["","language.generators.syntax","example"],["","language.generators.syntax","sect3"],["","language.generators.syntax","sect2"],["","language.generators.syntax","sect2"],["","language.generators.syntax","sect1"],["","language.generators.comparison","sect1"],["","language.generators","chapter"],["","language.references.whatare","sect1"],["","language.references.whatdo","example"],["","language.references.whatdo","example"],["","language.references.whatdo","example"],["","language.references.whatdo","sect2"],["","language.references.whatdo","sect2"],["","language.references.whatdo","sect2"],["","language.references.whatdo","sect1"],["","language.references.arent","sect1"],["","language.references.pass","sect1"],["","language.references.return","sect1"],["","language.references.unset","sect1"],["","language.references.spot","sect2"],["","language.references.spot","sect2"],["","language.references.spot","sect1"],["","language.references","chapter"],["Superglobals","language.variables.superglobals","phpdoc:varentry"],["","reserved.variables.globals","example"],["$GLOBALS","reserved.variables.globals","phpdoc:varentry"],["","reserved.variables.server","example"],["$_SERVER","reserved.variables.server","phpdoc:varentry"],["","reserved.variables.get","example"],["$_GET","reserved.variables.get","phpdoc:varentry"],["","reserved.variables.post","example"],["$_POST","reserved.variables.post","phpdoc:varentry"],["$_FILES","reserved.variables.files","phpdoc:varentry"],["$_REQUEST","reserved.variables.request","phpdoc:varentry"],["$_SESSION","reserved.variables.session","phpdoc:varentry"],["","reserved.variables.environment","example"],["$_ENV","reserved.variables.environment","phpdoc:varentry"],["","reserved.variables.cookies","example"],["$_COOKIE","reserved.variables.cookies","phpdoc:varentry"],["","reserved.variables.phperrormsg","example"],["$php_errormsg","reserved.variables.phperrormsg","phpdoc:varentry"],["$HTTP_RAW_POST_DATA","reserved.variables.httprawpostdata","phpdoc:varentry"],["","reserved.variables.httpresponseheader","example"],["$http_response_header","reserved.variables.httpresponseheader","phpdoc:varentry"],["","reserved.variables.argc","example"],["$argc","reserved.variables.argc","phpdoc:varentry"],["","reserved.variables.argv","example"],["$argv","reserved.variables.argv","phpdoc:varentry"],["","reserved.variables","reference"],["","class.exception","section"],["","class.exception","section"],["","class.exception","varlistentry"],["","class.exception","varlistentry"],["","class.exception","varlistentry"],["","class.exception","varlistentry"],["","class.exception","section"],["Exception::__construct","exception.construct","refentry"],["","exception.getmessage","example"],["Exception::getMessage","exception.getmessage","refentry"],["","exception.getprevious","example"],["Exception::getPrevious","exception.getprevious","refentry"],["","exception.getcode","example"],["Exception::getCode","exception.getcode","refentry"],["","exception.getfile","example"],["Exception::getFile","exception.getfile","refentry"],["","exception.getline","example"],["Exception::getLine","exception.getline","refentry"],["","exception.gettrace","example"],["Exception::getTrace","exception.gettrace","refentry"],["","exception.gettraceasstring","example"],["Exception::getTraceAsString","exception.gettraceasstring","refentry"],["","exception.tostring","example"],["Exception::__toString","exception.tostring","refentry"],["Exception::__clone","exception.clone","refentry"],["Exception","class.exception","phpdoc:exceptionref"],["","class.errorexception","section"],["","class.errorexception","section"],["","class.errorexception","varlistentry"],["","class.errorexception","section"],["","class.errorexception","example"],["","class.errorexception","section"],["ErrorException::__construct","errorexception.construct","refentry"],["","errorexception.getseverity","example"],["ErrorException::getSeverity","errorexception.getseverity","refentry"],["ErrorException","class.errorexception","phpdoc:exceptionref"],["","reserved.exceptions","part"],["","class.traversable","section"],["","class.traversable","section"],["Traversable","class.traversable","phpdoc:classref"],["","class.iterator","section"],["","class.iterator","section"],["","class.iterator","section"],["","class.iterator","example"],["","class.iterator","section"],["Iterator::current","iterator.current","refentry"],["Iterator::key","iterator.key","refentry"],["Iterator::next","iterator.next","refentry"],["Iterator::rewind","iterator.rewind","refentry"],["Iterator::valid","iterator.valid","refentry"],["Iterator","class.iterator","phpdoc:classref"],["","class.iteratoraggregate","section"],["","class.iteratoraggregate","section"],["","class.iteratoraggregate","example"],["","class.iteratoraggregate","section"],["IteratorAggregate::getIterator","iteratoraggregate.getiterator","refentry"],["IteratorAggregate","class.iteratoraggregate","phpdoc:classref"],["","class.arrayaccess","section"],["","class.arrayaccess","section"],["","class.arrayaccess","example"],["","class.arrayaccess","section"],["","arrayaccess.offsetexists","example"],["ArrayAccess::offsetExists","arrayaccess.offsetexists","refentry"],["ArrayAccess::offsetGet","arrayaccess.offsetget","refentry"],["ArrayAccess::offsetSet","arrayaccess.offsetset","refentry"],["ArrayAccess::offsetUnset","arrayaccess.offsetunset","refentry"],["ArrayAccess","class.arrayaccess","phpdoc:classref"],["","class.serializable","section"],["","class.serializable","section"],["","class.serializable","example"],["","class.serializable","section"],["Serializable::serialize","serializable.serialize","refentry"],["Serializable::unserialize","serializable.unserialize","refentry"],["Serializable","class.serializable","phpdoc:classref"],["","class.closure","section"],["","class.closure","section"],["Closure::__construct","closure.construct","refentry"],["","closure.bind","example"],["Closure::bind","closure.bind","refentry"],["","closure.bindto","example"],["Closure::bindTo","closure.bindto","refentry"],["Closure","class.closure","phpdoc:classref"],["","class.generator","section"],["","class.generator","section"],["Generator::current","generator.current","refentry"],["Generator::key","generator.key","refentry"],["Generator::next","generator.next","refentry"],["Generator::rewind","generator.rewind","refentry"],["","generator.send","example"],["Generator::send","generator.send","refentry"],["Generator::throw","generator.throw","refentry"],["Generator::valid","generator.valid","refentry"],["Generator::__wakeup","generator.wakeup","refentry"],["Generator","class.generator","phpdoc:classref"],["","reserved.interfaces","part"],["","context.socket","varlistentry"],["","context.socket","varlistentry"],["","context.socket","example"],["Socket context options","context.socket","refentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","varlistentry"],["","context.http","example"],["","context.http","example"],["HTTP context options","context.http","refentry"],["","context.ftp","varlistentry"],["","context.ftp","varlistentry"],["","context.ftp","varlistentry"],["FTP context options","context.ftp","refentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["","context.ssl","varlistentry"],["SSL context options","context.ssl","refentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","varlistentry"],["","context.curl","example"],["CURL context options","context.curl","refentry"],["","context.phar","varlistentry"],["","context.phar","varlistentry"],["Phar context options","context.phar","refentry"],["","context.params","varlistentry"],["Context parameters","context.params","refentry"],["","context","reference"],["file:\/\/","wrappers.file","refentry"],["","wrappers.http","example"],["http:\/\/","wrappers.http","refentry"],["ftp:\/\/","wrappers.ftp","refentry"],["","wrappers.php","example"],["","wrappers.php","example"],["","wrappers.php","example"],["","wrappers.php","example"],["php:\/\/","wrappers.php","refentry"],["zlib:\/\/","wrappers.compression","refentry"],["","wrappers.data","example"],["","wrappers.data","example"],["data:\/\/","wrappers.data","refentry"],["","wrappers.glob","example"],["glob:\/\/","wrappers.glob","refentry"],["phar:\/\/","wrappers.phar","refentry"],["","wrappers.ssh2","example"],["","wrappers.ssh2","example"],["ssh2:\/\/","wrappers.ssh2","refentry"],["","wrappers.rar","example"],["","wrappers.rar","example"],["rar:\/\/","wrappers.rar","refentry"],["ogg:\/\/","wrappers.audio","refentry"],["expect:\/\/","wrappers.expect","refentry"],["","wrappers","reference"],["","langref","book"],["","security.intro","chapter"],["","security.general","chapter"],["","security.cgi-bin.attacks","sect1"],["","security.cgi-bin.default","sect1"],["","security.cgi-bin.force-redirect","sect1"],["","security.cgi-bin.doc-root","sect1"],["","security.cgi-bin.shell","sect1"],["","security.cgi-bin","chapter"],["","security.apache","chapter"],["","security.filesystem","example"],["","security.filesystem","example"],["","security.filesystem","example"],["","security.filesystem","example"],["","security.filesystem.nullbytes","example"],["","security.filesystem.nullbytes","example"],["","security.filesystem.nullbytes","sect1"],["","security.filesystem","chapter"],["","security.database.design","sect1"],["","security.database.connection","sect1"],["","security.database.storage","example"],["","security.database.storage","sect1"],["","security.database.sql-injection","example"],["","security.database.sql-injection","example"],["","security.database.sql-injection","example"],["","security.database.sql-injection","example"],["","security.database.sql-injection","example"],["","security.database.sql-injection","sect2"],["","security.database.sql-injection","sect1"],["","security.database","chapter"],["","security.errors","example"],["","security.errors","example"],["","security.errors","example"],["","security.errors","chapter"],["","security.globals","example"],["","security.globals","example"],["","security.globals","example"],["","security.globals","chapter"],["","security.variables","example"],["","security.variables","chapter"],["","security.magicquotes.what","sect1"],["","security.magicquotes.why","sect1"],["","security.magicquotes.whynot","sect1"],["","security.magicquotes.disabling","example"],["","security.magicquotes.disabling","example"],["","security.magicquotes.disabling","sect1"],["","security.magicquotes","chapter"],["","security.hiding","example"],["","security.hiding","example"],["","security.hiding","example"],["","security.hiding","chapter"],["","security.current","chapter"],["","security","book"],["","features.http-auth","example"],["","features.http-auth","example"],["","features.http-auth","example"],["","features.http-auth","chapter"],["","features.cookies","chapter"],["","features.sessions","chapter"],["","features.xforms","example"],["","features.xforms","example"],["","features.xforms","chapter"],["","features.file-upload.post-method","example"],["","features.file-upload.post-method","example"],["","features.file-upload.post-method","example"],["","features.file-upload.post-method","sect1"],["","features.file-upload.errors","sect1"],["","features.file-upload.common-pitfalls","sect1"],["","features.file-upload.multiple","example"],["","features.file-upload.multiple","sect1"],["","features.file-upload.put-method","example"],["","features.file-upload.put-method","sect1"],["","features.file-upload","chapter"],["","features.remote-files","example"],["","features.remote-files","example"],["","features.remote-files","chapter"],["","features.connection-handling","chapter"],["","features.persistent-connections","chapter"],["","ini.sect.safe-mode","varlistentry"],["","ini.sect.safe-mode","varlistentry"],["","ini.sect.safe-mode","varlistentry"],["","ini.sect.safe-mode","varlistentry"],["","ini.sect.safe-mode","varlistentry"],["","ini.sect.safe-mode","varlistentry"],["","ini.sect.safe-mode","sect1"],["","features.safe-mode.functions","sect1"],["","features.safe-mode","chapter"],["","features.commandline.introduction","section"],["","features.commandline.differences","example"],["","features.commandline.differences","section"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["","features.commandline.options","example"],["Options","features.commandline.options","section"],["","features.commandline.usage","example"],["","features.commandline.usage","example"],["","features.commandline.usage","example"],["Usage","features.commandline.usage","section"],["I\/O streams","features.commandline.io-streams","section"],["","features.commandline.interactive","example"],["","features.commandline.interactive","example"],["","features.commandline.interactive","example"],["","features.commandline.interactive","section"],["","features.commandline.webserver","example"],["","features.commandline.webserver","example"],["","features.commandline.webserver","example"],["","features.commandline.webserver","example"],["","features.commandline.webserver","example"],["","features.commandline.webserver","example"],["","features.commandline.webserver","section"],["","features.commandline.ini","varlistentry"],["","features.commandline.ini","section"],["Command line usage","features.commandline","chapter"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","example"],["","features.gc.refcounting-basics","sect2"],["","features.gc.refcounting-basics","sect2"],["","features.gc.refcounting-basics","sect1"],["","features.gc.collecting-cycles","sect1"],["","features.gc.performance-considerations","example"],["","features.gc.performance-considerations","sect2"],["","features.gc.performance-considerations","example"],["","features.gc.performance-considerations","example"],["","features.gc.performance-considerations","sect2"],["","features.gc.performance-considerations","example"],["","features.gc.performance-considerations","example"],["","features.gc.performance-considerations","sect2"],["","features.gc.performance-considerations","sect2"],["","features.gc.performance-considerations","sect1"],["","features.gc","chapter"],["","features.dtrace.introduction","sect1"],["","features.dtrace.dtrace","sect2"],["","features.dtrace.dtrace","sect2"],["","features.dtrace.dtrace","sect2"],["","features.dtrace.dtrace","example"],["","features.dtrace.dtrace","sect2"],["","features.dtrace.dtrace","sect2"],["","features.dtrace.dtrace","sect1"],["","features.dtrace.systemtap","sect2"],["","features.dtrace.systemtap","sect2"],["","features.dtrace.systemtap","example"],["","features.dtrace.systemtap","sect2"],["","features.dtrace.systemtap","sect1"],["","features.dtrace","chapter"],["","features","book"],["","funcref","info"],["","intro.apc","preface"],["","apc.requirements","section"],["","apc.installation","section"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","example"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","varlistentry"],["","apc.configuration","section"],["","apc.resources","section"],["","apc.setup","chapter"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","varlistentry"],["","apc.constants","appendix"],["","function.apc-add","example"],["apc_add","function.apc-add","refentry"],["apc_bin_dump","function.apc-bin-dump","refentry"],["apc_bin_dumpfile","function.apc-bin-dumpfile","refentry"],["","function.apc-bin-load","example"],["apc_bin_load","function.apc-bin-load","refentry"],["apc_bin_loadfile","function.apc-bin-loadfile","refentry"],["","function.apc-cache-info","example"],["apc_cache_info","function.apc-cache-info","refentry"],["","function.apc-cas","example"],["apc_cas","function.apc-cas","refentry"],["apc_clear_cache","function.apc-clear-cache","refentry"],["apc_compile_file","function.apc-compile-file","refentry"],["","function.apc-dec","example"],["apc_dec","function.apc-dec","refentry"],["","function.apc-define-constants","example"],["apc_define_constants","function.apc-define-constants","refentry"],["","function.apc-delete-file","example"],["apc_delete_file","function.apc-delete-file","refentry"],["","function.apc-delete","example"],["apc_delete","function.apc-delete","refentry"],["","function.apc-exists","example"],["apc_exists","function.apc-exists","refentry"],["","function.apc-fetch","example"],["apc_fetch","function.apc-fetch","refentry"],["","function.apc-inc","example"],["apc_inc","function.apc-inc","refentry"],["","function.apc-load-constants","example"],["apc_load_constants","function.apc-load-constants","refentry"],["","function.apc-sma-info","example"],["apc_sma_info","function.apc-sma-info","refentry"],["","function.apc-store","example"],["apc_store","function.apc-store","refentry"],["","ref.apc","reference"],["","class.apciterator","section"],["","class.apciterator","section"],["","apciterator.construct","example"],["APCIterator::__construct","apciterator.construct","refentry"],["APCIterator::current","apciterator.current","refentry"],["APCIterator::getTotalCount","apciterator.gettotalcount","refentry"],["APCIterator::getTotalHits","apciterator.gettotalhits","refentry"],["APCIterator::getTotalSize","apciterator.gettotalsize","refentry"],["APCIterator::key","apciterator.key","refentry"],["APCIterator::next","apciterator.next","refentry"],["APCIterator::rewind","apciterator.rewind","refentry"],["APCIterator::valid","apciterator.valid","refentry"],["APCIterator","class.apciterator","phpdoc:classref"],["APC","book.apc","book"],["","intro.apd","preface"],["","apd.requirements","section"],["","apd.installation","section"],["","apd.installwin32","section"],["","apd.configuration","varlistentry"],["","apd.configuration","varlistentry"],["","apd.configuration","section"],["","apd.resources","section"],["","apd.setup","chapter"],["","apd.constants","appendix"],["","apd.examples.usage","section"],["","apd.examples","appendix"],["","ref.apd","section"],["","function.apd-breakpoint","example"],["apd_breakpoint","function.apd-breakpoint","refentry"],["","function.apd-callstack","example"],["apd_callstack","function.apd-callstack","refentry"],["","function.apd-clunk","example"],["apd_clunk","function.apd-clunk","refentry"],["","function.apd-continue","example"],["apd_continue","function.apd-continue","refentry"],["","function.apd-croak","example"],["apd_croak","function.apd-croak","refentry"],["","function.apd-dump-function-table","example"],["apd_dump_function_table","function.apd-dump-function-table","refentry"],["","function.apd-dump-persistent-resources","example"],["apd_dump_persistent_resources","function.apd-dump-persistent-resources","refentry"],["","function.apd-dump-regular-resources","example"],["apd_dump_regular_resources","function.apd-dump-regular-resources","refentry"],["","function.apd-echo","example"],["apd_echo","function.apd-echo","refentry"],["","function.apd-get-active-symbols","example"],["apd_get_active_symbols","function.apd-get-active-symbols","refentry"],["","function.apd-set-pprof-trace","example"],["apd_set_pprof_trace","function.apd-set-pprof-trace","refentry"],["","function.apd-set-session-trace-socket","example"],["apd_set_session_trace_socket","function.apd-set-session-trace-socket","refentry"],["","function.apd-set-session-trace","example"],["apd_set_session_trace","function.apd-set-session-trace","refentry"],["","function.apd-set-session","example"],["apd_set_session","function.apd-set-session","refentry"],["","function.override-function","example"],["override_function","function.override-function","refentry"],["","function.rename-function","example"],["rename_function","function.rename-function","refentry"],["","ref.apd","reference"],["APD","book.apd","book"],["","intro.bcompiler","preface"],["","bcompiler.requirements","section"],["","bcompiler.installation","section"],["","bcompiler.configuration","section"],["","bcompiler.resources","section"],["","bcompiler.setup","chapter"],["","bcompiler.constants","appendix"],["","ref.bcompiler","section"],["","function.bcompiler-load-exe","example"],["bcompiler_load_exe","function.bcompiler-load-exe","refentry"],["","function.bcompiler-load","example"],["bcompiler_load","function.bcompiler-load","refentry"],["","function.bcompiler-parse-class","example"],["bcompiler_parse_class","function.bcompiler-parse-class","refentry"],["","function.bcompiler-read","example"],["bcompiler_read","function.bcompiler-read","refentry"],["","function.bcompiler-write-class","example"],["bcompiler_write_class","function.bcompiler-write-class","refentry"],["","function.bcompiler-write-constant","example"],["bcompiler_write_constant","function.bcompiler-write-constant","refentry"],["","function.bcompiler-write-exe-footer","example"],["bcompiler_write_exe_footer","function.bcompiler-write-exe-footer","refentry"],["","function.bcompiler-write-file","example"],["bcompiler_write_file","function.bcompiler-write-file","refentry"],["","function.bcompiler-write-footer","example"],["bcompiler_write_footer","function.bcompiler-write-footer","refentry"],["","function.bcompiler-write-function","example"],["bcompiler_write_function","function.bcompiler-write-function","refentry"],["","function.bcompiler-write-functions-from-file","example"],["bcompiler_write_functions_from_file","function.bcompiler-write-functions-from-file","refentry"],["","function.bcompiler-write-header","example"],["bcompiler_write_header","function.bcompiler-write-header","refentry"],["bcompiler_write_included_filename","function.bcompiler-write-included-filename","refentry"],["","ref.bcompiler","reference"],["bcompiler","book.bcompiler","book"],["","intro.blenc","preface"],["","blenc.requirements","section"],["","blenc.installation","section"],["","blenc.configuration","varlistentry"],["","blenc.configuration","section"],["","blenc.resources","section"],["","blenc.setup","chapter"],["","blenc.constants","varlistentry"],["","blenc.constants","appendix"],["","function.blenc-encrypt","example"],["blenc_encrypt","function.blenc-encrypt","refentry"],["","ref.blenc","reference"],["BLENC","book.blenc","book"],["","intro.errorfunc","preface"],["","errorfunc.requirements","section"],["","errorfunc.installation","section"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","varlistentry"],["","errorfunc.configuration","section"],["","errorfunc.resources","section"],["","errorfunc.setup","chapter"],["","errorfunc.constants","table"],["","errorfunc.constants","appendix"],["","errorfunc.examples","example"],["","errorfunc.examples","appendix"],["","function.debug-backtrace","example"],["debug_backtrace","function.debug-backtrace","refentry"],["","function.debug-print-backtrace","example"],["debug_print_backtrace","function.debug-print-backtrace","refentry"],["","function.error-get-last","example"],["error_get_last","function.error-get-last","refentry"],["","function.error-log","example"],["error_log","function.error-log","refentry"],["","function.error-reporting","example"],["error_reporting","function.error-reporting","refentry"],["","function.restore-error-handler","example"],["restore_error_handler","function.restore-error-handler","refentry"],["","function.restore-exception-handler","example"],["restore_exception_handler","function.restore-exception-handler","refentry"],["","function.set-error-handler","example"],["set_error_handler","function.set-error-handler","refentry"],["","function.set-exception-handler","example"],["set_exception_handler","function.set-exception-handler","refentry"],["","function.trigger-error","example"],["trigger_error","function.trigger-error","refentry"],["user_error","function.user-error","refentry"],["","ref.errorfunc","reference"],["Error Handling","book.errorfunc","book"],["","intro.htscanner","preface"],["","htscanner.requirements","section"],["","htscanner.installation","section"],["","htscanner.configuration","varlistentry"],["","htscanner.configuration","varlistentry"],["","htscanner.configuration","varlistentry"],["","htscanner.configuration","varlistentry"],["","htscanner.configuration","section"],["","htscanner.resources","section"],["","htscanner.setup","chapter"],["htscanner","book.htscanner","book"],["","intro.inclued","preface"],["","inclued.requirements","section"],["","inclued.installation","section"],["","inclued.configuration","varlistentry"],["","inclued.configuration","varlistentry"],["","inclued.configuration","section"],["","inclued.resources","section"],["","inclued.setup","chapter"],["","inclued.constants","appendix"],["","inclued.examples-implementation","example"],["","inclued.examples-implementation","example"],["","inclued.examples-implementation","example"],["","inclued.examples-implementation","section"],["","inclued.examples","chapter"],["","function.inclued-get-data","example"],["inclued_get_data","function.inclued-get-data","refentry"],["","ref.inclued","reference"],["inclued","book.inclued","book"],["","intro.memtrack","preface"],["","memtrack.requirements","section"],["","memtrack.installation","section"],["","memtrack.ini","varlistentry"],["","memtrack.ini","varlistentry"],["","memtrack.ini","varlistentry"],["","memtrack.ini","varlistentry"],["","memtrack.ini","varlistentry"],["","memtrack.ini","section"],["","memtrack.resources","section"],["","memtrack.setup","chapter"],["","memtrack.constants","appendix"],["","memtrack.examples.basic","example"],["","memtrack.examples.basic","section"],["","memtrack.examples","appendix"],["Memtrack","book.memtrack","book"],["","intro.opcache","preface"],["","opcache.requirements","sect1"],["","opcache.installation","sect2"],["","opcache.installation","sect2"],["","opcache.installation","sect2"],["","opcache.installation","sect1"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","varlistentry"],["","opcache.configuration","sect1"],["","opcache.resources","sect1"],["","opcache.setup","chapter"],["opcache_compile_file","function.opcache-compile-file","refentry"],["opcache_invalidate","function.opcache-invalidate","refentry"],["opcache_reset","function.opcache-reset","refentry"],["","ref.opcache","reference"],["","book.opcache","book"],["","intro.outcontrol","preface"],["","outcontrol.requirements","section"],["","outcontrol.installation","section"],["","outcontrol.configuration","varlistentry"],["","outcontrol.configuration","varlistentry"],["","outcontrol.configuration","varlistentry"],["","outcontrol.configuration","section"],["","outcontrol.resources","section"],["","outcontrol.setup","chapter"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","varlistentry"],["","outcontrol.constants","appendix"],["","outcontrol.examples.basic","example"],["","outcontrol.examples.basic","section"],["","outcontrol.examples","appendix"],["flush","function.flush","refentry"],["ob_clean","function.ob-clean","refentry"],["","function.ob-end-clean","example"],["ob_end_clean","function.ob-end-clean","refentry"],["","function.ob-end-flush","example"],["ob_end_flush","function.ob-end-flush","refentry"],["ob_flush","function.ob-flush","refentry"],["","function.ob-get-clean","example"],["ob_get_clean","function.ob-get-clean","refentry"],["","function.ob-get-contents","example"],["ob_get_contents","function.ob-get-contents","refentry"],["","function.ob-get-flush","example"],["ob_get_flush","function.ob-get-flush","refentry"],["","function.ob-get-length","example"],["ob_get_length","function.ob-get-length","refentry"],["ob_get_level","function.ob-get-level","refentry"],["ob_get_status","function.ob-get-status","refentry"],["","function.ob-gzhandler","example"],["ob_gzhandler","function.ob-gzhandler","refentry"],["ob_implicit_flush","function.ob-implicit-flush","refentry"],["","function.ob-list-handlers","example"],["ob_list_handlers","function.ob-list-handlers","refentry"],["","function.ob-start","example"],["","function.ob-start","example"],["ob_start","function.ob-start","refentry"],["","function.output-add-rewrite-var","example"],["output_add_rewrite_var","function.output-add-rewrite-var","refentry"],["","function.output-reset-rewrite-vars","example"],["output_reset_rewrite_vars","function.output-reset-rewrite-vars","refentry"],["","ref.outcontrol","reference"],["Output Control","book.outcontrol","book"],["","intro.info","preface"],["","info.requirements","section"],["","info.installation","section"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","varlistentry"],["","info.configuration","section"],["","info.resources","section"],["","info.setup","chapter"],["","info.constants","appendix"],["","function.assert-options","example"],["assert_options","function.assert-options","refentry"],["","function.assert","example"],["","function.assert","example"],["assert","function.assert","refentry"],["","function.cli-get-process-title","example"],["cli_get_process_title","function.cli-get-process-title","refentry"],["","function.cli-set-process-title","example"],["cli_set_process_title","function.cli-set-process-title","refentry"],["","function.dl","example"],["dl","function.dl","refentry"],["","function.extension-loaded","example"],["extension_loaded","function.extension-loaded","refentry"],["gc_collect_cycles","function.gc-collect-cycles","refentry"],["gc_disable","function.gc-disable","refentry"],["gc_enable","function.gc-enable","refentry"],["","function.gc-enabled","example"],["gc_enabled","function.gc-enabled","refentry"],["get_cfg_var","function.get-cfg-var","refentry"],["","function.get-current-user","example"],["get_current_user","function.get-current-user","refentry"],["","function.get-defined-constants","example"],["get_defined_constants","function.get-defined-constants","refentry"],["","function.get-extension-funcs","example"],["get_extension_funcs","function.get-extension-funcs","refentry"],["","function.get-include-path","example"],["get_include_path","function.get-include-path","refentry"],["","function.get-included-files","example"],["get_included_files","function.get-included-files","refentry"],["","function.get-loaded-extensions","example"],["get_loaded_extensions","function.get-loaded-extensions","refentry"],["","function.get-magic-quotes-gpc","example"],["get_magic_quotes_gpc","function.get-magic-quotes-gpc","refentry"],["","function.get-magic-quotes-runtime","example"],["get_magic_quotes_runtime","function.get-magic-quotes-runtime","refentry"],["get_required_files","function.get-required-files","refentry"],["","function.getenv","example"],["getenv","function.getenv","refentry"],["","function.getlastmod","example"],["getlastmod","function.getlastmod","refentry"],["getmygid","function.getmygid","refentry"],["getmyinode","function.getmyinode","refentry"],["getmypid","function.getmypid","refentry"],["getmyuid","function.getmyuid","refentry"],["","function.getopt","example"],["","function.getopt","example"],["","function.getopt","example"],["getopt","function.getopt","refentry"],["","function.getrusage","example"],["getrusage","function.getrusage","refentry"],["ini_alter","function.ini-alter","refentry"],["","function.ini-get-all","example"],["","function.ini-get-all","example"],["ini_get_all","function.ini-get-all","refentry"],["","function.ini-get","example"],["ini_get","function.ini-get","refentry"],["","function.ini-restore","example"],["ini_restore","function.ini-restore","refentry"],["","function.ini-set","example"],["ini_set","function.ini-set","refentry"],["magic_quotes_runtime","function.magic-quotes-runtime","refentry"],["main","function.main","refentry"],["memory_get_peak_usage","function.memory-get-peak-usage","refentry"],["","function.memory-get-usage","example"],["memory_get_usage","function.memory-get-usage","refentry"],["","function.php-ini-loaded-file","example"],["php_ini_loaded_file","function.php-ini-loaded-file","refentry"],["","function.php-ini-scanned-files","example"],["php_ini_scanned_files","function.php-ini-scanned-files","refentry"],["","function.php-logo-guid","example"],["php_logo_guid","function.php-logo-guid","refentry"],["","function.php-sapi-name","example"],["php_sapi_name","function.php-sapi-name","refentry"],["","function.php-uname","example"],["","function.php-uname","example"],["php_uname","function.php-uname","refentry"],["","function.phpcredits","example"],["","function.phpcredits","example"],["","function.phpcredits","example"],["phpcredits","function.phpcredits","refentry"],["","function.phpinfo","example"],["phpinfo","function.phpinfo","refentry"],["","function.phpversion","example"],["","function.phpversion","example"],["phpversion","function.phpversion","refentry"],["","function.putenv","example"],["putenv","function.putenv","refentry"],["","function.restore-include-path","example"],["restore_include_path","function.restore-include-path","refentry"],["","function.set-include-path","example"],["","function.set-include-path","example"],["set_include_path","function.set-include-path","refentry"],["","function.set-magic-quotes-runtime","example"],["set_magic_quotes_runtime","function.set-magic-quotes-runtime","refentry"],["set_time_limit","function.set-time-limit","refentry"],["","function.sys-get-temp-dir","example"],["sys_get_temp_dir","function.sys-get-temp-dir","refentry"],["","function.version-compare","example"],["version_compare","function.version-compare","refentry"],["","function.zend-logo-guid","example"],["zend_logo_guid","function.zend-logo-guid","refentry"],["","function.zend-thread-id","example"],["zend_thread_id","function.zend-thread-id","refentry"],["","function.zend-version","example"],["zend_version","function.zend-version","refentry"],["","ref.info","reference"],["PHP Options\/Info","book.info","book"],["","intro.runkit","preface"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","varlistentry"],["","runkit.constants","appendix"],["","runkit.requirements","section"],["","runkit.installation","section"],["","runkit.configuration","example"],["","runkit.configuration","varlistentry"],["","runkit.configuration","varlistentry"],["","runkit.configuration","section"],["","runkit.resources","section"],["","runkit.setup","chapter"],["","runkit.sandbox","example"],["","runkit.sandbox","example"],["","runkit.sandbox","example"],["","runkit.sandbox","example"],["Runkit_Sandbox","runkit.sandbox","refentry"],["","runkit.sandbox-parent","example"],["","runkit.sandbox-parent","example"],["Runkit_Sandbox_Parent","runkit.sandbox-parent","refentry"],["","function.runkit-class-adopt","example"],["runkit_class_adopt","function.runkit-class-adopt","refentry"],["","function.runkit-class-emancipate","example"],["runkit_class_emancipate","function.runkit-class-emancipate","refentry"],["runkit_constant_add","function.runkit-constant-add","refentry"],["runkit_constant_redefine","function.runkit-constant-redefine","refentry"],["runkit_constant_remove","function.runkit-constant-remove","refentry"],["","function.runkit-function-add","example"],["runkit_function_add","function.runkit-function-add","refentry"],["","function.runkit-function-copy","example"],["runkit_function_copy","function.runkit-function-copy","refentry"],["","function.runkit-function-redefine","example"],["runkit_function_redefine","function.runkit-function-redefine","refentry"],["runkit_function_remove","function.runkit-function-remove","refentry"],["runkit_function_rename","function.runkit-function-rename","refentry"],["runkit_import","function.runkit-import","refentry"],["runkit_lint_file","function.runkit-lint-file","refentry"],["runkit_lint","function.runkit-lint","refentry"],["","function.runkit-method-add","example"],["runkit_method_add","function.runkit-method-add","refentry"],["","function.runkit-method-copy","example"],["runkit_method_copy","function.runkit-method-copy","refentry"],["","function.runkit-method-redefine","example"],["runkit_method_redefine","function.runkit-method-redefine","refentry"],["","function.runkit-method-remove","example"],["runkit_method_remove","function.runkit-method-remove","refentry"],["","function.runkit-method-rename","example"],["runkit_method_rename","function.runkit-method-rename","refentry"],["","function.runkit-return-value-used","example"],["runkit_return_value_used","function.runkit-return-value-used","refentry"],["","function.runkit-sandbox-output-handler","example"],["runkit_sandbox_output_handler","function.runkit-sandbox-output-handler","refentry"],["runkit_superglobals","function.runkit-superglobals","refentry"],["","ref.runkit","reference"],["","book.runkit","book"],["","intro.scream","preface"],["","scream.requirements","section"],["","scream.installation","section"],["","scream.configuration","varlistentry"],["","scream.configuration","section"],["","scream.resources","section"],["","scream.setup","chapter"],["","scream.examples-simple","example"],["","scream.examples-simple","section"],["","scream.examples","chapter"],["scream","book.scream","book"],["","intro.weakref","example"],["","intro.weakref","preface"],["","weakref.requirements","section"],["","weakref.installation","section"],["","weakref.resources","section"],["","weakref.setup","chapter"],["","class.weakref","section"],["","class.weakref","section"],["","class.weakref","example"],["","class.weakref","section"],["","weakref.acquire","example"],["","weakref.acquire","example"],["Weakref::acquire","weakref.acquire","refentry"],["","weakref.construct","example"],["Weakref::__construct","weakref.construct","refentry"],["Weakref::get","weakref.get","refentry"],["","weakref.release","example"],["Weakref::release","weakref.release","refentry"],["Weakref::valid","weakref.valid","refentry"],["WeakRef","class.weakref","phpdoc:classref"],["","class.weakmap","section"],["","class.weakmap","section"],["","class.weakmap","example"],["","class.weakmap","section"],["WeakMap::__construct","weakmap.construct","refentry"],["WeakMap::count","weakmap.count","refentry"],["WeakMap::current","weakmap.current","refentry"],["WeakMap::key","weakmap.key","refentry"],["WeakMap::next","weakmap.next","refentry"],["WeakMap::offsetExists","weakmap.offsetexists","refentry"],["WeakMap::offsetGet","weakmap.offsetget","refentry"],["WeakMap::offsetSet","weakmap.offsetset","refentry"],["WeakMap::offsetUnset","weakmap.offsetunset","refentry"],["WeakMap::rewind","weakmap.rewind","refentry"],["WeakMap::valid","weakmap.valid","refentry"],["WeakMap","class.weakmap","phpdoc:classref"],["Weakref","book.weakref","book"],["","intro.wincache","preface"],["","wincache.requirements","section"],["","wincache.installation","section"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","example"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","varlistentry"],["","wincache.configuration","section"],["","wincache.stats","example"],["","wincache.stats","section"],["","wincache.sessionhandler","example"],["","wincache.sessionhandler","section"],["","wincache.reroutes","example"],["","wincache.reroutes","example"],["","wincache.reroutes","section"],["","wincache.resources","section"],["","wincache.setup","chapter"],["","wincache.constants","appendix"],["","function.wincache-fcache-fileinfo","example"],["wincache_fcache_fileinfo","function.wincache-fcache-fileinfo","refentry"],["","function.wincache-fcache-meminfo","example"],["wincache_fcache_meminfo","function.wincache-fcache-meminfo","refentry"],["","function.wincache-lock","example"],["wincache_lock","function.wincache-lock","refentry"],["","function.wincache-ocache-fileinfo","example"],["wincache_ocache_fileinfo","function.wincache-ocache-fileinfo","refentry"],["","function.wincache-ocache-meminfo","example"],["wincache_ocache_meminfo","function.wincache-ocache-meminfo","refentry"],["","function.wincache-refresh-if-changed","example"],["wincache_refresh_if_changed","function.wincache-refresh-if-changed","refentry"],["","function.wincache-rplist-fileinfo","example"],["wincache_rplist_fileinfo","function.wincache-rplist-fileinfo","refentry"],["","function.wincache-rplist-meminfo","example"],["wincache_rplist_meminfo","function.wincache-rplist-meminfo","refentry"],["","function.wincache-scache-info","example"],["wincache_scache_info","function.wincache-scache-info","refentry"],["","function.wincache-scache-meminfo","example"],["wincache_scache_meminfo","function.wincache-scache-meminfo","refentry"],["","function.wincache-ucache-add","example"],["","function.wincache-ucache-add","example"],["wincache_ucache_add","function.wincache-ucache-add","refentry"],["","function.wincache-ucache-cas","example"],["wincache_ucache_cas","function.wincache-ucache-cas","refentry"],["","function.wincache-ucache-clear","example"],["wincache_ucache_clear","function.wincache-ucache-clear","refentry"],["","function.wincache-ucache-dec","example"],["wincache_ucache_dec","function.wincache-ucache-dec","refentry"],["","function.wincache-ucache-delete","example"],["","function.wincache-ucache-delete","example"],["","function.wincache-ucache-delete","example"],["wincache_ucache_delete","function.wincache-ucache-delete","refentry"],["","function.wincache-ucache-exists","example"],["wincache_ucache_exists","function.wincache-ucache-exists","refentry"],["","function.wincache-ucache-get","example"],["","function.wincache-ucache-get","example"],["wincache_ucache_get","function.wincache-ucache-get","refentry"],["","function.wincache-ucache-inc","example"],["wincache_ucache_inc","function.wincache-ucache-inc","refentry"],["","function.wincache-ucache-info","example"],["wincache_ucache_info","function.wincache-ucache-info","refentry"],["","function.wincache-ucache-meminfo","example"],["wincache_ucache_meminfo","function.wincache-ucache-meminfo","refentry"],["","function.wincache-ucache-set","example"],["","function.wincache-ucache-set","example"],["wincache_ucache_set","function.wincache-ucache-set","refentry"],["","function.wincache-unlock","example"],["wincache_unlock","function.wincache-unlock","refentry"],["","ref.wincache","reference"],["","wincache.win32build.prereq","section"],["","wincache.win32build.building","section"],["","wincache.win32build.verify","section"],["","wincache.win32build","appendix"],["WinCache","book.wincache","book"],["","intro.xhprof","preface"],["","xhprof.requirements","section"],["","xhprof.installation","section"],["","xhprof.configuration","varlistentry"],["","xhprof.configuration","section"],["","xhprof.resources","section"],["","xhprof.setup","chapter"],["","xhprof.constants","varlistentry"],["","xhprof.constants","varlistentry"],["","xhprof.constants","varlistentry"],["","xhprof.constants","appendix"],["","xhprof.examples","example"],["","xhprof.examples","chapter"],["","function.xhprof-disable","example"],["xhprof_disable","function.xhprof-disable","refentry"],["","function.xhprof-enable","example"],["xhprof_enable","function.xhprof-enable","refentry"],["","function.xhprof-sample-disable","example"],["xhprof_sample_disable","function.xhprof-sample-disable","refentry"],["xhprof_sample_enable","function.xhprof-sample-enable","refentry"],["","ref.xhprof","reference"],["Xhprof","book.xhprof","book"],["","refs.basic.php","set"],["","intro.id3","preface"],["","id3.requirements","section"],["","id3.installation","section"],["","id3.configuration","section"],["","id3.resources","section"],["","id3.setup","chapter"],["","id3.constants","varlistentry"],["","id3.constants","varlistentry"],["","id3.constants","varlistentry"],["","id3.constants","varlistentry"],["","id3.constants","varlistentry"],["","id3.constants","varlistentry"],["","id3.constants","varlistentry"],["","id3.constants","appendix"],["","function.id3-get-frame-long-name","example"],["id3_get_frame_long_name","function.id3-get-frame-long-name","refentry"],["","function.id3-get-frame-short-name","example"],["id3_get_frame_short_name","function.id3-get-frame-short-name","refentry"],["","function.id3-get-genre-id","example"],["id3_get_genre_id","function.id3-get-genre-id","refentry"],["","function.id3-get-genre-list","example"],["id3_get_genre_list","function.id3-get-genre-list","refentry"],["","function.id3-get-genre-name","example"],["id3_get_genre_name","function.id3-get-genre-name","refentry"],["","function.id3-get-tag","example"],["","function.id3-get-tag","example"],["id3_get_tag","function.id3-get-tag","refentry"],["","function.id3-get-version","example"],["id3_get_version","function.id3-get-version","refentry"],["","function.id3-remove-tag","example"],["id3_remove_tag","function.id3-remove-tag","refentry"],["","function.id3-set-tag","example"],["id3_set_tag","function.id3-set-tag","refentry"],["","ref.id3","reference"],["ID3","book.id3","book"],["","intro.ktaglib","preface"],["","ktaglib.requirements","section"],["","ktaglib.installation","section"],["","ktaglib.setup","chapter"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","varlistentry"],["","ktaglib.constants","appendix"],["","class.ktaglib-mpeg-file","section"],["","class.ktaglib-mpeg-file","section"],["","mpegfile.construct","example"],["KTaglib_MPEG_File::__construct","mpegfile.construct","refentry"],["KTaglib_MPEG_File::getAudioProperties","mpegfile.getaudioproperties","refentry"],["KTaglib_MPEG_File::getID3v1Tag","mpegfile.getid3v1tag","refentry"],["KTaglib_MPEG_File::getID3v2Tag","mpegfile.getid3v2tag","refentry"],["KTaglib_MPEG_File","class.ktaglib-mpeg-file","phpdoc:classref"],["","class.ktaglib-mpeg-audioproperties","section"],["","class.ktaglib-mpeg-audioproperties","section"],["KTaglib_MPEG_AudioProperties::getBitrate","audioproperties.getbitrate","refentry"],["KTaglib_MPEG_AudioProperties::getChannels","audioproperties.getchannels","refentry"],["KTaglib_MPEG_AudioProperties::getLayer","audioproperties.getlayer","refentry"],["KTaglib_MPEG_AudioProperties::getLength","audioproperties.getlength","refentry"],["KTaglib_MPEG_AudioProperties::getSampleBitrate","audioproperties.getsamplebitrate","refentry"],["KTaglib_MPEG_AudioProperties::getVersion","audioproperties.getversion","refentry"],["KTaglib_MPEG_AudioProperties::isCopyrighted","audioproperties.iscopyrighted","refentry"],["KTaglib_MPEG_AudioProperties::isOriginal","audioproperties.isoriginal","refentry"],["KTaglib_MPEG_AudioProperties::isProtectionEnabled","audioproperties.isprotectionenabled","refentry"],["KTaglib_MPEG_AudioProperties","class.ktaglib-mpeg-audioproperties","phpdoc:classref"],["","class.ktaglib-tag","section"],["","class.ktaglib-tag","section"],["KTaglib_Tag::getAlbum","tag.getalbum","refentry"],["KTaglib_Tag::getArtist","tag.getartist","refentry"],["KTaglib_Tag::getComment","tag.getcomment","refentry"],["KTaglib_Tag::getGenre","tag.getgenre","refentry"],["KTaglib_Tag::getTitle","tag.gettitle","refentry"],["KTaglib_Tag::getTrack","tag.gettrack","refentry"],["KTaglib_Tag::getYear","tag.getyear","refentry"],["KTaglib_Tag::isEmpty","tag.isempty","refentry"],["KTaglib_Tag","class.ktaglib-tag","phpdoc:classref"],["","class.ktaglib-id3v2-tag","section"],["","class.ktaglib-id3v2-tag","section"],["KTaglib_ID3v2_Tag::addFrame","id3v2tag.addframe","refentry"],["KTaglib_ID3v2_Tag::getFrameList","id3v2tag.getframelist","refentry"],["KTaglib_ID3v2_Tag","class.ktaglib-id3v2-tag","phpdoc:classref"],["","class.ktaglib-id3v2-frame","section"],["","class.ktaglib-id3v2-frame","section"],["KTaglib_ID3v2_Frame::getSize","id3v2frame.getsize","refentry"],["KTaglib_ID3v2_Frame::__toString","id3v2frame.tostring","refentry"],["KTaglib_ID3v2_Frame","class.ktaglib-id3v2-frame","phpdoc:classref"],["","class.ktaglib-id3v2-attachedpictureframe","section"],["","class.ktaglib-id3v2-attachedpictureframe","section"],["KTaglib_ID3v2_AttachedPictureFrame::getDescription","id3v2attachedpictureframe.getdescription","refentry"],["KTaglib_ID3v2_AttachedPictureFrame::getMimeType","id3v2attachedpictureframe.getmimetype","refentry"],["KTaglib_ID3v2_AttachedPictureFrame::getType","id3v2attachedpictureframe.gettype","refentry"],["KTaglib_ID3v2_AttachedPictureFrame::savePicture","id3v2attachedpictureframe.savepicture","refentry"],["KTaglib_ID3v2_AttachedPictureFrame::setMimeType","id3v2attachedpictureframe.setmimetype","refentry"],["KTaglib_ID3v2_AttachedPictureFrame::setPicture","id3v2attachedpictureframe.setpicture","refentry"],["KTaglib_ID3v2_AttachedPictureFrame::setType","id3v2attachedpictureframe.settype","refentry"],["KTaglib_ID3v2_AttachedPictureFrame","class.ktaglib-id3v2-attachedpictureframe","phpdoc:classref"],["","book.ktaglib","book"],["","intro.oggvorbis","preface"],["","oggvorbis.requirements","section"],["","oggvorbis.installation","section"],["","oggvorbis.configuration","section"],["","oggvorbis.resources","section"],["","oggvorbis.setup","chapter"],["","oggvorbis.constants","appendix"],["","oggvorbis.contexts","chapter"],["","oggvorbis.examples-basisc","example"],["","oggvorbis.examples-basisc","example"],["","oggvorbis.examples-basisc","section"],["","oggvorbis.examples","chapter"],["oggvorbis","book.oggvorbis","book"],["","intro.openal","preface"],["","openal.requirements","section"],["","openal.installation","section"],["","openal.configuration","section"],["","openal.resources","section"],["","openal.setup","chapter"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","varlistentry"],["","openal.constants","appendix"],["openal_buffer_create","function.openal-buffer-create","refentry"],["openal_buffer_data","function.openal-buffer-data","refentry"],["openal_buffer_destroy","function.openal-buffer-destroy","refentry"],["openal_buffer_get","function.openal-buffer-get","refentry"],["openal_buffer_loadwav","function.openal-buffer-loadwav","refentry"],["openal_context_create","function.openal-context-create","refentry"],["openal_context_current","function.openal-context-current","refentry"],["openal_context_destroy","function.openal-context-destroy","refentry"],["openal_context_process","function.openal-context-process","refentry"],["openal_context_suspend","function.openal-context-suspend","refentry"],["openal_device_close","function.openal-device-close","refentry"],["openal_device_open","function.openal-device-open","refentry"],["openal_listener_get","function.openal-listener-get","refentry"],["openal_listener_set","function.openal-listener-set","refentry"],["openal_source_create","function.openal-source-create","refentry"],["openal_source_destroy","function.openal-source-destroy","refentry"],["openal_source_get","function.openal-source-get","refentry"],["openal_source_pause","function.openal-source-pause","refentry"],["openal_source_play","function.openal-source-play","refentry"],["openal_source_rewind","function.openal-source-rewind","refentry"],["openal_source_set","function.openal-source-set","refentry"],["openal_source_stop","function.openal-source-stop","refentry"],["openal_stream","function.openal-stream","refentry"],["","ref.openal","reference"],["OpenAL","book.openal","book"],["","refs.utilspec.audio","set"],["","intro.kadm5","preface"],["","kadm5.requirements","section"],["","kadm5.installation","section"],["","kadm5.configuration","section"],["","kadm5.resources","section"],["","kadm5.setup","chapter"],["","kadm5.constantsaf","section"],["","pecl.kadm5.constantsop","section"],["","kadm5.constants","appendix"],["","kadm5.examples-connect","example"],["","kadm5.examples-connect","section"],["","kadm5.examples","chapter"],["","function.kadm5-chpass-principal","example"],["kadm5_chpass_principal","function.kadm5-chpass-principal","refentry"],["","function.kadm5-create-principal","example"],["kadm5_create_principal","function.kadm5-create-principal","refentry"],["","function.kadm5-delete-principal","example"],["kadm5_delete_principal","function.kadm5-delete-principal","refentry"],["kadm5_destroy","function.kadm5-destroy","refentry"],["kadm5_flush","function.kadm5-flush","refentry"],["","function.kadm5-get-policies","example"],["kadm5_get_policies","function.kadm5-get-policies","refentry"],["","function.kadm5-get-principal","example"],["kadm5_get_principal","function.kadm5-get-principal","refentry"],["","function.kadm5-get-principals","example"],["kadm5_get_principals","function.kadm5-get-principals","refentry"],["","function.kadm5-init-with-password","example"],["kadm5_init_with_password","function.kadm5-init-with-password","refentry"],["","function.kadm5-modify-principal","example"],["kadm5_modify_principal","function.kadm5-modify-principal","refentry"],["","ref.kadm5","reference"],["KADM5","book.kadm5","book"],["","intro.radius","preface"],["","radius.requirements","section"],["","radius.installation","section"],["","radius.configuration","section"],["","radius.resources","section"],["","radius.setup","chapter"],["","radius.constants.options","varlistentry"],["","radius.constants.options","varlistentry"],["","radius.constants.options","section"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","varlistentry"],["","radius.constants.packets","section"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","example"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","varlistentry"],["","radius.constants.attributes","section"],["","radius.constants.vendor-specific","varlistentry"],["","radius.constants.vendor-specific","section"],["","radius.constants","appendix"],["","radius.examples","chapter"],["","function.radius-acct-open","example"],["radius_acct_open","function.radius-acct-open","refentry"],["","function.radius-add-server","example"],["radius_add_server","function.radius-add-server","refentry"],["","function.radius-auth-open","example"],["radius_auth_open","function.radius-auth-open","refentry"],["radius_close","function.radius-close","refentry"],["radius_config","function.radius-config","refentry"],["","function.radius-create-request","example"],["radius_create_request","function.radius-create-request","refentry"],["","function.radius-cvt-addr","example"],["radius_cvt_addr","function.radius-cvt-addr","refentry"],["","function.radius-cvt-int","example"],["radius_cvt_int","function.radius-cvt-int","refentry"],["","function.radius-cvt-string","example"],["radius_cvt_string","function.radius-cvt-string","refentry"],["radius_demangle_mppe_key","function.radius-demangle-mppe-key","refentry"],["radius_demangle","function.radius-demangle","refentry"],["","function.radius-get-attr","example"],["radius_get_attr","function.radius-get-attr","refentry"],["","function.radius-get-tagged-attr-data","example"],["radius_get_tagged_attr_data","function.radius-get-tagged-attr-data","refentry"],["","function.radius-get-tagged-attr-tag","example"],["radius_get_tagged_attr_tag","function.radius-get-tagged-attr-tag","refentry"],["","function.radius-get-vendor-attr","example"],["radius_get_vendor_attr","function.radius-get-vendor-attr","refentry"],["radius_put_addr","function.radius-put-addr","refentry"],["","function.radius-put-attr","example"],["radius_put_attr","function.radius-put-attr","refentry"],["","function.radius-put-int","example"],["radius_put_int","function.radius-put-int","refentry"],["","function.radius-put-string","example"],["radius_put_string","function.radius-put-string","refentry"],["radius_put_vendor_addr","function.radius-put-vendor-addr","refentry"],["","function.radius-put-vendor-attr","example"],["radius_put_vendor_attr","function.radius-put-vendor-attr","refentry"],["radius_put_vendor_int","function.radius-put-vendor-int","refentry"],["radius_put_vendor_string","function.radius-put-vendor-string","refentry"],["radius_request_authenticator","function.radius-request-authenticator","refentry"],["radius_salt_encrypt_attr","function.radius-salt-encrypt-attr","refentry"],["radius_send_request","function.radius-send-request","refentry"],["radius_server_secret","function.radius-server-secret","refentry"],["radius_strerror","function.radius-strerror","refentry"],["","ref.radius","reference"],["","book.radius","book"],["","refs.remote.auth","set"],["","intro.ncurses","preface"],["","ncurses.requirements","section"],["","ncurses.installation","section"],["","ncurses.configuration","section"],["","ncurses.resources","section"],["","ncurses.setup","chapter"],["","ncurses.errconsts","section"],["","ncurses.colorconsts","section"],["","ncurses.keyconsts","section"],["","ncurses.mouseconsts","section"],["","ncurses.constants","appendix"],["ncurses_addch","function.ncurses-addch","refentry"],["ncurses_addchnstr","function.ncurses-addchnstr","refentry"],["ncurses_addchstr","function.ncurses-addchstr","refentry"],["ncurses_addnstr","function.ncurses-addnstr","refentry"],["ncurses_addstr","function.ncurses-addstr","refentry"],["ncurses_assume_default_colors","function.ncurses-assume-default-colors","refentry"],["ncurses_attroff","function.ncurses-attroff","refentry"],["ncurses_attron","function.ncurses-attron","refentry"],["ncurses_attrset","function.ncurses-attrset","refentry"],["ncurses_baudrate","function.ncurses-baudrate","refentry"],["ncurses_beep","function.ncurses-beep","refentry"],["ncurses_bkgd","function.ncurses-bkgd","refentry"],["ncurses_bkgdset","function.ncurses-bkgdset","refentry"],["ncurses_border","function.ncurses-border","refentry"],["ncurses_bottom_panel","function.ncurses-bottom-panel","refentry"],["ncurses_can_change_color","function.ncurses-can-change-color","refentry"],["ncurses_cbreak","function.ncurses-cbreak","refentry"],["ncurses_clear","function.ncurses-clear","refentry"],["ncurses_clrtobot","function.ncurses-clrtobot","refentry"],["ncurses_clrtoeol","function.ncurses-clrtoeol","refentry"],["ncurses_color_content","function.ncurses-color-content","refentry"],["","function.ncurses-color-set","example"],["ncurses_color_set","function.ncurses-color-set","refentry"],["ncurses_curs_set","function.ncurses-curs-set","refentry"],["ncurses_def_prog_mode","function.ncurses-def-prog-mode","refentry"],["ncurses_def_shell_mode","function.ncurses-def-shell-mode","refentry"],["ncurses_define_key","function.ncurses-define-key","refentry"],["ncurses_del_panel","function.ncurses-del-panel","refentry"],["ncurses_delay_output","function.ncurses-delay-output","refentry"],["ncurses_delch","function.ncurses-delch","refentry"],["ncurses_deleteln","function.ncurses-deleteln","refentry"],["ncurses_delwin","function.ncurses-delwin","refentry"],["ncurses_doupdate","function.ncurses-doupdate","refentry"],["ncurses_echo","function.ncurses-echo","refentry"],["ncurses_echochar","function.ncurses-echochar","refentry"],["ncurses_end","function.ncurses-end","refentry"],["ncurses_erase","function.ncurses-erase","refentry"],["ncurses_erasechar","function.ncurses-erasechar","refentry"],["ncurses_filter","function.ncurses-filter","refentry"],["ncurses_flash","function.ncurses-flash","refentry"],["ncurses_flushinp","function.ncurses-flushinp","refentry"],["ncurses_getch","function.ncurses-getch","refentry"],["ncurses_getmaxyx","function.ncurses-getmaxyx","refentry"],["","function.ncurses-getmouse","example"],["ncurses_getmouse","function.ncurses-getmouse","refentry"],["ncurses_getyx","function.ncurses-getyx","refentry"],["ncurses_halfdelay","function.ncurses-halfdelay","refentry"],["","function.ncurses-has-colors","example"],["ncurses_has_colors","function.ncurses-has-colors","refentry"],["ncurses_has_ic","function.ncurses-has-ic","refentry"],["ncurses_has_il","function.ncurses-has-il","refentry"],["ncurses_has_key","function.ncurses-has-key","refentry"],["ncurses_hide_panel","function.ncurses-hide-panel","refentry"],["ncurses_hline","function.ncurses-hline","refentry"],["ncurses_inch","function.ncurses-inch","refentry"],["ncurses_init_color","function.ncurses-init-color","refentry"],["","function.ncurses-init-pair","example"],["ncurses_init_pair","function.ncurses-init-pair","refentry"],["ncurses_init","function.ncurses-init","refentry"],["ncurses_insch","function.ncurses-insch","refentry"],["ncurses_insdelln","function.ncurses-insdelln","refentry"],["ncurses_insertln","function.ncurses-insertln","refentry"],["ncurses_insstr","function.ncurses-insstr","refentry"],["ncurses_instr","function.ncurses-instr","refentry"],["ncurses_isendwin","function.ncurses-isendwin","refentry"],["ncurses_keyok","function.ncurses-keyok","refentry"],["ncurses_keypad","function.ncurses-keypad","refentry"],["ncurses_killchar","function.ncurses-killchar","refentry"],["ncurses_longname","function.ncurses-longname","refentry"],["ncurses_meta","function.ncurses-meta","refentry"],["ncurses_mouse_trafo","function.ncurses-mouse-trafo","refentry"],["ncurses_mouseinterval","function.ncurses-mouseinterval","refentry"],["","function.ncurses-mousemask","example"],["ncurses_mousemask","function.ncurses-mousemask","refentry"],["ncurses_move_panel","function.ncurses-move-panel","refentry"],["ncurses_move","function.ncurses-move","refentry"],["ncurses_mvaddch","function.ncurses-mvaddch","refentry"],["ncurses_mvaddchnstr","function.ncurses-mvaddchnstr","refentry"],["ncurses_mvaddchstr","function.ncurses-mvaddchstr","refentry"],["ncurses_mvaddnstr","function.ncurses-mvaddnstr","refentry"],["ncurses_mvaddstr","function.ncurses-mvaddstr","refentry"],["ncurses_mvcur","function.ncurses-mvcur","refentry"],["ncurses_mvdelch","function.ncurses-mvdelch","refentry"],["ncurses_mvgetch","function.ncurses-mvgetch","refentry"],["ncurses_mvhline","function.ncurses-mvhline","refentry"],["ncurses_mvinch","function.ncurses-mvinch","refentry"],["ncurses_mvvline","function.ncurses-mvvline","refentry"],["ncurses_mvwaddstr","function.ncurses-mvwaddstr","refentry"],["ncurses_napms","function.ncurses-napms","refentry"],["ncurses_new_panel","function.ncurses-new-panel","refentry"],["ncurses_newpad","function.ncurses-newpad","refentry"],["ncurses_newwin","function.ncurses-newwin","refentry"],["ncurses_nl","function.ncurses-nl","refentry"],["ncurses_nocbreak","function.ncurses-nocbreak","refentry"],["ncurses_noecho","function.ncurses-noecho","refentry"],["ncurses_nonl","function.ncurses-nonl","refentry"],["ncurses_noqiflush","function.ncurses-noqiflush","refentry"],["ncurses_noraw","function.ncurses-noraw","refentry"],["ncurses_pair_content","function.ncurses-pair-content","refentry"],["ncurses_panel_above","function.ncurses-panel-above","refentry"],["ncurses_panel_below","function.ncurses-panel-below","refentry"],["ncurses_panel_window","function.ncurses-panel-window","refentry"],["ncurses_pnoutrefresh","function.ncurses-pnoutrefresh","refentry"],["ncurses_prefresh","function.ncurses-prefresh","refentry"],["ncurses_putp","function.ncurses-putp","refentry"],["ncurses_qiflush","function.ncurses-qiflush","refentry"],["ncurses_raw","function.ncurses-raw","refentry"],["ncurses_refresh","function.ncurses-refresh","refentry"],["ncurses_replace_panel","function.ncurses-replace-panel","refentry"],["ncurses_reset_prog_mode","function.ncurses-reset-prog-mode","refentry"],["ncurses_reset_shell_mode","function.ncurses-reset-shell-mode","refentry"],["ncurses_resetty","function.ncurses-resetty","refentry"],["ncurses_savetty","function.ncurses-savetty","refentry"],["ncurses_scr_dump","function.ncurses-scr-dump","refentry"],["ncurses_scr_init","function.ncurses-scr-init","refentry"],["ncurses_scr_restore","function.ncurses-scr-restore","refentry"],["ncurses_scr_set","function.ncurses-scr-set","refentry"],["ncurses_scrl","function.ncurses-scrl","refentry"],["ncurses_show_panel","function.ncurses-show-panel","refentry"],["ncurses_slk_attr","function.ncurses-slk-attr","refentry"],["ncurses_slk_attroff","function.ncurses-slk-attroff","refentry"],["ncurses_slk_attron","function.ncurses-slk-attron","refentry"],["ncurses_slk_attrset","function.ncurses-slk-attrset","refentry"],["ncurses_slk_clear","function.ncurses-slk-clear","refentry"],["ncurses_slk_color","function.ncurses-slk-color","refentry"],["ncurses_slk_init","function.ncurses-slk-init","refentry"],["ncurses_slk_noutrefresh","function.ncurses-slk-noutrefresh","refentry"],["ncurses_slk_refresh","function.ncurses-slk-refresh","refentry"],["ncurses_slk_restore","function.ncurses-slk-restore","refentry"],["ncurses_slk_set","function.ncurses-slk-set","refentry"],["ncurses_slk_touch","function.ncurses-slk-touch","refentry"],["ncurses_standend","function.ncurses-standend","refentry"],["ncurses_standout","function.ncurses-standout","refentry"],["","function.ncurses-start-color","example"],["ncurses_start_color","function.ncurses-start-color","refentry"],["ncurses_termattrs","function.ncurses-termattrs","refentry"],["ncurses_termname","function.ncurses-termname","refentry"],["ncurses_timeout","function.ncurses-timeout","refentry"],["ncurses_top_panel","function.ncurses-top-panel","refentry"],["ncurses_typeahead","function.ncurses-typeahead","refentry"],["ncurses_ungetch","function.ncurses-ungetch","refentry"],["ncurses_ungetmouse","function.ncurses-ungetmouse","refentry"],["ncurses_update_panels","function.ncurses-update-panels","refentry"],["ncurses_use_default_colors","function.ncurses-use-default-colors","refentry"],["ncurses_use_env","function.ncurses-use-env","refentry"],["ncurses_use_extended_names","function.ncurses-use-extended-names","refentry"],["ncurses_vidattr","function.ncurses-vidattr","refentry"],["ncurses_vline","function.ncurses-vline","refentry"],["ncurses_waddch","function.ncurses-waddch","refentry"],["ncurses_waddstr","function.ncurses-waddstr","refentry"],["ncurses_wattroff","function.ncurses-wattroff","refentry"],["ncurses_wattron","function.ncurses-wattron","refentry"],["ncurses_wattrset","function.ncurses-wattrset","refentry"],["ncurses_wborder","function.ncurses-wborder","refentry"],["ncurses_wclear","function.ncurses-wclear","refentry"],["ncurses_wcolor_set","function.ncurses-wcolor-set","refentry"],["ncurses_werase","function.ncurses-werase","refentry"],["ncurses_wgetch","function.ncurses-wgetch","refentry"],["ncurses_whline","function.ncurses-whline","refentry"],["ncurses_wmouse_trafo","function.ncurses-wmouse-trafo","refentry"],["ncurses_wmove","function.ncurses-wmove","refentry"],["ncurses_wnoutrefresh","function.ncurses-wnoutrefresh","refentry"],["ncurses_wrefresh","function.ncurses-wrefresh","refentry"],["ncurses_wstandend","function.ncurses-wstandend","refentry"],["ncurses_wstandout","function.ncurses-wstandout","refentry"],["ncurses_wvline","function.ncurses-wvline","refentry"],["","ref.ncurses","reference"],["Ncurses","book.ncurses","book"],["","intro.newt","preface"],["","newt.requirements","section"],["","newt.installation","section"],["","newt.configuration","section"],["","newt.resources","section"],["","newt.setup","chapter"],["","constants.newt.reasons","section"],["","constants.newt.colorsets","section"],["","constants.newt.args-flags","section"],["","constants.newt.sense-flags","section"],["","constants.newt.components-flags","section"],["","constants.newt.fd-flags","section"],["","constants.newt.cbtree-flags","section"],["","constants.newt.entry-flags","section"],["","constants.newt.listbox-flags","section"],["","constants.newt.textbox-flags","section"],["","constants.newt.form-flags","section"],["","constants.newt.keys","section"],["","constants.newt.anchor","section"],["","constants.newt.grid-flags","section"],["","newt.constants","appendix"],["","newt.examples-usage","example"],["","newt.examples-usage","section"],["","newt.examples","chapter"],["newt_bell","function.newt-bell","refentry"],["newt_button_bar","function.newt-button-bar","refentry"],["","function.newt-button","example"],["newt_button","function.newt-button","refentry"],["newt_centered_window","function.newt-centered-window","refentry"],["newt_checkbox_get_value","function.newt-checkbox-get-value","refentry"],["newt_checkbox_set_flags","function.newt-checkbox-set-flags","refentry"],["newt_checkbox_set_value","function.newt-checkbox-set-value","refentry"],["newt_checkbox_tree_add_item","function.newt-checkbox-tree-add-item","refentry"],["newt_checkbox_tree_find_item","function.newt-checkbox-tree-find-item","refentry"],["newt_checkbox_tree_get_current","function.newt-checkbox-tree-get-current","refentry"],["newt_checkbox_tree_get_entry_value","function.newt-checkbox-tree-get-entry-value","refentry"],["newt_checkbox_tree_get_multi_selection","function.newt-checkbox-tree-get-multi-selection","refentry"],["newt_checkbox_tree_get_selection","function.newt-checkbox-tree-get-selection","refentry"],["newt_checkbox_tree_multi","function.newt-checkbox-tree-multi","refentry"],["newt_checkbox_tree_set_current","function.newt-checkbox-tree-set-current","refentry"],["newt_checkbox_tree_set_entry_value","function.newt-checkbox-tree-set-entry-value","refentry"],["newt_checkbox_tree_set_entry","function.newt-checkbox-tree-set-entry","refentry"],["newt_checkbox_tree_set_width","function.newt-checkbox-tree-set-width","refentry"],["newt_checkbox_tree","function.newt-checkbox-tree","refentry"],["newt_checkbox","function.newt-checkbox","refentry"],["newt_clear_key_buffer","function.newt-clear-key-buffer","refentry"],["newt_cls","function.newt-cls","refentry"],["newt_compact_button","function.newt-compact-button","refentry"],["newt_component_add_callback","function.newt-component-add-callback","refentry"],["newt_component_takes_focus","function.newt-component-takes-focus","refentry"],["newt_create_grid","function.newt-create-grid","refentry"],["newt_cursor_off","function.newt-cursor-off","refentry"],["newt_cursor_on","function.newt-cursor-on","refentry"],["newt_delay","function.newt-delay","refentry"],["newt_draw_form","function.newt-draw-form","refentry"],["","function.newt-draw-root-text","example"],["newt_draw_root_text","function.newt-draw-root-text","refentry"],["newt_entry_get_value","function.newt-entry-get-value","refentry"],["newt_entry_set_filter","function.newt-entry-set-filter","refentry"],["newt_entry_set_flags","function.newt-entry-set-flags","refentry"],["newt_entry_set","function.newt-entry-set","refentry"],["newt_entry","function.newt-entry","refentry"],["newt_finished","function.newt-finished","refentry"],["","function.newt-form-add-component","example"],["newt_form_add_component","function.newt-form-add-component","refentry"],["","function.newt-form-add-components","example"],["newt_form_add_components","function.newt-form-add-components","refentry"],["newt_form_add_hot_key","function.newt-form-add-hot-key","refentry"],["newt_form_destroy","function.newt-form-destroy","refentry"],["newt_form_get_current","function.newt-form-get-current","refentry"],["newt_form_run","function.newt-form-run","refentry"],["newt_form_set_background","function.newt-form-set-background","refentry"],["newt_form_set_height","function.newt-form-set-height","refentry"],["newt_form_set_size","function.newt-form-set-size","refentry"],["newt_form_set_timer","function.newt-form-set-timer","refentry"],["newt_form_set_width","function.newt-form-set-width","refentry"],["newt_form_watch_fd","function.newt-form-watch-fd","refentry"],["","function.newt-form","example"],["newt_form","function.newt-form","refentry"],["","function.newt-get-screen-size","example"],["newt_get_screen_size","function.newt-get-screen-size","refentry"],["newt_grid_add_components_to_form","function.newt-grid-add-components-to-form","refentry"],["newt_grid_basic_window","function.newt-grid-basic-window","refentry"],["newt_grid_free","function.newt-grid-free","refentry"],["newt_grid_get_size","function.newt-grid-get-size","refentry"],["newt_grid_h_close_stacked","function.newt-grid-h-close-stacked","refentry"],["newt_grid_h_stacked","function.newt-grid-h-stacked","refentry"],["newt_grid_place","function.newt-grid-place","refentry"],["newt_grid_set_field","function.newt-grid-set-field","refentry"],["newt_grid_simple_window","function.newt-grid-simple-window","refentry"],["newt_grid_v_close_stacked","function.newt-grid-v-close-stacked","refentry"],["newt_grid_v_stacked","function.newt-grid-v-stacked","refentry"],["newt_grid_wrapped_window_at","function.newt-grid-wrapped-window-at","refentry"],["newt_grid_wrapped_window","function.newt-grid-wrapped-window","refentry"],["newt_init","function.newt-init","refentry"],["newt_label_set_text","function.newt-label-set-text","refentry"],["newt_label","function.newt-label","refentry"],["newt_listbox_append_entry","function.newt-listbox-append-entry","refentry"],["newt_listbox_clear_selection","function.newt-listbox-clear-selection","refentry"],["newt_listbox_clear","function.newt-listbox-clear","refentry"],["newt_listbox_delete_entry","function.newt-listbox-delete-entry","refentry"],["newt_listbox_get_current","function.newt-listbox-get-current","refentry"],["newt_listbox_get_selection","function.newt-listbox-get-selection","refentry"],["newt_listbox_insert_entry","function.newt-listbox-insert-entry","refentry"],["newt_listbox_item_count","function.newt-listbox-item-count","refentry"],["newt_listbox_select_item","function.newt-listbox-select-item","refentry"],["newt_listbox_set_current_by_key","function.newt-listbox-set-current-by-key","refentry"],["newt_listbox_set_current","function.newt-listbox-set-current","refentry"],["newt_listbox_set_data","function.newt-listbox-set-data","refentry"],["newt_listbox_set_entry","function.newt-listbox-set-entry","refentry"],["newt_listbox_set_width","function.newt-listbox-set-width","refentry"],["newt_listbox","function.newt-listbox","refentry"],["newt_listitem_get_data","function.newt-listitem-get-data","refentry"],["newt_listitem_set","function.newt-listitem-set","refentry"],["newt_listitem","function.newt-listitem","refentry"],["newt_open_window","function.newt-open-window","refentry"],["newt_pop_help_line","function.newt-pop-help-line","refentry"],["newt_pop_window","function.newt-pop-window","refentry"],["newt_push_help_line","function.newt-push-help-line","refentry"],["newt_radio_get_current","function.newt-radio-get-current","refentry"],["newt_radiobutton","function.newt-radiobutton","refentry"],["newt_redraw_help_line","function.newt-redraw-help-line","refentry"],["newt_reflow_text","function.newt-reflow-text","refentry"],["newt_refresh","function.newt-refresh","refentry"],["newt_resize_screen","function.newt-resize-screen","refentry"],["newt_resume","function.newt-resume","refentry"],["newt_run_form","function.newt-run-form","refentry"],["newt_scale_set","function.newt-scale-set","refentry"],["newt_scale","function.newt-scale","refentry"],["newt_scrollbar_set","function.newt-scrollbar-set","refentry"],["newt_set_help_callback","function.newt-set-help-callback","refentry"],["newt_set_suspend_callback","function.newt-set-suspend-callback","refentry"],["newt_suspend","function.newt-suspend","refentry"],["newt_textbox_get_num_lines","function.newt-textbox-get-num-lines","refentry"],["newt_textbox_reflowed","function.newt-textbox-reflowed","refentry"],["newt_textbox_set_height","function.newt-textbox-set-height","refentry"],["newt_textbox_set_text","function.newt-textbox-set-text","refentry"],["newt_textbox","function.newt-textbox","refentry"],["newt_vertical_scrollbar","function.newt-vertical-scrollbar","refentry"],["newt_wait_for_key","function.newt-wait-for-key","refentry"],["newt_win_choice","function.newt-win-choice","refentry"],["","function.newt-win-entries","example"],["newt_win_entries","function.newt-win-entries","refentry"],["newt_win_menu","function.newt-win-menu","refentry"],["newt_win_message","function.newt-win-message","refentry"],["newt_win_messagev","function.newt-win-messagev","refentry"],["newt_win_ternary","function.newt-win-ternary","refentry"],["","ref.newt","reference"],["","book.newt","book"],["","intro.readline","preface"],["","readline.requirements","section"],["","readline.installation","section"],["","readline.configuration","varlistentry"],["","readline.configuration","varlistentry"],["","readline.configuration","section"],["","readline.resources","section"],["","readline.setup","chapter"],["","readline.constants","appendix"],["readline_add_history","function.readline-add-history","refentry"],["","function.readline-callback-handler-install","example"],["readline_callback_handler_install","function.readline-callback-handler-install","refentry"],["readline_callback_handler_remove","function.readline-callback-handler-remove","refentry"],["readline_callback_read_char","function.readline-callback-read-char","refentry"],["readline_clear_history","function.readline-clear-history","refentry"],["readline_completion_function","function.readline-completion-function","refentry"],["readline_info","function.readline-info","refentry"],["readline_list_history","function.readline-list-history","refentry"],["readline_on_new_line","function.readline-on-new-line","refentry"],["readline_read_history","function.readline-read-history","refentry"],["readline_redisplay","function.readline-redisplay","refentry"],["readline_write_history","function.readline-write-history","refentry"],["","function.readline","example"],["readline","function.readline","refentry"],["","ref.readline","reference"],["Readline","book.readline","book"],["","refs.utilspec.cmdline","set"],["","intro.bzip2","preface"],["","bzip2.requirements","section"],["","bzip2.installation","section"],["","bzip2.configuration","section"],["","bzip2.resources","section"],["","bzip2.setup","chapter"],["","bzip2.constants","appendix"],["","bzip2.examples","example"],["","bzip2.examples","chapter"],["bzclose","function.bzclose","refentry"],["","function.bzcompress","example"],["bzcompress","function.bzcompress","refentry"],["","function.bzdecompress","example"],["bzdecompress","function.bzdecompress","refentry"],["bzerrno","function.bzerrno","refentry"],["","function.bzerror","example"],["bzerror","function.bzerror","refentry"],["bzerrstr","function.bzerrstr","refentry"],["bzflush","function.bzflush","refentry"],["","function.bzopen","example"],["bzopen","function.bzopen","refentry"],["","function.bzread","example"],["bzread","function.bzread","refentry"],["","function.bzwrite","example"],["bzwrite","function.bzwrite","refentry"],["","ref.bzip2","reference"],["","book.bzip2","book"],["","intro.lzf","preface"],["","lzf.requirements","section"],["","lzf.installation","section"],["","lzf.configuration","section"],["","lzf.resources","section"],["","lzf.setup","chapter"],["","lzf.constants","appendix"],["lzf_compress","function.lzf-compress","refentry"],["lzf_decompress","function.lzf-decompress","refentry"],["lzf_optimized_for","function.lzf-optimized-for","refentry"],["","ref.lzf","reference"],["LZF","book.lzf","book"],["","intro.phar","example"],["","intro.phar","example"],["","intro.phar","example"],["","intro.phar","preface"],["","phar.requirements","section"],["","phar.installation","section"],["","phar.configuration","varlistentry"],["","phar.configuration","varlistentry"],["","phar.configuration","example"],["","phar.configuration","varlistentry"],["","phar.configuration","example"],["","phar.configuration","varlistentry"],["","phar.configuration","section"],["","phar.resources","section"],["","phar.setup","chapter"],["","phar.constants","table"],["","phar.constants","table"],["","phar.constants","table"],["","phar.constants","table"],["","phar.constants","appendix"],["","phar.using.intro","section"],["","phar.using.stream","section"],["","phar.using.object","section"],["","phar.using","chapter"],["","phar.creating.intro","section"],["","phar.creating","chapter"],["","phar.fileformat.ingredients","section"],["","phar.fileformat.stub","section"],["","phar.fileformat.comparison","para"],["","phar.fileformat.comparison","para"],["","phar.fileformat.comparison","para"],["","phar.fileformat.comparison","section"],["","phar.fileformat.tar","section"],["","phar.fileformat.zip","section"],["","phar.fileformat.phar","section"],["","phar.fileformat.flags","section"],["","phar.fileformat.manifestfile","section"],["","phar.fileformat.signature","section"],["","phar.fileformat","chapter"],["","class.phar","section"],["","class.phar","section"],["","phar.addemptydir","example"],["Phar::addEmptyDir","phar.addemptydir","refentry"],["","phar.addfile","example"],["Phar::addFile","phar.addfile","refentry"],["","phar.addfromstring","example"],["Phar::addFromString","phar.addfromstring","refentry"],["","phar.apiversion","example"],["Phar::apiVersion","phar.apiversion","refentry"],["","phar.buildfromdirectory","example"],["Phar::buildFromDirectory","phar.buildfromdirectory","refentry"],["","phar.buildfromiterator","example"],["","phar.buildfromiterator","example"],["Phar::buildFromIterator","phar.buildfromiterator","refentry"],["","phar.cancompress","example"],["Phar::canCompress","phar.cancompress","refentry"],["","phar.canwrite","example"],["Phar::canWrite","phar.canwrite","refentry"],["","phar.compress","example"],["Phar::compress","phar.compress","refentry"],["","phar.compressallfilesbzip2","example"],["Phar::compressAllFilesBZIP2","phar.compressallfilesbzip2","refentry"],["","phar.compressallfilesgz","example"],["Phar::compressAllFilesGZ","phar.compressallfilesgz","refentry"],["","phar.compressfiles","example"],["Phar::compressFiles","phar.compressfiles","refentry"],["","phar.construct","example"],["Phar::__construct","phar.construct","refentry"],["","phar.converttodata","example"],["Phar::convertToData","phar.converttodata","refentry"],["","phar.converttoexecutable","example"],["Phar::convertToExecutable","phar.converttoexecutable","refentry"],["","phar.copy","example"],["Phar::copy","phar.copy","refentry"],["","phar.count","example"],["Phar::count","phar.count","refentry"],["","phar.createdefaultstub","example"],["Phar::createDefaultStub","phar.createdefaultstub","refentry"],["","phar.decompress","example"],["Phar::decompress","phar.decompress","refentry"],["","phar.decompressfiles","example"],["Phar::decompressFiles","phar.decompressfiles","refentry"],["","phar.delmetadata","example"],["Phar::delMetadata","phar.delmetadata","refentry"],["","phar.delete","example"],["Phar::delete","phar.delete","refentry"],["","phar.extractto","example"],["Phar::extractTo","phar.extractto","refentry"],["","phar.getmetadata","example"],["Phar::getMetadata","phar.getmetadata","refentry"],["Phar::getModified","phar.getmodified","refentry"],["Phar::getSignature","phar.getsignature","refentry"],["","phar.getstub","example"],["Phar::getStub","phar.getstub","refentry"],["Phar::getSupportedCompression","phar.getsupportedcompression","refentry"],["Phar::getSupportedSignatures","phar.getsupportedsignatures","refentry"],["Phar::getVersion","phar.getversion","refentry"],["","phar.hasmetadata","example"],["Phar::hasMetadata","phar.hasmetadata","refentry"],["","phar.interceptfilefuncs","example"],["","phar.interceptfilefuncs","example"],["Phar::interceptFileFuncs","phar.interceptfilefuncs","refentry"],["","phar.isbuffering","example"],["Phar::isBuffering","phar.isbuffering","refentry"],["","phar.iscompressed","example"],["Phar::isCompressed","phar.iscompressed","refentry"],["Phar::isFileFormat","phar.isfileformat","refentry"],["Phar::isValidPharFilename","phar.isvalidpharfilename","refentry"],["Phar::isWritable","phar.iswritable","refentry"],["","phar.loadphar","example"],["Phar::loadPhar","phar.loadphar","refentry"],["","phar.mapphar","example"],["Phar::mapPhar","phar.mapphar","refentry"],["","phar.mount","example"],["Phar::mount","phar.mount","refentry"],["","phar.mungserver","example"],["Phar::mungServer","phar.mungserver","refentry"],["","phar.offsetexists","example"],["Phar::offsetExists","phar.offsetexists","refentry"],["","phar.offsetget","example"],["Phar::offsetGet","phar.offsetget","refentry"],["","phar.offsetset","example"],["Phar::offsetSet","phar.offsetset","refentry"],["","phar.offsetunset","example"],["Phar::offsetUnset","phar.offsetunset","refentry"],["","phar.running","example"],["Phar::running","phar.running","refentry"],["","phar.setalias","example"],["Phar::setAlias","phar.setalias","refentry"],["","phar.setdefaultstub","example"],["Phar::setDefaultStub","phar.setdefaultstub","refentry"],["","phar.setmetadata","example"],["Phar::setMetadata","phar.setmetadata","refentry"],["Phar::setSignatureAlgorithm","phar.setsignaturealgorithm","refentry"],["","phar.setstub","example"],["Phar::setStub","phar.setstub","refentry"],["","phar.startbuffering","example"],["Phar::startBuffering","phar.startbuffering","refentry"],["","phar.stopbuffering","example"],["Phar::stopBuffering","phar.stopbuffering","refentry"],["","phar.uncompressallfiles","example"],["Phar::uncompressAllFiles","phar.uncompressallfiles","refentry"],["","phar.unlinkarchive","example"],["Phar::unlinkArchive","phar.unlinkarchive","refentry"],["","phar.webphar","example"],["Phar::webPhar","phar.webphar","refentry"],["Phar","class.phar","phpdoc:classref"],["","class.phardata","section"],["","class.phardata","section"],["","phardata.addemptydir","example"],["PharData::addEmptyDir","phardata.addemptydir","refentry"],["","phardata.addfile","example"],["PharData::addFile","phardata.addfile","refentry"],["","phardata.addfromstring","example"],["PharData::addFromString","phardata.addfromstring","refentry"],["","phardata.buildfromdirectory","example"],["PharData::buildFromDirectory","phardata.buildfromdirectory","refentry"],["","phardata.buildfromiterator","example"],["","phardata.buildfromiterator","example"],["PharData::buildFromIterator","phardata.buildfromiterator","refentry"],["","phardata.compress","example"],["PharData::compress","phardata.compress","refentry"],["","phardata.compressfiles","example"],["PharData::compressFiles","phardata.compressfiles","refentry"],["","phardata.construct","example"],["PharData::__construct","phardata.construct","refentry"],["","phardata.converttodata","example"],["PharData::convertToData","phardata.converttodata","refentry"],["","phardata.converttoexecutable","example"],["PharData::convertToExecutable","phardata.converttoexecutable","refentry"],["","phardata.copy","example"],["PharData::copy","phardata.copy","refentry"],["","phardata.decompress","example"],["PharData::decompress","phardata.decompress","refentry"],["","phardata.decompressfiles","example"],["PharData::decompressFiles","phardata.decompressfiles","refentry"],["","phardata.delmetadata","example"],["PharData::delMetadata","phardata.delmetadata","refentry"],["","phardata.delete","example"],["PharData::delete","phardata.delete","refentry"],["","phardata.extractto","example"],["PharData::extractTo","phardata.extractto","refentry"],["PharData::isWritable","phardata.iswritable","refentry"],["","phardata.offsetset","example"],["PharData::offsetSet","phardata.offsetset","refentry"],["","phardata.offsetunset","example"],["PharData::offsetUnset","phardata.offsetunset","refentry"],["PharData::setAlias","phardata.setalias","refentry"],["PharData::setDefaultStub","phardata.setdefaultstub","refentry"],["","phardata.setmetadata","example"],["Phar::setMetadata","phardata.setmetadata","refentry"],["Phar::setSignatureAlgorithm","phardata.setsignaturealgorithm","refentry"],["PharData::setStub","phardata.setstub","refentry"],["PharData","class.phardata","phpdoc:classref"],["","class.pharfileinfo","section"],["","class.pharfileinfo","section"],["","pharfileinfo.chmod","example"],["PharFileInfo::chmod","pharfileinfo.chmod","refentry"],["","pharfileinfo.compress","example"],["PharFileInfo::compress","pharfileinfo.compress","refentry"],["","pharfileinfo.construct","example"],["PharFileInfo::__construct","pharfileinfo.construct","refentry"],["","pharfileinfo.decompress","example"],["PharFileInfo::decompress","pharfileinfo.decompress","refentry"],["","pharfileinfo.delmetadata","example"],["PharFileInfo::delMetadata","pharfileinfo.delmetadata","refentry"],["","pharfileinfo.getcrc32","example"],["PharFileInfo::getCRC32","pharfileinfo.getcrc32","refentry"],["","pharfileinfo.getcompressedsize","example"],["PharFileInfo::getCompressedSize","pharfileinfo.getcompressedsize","refentry"],["","pharfileinfo.getmetadata","example"],["PharFileInfo::getMetadata","pharfileinfo.getmetadata","refentry"],["","pharfileinfo.getpharflags","example"],["PharFileInfo::getPharFlags","pharfileinfo.getpharflags","refentry"],["PharFileInfo::hasMetadata","pharfileinfo.hasmetadata","refentry"],["","pharfileinfo.iscrcchecked","example"],["PharFileInfo::isCRCChecked","pharfileinfo.iscrcchecked","refentry"],["","pharfileinfo.iscompressed","example"],["PharFileInfo::isCompressed","pharfileinfo.iscompressed","refentry"],["","pharfileinfo.iscompressedbzip2","example"],["PharFileInfo::isCompressedBZIP2","pharfileinfo.iscompressedbzip2","refentry"],["","pharfileinfo.iscompressedgz","example"],["PharFileInfo::isCompressedGZ","pharfileinfo.iscompressedgz","refentry"],["","pharfileinfo.setcompressedbzip2","example"],["PharFileInfo::setCompressedBZIP2","pharfileinfo.setcompressedbzip2","refentry"],["","pharfileinfo.setcompressedgz","example"],["PharFileInfo::setCompressedGZ","pharfileinfo.setcompressedgz","refentry"],["","pharfileinfo.setmetadata","example"],["PharFileInfo::setMetadata","pharfileinfo.setmetadata","refentry"],["","pharfileinfo.setuncompressed","example"],["PharFileInfo::setUncompressed","pharfileinfo.setuncompressed","refentry"],["PharFileInfo","class.pharfileinfo","phpdoc:classref"],["","class.pharexception","section"],["","class.pharexception","section"],["PharException","pharexception.intro.unused","refentry"],["PharException","class.pharexception","phpdoc:exceptionref"],["","book.phar","book"],["","intro.rar","preface"],["","rar.requirements","section"],["","rar.installation","example"],["","rar.installation","section"],["","rar.configuration","section"],["","rar.resources","section"],["","rar.setup","chapter"],["","rar.constants","varlistentry"],["","rar.constants","varlistentry"],["","rar.constants","varlistentry"],["","rar.constants","varlistentry"],["","rar.constants","varlistentry"],["","rar.constants","appendix"],["","rar.examples","example"],["","rar.examples","example"],["","rar.examples","chapter"],["rar_wrapper_cache_stats","function.rar-wrapper-cache-stats","refentry"],["","ref.rar","reference"],["","class.rararchive","section"],["","class.rararchive","section"],["","rararchive.close","example"],["","rararchive.close","example"],["RarArchive::close","rararchive.close","refentry"],["","rararchive.getcomment","example"],["","rararchive.getcomment","example"],["RarArchive::getComment","rararchive.getcomment","refentry"],["","rararchive.getentries","example"],["","rararchive.getentries","example"],["RarArchive::getEntries","rararchive.getentries","refentry"],["","rararchive.getentry","example"],["","rararchive.getentry","example"],["RarArchive::getEntry","rararchive.getentry","refentry"],["","rararchive.isbroken","example"],["","rararchive.isbroken","example"],["RarArchive::isBroken","rararchive.isbroken","refentry"],["","rararchive.issolid","example"],["","rararchive.issolid","example"],["RarArchive::isSolid","rararchive.issolid","refentry"],["","rararchive.open","example"],["","rararchive.open","example"],["","rararchive.open","example"],["RarArchive::open","rararchive.open","refentry"],["","rararchive.setallowbroken","example"],["","rararchive.setallowbroken","example"],["RarArchive::setAllowBroken","rararchive.setallowbroken","refentry"],["","rararchive.tostring","example"],["RarArchive::__toString","rararchive.tostring","refentry"],["RarArchive","class.rararchive","phpdoc:classref"],["","class.rarentry","section"],["","class.rarentry","section"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","varlistentry"],["","class.rarentry","section"],["","rarentry.extract","example"],["","rarentry.extract","example"],["RarEntry::extract","rarentry.extract","refentry"],["","rarentry.getattr","example"],["RarEntry::getAttr","rarentry.getattr","refentry"],["RarEntry::getCrc","rarentry.getcrc","refentry"],["RarEntry::getFileTime","rarentry.getfiletime","refentry"],["","rarentry.gethostos","example"],["","rarentry.gethostos","example"],["RarEntry::getHostOs","rarentry.gethostos","refentry"],["","rarentry.getmethod","example"],["RarEntry::getMethod","rarentry.getmethod","refentry"],["","rarentry.getname","example"],["RarEntry::getName","rarentry.getname","refentry"],["","rarentry.getpackedsize","example"],["RarEntry::getPackedSize","rarentry.getpackedsize","refentry"],["","rarentry.getstream","example"],["RarEntry::getStream","rarentry.getstream","refentry"],["","rarentry.getunpackedsize","example"],["RarEntry::getUnpackedSize","rarentry.getunpackedsize","refentry"],["","rarentry.getversion","example"],["RarEntry::getVersion","rarentry.getversion","refentry"],["RarEntry::isDirectory","rarentry.isdirectory","refentry"],["RarEntry::isEncrypted","rarentry.isencrypted","refentry"],["RarEntry::__toString","rarentry.tostring","refentry"],["RarEntry","class.rarentry","phpdoc:classref"],["","class.rarexception","section"],["","class.rarexception","section"],["","rarexception.isusingexceptions","example"],["RarException::isUsingExceptions","rarexception.isusingexceptions","refentry"],["","rarexception.setusingexceptions","example"],["RarException::setUsingExceptions","rarexception.setusingexceptions","refentry"],["RarException","class.rarexception","phpdoc:classref"],["Rar","book.rar","book"],["","intro.zip","preface"],["","zip.requirements","section"],["","zip.requirements","section"],["","zip.requirements","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.installation","section"],["","zip.configuration","section"],["","zip.resources","section"],["","zip.setup","chapter"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","varlistentry"],["","zip.constants","appendix"],["","zip.examples","example"],["","zip.examples","example"],["","zip.examples","example"],["","zip.examples","example"],["","zip.examples","chapter"],["","class.ziparchive","section"],["","class.ziparchive","section"],["","class.ziparchive","varlistentry"],["","class.ziparchive","varlistentry"],["","class.ziparchive","varlistentry"],["","class.ziparchive","varlistentry"],["","class.ziparchive","varlistentry"],["","class.ziparchive","section"],["","ziparchive.addemptydir","example"],["ZipArchive::addEmptyDir","ziparchive.addemptydir","refentry"],["","ziparchive.addfile","example"],["ZipArchive::addFile","ziparchive.addfile","refentry"],["","ziparchive.addfromstring","example"],["","ziparchive.addfromstring","example"],["ZipArchive::addFromString","ziparchive.addfromstring","refentry"],["","ziparchive.addglob","example"],["ZipArchive::addGlob","ziparchive.addglob","refentry"],["","ziparchive.addpattern","example"],["ZipArchive::addPattern","ziparchive.addpattern","refentry"],["ZipArchive::close","ziparchive.close","refentry"],["","ziparchive.deleteindex","example"],["ZipArchive::deleteIndex","ziparchive.deleteindex","refentry"],["","ziparchive.deletename","example"],["ZipArchive::deleteName","ziparchive.deletename","refentry"],["","ziparchive.extractto","example"],["","ziparchive.extractto","example"],["ZipArchive::extractTo","ziparchive.extractto","refentry"],["","ziparchive.getarchivecomment","example"],["ZipArchive::getArchiveComment","ziparchive.getarchivecomment","refentry"],["","ziparchive.getcommentindex","example"],["ZipArchive::getCommentIndex","ziparchive.getcommentindex","refentry"],["","ziparchive.getcommentname","example"],["ZipArchive::getCommentName","ziparchive.getcommentname","refentry"],["","ziparchive.getfromindex","example"],["ZipArchive::getFromIndex","ziparchive.getfromindex","refentry"],["","ziparchive.getfromname","example"],["","ziparchive.getfromname","example"],["ZipArchive::getFromName","ziparchive.getfromname","refentry"],["","ziparchive.getnameindex","example"],["ZipArchive::getNameIndex","ziparchive.getnameindex","refentry"],["ZipArchive::getStatusString","ziparchive.getstatusstring","refentry"],["","ziparchive.getstream","example"],["","ziparchive.getstream","example"],["","ziparchive.getstream","example"],["ZipArchive::getStream","ziparchive.getstream","refentry"],["","ziparchive.locatename","example"],["ZipArchive::locateName","ziparchive.locatename","refentry"],["","ziparchive.open","example"],["","ziparchive.open","example"],["ZipArchive::open","ziparchive.open","refentry"],["","ziparchive.renameindex","example"],["ZipArchive::renameIndex","ziparchive.renameindex","refentry"],["","ziparchive.renamename","example"],["ZipArchive::renameName","ziparchive.renamename","refentry"],["","ziparchive.setarchivecomment","example"],["ZipArchive::setArchiveComment","ziparchive.setarchivecomment","refentry"],["","ziparchive.setcommentindex","example"],["ZipArchive::setCommentIndex","ziparchive.setcommentindex","refentry"],["","ziparchive.setcommentname","example"],["ZipArchive::setCommentName","ziparchive.setcommentname","refentry"],["","ziparchive.statindex","example"],["ZipArchive::statIndex","ziparchive.statindex","refentry"],["","ziparchive.statname","example"],["ZipArchive::statName","ziparchive.statname","refentry"],["ZipArchive::unchangeAll","ziparchive.unchangeall","refentry"],["ZipArchive::unchangeArchive","ziparchive.unchangearchive","refentry"],["ZipArchive::unchangeIndex","ziparchive.unchangeindex","refentry"],["ZipArchive::unchangeName","ziparchive.unchangename","refentry"],["ZipArchive","class.ziparchive","phpdoc:classref"],["zip_close","function.zip-close","refentry"],["zip_entry_close","function.zip-entry-close","refentry"],["zip_entry_compressedsize","function.zip-entry-compressedsize","refentry"],["zip_entry_compressionmethod","function.zip-entry-compressionmethod","refentry"],["zip_entry_filesize","function.zip-entry-filesize","refentry"],["zip_entry_name","function.zip-entry-name","refentry"],["zip_entry_open","function.zip-entry-open","refentry"],["zip_entry_read","function.zip-entry-read","refentry"],["zip_open","function.zip-open","refentry"],["zip_read","function.zip-read","refentry"],["","ref.zip","reference"],["","book.zip","book"],["","intro.zlib","preface"],["","zlib.requirements","section"],["","zlib.installation","section"],["","zlib.configuration","varlistentry"],["","zlib.configuration","varlistentry"],["","zlib.configuration","varlistentry"],["","zlib.configuration","section"],["","zlib.resources","section"],["","zlib.setup","chapter"],["","zlib.constants","varlistentry"],["","zlib.constants","varlistentry"],["","zlib.constants","appendix"],["","zlib.examples","example"],["","zlib.examples","chapter"],["","function.gzclose","example"],["gzclose","function.gzclose","refentry"],["","function.gzcompress","example"],["gzcompress","function.gzcompress","refentry"],["gzdecode","function.gzdecode","refentry"],["","function.gzdeflate","example"],["gzdeflate","function.gzdeflate","refentry"],["","function.gzencode","example"],["gzencode","function.gzencode","refentry"],["","function.gzeof","example"],["gzeof","function.gzeof","refentry"],["","function.gzfile","example"],["gzfile","function.gzfile","refentry"],["","function.gzgetc","example"],["gzgetc","function.gzgetc","refentry"],["","function.gzgets","example"],["gzgets","function.gzgets","refentry"],["","function.gzgetss","example"],["gzgetss","function.gzgetss","refentry"],["","function.gzinflate","example"],["gzinflate","function.gzinflate","refentry"],["","function.gzopen","example"],["gzopen","function.gzopen","refentry"],["","function.gzpassthru","example"],["gzpassthru","function.gzpassthru","refentry"],["gzputs","function.gzputs","refentry"],["","function.gzread","example"],["gzread","function.gzread","refentry"],["gzrewind","function.gzrewind","refentry"],["","function.gzseek","example"],["gzseek","function.gzseek","refentry"],["gztell","function.gztell","refentry"],["","function.gzuncompress","example"],["gzuncompress","function.gzuncompress","refentry"],["","function.gzwrite","example"],["gzwrite","function.gzwrite","refentry"],["readgzfile","function.readgzfile","refentry"],["zlib_decode","function.zlib-decode","refentry"],["zlib_encode","function.zlib-encode","refentry"],["zlib_get_coding_type","function.zlib-get-coding-type","refentry"],["","ref.zlib","reference"],["Zlib","book.zlib","book"],["","refs.compression","set"],["","intro.mcve","preface"],["","mcve.requirements","section"],["","mcve.installation","section"],["","mcve.configuration","section"],["","mcve.resources","section"],["","mcve.setup","chapter"],["","mcve.constants","varlistentry"],["","mcve.constants","varlistentry"],["","mcve.constants","varlistentry"],["","mcve.constants","varlistentry"],["","mcve.constants","varlistentry"],["","mcve.constants","appendix"],["m_checkstatus","function.m-checkstatus","refentry"],["m_completeauthorizations","function.m-completeauthorizations","refentry"],["m_connect","function.m-connect","refentry"],["m_connectionerror","function.m-connectionerror","refentry"],["m_deletetrans","function.m-deletetrans","refentry"],["m_destroyconn","function.m-destroyconn","refentry"],["m_destroyengine","function.m-destroyengine","refentry"],["m_getcell","function.m-getcell","refentry"],["m_getcellbynum","function.m-getcellbynum","refentry"],["m_getcommadelimited","function.m-getcommadelimited","refentry"],["m_getheader","function.m-getheader","refentry"],["m_initconn","function.m-initconn","refentry"],["m_initengine","function.m-initengine","refentry"],["m_iscommadelimited","function.m-iscommadelimited","refentry"],["m_maxconntimeout","function.m-maxconntimeout","refentry"],["m_monitor","function.m-monitor","refentry"],["m_numcolumns","function.m-numcolumns","refentry"],["m_numrows","function.m-numrows","refentry"],["m_parsecommadelimited","function.m-parsecommadelimited","refentry"],["m_responsekeys","function.m-responsekeys","refentry"],["m_responseparam","function.m-responseparam","refentry"],["m_returnstatus","function.m-returnstatus","refentry"],["m_setblocking","function.m-setblocking","refentry"],["m_setdropfile","function.m-setdropfile","refentry"],["m_setip","function.m-setip","refentry"],["m_setssl_cafile","function.m-setssl-cafile","refentry"],["m_setssl_files","function.m-setssl-files","refentry"],["m_setssl","function.m-setssl","refentry"],["m_settimeout","function.m-settimeout","refentry"],["m_sslcert_gen_hash","function.m-sslcert-gen-hash","refentry"],["m_transactionssent","function.m-transactionssent","refentry"],["m_transinqueue","function.m-transinqueue","refentry"],["m_transkeyval","function.m-transkeyval","refentry"],["m_transnew","function.m-transnew","refentry"],["m_transsend","function.m-transsend","refentry"],["m_uwait","function.m-uwait","refentry"],["m_validateidentifier","function.m-validateidentifier","refentry"],["m_verifyconnection","function.m-verifyconnection","refentry"],["m_verifysslcert","function.m-verifysslcert","refentry"],["","ref.mcve","reference"],["MCVE","book.mcve","book"],["","intro.spplus","preface"],["","spplus.requirements","section"],["","spplus.installation","section"],["","spplus.configuration","section"],["","spplus.resources","section"],["","spplus.setup","chapter"],["","spplus.constants","appendix"],["calcul_hmac","function.calcul-hmac","refentry"],["calculhmac","function.calculhmac","refentry"],["nthmac","function.nthmac","refentry"],["signeurlpaiement","function.signeurlpaiement","refentry"],["","ref.spplus","reference"],["SPPLUS","book.spplus","book"],["","refs.creditcard","set"],["","intro.crack","preface"],["","crack.requirements","section"],["","crack.installation","section"],["","crack.configuration","section"],["","crack.resources","section"],["","crack.setup","chapter"],["","crack.constants","appendix"],["","crack.examples","example"],["","crack.examples","appendix"],["crack_check","function.crack-check","refentry"],["crack_closedict","function.crack-closedict","refentry"],["crack_getlastmessage","function.crack-getlastmessage","refentry"],["crack_opendict","function.crack-opendict","refentry"],["","ref.crack","reference"],["Crack","book.crack","book"],["","intro.hash","preface"],["","hash.requirements","section"],["","hash.installation","section"],["","hash.configuration","section"],["","hash.resources","section"],["","hash.setup","chapter"],["","hash.constants","varlistentry"],["","hash.constants","appendix"],["","function.hash-algos","example"],["hash_algos","function.hash-algos","refentry"],["","function.hash-copy","example"],["hash_copy","function.hash-copy","refentry"],["","function.hash-file","example"],["hash_file","function.hash-file","refentry"],["","function.hash-final","example"],["hash_final","function.hash-final","refentry"],["","function.hash-hmac-file","example"],["hash_hmac_file","function.hash-hmac-file","refentry"],["","function.hash-hmac","example"],["hash_hmac","function.hash-hmac","refentry"],["","function.hash-init","example"],["hash_init","function.hash-init","refentry"],["","function.hash-pbkdf2","example"],["hash_pbkdf2","function.hash-pbkdf2","refentry"],["hash_update_file","function.hash-update-file","refentry"],["","function.hash-update-stream","example"],["hash_update_stream","function.hash-update-stream","refentry"],["hash_update","function.hash-update","refentry"],["","function.hash","example"],["hash","function.hash","refentry"],["","ref.hash","reference"],["Hash","book.hash","book"],["","intro.mcrypt","preface"],["","mcrypt.requirements","section"],["","mcrypt.installation","section"],["","mcrypt.configuration","varlistentry"],["","mcrypt.configuration","varlistentry"],["","mcrypt.configuration","section"],["","mcrypt.resources","section"],["","mcrypt.setup","chapter"],["","mcrypt.constants","varlistentry"],["","mcrypt.constants","varlistentry"],["","mcrypt.constants","varlistentry"],["","mcrypt.constants","varlistentry"],["","mcrypt.constants","varlistentry"],["","mcrypt.constants","appendix"],["","mcrypt.ciphers","appendix"],["","mcrypt.examples","example"],["","mcrypt.examples","appendix"],["mcrypt_cbc","function.mcrypt-cbc","refentry"],["mcrypt_cfb","function.mcrypt-cfb","refentry"],["","function.mcrypt-create-iv","example"],["mcrypt_create_iv","function.mcrypt-create-iv","refentry"],["mcrypt_decrypt","function.mcrypt-decrypt","refentry"],["mcrypt_ecb","function.mcrypt-ecb","refentry"],["","function.mcrypt-enc-get-algorithms-name","example"],["mcrypt_enc_get_algorithms_name","function.mcrypt-enc-get-algorithms-name","refentry"],["mcrypt_enc_get_block_size","function.mcrypt-enc-get-block-size","refentry"],["mcrypt_enc_get_iv_size","function.mcrypt-enc-get-iv-size","refentry"],["mcrypt_enc_get_key_size","function.mcrypt-enc-get-key-size","refentry"],["","function.mcrypt-enc-get-modes-name","example"],["mcrypt_enc_get_modes_name","function.mcrypt-enc-get-modes-name","refentry"],["","function.mcrypt-enc-get-supported-key-sizes","example"],["mcrypt_enc_get_supported_key_sizes","function.mcrypt-enc-get-supported-key-sizes","refentry"],["mcrypt_enc_is_block_algorithm_mode","function.mcrypt-enc-is-block-algorithm-mode","refentry"],["mcrypt_enc_is_block_algorithm","function.mcrypt-enc-is-block-algorithm","refentry"],["mcrypt_enc_is_block_mode","function.mcrypt-enc-is-block-mode","refentry"],["mcrypt_enc_self_test","function.mcrypt-enc-self-test","refentry"],["","function.mcrypt-encrypt","example"],["mcrypt_encrypt","function.mcrypt-encrypt","refentry"],["mcrypt_generic_deinit","function.mcrypt-generic-deinit","refentry"],["mcrypt_generic_end","function.mcrypt-generic-end","refentry"],["mcrypt_generic_init","function.mcrypt-generic-init","refentry"],["mcrypt_generic","function.mcrypt-generic","refentry"],["","function.mcrypt-get-block-size","example"],["mcrypt_get_block_size","function.mcrypt-get-block-size","refentry"],["","function.mcrypt-get-cipher-name","example"],["mcrypt_get_cipher_name","function.mcrypt-get-cipher-name","refentry"],["","function.mcrypt-get-iv-size","example"],["mcrypt_get_iv_size","function.mcrypt-get-iv-size","refentry"],["","function.mcrypt-get-key-size","example"],["mcrypt_get_key_size","function.mcrypt-get-key-size","refentry"],["","function.mcrypt-list-algorithms","example"],["mcrypt_list_algorithms","function.mcrypt-list-algorithms","refentry"],["","function.mcrypt-list-modes","example"],["mcrypt_list_modes","function.mcrypt-list-modes","refentry"],["mcrypt_module_close","function.mcrypt-module-close","refentry"],["mcrypt_module_get_algo_block_size","function.mcrypt-module-get-algo-block-size","refentry"],["mcrypt_module_get_algo_key_size","function.mcrypt-module-get-algo-key-size","refentry"],["mcrypt_module_get_supported_key_sizes","function.mcrypt-module-get-supported-key-sizes","refentry"],["mcrypt_module_is_block_algorithm_mode","function.mcrypt-module-is-block-algorithm-mode","refentry"],["mcrypt_module_is_block_algorithm","function.mcrypt-module-is-block-algorithm","refentry"],["mcrypt_module_is_block_mode","function.mcrypt-module-is-block-mode","refentry"],["","function.mcrypt-module-open","example"],["","function.mcrypt-module-open","example"],["mcrypt_module_open","function.mcrypt-module-open","refentry"],["","function.mcrypt-module-self-test","example"],["mcrypt_module_self_test","function.mcrypt-module-self-test","refentry"],["mcrypt_ofb","function.mcrypt-ofb","refentry"],["","function.mdecrypt-generic","example"],["mdecrypt_generic","function.mdecrypt-generic","refentry"],["","ref.mcrypt","reference"],["","book.mcrypt","book"],["","intro.mhash","preface"],["","mhash.requirements","section"],["","mhash.installation","section"],["","mhash.configuration","section"],["","mhash.resources","section"],["","mhash.setup","chapter"],["","mhash.constants","appendix"],["","mhash.examples","example"],["","mhash.examples","appendix"],["","function.mhash-count","example"],["mhash_count","function.mhash-count","refentry"],["","function.mhash-get-block-size","example"],["mhash_get_block_size","function.mhash-get-block-size","refentry"],["","function.mhash-get-hash-name","example"],["mhash_get_hash_name","function.mhash-get-hash-name","refentry"],["mhash_keygen_s2k","function.mhash-keygen-s2k","refentry"],["mhash","function.mhash","refentry"],["","ref.mhash","reference"],["","book.mhash","book"],["","intro.openssl","preface"],["","openssl.requirements","section"],["","openssl.installation","section"],["","openssl.configuration","section"],["","openssl.resources","section"],["","openssl.setup","chapter"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","varlistentry"],["","openssl.purpose-check","section"],["","openssl.padding","varlistentry"],["","openssl.padding","varlistentry"],["","openssl.padding","varlistentry"],["","openssl.padding","varlistentry"],["","openssl.padding","section"],["","openssl.key-types","varlistentry"],["","openssl.key-types","varlistentry"],["","openssl.key-types","varlistentry"],["","openssl.key-types","varlistentry"],["","openssl.key-types","section"],["","openssl.pkcs7.flags","section"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","varlistentry"],["","openssl.signature-algos","section"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","varlistentry"],["","openssl.ciphers","section"],["","openssl.constversion","varlistentry"],["","openssl.constversion","varlistentry"],["","openssl.constversion","section"],["","openssl.constsni","varlistentry"],["","openssl.constsni","section"],["","openssl.constants","appendix"],["","openssl.certparams","appendix"],["","openssl.cert.verification","appendix"],["","function.openssl-cipher-iv-length","example"],["openssl_cipher_iv_length","function.openssl-cipher-iv-length","refentry"],["openssl_csr_export_to_file","function.openssl-csr-export-to-file","refentry"],["openssl_csr_export","function.openssl-csr-export","refentry"],["openssl_csr_get_public_key","function.openssl-csr-get-public-key","refentry"],["openssl_csr_get_subject","function.openssl-csr-get-subject","refentry"],["","function.openssl-csr-new","example"],["openssl_csr_new","function.openssl-csr-new","refentry"],["","function.openssl-csr-sign","example"],["openssl_csr_sign","function.openssl-csr-sign","refentry"],["openssl_decrypt","function.openssl-decrypt","refentry"],["openssl_dh_compute_key","function.openssl-dh-compute-key","refentry"],["openssl_digest","function.openssl-digest","refentry"],["openssl_encrypt","function.openssl-encrypt","refentry"],["","function.openssl-error-string","example"],["openssl_error_string","function.openssl-error-string","refentry"],["openssl_free_key","function.openssl-free-key","refentry"],["","function.openssl-get-cipher-methods","example"],["openssl_get_cipher_methods","function.openssl-get-cipher-methods","refentry"],["","function.openssl-get-md-methods","example"],["openssl_get_md_methods","function.openssl-get-md-methods","refentry"],["openssl_get_privatekey","function.openssl-get-privatekey","refentry"],["openssl_get_publickey","function.openssl-get-publickey","refentry"],["","function.openssl-open","example"],["openssl_open","function.openssl-open","refentry"],["openssl_pbkdf2","function.openssl-pbkdf2","refentry"],["openssl_pkcs12_export_to_file","function.openssl-pkcs12-export-to-file","refentry"],["openssl_pkcs12_export","function.openssl-pkcs12-export","refentry"],["openssl_pkcs12_read","function.openssl-pkcs12-read","refentry"],["","function.openssl-pkcs7-decrypt","example"],["openssl_pkcs7_decrypt","function.openssl-pkcs7-decrypt","refentry"],["","function.openssl-pkcs7-encrypt","example"],["openssl_pkcs7_encrypt","function.openssl-pkcs7-encrypt","refentry"],["","function.openssl-pkcs7-sign","example"],["openssl_pkcs7_sign","function.openssl-pkcs7-sign","refentry"],["openssl_pkcs7_verify","function.openssl-pkcs7-verify","refentry"],["openssl_pkey_export_to_file","function.openssl-pkey-export-to-file","refentry"],["openssl_pkey_export","function.openssl-pkey-export","refentry"],["openssl_pkey_free","function.openssl-pkey-free","refentry"],["openssl_pkey_get_details","function.openssl-pkey-get-details","refentry"],["openssl_pkey_get_private","function.openssl-pkey-get-private","refentry"],["openssl_pkey_get_public","function.openssl-pkey-get-public","refentry"],["openssl_pkey_new","function.openssl-pkey-new","refentry"],["openssl_private_decrypt","function.openssl-private-decrypt","refentry"],["openssl_private_encrypt","function.openssl-private-encrypt","refentry"],["openssl_public_decrypt","function.openssl-public-decrypt","refentry"],["openssl_public_encrypt","function.openssl-public-encrypt","refentry"],["","function.openssl-random-pseudo-bytes","example"],["openssl_random_pseudo_bytes","function.openssl-random-pseudo-bytes","refentry"],["","function.openssl-seal","example"],["openssl_seal","function.openssl-seal","refentry"],["","function.openssl-sign","example"],["openssl_sign","function.openssl-sign","refentry"],["","function.openssl-verify","example"],["openssl_verify","function.openssl-verify","refentry"],["openssl_x509_check_private_key","function.openssl-x509-check-private-key","refentry"],["openssl_x509_checkpurpose","function.openssl-x509-checkpurpose","refentry"],["openssl_x509_export_to_file","function.openssl-x509-export-to-file","refentry"],["openssl_x509_export","function.openssl-x509-export","refentry"],["openssl_x509_free","function.openssl-x509-free","refentry"],["openssl_x509_parse","function.openssl-x509-parse","refentry"],["openssl_x509_read","function.openssl-x509-read","refentry"],["","ref.openssl","reference"],["","book.openssl","book"],["","intro.password","preface"],["","password.requirements","section"],["","password.installation","section"],["","password.configuration","section"],["","password.resources","section"],["","password.setup","chapter"],["","password.constants","varlistentry"],["","password.constants","varlistentry"],["","password.constants","appendix"],["password_get_info","function.password-get-info","refentry"],["","function.password-hash","example"],["","function.password-hash","example"],["","function.password-hash","example"],["","function.password-hash","example"],["password_hash","function.password-hash","refentry"],["password_needs_rehash","function.password-needs-rehash","refentry"],["","function.password-verify","example"],["password_verify","function.password-verify","refentry"],["","ref.password","reference"],["","book.password","book"],["","refs.crypto","set"],["","intro.dba","preface"],["","dba.requirements","section"],["","dba.installation","section"],["","dba.configuration","varlistentry"],["","dba.configuration","section"],["","dba.resources","section"],["","dba.setup","chapter"],["","dba.constants","appendix"],["","dba.example","example"],["","dba.example","example"],["","dba.example","section"],["","dba.examples","chapter"],["dba_close","function.dba-close","refentry"],["dba_delete","function.dba-delete","refentry"],["dba_exists","function.dba-exists","refentry"],["dba_fetch","function.dba-fetch","refentry"],["dba_firstkey","function.dba-firstkey","refentry"],["","function.dba-handlers","example"],["dba_handlers","function.dba-handlers","refentry"],["dba_insert","function.dba-insert","refentry"],["dba_key_split","function.dba-key-split","refentry"],["dba_list","function.dba-list","refentry"],["dba_nextkey","function.dba-nextkey","refentry"],["dba_open","function.dba-open","refentry"],["dba_optimize","function.dba-optimize","refentry"],["dba_popen","function.dba-popen","refentry"],["dba_replace","function.dba-replace","refentry"],["dba_sync","function.dba-sync","refentry"],["","ref.dba","reference"],["DBA","book.dba","book"],["","intro.dbx","preface"],["","dbx.requirements","section"],["","dbx.installation","section"],["","dbx.configuration","varlistentry"],["","dbx.configuration","section"],["","dbx.resources","section"],["","dbx.setup","chapter"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","varlistentry"],["","constants.dbx","appendix"],["","function.dbx-close","example"],["dbx_close","function.dbx-close","refentry"],["","function.dbx-compare","example"],["dbx_compare","function.dbx-compare","refentry"],["","function.dbx-connect","example"],["dbx_connect","function.dbx-connect","refentry"],["","function.dbx-error","example"],["dbx_error","function.dbx-error","refentry"],["","function.dbx-escape-string","example"],["dbx_escape_string","function.dbx-escape-string","refentry"],["","function.dbx-fetch-row","example"],["dbx_fetch_row","function.dbx-fetch-row","refentry"],["","function.dbx-query","example"],["","function.dbx-query","example"],["","function.dbx-query","example"],["","function.dbx-query","example"],["dbx_query","function.dbx-query","refentry"],["","function.dbx-sort","example"],["dbx_sort","function.dbx-sort","refentry"],["","ref.dbx","reference"],["","book.dbx","book"],["","intro.uodbc","preface"],["","uodbc.requirements","section"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","varlistentry"],["","odbc.installation","section"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","varlistentry"],["","odbc.configuration","section"],["","uodbc.resources","section"],["","uodbc.setup","chapter"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","varlistentry"],["","uodbc.constants","appendix"],["odbc_autocommit","function.odbc-autocommit","refentry"],["odbc_binmode","function.odbc-binmode","refentry"],["odbc_close_all","function.odbc-close-all","refentry"],["odbc_close","function.odbc-close","refentry"],["odbc_columnprivileges","function.odbc-columnprivileges","refentry"],["odbc_columns","function.odbc-columns","refentry"],["odbc_commit","function.odbc-commit","refentry"],["","function.odbc-connect","example"],["odbc_connect","function.odbc-connect","refentry"],["odbc_cursor","function.odbc-cursor","refentry"],["odbc_data_source","function.odbc-data-source","refentry"],["odbc_do","function.odbc-do","refentry"],["odbc_error","function.odbc-error","refentry"],["odbc_errormsg","function.odbc-errormsg","refentry"],["odbc_exec","function.odbc-exec","refentry"],["","function.odbc-execute","example"],["odbc_execute","function.odbc-execute","refentry"],["odbc_fetch_array","function.odbc-fetch-array","refentry"],["","function.odbc-fetch-into","example"],["odbc_fetch_into","function.odbc-fetch-into","refentry"],["odbc_fetch_object","function.odbc-fetch-object","refentry"],["odbc_fetch_row","function.odbc-fetch-row","refentry"],["odbc_field_len","function.odbc-field-len","refentry"],["odbc_field_name","function.odbc-field-name","refentry"],["odbc_field_num","function.odbc-field-num","refentry"],["odbc_field_precision","function.odbc-field-precision","refentry"],["odbc_field_scale","function.odbc-field-scale","refentry"],["odbc_field_type","function.odbc-field-type","refentry"],["odbc_foreignkeys","function.odbc-foreignkeys","refentry"],["odbc_free_result","function.odbc-free-result","refentry"],["odbc_gettypeinfo","function.odbc-gettypeinfo","refentry"],["odbc_longreadlen","function.odbc-longreadlen","refentry"],["","function.odbc-next-result","example"],["odbc_next_result","function.odbc-next-result","refentry"],["odbc_num_fields","function.odbc-num-fields","refentry"],["odbc_num_rows","function.odbc-num-rows","refentry"],["odbc_pconnect","function.odbc-pconnect","refentry"],["","function.odbc-prepare","example"],["odbc_prepare","function.odbc-prepare","refentry"],["odbc_primarykeys","function.odbc-primarykeys","refentry"],["odbc_procedurecolumns","function.odbc-procedurecolumns","refentry"],["odbc_procedures","function.odbc-procedures","refentry"],["odbc_result_all","function.odbc-result-all","refentry"],["","function.odbc-result","example"],["odbc_result","function.odbc-result","refentry"],["odbc_rollback","function.odbc-rollback","refentry"],["","function.odbc-setoption","example"],["odbc_setoption","function.odbc-setoption","refentry"],["odbc_specialcolumns","function.odbc-specialcolumns","refentry"],["odbc_statistics","function.odbc-statistics","refentry"],["odbc_tableprivileges","function.odbc-tableprivileges","refentry"],["odbc_tables","function.odbc-tables","refentry"],["","ref.uodbc","reference"],["ODBC","book.uodbc","book"],["","intro.pdo","preface"],["","pdo.requirements","section"],["","pdo.installation","procedure"],["","pdo.installation","procedure"],["","pdo.installation","section"],["","pdo.configuration","varlistentry"],["","pdo.configuration","section"],["","pdo.resources","section"],["","pdo.setup","chapter"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","example"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","varlistentry"],["","pdo.constants","appendix"],["","pdo.connections","example"],["","pdo.connections","example"],["","pdo.connections","example"],["","pdo.connections","example"],["","pdo.connections","chapter"],["","pdo.transactions","example"],["","pdo.transactions","chapter"],["","pdo.prepared-statements","example"],["","pdo.prepared-statements","example"],["","pdo.prepared-statements","example"],["","pdo.prepared-statements","example"],["","pdo.prepared-statements","example"],["","pdo.prepared-statements","example"],["","pdo.prepared-statements","chapter"],["","pdo.error-handling","example"],["","pdo.error-handling","example"],["","pdo.error-handling","chapter"],["","pdo.lobs","example"],["","pdo.lobs","example"],["","pdo.lobs","example"],["","pdo.lobs","chapter"],["","class.pdo","section"],["","class.pdo","section"],["","pdo.begintransaction","example"],["PDO::beginTransaction","pdo.begintransaction","refentry"],["","pdo.commit","example"],["","pdo.commit","example"],["PDO::commit","pdo.commit","refentry"],["","pdo.construct","example"],["","pdo.construct","example"],["","pdo.construct","example"],["PDO::__construct","pdo.construct","refentry"],["","pdo.errorcode","example"],["PDO::errorCode","pdo.errorcode","refentry"],["","pdo.errorinfo","example"],["PDO::errorInfo","pdo.errorinfo","refentry"],["","pdo.exec","example"],["PDO::exec","pdo.exec","refentry"],["","pdo.getattribute","example"],["PDO::getAttribute","pdo.getattribute","refentry"],["","pdo.getavailabledrivers","example"],["PDO::getAvailableDrivers","pdo.getavailabledrivers","refentry"],["PDO::inTransaction","pdo.intransaction","refentry"],["PDO::lastInsertId","pdo.lastinsertid","refentry"],["","pdo.prepare","example"],["","pdo.prepare","example"],["PDO::prepare","pdo.prepare","refentry"],["","pdo.query","example"],["PDO::query","pdo.query","refentry"],["","pdo.quote","example"],["","pdo.quote","example"],["","pdo.quote","example"],["PDO::quote","pdo.quote","refentry"],["","pdo.rollback","example"],["PDO::rollBack","pdo.rollback","refentry"],["PDO::setAttribute","pdo.setattribute","refentry"],["PDO","class.pdo","phpdoc:classref"],["","class.pdostatement","section"],["","class.pdostatement","section"],["","class.pdostatement","varlistentry"],["","class.pdostatement","section"],["","pdostatement.bindcolumn","example"],["PDOStatement::bindColumn","pdostatement.bindcolumn","refentry"],["","pdostatement.bindparam","example"],["","pdostatement.bindparam","example"],["","pdostatement.bindparam","example"],["PDOStatement::bindParam","pdostatement.bindparam","refentry"],["","pdostatement.bindvalue","example"],["","pdostatement.bindvalue","example"],["PDOStatement::bindValue","pdostatement.bindvalue","refentry"],["","pdostatement.closecursor","example"],["PDOStatement::closeCursor","pdostatement.closecursor","refentry"],["","pdostatement.columncount","example"],["PDOStatement::columnCount","pdostatement.columncount","refentry"],["","pdostatement.debugdumpparams","example"],["","pdostatement.debugdumpparams","example"],["PDOStatement::debugDumpParams","pdostatement.debugdumpparams","refentry"],["","pdostatement.errorcode","example"],["PDOStatement::errorCode","pdostatement.errorcode","refentry"],["","pdostatement.errorinfo","example"],["PDOStatement::errorInfo","pdostatement.errorinfo","refentry"],["","pdostatement.execute","example"],["","pdostatement.execute","example"],["","pdostatement.execute","example"],["","pdostatement.execute","example"],["","pdostatement.execute","example"],["PDOStatement::execute","pdostatement.execute","refentry"],["","pdostatement.fetch","example"],["","pdostatement.fetch","example"],["PDOStatement::fetch","pdostatement.fetch","refentry"],["","pdostatement.fetchall","example"],["","pdostatement.fetchall","example"],["","pdostatement.fetchall","example"],["","pdostatement.fetchall","example"],["","pdostatement.fetchall","example"],["PDOStatement::fetchAll","pdostatement.fetchall","refentry"],["","pdostatement.fetchcolumn","example"],["PDOStatement::fetchColumn","pdostatement.fetchcolumn","refentry"],["PDOStatement::fetchObject","pdostatement.fetchobject","refentry"],["PDOStatement::getAttribute","pdostatement.getattribute","refentry"],["","pdostatement.getcolumnmeta","example"],["PDOStatement::getColumnMeta","pdostatement.getcolumnmeta","refentry"],["","pdostatement.nextrowset","example"],["PDOStatement::nextRowset","pdostatement.nextrowset","refentry"],["","pdostatement.rowcount","example"],["","pdostatement.rowcount","example"],["PDOStatement::rowCount","pdostatement.rowcount","refentry"],["PDOStatement::setAttribute","pdostatement.setattribute","refentry"],["","pdostatement.setfetchmode","example"],["PDOStatement::setFetchMode","pdostatement.setfetchmode","refentry"],["PDOStatement","class.pdostatement","phpdoc:classref"],["","class.pdoexception","section"],["","class.pdoexception","section"],["","class.pdoexception","varlistentry"],["","class.pdoexception","varlistentry"],["","class.pdoexception","section"],["PDOException","class.pdoexception","phpdoc:exceptionref"],["","ref.pdo-cubrid","section"],["","ref.pdo-cubrid","section"],["","ref.pdo-cubrid","example"],["","ref.pdo-cubrid","example"],["","ref.pdo-cubrid","example"],["","ref.pdo-cubrid","example"],["","ref.pdo-cubrid","section"],["","ref.pdo-cubrid","section"],["","ref.pdo-cubrid.connection","example"],["PDO_CUBRID DSN","ref.pdo-cubrid.connection","refentry"],["","pdo.cubrid-schema","example"],["PDO::cubrid_schema","pdo.cubrid-schema","refentry"],["CUBRID (PDO)","ref.pdo-cubrid","reference"],["","ref.pdo-dblib","section"],["","ref.pdo-dblib.connection","example"],["PDO_DBLIB DSN","ref.pdo-dblib.connection","refentry"],["MS SQL Server (PDO)","ref.pdo-dblib","reference"],["","ref.pdo-firebird","section"],["","ref.pdo-firebird","section"],["","ref.pdo-firebird","varlistentry"],["","ref.pdo-firebird","varlistentry"],["","ref.pdo-firebird","varlistentry"],["","ref.pdo-firebird","section"],["","ref.pdo-firebird.connection","example"],["","ref.pdo-firebird.connection","example"],["","ref.pdo-firebird.connection","example"],["PDO_FIREBIRD DSN","ref.pdo-firebird.connection","refentry"],["Firebird (PDO)","ref.pdo-firebird","reference"],["","ref.pdo-ibm","section"],["","ref.pdo-ibm","section"],["","ref.pdo-ibm.connection","example"],["","ref.pdo-ibm.connection","example"],["PDO_IBM DSN","ref.pdo-ibm.connection","refentry"],["IBM (PDO)","ref.pdo-ibm","reference"],["","ref.pdo-informix","section"],["","ref.pdo-informix","section"],["","ref.pdo-informix","section"],["","ref.pdo-informix.connection","example"],["","ref.pdo-informix.connection","example"],["PDO_INFORMIX DSN","ref.pdo-informix.connection","refentry"],["Informix (PDO)","ref.pdo-informix","reference"],["","ref.pdo-mysql","section"],["","ref.pdo-mysql","section"],["","ref.pdo-mysql","example"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","section"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","varlistentry"],["","ref.pdo-mysql","section"],["","ref.pdo-mysql.connection","example"],["","ref.pdo-mysql.connection","example"],["PDO_MYSQL DSN","ref.pdo-mysql.connection","refentry"],["MySQL (PDO)","ref.pdo-mysql","reference"],["","ref.pdo-sqlsrv","section"],["","ref.pdo-sqlsrv","section"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","varlistentry"],["","ref.pdo-sqlsrv","section"],["","ref.pdo-sqlsrv.connection","example"],["PDO_SQLSRV DSN","ref.pdo-sqlsrv.connection","refentry"],["MS SQL Server (PDO)","ref.pdo-sqlsrv","reference"],["","ref.pdo-oci","section"],["","ref.pdo-oci","section"],["","ref.pdo-oci.connection","example"],["PDO_OCI DSN","ref.pdo-oci.connection","refentry"],["Oracle (PDO)","ref.pdo-oci","reference"],["","ref.pdo-odbc","section"],["","ref.pdo-odbc","procedure"],["","ref.pdo-odbc","section"],["","ref.pdo-odbc","varlistentry"],["","ref.pdo-odbc","varlistentry"],["","ref.pdo-odbc","section"],["","ref.pdo-odbc.connection","example"],["","ref.pdo-odbc.connection","example"],["","ref.pdo-odbc.connection","example"],["PDO_ODBC DSN","ref.pdo-odbc.connection","refentry"],["ODBC and DB2 (PDO)","ref.pdo-odbc","reference"],["","ref.pdo-pgsql","section"],["","ref.pdo-pgsql","section"],["","ref.pdo-pgsql","section"],["","ref.pdo-pgsql.connection","example"],["PDO_PGSQL DSN","ref.pdo-pgsql.connection","refentry"],["","pdo.pgsqllobcreate","example"],["PDO::pgsqlLOBCreate","pdo.pgsqllobcreate","refentry"],["","pdo.pgsqllobopen","example"],["PDO::pgsqlLOBOpen","pdo.pgsqllobopen","refentry"],["","pdo.pgsqllobunlink","example"],["PDO::pgsqlLOBUnlink","pdo.pgsqllobunlink","refentry"],["PostgreSQL (PDO)","ref.pdo-pgsql","reference"],["","ref.pdo-sqlite","section"],["","ref.pdo-sqlite","section"],["","ref.pdo-sqlite.connection","example"],["PDO_SQLITE DSN","ref.pdo-sqlite.connection","refentry"],["","pdo.sqlitecreateaggregate","example"],["PDO::sqliteCreateAggregate","pdo.sqlitecreateaggregate","refentry"],["","pdo.sqlitecreatefunction","example"],["PDO::sqliteCreateFunction","pdo.sqlitecreatefunction","refentry"],["SQLite (PDO)","ref.pdo-sqlite","reference"],["","ref.pdo-4d","section"],["","ref.pdo-4d.connection","example"],["PDO_4D DSN","ref.pdo-4d.connection","refentry"],["","pdo-4d.constants","varlistentry"],["","pdo-4d.constants","varlistentry"],["Constants for PDO_4D","pdo-4d.constants","refentry"],["SQL types with PDO_4D and PHP","pdo-4d.sqltypes","refentry"],["SQL acceptable by 4D","ref.pdo-4d.sql4d","refentry"],["","pdo-4d.examples","example"],["","pdo-4d.examples","example"],["","pdo-4d.examples","example"],["Examples with PDO_4D","pdo-4d.examples","refentry"],["4D (PDO)","ref.pdo-4d","reference"],["","pdo.drivers","part"],["PDO","book.pdo","book"],["","refs.database.abstract","set"],["","intro.cubrid","preface"],["","cubrid.requirements","section"],["","cubrid.installation","section"],["","cubrid.configuration","section"],["","cubrid.resources","section"],["","cubrid.resources","section"],["","cubrid.resources","section"],["","cubrid.resources","section"],["","cubrid.resources","section"],["","cubrid.setup","chapter"],["","cubrid.constants","appendix"],["","cubrid.examples","example"],["","cubrid.examples","example"],["","cubrid.examples","chapter"],["","function.cubrid-bind","example"],["","function.cubrid-bind","example"],["","function.cubrid-bind","example"],["cubrid_bind","function.cubrid-bind","refentry"],["","function.cubrid-close-prepare","example"],["cubrid_close_prepare","function.cubrid-close-prepare","refentry"],["","function.cubrid-close-request","example"],["cubrid_close_request","function.cubrid-close-request","refentry"],["","function.cubrid-col-get","example"],["cubrid_col_get","function.cubrid-col-get","refentry"],["","function.cubrid-col-size","example"],["cubrid_col_size","function.cubrid-col-size","refentry"],["","function.cubrid-column-names","example"],["cubrid_column_names","function.cubrid-column-names","refentry"],["","function.cubrid-column-types","example"],["cubrid_column_types","function.cubrid-column-types","refentry"],["","function.cubrid-commit","example"],["cubrid_commit","function.cubrid-commit","refentry"],["","function.cubrid-connect-with-url","example"],["","function.cubrid-connect-with-url","example"],["cubrid_connect_with_url","function.cubrid-connect-with-url","refentry"],["","function.cubrid-connect","example"],["cubrid_connect","function.cubrid-connect","refentry"],["","function.cubrid-current-oid","example"],["cubrid_current_oid","function.cubrid-current-oid","refentry"],["","function.cubrid-disconnect","example"],["cubrid_disconnect","function.cubrid-disconnect","refentry"],["","function.cubrid-drop","example"],["cubrid_drop","function.cubrid-drop","refentry"],["","function.cubrid-error-code-facility","example"],["cubrid_error_code_facility","function.cubrid-error-code-facility","refentry"],["","function.cubrid-error-code","example"],["cubrid_error_code","function.cubrid-error-code","refentry"],["","function.cubrid-error-msg","example"],["cubrid_error_msg","function.cubrid-error-msg","refentry"],["","function.cubrid-execute","example"],["cubrid_execute","function.cubrid-execute","refentry"],["","function.cubrid-fetch","example"],["cubrid_fetch","function.cubrid-fetch","refentry"],["","function.cubrid-free-result","example"],["cubrid_free_result","function.cubrid-free-result","refentry"],["cubrid_get_autocommit","function.cubrid-get-autocommit","refentry"],["","function.cubrid-get-charset","example"],["cubrid_get_charset","function.cubrid-get-charset","refentry"],["","function.cubrid-get-class-name","example"],["cubrid_get_class_name","function.cubrid-get-class-name","refentry"],["","function.cubrid-get-client-info","example"],["cubrid_get_client_info","function.cubrid-get-client-info","refentry"],["","function.cubrid-get-db-parameter","example"],["cubrid_get_db_parameter","function.cubrid-get-db-parameter","refentry"],["","function.cubrid-get-query-timeout","example"],["cubrid_get_query_timeout","function.cubrid-get-query-timeout","refentry"],["","function.cubrid-get-server-info","example"],["cubrid_get_server_info","function.cubrid-get-server-info","refentry"],["","function.cubrid-get","example"],["cubrid_get","function.cubrid-get","refentry"],["","function.cubrid-insert-id","example"],["cubrid_insert_id","function.cubrid-insert-id","refentry"],["","function.cubrid-is-instance","example"],["cubrid_is_instance","function.cubrid-is-instance","refentry"],["","function.cubrid-lob-close","example"],["cubrid_lob_close","function.cubrid-lob-close","refentry"],["","function.cubrid-lob-export","example"],["cubrid_lob_export","function.cubrid-lob-export","refentry"],["","function.cubrid-lob-get","example"],["cubrid_lob_get","function.cubrid-lob-get","refentry"],["","function.cubrid-lob-send","example"],["cubrid_lob_send","function.cubrid-lob-send","refentry"],["","function.cubrid-lob-size","example"],["cubrid_lob_size","function.cubrid-lob-size","refentry"],["","function.cubrid-lob2-bind","example"],["cubrid_lob2_bind","function.cubrid-lob2-bind","refentry"],["cubrid_lob2_close","function.cubrid-lob2-close","refentry"],["","function.cubrid-lob2-export","example"],["cubrid_lob2_export","function.cubrid-lob2-export","refentry"],["","function.cubrid-lob2-import","example"],["cubrid_lob2_import","function.cubrid-lob2-import","refentry"],["cubrid_lob2_new","function.cubrid-lob2-new","refentry"],["","function.cubrid-lob2-read","example"],["","function.cubrid-lob2-read","example"],["cubrid_lob2_read","function.cubrid-lob2-read","refentry"],["","function.cubrid-lob2-seek64","example"],["cubrid_lob2_seek64","function.cubrid-lob2-seek64","refentry"],["","function.cubrid-lob2-seek","example"],["cubrid_lob2_seek","function.cubrid-lob2-seek","refentry"],["cubrid_lob2_size64","function.cubrid-lob2-size64","refentry"],["cubrid_lob2_size","function.cubrid-lob2-size","refentry"],["cubrid_lob2_tell64","function.cubrid-lob2-tell64","refentry"],["cubrid_lob2_tell","function.cubrid-lob2-tell","refentry"],["","function.cubrid-lob2-write","example"],["","function.cubrid-lob2-write","example"],["cubrid_lob2_write","function.cubrid-lob2-write","refentry"],["","function.cubrid-lock-read","example"],["cubrid_lock_read","function.cubrid-lock-read","refentry"],["","function.cubrid-lock-write","example"],["cubrid_lock_write","function.cubrid-lock-write","refentry"],["","function.cubrid-move-cursor","example"],["cubrid_move_cursor","function.cubrid-move-cursor","refentry"],["","function.cubrid-next-result","example"],["cubrid_next_result","function.cubrid-next-result","refentry"],["","function.cubrid-num-cols","example"],["cubrid_num_cols","function.cubrid-num-cols","refentry"],["","function.cubrid-num-rows","example"],["cubrid_num_rows","function.cubrid-num-rows","refentry"],["","function.cubrid-pconnect-with-url","example"],["","function.cubrid-pconnect-with-url","example"],["cubrid_pconnect_with_url","function.cubrid-pconnect-with-url","refentry"],["","function.cubrid-pconnect","example"],["cubrid_pconnect","function.cubrid-pconnect","refentry"],["","function.cubrid-prepare","example"],["cubrid_prepare","function.cubrid-prepare","refentry"],["","function.cubrid-put","example"],["cubrid_put","function.cubrid-put","refentry"],["","function.cubrid-rollback","example"],["cubrid_rollback","function.cubrid-rollback","refentry"],["","function.cubrid-schema","example"],["cubrid_schema","function.cubrid-schema","refentry"],["","function.cubrid-seq-drop","example"],["cubrid_seq_drop","function.cubrid-seq-drop","refentry"],["","function.cubrid-seq-insert","example"],["cubrid_seq_insert","function.cubrid-seq-insert","refentry"],["","function.cubrid-seq-put","example"],["cubrid_seq_put","function.cubrid-seq-put","refentry"],["","function.cubrid-set-add","example"],["cubrid_set_add","function.cubrid-set-add","refentry"],["cubrid_set_autocommit","function.cubrid-set-autocommit","refentry"],["","function.cubrid-set-db-parameter","example"],["cubrid_set_db_parameter","function.cubrid-set-db-parameter","refentry"],["","function.cubrid-set-drop","example"],["cubrid_set_drop","function.cubrid-set-drop","refentry"],["cubrid_set_query_timeout","function.cubrid-set-query-timeout","refentry"],["","function.cubrid-version","example"],["cubrid_version","function.cubrid-version","refentry"],["","ref.cubrid","reference"],["","function.cubrid-affected-rows","example"],["cubrid_affected_rows","function.cubrid-affected-rows","refentry"],["","function.cubrid-client-encoding","example"],["cubrid_client_encoding","function.cubrid-client-encoding","refentry"],["","function.cubrid-close","example"],["cubrid_close","function.cubrid-close","refentry"],["","function.cubrid-data-seek","example"],["cubrid_data_seek","function.cubrid-data-seek","refentry"],["","function.cubrid-db-name","example"],["cubrid_db_name","function.cubrid-db-name","refentry"],["","function.cubrid-errno","example"],["cubrid_errno","function.cubrid-errno","refentry"],["","function.cubrid-error","example"],["cubrid_error","function.cubrid-error","refentry"],["","function.cubrid-fetch-array","example"],["cubrid_fetch_array","function.cubrid-fetch-array","refentry"],["","function.cubrid-fetch-assoc","example"],["cubrid_fetch_assoc","function.cubrid-fetch-assoc","refentry"],["","function.cubrid-fetch-field","example"],["cubrid_fetch_field","function.cubrid-fetch-field","refentry"],["","function.cubrid-fetch-lengths","example"],["cubrid_fetch_lengths","function.cubrid-fetch-lengths","refentry"],["","function.cubrid-fetch-object","example"],["cubrid_fetch_object","function.cubrid-fetch-object","refentry"],["","function.cubrid-fetch-row","example"],["cubrid_fetch_row","function.cubrid-fetch-row","refentry"],["","function.cubrid-field-flags","example"],["cubrid_field_flags","function.cubrid-field-flags","refentry"],["","function.cubrid-field-len","example"],["cubrid_field_len","function.cubrid-field-len","refentry"],["","function.cubrid-field-name","example"],["cubrid_field_name","function.cubrid-field-name","refentry"],["","function.cubrid-field-seek","example"],["cubrid_field_seek","function.cubrid-field-seek","refentry"],["","function.cubrid-field-table","example"],["cubrid_field_table","function.cubrid-field-table","refentry"],["","function.cubrid-field-type","example"],["cubrid_field_type","function.cubrid-field-type","refentry"],["","function.cubrid-list-dbs","example"],["cubrid_list_dbs","function.cubrid-list-dbs","refentry"],["","function.cubrid-num-fields","example"],["cubrid_num_fields","function.cubrid-num-fields","refentry"],["","function.cubrid-ping","example"],["cubrid_ping","function.cubrid-ping","refentry"],["","function.cubrid-query","example"],["","function.cubrid-query","example"],["cubrid_query","function.cubrid-query","refentry"],["","function.cubrid-real-escape-string","example"],["cubrid_real_escape_string","function.cubrid-real-escape-string","refentry"],["","function.cubrid-result","example"],["cubrid_result","function.cubrid-result","refentry"],["","function.cubrid-unbuffered-query","example"],["cubrid_unbuffered_query","function.cubrid-unbuffered-query","refentry"],["","cubridmysql.cubrid","reference"],["","function.cubrid-load-from-glo","example"],["cubrid_load_from_glo","function.cubrid-load-from-glo","refentry"],["","function.cubrid-new-glo","example"],["cubrid_new_glo","function.cubrid-new-glo","refentry"],["","function.cubrid-save-to-glo","example"],["cubrid_save_to_glo","function.cubrid-save-to-glo","refentry"],["","function.cubrid-send-glo","example"],["cubrid_send_glo","function.cubrid-send-glo","refentry"],["","oldaliases.cubrid","reference"],["CUBRID","book.cubrid","book"],["","intro.dbplus","preface"],["","dbplus.requirements","section"],["","dbplus.installation","section"],["","dbplus.configuration","section"],["","dbplus.resources","section"],["","dbplus.resources","section"],["","dbplus.setup","chapter"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","constant"],["","dbplus.errorcodes","section"],["","dbplus.constants","appendix"],["dbplus_add","function.dbplus-add","refentry"],["dbplus_aql","function.dbplus-aql","refentry"],["dbplus_chdir","function.dbplus-chdir","refentry"],["dbplus_close","function.dbplus-close","refentry"],["dbplus_curr","function.dbplus-curr","refentry"],["dbplus_errcode","function.dbplus-errcode","refentry"],["dbplus_errno","function.dbplus-errno","refentry"],["dbplus_find","function.dbplus-find","refentry"],["dbplus_first","function.dbplus-first","refentry"],["dbplus_flush","function.dbplus-flush","refentry"],["dbplus_freealllocks","function.dbplus-freealllocks","refentry"],["dbplus_freelock","function.dbplus-freelock","refentry"],["dbplus_freerlocks","function.dbplus-freerlocks","refentry"],["dbplus_getlock","function.dbplus-getlock","refentry"],["dbplus_getunique","function.dbplus-getunique","refentry"],["dbplus_info","function.dbplus-info","refentry"],["dbplus_last","function.dbplus-last","refentry"],["dbplus_lockrel","function.dbplus-lockrel","refentry"],["dbplus_next","function.dbplus-next","refentry"],["dbplus_open","function.dbplus-open","refentry"],["dbplus_prev","function.dbplus-prev","refentry"],["dbplus_rchperm","function.dbplus-rchperm","refentry"],["dbplus_rcreate","function.dbplus-rcreate","refentry"],["dbplus_rcrtexact","function.dbplus-rcrtexact","refentry"],["dbplus_rcrtlike","function.dbplus-rcrtlike","refentry"],["dbplus_resolve","function.dbplus-resolve","refentry"],["dbplus_restorepos","function.dbplus-restorepos","refentry"],["dbplus_rkeys","function.dbplus-rkeys","refentry"],["dbplus_ropen","function.dbplus-ropen","refentry"],["dbplus_rquery","function.dbplus-rquery","refentry"],["dbplus_rrename","function.dbplus-rrename","refentry"],["dbplus_rsecindex","function.dbplus-rsecindex","refentry"],["dbplus_runlink","function.dbplus-runlink","refentry"],["dbplus_rzap","function.dbplus-rzap","refentry"],["dbplus_savepos","function.dbplus-savepos","refentry"],["dbplus_setindex","function.dbplus-setindex","refentry"],["dbplus_setindexbynumber","function.dbplus-setindexbynumber","refentry"],["dbplus_sql","function.dbplus-sql","refentry"],["dbplus_tcl","function.dbplus-tcl","refentry"],["dbplus_tremove","function.dbplus-tremove","refentry"],["dbplus_undo","function.dbplus-undo","refentry"],["dbplus_undoprepare","function.dbplus-undoprepare","refentry"],["dbplus_unlockrel","function.dbplus-unlockrel","refentry"],["dbplus_unselect","function.dbplus-unselect","refentry"],["dbplus_update","function.dbplus-update","refentry"],["dbplus_xlockrel","function.dbplus-xlockrel","refentry"],["dbplus_xunlockrel","function.dbplus-xunlockrel","refentry"],["","ref.dbplus","reference"],["","book.dbplus","book"],["","intro.dbase","preface"],["","dbase.requirements","section"],["","dbase.installation","section"],["","dbase.configuration","section"],["","dbase.resources","section"],["","dbase.setup","chapter"],["","dbase.constants","appendix"],["","ref.dbase","section"],["","function.dbase-add-record","example"],["dbase_add_record","function.dbase-add-record","refentry"],["","function.dbase-close","example"],["dbase_close","function.dbase-close","refentry"],["","function.dbase-create","example"],["dbase_create","function.dbase-create","refentry"],["dbase_delete_record","function.dbase-delete-record","refentry"],["","function.dbase-get-header-info","example"],["dbase_get_header_info","function.dbase-get-header-info","refentry"],["","function.dbase-get-record-with-names","example"],["dbase_get_record_with_names","function.dbase-get-record-with-names","refentry"],["dbase_get_record","function.dbase-get-record","refentry"],["","function.dbase-numfields","example"],["dbase_numfields","function.dbase-numfields","refentry"],["","function.dbase-numrecords","example"],["dbase_numrecords","function.dbase-numrecords","refentry"],["","function.dbase-open","example"],["dbase_open","function.dbase-open","refentry"],["","function.dbase-pack","example"],["dbase_pack","function.dbase-pack","refentry"],["","function.dbase-replace-record","example"],["dbase_replace_record","function.dbase-replace-record","refentry"],["","ref.dbase","reference"],["","book.dbase","book"],["","intro.filepro","preface"],["","filepro.requirements","section"],["","filepro.installation","section"],["","filepro.configuration","section"],["","filepro.resources","section"],["","filepro.setup","chapter"],["","filepro.constants","appendix"],["filepro_fieldcount","function.filepro-fieldcount","refentry"],["filepro_fieldname","function.filepro-fieldname","refentry"],["filepro_fieldtype","function.filepro-fieldtype","refentry"],["filepro_fieldwidth","function.filepro-fieldwidth","refentry"],["filepro_retrieve","function.filepro-retrieve","refentry"],["filepro_rowcount","function.filepro-rowcount","refentry"],["filepro","function.filepro","refentry"],["","ref.filepro","reference"],["","book.filepro","book"],["","intro.ibase","preface"],["","ibase.requirements","section"],["","ibase.installation","section"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","varlistentry"],["","ibase.configuration","section"],["","ibase.resources","section"],["","ibase.setup","chapter"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","varlistentry"],["","ibase.constants","appendix"],["ibase_add_user","function.ibase-add-user","refentry"],["ibase_affected_rows","function.ibase-affected-rows","refentry"],["ibase_backup","function.ibase-backup","refentry"],["ibase_blob_add","function.ibase-blob-add","refentry"],["ibase_blob_cancel","function.ibase-blob-cancel","refentry"],["ibase_blob_close","function.ibase-blob-close","refentry"],["ibase_blob_create","function.ibase-blob-create","refentry"],["ibase_blob_echo","function.ibase-blob-echo","refentry"],["","function.ibase-blob-get","example"],["ibase_blob_get","function.ibase-blob-get","refentry"],["","function.ibase-blob-import","example"],["ibase_blob_import","function.ibase-blob-import","refentry"],["ibase_blob_info","function.ibase-blob-info","refentry"],["ibase_blob_open","function.ibase-blob-open","refentry"],["ibase_close","function.ibase-close","refentry"],["ibase_commit_ret","function.ibase-commit-ret","refentry"],["ibase_commit","function.ibase-commit","refentry"],["","function.ibase-connect","example"],["ibase_connect","function.ibase-connect","refentry"],["ibase_db_info","function.ibase-db-info","refentry"],["ibase_delete_user","function.ibase-delete-user","refentry"],["ibase_drop_db","function.ibase-drop-db","refentry"],["ibase_errcode","function.ibase-errcode","refentry"],["ibase_errmsg","function.ibase-errmsg","refentry"],["","function.ibase-execute","example"],["ibase_execute","function.ibase-execute","refentry"],["ibase_fetch_assoc","function.ibase-fetch-assoc","refentry"],["","function.ibase-fetch-object","example"],["ibase_fetch_object","function.ibase-fetch-object","refentry"],["ibase_fetch_row","function.ibase-fetch-row","refentry"],["","function.ibase-field-info","example"],["ibase_field_info","function.ibase-field-info","refentry"],["ibase_free_event_handler","function.ibase-free-event-handler","refentry"],["ibase_free_query","function.ibase-free-query","refentry"],["ibase_free_result","function.ibase-free-result","refentry"],["ibase_gen_id","function.ibase-gen-id","refentry"],["ibase_maintain_db","function.ibase-maintain-db","refentry"],["ibase_modify_user","function.ibase-modify-user","refentry"],["","function.ibase-name-result","example"],["ibase_name_result","function.ibase-name-result","refentry"],["","function.ibase-num-fields","example"],["ibase_num_fields","function.ibase-num-fields","refentry"],["ibase_num_params","function.ibase-num-params","refentry"],["ibase_param_info","function.ibase-param-info","refentry"],["ibase_pconnect","function.ibase-pconnect","refentry"],["ibase_prepare","function.ibase-prepare","refentry"],["","function.ibase-query","example"],["ibase_query","function.ibase-query","refentry"],["ibase_restore","function.ibase-restore","refentry"],["ibase_rollback_ret","function.ibase-rollback-ret","refentry"],["ibase_rollback","function.ibase-rollback","refentry"],["ibase_server_info","function.ibase-server-info","refentry"],["ibase_service_attach","function.ibase-service-attach","refentry"],["ibase_service_detach","function.ibase-service-detach","refentry"],["","function.ibase-set-event-handler","example"],["ibase_set_event_handler","function.ibase-set-event-handler","refentry"],["ibase_trans","function.ibase-trans","refentry"],["ibase_wait_event","function.ibase-wait-event","refentry"],["","ref.ibase","reference"],["","book.ibase","book"],["","intro.fbsql","preface"],["","fbsql.requirements","section"],["","fbsql.installation","section"],["","fbsql.configuration","section"],["","fbsql.resources","section"],["","fbsql.setup","chapter"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","varlistentry"],["","fbsql.constants","appendix"],["fbsql_affected_rows","function.fbsql-affected-rows","refentry"],["fbsql_autocommit","function.fbsql-autocommit","refentry"],["fbsql_blob_size","function.fbsql-blob-size","refentry"],["fbsql_change_user","function.fbsql-change-user","refentry"],["fbsql_clob_size","function.fbsql-clob-size","refentry"],["","function.fbsql-close","example"],["fbsql_close","function.fbsql-close","refentry"],["fbsql_commit","function.fbsql-commit","refentry"],["","function.fbsql-connect","example"],["fbsql_connect","function.fbsql-connect","refentry"],["","function.fbsql-create-blob","example"],["fbsql_create_blob","function.fbsql-create-blob","refentry"],["","function.fbsql-create-clob","example"],["fbsql_create_clob","function.fbsql-create-clob","refentry"],["","function.fbsql-create-db","example"],["fbsql_create_db","function.fbsql-create-db","refentry"],["","function.fbsql-data-seek","example"],["fbsql_data_seek","function.fbsql-data-seek","refentry"],["","function.fbsql-database-password","example"],["fbsql_database_password","function.fbsql-database-password","refentry"],["fbsql_database","function.fbsql-database","refentry"],["fbsql_db_query","function.fbsql-db-query","refentry"],["fbsql_db_status","function.fbsql-db-status","refentry"],["fbsql_drop_db","function.fbsql-drop-db","refentry"],["","function.fbsql-errno","example"],["fbsql_errno","function.fbsql-errno","refentry"],["","function.fbsql-error","example"],["fbsql_error","function.fbsql-error","refentry"],["","function.fbsql-fetch-array","example"],["fbsql_fetch_array","function.fbsql-fetch-array","refentry"],["","function.fbsql-fetch-assoc","example"],["fbsql_fetch_assoc","function.fbsql-fetch-assoc","refentry"],["","function.fbsql-fetch-field","example"],["fbsql_fetch_field","function.fbsql-fetch-field","refentry"],["fbsql_fetch_lengths","function.fbsql-fetch-lengths","refentry"],["","function.fbsql-fetch-object","example"],["fbsql_fetch_object","function.fbsql-fetch-object","refentry"],["fbsql_fetch_row","function.fbsql-fetch-row","refentry"],["fbsql_field_flags","function.fbsql-field-flags","refentry"],["fbsql_field_len","function.fbsql-field-len","refentry"],["","function.fbsql-field-name","example"],["fbsql_field_name","function.fbsql-field-name","refentry"],["fbsql_field_seek","function.fbsql-field-seek","refentry"],["fbsql_field_table","function.fbsql-field-table","refentry"],["","function.fbsql-field-type","example"],["fbsql_field_type","function.fbsql-field-type","refentry"],["fbsql_free_result","function.fbsql-free-result","refentry"],["fbsql_get_autostart_info","function.fbsql-get-autostart-info","refentry"],["fbsql_hostname","function.fbsql-hostname","refentry"],["fbsql_insert_id","function.fbsql-insert-id","refentry"],["","function.fbsql-list-dbs","example"],["fbsql_list_dbs","function.fbsql-list-dbs","refentry"],["","function.fbsql-list-fields","example"],["fbsql_list_fields","function.fbsql-list-fields","refentry"],["fbsql_list_tables","function.fbsql-list-tables","refentry"],["","function.fbsql-next-result","example"],["fbsql_next_result","function.fbsql-next-result","refentry"],["fbsql_num_fields","function.fbsql-num-fields","refentry"],["","function.fbsql-num-rows","example"],["fbsql_num_rows","function.fbsql-num-rows","refentry"],["fbsql_password","function.fbsql-password","refentry"],["fbsql_pconnect","function.fbsql-pconnect","refentry"],["","function.fbsql-query","example"],["","function.fbsql-query","example"],["fbsql_query","function.fbsql-query","refentry"],["","function.fbsql-read-blob","example"],["fbsql_read_blob","function.fbsql-read-blob","refentry"],["","function.fbsql-read-clob","example"],["fbsql_read_clob","function.fbsql-read-clob","refentry"],["fbsql_result","function.fbsql-result","refentry"],["fbsql_rollback","function.fbsql-rollback","refentry"],["fbsql_rows_fetched","function.fbsql-rows-fetched","refentry"],["fbsql_select_db","function.fbsql-select-db","refentry"],["fbsql_set_characterset","function.fbsql-set-characterset","refentry"],["fbsql_set_lob_mode","function.fbsql-set-lob-mode","refentry"],["fbsql_set_password","function.fbsql-set-password","refentry"],["fbsql_set_transaction","function.fbsql-set-transaction","refentry"],["fbsql_start_db","function.fbsql-start-db","refentry"],["fbsql_stop_db","function.fbsql-stop-db","refentry"],["","function.fbsql-table-name","example"],["fbsql_table_name","function.fbsql-table-name","refentry"],["fbsql_tablename","function.fbsql-tablename","refentry"],["fbsql_username","function.fbsql-username","refentry"],["fbsql_warnings","function.fbsql-warnings","refentry"],["","ref.fbsql","reference"],["","book.fbsql","book"],["","intro.ibm-db2","preface"],["","ibm-db2.requirements","section"],["","ibm-db2.requirements","section"],["","ibm-db2.installation","section"],["","ibm-db2.configuration","tbody"],["","ibm-db2.configuration","varlistentry"],["","ibm-db2.configuration","varlistentry"],["","ibm-db2.configuration","varlistentry"],["","ibm-db2.configuration","varlistentry"],["","ibm-db2.configuration","varlistentry"],["","ibm-db2.configuration","varlistentry"],["","ibm-db2.configuration","section"],["","ibm-db2.resources","section"],["","ibm-db2.setup","chapter"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","varlistentry"],["","ibm-db2.constants","appendix"],["","function.db2-autocommit","example"],["","function.db2-autocommit","example"],["db2_autocommit","function.db2-autocommit","refentry"],["","function.db2-bind-param","example"],["","function.db2-bind-param","example"],["","function.db2-bind-param","example"],["db2_bind_param","function.db2-bind-param","refentry"],["","function.db2-client-info","example"],["db2_client_info","function.db2-client-info","refentry"],["","function.db2-close","example"],["db2_close","function.db2-close","refentry"],["db2_column_privileges","function.db2-column-privileges","refentry"],["db2_columns","function.db2-columns","refentry"],["db2_commit","function.db2-commit","refentry"],["","function.db2-conn-error","example"],["db2_conn_error","function.db2-conn-error","refentry"],["","function.db2-conn-errormsg","example"],["db2_conn_errormsg","function.db2-conn-errormsg","refentry"],["","function.db2-connect","example"],["","function.db2-connect","example"],["","function.db2-connect","example"],["","function.db2-connect","example"],["","function.db2-connect","example"],["db2_connect","function.db2-connect","refentry"],["db2_cursor_type","function.db2-cursor-type","refentry"],["","function.db2-escape-string","example"],["db2_escape_string","function.db2-escape-string","refentry"],["","function.db2-exec","example"],["","function.db2-exec","example"],["","function.db2-exec","example"],["","function.db2-exec","example"],["","function.db2-exec","example"],["db2_exec","function.db2-exec","refentry"],["","function.db2-execute","example"],["","function.db2-execute","example"],["","function.db2-execute","example"],["","function.db2-execute","example"],["","function.db2-execute","example"],["db2_execute","function.db2-execute","refentry"],["","function.db2-fetch-array","example"],["","function.db2-fetch-array","example"],["db2_fetch_array","function.db2-fetch-array","refentry"],["","function.db2-fetch-assoc","example"],["","function.db2-fetch-assoc","example"],["db2_fetch_assoc","function.db2-fetch-assoc","refentry"],["","function.db2-fetch-both","example"],["","function.db2-fetch-both","example"],["db2_fetch_both","function.db2-fetch-both","refentry"],["","function.db2-fetch-object","example"],["db2_fetch_object","function.db2-fetch-object","refentry"],["","function.db2-fetch-row","example"],["","function.db2-fetch-row","example"],["db2_fetch_row","function.db2-fetch-row","refentry"],["db2_field_display_size","function.db2-field-display-size","refentry"],["db2_field_name","function.db2-field-name","refentry"],["db2_field_num","function.db2-field-num","refentry"],["db2_field_precision","function.db2-field-precision","refentry"],["db2_field_scale","function.db2-field-scale","refentry"],["db2_field_type","function.db2-field-type","refentry"],["db2_field_width","function.db2-field-width","refentry"],["db2_foreign_keys","function.db2-foreign-keys","refentry"],["db2_free_result","function.db2-free-result","refentry"],["db2_free_stmt","function.db2-free-stmt","refentry"],["","function.db2-get-option","example"],["db2_get_option","function.db2-get-option","refentry"],["","function.db2-last-insert-id","example"],["db2_last_insert_id","function.db2-last-insert-id","refentry"],["","function.db2-lob-read","example"],["db2_lob_read","function.db2-lob-read","refentry"],["","function.db2-next-result","example"],["db2_next_result","function.db2-next-result","refentry"],["","function.db2-num-fields","example"],["db2_num_fields","function.db2-num-fields","refentry"],["db2_num_rows","function.db2-num-rows","refentry"],["","function.db2-pclose","example"],["db2_pclose","function.db2-pclose","refentry"],["","function.db2-pconnect","example"],["","function.db2-pconnect","example"],["db2_pconnect","function.db2-pconnect","refentry"],["","function.db2-prepare","example"],["db2_prepare","function.db2-prepare","refentry"],["db2_primary_keys","function.db2-primary-keys","refentry"],["db2_procedure_columns","function.db2-procedure-columns","refentry"],["db2_procedures","function.db2-procedures","refentry"],["","function.db2-result","example"],["db2_result","function.db2-result","refentry"],["","function.db2-rollback","example"],["db2_rollback","function.db2-rollback","refentry"],["","function.db2-server-info","example"],["db2_server_info","function.db2-server-info","refentry"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["","function.db2-set-option","example"],["db2_set_option","function.db2-set-option","refentry"],["db2_special_columns","function.db2-special-columns","refentry"],["db2_statistics","function.db2-statistics","refentry"],["db2_stmt_error","function.db2-stmt-error","refentry"],["db2_stmt_errormsg","function.db2-stmt-errormsg","refentry"],["db2_table_privileges","function.db2-table-privileges","refentry"],["db2_tables","function.db2-tables","refentry"],["","ref.ibm-db2","reference"],["IBM DB2","book.ibm-db2","book"],["","intro.ifx","preface"],["","ifx.requirements","section"],["","ifx.installation","section"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","varlistentry"],["","ifx.configuration","section"],["","ifx.resources","section"],["","ifx.setup","chapter"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","varlistentry"],["","ifx.constants","appendix"],["","function.ifx-affected-rows","example"],["ifx_affected_rows","function.ifx-affected-rows","refentry"],["ifx_blobinfile_mode","function.ifx-blobinfile-mode","refentry"],["ifx_byteasvarchar","function.ifx-byteasvarchar","refentry"],["","function.ifx-close","example"],["ifx_close","function.ifx-close","refentry"],["","function.ifx-connect","example"],["ifx_connect","function.ifx-connect","refentry"],["ifx_copy_blob","function.ifx-copy-blob","refentry"],["ifx_create_blob","function.ifx-create-blob","refentry"],["ifx_create_char","function.ifx-create-char","refentry"],["","function.ifx-do","example"],["ifx_do","function.ifx-do","refentry"],["ifx_error","function.ifx-error","refentry"],["","function.ifx-errormsg","example"],["ifx_errormsg","function.ifx-errormsg","refentry"],["","function.ifx-fetch-row","example"],["ifx_fetch_row","function.ifx-fetch-row","refentry"],["","function.ifx-fieldproperties","example"],["ifx_fieldproperties","function.ifx-fieldproperties","refentry"],["","function.ifx-fieldtypes","example"],["ifx_fieldtypes","function.ifx-fieldtypes","refentry"],["ifx_free_blob","function.ifx-free-blob","refentry"],["ifx_free_char","function.ifx-free-char","refentry"],["ifx_free_result","function.ifx-free-result","refentry"],["ifx_get_blob","function.ifx-get-blob","refentry"],["ifx_get_char","function.ifx-get-char","refentry"],["","function.ifx-getsqlca","example"],["ifx_getsqlca","function.ifx-getsqlca","refentry"],["","function.ifx-htmltbl-result","example"],["ifx_htmltbl_result","function.ifx-htmltbl-result","refentry"],["ifx_nullformat","function.ifx-nullformat","refentry"],["","function.ifx-num-fields","example"],["ifx_num_fields","function.ifx-num-fields","refentry"],["ifx_num_rows","function.ifx-num-rows","refentry"],["ifx_pconnect","function.ifx-pconnect","refentry"],["ifx_prepare","function.ifx-prepare","refentry"],["","function.ifx-query","example"],["","function.ifx-query","example"],["ifx_query","function.ifx-query","refentry"],["ifx_textasvarchar","function.ifx-textasvarchar","refentry"],["ifx_update_blob","function.ifx-update-blob","refentry"],["ifx_update_char","function.ifx-update-char","refentry"],["ifxus_close_slob","function.ifxus-close-slob","refentry"],["ifxus_create_slob","function.ifxus-create-slob","refentry"],["ifxus_free_slob","function.ifxus-free-slob","refentry"],["ifxus_open_slob","function.ifxus-open-slob","refentry"],["ifxus_read_slob","function.ifxus-read-slob","refentry"],["ifxus_seek_slob","function.ifxus-seek-slob","refentry"],["ifxus_tell_slob","function.ifxus-tell-slob","refentry"],["ifxus_write_slob","function.ifxus-write-slob","refentry"],["","ref.ifx","reference"],["","book.ifx","book"],["","intro.ingres","preface"],["","ingres.requirements","section"],["","ingres.installation","example"],["","ingres.installation","section"],["","ingres.configuration","tbody"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","varlistentry"],["","ingres.configuration","section"],["","ingres.resources","section"],["","ingres.setup","chapter"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","varlistentry"],["","ingres.constants","appendix"],["","ingres.examples-basic","example"],["","ingres.examples-basic","section"],["","ingres.examples","chapter"],["ingres_autocommit_state","function.ingres-autocommit-state","refentry"],["ingres_autocommit","function.ingres-autocommit","refentry"],["","function.ingres-charset","example"],["ingres_charset","function.ingres-charset","refentry"],["ingres_close","function.ingres-close","refentry"],["ingres_commit","function.ingres-commit","refentry"],["","function.ingres-connect","varlistentry"],["","function.ingres-connect","example"],["ingres_connect","function.ingres-connect","refentry"],["","function.ingres-cursor","example"],["ingres_cursor","function.ingres-cursor","refentry"],["","function.ingres-errno","example"],["ingres_errno","function.ingres-errno","refentry"],["","function.ingres-error","example"],["ingres_error","function.ingres-error","refentry"],["","function.ingres-errsqlstate","example"],["ingres_errsqlstate","function.ingres-errsqlstate","refentry"],["","function.ingres-escape-string","example"],["ingres_escape_string","function.ingres-escape-string","refentry"],["ingres_execute","function.ingres-execute","refentry"],["","function.ingres-fetch-array","example"],["ingres_fetch_array","function.ingres-fetch-array","refentry"],["","function.ingres-fetch-assoc","example"],["ingres_fetch_assoc","function.ingres-fetch-assoc","refentry"],["","function.ingres-fetch-object","example"],["ingres_fetch_object","function.ingres-fetch-object","refentry"],["","function.ingres-fetch-proc-return","example"],["ingres_fetch_proc_return","function.ingres-fetch-proc-return","refentry"],["","function.ingres-fetch-row","example"],["ingres_fetch_row","function.ingres-fetch-row","refentry"],["ingres_field_length","function.ingres-field-length","refentry"],["ingres_field_name","function.ingres-field-name","refentry"],["ingres_field_nullable","function.ingres-field-nullable","refentry"],["ingres_field_precision","function.ingres-field-precision","refentry"],["ingres_field_scale","function.ingres-field-scale","refentry"],["ingres_field_type","function.ingres-field-type","refentry"],["","function.ingres-free-result","example"],["ingres_free_result","function.ingres-free-result","refentry"],["ingres_next_error","function.ingres-next-error","refentry"],["ingres_num_fields","function.ingres-num-fields","refentry"],["ingres_num_rows","function.ingres-num-rows","refentry"],["ingres_pconnect","function.ingres-pconnect","refentry"],["ingres_prepare","function.ingres-prepare","refentry"],["","function.ingres-query","varlistentry"],["","function.ingres-query","varlistentry"],["","function.ingres-query","example"],["","function.ingres-query","example"],["","function.ingres-query","example"],["ingres_query","function.ingres-query","refentry"],["","function.ingres-result-seek","example"],["ingres_result_seek","function.ingres-result-seek","refentry"],["ingres_rollback","function.ingres-rollback","refentry"],["","function.ingres-set-environment","varlistentry"],["","function.ingres-set-environment","example"],["","function.ingres-set-environment","example"],["ingres_set_environment","function.ingres-set-environment","refentry"],["","function.ingres-unbuffered-query","example"],["","function.ingres-unbuffered-query","example"],["","function.ingres-unbuffered-query","example"],["ingres_unbuffered_query","function.ingres-unbuffered-query","refentry"],["","ref.ingres","reference"],["Ingres","book.ingres","book"],["","intro.maxdb","preface"],["","maxdb.requirements","section"],["","maxdb.installation","para"],["","maxdb.installation","section"],["","maxdb.configuration","varlistentry"],["","maxdb.configuration","varlistentry"],["","maxdb.configuration","varlistentry"],["","maxdb.configuration","varlistentry"],["","maxdb.configuration","varlistentry"],["","maxdb.configuration","section"],["","maxdb.resources","section"],["","maxdb.setup","chapter"],["","maxdb.constants","appendix"],["","maxdb.examples-basic","example"],["","maxdb.examples-basic","example"],["","maxdb.examples-basic","example"],["","maxdb.examples-basic","section"],["","maxdb.examples","chapter"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","ref.maxdb","section"],["","function.maxdb-affected-rows","example"],["","function.maxdb-affected-rows","example"],["maxdb_affected_rows","function.maxdb-affected-rows","refentry"],["","function.maxdb-autocommit","example"],["","function.maxdb-autocommit","example"],["maxdb_autocommit","function.maxdb-autocommit","refentry"],["maxdb_bind_param","function.maxdb-bind-param","refentry"],["maxdb_bind_result","function.maxdb-bind-result","refentry"],["","function.maxdb-change-user","example"],["","function.maxdb-change-user","example"],["maxdb_change_user","function.maxdb-change-user","refentry"],["","function.maxdb-character-set-name","example"],["","function.maxdb-character-set-name","example"],["maxdb_character_set_name","function.maxdb-character-set-name","refentry"],["maxdb_client_encoding","function.maxdb-client-encoding","refentry"],["maxdb_close_long_data","function.maxdb-close-long-data","refentry"],["maxdb_close","function.maxdb-close","refentry"],["","function.maxdb-commit","example"],["","function.maxdb-commit","example"],["maxdb_commit","function.maxdb-commit","refentry"],["","function.maxdb-connect-errno","example"],["maxdb_connect_errno","function.maxdb-connect-errno","refentry"],["","function.maxdb-connect-error","example"],["maxdb_connect_error","function.maxdb-connect-error","refentry"],["","function.maxdb-connect","example"],["","function.maxdb-connect","example"],["maxdb_connect","function.maxdb-connect","refentry"],["","function.maxdb-data-seek","example"],["","function.maxdb-data-seek","example"],["maxdb_data_seek","function.maxdb-data-seek","refentry"],["","function.maxdb-debug","example"],["maxdb_debug","function.maxdb-debug","refentry"],["maxdb_disable_reads_from_master","function.maxdb-disable-reads-from-master","refentry"],["maxdb_disable_rpl_parse","function.maxdb-disable-rpl-parse","refentry"],["maxdb_dump_debug_info","function.maxdb-dump-debug-info","refentry"],["maxdb_embedded_connect","function.maxdb-embedded-connect","refentry"],["maxdb_enable_reads_from_master","function.maxdb-enable-reads-from-master","refentry"],["maxdb_enable_rpl_parse","function.maxdb-enable-rpl-parse","refentry"],["","function.maxdb-errno","example"],["","function.maxdb-errno","example"],["maxdb_errno","function.maxdb-errno","refentry"],["","function.maxdb-error","example"],["","function.maxdb-error","example"],["maxdb_error","function.maxdb-error","refentry"],["maxdb_escape_string","function.maxdb-escape-string","refentry"],["maxdb_execute","function.maxdb-execute","refentry"],["","function.maxdb-fetch-array","example"],["","function.maxdb-fetch-array","example"],["maxdb_fetch_array","function.maxdb-fetch-array","refentry"],["","function.maxdb-fetch-assoc","example"],["","function.maxdb-fetch-assoc","example"],["maxdb_fetch_assoc","function.maxdb-fetch-assoc","refentry"],["","function.maxdb-fetch-field-direct","example"],["","function.maxdb-fetch-field-direct","example"],["maxdb_fetch_field_direct","function.maxdb-fetch-field-direct","refentry"],["","function.maxdb-fetch-field","example"],["","function.maxdb-fetch-field","example"],["maxdb_fetch_field","function.maxdb-fetch-field","refentry"],["","function.maxdb-fetch-fields","example"],["","function.maxdb-fetch-fields","example"],["maxdb_fetch_fields","function.maxdb-fetch-fields","refentry"],["","function.maxdb-fetch-lengths","example"],["","function.maxdb-fetch-lengths","example"],["maxdb_fetch_lengths","function.maxdb-fetch-lengths","refentry"],["","function.maxdb-fetch-object","example"],["","function.maxdb-fetch-object","example"],["maxdb_fetch_object","function.maxdb-fetch-object","refentry"],["","function.maxdb-fetch-row","example"],["","function.maxdb-fetch-row","example"],["maxdb_fetch_row","function.maxdb-fetch-row","refentry"],["maxdb_fetch","function.maxdb-fetch","refentry"],["","function.maxdb-field-count","example"],["","function.maxdb-field-count","example"],["maxdb_field_count","function.maxdb-field-count","refentry"],["","function.maxdb-field-seek","example"],["","function.maxdb-field-seek","example"],["maxdb_field_seek","function.maxdb-field-seek","refentry"],["","function.maxdb-field-tell","example"],["","function.maxdb-field-tell","example"],["maxdb_field_tell","function.maxdb-field-tell","refentry"],["maxdb_free_result","function.maxdb-free-result","refentry"],["","function.maxdb-get-client-info","example"],["maxdb_get_client_info","function.maxdb-get-client-info","refentry"],["","function.maxdb-get-client-version","example"],["maxdb_get_client_version","function.maxdb-get-client-version","refentry"],["","function.maxdb-get-host-info","example"],["","function.maxdb-get-host-info","example"],["maxdb_get_host_info","function.maxdb-get-host-info","refentry"],["maxdb_get_metadata","function.maxdb-get-metadata","refentry"],["","function.maxdb-get-proto-info","example"],["","function.maxdb-get-proto-info","example"],["maxdb_get_proto_info","function.maxdb-get-proto-info","refentry"],["","function.maxdb-get-server-info","example"],["","function.maxdb-get-server-info","example"],["maxdb_get_server_info","function.maxdb-get-server-info","refentry"],["","function.maxdb-get-server-version","example"],["","function.maxdb-get-server-version","example"],["maxdb_get_server_version","function.maxdb-get-server-version","refentry"],["","function.maxdb-info","example"],["","function.maxdb-info","example"],["maxdb_info","function.maxdb-info","refentry"],["maxdb_init","function.maxdb-init","refentry"],["","function.maxdb-insert-id","example"],["","function.maxdb-insert-id","example"],["maxdb_insert_id","function.maxdb-insert-id","refentry"],["","function.maxdb-kill","example"],["","function.maxdb-kill","example"],["maxdb_kill","function.maxdb-kill","refentry"],["maxdb_master_query","function.maxdb-master-query","refentry"],["maxdb_more_results","function.maxdb-more-results","refentry"],["","function.maxdb-multi-query","example"],["","function.maxdb-multi-query","example"],["maxdb_multi_query","function.maxdb-multi-query","refentry"],["maxdb_next_result","function.maxdb-next-result","refentry"],["","function.maxdb-num-fields","example"],["","function.maxdb-num-fields","example"],["maxdb_num_fields","function.maxdb-num-fields","refentry"],["","function.maxdb-num-rows","example"],["","function.maxdb-num-rows","example"],["maxdb_num_rows","function.maxdb-num-rows","refentry"],["maxdb_options","function.maxdb-options","refentry"],["maxdb_param_count","function.maxdb-param-count","refentry"],["","function.maxdb-ping","example"],["","function.maxdb-ping","example"],["maxdb_ping","function.maxdb-ping","refentry"],["","function.maxdb-prepare","example"],["","function.maxdb-prepare","example"],["maxdb_prepare","function.maxdb-prepare","refentry"],["","function.maxdb-query","example"],["","function.maxdb-query","example"],["maxdb_query","function.maxdb-query","refentry"],["","function.maxdb-real-connect","example"],["","function.maxdb-real-connect","example"],["maxdb_real_connect","function.maxdb-real-connect","refentry"],["","function.maxdb-real-escape-string","example"],["","function.maxdb-real-escape-string","example"],["maxdb_real_escape_string","function.maxdb-real-escape-string","refentry"],["maxdb_real_query","function.maxdb-real-query","refentry"],["","function.maxdb-report","example"],["maxdb_report","function.maxdb-report","refentry"],["","function.maxdb-rollback","example"],["","function.maxdb-rollback","example"],["maxdb_rollback","function.maxdb-rollback","refentry"],["maxdb_rpl_parse_enabled","function.maxdb-rpl-parse-enabled","refentry"],["maxdb_rpl_probe","function.maxdb-rpl-probe","refentry"],["maxdb_rpl_query_type","function.maxdb-rpl-query-type","refentry"],["","function.maxdb-select-db","example"],["","function.maxdb-select-db","example"],["maxdb_select_db","function.maxdb-select-db","refentry"],["maxdb_send_long_data","function.maxdb-send-long-data","refentry"],["maxdb_send_query","function.maxdb-send-query","refentry"],["maxdb_server_end","function.maxdb-server-end","refentry"],["maxdb_server_init","function.maxdb-server-init","refentry"],["maxdb_set_opt","function.maxdb-set-opt","refentry"],["","function.maxdb-sqlstate","example"],["","function.maxdb-sqlstate","example"],["maxdb_sqlstate","function.maxdb-sqlstate","refentry"],["maxdb_ssl_set","function.maxdb-ssl-set","refentry"],["","function.maxdb-stat","example"],["","function.maxdb-stat","example"],["maxdb_stat","function.maxdb-stat","refentry"],["","function.maxdb-stmt-affected-rows","example"],["","function.maxdb-stmt-affected-rows","example"],["maxdb_stmt_affected_rows","function.maxdb-stmt-affected-rows","refentry"],["","function.maxdb-stmt-bind-param","example"],["","function.maxdb-stmt-bind-param","example"],["","function.maxdb-stmt-bind-param","example"],["","function.maxdb-stmt-bind-param","example"],["","function.maxdb-stmt-bind-param","example"],["maxdb_stmt_bind_param","function.maxdb-stmt-bind-param","refentry"],["","function.maxdb-stmt-bind-result","example"],["","function.maxdb-stmt-bind-result","example"],["maxdb_stmt_bind_result","function.maxdb-stmt-bind-result","refentry"],["maxdb_stmt_close_long_data","function.maxdb-stmt-close-long-data","refentry"],["maxdb_stmt_close","function.maxdb-stmt-close","refentry"],["","function.maxdb-stmt-data-seek","example"],["","function.maxdb-stmt-data-seek","example"],["maxdb_stmt_data_seek","function.maxdb-stmt-data-seek","refentry"],["","function.maxdb-stmt-errno","example"],["","function.maxdb-stmt-errno","example"],["maxdb_stmt_errno","function.maxdb-stmt-errno","refentry"],["","function.maxdb-stmt-error","example"],["","function.maxdb-stmt-error","example"],["maxdb_stmt_error","function.maxdb-stmt-error","refentry"],["","function.maxdb-stmt-execute","example"],["","function.maxdb-stmt-execute","example"],["maxdb_stmt_execute","function.maxdb-stmt-execute","refentry"],["","function.maxdb-stmt-fetch","example"],["","function.maxdb-stmt-fetch","example"],["maxdb_stmt_fetch","function.maxdb-stmt-fetch","refentry"],["maxdb_stmt_free_result","function.maxdb-stmt-free-result","refentry"],["maxdb_stmt_init","function.maxdb-stmt-init","refentry"],["","function.maxdb-stmt-num-rows","example"],["","function.maxdb-stmt-num-rows","example"],["maxdb_stmt_num_rows","function.maxdb-stmt-num-rows","refentry"],["","function.maxdb-stmt-param-count","example"],["","function.maxdb-stmt-param-count","example"],["maxdb_stmt_param_count","function.maxdb-stmt-param-count","refentry"],["","function.maxdb-stmt-prepare","example"],["","function.maxdb-stmt-prepare","example"],["maxdb_stmt_prepare","function.maxdb-stmt-prepare","refentry"],["maxdb_stmt_reset","function.maxdb-stmt-reset","refentry"],["","function.maxdb-stmt-result-metadata","example"],["","function.maxdb-stmt-result-metadata","example"],["maxdb_stmt_result_metadata","function.maxdb-stmt-result-metadata","refentry"],["maxdb_stmt_send_long_data","function.maxdb-stmt-send-long-data","refentry"],["","function.maxdb-stmt-sqlstate","example"],["","function.maxdb-stmt-sqlstate","example"],["maxdb_stmt_sqlstate","function.maxdb-stmt-sqlstate","refentry"],["","function.maxdb-stmt-store-result","example"],["","function.maxdb-stmt-store-result","example"],["maxdb_stmt_store_result","function.maxdb-stmt-store-result","refentry"],["maxdb_store_result","function.maxdb-store-result","refentry"],["","function.maxdb-thread-id","example"],["","function.maxdb-thread-id","example"],["maxdb_thread_id","function.maxdb-thread-id","refentry"],["maxdb_thread_safe","function.maxdb-thread-safe","refentry"],["","function.maxdb-use-result","example"],["","function.maxdb-use-result","example"],["maxdb_use_result","function.maxdb-use-result","refentry"],["","function.maxdb-warning-count","example"],["","function.maxdb-warning-count","example"],["maxdb_warning_count","function.maxdb-warning-count","refentry"],["","ref.maxdb","reference"],["","book.maxdb","book"],["","mongo.requirements","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.installation","section"],["","mongo.configuration","tbody"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","varlistentry"],["","mongo.configuration","section"],["","mongo.setup","chapter"],["","mongo.manual","partintro"],["","mongo.tutorial","example"],["","mongo.tutorial.connecting","example"],["","mongo.tutorial.connecting","section"],["","mongo.tutorial.connecting","section"],["","mongo.tutorial.selectdb","example"],["","mongo.tutorial.selectdb","example"],["","mongo.tutorial.selectdb","section"],["","mongo.tutorial.selectdb","section"],["","mongo.tutorial.collection","example"],["","mongo.tutorial.collection","section"],["","mongo.tutorial.collection","section"],["","mongo.tutorial.insert","example"],["","mongo.tutorial.insert","example"],["","mongo.tutorial.insert","section"],["","mongo.tutorial.insert","section"],["","mongo.tutorial.findone","example"],["","mongo.tutorial.findone","example"],["","mongo.tutorial.findone","section"],["","mongo.tutorial.findone","section"],["","mongo.tutorial.insert.multiple","example"],["","mongo.tutorial.insert.multiple","section"],["","mongo.tutorial.counting","example"],["","mongo.tutorial.counting","section"],["","mongo.tutorial.cursor","example"],["","mongo.tutorial.cursor","section"],["","mongo.tutorial.cursor","section"],["","mongo.tutorial.criteria","example"],["","mongo.tutorial.criteria","section"],["","mongo.tutorial.multi.query","example"],["","mongo.tutorial.multi.query","section"],["","mongo.tutorial.indexes","example"],["","mongo.tutorial.indexes","section"],["","mongo.tutorial","chapter"],["","mongo.readpreferences","simplesect"],["","mongo.readpreferences","simplesect"],["","mongo.readpreferences","example"],["","mongo.readpreferences","example"],["","mongo.readpreferences","simplesect"],["","mongo.readpreferences","chapter"],["","mongo.writeconcerns","table"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","simplesect"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","simplesect"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","simplesect"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","simplesect"],["","mongo.writeconcerns","example"],["","mongo.writeconcerns","simplesect"],["","mongo.writeconcerns","chapter"],["","mongo.sqltomongo","chapter"],["","mongo.connecting.auth","example"],["","mongo.connecting.auth","example"],["","mongo.connecting.auth","section"],["","mongo.connecting.rs","example"],["","mongo.connecting.rs","example"],["","mongo.connecting.rs","example"],["","mongo.connecting.rs","section"],["","mongo.connecting.mongos","example"],["","mongo.connecting.mongos","section"],["","mongo.connecting.uds","example"],["","mongo.connecting.uds","example"],["","mongo.connecting.uds","section"],["","mongo.connecting.pools","section"],["","mongo.connecting.persistent","example"],["","mongo.connecting.persistent","example"],["","mongo.connecting.persistent","section"],["","mongo.connecting","chapter"],["","mongo.writes","chapter"],["","mongo.queries","example"],["","mongo.queries","simplesect"],["","mongo.queries","example"],["","mongo.queries","simplesect"],["","mongo.queries","simplesect"],["","mongo.queries","example"],["","mongo.queries","example"],["","mongo.queries","simplesect"],["","mongo.queries","example"],["","mongo.queries","example"],["","mongo.queries","example"],["","mongo.queries","example"],["","mongo.queries","simplesect"],["","mongo.queries","chapter"],["","mongo.updates","chapter"],["","mongo.security","chapter"],["","mongo.trouble","chapter"],["","mongo.testing","chapter"],["","mongo.manual","part"],["","class.mongoclient","example"],["","class.mongoclient","section"],["","class.mongoclient","section"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","section"],["","class.mongoclient","section"],["","class.mongoclient","varlistentry"],["","class.mongoclient","varlistentry"],["","class.mongoclient","section"],["","class.mongoclient","section"],["","mongoclient.close","example"],["MongoClient::close","mongoclient.close","refentry"],["MongoClient::connect","mongoclient.connect","refentry"],["","mongoclient.construct","example"],["","mongoclient.construct","example"],["","mongoclient.construct","example"],["","mongoclient.construct","example"],["","mongoclient.construct","example"],["","mongoclient.construct","example"],["MongoClient::__construct","mongoclient.construct","refentry"],["MongoClient::dropDB","mongoclient.dropdb","refentry"],["MongoClient::__get","mongoclient.get","refentry"],["","mongoclient.getconnections","example"],["MongoClient::getConnections","mongoclient.getconnections","refentry"],["MongoClient::getHosts","mongoclient.gethosts","refentry"],["","mongoclient.getreadpreference","example"],["MongoClient::getReadPreference","mongoclient.getreadpreference","refentry"],["","mongoclient.killcursor","example"],["MongoClient::killCursor","mongoclient.killcursor","refentry"],["","mongoclient.listdbs","example"],["MongoClient::listDBs","mongoclient.listdbs","refentry"],["","mongoclient.selectcollection","example"],["MongoClient::selectCollection","mongoclient.selectcollection","refentry"],["MongoClient::selectDB","mongoclient.selectdb","refentry"],["","mongoclient.setreadpreference","example"],["MongoClient::setReadPreference","mongoclient.setreadpreference","refentry"],["MongoClient::__toString","mongoclient.tostring","refentry"],["MongoClient","class.mongoclient","phpdoc:classref"],["","class.mongodb","example"],["","class.mongodb","section"],["","class.mongodb","section"],["","class.mongodb","varlistentry"],["","class.mongodb","varlistentry"],["","class.mongodb","varlistentry"],["","class.mongodb","section"],["","class.mongodb","varlistentry"],["","class.mongodb","varlistentry"],["MongoDB::authenticate","mongodb.authenticate","refentry"],["","mongodb.command","example"],["","mongodb.command","example"],["","mongodb.command","example"],["","mongodb.command","example"],["","mongodb.command","example"],["MongoDB::command","mongodb.command","refentry"],["MongoDB::__construct","mongodb.construct","refentry"],["","mongodb.createcollection","example"],["MongoDB::createCollection","mongodb.createcollection","refentry"],["","mongodb.createdbref","example"],["","mongodb.createdbref","example"],["MongoDB::createDBRef","mongodb.createdbref","refentry"],["","mongodb.drop","example"],["MongoDB::drop","mongodb.drop","refentry"],["MongoDB::dropCollection","mongodb.dropcollection","refentry"],["","mongodb.execute","example"],["","mongodb.execute","example"],["","mongodb.execute","example"],["MongoDB::execute","mongodb.execute","refentry"],["MongoDB::forceError","mongodb.forceerror","refentry"],["MongoDB::__get","mongodb.get","refentry"],["","mongodb.getcollectionnames","example"],["MongoDB::getCollectionNames","mongodb.getcollectionnames","refentry"],["","mongodb.getdbref","example"],["MongoDB::getDBRef","mongodb.getdbref","refentry"],["","mongodb.getgridfs","example"],["MongoDB::getGridFS","mongodb.getgridfs","refentry"],["MongoDB::getProfilingLevel","mongodb.getprofilinglevel","refentry"],["","mongodb.getreadpreference","example"],["MongoDB::getReadPreference","mongodb.getreadpreference","refentry"],["MongoDB::getSlaveOkay","mongodb.getslaveokay","refentry"],["","mongodb.lasterror","example"],["","mongodb.lasterror","example"],["MongoDB::lastError","mongodb.lasterror","refentry"],["","mongodb.listcollections","example"],["MongoDB::listCollections","mongodb.listcollections","refentry"],["MongoDB::prevError","mongodb.preverror","refentry"],["","mongodb.repair","example"],["MongoDB::repair","mongodb.repair","refentry"],["MongoDB::resetError","mongodb.reseterror","refentry"],["MongoDB::selectCollection","mongodb.selectcollection","refentry"],["MongoDB::setProfilingLevel","mongodb.setprofilinglevel","refentry"],["","mongodb.setreadpreference","example"],["MongoDB::setReadPreference","mongodb.setreadpreference","refentry"],["MongoDB::setSlaveOkay","mongodb.setslaveokay","refentry"],["MongoDB::__toString","mongodb.--tostring","refentry"],["MongoDB","class.mongodb","phpdoc:classref"],["","class.mongocollection","section"],["","class.mongocollection","section"],["","class.mongocollection","varlistentry"],["","class.mongocollection","varlistentry"],["","class.mongocollection","varlistentry"],["","class.mongocollection","varlistentry"],["","class.mongocollection","varlistentry"],["","mongocollection.aggregate","example"],["","mongocollection.aggregate","example"],["","mongocollection.aggregate","example"],["MongoCollection::aggregate","mongocollection.aggregate","refentry"],["","mongocollection.batchinsert","example"],["","mongocollection.batchinsert","example"],["MongoCollection::batchInsert","mongocollection.batchinsert","refentry"],["MongoCollection::__construct","mongocollection.construct","refentry"],["","mongocollection.count","example"],["MongoCollection::count","mongocollection.count","refentry"],["","mongocollection.createdbref","example"],["MongoCollection::createDBRef","mongocollection.createdbref","refentry"],["","mongocollection.deleteindex","example"],["MongoCollection::deleteIndex","mongocollection.deleteindex","refentry"],["","mongocollection.deleteindexes","example"],["MongoCollection::deleteIndexes","mongocollection.deleteindexes","refentry"],["","mongocollection.distinct","example"],["","mongocollection.distinct","example"],["MongoCollection::distinct","mongocollection.distinct","refentry"],["","mongocollection.drop","example"],["MongoCollection::drop","mongocollection.drop","refentry"],["","mongocollection.ensureindex","example"],["","mongocollection.ensureindex","example"],["","mongocollection.ensureindex","example"],["MongoCollection::ensureIndex","mongocollection.ensureindex","refentry"],["","mongocollection.find","example"],["","mongocollection.find","example"],["","mongocollection.find","example"],["","mongocollection.find","example"],["","mongocollection.find","example"],["MongoCollection::find","mongocollection.find","refentry"],["","mongocollection.findandmodify","example"],["","mongocollection.findandmodify","example"],["MongoCollection::findAndModify","mongocollection.findandmodify","refentry"],["","mongocollection.findone","example"],["","mongocollection.findone","example"],["MongoCollection::findOne","mongocollection.findone","refentry"],["MongoCollection::__get","mongocollection.get","refentry"],["","mongocollection.getdbref","example"],["MongoCollection::getDBRef","mongocollection.getdbref","refentry"],["","mongocollection.getindexinfo","example"],["MongoCollection::getIndexInfo","mongocollection.getindexinfo","refentry"],["","mongocollection.getname","example"],["MongoCollection::getName","mongocollection.getname","refentry"],["","mongocollection.getreadpreference","example"],["MongoCollection::getReadPreference","mongocollection.getreadpreference","refentry"],["MongoCollection::getSlaveOkay","mongocollection.getslaveokay","refentry"],["","mongocollection.group","example"],["","mongocollection.group","example"],["","mongocollection.group","example"],["MongoCollection::group","mongocollection.group","refentry"],["","mongocollection.insert","example"],["","mongocollection.insert","example"],["MongoCollection::insert","mongocollection.insert","refentry"],["","mongocollection.remove","example"],["MongoCollection::remove","mongocollection.remove","refentry"],["","mongocollection.save","example"],["MongoCollection::save","mongocollection.save","refentry"],["","mongocollection.setreadpreference","example"],["MongoCollection::setReadPreference","mongocollection.setreadpreference","refentry"],["MongoCollection::setSlaveOkay","mongocollection.setslaveokay","refentry"],["","mongocollection.toindexstring","example"],["MongoCollection::toIndexString","mongocollection.toindexstring","refentry"],["","mongocollection.--tostring","example"],["MongoCollection::__toString","mongocollection.--tostring","refentry"],["","mongocollection.update","example"],["","mongocollection.update","example"],["","mongocollection.update","example"],["MongoCollection::update","mongocollection.update","refentry"],["MongoCollection::validate","mongocollection.validate","refentry"],["MongoCollection","class.mongocollection","phpdoc:classref"],["","class.mongocursor","example"],["","class.mongocursor","example"],["","class.mongocursor","section"],["","class.mongocursor","example"],["","class.mongocursor","section"],["","class.mongocursor","varlistentry"],["","class.mongocursor","varlistentry"],["","mongocursor.addoption","example"],["MongoCursor::addOption","mongocursor.addoption","refentry"],["","mongocursor.awaitdata","example"],["MongoCursor::awaitData","mongocursor.awaitdata","refentry"],["","mongocursor.batchsize","example"],["MongoCursor::batchSize","mongocursor.batchsize","refentry"],["MongoCursor::__construct","mongocursor.construct","refentry"],["","mongocursor.count","example"],["MongoCursor::count","mongocursor.count","refentry"],["MongoCursor::current","mongocursor.current","refentry"],["MongoCursor::dead","mongocursor.dead","refentry"],["","mongocursor.doquery","example"],["MongoCursor::doQuery","mongocursor.doquery","refentry"],["","mongocursor.explain","example"],["MongoCursor::explain","mongocursor.explain","refentry"],["MongoCursor::fields","mongocursor.fields","refentry"],["MongoCursor::getNext","mongocursor.getnext","refentry"],["","mongocursor.getreadpreference","example"],["MongoCursor::getReadPreference","mongocursor.getreadpreference","refentry"],["MongoCursor::hasNext","mongocursor.hasnext","refentry"],["MongoCursor::hint","mongocursor.hint","refentry"],["MongoCursor::immortal","mongocursor.immortal","refentry"],["","mongocursor.info","example"],["MongoCursor::info","mongocursor.info","refentry"],["MongoCursor::key","mongocursor.key","refentry"],["MongoCursor::limit","mongocursor.limit","refentry"],["MongoCursor::next","mongocursor.next","refentry"],["MongoCursor::partial","mongocursor.partial","refentry"],["MongoCursor::reset","mongocursor.reset","refentry"],["MongoCursor::rewind","mongocursor.rewind","refentry"],["","mongocursor.setflag","example"],["MongoCursor::setFlag","mongocursor.setflag","refentry"],["","mongocursor.setreadpreference","example"],["MongoCursor::setReadPreference","mongocursor.setreadpreference","refentry"],["MongoCursor::skip","mongocursor.skip","refentry"],["","mongocursor.slaveokay","example"],["MongoCursor::slaveOkay","mongocursor.slaveokay","refentry"],["MongoCursor::snapshot","mongocursor.snapshot","refentry"],["","mongocursor.sort","example"],["MongoCursor::sort","mongocursor.sort","refentry"],["","mongocursor.tailable","example"],["MongoCursor::tailable","mongocursor.tailable","refentry"],["","mongocursor.timeout","example"],["MongoCursor::timeout","mongocursor.timeout","refentry"],["MongoCursor::valid","mongocursor.valid","refentry"],["MongoCursor","class.mongocursor","phpdoc:classref"],["","mongo.core","part"],["","class.mongoid","section"],["","class.mongoid","section"],["","class.mongoid","varlistentry"],["","mongoid.construct","example"],["","mongoid.construct","example"],["MongoId::__construct","mongoid.construct","refentry"],["MongoId::getHostname","mongoid.gethostname","refentry"],["MongoId::getInc","mongoid.getinc","refentry"],["MongoId::getPID","mongoid.getpid","refentry"],["MongoId::getTimestamp","mongoid.gettimestamp","refentry"],["MongoId::__set_state","mongoid.set-state","refentry"],["","mongoid.tostring","example"],["MongoId::__toString","mongoid.tostring","refentry"],["MongoId","class.mongoid","phpdoc:classref"],["","class.mongocode","section"],["","class.mongocode","section"],["","mongocode.construct","example"],["","mongocode.construct","example"],["MongoCode::__construct","mongocode.construct","refentry"],["","mongocode.tostring","example"],["MongoCode::__toString","mongocode.tostring","refentry"],["MongoCode","class.mongocode","phpdoc:classref"],["","class.mongodate","example"],["","class.mongodate","section"],["","class.mongodate","section"],["","mongodate.construct","example"],["MongoDate::__construct","mongodate.construct","refentry"],["MongoDate::__toString","mongodate.tostring","refentry"],["MongoDate","class.mongodate","phpdoc:classref"],["","class.mongoregex","example"],["","class.mongoregex","section"],["","class.mongoregex","section"],["","mongoregex.construct","example"],["MongoRegex::__construct","mongoregex.construct","refentry"],["","mongoregex.tostring","example"],["MongoRegex::__toString","mongoregex.tostring","refentry"],["MongoRegex","class.mongoregex","phpdoc:classref"],["","class.mongobindata","example"],["","class.mongobindata","section"],["","class.mongobindata","section"],["","class.mongobindata","varlistentry"],["","class.mongobindata","varlistentry"],["","class.mongobindata","varlistentry"],["","class.mongobindata","varlistentry"],["","class.mongobindata","varlistentry"],["","class.mongobindata","section"],["MongoBinData::__construct","mongobindata.construct","refentry"],["MongoBinData::__toString","mongobindata.tostring","refentry"],["MongoBinData","class.mongobindata","phpdoc:classref"],["","class.mongoint32","section"],["","class.mongoint32","section"],["","class.mongoint32","varlistentry"],["MongoInt32::__construct","mongoint32.construct","refentry"],["MongoInt32::__toString","mongoint32.tostring","refentry"],["MongoInt32","class.mongoint32","phpdoc:classref"],["","class.mongoint64","section"],["","class.mongoint64","section"],["","class.mongoint64","varlistentry"],["MongoInt64::__construct","mongoint64.construct","refentry"],["MongoInt64::__toString","mongoint64.tostring","refentry"],["MongoInt64","class.mongoint64","phpdoc:classref"],["","class.mongodbref","example"],["","class.mongodbref","example"],["","class.mongodbref","section"],["","class.mongodbref","section"],["","mongodbref.create","example"],["MongoDBRef::create","mongodbref.create","refentry"],["","mongodbref.get","example"],["MongoDBRef::get","mongodbref.get","refentry"],["MongoDBRef::isRef","mongodbref.isref","refentry"],["MongoDBRef","class.mongodbref","phpdoc:classref"],["","class.mongominkey","section"],["","class.mongominkey","section"],["","class.mongominkey","section"],["MongoMinKey","class.mongominkey","phpdoc:classref"],["","class.mongomaxkey","section"],["","class.mongomaxkey","section"],["","class.mongomaxkey","section"],["MongoMaxKey","class.mongomaxkey","phpdoc:classref"],["","class.mongotimestamp","section"],["","class.mongotimestamp","section"],["MongoTimestamp::__construct","mongotimestamp.construct","refentry"],["MongoTimestamp::__toString","mongotimestamp.tostring","refentry"],["MongoTimestamp","class.mongotimestamp","phpdoc:classref"],["","mongo.types","part"],["","class.mongogridfs","section"],["","class.mongogridfs","section"],["MongoGridFS::__construct","mongogridfs.construct","refentry"],["MongoGridFS::delete","mongogridfs.delete","refentry"],["MongoGridFS::drop","mongogridfs.drop","refentry"],["MongoGridFS::find","mongogridfs.find","refentry"],["","mongogridfs.findone","example"],["MongoGridFS::findOne","mongogridfs.findone","refentry"],["MongoGridFS::get","mongogridfs.get","refentry"],["MongoGridFS::put","mongogridfs.put","refentry"],["MongoGridFS::remove","mongogridfs.remove","refentry"],["","mongogridfs.storebytes","example"],["MongoGridFS::storeBytes","mongogridfs.storebytes","refentry"],["","mongogridfs.storefile","example"],["MongoGridFS::storeFile","mongogridfs.storefile","refentry"],["","mongogridfs.storeupload","example"],["MongoGridFS::storeUpload","mongogridfs.storeupload","refentry"],["MongoGridFS","class.mongogridfs","phpdoc:classref"],["","class.mongogridfsfile","section"],["","class.mongogridfsfile","section"],["MongoGridfsFile::__construct","mongogridfsfile.construct","refentry"],["","mongogridfsfile.getbytes","example"],["MongoGridFSFile::getBytes","mongogridfsfile.getbytes","refentry"],["MongoGridFSFile::getFilename","mongogridfsfile.getfilename","refentry"],["","mongogridfsfile.getresource","example"],["MongoGridFSFile::getResource","mongogridfsfile.getresource","refentry"],["MongoGridFSFile::getSize","mongogridfsfile.getsize","refentry"],["","mongogridfsfile.write","example"],["MongoGridFSFile::write","mongogridfsfile.write","refentry"],["MongoGridFSFile","class.mongogridfsfile","phpdoc:classref"],["","class.mongogridfscursor","section"],["","class.mongogridfscursor","section"],["MongoGridFSCursor::__construct","mongogridfscursor.construct","refentry"],["MongoGridFSCursor::current","mongogridfscursor.current","refentry"],["MongoGridFSCursor::getNext","mongogridfscursor.getnext","refentry"],["MongoGridFSCursor::key","mongogridfscursor.key","refentry"],["MongoGridFSCursor","class.mongogridfscursor","phpdoc:classref"],["","mongo.gridfs","part"],["","class.mongolog","section"],["","class.mongolog","section"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","section"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","section"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","varlistentry"],["","class.mongolog","section"],["MongoLog::getCallback","mongolog.getcallback","refentry"],["MongoLog::getLevel","mongolog.getlevel","refentry"],["MongoLog::getModule","mongolog.getmodule","refentry"],["","mongolog.setcallback","example"],["MongoLog::setCallback","mongolog.setcallback","refentry"],["MongoLog::setLevel","mongolog.setlevel","refentry"],["MongoLog::setModule","mongolog.setmodule","refentry"],["MongoLog","class.mongolog","phpdoc:classref"],["","class.mongopool","section"],["","class.mongopool","section"],["","mongopool.getsize","example"],["MongoPool::getSize","mongopool.getsize","refentry"],["MongoPool::info","mongopool.info","refentry"],["","mongopool.setsize","example"],["MongoPool::setSize","mongopool.setsize","refentry"],["MongoPool","class.mongopool","phpdoc:classref"],["","class.mongo","section"],["","class.mongo","section"],["Mongo::connectUtil","mongo.connectutil","refentry"],["Mongo::__construct","mongo.construct","refentry"],["","mongo.getpoolsize","example"],["Mongo::getPoolSize","mongo.getpoolsize","refentry"],["Mongo::getSlave","mongo.getslave","refentry"],["Mongo::getSlaveOkay","mongo.getslaveokay","refentry"],["Mongo::poolDebug","mongo.pooldebug","refentry"],["","mongo.setpoolsize","example"],["Mongo::setPoolSize","mongo.setpoolsize","refentry"],["Mongo::setSlaveOkay","mongo.setslaveokay","refentry"],["Mongo::switchSlave","mongo.switchslave","refentry"],["Mongo","class.mongo","phpdoc:classref"],["","mongo.miscellaneous","part"],["bson_decode","function.bson-decode","refentry"],["bson_encode","function.bson-encode","refentry"],["","ref.mongo","reference"],["","class.mongoexception","section"],["","class.mongoexception","section"],["MongoException","class.mongoexception","phpdoc:classref"],["","class.mongoresultexception","section"],["","class.mongoresultexception","section"],["","class.mongoresultexception","varlistentry"],["","class.mongoresultexception","section"],["MongoResultException::getDocument","mongoresultexception.getdocument","refentry"],["MongoResultException","class.mongoresultexception","phpdoc:classref"],["","class.mongocursorexception","section"],["","class.mongocursorexception","section"],["MongoCursorException::getHost","mongocursorexception.gethost","refentry"],["MongoCursorException","class.mongocursorexception","phpdoc:classref"],["","class.mongocursortimeoutexception","section"],["","class.mongocursortimeoutexception","section"],["MongoCursorTimeoutException","class.mongocursortimeoutexception","phpdoc:classref"],["","class.mongoconnectionexception","section"],["","class.mongoconnectionexception","section"],["MongoConnectionException","class.mongoconnectionexception","phpdoc:classref"],["","class.mongogridfsexception","section"],["","class.mongogridfsexception","section"],["","class.mongogridfsexception","section"],["MongoGridFSException","class.mongogridfsexception","phpdoc:classref"],["","mongo.exceptions","part"],["","changelog.mongo","simplesect"],["","changelog.mongo","appendix"],["Mongo","book.mongo","book"],["","intro.msql","preface"],["","msql.requirements","section"],["","msql.installation","section"],["","msql.configuration","varlistentry"],["","msql.configuration","varlistentry"],["","msql.configuration","varlistentry"],["","msql.configuration","section"],["","msql.resources","section"],["","msql.setup","chapter"],["","msql.constants","varlistentry"],["","msql.constants","varlistentry"],["","msql.constants","varlistentry"],["","msql.constants","appendix"],["","msql.examples-basic","example"],["","msql.examples-basic","section"],["","msql.examples","chapter"],["msql_affected_rows","function.msql-affected-rows","refentry"],["msql_close","function.msql-close","refentry"],["msql_connect","function.msql-connect","refentry"],["msql_create_db","function.msql-create-db","refentry"],["msql_createdb","function.msql-createdb","refentry"],["msql_data_seek","function.msql-data-seek","refentry"],["msql_db_query","function.msql-db-query","refentry"],["msql_dbname","function.msql-dbname","refentry"],["msql_drop_db","function.msql-drop-db","refentry"],["msql_error","function.msql-error","refentry"],["","function.msql-fetch-array","example"],["msql_fetch_array","function.msql-fetch-array","refentry"],["msql_fetch_field","function.msql-fetch-field","refentry"],["","function.msql-fetch-object","example"],["msql_fetch_object","function.msql-fetch-object","refentry"],["","function.msql-fetch-row","example"],["msql_fetch_row","function.msql-fetch-row","refentry"],["msql_field_flags","function.msql-field-flags","refentry"],["msql_field_len","function.msql-field-len","refentry"],["msql_field_name","function.msql-field-name","refentry"],["msql_field_seek","function.msql-field-seek","refentry"],["msql_field_table","function.msql-field-table","refentry"],["msql_field_type","function.msql-field-type","refentry"],["msql_fieldflags","function.msql-fieldflags","refentry"],["msql_fieldlen","function.msql-fieldlen","refentry"],["msql_fieldname","function.msql-fieldname","refentry"],["msql_fieldtable","function.msql-fieldtable","refentry"],["msql_fieldtype","function.msql-fieldtype","refentry"],["msql_free_result","function.msql-free-result","refentry"],["msql_list_dbs","function.msql-list-dbs","refentry"],["msql_list_fields","function.msql-list-fields","refentry"],["msql_list_tables","function.msql-list-tables","refentry"],["msql_num_fields","function.msql-num-fields","refentry"],["msql_num_rows","function.msql-num-rows","refentry"],["msql_numfields","function.msql-numfields","refentry"],["msql_numrows","function.msql-numrows","refentry"],["msql_pconnect","function.msql-pconnect","refentry"],["","function.msql-query","example"],["msql_query","function.msql-query","refentry"],["msql_regcase","function.msql-regcase","refentry"],["msql_result","function.msql-result","refentry"],["msql_select_db","function.msql-select-db","refentry"],["msql_tablename","function.msql-tablename","refentry"],["msql","function.msql","refentry"],["","ref.msql","reference"],["","book.msql","book"],["","intro.mssql","preface"],["","mssql.requirements","section"],["","mssql.installation","section"],["","mssql.configuration","section"],["","mssql.resources","section"],["","mssql.resources","section"],["","mssql.resources","section"],["","mssql.resources","section"],["","mssql.setup","chapter"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","varlistentry"],["","mssql.constants","appendix"],["","function.mssql-bind","example"],["mssql_bind","function.mssql-bind","refentry"],["","function.mssql-close","example"],["mssql_close","function.mssql-close","refentry"],["","function.mssql-connect","example"],["mssql_connect","function.mssql-connect","refentry"],["","function.mssql-data-seek","example"],["mssql_data_seek","function.mssql-data-seek","refentry"],["","function.mssql-execute","example"],["mssql_execute","function.mssql-execute","refentry"],["","function.mssql-fetch-array","example"],["mssql_fetch_array","function.mssql-fetch-array","refentry"],["","function.mssql-fetch-assoc","example"],["mssql_fetch_assoc","function.mssql-fetch-assoc","refentry"],["","function.mssql-fetch-batch","example"],["mssql_fetch_batch","function.mssql-fetch-batch","refentry"],["","function.mssql-fetch-field","example"],["mssql_fetch_field","function.mssql-fetch-field","refentry"],["","function.mssql-fetch-object","example"],["mssql_fetch_object","function.mssql-fetch-object","refentry"],["","function.mssql-fetch-row","example"],["mssql_fetch_row","function.mssql-fetch-row","refentry"],["","function.mssql-field-length","example"],["mssql_field_length","function.mssql-field-length","refentry"],["","function.mssql-field-name","example"],["mssql_field_name","function.mssql-field-name","refentry"],["","function.mssql-field-seek","example"],["mssql_field_seek","function.mssql-field-seek","refentry"],["","function.mssql-field-type","example"],["mssql_field_type","function.mssql-field-type","refentry"],["","function.mssql-free-result","example"],["mssql_free_result","function.mssql-free-result","refentry"],["","function.mssql-free-statement","example"],["mssql_free_statement","function.mssql-free-statement","refentry"],["","function.mssql-get-last-message","example"],["mssql_get_last_message","function.mssql-get-last-message","refentry"],["","function.mssql-guid-string","example"],["mssql_guid_string","function.mssql-guid-string","refentry"],["","function.mssql-init","example"],["mssql_init","function.mssql-init","refentry"],["","function.mssql-min-error-severity","example"],["mssql_min_error_severity","function.mssql-min-error-severity","refentry"],["","function.mssql-min-message-severity","example"],["mssql_min_message_severity","function.mssql-min-message-severity","refentry"],["","function.mssql-next-result","example"],["mssql_next_result","function.mssql-next-result","refentry"],["","function.mssql-num-fields","example"],["mssql_num_fields","function.mssql-num-fields","refentry"],["","function.mssql-num-rows","example"],["mssql_num_rows","function.mssql-num-rows","refentry"],["","function.mssql-pconnect","example"],["mssql_pconnect","function.mssql-pconnect","refentry"],["","function.mssql-query","example"],["mssql_query","function.mssql-query","refentry"],["","function.mssql-result","example"],["","function.mssql-result","example"],["mssql_result","function.mssql-result","refentry"],["","function.mssql-rows-affected","example"],["mssql_rows_affected","function.mssql-rows-affected","refentry"],["","function.mssql-select-db","example"],["","function.mssql-select-db","example"],["mssql_select_db","function.mssql-select-db","refentry"],["","ref.mssql","reference"],["Mssql","book.mssql","book"],["","set.mysqlinfo","info"],["","mysql","info"],["","mysqlinfo.terminology","chapter"],["","mysqlinfo.api.choosing","example"],["","mysqlinfo.api.choosing","chapter"],["","mysqlinfo.library.choosing","example"],["","mysqlinfo.library.choosing","chapter"],["","mysqlinfo.concepts.buffering","example"],["","mysqlinfo.concepts.buffering","example"],["","mysqlinfo.concepts.buffering","example"],["","mysqlinfo.concepts.buffering","section"],["","mysqlinfo.concepts.charset","example"],["","mysqlinfo.concepts.charset","example"],["","mysqlinfo.concepts.charset","example"],["","mysqlinfo.concepts.charset","example"],["","mysqlinfo.concepts.charset","section"],["","mysqlinfo.concepts","chapter"],["","mysql","book"],["","intro.mysql","preface"],["","mysql.requirements","section"],["","mysql.installation","para"],["","mysql.installation","section"],["","mysql.installation","section"],["","mysql.installation","section"],["","mysql.installation","section"],["","mysql.configuration","tbody"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","varlistentry"],["","mysql.configuration","section"],["","mysql.resources","section"],["","mysql.setup","chapter"],["","changelog.mysql","simplesect"],["","changelog.mysql","simplesect"],["","changelog.mysql","appendix"],["","mysql.constants","table"],["","mysql.constants","appendix"],["","mysql.examples-basic","example"],["","mysql.examples-basic","section"],["","mysql.examples","chapter"],["","ref.mysql","section"],["","function.mysql-affected-rows","example"],["","function.mysql-affected-rows","example"],["mysql_affected_rows","function.mysql-affected-rows","refentry"],["","function.mysql-client-encoding","example"],["mysql_client_encoding","function.mysql-client-encoding","refentry"],["","function.mysql-close","example"],["mysql_close","function.mysql-close","refentry"],["","function.mysql-connect","example"],["","function.mysql-connect","example"],["","function.mysql-connect","example"],["mysql_connect","function.mysql-connect","refentry"],["","function.mysql-create-db","example"],["mysql_create_db","function.mysql-create-db","refentry"],["","function.mysql-data-seek","example"],["mysql_data_seek","function.mysql-data-seek","refentry"],["","function.mysql-db-name","example"],["mysql_db_name","function.mysql-db-name","refentry"],["","function.mysql-db-query","example"],["mysql_db_query","function.mysql-db-query","refentry"],["","function.mysql-drop-db","example"],["mysql_drop_db","function.mysql-drop-db","refentry"],["","function.mysql-errno","example"],["mysql_errno","function.mysql-errno","refentry"],["","function.mysql-error","example"],["mysql_error","function.mysql-error","refentry"],["","function.mysql-escape-string","example"],["mysql_escape_string","function.mysql-escape-string","refentry"],["","function.mysql-fetch-array","example"],["","function.mysql-fetch-array","example"],["","function.mysql-fetch-array","example"],["","function.mysql-fetch-array","example"],["mysql_fetch_array","function.mysql-fetch-array","refentry"],["","function.mysql-fetch-assoc","example"],["mysql_fetch_assoc","function.mysql-fetch-assoc","refentry"],["","function.mysql-fetch-field","example"],["mysql_fetch_field","function.mysql-fetch-field","refentry"],["","function.mysql-fetch-lengths","example"],["mysql_fetch_lengths","function.mysql-fetch-lengths","refentry"],["","function.mysql-fetch-object","example"],["","function.mysql-fetch-object","example"],["mysql_fetch_object","function.mysql-fetch-object","refentry"],["","function.mysql-fetch-row","example"],["mysql_fetch_row","function.mysql-fetch-row","refentry"],["","function.mysql-field-flags","example"],["mysql_field_flags","function.mysql-field-flags","refentry"],["","function.mysql-field-len","example"],["mysql_field_len","function.mysql-field-len","refentry"],["","function.mysql-field-name","example"],["mysql_field_name","function.mysql-field-name","refentry"],["mysql_field_seek","function.mysql-field-seek","refentry"],["","function.mysql-field-table","example"],["mysql_field_table","function.mysql-field-table","refentry"],["","function.mysql-field-type","example"],["mysql_field_type","function.mysql-field-type","refentry"],["","function.mysql-free-result","example"],["mysql_free_result","function.mysql-free-result","refentry"],["","function.mysql-get-client-info","example"],["mysql_get_client_info","function.mysql-get-client-info","refentry"],["","function.mysql-get-host-info","example"],["mysql_get_host_info","function.mysql-get-host-info","refentry"],["","function.mysql-get-proto-info","example"],["mysql_get_proto_info","function.mysql-get-proto-info","refentry"],["","function.mysql-get-server-info","example"],["mysql_get_server_info","function.mysql-get-server-info","refentry"],["","function.mysql-info","example"],["mysql_info","function.mysql-info","refentry"],["","function.mysql-insert-id","example"],["mysql_insert_id","function.mysql-insert-id","refentry"],["","function.mysql-list-dbs","example"],["mysql_list_dbs","function.mysql-list-dbs","refentry"],["","function.mysql-list-fields","example"],["mysql_list_fields","function.mysql-list-fields","refentry"],["","function.mysql-list-processes","example"],["mysql_list_processes","function.mysql-list-processes","refentry"],["","function.mysql-list-tables","example"],["mysql_list_tables","function.mysql-list-tables","refentry"],["","function.mysql-num-fields","example"],["mysql_num_fields","function.mysql-num-fields","refentry"],["","function.mysql-num-rows","example"],["mysql_num_rows","function.mysql-num-rows","refentry"],["mysql_pconnect","function.mysql-pconnect","refentry"],["","function.mysql-ping","example"],["mysql_ping","function.mysql-ping","refentry"],["","function.mysql-query","example"],["","function.mysql-query","example"],["mysql_query","function.mysql-query","refentry"],["","function.mysql-real-escape-string","example"],["","function.mysql-real-escape-string","example"],["mysql_real_escape_string","function.mysql-real-escape-string","refentry"],["","function.mysql-result","example"],["mysql_result","function.mysql-result","refentry"],["","function.mysql-select-db","example"],["mysql_select_db","function.mysql-select-db","refentry"],["mysql_set_charset","function.mysql-set-charset","refentry"],["","function.mysql-stat","example"],["","function.mysql-stat","example"],["mysql_stat","function.mysql-stat","refentry"],["","function.mysql-tablename","example"],["mysql_tablename","function.mysql-tablename","refentry"],["","function.mysql-thread-id","example"],["mysql_thread_id","function.mysql-thread-id","refentry"],["mysql_unbuffered_query","function.mysql-unbuffered-query","refentry"],["","ref.mysql","reference"],["Mysql","book.mysql","book"],["","intro.mysqli","section"],["","intro.mysqli","preface"],["","mysqli.overview","para"],["","mysqli.overview","para"],["","mysqli.overview","chapter"],["","mysqli.quickstart.dual-interface","example"],["","mysqli.quickstart.dual-interface","example"],["","mysqli.quickstart.dual-interface","example"],["","mysqli.quickstart.dual-interface","section"],["","mysqli.quickstart.connections","example"],["","mysqli.quickstart.connections","example"],["","mysqli.quickstart.connections","section"],["","mysqli.quickstart.statements","example"],["","mysqli.quickstart.statements","example"],["","mysqli.quickstart.statements","example"],["","mysqli.quickstart.statements","example"],["","mysqli.quickstart.statements","example"],["","mysqli.quickstart.statements","section"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","example"],["","mysqli.quickstart.prepared-statements","section"],["","mysqli.quickstart.stored-procedures","example"],["","mysqli.quickstart.stored-procedures","example"],["","mysqli.quickstart.stored-procedures","example"],["","mysqli.quickstart.stored-procedures","example"],["","mysqli.quickstart.stored-procedures","example"],["","mysqli.quickstart.stored-procedures","section"],["","mysqli.quickstart.multiple-statement","example"],["","mysqli.quickstart.multiple-statement","example"],["","mysqli.quickstart.multiple-statement","section"],["","mysqli.quickstart.transactions","example"],["","mysqli.quickstart.transactions","example"],["","mysqli.quickstart.transactions","section"],["","mysqli.quickstart.metadata","example"],["","mysqli.quickstart.metadata","example"],["","mysqli.quickstart.metadata","section"],["","mysqli.quickstart","chapter"],["","mysqli.requirements","section"],["","mysqli.installation","section"],["","mysqli.installation","section"],["","mysqli.installation","section"],["","mysqli.configuration","tbody"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","varlistentry"],["","mysqli.configuration","section"],["","mysqli.resources","section"],["","mysqli.setup","chapter"],["","mysqli.persistconns","chapter"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","varlistentry"],["","mysqli.constants","appendix"],["","mysqli.notes","chapter"],["","mysqli.summary","chapter"],["","class.mysqli","section"],["","class.mysqli","section"],["","mysqli.affected-rows","example"],["mysqli::$affected_rows","mysqli.affected-rows","refentry"],["","mysqli.autocommit","example"],["mysqli::autocommit","mysqli.autocommit","refentry"],["mysqli::begin_transaction","mysqli.begin-transaction","refentry"],["","mysqli.change-user","example"],["mysqli::change_user","mysqli.change-user","refentry"],["","mysqli.character-set-name","example"],["mysqli::character_set_name","mysqli.character-set-name","refentry"],["","mysqli.client-info","example"],["mysqli::$client_info","mysqli.client-info","refentry"],["","mysqli.client-version","example"],["mysqli::$client_version","mysqli.client-version","refentry"],["mysqli::close","mysqli.close","refentry"],["","mysqli.commit","example"],["mysqli::commit","mysqli.commit","refentry"],["","mysqli.connect-errno","example"],["mysqli::$connect_errno","mysqli.connect-errno","refentry"],["","mysqli.connect-error","example"],["mysqli::$connect_error","mysqli.connect-error","refentry"],["","mysqli.construct","example"],["mysqli::__construct","mysqli.construct","refentry"],["","mysqli.debug","example"],["mysqli::debug","mysqli.debug","refentry"],["mysqli::dump_debug_info","mysqli.dump-debug-info","refentry"],["","mysqli.errno","example"],["mysqli::$errno","mysqli.errno","refentry"],["","mysqli.error-list","example"],["mysqli::$error_list","mysqli.error-list","refentry"],["","mysqli.error","example"],["mysqli::$error","mysqli.error","refentry"],["","mysqli.field-count","example"],["mysqli::$field_count","mysqli.field-count","refentry"],["","mysqli.get-charset","example"],["mysqli::get_charset","mysqli.get-charset","refentry"],["","mysqli.get-client-info","example"],["mysqli::get_client_info","mysqli.get-client-info","refentry"],["","mysqli.get-client-stats","example"],["mysqli_get_client_stats","mysqli.get-client-stats","refentry"],["","mysqli.get-client-version","example"],["mysqli_get_client_version","mysqli.get-client-version","refentry"],["","mysqli.get-connection-stats","example"],["mysqli::get_connection_stats","mysqli.get-connection-stats","refentry"],["","mysqli.get-host-info","example"],["mysqli::$host_info","mysqli.get-host-info","refentry"],["","mysqli.get-proto-info","example"],["mysqli::$protocol_version","mysqli.get-proto-info","refentry"],["","mysqli.get-server-info","example"],["mysqli::$server_info","mysqli.get-server-info","refentry"],["","mysqli.get-server-version","example"],["mysqli::$server_version","mysqli.get-server-version","refentry"],["mysqli::get_warnings","mysqli.get-warnings","refentry"],["","mysqli.info","example"],["mysqli::$info","mysqli.info","refentry"],["mysqli::init","mysqli.init","refentry"],["","mysqli.insert-id","example"],["mysqli::$insert_id","mysqli.insert-id","refentry"],["","mysqli.kill","example"],["mysqli::kill","mysqli.kill","refentry"],["mysqli::more_results","mysqli.more-results","refentry"],["","mysqli.multi-query","example"],["mysqli::multi_query","mysqli.multi-query","refentry"],["mysqli::next_result","mysqli.next-result","refentry"],["mysqli::options","mysqli.options","refentry"],["","mysqli.ping","example"],["mysqli::ping","mysqli.ping","refentry"],["","mysqli.poll","example"],["mysqli::poll","mysqli.poll","refentry"],["","mysqli.prepare","example"],["mysqli::prepare","mysqli.prepare","refentry"],["","mysqli.query","example"],["mysqli::query","mysqli.query","refentry"],["","mysqli.real-connect","example"],["mysqli::real_connect","mysqli.real-connect","refentry"],["","mysqli.real-escape-string","example"],["mysqli::real_escape_string","mysqli.real-escape-string","refentry"],["mysqli::real_query","mysqli.real-query","refentry"],["mysqli::reap_async_query","mysqli.reap-async-query","refentry"],["mysqli::refresh","mysqli.refresh","refentry"],["mysqli::release_savepoint","mysqli.release-savepoint","refentry"],["","mysqli.rollback","example"],["mysqli::rollback","mysqli.rollback","refentry"],["mysqli::rpl_query_type","mysqli.rpl-query-type","refentry"],["mysqli::savepoint","mysqli.savepoint","refentry"],["","mysqli.select-db","example"],["mysqli::select_db","mysqli.select-db","refentry"],["mysqli::send_query","mysqli.send-query","refentry"],["","mysqli.set-charset","example"],["mysqli::set_charset","mysqli.set-charset","refentry"],["mysqli::set_local_infile_default","mysqli.set-local-infile-default","refentry"],["","mysqli.set-local-infile-handler","example"],["mysqli::set_local_infile_handler","mysqli.set-local-infile-handler","refentry"],["","mysqli.sqlstate","example"],["mysqli::$sqlstate","mysqli.sqlstate","refentry"],["mysqli::ssl_set","mysqli.ssl-set","refentry"],["","mysqli.stat","example"],["mysqli::stat","mysqli.stat","refentry"],["mysqli::stmt_init","mysqli.stmt-init","refentry"],["mysqli::store_result","mysqli.store-result","refentry"],["","mysqli.thread-id","example"],["mysqli::$thread_id","mysqli.thread-id","refentry"],["mysqli::thread_safe","mysqli.thread-safe","refentry"],["","mysqli.use-result","example"],["mysqli::use_result","mysqli.use-result","refentry"],["","mysqli.warning-count","example"],["mysqli::$warning_count","mysqli.warning-count","refentry"],["mysqli","class.mysqli","phpdoc:classref"],["","class.mysqli-stmt","section"],["","class.mysqli-stmt","section"],["","mysqli-stmt.affected-rows","example"],["","mysqli-stmt.affected-rows","example"],["mysqli_stmt::$affected_rows","mysqli-stmt.affected-rows","refentry"],["mysqli_stmt::attr_get","mysqli-stmt.attr-get","refentry"],["mysqli_stmt::attr_set","mysqli-stmt.attr-set","refentry"],["","mysqli-stmt.bind-param","example"],["","mysqli-stmt.bind-param","example"],["mysqli_stmt::bind_param","mysqli-stmt.bind-param","refentry"],["","mysqli-stmt.bind-result","example"],["","mysqli-stmt.bind-result","example"],["mysqli_stmt::bind_result","mysqli-stmt.bind-result","refentry"],["mysqli_stmt::close","mysqli-stmt.close","refentry"],["","mysqli-stmt.data-seek","example"],["","mysqli-stmt.data-seek","example"],["mysqli_stmt::data_seek","mysqli-stmt.data-seek","refentry"],["","mysqli-stmt.errno","example"],["","mysqli-stmt.errno","example"],["mysqli_stmt::$errno","mysqli-stmt.errno","refentry"],["","mysqli-stmt.error-list","example"],["","mysqli-stmt.error-list","example"],["mysqli_stmt::$error_list","mysqli-stmt.error-list","refentry"],["","mysqli-stmt.error","example"],["","mysqli-stmt.error","example"],["mysqli_stmt::$error","mysqli-stmt.error","refentry"],["","mysqli-stmt.execute","example"],["","mysqli-stmt.execute","example"],["mysqli_stmt::execute","mysqli-stmt.execute","refentry"],["","mysqli-stmt.fetch","example"],["","mysqli-stmt.fetch","example"],["mysqli_stmt::fetch","mysqli-stmt.fetch","refentry"],["mysqli_stmt::$field_count","mysqli-stmt.field-count","refentry"],["mysqli_stmt::free_result","mysqli-stmt.free-result","refentry"],["","mysqli-stmt.get-result","example"],["","mysqli-stmt.get-result","example"],["mysqli_stmt::get_result","mysqli-stmt.get-result","refentry"],["mysqli_stmt::get_warnings","mysqli-stmt.get-warnings","refentry"],["mysqli_stmt::$insert_id","mysqli-stmt.insert-id","refentry"],["mysqli_stmt::more_results","mysqli-stmt.more-results","refentry"],["mysqli_stmt::next_result","mysqli-stmt.next-result","refentry"],["","mysqli-stmt.num-rows","example"],["","mysqli-stmt.num-rows","example"],["mysqli_stmt::$num_rows","mysqli-stmt.num-rows","refentry"],["","mysqli-stmt.param-count","example"],["","mysqli-stmt.param-count","example"],["mysqli_stmt::$param_count","mysqli-stmt.param-count","refentry"],["","mysqli-stmt.prepare","example"],["","mysqli-stmt.prepare","example"],["mysqli_stmt::prepare","mysqli-stmt.prepare","refentry"],["mysqli_stmt::reset","mysqli-stmt.reset","refentry"],["","mysqli-stmt.result-metadata","example"],["","mysqli-stmt.result-metadata","example"],["mysqli_stmt::result_metadata","mysqli-stmt.result-metadata","refentry"],["","mysqli-stmt.send-long-data","example"],["mysqli_stmt::send_long_data","mysqli-stmt.send-long-data","refentry"],["","mysqli-stmt.sqlstate","example"],["","mysqli-stmt.sqlstate","example"],["mysqli_stmt::$sqlstate","mysqli-stmt.sqlstate","refentry"],["","mysqli-stmt.store-result","example"],["","mysqli-stmt.store-result","example"],["mysqli_stmt::store_result","mysqli-stmt.store-result","refentry"],["mysqli_stmt","class.mysqli-stmt","phpdoc:classref"],["","class.mysqli-result","section"],["","class.mysqli-result","section"],["","mysqli-result.current-field","example"],["","mysqli-result.current-field","example"],["mysqli_result::$current_field","mysqli-result.current-field","refentry"],["","mysqli-result.data-seek","example"],["","mysqli-result.data-seek","example"],["mysqli_result::data_seek","mysqli-result.data-seek","refentry"],["mysqli_result::fetch_all","mysqli-result.fetch-all","refentry"],["","mysqli-result.fetch-array","example"],["","mysqli-result.fetch-array","example"],["mysqli_result::fetch_array","mysqli-result.fetch-array","refentry"],["","mysqli-result.fetch-assoc","example"],["","mysqli-result.fetch-assoc","example"],["","mysqli-result.fetch-assoc","example"],["mysqli_result::fetch_assoc","mysqli-result.fetch-assoc","refentry"],["","mysqli-result.fetch-field-direct","example"],["","mysqli-result.fetch-field-direct","example"],["mysqli_result::fetch_field_direct","mysqli-result.fetch-field-direct","refentry"],["","mysqli-result.fetch-field","example"],["","mysqli-result.fetch-field","example"],["mysqli_result::fetch_field","mysqli-result.fetch-field","refentry"],["","mysqli-result.fetch-fields","example"],["","mysqli-result.fetch-fields","example"],["mysqli_result::fetch_fields","mysqli-result.fetch-fields","refentry"],["","mysqli-result.fetch-object","example"],["","mysqli-result.fetch-object","example"],["mysqli_result::fetch_object","mysqli-result.fetch-object","refentry"],["","mysqli-result.fetch-row","example"],["","mysqli-result.fetch-row","example"],["mysqli_result::fetch_row","mysqli-result.fetch-row","refentry"],["","mysqli-result.field-count","example"],["","mysqli-result.field-count","example"],["mysqli_result::$field_count","mysqli-result.field-count","refentry"],["","mysqli-result.field-seek","example"],["","mysqli-result.field-seek","example"],["mysqli_result::field_seek","mysqli-result.field-seek","refentry"],["mysqli_result::free","mysqli-result.free","refentry"],["","mysqli-result.lengths","example"],["","mysqli-result.lengths","example"],["mysqli_result::$lengths","mysqli-result.lengths","refentry"],["","mysqli-result.num-rows","example"],["","mysqli-result.num-rows","example"],["mysqli_result::$num_rows","mysqli-result.num-rows","refentry"],["mysqli_result","class.mysqli-result","phpdoc:classref"],["","class.mysqli-driver","section"],["","class.mysqli-driver","section"],["","class.mysqli-driver","varlistentry"],["","class.mysqli-driver","varlistentry"],["","class.mysqli-driver","varlistentry"],["","class.mysqli-driver","varlistentry"],["","class.mysqli-driver","varlistentry"],["","class.mysqli-driver","varlistentry"],["","class.mysqli-driver","section"],["mysqli_driver::embedded_server_end","mysqli-driver.embedded-server-end","refentry"],["mysqli_driver::embedded_server_start","mysqli-driver.embedded-server-start","refentry"],["","mysqli-driver.report-mode","example"],["","mysqli-driver.report-mode","example"],["mysqli_driver::$report_mode","mysqli-driver.report-mode","refentry"],["mysqli_driver","class.mysqli-driver","phpdoc:classref"],["","class.mysqli-warning","section"],["","class.mysqli-warning","section"],["","class.mysqli-warning","varlistentry"],["","class.mysqli-warning","varlistentry"],["","class.mysqli-warning","varlistentry"],["","class.mysqli-warning","section"],["mysqli_warning::__construct","mysqli-warning.construct","refentry"],["mysqli_warning::next","mysqli-warning.next","refentry"],["mysqli_warning","class.mysqli-warning","phpdoc:classref"],["","class.mysqli-sql-exception","section"],["","class.mysqli-sql-exception","section"],["","class.mysqli-sql-exception","varlistentry"],["","class.mysqli-sql-exception","section"],["mysqli_sql_exception","class.mysqli-sql-exception","phpdoc:classref"],["mysqli_bind_param","function.mysqli-bind-param","refentry"],["mysqli_bind_result","function.mysqli-bind-result","refentry"],["mysqli_client_encoding","function.mysqli-client-encoding","refentry"],["mysqli_connect","function.mysqli-connect","refentry"],["mysqli::disable_reads_from_master","function.mysqli-disable-reads-from-master","refentry"],["mysqli_disable_rpl_parse","function.mysqli-disable-rpl-parse","refentry"],["mysqli_enable_reads_from_master","function.mysqli-enable-reads-from-master","refentry"],["mysqli_enable_rpl_parse","function.mysqli-enable-rpl-parse","refentry"],["mysqli_escape_string","function.mysqli-escape-string","refentry"],["mysqli_execute","function.mysqli-execute","refentry"],["mysqli_fetch","function.mysqli-fetch","refentry"],["","function.mysqli-get-cache-stats","example"],["mysqli_get_cache_stats","function.mysqli-get-cache-stats","refentry"],["mysqli_get_metadata","function.mysqli-get-metadata","refentry"],["mysqli_master_query","function.mysqli-master-query","refentry"],["mysqli_param_count","function.mysqli-param-count","refentry"],["mysqli_report","function.mysqli-report","refentry"],["mysqli_rpl_parse_enabled","function.mysqli-rpl-parse-enabled","refentry"],["mysqli_rpl_probe","function.mysqli-rpl-probe","refentry"],["mysqli_send_long_data","function.mysqli-send-long-data","refentry"],["mysqli::set_opt","function.mysqli-set-opt","refentry"],["mysqli_slave_query","function.mysqli-slave-query","refentry"],["","ref.mysqli","reference"],["","changelog.mysqli","appendix"],["Mysqli","book.mysqli","book"],["","intro.mysqlnd","preface"],["","mysqlnd.overview","chapter"],["","mysqlnd.install","chapter"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","varlistentry"],["","mysqlnd.config","chapter"],["","mysqlnd.incompatibilities","chapter"],["","mysqlnd.persist","chapter"],["","mysqlnd.stats","chapter"],["","mysqlnd.notes","chapter"],["","mysqlnd.plugin.mysql-proxy","section"],["","mysqlnd.plugin.obtaining","section"],["","mysqlnd.plugin.architecture","section"],["","mysqlnd.plugin.api","section"],["","mysqlnd.plugin.developing","section"],["","mysqlnd.plugin","chapter"],["Mysqlnd","book.mysqlnd","book"],["","intro.mysqlnd-ms","section"],["","intro.mysqlnd-ms","section"],["","intro.mysqlnd-ms","section"],["","intro.mysqlnd-ms","preface"],["","mysqlnd-ms.quickstart.configuration","example"],["","mysqlnd-ms.quickstart.configuration","example"],["","mysqlnd-ms.quickstart.configuration","example"],["","mysqlnd-ms.quickstart.configuration","example"],["","mysqlnd-ms.quickstart.configuration","section"],["","mysqlnd-ms.quickstart.usage","example"],["","mysqlnd-ms.quickstart.usage","example"],["","mysqlnd-ms.quickstart.usage","example"],["","mysqlnd-ms.quickstart.usage","section"],["","mysqlnd-ms.quickstart.connectionpooling","example"],["","mysqlnd-ms.quickstart.connectionpooling","example"],["","mysqlnd-ms.quickstart.connectionpooling","section"],["","mysqlnd-ms.quickstart.sqlhints","example"],["","mysqlnd-ms.quickstart.sqlhints","example"],["","mysqlnd-ms.quickstart.sqlhints","example"],["","mysqlnd-ms.quickstart.sqlhints","example"],["","mysqlnd-ms.quickstart.sqlhints","section"],["","mysqlnd-ms.quickstart.transactions","example"],["","mysqlnd-ms.quickstart.transactions","example"],["","mysqlnd-ms.quickstart.transactions","example"],["","mysqlnd-ms.quickstart.transactions","example"],["","mysqlnd-ms.quickstart.transactions","section"],["","mysqlnd-ms.quickstart.qos-consistency","example"],["","mysqlnd-ms.quickstart.qos-consistency","example"],["","mysqlnd-ms.quickstart.qos-consistency","example"],["","mysqlnd-ms.quickstart.qos-consistency","example"],["","mysqlnd-ms.quickstart.qos-consistency","example"],["","mysqlnd-ms.quickstart.qos-consistency","example"],["","mysqlnd-ms.quickstart.qos-consistency","section"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","example"],["","mysqlnd-ms.quickstart.gtid","section"],["","mysqlnd-ms.quickstart.cache","example"],["","mysqlnd-ms.quickstart.cache","example"],["","mysqlnd-ms.quickstart.cache","example"],["","mysqlnd-ms.quickstart.cache","example"],["","mysqlnd-ms.quickstart.cache","section"],["","mysqlnd-ms.quickstart.failover","example"],["","mysqlnd-ms.quickstart.failover","example"],["","mysqlnd-ms.quickstart.failover","section"],["","mysqlnd-ms.quickstart.partitioning","example"],["","mysqlnd-ms.quickstart.partitioning","example"],["","mysqlnd-ms.quickstart.partitioning","section"],["","mysqlnd-ms.quickstart","chapter"],["","mysqlnd-ms.architecture","section"],["","mysqlnd-ms.pooling","section"],["","mysqlnd-ms.transaction","section"],["","mysqlnd-ms.errorhandling","example"],["","mysqlnd-ms.errorhandling","example"],["","mysqlnd-ms.errorhandling","example"],["","mysqlnd-ms.errorhandling","example"],["","mysqlnd-ms.errorhandling","section"],["","mysqlnd-ms.transient_errors","example"],["","mysqlnd-ms.transient_errors","example"],["","mysqlnd-ms.transient_errors","section"],["","mysqlnd-ms.failover","section"],["","mysqlnd-ms.loadbalancing","section"],["","mysqlnd-ms.rwsplit","section"],["","mysqlnd-ms.filter","section"],["","mysqlnd-ms.qos-consistency","section"],["","mysqlnd-ms.gtid","section"],["","mysqlnd-ms.concept_cache","section"],["","mysqlnd-ms.supportedclusters","example"],["","mysqlnd-ms.supportedclusters","example"],["","mysqlnd-ms.supportedclusters","example"],["","mysqlnd-ms.supportedclusters","example"],["","mysqlnd-ms.supportedclusters","example"],["","mysqlnd-ms.supportedclusters","example"],["","mysqlnd-ms.supportedclusters","section"],["","mysqlnd-ms.concepts","chapter"],["","mysqlnd-ms.requirements","section"],["","mysqlnd-ms.installation","section"],["","mysqlnd-ms.configuration","tbody"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","varlistentry"],["","mysqlnd-ms.configuration","section"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","para"],["","mysqlnd-ms.plugin-ini-json","para"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","para"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","para"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","example"],["","mysqlnd-ms.plugin-ini-json","varlistentry"],["","mysqlnd-ms.plugin-ini-json","section"],["","mysqlnd-ms.plugin-ini-v1","example"],["","mysqlnd-ms.plugin-ini-v1","example"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","varlistentry"],["","mysqlnd-ms.plugin-ini-v1","section"],["","mysqlnd-ms.testing","section"],["","mysqlnd-ms.debugging","section"],["","mysqlnd-ms.monitoring","example"],["","mysqlnd-ms.monitoring","example"],["","mysqlnd-ms.monitoring","section"],["","mysqlnd-ms.setup","chapter"],["","mysqlnd-ms.constants","example"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","varlistentry"],["","mysqlnd-ms.constants","appendix"],["","function.mysqlnd-ms-get-last-gtid","example"],["mysqlnd_ms_get_last_gtid","function.mysqlnd-ms-get-last-gtid","refentry"],["","function.mysqlnd-ms-get-last-used-connection","example"],["mysqlnd_ms_get_last_used_connection","function.mysqlnd-ms-get-last-used-connection","refentry"],["","function.mysqlnd-ms-get-stats","example"],["mysqlnd_ms_get_stats","function.mysqlnd-ms-get-stats","refentry"],["","function.mysqlnd-ms-match-wild","example"],["mysqlnd_ms_match_wild","function.mysqlnd-ms-match-wild","refentry"],["","function.mysqlnd-ms-query-is-select","example"],["mysqlnd_ms_query_is_select","function.mysqlnd-ms-query-is-select","refentry"],["","function.mysqlnd-ms-set-qos","example"],["mysqlnd_ms_set_qos","function.mysqlnd-ms-set-qos","refentry"],["","function.mysqlnd-ms-set-user-pick-server","example"],["mysqlnd_ms_set_user_pick_server","function.mysqlnd-ms-set-user-pick-server","refentry"],["","ref.mysqlnd-ms","reference"],["","mysqlnd-ms.changes-one-six","section"],["","mysqlnd-ms.changes-one-five","section"],["","mysqlnd-ms.changes-one-four","section"],["","mysqlnd-ms.changes-one-three","section"],["","mysqlnd-ms.changes-one-two","section"],["","mysqlnd-ms.changes-one-one","section"],["","mysqlnd-ms.changes-one-o","section"],["","mysqlnd-ms.changes","chapter"],["mysqlnd_ms","book.mysqlnd-ms","book"],["","intro.mysqlnd-qc","section"],["","intro.mysqlnd-qc","section"],["","intro.mysqlnd-qc","section"],["","intro.mysqlnd-qc","preface"],["","mysqlnd-qc.quickstart.concepts","section"],["","mysqlnd-qc.quickstart.configuration","example"],["","mysqlnd-qc.quickstart.configuration","section"],["","mysqlnd-qc.quickstart.caching","example"],["","mysqlnd-qc.quickstart.caching","example"],["","mysqlnd-qc.quickstart.caching","example"],["","mysqlnd-qc.quickstart.caching","example"],["","mysqlnd-qc.quickstart.caching","section"],["","mysqlnd-qc.per-query-ttl","example"],["","mysqlnd-qc.per-query-ttl","example"],["","mysqlnd-qc.per-query-ttl","section"],["","mysqlnd-qc.pattern-based-caching","example"],["","mysqlnd-qc.pattern-based-caching","section"],["","mysqlnd-qc.slam-defense","example"],["","mysqlnd-qc.slam-defense","section"],["","mysqlnd-qc.cache-candidates","example"],["","mysqlnd-qc.cache-candidates","example"],["","mysqlnd-qc.cache-candidates","section"],["","mysqlnd-qc.cache-efficiency","example"],["","mysqlnd-qc.cache-efficiency","example"],["","mysqlnd-qc.cache-efficiency","example"],["","mysqlnd-qc.cache-efficiency","section"],["","mysqlnd-qc.set-user-handlers","example"],["","mysqlnd-qc.set-user-handlers","section"],["","mysqlnd-qc.quickstart","chapter"],["","mysqlnd-qc.requirements","section"],["","mysqlnd-qc.installation","section"],["","mysqlnd-qc.configuration","tbody"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","varlistentry"],["","mysqlnd-qc.configuration","section"],["","mysqlnd-qc.setup","chapter"],["","mysqlnd-qc.constants","example"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","example"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","varlistentry"],["","mysqlnd-qc.constants","appendix"],["mysqlnd_qc_clear_cache","function.mysqlnd-qc-clear-cache","refentry"],["","function.mysqlnd-qc-get-available-handlers","example"],["mysqlnd_qc_get_available_handlers","function.mysqlnd-qc-get-available-handlers","refentry"],["","function.mysqlnd-qc-get-cache-info","example"],["mysqlnd_qc_get_cache_info","function.mysqlnd-qc-get-cache-info","refentry"],["","function.mysqlnd-qc-get-core-stats","example"],["mysqlnd_qc_get_core_stats","function.mysqlnd-qc-get-core-stats","refentry"],["","function.mysqlnd-qc-get-normalized-query-trace-log","example"],["mysqlnd_qc_get_normalized_query_trace_log","function.mysqlnd-qc-get-normalized-query-trace-log","refentry"],["","function.mysqlnd-qc-get-query-trace-log","example"],["mysqlnd_qc_get_query_trace_log","function.mysqlnd-qc-get-query-trace-log","refentry"],["","function.mysqlnd-qc-set-cache-condition","example"],["mysqlnd_qc_set_cache_condition","function.mysqlnd-qc-set-cache-condition","refentry"],["","function.mysqlnd-qc-set-is-select","example"],["mysqlnd_qc_set_is_select","function.mysqlnd-qc-set-is-select","refentry"],["","function.mysqlnd-qc-set-storage-handler","example"],["mysqlnd_qc_set_storage_handler","function.mysqlnd-qc-set-storage-handler","refentry"],["mysqlnd_qc_set_user_handlers","function.mysqlnd-qc-set-user-handlers","refentry"],["","ref.mysqlnd-qc","reference"],["","mysqlnd-qc.changes-one-two","section"],["","mysqlnd-qc.changes-one-one","section"],["","mysqlnd-qc.changes-one-o","section"],["","mysqlnd-qc.changes","chapter"],["mysqlnd_qc","book.mysqlnd-qc","book"],["","intro.mysqlnd-uh","section"],["","intro.mysqlnd-uh","section"],["","intro.mysqlnd-uh","section"],["","intro.mysqlnd-uh","preface"],["","mysqlnd-uh.quickstart.configuration","example"],["","mysqlnd-uh.quickstart.configuration","section"],["","mysqlnd-uh.quickstart.how-it-works","example"],["","mysqlnd-uh.quickstart.how-it-works","example"],["","mysqlnd-uh.quickstart.how-it-works","section"],["","mysqlnd-uh.quickstart.proxy-installation","example"],["","mysqlnd-uh.quickstart.proxy-installation","example"],["","mysqlnd-uh.quickstart.proxy-installation","example"],["","mysqlnd-uh.quickstart.proxy-installation","example"],["","mysqlnd-uh.quickstart.proxy-installation","section"],["","mysqlnd-uh.quickstart.query-monitoring","example"],["","mysqlnd-uh.quickstart.query-monitoring","section"],["","mysqlnd-uh.quickstart","chapter"],["","mysqlnd-uh.requirements","section"],["","mysqlnd-uh.installation","section"],["","mysqlnd-uh.configuration","tbody"],["","mysqlnd-uh.configuration","varlistentry"],["","mysqlnd-uh.configuration","varlistentry"],["","mysqlnd-uh.configuration","section"],["","mysqlnd-uh.resources","section"],["","mysqlnd-uh.setup","chapter"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","varlistentry"],["","mysqlnd-uh.constants","appendix"],["","class.mysqlnduhconnection","section"],["","class.mysqlnduhconnection","section"],["","mysqlnduhconnection.changeuser","example"],["MysqlndUhConnection::changeUser","mysqlnduhconnection.changeuser","refentry"],["","mysqlnduhconnection.charsetname","example"],["MysqlndUhConnection::charsetName","mysqlnduhconnection.charsetname","refentry"],["","mysqlnduhconnection.close","example"],["MysqlndUhConnection::close","mysqlnduhconnection.close","refentry"],["","mysqlnduhconnection.connect","example"],["MysqlndUhConnection::connect","mysqlnduhconnection.connect","refentry"],["MysqlndUhConnection::__construct","mysqlnduhconnection.construct","refentry"],["","mysqlnduhconnection.endpsession","example"],["MysqlndUhConnection::endPSession","mysqlnduhconnection.endpsession","refentry"],["","mysqlnduhconnection.escapestring","example"],["MysqlndUhConnection::escapeString","mysqlnduhconnection.escapestring","refentry"],["","mysqlnduhconnection.getaffectedrows","example"],["MysqlndUhConnection::getAffectedRows","mysqlnduhconnection.getaffectedrows","refentry"],["","mysqlnduhconnection.geterrornumber","example"],["MysqlndUhConnection::getErrorNumber","mysqlnduhconnection.geterrornumber","refentry"],["","mysqlnduhconnection.geterrorstring","example"],["MysqlndUhConnection::getErrorString","mysqlnduhconnection.geterrorstring","refentry"],["","mysqlnduhconnection.getfieldcount","example"],["MysqlndUhConnection::getFieldCount","mysqlnduhconnection.getfieldcount","refentry"],["","mysqlnduhconnection.gethostinformation","example"],["MysqlndUhConnection::getHostInformation","mysqlnduhconnection.gethostinformation","refentry"],["","mysqlnduhconnection.getlastinsertid","example"],["MysqlndUhConnection::getLastInsertId","mysqlnduhconnection.getlastinsertid","refentry"],["","mysqlnduhconnection.getlastmessage","example"],["MysqlndUhConnection::getLastMessage","mysqlnduhconnection.getlastmessage","refentry"],["","mysqlnduhconnection.getprotocolinformation","example"],["MysqlndUhConnection::getProtocolInformation","mysqlnduhconnection.getprotocolinformation","refentry"],["","mysqlnduhconnection.getserverinformation","example"],["MysqlndUhConnection::getServerInformation","mysqlnduhconnection.getserverinformation","refentry"],["","mysqlnduhconnection.getserverstatistics","example"],["MysqlndUhConnection::getServerStatistics","mysqlnduhconnection.getserverstatistics","refentry"],["","mysqlnduhconnection.getserverversion","example"],["MysqlndUhConnection::getServerVersion","mysqlnduhconnection.getserverversion","refentry"],["","mysqlnduhconnection.getsqlstate","example"],["MysqlndUhConnection::getSqlstate","mysqlnduhconnection.getsqlstate","refentry"],["","mysqlnduhconnection.getstatistics","example"],["MysqlndUhConnection::getStatistics","mysqlnduhconnection.getstatistics","refentry"],["","mysqlnduhconnection.getthreadid","example"],["MysqlndUhConnection::getThreadId","mysqlnduhconnection.getthreadid","refentry"],["","mysqlnduhconnection.getwarningcount","example"],["MysqlndUhConnection::getWarningCount","mysqlnduhconnection.getwarningcount","refentry"],["","mysqlnduhconnection.init","example"],["MysqlndUhConnection::init","mysqlnduhconnection.init","refentry"],["","mysqlnduhconnection.killconnection","example"],["MysqlndUhConnection::killConnection","mysqlnduhconnection.killconnection","refentry"],["","mysqlnduhconnection.listfields","example"],["MysqlndUhConnection::listFields","mysqlnduhconnection.listfields","refentry"],["","mysqlnduhconnection.listmethod","example"],["MysqlndUhConnection::listMethod","mysqlnduhconnection.listmethod","refentry"],["","mysqlnduhconnection.moreresults","example"],["MysqlndUhConnection::moreResults","mysqlnduhconnection.moreresults","refentry"],["","mysqlnduhconnection.nextresult","example"],["MysqlndUhConnection::nextResult","mysqlnduhconnection.nextresult","refentry"],["","mysqlnduhconnection.ping","example"],["MysqlndUhConnection::ping","mysqlnduhconnection.ping","refentry"],["","mysqlnduhconnection.query","example"],["MysqlndUhConnection::query","mysqlnduhconnection.query","refentry"],["","mysqlnduhconnection.queryreadresultsetheader","example"],["MysqlndUhConnection::queryReadResultsetHeader","mysqlnduhconnection.queryreadresultsetheader","refentry"],["","mysqlnduhconnection.reapquery","example"],["MysqlndUhConnection::reapQuery","mysqlnduhconnection.reapquery","refentry"],["","mysqlnduhconnection.refreshserver","example"],["MysqlndUhConnection::refreshServer","mysqlnduhconnection.refreshserver","refentry"],["","mysqlnduhconnection.restartpsession","example"],["MysqlndUhConnection::restartPSession","mysqlnduhconnection.restartpsession","refentry"],["","mysqlnduhconnection.selectdb","example"],["MysqlndUhConnection::selectDb","mysqlnduhconnection.selectdb","refentry"],["","mysqlnduhconnection.sendclose","example"],["MysqlndUhConnection::sendClose","mysqlnduhconnection.sendclose","refentry"],["","mysqlnduhconnection.sendquery","example"],["MysqlndUhConnection::sendQuery","mysqlnduhconnection.sendquery","refentry"],["","mysqlnduhconnection.serverdumpdebuginformation","example"],["MysqlndUhConnection::serverDumpDebugInformation","mysqlnduhconnection.serverdumpdebuginformation","refentry"],["","mysqlnduhconnection.setautocommit","example"],["MysqlndUhConnection::setAutocommit","mysqlnduhconnection.setautocommit","refentry"],["","mysqlnduhconnection.setcharset","example"],["MysqlndUhConnection::setCharset","mysqlnduhconnection.setcharset","refentry"],["","mysqlnduhconnection.setclientoption","example"],["MysqlndUhConnection::setClientOption","mysqlnduhconnection.setclientoption","refentry"],["","mysqlnduhconnection.setserveroption","example"],["MysqlndUhConnection::setServerOption","mysqlnduhconnection.setserveroption","refentry"],["MysqlndUhConnection::shutdownServer","mysqlnduhconnection.shutdownserver","refentry"],["","mysqlnduhconnection.simplecommand","example"],["MysqlndUhConnection::simpleCommand","mysqlnduhconnection.simplecommand","refentry"],["","mysqlnduhconnection.simplecommandhandleresponse","example"],["MysqlndUhConnection::simpleCommandHandleResponse","mysqlnduhconnection.simplecommandhandleresponse","refentry"],["","mysqlnduhconnection.sslset","example"],["MysqlndUhConnection::sslSet","mysqlnduhconnection.sslset","refentry"],["","mysqlnduhconnection.stmtinit","example"],["MysqlndUhConnection::stmtInit","mysqlnduhconnection.stmtinit","refentry"],["","mysqlnduhconnection.storeresult","example"],["MysqlndUhConnection::storeResult","mysqlnduhconnection.storeresult","refentry"],["","mysqlnduhconnection.txcommit","example"],["MysqlndUhConnection::txCommit","mysqlnduhconnection.txcommit","refentry"],["","mysqlnduhconnection.txrollback","example"],["MysqlndUhConnection::txRollback","mysqlnduhconnection.txrollback","refentry"],["","mysqlnduhconnection.useresult","example"],["MysqlndUhConnection::useResult","mysqlnduhconnection.useresult","refentry"],["MysqlndUhConnection","class.mysqlnduhconnection","phpdoc:classref"],["","class.mysqlnduhpreparedstatement","section"],["","class.mysqlnduhpreparedstatement","section"],["MysqlndUhPreparedStatement::__construct","mysqlnduhpreparedstatement.construct","refentry"],["","mysqlnduhpreparedstatement.execute","example"],["MysqlndUhPreparedStatement::execute","mysqlnduhpreparedstatement.execute","refentry"],["","mysqlnduhpreparedstatement.prepare","example"],["MysqlndUhPreparedStatement::prepare","mysqlnduhpreparedstatement.prepare","refentry"],["MysqlndUhPreparedStatement","class.mysqlnduhpreparedstatement","phpdoc:classref"],["","function.mysqlnd-uh-convert-to-mysqlnd","example"],["mysqlnd_uh_convert_to_mysqlnd","function.mysqlnd-uh-convert-to-mysqlnd","refentry"],["","function.mysqlnd-uh-set-connection-proxy","example"],["mysqlnd_uh_set_connection_proxy","function.mysqlnd-uh-set-connection-proxy","refentry"],["mysqlnd_uh_set_statement_proxy","function.mysqlnd-uh-set-statement-proxy","refentry"],["","ref.mysqlnd-uh","reference"],["","mysqlnd-uh.changes-one-o","section"],["","mysqlnd-uh.changes","chapter"],["mysqlnd_uh","book.mysqlnd-uh","book"],["","intro.mysqlnd-mux","section"],["","intro.mysqlnd-mux","section"],["","intro.mysqlnd-mux","section"],["","intro.mysqlnd-mux","preface"],["","mysqlnd-mux.architecture","section"],["","mysqlnd-mux.connection_pool","section"],["","mysqlnd-mux.sharing_connections","section"],["","mysqlnd-mux.concepts","chapter"],["","mysqlnd-mux.requirements","section"],["","mysqlnd-mux.installation","section"],["","mysqlnd-mux.configuration","tbody"],["","mysqlnd-mux.configuration","varlistentry"],["","mysqlnd-mux.configuration","section"],["","mysqlnd-mux.setup","chapter"],["","mysqlnd-mux.constants","varlistentry"],["","mysqlnd-mux.constants","varlistentry"],["","mysqlnd-mux.constants","appendix"],["","mysqlnd-mux.changes-one-o","section"],["","mysqlnd-mux.changes","chapter"],["mysqlnd_mux","book.mysqlnd-mux","book"],["","intro.mysqlnd-memcache","section"],["","intro.mysqlnd-memcache","section"],["","intro.mysqlnd-memcache","section"],["","intro.mysqlnd-memcache","preface"],["","mysqlnd-memcache.quickstart.configuration","example"],["","mysqlnd-memcache.quickstart.configuration","example"],["","mysqlnd-memcache.quickstart.configuration","section"],["","mysqlnd-memcache.quickstart.usage","example"],["","mysqlnd-memcache.quickstart.usage","section"],["","mysqlnd-memcache.quickstart","chapter"],["","mysqlnd-memcache.requirements","section"],["","mysqlnd-memcache.installation","section"],["","mysqlnd-memcache.configuration","tbody"],["","mysqlnd-memcache.configuration","varlistentry"],["","mysqlnd-memcache.configuration","section"],["","mysqlnd-memcache.setup","chapter"],["","mysqlnd-memcache.constants","varlistentry"],["","mysqlnd-memcache.constants","varlistentry"],["","mysqlnd-memcache.constants","varlistentry"],["","mysqlnd-memcache.constants","appendix"],["","function.mysqlnd-memcache-get-config","example"],["mysqlnd_memcache_get_config","function.mysqlnd-memcache-get-config","refentry"],["","function.mysqlnd-memcache-set","example"],["mysqlnd_memcache_set","function.mysqlnd-memcache-set","refentry"],["","ref.mysqlnd-memcache","reference"],["","mysqlnd-memcache.changes-one-o","section"],["","mysqlnd-memcache.changes","chapter"],["mysqlnd_memcache","book.mysqlnd-memcache","book"],["MySQL","set.mysqlinfo","set"],["","intro.oci8","preface"],["","oci8.requirements","section"],["","oci8.installation","section"],["","oci8.installation","section"],["","oci8.test","section"],["","oci8.test","section"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","varlistentry"],["","oci8.configuration","section"],["","oci8.setup","chapter"],["","oci8.constants","appendix"],["","oci8.examples","example"],["","oci8.examples","example"],["","oci8.examples","example"],["","oci8.examples","example"],["","oci8.examples","example"],["","oci8.examples","example"],["","oci8.examples","chapter"],["","oci8.connection","chapter"],["","oci8.fan","chapter"],["","oci8.dtrace","example"],["","oci8.dtrace","chapter"],["","oci8.datatypes","chapter"],["","function.oci-bind-array-by-name","example"],["oci_bind_array_by_name","function.oci-bind-array-by-name","refentry"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["","function.oci-bind-by-name","example"],["oci_bind_by_name","function.oci-bind-by-name","refentry"],["oci_cancel","function.oci-cancel","refentry"],["","function.oci-client-version","example"],["oci_client_version","function.oci-client-version","refentry"],["","function.oci-close","example"],["","function.oci-close","example"],["","function.oci-close","example"],["","function.oci-close","example"],["oci_close","function.oci-close","refentry"],["","function.oci-commit","example"],["oci_commit","function.oci-commit","refentry"],["","function.oci-connect","example"],["","function.oci-connect","example"],["","function.oci-connect","example"],["","function.oci-connect","example"],["oci_connect","function.oci-connect","refentry"],["","function.oci-define-by-name","example"],["","function.oci-define-by-name","example"],["","function.oci-define-by-name","example"],["","function.oci-define-by-name","example"],["oci_define_by_name","function.oci-define-by-name","refentry"],["","function.oci-error","example"],["","function.oci-error","example"],["","function.oci-error","example"],["oci_error","function.oci-error","refentry"],["","function.oci-execute","example"],["","function.oci-execute","example"],["","function.oci-execute","example"],["","function.oci-execute","example"],["","function.oci-execute","example"],["oci_execute","function.oci-execute","refentry"],["","function.oci-fetch-all","example"],["","function.oci-fetch-all","example"],["","function.oci-fetch-all","example"],["oci_fetch_all","function.oci-fetch-all","refentry"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["","function.oci-fetch-array","example"],["oci_fetch_array","function.oci-fetch-array","refentry"],["oci_fetch_assoc","function.oci-fetch-assoc","refentry"],["","function.oci-fetch-object","example"],["","function.oci-fetch-object","example"],["","function.oci-fetch-object","example"],["oci_fetch_object","function.oci-fetch-object","refentry"],["oci_fetch_row","function.oci-fetch-row","refentry"],["","function.oci-fetch","example"],["","function.oci-fetch","example"],["oci_fetch","function.oci-fetch","refentry"],["oci_field_is_null","function.oci-field-is-null","refentry"],["","function.oci-field-name","example"],["oci_field_name","function.oci-field-name","refentry"],["oci_field_precision","function.oci-field-precision","refentry"],["oci_field_scale","function.oci-field-scale","refentry"],["","function.oci-field-size","example"],["oci_field_size","function.oci-field-size","refentry"],["oci_field_type_raw","function.oci-field-type-raw","refentry"],["","function.oci-field-type","example"],["oci_field_type","function.oci-field-type","refentry"],["oci_free_descriptor","function.oci-free-descriptor","refentry"],["oci_free_statement","function.oci-free-statement","refentry"],["","function.oci-get-implicit-resultset","example"],["","function.oci-get-implicit-resultset","example"],["","function.oci-get-implicit-resultset","example"],["","function.oci-get-implicit-resultset","example"],["oci_get_implicit_resultset","function.oci-get-implicit-resultset","refentry"],["oci_internal_debug","function.oci-internal-debug","refentry"],["oci_lob_copy","function.oci-lob-copy","refentry"],["oci_lob_is_equal","function.oci-lob-is-equal","refentry"],["oci_new_collection","function.oci-new-collection","refentry"],["","function.oci-new-connect","example"],["oci_new_connect","function.oci-new-connect","refentry"],["","function.oci-new-cursor","example"],["","function.oci-new-cursor","example"],["oci_new_cursor","function.oci-new-cursor","refentry"],["","function.oci-new-descriptor","example"],["","function.oci-new-descriptor","example"],["oci_new_descriptor","function.oci-new-descriptor","refentry"],["","function.oci-num-fields","example"],["oci_num_fields","function.oci-num-fields","refentry"],["","function.oci-num-rows","example"],["oci_num_rows","function.oci-num-rows","refentry"],["","function.oci-parse","example"],["","function.oci-parse","example"],["oci_parse","function.oci-parse","refentry"],["oci_password_change","function.oci-password-change","refentry"],["oci_pconnect","function.oci-pconnect","refentry"],["oci_result","function.oci-result","refentry"],["","function.oci-rollback","example"],["","function.oci-rollback","example"],["oci_rollback","function.oci-rollback","refentry"],["","function.oci-server-version","example"],["oci_server_version","function.oci-server-version","refentry"],["","function.oci-set-action","example"],["oci_set_action","function.oci-set-action","refentry"],["","function.oci-set-client-identifier","example"],["oci_set_client_identifier","function.oci-set-client-identifier","refentry"],["","function.oci-set-client-info","example"],["oci_set_client_info","function.oci-set-client-info","refentry"],["","function.oci-set-edition","example"],["oci_set_edition","function.oci-set-edition","refentry"],["","function.oci-set-module-name","example"],["oci_set_module_name","function.oci-set-module-name","refentry"],["","function.oci-set-prefetch","example"],["","function.oci-set-prefetch","example"],["","function.oci-set-prefetch","example"],["oci_set_prefetch","function.oci-set-prefetch","refentry"],["","function.oci-statement-type","example"],["oci_statement_type","function.oci-statement-type","refentry"],["","ref.oci8","reference"],["","class.OCI-Collection","section"],["","class.OCI-Collection","section"],["OCI-Collection::append","oci-collection.append","refentry"],["OCI-Collection::assign","oci-collection.assign","refentry"],["OCI-Collection::assignElem","oci-collection.assignelem","refentry"],["OCI-Collection::free","oci-collection.free","refentry"],["OCI-Collection::getElem","oci-collection.getelem","refentry"],["OCI-Collection::max","oci-collection.max","refentry"],["OCI-Collection::size","oci-collection.size","refentry"],["OCI-Collection::trim","oci-collection.trim","refentry"],["OCI-Collection","class.OCI-Collection","phpdoc:classref"],["","class.OCI-Lob","section"],["","class.OCI-Lob","section"],["OCI-Lob::append","oci-lob.append","refentry"],["OCI-Lob::close","oci-lob.close","refentry"],["OCI-Lob::eof","oci-lob.eof","refentry"],["OCI-Lob::erase","oci-lob.erase","refentry"],["OCI-Lob::export","oci-lob.export","refentry"],["OCI-Lob::flush","oci-lob.flush","refentry"],["OCI-Lob::free","oci-lob.free","refentry"],["OCI-Lob::getBuffering","oci-lob.getbuffering","refentry"],["OCI-Lob::import","oci-lob.import","refentry"],["OCI-Lob::load","oci-lob.load","refentry"],["OCI-Lob::read","oci-lob.read","refentry"],["OCI-Lob::rewind","oci-lob.rewind","refentry"],["OCI-Lob::save","oci-lob.save","refentry"],["OCI-Lob::saveFile","oci-lob.savefile","refentry"],["OCI-Lob::seek","oci-lob.seek","refentry"],["OCI-Lob::setBuffering","oci-lob.setbuffering","refentry"],["OCI-Lob::size","oci-lob.size","refentry"],["OCI-Lob::tell","oci-lob.tell","refentry"],["OCI-Lob::truncate","oci-lob.truncate","refentry"],["OCI-Lob::write","oci-lob.write","refentry"],["OCI-Lob::writeTemporary","oci-lob.writetemporary","refentry"],["OCI-Lob::writeToFile","oci-lob.writetofile","refentry"],["OCI-Lob","class.OCI-Lob","phpdoc:classref"],["ocibindbyname","function.ocibindbyname","refentry"],["ocicancel","function.ocicancel","refentry"],["ocicloselob","function.ocicloselob","refentry"],["ocicollappend","function.ocicollappend","refentry"],["ocicollassign","function.ocicollassign","refentry"],["ocicollassignelem","function.ocicollassignelem","refentry"],["ocicollgetelem","function.ocicollgetelem","refentry"],["ocicollmax","function.ocicollmax","refentry"],["ocicollsize","function.ocicollsize","refentry"],["ocicolltrim","function.ocicolltrim","refentry"],["ocicolumnisnull","function.ocicolumnisnull","refentry"],["ocicolumnname","function.ocicolumnname","refentry"],["ocicolumnprecision","function.ocicolumnprecision","refentry"],["ocicolumnscale","function.ocicolumnscale","refentry"],["ocicolumnsize","function.ocicolumnsize","refentry"],["ocicolumntype","function.ocicolumntype","refentry"],["ocicolumntyperaw","function.ocicolumntyperaw","refentry"],["ocicommit","function.ocicommit","refentry"],["ocidefinebyname","function.ocidefinebyname","refentry"],["ocierror","function.ocierror","refentry"],["ociexecute","function.ociexecute","refentry"],["ocifetch","function.ocifetch","refentry"],["ocifetchinto","function.ocifetchinto","refentry"],["ocifetchstatement","function.ocifetchstatement","refentry"],["ocifreecollection","function.ocifreecollection","refentry"],["ocifreecursor","function.ocifreecursor","refentry"],["ocifreedesc","function.ocifreedesc","refentry"],["ocifreestatement","function.ocifreestatement","refentry"],["ociinternaldebug","function.ociinternaldebug","refentry"],["ociloadlob","function.ociloadlob","refentry"],["ocilogoff","function.ocilogoff","refentry"],["ocilogon","function.ocilogon","refentry"],["ocinewcollection","function.ocinewcollection","refentry"],["ocinewcursor","function.ocinewcursor","refentry"],["ocinewdescriptor","function.ocinewdescriptor","refentry"],["ocinlogon","function.ocinlogon","refentry"],["ocinumcols","function.ocinumcols","refentry"],["ociparse","function.ociparse","refentry"],["ociplogon","function.ociplogon","refentry"],["ociresult","function.ociresult","refentry"],["ocirollback","function.ocirollback","refentry"],["ocirowcount","function.ocirowcount","refentry"],["ocisavelob","function.ocisavelob","refentry"],["ocisavelobfile","function.ocisavelobfile","refentry"],["ociserverversion","function.ociserverversion","refentry"],["ocisetprefetch","function.ocisetprefetch","refentry"],["ocistatementtype","function.ocistatementtype","refentry"],["ociwritelobtofile","function.ociwritelobtofile","refentry"],["ociwritetemporarylob","function.ociwritetemporarylob","refentry"],["","oldaliases.oci8","reference"],["OCI8","book.oci8","book"],["","intro.ovrimos","preface"],["","ovrimos.requirements","section"],["","ovrimos.installation","section"],["","ovrimos.configuration","section"],["","ovrimos.resources","section"],["","ovrimos.setup","chapter"],["","ovrimos.constants","appendix"],["","ovrimos.examples-basic","example"],["","ovrimos.examples-basic","section"],["","ovrimos.examples","chapter"],["ovrimos_close","function.ovrimos-close","refentry"],["ovrimos_commit","function.ovrimos-commit","refentry"],["","function.ovrimos-connect","example"],["ovrimos_connect","function.ovrimos-connect","refentry"],["ovrimos_cursor","function.ovrimos-cursor","refentry"],["ovrimos_exec","function.ovrimos-exec","refentry"],["ovrimos_execute","function.ovrimos-execute","refentry"],["","function.ovrimos-fetch-into","example"],["ovrimos_fetch_into","function.ovrimos-fetch-into","refentry"],["","function.ovrimos-fetch-row","example"],["ovrimos_fetch_row","function.ovrimos-fetch-row","refentry"],["ovrimos_field_len","function.ovrimos-field-len","refentry"],["ovrimos_field_name","function.ovrimos-field-name","refentry"],["ovrimos_field_num","function.ovrimos-field-num","refentry"],["ovrimos_field_type","function.ovrimos-field-type","refentry"],["ovrimos_free_result","function.ovrimos-free-result","refentry"],["ovrimos_longreadlen","function.ovrimos-longreadlen","refentry"],["ovrimos_num_fields","function.ovrimos-num-fields","refentry"],["ovrimos_num_rows","function.ovrimos-num-rows","refentry"],["","function.ovrimos-prepare","example"],["ovrimos_prepare","function.ovrimos-prepare","refentry"],["","function.ovrimos-result-all","example"],["","function.ovrimos-result-all","example"],["ovrimos_result_all","function.ovrimos-result-all","refentry"],["ovrimos_result","function.ovrimos-result","refentry"],["ovrimos_rollback","function.ovrimos-rollback","refentry"],["","ref.ovrimos","reference"],["","book.ovrimos","book"],["","intro.paradox","preface"],["","paradox.requirements","section"],["","paradox.installation","section"],["","paradox.configuration","section"],["","paradox.resources","section"],["","paradox.setup","chapter"],["","paradox.constants","table"],["","paradox.constants","table"],["","paradox.constants","appendix"],["","ref.paradox","table"],["","ref.paradox","section"],["px_close","function.px-close","refentry"],["","function.px-create-fp","example"],["px_create_fp","function.px-create-fp","refentry"],["","function.px-date2string","example"],["px_date2string","function.px-date2string","refentry"],["px_delete_record","function.px-delete-record","refentry"],["px_delete","function.px-delete","refentry"],["px_get_field","function.px-get-field","refentry"],["px_get_info","function.px-get-info","refentry"],["px_get_parameter","function.px-get-parameter","refentry"],["px_get_record","function.px-get-record","refentry"],["px_get_schema","function.px-get-schema","refentry"],["px_get_value","function.px-get-value","refentry"],["","function.px-insert-record","example"],["px_insert_record","function.px-insert-record","refentry"],["","function.px-new","example"],["","function.px-new","example"],["px_new","function.px-new","refentry"],["px_numfields","function.px-numfields","refentry"],["px_numrecords","function.px-numrecords","refentry"],["px_open_fp","function.px-open-fp","refentry"],["px_put_record","function.px-put-record","refentry"],["px_retrieve_record","function.px-retrieve-record","refentry"],["px_set_blob_file","function.px-set-blob-file","refentry"],["px_set_parameter","function.px-set-parameter","refentry"],["px_set_tablename","function.px-set-tablename","refentry"],["px_set_targetencoding","function.px-set-targetencoding","refentry"],["px_set_value","function.px-set-value","refentry"],["","function.px-timestamp2string","example"],["px_timestamp2string","function.px-timestamp2string","refentry"],["px_update_record","function.px-update-record","refentry"],["","ref.paradox","reference"],["Paradox","book.paradox","book"],["","intro.pgsql","preface"],["","pgsql.requirements","section"],["","pgsql.installation","section"],["","pgsql.configuration","varlistentry"],["","pgsql.configuration","varlistentry"],["","pgsql.configuration","varlistentry"],["","pgsql.configuration","varlistentry"],["","pgsql.configuration","varlistentry"],["","pgsql.configuration","varlistentry"],["","pgsql.configuration","section"],["","pgsql.resources","section"],["","pgsql.setup","chapter"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","varlistentry"],["","pgsql.constants","appendix"],["","pgsql.examples-basic","example"],["","pgsql.examples-basic","section"],["","pgsql.examples","chapter"],["","ref.pgsql","section"],["","function.pg-affected-rows","example"],["pg_affected_rows","function.pg-affected-rows","refentry"],["","function.pg-cancel-query","example"],["pg_cancel_query","function.pg-cancel-query","refentry"],["","function.pg-client-encoding","example"],["pg_client_encoding","function.pg-client-encoding","refentry"],["","function.pg-close","example"],["pg_close","function.pg-close","refentry"],["","function.pg-connect","example"],["pg_connect","function.pg-connect","refentry"],["","function.pg-connection-busy","example"],["pg_connection_busy","function.pg-connection-busy","refentry"],["","function.pg-connection-reset","example"],["pg_connection_reset","function.pg-connection-reset","refentry"],["","function.pg-connection-status","example"],["pg_connection_status","function.pg-connection-status","refentry"],["","function.pg-convert","example"],["pg_convert","function.pg-convert","refentry"],["","function.pg-copy-from","example"],["pg_copy_from","function.pg-copy-from","refentry"],["","function.pg-copy-to","example"],["pg_copy_to","function.pg-copy-to","refentry"],["","function.pg-dbname","example"],["pg_dbname","function.pg-dbname","refentry"],["","function.pg-delete","example"],["pg_delete","function.pg-delete","refentry"],["","function.pg-end-copy","example"],["pg_end_copy","function.pg-end-copy","refentry"],["","function.pg-escape-bytea","example"],["pg_escape_bytea","function.pg-escape-bytea","refentry"],["","function.pg-escape-identifier","example"],["pg_escape_identifier","function.pg-escape-identifier","refentry"],["","function.pg-escape-literal","example"],["pg_escape_literal","function.pg-escape-literal","refentry"],["","function.pg-escape-string","example"],["pg_escape_string","function.pg-escape-string","refentry"],["","function.pg-execute","example"],["pg_execute","function.pg-execute","refentry"],["","function.pg-fetch-all-columns","example"],["pg_fetch_all_columns","function.pg-fetch-all-columns","refentry"],["","function.pg-fetch-all","example"],["pg_fetch_all","function.pg-fetch-all","refentry"],["","function.pg-fetch-array","example"],["pg_fetch_array","function.pg-fetch-array","refentry"],["","function.pg-fetch-assoc","example"],["pg_fetch_assoc","function.pg-fetch-assoc","refentry"],["","function.pg-fetch-object","example"],["pg_fetch_object","function.pg-fetch-object","refentry"],["","function.pg-fetch-result","example"],["pg_fetch_result","function.pg-fetch-result","refentry"],["","function.pg-fetch-row","example"],["pg_fetch_row","function.pg-fetch-row","refentry"],["","function.pg-field-is-null","example"],["pg_field_is_null","function.pg-field-is-null","refentry"],["","function.pg-field-name","example"],["pg_field_name","function.pg-field-name","refentry"],["","function.pg-field-num","example"],["pg_field_num","function.pg-field-num","refentry"],["","function.pg-field-prtlen","example"],["pg_field_prtlen","function.pg-field-prtlen","refentry"],["","function.pg-field-size","example"],["pg_field_size","function.pg-field-size","refentry"],["","function.pg-field-table","example"],["pg_field_table","function.pg-field-table","refentry"],["","function.pg-field-type-oid","example"],["pg_field_type_oid","function.pg-field-type-oid","refentry"],["","function.pg-field-type","example"],["pg_field_type","function.pg-field-type","refentry"],["","function.pg-free-result","example"],["pg_free_result","function.pg-free-result","refentry"],["","function.pg-get-notify","example"],["pg_get_notify","function.pg-get-notify","refentry"],["","function.pg-get-pid","example"],["pg_get_pid","function.pg-get-pid","refentry"],["","function.pg-get-result","example"],["pg_get_result","function.pg-get-result","refentry"],["","function.pg-host","example"],["pg_host","function.pg-host","refentry"],["","function.pg-insert","example"],["pg_insert","function.pg-insert","refentry"],["","function.pg-last-error","example"],["pg_last_error","function.pg-last-error","refentry"],["","function.pg-last-notice","example"],["pg_last_notice","function.pg-last-notice","refentry"],["","function.pg-last-oid","example"],["pg_last_oid","function.pg-last-oid","refentry"],["","function.pg-lo-close","example"],["pg_lo_close","function.pg-lo-close","refentry"],["","function.pg-lo-create","example"],["pg_lo_create","function.pg-lo-create","refentry"],["","function.pg-lo-export","example"],["pg_lo_export","function.pg-lo-export","refentry"],["","function.pg-lo-import","example"],["pg_lo_import","function.pg-lo-import","refentry"],["","function.pg-lo-open","example"],["pg_lo_open","function.pg-lo-open","refentry"],["","function.pg-lo-read-all","example"],["pg_lo_read_all","function.pg-lo-read-all","refentry"],["","function.pg-lo-read","example"],["pg_lo_read","function.pg-lo-read","refentry"],["","function.pg-lo-seek","example"],["pg_lo_seek","function.pg-lo-seek","refentry"],["","function.pg-lo-tell","example"],["pg_lo_tell","function.pg-lo-tell","refentry"],["","function.pg-lo-unlink","example"],["pg_lo_unlink","function.pg-lo-unlink","refentry"],["","function.pg-lo-write","example"],["pg_lo_write","function.pg-lo-write","refentry"],["","function.pg-meta-data","example"],["pg_meta_data","function.pg-meta-data","refentry"],["","function.pg-num-fields","example"],["pg_num_fields","function.pg-num-fields","refentry"],["","function.pg-num-rows","example"],["pg_num_rows","function.pg-num-rows","refentry"],["","function.pg-options","example"],["pg_options","function.pg-options","refentry"],["","function.pg-parameter-status","example"],["pg_parameter_status","function.pg-parameter-status","refentry"],["","function.pg-pconnect","example"],["pg_pconnect","function.pg-pconnect","refentry"],["","function.pg-ping","example"],["pg_ping","function.pg-ping","refentry"],["","function.pg-port","example"],["pg_port","function.pg-port","refentry"],["","function.pg-prepare","example"],["pg_prepare","function.pg-prepare","refentry"],["","function.pg-put-line","example"],["pg_put_line","function.pg-put-line","refentry"],["","function.pg-query-params","example"],["pg_query_params","function.pg-query-params","refentry"],["","function.pg-query","example"],["","function.pg-query","example"],["pg_query","function.pg-query","refentry"],["","function.pg-result-error-field","example"],["pg_result_error_field","function.pg-result-error-field","refentry"],["","function.pg-result-error","example"],["pg_result_error","function.pg-result-error","refentry"],["","function.pg-result-seek","example"],["pg_result_seek","function.pg-result-seek","refentry"],["","function.pg-result-status","example"],["pg_result_status","function.pg-result-status","refentry"],["","function.pg-select","example"],["pg_select","function.pg-select","refentry"],["","function.pg-send-execute","example"],["pg_send_execute","function.pg-send-execute","refentry"],["","function.pg-send-prepare","example"],["pg_send_prepare","function.pg-send-prepare","refentry"],["","function.pg-send-query-params","example"],["pg_send_query_params","function.pg-send-query-params","refentry"],["","function.pg-send-query","example"],["pg_send_query","function.pg-send-query","refentry"],["","function.pg-set-client-encoding","example"],["pg_set_client_encoding","function.pg-set-client-encoding","refentry"],["","function.pg-set-error-verbosity","example"],["pg_set_error_verbosity","function.pg-set-error-verbosity","refentry"],["","function.pg-trace","example"],["pg_trace","function.pg-trace","refentry"],["","function.pg-transaction-status","example"],["pg_transaction_status","function.pg-transaction-status","refentry"],["","function.pg-tty","example"],["pg_tty","function.pg-tty","refentry"],["","function.pg-unescape-bytea","example"],["pg_unescape_bytea","function.pg-unescape-bytea","refentry"],["","function.pg-untrace","example"],["pg_untrace","function.pg-untrace","refentry"],["","function.pg-update","example"],["pg_update","function.pg-update","refentry"],["","function.pg-version","example"],["pg_version","function.pg-version","refentry"],["","ref.pgsql","reference"],["","book.pgsql","book"],["","intro.sqlite","preface"],["","sqlite.requirements","section"],["","sqlite.installation","section"],["","sqlite.configuration","varlistentry"],["","sqlite.configuration","section"],["","sqlite.resources","section"],["","sqlite.setup","chapter"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","varlistentry"],["","sqlite.constants","appendix"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","ref.sqlite","section"],["","function.sqlite-array-query","example"],["","function.sqlite-array-query","example"],["sqlite_array_query","function.sqlite-array-query","refentry"],["","function.sqlite-busy-timeout","example"],["","function.sqlite-busy-timeout","example"],["sqlite_busy_timeout","function.sqlite-busy-timeout","refentry"],["","function.sqlite-changes","example"],["","function.sqlite-changes","example"],["sqlite_changes","function.sqlite-changes","refentry"],["","function.sqlite-close","example"],["sqlite_close","function.sqlite-close","refentry"],["sqlite_column","function.sqlite-column","refentry"],["","function.sqlite-create-aggregate","example"],["sqlite_create_aggregate","function.sqlite-create-aggregate","refentry"],["","function.sqlite-create-function","example"],["","function.sqlite-create-function","example"],["sqlite_create_function","function.sqlite-create-function","refentry"],["sqlite_current","function.sqlite-current","refentry"],["sqlite_error_string","function.sqlite-error-string","refentry"],["sqlite_escape_string","function.sqlite-escape-string","refentry"],["","function.sqlite-exec","example"],["","function.sqlite-exec","example"],["sqlite_exec","function.sqlite-exec","refentry"],["","function.sqlite-factory","example"],["sqlite_factory","function.sqlite-factory","refentry"],["","function.sqlite-fetch-all","example"],["","function.sqlite-fetch-all","example"],["sqlite_fetch_all","function.sqlite-fetch-all","refentry"],["","function.sqlite-fetch-array","example"],["","function.sqlite-fetch-array","example"],["sqlite_fetch_array","function.sqlite-fetch-array","refentry"],["","function.sqlite-fetch-column-types","example"],["","function.sqlite-fetch-column-types","example"],["sqlite_fetch_column_types","function.sqlite-fetch-column-types","refentry"],["sqlite_fetch_object","function.sqlite-fetch-object","refentry"],["","function.sqlite-fetch-single","example"],["sqlite_fetch_single","function.sqlite-fetch-single","refentry"],["sqlite_fetch_string","function.sqlite-fetch-string","refentry"],["sqlite_field_name","function.sqlite-field-name","refentry"],["sqlite_has_more","function.sqlite-has-more","refentry"],["sqlite_has_prev","function.sqlite-has-prev","refentry"],["sqlite_key","function.sqlite-key","refentry"],["sqlite_last_error","function.sqlite-last-error","refentry"],["sqlite_last_insert_rowid","function.sqlite-last-insert-rowid","refentry"],["sqlite_libencoding","function.sqlite-libencoding","refentry"],["sqlite_libversion","function.sqlite-libversion","refentry"],["sqlite_next","function.sqlite-next","refentry"],["sqlite_num_fields","function.sqlite-num-fields","refentry"],["","function.sqlite-num-rows","example"],["","function.sqlite-num-rows","example"],["sqlite_num_rows","function.sqlite-num-rows","refentry"],["","function.sqlite-open","example"],["sqlite_open","function.sqlite-open","refentry"],["sqlite_popen","function.sqlite-popen","refentry"],["sqlite_prev","function.sqlite-prev","refentry"],["sqlite_query","function.sqlite-query","refentry"],["sqlite_rewind","function.sqlite-rewind","refentry"],["sqlite_seek","function.sqlite-seek","refentry"],["sqlite_single_query","function.sqlite-single-query","refentry"],["","function.sqlite-udf-decode-binary","example"],["sqlite_udf_decode_binary","function.sqlite-udf-decode-binary","refentry"],["sqlite_udf_encode_binary","function.sqlite-udf-encode-binary","refentry"],["sqlite_unbuffered_query","function.sqlite-unbuffered-query","refentry"],["sqlite_valid","function.sqlite-valid","refentry"],["","ref.sqlite","reference"],["","book.sqlite","book"],["","intro.sqlite3","preface"],["","sqlite3.requirements","section"],["","sqlite3.installation","section"],["","sqlite3.configuration","varlistentry"],["","sqlite3.configuration","section"],["","sqlite3.resources","section"],["","sqlite3.setup","chapter"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","varlistentry"],["","sqlite3.constants","appendix"],["","class.sqlite3","section"],["","class.sqlite3","section"],["SQLite3::busyTimeout","sqlite3.busytimeout","refentry"],["","sqlite3.changes","example"],["SQLite3::changes","sqlite3.changes","refentry"],["","sqlite3.close","example"],["SQLite3::close","sqlite3.close","refentry"],["","sqlite3.construct","example"],["SQLite3::__construct","sqlite3.construct","refentry"],["SQLite3::createAggregate","sqlite3.createaggregate","refentry"],["","sqlite3.createcollation","example"],["SQLite3::createCollation","sqlite3.createcollation","refentry"],["","sqlite3.createfunction","example"],["SQLite3::createFunction","sqlite3.createfunction","refentry"],["SQLite3::escapeString","sqlite3.escapestring","refentry"],["","sqlite3.exec","example"],["SQLite3::exec","sqlite3.exec","refentry"],["SQLite3::lastErrorCode","sqlite3.lasterrorcode","refentry"],["SQLite3::lastErrorMsg","sqlite3.lasterrormsg","refentry"],["SQLite3::lastInsertRowID","sqlite3.lastinsertrowid","refentry"],["","sqlite3.loadextension","example"],["SQLite3::loadExtension","sqlite3.loadextension","refentry"],["","sqlite3.open","example"],["SQLite3::open","sqlite3.open","refentry"],["","sqlite3.prepare","example"],["SQLite3::prepare","sqlite3.prepare","refentry"],["","sqlite3.query","example"],["SQLite3::query","sqlite3.query","refentry"],["","sqlite3.querysingle","example"],["SQLite3::querySingle","sqlite3.querysingle","refentry"],["","sqlite3.version","example"],["SQLite3::version","sqlite3.version","refentry"],["SQLite3","class.sqlite3","phpdoc:classref"],["","class.sqlite3stmt","section"],["","class.sqlite3stmt","section"],["SQLite3Stmt::bindParam","sqlite3stmt.bindparam","refentry"],["","sqlite3stmt.bindvalue","example"],["SQLite3Stmt::bindValue","sqlite3stmt.bindvalue","refentry"],["SQLite3Stmt::clear","sqlite3stmt.clear","refentry"],["SQLite3Stmt::close","sqlite3stmt.close","refentry"],["SQLite3Stmt::execute","sqlite3stmt.execute","refentry"],["SQLite3Stmt::paramCount","sqlite3stmt.paramcount","refentry"],["SQLite3Stmt::reset","sqlite3stmt.reset","refentry"],["SQLite3Stmt","class.sqlite3stmt","phpdoc:classref"],["","class.sqlite3result","section"],["","class.sqlite3result","section"],["SQLite3Result::columnName","sqlite3result.columnname","refentry"],["SQLite3Result::columnType","sqlite3result.columntype","refentry"],["SQLite3Result::fetchArray","sqlite3result.fetcharray","refentry"],["SQLite3Result::finalize","sqlite3result.finalize","refentry"],["SQLite3Result::numColumns","sqlite3result.numcolumns","refentry"],["SQLite3Result::reset","sqlite3result.reset","refentry"],["SQLite3Result","class.sqlite3result","phpdoc:classref"],["SQLite3","book.sqlite3","book"],["","intro.sqlsrv","preface"],["","sqlsrv.requirements","section"],["","sqlsrv.installation","section"],["","sqlsrv.configuration","section"],["","sqlsrv.resources","section"],["","sqlsrv.resources","section"],["","sqlsrv.resources","section"],["","sqlsrv.setup","chapter"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","varlistentry"],["","sqlsrv.constants","appendix"],["","function.sqlsrv-begin-transaction","example"],["sqlsrv_begin_transaction","function.sqlsrv-begin-transaction","refentry"],["","function.sqlsrv-cancel","example"],["sqlsrv_cancel","function.sqlsrv-cancel","refentry"],["","function.sqlsrv-client-info","example"],["sqlsrv_client_info","function.sqlsrv-client-info","refentry"],["","function.sqlsrv-close","example"],["sqlsrv_close","function.sqlsrv-close","refentry"],["","function.sqlsrv-commit","example"],["sqlsrv_commit","function.sqlsrv-commit","refentry"],["sqlsrv_configure","function.sqlsrv-configure","refentry"],["","function.sqlsrv-connect","example"],["","function.sqlsrv-connect","example"],["","function.sqlsrv-connect","example"],["sqlsrv_connect","function.sqlsrv-connect","refentry"],["","function.sqlsrv-errors","example"],["sqlsrv_errors","function.sqlsrv-errors","refentry"],["","function.sqlsrv-execute","example"],["sqlsrv_execute","function.sqlsrv-execute","refentry"],["","function.sqlsrv-fetch-array","example"],["","function.sqlsrv-fetch-array","example"],["sqlsrv_fetch_array","function.sqlsrv-fetch-array","refentry"],["","function.sqlsrv-fetch-object","example"],["sqlsrv_fetch_object","function.sqlsrv-fetch-object","refentry"],["","function.sqlsrv-fetch","example"],["sqlsrv_fetch","function.sqlsrv-fetch","refentry"],["","function.sqlsrv-field-metadata","example"],["sqlsrv_field_metadata","function.sqlsrv-field-metadata","refentry"],["","function.sqlsrv-free-stmt","example"],["sqlsrv_free_stmt","function.sqlsrv-free-stmt","refentry"],["sqlsrv_get_config","function.sqlsrv-get-config","refentry"],["","function.sqlsrv-get-field","example"],["sqlsrv_get_field","function.sqlsrv-get-field","refentry"],["","function.sqlsrv-has-rows","example"],["sqlsrv_has_rows","function.sqlsrv-has-rows","refentry"],["","function.sqlsrv-next-result","example"],["sqlsrv_next_result","function.sqlsrv-next-result","refentry"],["","function.sqlsrv-num-fields","example"],["sqlsrv_num_fields","function.sqlsrv-num-fields","refentry"],["","function.sqlsrv-num-rows","example"],["sqlsrv_num_rows","function.sqlsrv-num-rows","refentry"],["","function.sqlsrv-prepare","example"],["sqlsrv_prepare","function.sqlsrv-prepare","refentry"],["","function.sqlsrv-query","example"],["sqlsrv_query","function.sqlsrv-query","refentry"],["","function.sqlsrv-rollback","example"],["sqlsrv_rollback","function.sqlsrv-rollback","refentry"],["","function.sqlsrv-rows-affected","example"],["sqlsrv_rows_affected","function.sqlsrv-rows-affected","refentry"],["","function.sqlsrv-send-stream-data","example"],["sqlsrv_send_stream_data","function.sqlsrv-send-stream-data","refentry"],["","function.sqlsrv-server-info","example"],["sqlsrv_server_info","function.sqlsrv-server-info","refentry"],["","ref.sqlsrv","reference"],["SQLSRV","book.sqlsrv","book"],["","intro.sybase","preface"],["","sybase.requirements","section"],["","sybase.installation","section"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","varlistentry"],["","sybase.configuration","section"],["","sybase.resources","section"],["","sybase.setup","chapter"],["","sybase.constants","appendix"],["","function.sybase-affected-rows","example"],["sybase_affected_rows","function.sybase-affected-rows","refentry"],["sybase_close","function.sybase-close","refentry"],["","function.sybase-connect","example"],["sybase_connect","function.sybase-connect","refentry"],["sybase_data_seek","function.sybase-data-seek","refentry"],["sybase_deadlock_retry_count","function.sybase-deadlock-retry-count","refentry"],["","function.sybase-fetch-array","example"],["sybase_fetch_array","function.sybase-fetch-array","refentry"],["sybase_fetch_assoc","function.sybase-fetch-assoc","refentry"],["sybase_fetch_field","function.sybase-fetch-field","refentry"],["","function.sybase-fetch-object","example"],["sybase_fetch_object","function.sybase-fetch-object","refentry"],["sybase_fetch_row","function.sybase-fetch-row","refentry"],["sybase_field_seek","function.sybase-field-seek","refentry"],["sybase_free_result","function.sybase-free-result","refentry"],["sybase_get_last_message","function.sybase-get-last-message","refentry"],["sybase_min_client_severity","function.sybase-min-client-severity","refentry"],["sybase_min_error_severity","function.sybase-min-error-severity","refentry"],["sybase_min_message_severity","function.sybase-min-message-severity","refentry"],["sybase_min_server_severity","function.sybase-min-server-severity","refentry"],["sybase_num_fields","function.sybase-num-fields","refentry"],["sybase_num_rows","function.sybase-num-rows","refentry"],["sybase_pconnect","function.sybase-pconnect","refentry"],["sybase_query","function.sybase-query","refentry"],["sybase_result","function.sybase-result","refentry"],["sybase_select_db","function.sybase-select-db","refentry"],["","function.sybase-set-message-handler","example"],["","function.sybase-set-message-handler","example"],["","function.sybase-set-message-handler","example"],["sybase_set_message_handler","function.sybase-set-message-handler","refentry"],["","function.sybase-unbuffered-query","example"],["sybase_unbuffered_query","function.sybase-unbuffered-query","refentry"],["","ref.sybase","reference"],["","book.sybase","book"],["","intro.tokyo-tyrant","preface"],["","tokyo-tyrant.requirements","section"],["","tokyo-tyrant.installation","section"],["","tokyo-tyrant.installation","section"],["","tokyo-tyrant.installation","section"],["","tokyo-tyrant.installation","section"],["","tokyo-tyrant.installation","section"],["","tokyo-tyrant.installation","section"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","varlistentry"],["","tokyo-tyrant.configuration","section"],["","tokyo-tyrant.resources","section"],["","tokyo-tyrant.setup","chapter"],["","tokyo-tyrant.constants","appendix"],["","tokyo-tyrant.examples","example"],["","tokyo-tyrant.examples","chapter"],["","class.tokyotyrant","section"],["","class.tokyotyrant","section"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","varlistentry"],["","class.tokyotyrant","section"],["","class.tokyotyrant","section"],["","tokyotyrant.add","example"],["TokyoTyrant::add","tokyotyrant.add","refentry"],["","tokyotyrant.connect","example"],["TokyoTyrant::connect","tokyotyrant.connect","refentry"],["","tokyotyrant.connecturi","example"],["TokyoTyrant::connectUri","tokyotyrant.connecturi","refentry"],["TokyoTyrant::__construct","tokyotyrant.construct","refentry"],["","tokyotyrant.copy","example"],["TokyoTyrant::copy","tokyotyrant.copy","refentry"],["","tokyotyrant.ext","example"],["TokyoTyrant::ext","tokyotyrant.ext","refentry"],["","tokyotyrant.fwmkeys","example"],["TokyoTyrant::fwmKeys","tokyotyrant.fwmkeys","refentry"],["","tokyotyrant.get","example"],["TokyoTyrant::get","tokyotyrant.get","refentry"],["","tokyotyrant.getiterator","example"],["TokyoTyrant::getIterator","tokyotyrant.getiterator","refentry"],["","tokyotyrant.num","example"],["TokyoTyrant::num","tokyotyrant.num","refentry"],["","tokyotyrant.out","example"],["TokyoTyrant::out","tokyotyrant.out","refentry"],["","tokyotyrant.put","example"],["TokyoTyrant::put","tokyotyrant.put","refentry"],["","tokyotyrant.putcat","example"],["TokyoTyrant::putCat","tokyotyrant.putcat","refentry"],["","tokyotyrant.putkeep","example"],["TokyoTyrant::putKeep","tokyotyrant.putkeep","refentry"],["","tokyotyrant.putnr","example"],["TokyoTyrant::putNr","tokyotyrant.putnr","refentry"],["","tokyotyrant.putshl","example"],["TokyoTyrant::putShl","tokyotyrant.putshl","refentry"],["TokyoTyrant::restore","tokyotyrant.restore","refentry"],["","tokyotyrant.setmaster","example"],["TokyoTyrant::setMaster","tokyotyrant.setmaster","refentry"],["","tokyotyrant.size","example"],["TokyoTyrant::size","tokyotyrant.size","refentry"],["","tokyotyrant.stat","example"],["TokyoTyrant::stat","tokyotyrant.stat","refentry"],["TokyoTyrant::sync","tokyotyrant.sync","refentry"],["TokyoTyrant::tune","tokyotyrant.tune","refentry"],["","tokyotyrant.vanish","example"],["TokyoTyrant::vanish","tokyotyrant.vanish","refentry"],["TokyoTyrant","class.tokyotyrant","phpdoc:classref"],["","class.tokyotyranttable","section"],["","class.tokyotyranttable","section"],["TokyoTyrantTable::add","tokyotyranttable.add","refentry"],["","tokyotyranttable.genuid","example"],["TokyoTyrantTable::genUid","tokyotyranttable.genuid","refentry"],["","tokyotyranttable.get","example"],["TokyoTyrantTable::get","tokyotyranttable.get","refentry"],["","tokyotyranttable.getiterator","example"],["TokyoTyrantTable::getIterator","tokyotyranttable.getiterator","refentry"],["","tokyotyranttable.getquery","example"],["TokyoTyrantTable::getQuery","tokyotyranttable.getquery","refentry"],["","tokyotyranttable.out","example"],["TokyoTyrantTable::out","tokyotyranttable.out","refentry"],["","tokyotyranttable.put","example"],["TokyoTyrantTable::put","tokyotyranttable.put","refentry"],["","tokyotyranttable.putcat","example"],["TokyoTyrantTable::putCat","tokyotyranttable.putcat","refentry"],["","tokyotyranttable.putkeep","example"],["TokyoTyrantTable::putKeep","tokyotyranttable.putkeep","refentry"],["TokyoTyrantTable::putNr","tokyotyranttable.putnr","refentry"],["TokyoTyrantTable::putShl","tokyotyranttable.putshl","refentry"],["TokyoTyrantTable::setIndex","tokyotyranttable.setindex","refentry"],["TokyoTyrantTable","class.tokyotyranttable","phpdoc:classref"],["","class.tokyotyrantquery","section"],["","class.tokyotyrantquery","section"],["","tokyotyrantquery.addcond","example"],["TokyoTyrantQuery::addCond","tokyotyrantquery.addcond","refentry"],["","tokyotyrantquery.construct","example"],["TokyoTyrantQuery::__construct","tokyotyrantquery.construct","refentry"],["","tokyotyrantquery.count","example"],["TokyoTyrantQuery::count","tokyotyrantquery.count","refentry"],["","tokyotyrantquery.current","example"],["TokyoTyrantQuery::current","tokyotyrantquery.current","refentry"],["","tokyotyrantquery.hint","example"],["TokyoTyrantQuery::hint","tokyotyrantquery.hint","refentry"],["","tokyotyrantquery.key","example"],["TokyoTyrantQuery::key","tokyotyrantquery.key","refentry"],["","tokyotyrantquery.metasearch","example"],["TokyoTyrantQuery::metaSearch","tokyotyrantquery.metasearch","refentry"],["","tokyotyrantquery.next","example"],["TokyoTyrantQuery::next","tokyotyrantquery.next","refentry"],["","tokyotyrantquery.out","example"],["TokyoTyrantQuery::out","tokyotyrantquery.out","refentry"],["","tokyotyrantquery.rewind","example"],["TokyoTyrantQuery::rewind","tokyotyrantquery.rewind","refentry"],["","tokyotyrantquery.search","example"],["TokyoTyrantQuery::search","tokyotyrantquery.search","refentry"],["TokyoTyrantQuery::setLimit","tokyotyrantquery.setlimit","refentry"],["TokyoTyrantQuery::setOrder","tokyotyrantquery.setorder","refentry"],["","tokyotyrantquery.valid","example"],["TokyoTyrantQuery::valid","tokyotyrantquery.valid","refentry"],["TokyoTyrantQuery","class.tokyotyrantquery","phpdoc:classref"],["","class.tokyotyrantiterator","section"],["","class.tokyotyrantiterator","section"],["","tokyotyrantiterator.construct","example"],["TokyoTyrantIterator::__construct","tokyotyrantiterator.construct","refentry"],["TokyoTyrantIterator::current","tokyotyrantiterator.current","refentry"],["TokyoTyrantIterator::key","tokyotyrantiterator.key","refentry"],["TokyoTyrantIterator::next","tokyotyrantiterator.next","refentry"],["TokyoTyrantIterator::rewind","tokyotyrantiterator.rewind","refentry"],["TokyoTyrantIterator::valid","tokyotyrantiterator.valid","refentry"],["TokyoTyrantIterator","class.tokyotyrantiterator","phpdoc:classref"],["","class.tokyotyrantexception","section"],["","class.tokyotyrantexception","section"],["","class.tokyotyrantexception","varlistentry"],["","class.tokyotyrantexception","section"],["TokyoTyrantException","class.tokyotyrantexception","phpdoc:classref"],["tokyo_tyrant","book.tokyo-tyrant","book"],["","refs.database.vendors","set"],["","refs.database","set"],["","intro.calendar","preface"],["","calendar.requirements","section"],["","calendar.installation","section"],["","calendar.configuration","section"],["","calendar.resources","section"],["","calendar.setup","chapter"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","varlistentry"],["","calendar.constants","appendix"],["","function.cal-days-in-month","example"],["cal_days_in_month","function.cal-days-in-month","refentry"],["","function.cal-from-jd","example"],["cal_from_jd","function.cal-from-jd","refentry"],["","function.cal-info","example"],["cal_info","function.cal-info","refentry"],["cal_to_jd","function.cal-to-jd","refentry"],["","function.easter-date","example"],["easter_date","function.easter-date","refentry"],["","function.easter-days","example"],["easter_days","function.easter-days","refentry"],["FrenchToJD","function.frenchtojd","refentry"],["","function.gregoriantojd","example"],["GregorianToJD","function.gregoriantojd","refentry"],["JDDayOfWeek","function.jddayofweek","refentry"],["JDMonthName","function.jdmonthname","refentry"],["JDToFrench","function.jdtofrench","refentry"],["JDToGregorian","function.jdtogregorian","refentry"],["","function.jdtojewish","example"],["jdtojewish","function.jdtojewish","refentry"],["JDToJulian","function.jdtojulian","refentry"],["jdtounix","function.jdtounix","refentry"],["JewishToJD","function.jewishtojd","refentry"],["JulianToJD","function.juliantojd","refentry"],["unixtojd","function.unixtojd","refentry"],["","ref.calendar","reference"],["","book.calendar","book"],["","intro.datetime","preface"],["","datetime.requirements","section"],["","datetime.installation","section"],["","datetime.configuration","varlistentry"],["","datetime.configuration","varlistentry"],["","datetime.configuration","varlistentry"],["","datetime.configuration","varlistentry"],["","datetime.configuration","varlistentry"],["","datetime.configuration","section"],["","datetime.resources","section"],["","datetime.setup","chapter"],["","datetime.constants","varlistentry"],["","datetime.constants","varlistentry"],["","datetime.constants","varlistentry"],["","datetime.constants","appendix"],["","class.datetime","section"],["","class.datetime","section"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","varlistentry"],["","class.datetime","section"],["","class.datetime","section"],["","datetime.add","example"],["","datetime.add","example"],["","datetime.add","example"],["DateTime::add","datetime.add","refentry"],["","datetime.construct","example"],["","datetime.construct","example"],["DateTime::__construct","datetime.construct","refentry"],["","datetime.createfromformat","example"],["","datetime.createfromformat","example"],["DateTime::createFromFormat","datetime.createfromformat","refentry"],["","datetime.getlasterrors","example"],["DateTime::getLastErrors","datetime.getlasterrors","refentry"],["","datetime.modify","example"],["","datetime.modify","example"],["DateTime::modify","datetime.modify","refentry"],["DateTime::__set_state","datetime.set-state","refentry"],["","datetime.setdate","example"],["","datetime.setdate","example"],["DateTime::setDate","datetime.setdate","refentry"],["","datetime.setisodate","example"],["","datetime.setisodate","example"],["","datetime.setisodate","example"],["DateTime::setISODate","datetime.setisodate","refentry"],["","datetime.settime","example"],["","datetime.settime","example"],["DateTime::setTime","datetime.settime","refentry"],["","datetime.settimestamp","example"],["","datetime.settimestamp","example"],["DateTime::setTimestamp","datetime.settimestamp","refentry"],["","datetime.settimezone","example"],["DateTime::setTimezone","datetime.settimezone","refentry"],["","datetime.sub","example"],["","datetime.sub","example"],["","datetime.sub","example"],["DateTime::sub","datetime.sub","refentry"],["DateTime","class.datetime","phpdoc:classref"],["","class.datetimeimmutable","section"],["","class.datetimeimmutable","section"],["DateTimeImmutable::add","datetimeimmutable.add","refentry"],["DateTimeImmutable::__construct","datetimeimmutable.construct","refentry"],["DateTimeImmutable::createFromFormat","datetimeimmutable.createfromformat","refentry"],["DateTimeImmutable::getLastErrors","datetimeimmutable.getlasterrors","refentry"],["DateTimeImmutable::modify","datetimeimmutable.modify","refentry"],["DateTimeImmutable::__set_state","datetimeimmutable.set-state","refentry"],["DateTimeImmutable::setDate","datetimeimmutable.setdate","refentry"],["DateTimeImmutable::setISODate","datetimeimmutable.setisodate","refentry"],["DateTimeImmutable::setTime","datetimeimmutable.settime","refentry"],["DateTimeImmutable::setTimestamp","datetimeimmutable.settimestamp","refentry"],["DateTimeImmutable::setTimezone","datetimeimmutable.settimezone","refentry"],["DateTimeImmutable::sub","datetimeimmutable.sub","refentry"],["DateTimeImmutable","class.datetimeimmutable","phpdoc:classref"],["","class.datetimeinterface","section"],["","class.datetimeinterface","section"],["","datetime.diff","example"],["","datetime.diff","example"],["DateTime::diff","datetime.diff","refentry"],["","datetime.format","example"],["DateTime::format","datetime.format","refentry"],["","datetime.getoffset","example"],["DateTime::getOffset","datetime.getoffset","refentry"],["","datetime.gettimestamp","example"],["DateTime::getTimestamp","datetime.gettimestamp","refentry"],["","datetime.gettimezone","example"],["DateTime::getTimezone","datetime.gettimezone","refentry"],["DateTime::__wakeup","datetime.wakeup","refentry"],["DateTimeInterface","class.datetimeinterface","phpdoc:classref"],["","class.datetimezone","section"],["","class.datetimezone","section"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","varlistentry"],["","class.datetimezone","section"],["","datetimezone.construct","example"],["DateTimeZone::__construct","datetimezone.construct","refentry"],["","datetimezone.getlocation","example"],["DateTimeZone::getLocation","datetimezone.getlocation","refentry"],["DateTimeZone::getName","datetimezone.getname","refentry"],["","datetimezone.getoffset","example"],["DateTimeZone::getOffset","datetimezone.getoffset","refentry"],["","datetimezone.gettransitions","example"],["DateTimeZone::getTransitions","datetimezone.gettransitions","refentry"],["","datetimezone.listabbreviations","example"],["DateTimeZone::listAbbreviations","datetimezone.listabbreviations","refentry"],["","datetimezone.listidentifiers","example"],["DateTimeZone::listIdentifiers","datetimezone.listidentifiers","refentry"],["DateTimeZone","class.datetimezone","phpdoc:classref"],["","class.dateinterval","section"],["","class.dateinterval","section"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","varlistentry"],["","class.dateinterval","section"],["","dateinterval.construct","example"],["DateInterval::__construct","dateinterval.construct","refentry"],["","dateinterval.createfromdatestring","example"],["DateInterval::createFromDateString","dateinterval.createfromdatestring","refentry"],["","dateinterval.format","example"],["","dateinterval.format","example"],["","dateinterval.format","example"],["DateInterval::format","dateinterval.format","refentry"],["DateInterval","class.dateinterval","phpdoc:classref"],["","class.dateperiod","section"],["","class.dateperiod","section"],["","class.dateperiod","varlistentry"],["","class.dateperiod","section"],["","dateperiod.construct","example"],["","dateperiod.construct","example"],["DatePeriod::__construct","dateperiod.construct","refentry"],["DatePeriod","class.dateperiod","phpdoc:classref"],["","function.checkdate","example"],["checkdate","function.checkdate","refentry"],["date_add","function.date-add","refentry"],["date_create_from_format","function.date-create-from-format","refentry"],["date_create_immutable_from_format","function.date-create-immutable-from-format","refentry"],["date_create_immutable","function.date-create-immutable","refentry"],["date_create","function.date-create","refentry"],["date_date_set","function.date-date-set","refentry"],["","function.date-default-timezone-get","example"],["","function.date-default-timezone-get","example"],["date_default_timezone_get","function.date-default-timezone-get","refentry"],["","function.date-default-timezone-set","example"],["date_default_timezone_set","function.date-default-timezone-set","refentry"],["date_diff","function.date-diff","refentry"],["date_format","function.date-format","refentry"],["date_get_last_errors","function.date-get-last-errors","refentry"],["date_interval_create_from_date_string","function.date-interval-create-from-date-string","refentry"],["date_interval_format","function.date-interval-format","refentry"],["date_isodate_set","function.date-isodate-set","refentry"],["date_modify","function.date-modify","refentry"],["date_offset_get","function.date-offset-get","refentry"],["","function.date-parse-from-format","example"],["date_parse_from_format","function.date-parse-from-format","refentry"],["","function.date-parse","example"],["date_parse","function.date-parse","refentry"],["date_sub","function.date-sub","refentry"],["","function.date-sun-info","example"],["date_sun_info","function.date-sun-info","refentry"],["","function.date-sunrise","example"],["date_sunrise","function.date-sunrise","refentry"],["","function.date-sunset","example"],["date_sunset","function.date-sunset","refentry"],["date_time_set","function.date-time-set","refentry"],["date_timestamp_get","function.date-timestamp-get","refentry"],["date_timestamp_set","function.date-timestamp-set","refentry"],["date_timezone_get","function.date-timezone-get","refentry"],["date_timezone_set","function.date-timezone-set","refentry"],["","function.date","example"],["","function.date","example"],["","function.date","example"],["","function.date","example"],["date","function.date","refentry"],["","function.getdate","example"],["getdate","function.getdate","refentry"],["","function.gettimeofday","example"],["gettimeofday","function.gettimeofday","refentry"],["","function.gmdate","example"],["gmdate","function.gmdate","refentry"],["","function.gmmktime","example"],["gmmktime","function.gmmktime","refentry"],["","function.gmstrftime","example"],["gmstrftime","function.gmstrftime","refentry"],["","function.idate","example"],["idate","function.idate","refentry"],["","function.localtime","example"],["localtime","function.localtime","refentry"],["","function.microtime","example"],["","function.microtime","example"],["","function.microtime","example"],["microtime","function.microtime","refentry"],["","function.mktime","example"],["","function.mktime","example"],["","function.mktime","example"],["mktime","function.mktime","refentry"],["","function.strftime","example"],["","function.strftime","example"],["","function.strftime","example"],["","function.strftime","example"],["strftime","function.strftime","refentry"],["","function.strptime","example"],["strptime","function.strptime","refentry"],["","function.strtotime","example"],["","function.strtotime","example"],["strtotime","function.strtotime","refentry"],["","function.time","example"],["time","function.time","refentry"],["timezone_abbreviations_list","function.timezone-abbreviations-list","refentry"],["timezone_identifiers_list","function.timezone-identifiers-list","refentry"],["timezone_location_get","function.timezone-location-get","refentry"],["","function.timezone-name-from-abbr","example"],["timezone_name_from_abbr","function.timezone-name-from-abbr","refentry"],["timezone_name_get","function.timezone-name-get","refentry"],["timezone_offset_get","function.timezone-offset-get","refentry"],["timezone_open","function.timezone-open","refentry"],["timezone_transitions_get","function.timezone-transitions-get","refentry"],["","function.timezone-version-get","example"],["timezone_version_get","function.timezone-version-get","refentry"],["","ref.datetime","reference"],["","datetime.formats.time","section"],["","datetime.formats.date","section"],["","datetime.formats.compound","section"],["","datetime.formats.relative","section"],["","datetime.formats","chapter"],["","timezones.africa","sect1"],["","timezones.america","sect1"],["","timezones.antarctica","sect1"],["","timezones.arctic","sect1"],["","timezones.asia","sect1"],["","timezones.atlantic","sect1"],["","timezones.australia","sect1"],["","timezones.europe","sect1"],["","timezones.indian","sect1"],["","timezones.pacific","sect1"],["","timezones.others","sect1"],["","timezones","appendix"],["Date\/Time","book.datetime","book"],["","refs.calendar","set"],["","intro.dio","preface"],["","dio.requirements","section"],["","dio.installation","section"],["","dio.configuration","section"],["","dio.resources","section"],["","dio.setup","chapter"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","varlistentry"],["","dio.constants","appendix"],["","function.dio-close","example"],["dio_close","function.dio-close","refentry"],["","function.dio-fcntl","example"],["dio_fcntl","function.dio-fcntl","refentry"],["","function.dio-open","example"],["dio_open","function.dio-open","refentry"],["dio_read","function.dio-read","refentry"],["","function.dio-seek","example"],["dio_seek","function.dio-seek","refentry"],["dio_stat","function.dio-stat","refentry"],["","function.dio-tcsetattr","example"],["dio_tcsetattr","function.dio-tcsetattr","refentry"],["dio_truncate","function.dio-truncate","refentry"],["dio_write","function.dio-write","refentry"],["","ref.dio","reference"],["","book.dio","book"],["","dir.requirements","section"],["","dir.installation","section"],["","dir.configuration","section"],["","dir.resources","section"],["","dir.setup","chapter"],["","dir.constants","varlistentry"],["","dir.constants","varlistentry"],["","dir.constants","varlistentry"],["","dir.constants","varlistentry"],["","dir.constants","varlistentry"],["","dir.constants","appendix"],["","class.directory","section"],["","class.directory","section"],["","class.directory","varlistentry"],["","class.directory","varlistentry"],["","class.directory","section"],["Directory::close","directory.close","refentry"],["Directory::read","directory.read","refentry"],["Directory::rewind","directory.rewind","refentry"],["Directory","class.directory","phpdoc:classref"],["","function.chdir","example"],["chdir","function.chdir","refentry"],["","function.chroot","example"],["chroot","function.chroot","refentry"],["","function.closedir","example"],["closedir","function.closedir","refentry"],["","function.dir","example"],["dir","function.dir","refentry"],["","function.getcwd","example"],["getcwd","function.getcwd","refentry"],["","function.opendir","example"],["opendir","function.opendir","refentry"],["","function.readdir","example"],["","function.readdir","example"],["readdir","function.readdir","refentry"],["rewinddir","function.rewinddir","refentry"],["","function.scandir","example"],["","function.scandir","example"],["scandir","function.scandir","refentry"],["","ref.dir","reference"],["","book.dir","book"],["","intro.fileinfo","preface"],["","fileinfo.requirements","section"],["","fileinfo.installation","section"],["","fileinfo.configuration","section"],["","fileinfo.resources","section"],["","fileinfo.setup","chapter"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","varlistentry"],["","fileinfo.constants","appendix"],["","function.finfo-buffer","example"],["finfo_buffer","function.finfo-buffer","refentry"],["finfo_close","function.finfo-close","refentry"],["","function.finfo-file","example"],["finfo_file","function.finfo-file","refentry"],["","function.finfo-open","example"],["","function.finfo-open","example"],["finfo_open","function.finfo-open","refentry"],["finfo_set_flags","function.finfo-set-flags","refentry"],["","function.mime-content-type","example"],["mime_content_type","function.mime-content-type","refentry"],["","ref.fileinfo","reference"],["Fileinfo","book.fileinfo","book"],["","intro.filesystem","preface"],["","filesystem.requirements","section"],["","filesystem.installation","section"],["","filesystem.configuration","varlistentry"],["","filesystem.configuration","varlistentry"],["","filesystem.configuration","varlistentry"],["","filesystem.configuration","varlistentry"],["","filesystem.configuration","varlistentry"],["","filesystem.configuration","varlistentry"],["","filesystem.configuration","section"],["","filesystem.resources","section"],["","filesystem.setup","chapter"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","varlistentry"],["","filesystem.constants","appendix"],["","function.basename","example"],["basename","function.basename","refentry"],["","function.chgrp","example"],["chgrp","function.chgrp","refentry"],["chmod","function.chmod","refentry"],["","function.chown","example"],["chown","function.chown","refentry"],["","function.clearstatcache","example"],["clearstatcache","function.clearstatcache","refentry"],["","function.copy","example"],["copy","function.copy","refentry"],["delete","function.delete","refentry"],["","function.dirname","example"],["dirname","function.dirname","refentry"],["","function.disk-free-space","example"],["disk_free_space","function.disk-free-space","refentry"],["","function.disk-total-space","example"],["disk_total_space","function.disk-total-space","refentry"],["diskfreespace","function.diskfreespace","refentry"],["","function.fclose","example"],["fclose","function.fclose","refentry"],["","function.feof","example"],["","function.feof","example"],["feof","function.feof","refentry"],["","function.fflush","example"],["fflush","function.fflush","refentry"],["","function.fgetc","example"],["fgetc","function.fgetc","refentry"],["","function.fgetcsv","example"],["fgetcsv","function.fgetcsv","refentry"],["","function.fgets","example"],["fgets","function.fgets","refentry"],["","function.fgetss","example"],["fgetss","function.fgetss","refentry"],["","function.file-exists","example"],["file_exists","function.file-exists","refentry"],["","function.file-get-contents","example"],["","function.file-get-contents","example"],["","function.file-get-contents","example"],["","function.file-get-contents","example"],["file_get_contents","function.file-get-contents","refentry"],["","function.file-put-contents","example"],["","function.file-put-contents","example"],["file_put_contents","function.file-put-contents","refentry"],["","function.file","example"],["file","function.file","refentry"],["","function.fileatime","example"],["fileatime","function.fileatime","refentry"],["","function.filectime","example"],["filectime","function.filectime","refentry"],["","function.filegroup","example"],["filegroup","function.filegroup","refentry"],["","function.fileinode","example"],["fileinode","function.fileinode","refentry"],["","function.filemtime","example"],["filemtime","function.filemtime","refentry"],["","function.fileowner","example"],["fileowner","function.fileowner","refentry"],["","function.fileperms","example"],["","function.fileperms","example"],["fileperms","function.fileperms","refentry"],["","function.filesize","example"],["filesize","function.filesize","refentry"],["","function.filetype","example"],["filetype","function.filetype","refentry"],["","function.flock","example"],["","function.flock","example"],["flock","function.flock","refentry"],["","function.fnmatch","example"],["fnmatch","function.fnmatch","refentry"],["","function.fopen","example"],["fopen","function.fopen","refentry"],["","function.fpassthru","example"],["fpassthru","function.fpassthru","refentry"],["","function.fputcsv","example"],["fputcsv","function.fputcsv","refentry"],["fputs","function.fputs","refentry"],["","function.fread","example"],["","function.fread","example"],["","function.fread","example"],["fread","function.fread","refentry"],["","function.fscanf","example"],["","function.fscanf","example"],["fscanf","function.fscanf","refentry"],["","function.fseek","example"],["fseek","function.fseek","refentry"],["","function.fstat","example"],["fstat","function.fstat","refentry"],["","function.ftell","example"],["ftell","function.ftell","refentry"],["","function.ftruncate","example"],["ftruncate","function.ftruncate","refentry"],["","function.fwrite","example"],["fwrite","function.fwrite","refentry"],["","function.glob","example"],["glob","function.glob","refentry"],["","function.is-dir","example"],["is_dir","function.is-dir","refentry"],["","function.is-executable","example"],["is_executable","function.is-executable","refentry"],["","function.is-file","example"],["is_file","function.is-file","refentry"],["","function.is-link","example"],["is_link","function.is-link","refentry"],["","function.is-readable","example"],["is_readable","function.is-readable","refentry"],["","function.is-uploaded-file","example"],["is_uploaded_file","function.is-uploaded-file","refentry"],["","function.is-writable","example"],["is_writable","function.is-writable","refentry"],["is_writeable","function.is-writeable","refentry"],["","function.lchgrp","example"],["lchgrp","function.lchgrp","refentry"],["","function.lchown","example"],["lchown","function.lchown","refentry"],["","function.link","example"],["link","function.link","refentry"],["","function.linkinfo","example"],["linkinfo","function.linkinfo","refentry"],["","function.lstat","example"],["lstat","function.lstat","refentry"],["","function.mkdir","example"],["","function.mkdir","example"],["mkdir","function.mkdir","refentry"],["","function.move-uploaded-file","example"],["move_uploaded_file","function.move-uploaded-file","refentry"],["","function.parse-ini-file","example"],["","function.parse-ini-file","example"],["","function.parse-ini-file","example"],["parse_ini_file","function.parse-ini-file","refentry"],["parse_ini_string","function.parse-ini-string","refentry"],["","function.pathinfo","example"],["","function.pathinfo","example"],["pathinfo","function.pathinfo","refentry"],["","function.pclose","example"],["pclose","function.pclose","refentry"],["","function.popen","example"],["","function.popen","example"],["popen","function.popen","refentry"],["","function.readfile","example"],["readfile","function.readfile","refentry"],["","function.readlink","example"],["readlink","function.readlink","refentry"],["","function.realpath-cache-get","example"],["realpath_cache_get","function.realpath-cache-get","refentry"],["","function.realpath-cache-size","example"],["realpath_cache_size","function.realpath-cache-size","refentry"],["","function.realpath","example"],["","function.realpath","example"],["realpath","function.realpath","refentry"],["","function.rename","example"],["rename","function.rename","refentry"],["","function.rewind","example"],["rewind","function.rewind","refentry"],["","function.rmdir","example"],["rmdir","function.rmdir","refentry"],["set_file_buffer","function.set-file-buffer","refentry"],["","function.stat","example"],["","function.stat","example"],["stat","function.stat","refentry"],["","function.symlink","example"],["symlink","function.symlink","refentry"],["","function.tempnam","example"],["tempnam","function.tempnam","refentry"],["","function.tmpfile","example"],["tmpfile","function.tmpfile","refentry"],["","function.touch","example"],["","function.touch","example"],["touch","function.touch","refentry"],["","function.umask","example"],["umask","function.umask","refentry"],["","function.unlink","example"],["unlink","function.unlink","refentry"],["","ref.filesystem","reference"],["","book.filesystem","book"],["","intro.inotify","preface"],["","inotify.requirements","section"],["","inotify.install","section"],["","inotify.configuration","section"],["","inotify.resources","section"],["","inotify.setup","chapter"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","varlistentry"],["","inotify.constants","variablelist"],["","inotify.constants","appendix"],["inotify_add_watch","function.inotify-add-watch","refentry"],["","function.inotify-init","example"],["inotify_init","function.inotify-init","refentry"],["inotify_queue_len","function.inotify-queue-len","refentry"],["inotify_read","function.inotify-read","refentry"],["inotify_rm_watch","function.inotify-rm-watch","refentry"],["","ref.inotify","reference"],["","book.inotify","book"],["","intro.mime-magic","preface"],["","mime-magic.requirements","section"],["","mime-magic.installation","example"],["","mime-magic.installation","section"],["","mime-magic.configuration","varlistentry"],["","mime-magic.configuration","varlistentry"],["","mime-magic.configuration","section"],["","mime-magic.resources","section"],["","mime-magic.setup","chapter"],["","mime-magic.constants","appendix"],["","book.mime-magic","book"],["","intro.proctitle","preface"],["","proctitle.requirements","section"],["","proctitle.installation","section"],["","proctitle.configuration","section"],["","proctitle.resources","section"],["","proctitle.setup","chapter"],["","proctitle.constants","appendix"],["","function.setproctitle","example"],["setproctitle","function.setproctitle","refentry"],["","function.setthreadtitle","example"],["setthreadtitle","function.setthreadtitle","refentry"],["","ref.proctitle","reference"],["Proctitle","book.proctitle","book"],["","intro.xattr","preface"],["","xattr.requirements","section"],["","xattr.installation","section"],["","xattr.configuration","section"],["","xattr.resources","section"],["","xattr.setup","chapter"],["","xattr.constants","varlistentry"],["","xattr.constants","varlistentry"],["","xattr.constants","varlistentry"],["","xattr.constants","varlistentry"],["","xattr.constants","appendix"],["","function.xattr-get","example"],["xattr_get","function.xattr-get","refentry"],["","function.xattr-list","example"],["xattr_list","function.xattr-list","refentry"],["","function.xattr-remove","example"],["xattr_remove","function.xattr-remove","refentry"],["","function.xattr-set","example"],["xattr_set","function.xattr-set","refentry"],["","function.xattr-supported","example"],["xattr_supported","function.xattr-supported","refentry"],["","ref.xattr","reference"],["","book.xattr","book"],["","intro.xdiff","preface"],["","xdiff.requirements","section"],["","xdiff.installation","section"],["","xdiff.configuration","section"],["","xdiff.resources","section"],["","xdiff.setup","chapter"],["","xdiff.constants","varlistentry"],["","xdiff.constants","varlistentry"],["","xdiff.constants","appendix"],["","function.xdiff-file-bdiff-size","example"],["xdiff_file_bdiff_size","function.xdiff-file-bdiff-size","refentry"],["","function.xdiff-file-bdiff","example"],["xdiff_file_bdiff","function.xdiff-file-bdiff","refentry"],["","function.xdiff-file-bpatch","example"],["xdiff_file_bpatch","function.xdiff-file-bpatch","refentry"],["","function.xdiff-file-diff-binary","example"],["xdiff_file_diff_binary","function.xdiff-file-diff-binary","refentry"],["","function.xdiff-file-diff","example"],["xdiff_file_diff","function.xdiff-file-diff","refentry"],["","function.xdiff-file-merge3","example"],["xdiff_file_merge3","function.xdiff-file-merge3","refentry"],["","function.xdiff-file-patch-binary","example"],["xdiff_file_patch_binary","function.xdiff-file-patch-binary","refentry"],["","function.xdiff-file-patch","example"],["","function.xdiff-file-patch","example"],["xdiff_file_patch","function.xdiff-file-patch","refentry"],["","function.xdiff-file-rabdiff","example"],["xdiff_file_rabdiff","function.xdiff-file-rabdiff","refentry"],["","function.xdiff-string-bdiff-size","example"],["xdiff_string_bdiff_size","function.xdiff-string-bdiff-size","refentry"],["xdiff_string_bdiff","function.xdiff-string-bdiff","refentry"],["xdiff_string_bpatch","function.xdiff-string-bpatch","refentry"],["xdiff_string_diff_binary","function.xdiff-string-diff-binary","refentry"],["","function.xdiff-string-diff","example"],["xdiff_string_diff","function.xdiff-string-diff","refentry"],["xdiff_string_merge3","function.xdiff-string-merge3","refentry"],["xdiff_string_patch_binary","function.xdiff-string-patch-binary","refentry"],["","function.xdiff-string-patch","example"],["xdiff_string_patch","function.xdiff-string-patch","refentry"],["xdiff_string_rabdiff","function.xdiff-string-rabdiff","refentry"],["","ref.xdiff","reference"],["","book.xdiff","book"],["","refs.fileprocess.file","set"],["","intro.enchant","preface"],["","enchant.requirements","section"],["","enchant.installation","section"],["","enchant.configuration","section"],["","enchant.resources","section"],["","enchant.setup","chapter"],["","enchant.constants","appendix"],["","enchant.examples","example"],["","enchant.examples","appendix"],["","function.enchant-broker-describe","example"],["enchant_broker_describe","function.enchant-broker-describe","refentry"],["","function.enchant-broker-dict-exists","example"],["enchant_broker_dict_exists","function.enchant-broker-dict-exists","refentry"],["enchant_broker_free_dict","function.enchant-broker-free-dict","refentry"],["enchant_broker_free","function.enchant-broker-free","refentry"],["enchant_broker_get_error","function.enchant-broker-get-error","refentry"],["enchant_broker_init","function.enchant-broker-init","refentry"],["","function.enchant-broker-list-dicts","example"],["enchant_broker_list_dicts","function.enchant-broker-list-dicts","refentry"],["","function.enchant-broker-request-dict","example"],["enchant_broker_request_dict","function.enchant-broker-request-dict","refentry"],["enchant_broker_request_pwl_dict","function.enchant-broker-request-pwl-dict","refentry"],["enchant_broker_set_ordering","function.enchant-broker-set-ordering","refentry"],["enchant_dict_add_to_personal","function.enchant-dict-add-to-personal","refentry"],["enchant_dict_add_to_session","function.enchant-dict-add-to-session","refentry"],["enchant_dict_check","function.enchant-dict-check","refentry"],["","function.enchant-dict-describe","example"],["enchant_dict_describe","function.enchant-dict-describe","refentry"],["enchant_dict_get_error","function.enchant-dict-get-error","refentry"],["enchant_dict_is_in_session","function.enchant-dict-is-in-session","refentry"],["","function.enchant-dict-quick-check","example"],["enchant_dict_quick_check","function.enchant-dict-quick-check","refentry"],["enchant_dict_store_replacement","function.enchant-dict-store-replacement","refentry"],["","function.enchant-dict-suggest","example"],["enchant_dict_suggest","function.enchant-dict-suggest","refentry"],["","ref.enchant","reference"],["Enchant","book.enchant","book"],["","intro.fribidi","preface"],["","fribidi.requirements","section"],["","fribidi.installation","section"],["","fribidi.configuration","section"],["","fribidi.resources","section"],["","fribidi.setup","chapter"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","varlistentry"],["","fribidi.constants","appendix"],["fribidi_log2vis","function.fribidi-log2vis","refentry"],["","ref.fribidi","reference"],["","book.fribidi","book"],["","intro.gender","preface"],["","gender.installation","section"],["","gender.setup","chapter"],["","gender.example.admin","example"],["","gender.example.admin","section"],["","gender.examples","chapter"],["","class.gender","section"],["","class.gender","section"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","varlistentry"],["","class.gender","section"],["Gender\\Gender::connect","gender-gender.connect","refentry"],["Gender\\Gender::__construct","gender-gender.construct","refentry"],["","gender-gender.country","example"],["Gender\\Gender::country","gender-gender.country","refentry"],["Gender\\Gender::get","gender-gender.get","refentry"],["Gender\\Gender::isNick","gender-gender.isnick","refentry"],["Gender\\Gender::similarNames","gender-gender.similarnames","refentry"],["Gender\\Gender","class.gender","phpdoc:classref"],["Gender","book.gender","book"],["","intro.gettext","preface"],["","gettext.requirements","section"],["","gettext.installation","section"],["","gettext.configuration","section"],["","gettext.resources","section"],["","gettext.setup","chapter"],["","gettext.constants","appendix"],["bind_textdomain_codeset","function.bind-textdomain-codeset","refentry"],["","function.bindtextdomain","example"],["bindtextdomain","function.bindtextdomain","refentry"],["dcgettext","function.dcgettext","refentry"],["dcngettext","function.dcngettext","refentry"],["dgettext","function.dgettext","refentry"],["dngettext","function.dngettext","refentry"],["","function.gettext","example"],["gettext","function.gettext","refentry"],["","function.ngettext","example"],["ngettext","function.ngettext","refentry"],["textdomain","function.textdomain","refentry"],["","ref.gettext","reference"],["","book.gettext","book"],["","intro.iconv","preface"],["","iconv.requirements","section"],["","iconv.installation","section"],["","iconv.configuration","varlistentry"],["","iconv.configuration","varlistentry"],["","iconv.configuration","varlistentry"],["","iconv.configuration","section"],["","iconv.resources","section"],["","iconv.setup","chapter"],["","iconv.constants","appendix"],["","function.iconv-get-encoding","example"],["iconv_get_encoding","function.iconv-get-encoding","refentry"],["","function.iconv-mime-decode-headers","example"],["iconv_mime_decode_headers","function.iconv-mime-decode-headers","refentry"],["","function.iconv-mime-decode","example"],["iconv_mime_decode","function.iconv-mime-decode","refentry"],["","function.iconv-mime-encode","example"],["iconv_mime_encode","function.iconv-mime-encode","refentry"],["","function.iconv-set-encoding","example"],["iconv_set_encoding","function.iconv-set-encoding","refentry"],["iconv_strlen","function.iconv-strlen","refentry"],["iconv_strpos","function.iconv-strpos","refentry"],["iconv_strrpos","function.iconv-strrpos","refentry"],["iconv_substr","function.iconv-substr","refentry"],["","function.iconv","example"],["iconv","function.iconv","refentry"],["","function.ob-iconv-handler","example"],["ob_iconv_handler","function.ob-iconv-handler","refentry"],["","ref.iconv","reference"],["","book.iconv","book"],["","intro.intl","section"],["","intro.intl","preface"],["","intl.requirements","section"],["","intl.installation","section"],["","intl.configuration","varlistentry"],["","intl.configuration","varlistentry"],["","intl.configuration","varlistentry"],["","intl.configuration","section"],["","intl.resources","section"],["","intl.setup","chapter"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","varlistentry"],["","intl.constants","appendix"],["","intl.examples.basic","example"],["","intl.examples.basic","example"],["","intl.examples.basic","section"],["","intl.examples","chapter"],["","class.collator","section"],["","class.collator","section"],["","class.collator","example"],["","class.collator","varlistentry"],["","class.collator","example"],["","class.collator","varlistentry"],["","class.collator","example"],["","class.collator","varlistentry"],["","class.collator","example"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","varlistentry"],["","class.collator","section"],["","collator.asort","example"],["Collator::asort","collator.asort","refentry"],["","collator.compare","example"],["Collator::compare","collator.compare","refentry"],["","collator.construct","example"],["Collator::__construct","collator.construct","refentry"],["","collator.create","example"],["Collator::create","collator.create","refentry"],["","collator.getattribute","example"],["Collator::getAttribute","collator.getattribute","refentry"],["","collator.geterrorcode","example"],["Collator::getErrorCode","collator.geterrorcode","refentry"],["","collator.geterrormessage","example"],["Collator::getErrorMessage","collator.geterrormessage","refentry"],["","collator.getlocale","example"],["Collator::getLocale","collator.getlocale","refentry"],["","collator.getsortkey","example"],["Collator::getSortKey","collator.getsortkey","refentry"],["","collator.getstrength","example"],["Collator::getStrength","collator.getstrength","refentry"],["","collator.setattribute","example"],["Collator::setAttribute","collator.setattribute","refentry"],["","collator.setstrength","example"],["Collator::setStrength","collator.setstrength","refentry"],["","collator.sortwithsortkeys","example"],["Collator::sortWithSortKeys","collator.sortwithsortkeys","refentry"],["","collator.sort","example"],["Collator::sort","collator.sort","refentry"],["Collator","class.collator","phpdoc:classref"],["","class.numberformatter","section"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","varlistentry"],["","class.numberformatter","section"],["","class.numberformatter","section"],["","class.numberformatter","section"],["","numberformatter.create","example"],["","numberformatter.create","example"],["NumberFormatter::create","numberformatter.create","refentry"],["","numberformatter.formatcurrency","example"],["","numberformatter.formatcurrency","example"],["NumberFormatter::formatCurrency","numberformatter.formatcurrency","refentry"],["","numberformatter.format","example"],["","numberformatter.format","example"],["NumberFormatter::format","numberformatter.format","refentry"],["","numberformatter.getattribute","example"],["","numberformatter.getattribute","example"],["NumberFormatter::getAttribute","numberformatter.getattribute","refentry"],["","numberformatter.geterrorcode","example"],["","numberformatter.geterrorcode","example"],["NumberFormatter::getErrorCode","numberformatter.geterrorcode","refentry"],["","numberformatter.geterrormessage","example"],["","numberformatter.geterrormessage","example"],["NumberFormatter::getErrorMessage","numberformatter.geterrormessage","refentry"],["","numberformatter.getlocale","example"],["NumberFormatter::getLocale","numberformatter.getlocale","refentry"],["","numberformatter.getpattern","example"],["","numberformatter.getpattern","example"],["NumberFormatter::getPattern","numberformatter.getpattern","refentry"],["","numberformatter.getsymbol","example"],["","numberformatter.getsymbol","example"],["NumberFormatter::getSymbol","numberformatter.getsymbol","refentry"],["","numberformatter.gettextattribute","example"],["","numberformatter.gettextattribute","example"],["NumberFormatter::getTextAttribute","numberformatter.gettextattribute","refentry"],["","numberformatter.parsecurrency","example"],["","numberformatter.parsecurrency","example"],["NumberFormatter::parseCurrency","numberformatter.parsecurrency","refentry"],["","numberformatter.parse","example"],["","numberformatter.parse","example"],["NumberFormatter::parse","numberformatter.parse","refentry"],["","numberformatter.setattribute","example"],["","numberformatter.setattribute","example"],["NumberFormatter::setAttribute","numberformatter.setattribute","refentry"],["","numberformatter.setpattern","example"],["","numberformatter.setpattern","example"],["NumberFormatter::setPattern","numberformatter.setpattern","refentry"],["","numberformatter.setsymbol","example"],["","numberformatter.setsymbol","example"],["NumberFormatter::setSymbol","numberformatter.setsymbol","refentry"],["","numberformatter.settextattribute","example"],["","numberformatter.settextattribute","example"],["NumberFormatter::setTextAttribute","numberformatter.settextattribute","refentry"],["NumberFormatter","class.numberformatter","phpdoc:classref"],["","class.locale","section"],["","class.locale","section"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","varlistentry"],["","class.locale","section"],["","class.locale","section"],["","class.locale","section"],["","locale.acceptfromhttp","example"],["","locale.acceptfromhttp","example"],["Locale::acceptFromHttp","locale.acceptfromhttp","refentry"],["Locale::canonicalize","locale.canonicalize","refentry"],["","locale.composelocale","example"],["","locale.composelocale","example"],["Locale::composeLocale","locale.composelocale","refentry"],["","locale.filtermatches","example"],["","locale.filtermatches","example"],["Locale::filterMatches","locale.filtermatches","refentry"],["","locale.getallvariants","example"],["","locale.getallvariants","example"],["Locale::getAllVariants","locale.getallvariants","refentry"],["","locale.getdefault","example"],["","locale.getdefault","example"],["Locale::getDefault","locale.getdefault","refentry"],["","locale.getdisplaylanguage","example"],["","locale.getdisplaylanguage","example"],["Locale::getDisplayLanguage","locale.getdisplaylanguage","refentry"],["","locale.getdisplayname","example"],["","locale.getdisplayname","example"],["Locale::getDisplayName","locale.getdisplayname","refentry"],["","locale.getdisplayregion","example"],["","locale.getdisplayregion","example"],["Locale::getDisplayRegion","locale.getdisplayregion","refentry"],["","locale.getdisplayscript","example"],["","locale.getdisplayscript","example"],["Locale::getDisplayScript","locale.getdisplayscript","refentry"],["","locale.getdisplayvariant","example"],["","locale.getdisplayvariant","example"],["Locale::getDisplayVariant","locale.getdisplayvariant","refentry"],["","locale.getkeywords","example"],["","locale.getkeywords","example"],["Locale::getKeywords","locale.getkeywords","refentry"],["","locale.getprimarylanguage","example"],["","locale.getprimarylanguage","example"],["Locale::getPrimaryLanguage","locale.getprimarylanguage","refentry"],["","locale.getregion","example"],["","locale.getregion","example"],["Locale::getRegion","locale.getregion","refentry"],["","locale.getscript","example"],["","locale.getscript","example"],["Locale::getScript","locale.getscript","refentry"],["","locale.lookup","example"],["","locale.lookup","example"],["Locale::lookup","locale.lookup","refentry"],["","locale.parselocale","example"],["","locale.parselocale","example"],["Locale::parseLocale","locale.parselocale","refentry"],["","locale.setdefault","example"],["","locale.setdefault","example"],["Locale::setDefault","locale.setdefault","refentry"],["Locale","class.locale","phpdoc:classref"],["","class.normalizer","section"],["","class.normalizer","section"],["","class.normalizer","varlistentry"],["","class.normalizer","varlistentry"],["","class.normalizer","varlistentry"],["","class.normalizer","varlistentry"],["","class.normalizer","varlistentry"],["","class.normalizer","varlistentry"],["","class.normalizer","section"],["","class.normalizer","section"],["","normalizer.isnormalized","example"],["","normalizer.isnormalized","example"],["Normalizer::isNormalized","normalizer.isnormalized","refentry"],["","normalizer.normalize","example"],["","normalizer.normalize","example"],["Normalizer::normalize","normalizer.normalize","refentry"],["Normalizer","class.normalizer","phpdoc:classref"],["","class.messageformatter","section"],["","class.messageformatter","section"],["","class.messageformatter","section"],["","messageformatter.create","example"],["","messageformatter.create","example"],["MessageFormatter::create","messageformatter.create","refentry"],["","messageformatter.formatmessage","example"],["","messageformatter.formatmessage","example"],["MessageFormatter::formatMessage","messageformatter.formatmessage","refentry"],["","messageformatter.format","example"],["","messageformatter.format","example"],["MessageFormatter::format","messageformatter.format","refentry"],["","messageformatter.geterrorcode","example"],["","messageformatter.geterrorcode","example"],["MessageFormatter::getErrorCode","messageformatter.geterrorcode","refentry"],["","messageformatter.geterrormessage","example"],["","messageformatter.geterrormessage","example"],["MessageFormatter::getErrorMessage","messageformatter.geterrormessage","refentry"],["","messageformatter.getlocale","example"],["","messageformatter.getlocale","example"],["MessageFormatter::getLocale","messageformatter.getlocale","refentry"],["","messageformatter.getpattern","example"],["","messageformatter.getpattern","example"],["MessageFormatter::getPattern","messageformatter.getpattern","refentry"],["","messageformatter.parsemessage","example"],["","messageformatter.parsemessage","example"],["MessageFormatter::parseMessage","messageformatter.parsemessage","refentry"],["","messageformatter.parse","example"],["","messageformatter.parse","example"],["MessageFormatter::parse","messageformatter.parse","refentry"],["","messageformatter.setpattern","example"],["","messageformatter.setpattern","example"],["MessageFormatter::setPattern","messageformatter.setpattern","refentry"],["MessageFormatter","class.messageformatter","phpdoc:classref"],["","class.intlcalendar","section"],["","class.intlcalendar","section"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","varlistentry"],["","class.intlcalendar","section"],["","intlcalendar.add","example"],["IntlCalendar::add","intlcalendar.add","refentry"],["","intlcalendar.after","example"],["IntlCalendar::after","intlcalendar.after","refentry"],["IntlCalendar::before","intlcalendar.before","refentry"],["","intlcalendar.clear","example"],["IntlCalendar::clear","intlcalendar.clear","refentry"],["IntlCalendar::__construct","intlcalendar.construct","refentry"],["","intlcalendar.createinstance","example"],["IntlCalendar::createInstance","intlcalendar.createinstance","refentry"],["","intlcalendar.equals","example"],["IntlCalendar::equals","intlcalendar.equals","refentry"],["","intlcalendar.fielddifference","example"],["IntlCalendar::fieldDifference","intlcalendar.fielddifference","refentry"],["","intlcalendar.fromdatetime","example"],["IntlCalendar::fromDateTime","intlcalendar.fromdatetime","refentry"],["","intlcalendar.get","example"],["IntlCalendar::get","intlcalendar.get","refentry"],["","intlcalendar.getactualmaximum","example"],["IntlCalendar::getActualMaximum","intlcalendar.getactualmaximum","refentry"],["IntlCalendar::getActualMinimum","intlcalendar.getactualminimum","refentry"],["","intlcalendar.getavailablelocales","example"],["IntlCalendar::getAvailableLocales","intlcalendar.getavailablelocales","refentry"],["","intlcalendar.getdayofweektype","example"],["IntlCalendar::getDayOfWeekType","intlcalendar.getdayofweektype","refentry"],["","intlcalendar.geterrorcode","example"],["IntlCalendar::getErrorCode","intlcalendar.geterrorcode","refentry"],["","intlcalendar.geterrormessage","example"],["IntlCalendar::getErrorMessage","intlcalendar.geterrormessage","refentry"],["","intlcalendar.getfirstdayofweek","example"],["IntlCalendar::getFirstDayOfWeek","intlcalendar.getfirstdayofweek","refentry"],["IntlCalendar::getGreatestMinimum","intlcalendar.getgreatestminimum","refentry"],["","intlcalendar.getkeywordvaluesforlocale","example"],["IntlCalendar::getKeywordValuesForLocale","intlcalendar.getkeywordvaluesforlocale","refentry"],["","intlcalendar.getleastmaximum","example"],["IntlCalendar::getLeastMaximum","intlcalendar.getleastmaximum","refentry"],["","intlcalendar.getlocale","example"],["IntlCalendar::getLocale","intlcalendar.getlocale","refentry"],["IntlCalendar::getMaximum","intlcalendar.getmaximum","refentry"],["","intlcalendar.getminimaldaysinfirstweek","example"],["IntlCalendar::getMinimalDaysInFirstWeek","intlcalendar.getminimaldaysinfirstweek","refentry"],["IntlCalendar::getMinimum","intlcalendar.getminimum","refentry"],["","intlcalendar.getnow","example"],["IntlCalendar::getNow","intlcalendar.getnow","refentry"],["","intlcalendar.getrepeatedwalltimeoption","example"],["IntlCalendar::getRepeatedWallTimeOption","intlcalendar.getrepeatedwalltimeoption","refentry"],["","intlcalendar.getskippedwalltimeoption","example"],["IntlCalendar::getSkippedWallTimeOption","intlcalendar.getskippedwalltimeoption","refentry"],["","intlcalendar.gettime","example"],["IntlCalendar::getTime","intlcalendar.gettime","refentry"],["","intlcalendar.gettimezone","example"],["IntlCalendar::getTimeZone","intlcalendar.gettimezone","refentry"],["","intlcalendar.gettype","example"],["IntlCalendar::getType","intlcalendar.gettype","refentry"],["IntlCalendar::getWeekendTransition","intlcalendar.getweekendtransition","refentry"],["","intlcalendar.indaylighttime","example"],["IntlCalendar::inDaylightTime","intlcalendar.indaylighttime","refentry"],["","intlcalendar.isequivalentto","example"],["IntlCalendar::isEquivalentTo","intlcalendar.isequivalentto","refentry"],["","intlcalendar.islenient","example"],["IntlCalendar::isLenient","intlcalendar.islenient","refentry"],["IntlCalendar::isSet","intlcalendar.isset","refentry"],["","intlcalendar.isweekend","example"],["IntlCalendar::isWeekend","intlcalendar.isweekend","refentry"],["","intlcalendar.roll","example"],["IntlCalendar::roll","intlcalendar.roll","refentry"],["","intlcalendar.set","example"],["IntlCalendar::set","intlcalendar.set","refentry"],["","intlcalendar.setfirstdayofweek","example"],["IntlCalendar::setFirstDayOfWeek","intlcalendar.setfirstdayofweek","refentry"],["IntlCalendar::setLenient","intlcalendar.setlenient","refentry"],["IntlCalendar::setRepeatedWallTimeOption","intlcalendar.setrepeatedwalltimeoption","refentry"],["IntlCalendar::setSkippedWallTimeOption","intlcalendar.setskippedwalltimeoption","refentry"],["","intlcalendar.settime","example"],["IntlCalendar::setTime","intlcalendar.settime","refentry"],["","intlcalendar.settimezone","example"],["IntlCalendar::setTimeZone","intlcalendar.settimezone","refentry"],["","intlcalendar.todatetime","example"],["IntlCalendar::toDateTime","intlcalendar.todatetime","refentry"],["IntlCalendar","class.intlcalendar","phpdoc:classref"],["","class.intltimezone","section"],["","class.intltimezone","section"],["","class.intltimezone","varlistentry"],["","class.intltimezone","varlistentry"],["","class.intltimezone","section"],["IntlTimeZone::countEquivalentIDs","intltimezone.countequivalentids","refentry"],["IntlTimeZone::createDefault","intltimezone.createdefault","refentry"],["IntlTimeZone::createEnumeration","intltimezone.createenumeration","refentry"],["IntlTimeZone::createTimeZone","intltimezone.createtimezone","refentry"],["IntlTimeZone::fromDateTimeZone","intltimezone.fromdatetimezone","refentry"],["IntlTimeZone::getCanonicalID","intltimezone.getcanonicalid","refentry"],["IntlTimeZone::getDisplayName","intltimezone.getdisplayname","refentry"],["IntlTimeZone::getDSTSavings","intltimezone.getdstsavings","refentry"],["IntlTimeZone::getEquivalentID","intltimezone.getequivalentid","refentry"],["IntlTimeZone::getErrorCode","intltimezone.geterrorcode","refentry"],["IntlTimeZone::getErrorMessage","intltimezone.geterrormessage","refentry"],["IntlTimeZone::getGMT","intltimezone.getgmt","refentry"],["IntlTimeZone::getID","intltimezone.getid","refentry"],["IntlTimeZone::getOffset","intltimezone.getoffset","refentry"],["IntlTimeZone::getRawOffset","intltimezone.getrawoffset","refentry"],["IntlTimeZone::getTZDataVersion","intltimezone.gettzdataversion","refentry"],["IntlTimeZone::hasSameRules","intltimezone.hassamerules","refentry"],["IntlTimeZone::toDateTimeZone","intltimezone.todatetimezone","refentry"],["IntlTimeZone::useDaylightTime","intltimezone.usedaylighttime","refentry"],["IntlTimeZone","class.intltimezone","phpdoc:classref"],["","class.intldateformatter","section"],["","class.intldateformatter","section"],["","class.intldateformatter","section"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","varlistentry"],["","class.intldateformatter","para"],["","class.intldateformatter","section"],["","intldateformatter.create","example"],["","intldateformatter.create","example"],["IntlDateFormatter::create","intldateformatter.create","refentry"],["","intldateformatter.format","example"],["","intldateformatter.format","example"],["","intldateformatter.format","example"],["IntlDateFormatter::format","intldateformatter.format","refentry"],["","intldateformatter.formatobject","example"],["IntlDateFormatter::formatObject","intldateformatter.formatobject","refentry"],["","intldateformatter.getcalendar","example"],["","intldateformatter.getcalendar","example"],["IntlDateFormatter::getCalendar","intldateformatter.getcalendar","refentry"],["","intldateformatter.getdatetype","example"],["","intldateformatter.getdatetype","example"],["IntlDateFormatter::getDateType","intldateformatter.getdatetype","refentry"],["","intldateformatter.geterrorcode","example"],["","intldateformatter.geterrorcode","example"],["IntlDateFormatter::getErrorCode","intldateformatter.geterrorcode","refentry"],["","intldateformatter.geterrormessage","example"],["","intldateformatter.geterrormessage","example"],["IntlDateFormatter::getErrorMessage","intldateformatter.geterrormessage","refentry"],["","intldateformatter.getlocale","example"],["","intldateformatter.getlocale","example"],["IntlDateFormatter::getLocale","intldateformatter.getlocale","refentry"],["","intldateformatter.getpattern","example"],["","intldateformatter.getpattern","example"],["IntlDateFormatter::getPattern","intldateformatter.getpattern","refentry"],["","intldateformatter.gettimetype","example"],["","intldateformatter.gettimetype","example"],["IntlDateFormatter::getTimeType","intldateformatter.gettimetype","refentry"],["","intldateformatter.gettimezoneid","example"],["","intldateformatter.gettimezoneid","example"],["IntlDateFormatter::getTimeZoneId","intldateformatter.gettimezoneid","refentry"],["","intldateformatter.getcalendarobject","example"],["IntlDateFormatter::getCalendarObject","intldateformatter.getcalendarobject","refentry"],["","intldateformatter.gettimezone","example"],["IntlDateFormatter::getTimeZone","intldateformatter.gettimezone","refentry"],["","intldateformatter.islenient","example"],["","intldateformatter.islenient","example"],["IntlDateFormatter::isLenient","intldateformatter.islenient","refentry"],["","intldateformatter.localtime","example"],["","intldateformatter.localtime","example"],["IntlDateFormatter::localtime","intldateformatter.localtime","refentry"],["","intldateformatter.parse","example"],["","intldateformatter.parse","example"],["IntlDateFormatter::parse","intldateformatter.parse","refentry"],["","intldateformatter.setcalendar","example"],["","intldateformatter.setcalendar","example"],["","intldateformatter.setcalendar","example"],["IntlDateFormatter::setCalendar","intldateformatter.setcalendar","refentry"],["","intldateformatter.setlenient","example"],["","intldateformatter.setlenient","example"],["IntlDateFormatter::setLenient","intldateformatter.setlenient","refentry"],["","intldateformatter.setpattern","example"],["","intldateformatter.setpattern","example"],["IntlDateFormatter::setPattern","intldateformatter.setpattern","refentry"],["","intldateformatter.settimezoneid","example"],["","intldateformatter.settimezoneid","example"],["IntlDateFormatter::setTimeZoneId","intldateformatter.settimezoneid","refentry"],["","intldateformatter.settimezone","example"],["IntlDateFormatter::setTimeZone","intldateformatter.settimezone","refentry"],["IntlDateFormatter","class.intldateformatter","phpdoc:classref"],["","class.resourcebundle","section"],["","class.resourcebundle","section"],["","class.resourcebundle","section"],["","resourcebundle.count","example"],["","resourcebundle.count","example"],["ResourceBundle::count","resourcebundle.count","refentry"],["","resourcebundle.create","example"],["","resourcebundle.create","example"],["ResourceBundle::create","resourcebundle.create","refentry"],["","resourcebundle.geterrorcode","example"],["","resourcebundle.geterrorcode","example"],["ResourceBundle::getErrorCode","resourcebundle.geterrorcode","refentry"],["","resourcebundle.geterrormessage","example"],["","resourcebundle.geterrormessage","example"],["ResourceBundle::getErrorMessage","resourcebundle.geterrormessage","refentry"],["","resourcebundle.get","example"],["","resourcebundle.get","example"],["ResourceBundle::get","resourcebundle.get","refentry"],["","resourcebundle.locales","example"],["","resourcebundle.locales","example"],["ResourceBundle::getLocales","resourcebundle.locales","refentry"],["ResourceBundle","class.resourcebundle","phpdoc:classref"],["","class.spoofchecker","section"],["","class.spoofchecker","section"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","varlistentry"],["","class.spoofchecker","section"],["Spoofchecker::areConfusable","spoofchecker.areconfusable","refentry"],["Spoofchecker::__construct","spoofchecker.construct","refentry"],["Spoofchecker::isSuspicious","spoofchecker.issuspicious","refentry"],["Spoofchecker::setAllowedLocales","spoofchecker.setallowedlocales","refentry"],["Spoofchecker::setChecks","spoofchecker.setchecks","refentry"],["Spoofchecker","class.spoofchecker","phpdoc:classref"],["","class.transliterator","section"],["","class.transliterator","section"],["","class.transliterator","varlistentry"],["","class.transliterator","section"],["","class.transliterator","varlistentry"],["","class.transliterator","varlistentry"],["","class.transliterator","section"],["Transliterator::__construct","transliterator.construct","refentry"],["Transliterator::create","transliterator.create","refentry"],["Transliterator::createFromRules","transliterator.createfromrules","refentry"],["Transliterator::createInverse","transliterator.createinverse","refentry"],["Transliterator::getErrorCode","transliterator.geterrorcode","refentry"],["Transliterator::getErrorMessage","transliterator.geterrormessage","refentry"],["Transliterator::listIDs","transliterator.listids","refentry"],["","transliterator.transliterate","example"],["Transliterator::transliterate","transliterator.transliterate","refentry"],["Transliterator","class.transliterator","phpdoc:classref"],["","class.intlbreakiterator","section"],["","class.intlbreakiterator","section"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","varlistentry"],["","class.intlbreakiterator","section"],["IntlBreakIterator::__construct","intlbreakiterator.construct","refentry"],["IntlBreakIterator::createCharacterInstance","intlbreakiterator.createcharacterinstance","refentry"],["IntlBreakIterator::createCodePointInstance","intlbreakiterator.createcodepointinstance","refentry"],["IntlBreakIterator::createLineInstance","intlbreakiterator.createlineinstance","refentry"],["IntlBreakIterator::createSentenceInstance","intlbreakiterator.createsentenceinstance","refentry"],["IntlBreakIterator::createTitleInstance","intlbreakiterator.createtitleinstance","refentry"],["IntlBreakIterator::createWordInstance","intlbreakiterator.createwordinstance","refentry"],["IntlBreakIterator::current","intlbreakiterator.current","refentry"],["IntlBreakIterator::first","intlbreakiterator.first","refentry"],["IntlBreakIterator::following","intlbreakiterator.following","refentry"],["IntlBreakIterator::getErrorCode","intlbreakiterator.geterrorcode","refentry"],["IntlBreakIterator::getErrorMessage","intlbreakiterator.geterrormessage","refentry"],["IntlBreakIterator::getLocale","intlbreakiterator.getlocale","refentry"],["IntlBreakIterator::getPartsIterator","intlbreakiterator.getpartsiterator","refentry"],["IntlBreakIterator::getText","intlbreakiterator.gettext","refentry"],["IntlBreakIterator::isBoundary","intlbreakiterator.isboundary","refentry"],["IntlBreakIterator::last","intlbreakiterator.last","refentry"],["IntlBreakIterator::next","intlbreakiterator.next","refentry"],["IntlBreakIterator::preceding","intlbreakiterator.preceding","refentry"],["IntlBreakIterator::previous","intlbreakiterator.previous","refentry"],["IntlBreakIterator::setText","intlbreakiterator.settext","refentry"],["IntlBreakIterator","class.intlbreakiterator","phpdoc:classref"],["","class.intlrulebasedbreakiterator","section"],["","class.intlrulebasedbreakiterator","section"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","varlistentry"],["","class.intlrulebasedbreakiterator","section"],["IntlRuleBasedBreakIterator::__construct","intlrulebasedbreakiterator.construct","refentry"],["IntlRuleBasedBreakIterator::getBinaryRules","intlrulebasedbreakiterator.getbinaryrules","refentry"],["IntlRuleBasedBreakIterator::getRules","intlrulebasedbreakiterator.getrules","refentry"],["IntlRuleBasedBreakIterator::getRuleStatus","intlrulebasedbreakiterator.getrulestatus","refentry"],["IntlRuleBasedBreakIterator::getRuleStatusVec","intlrulebasedbreakiterator.getrulestatusvec","refentry"],["IntlRuleBasedBreakIterator","class.intlrulebasedbreakiterator","phpdoc:classref"],["","class.intlcodepointbreakiterator","section"],["","class.intlcodepointbreakiterator","section"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","varlistentry"],["","class.intlcodepointbreakiterator","section"],["IntlCodePointBreakIterator::getLastCodePoint","intlcodepointbreakiterator.getlastcodepoint","refentry"],["IntlCodePointBreakIterator","class.intlcodepointbreakiterator","phpdoc:classref"],["","class.intlpartsiterator","section"],["","class.intlpartsiterator","section"],["","class.intlpartsiterator","varlistentry"],["","class.intlpartsiterator","varlistentry"],["","class.intlpartsiterator","varlistentry"],["","class.intlpartsiterator","section"],["IntlPartsIterator::getBreakIterator","intlpartsiterator.getbreakiterator","refentry"],["IntlPartsIterator","class.intlpartsiterator","phpdoc:classref"],["","class.uconverter","section"],["","class.uconverter","section"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","varlistentry"],["","class.uconverter","section"],["UConverter::__construct","uconverter.construct","refentry"],["UConverter::convert","uconverter.convert","refentry"],["UConverter::fromUCallback","uconverter.fromucallback","refentry"],["UConverter::getAliases","uconverter.getaliases","refentry"],["UConverter::getAvailable","uconverter.getavailable","refentry"],["UConverter::getDestinationEncoding","uconverter.getdestinationencoding","refentry"],["UConverter::getDestinationType","uconverter.getdestinationtype","refentry"],["UConverter::getErrorCode","uconverter.geterrorcode","refentry"],["UConverter::getErrorMessage","uconverter.geterrormessage","refentry"],["UConverter::getSourceEncoding","uconverter.getsourceencoding","refentry"],["UConverter::getSourceType","uconverter.getsourcetype","refentry"],["UConverter::getStandards","uconverter.getstandards","refentry"],["UConverter::getSubstChars","uconverter.getsubstchars","refentry"],["UConverter::reasonText","uconverter.reasontext","refentry"],["UConverter::setDestinationEncoding","uconverter.setdestinationencoding","refentry"],["UConverter::setSourceEncoding","uconverter.setsourceencoding","refentry"],["UConverter::setSubstChars","uconverter.setsubstchars","refentry"],["UConverter::toUCallback","uconverter.toucallback","refentry"],["UConverter::transcode","uconverter.transcode","refentry"],["UConverter","class.uconverter","phpdoc:classref"],["","function.grapheme-extract","example"],["grapheme_extract","function.grapheme-extract","refentry"],["","function.grapheme-stripos","example"],["grapheme_stripos","function.grapheme-stripos","refentry"],["","function.grapheme-stristr","example"],["grapheme_stristr","function.grapheme-stristr","refentry"],["","function.grapheme-strlen","example"],["grapheme_strlen","function.grapheme-strlen","refentry"],["","function.grapheme-strpos","example"],["grapheme_strpos","function.grapheme-strpos","refentry"],["","function.grapheme-strripos","example"],["grapheme_strripos","function.grapheme-strripos","refentry"],["","function.grapheme-strrpos","example"],["grapheme_strrpos","function.grapheme-strrpos","refentry"],["","function.grapheme-strstr","example"],["grapheme_strstr","function.grapheme-strstr","refentry"],["","function.grapheme-substr","example"],["grapheme_substr","function.grapheme-substr","refentry"],["","ref.intl.grapheme","reference"],["","function.idn-to-ascii","example"],["idn_to_ascii","function.idn-to-ascii","refentry"],["idn_to_unicode","function.idn-to-unicode","refentry"],["","function.idn-to-utf8","example"],["idn_to_utf8","function.idn-to-utf8","refentry"],["","ref.intl.idn","reference"],["","class.intlexception","section"],["","class.intlexception","section"],["IntlException","class.intlexception","phpdoc:classref"],["","class.intliterator","section"],["","class.intliterator","section"],["IntlIterator::current","intliterator.current","refentry"],["IntlIterator::key","intliterator.key","refentry"],["IntlIterator::next","intliterator.next","refentry"],["IntlIterator::rewind","intliterator.rewind","refentry"],["IntlIterator::valid","intliterator.valid","refentry"],["IntlIterator","class.intliterator","phpdoc:classref"],["","function.intl-error-name","example"],["intl_error_name","function.intl-error-name","refentry"],["","function.intl-get-error-code","example"],["intl_get_error_code","function.intl-get-error-code","refentry"],["","function.intl-get-error-message","example"],["intl_get_error_message","function.intl-get-error-message","refentry"],["","function.intl-is-failure","example"],["intl_is_failure","function.intl-is-failure","refentry"],["","ref.intl","reference"],["intl","book.intl","book"],["","intro.mbstring","preface"],["","mbstring.requirements","section"],["","mbstring.installation","section"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","varlistentry"],["","mbstring.configuration","example"],["","mbstring.configuration","example"],["","mbstring.configuration","example"],["","mbstring.configuration","section"],["","mbstring.resources","section"],["","mbstring.setup","chapter"],["","mbstring.constants","varlistentry"],["","mbstring.constants","varlistentry"],["","mbstring.constants","varlistentry"],["","mbstring.constants","varlistentry"],["","mbstring.constants","varlistentry"],["","mbstring.constants","varlistentry"],["","mbstring.constants","appendix"],["","mbstring.encodings","chapter"],["","mbstring.ja-basic","chapter"],["","mbstring.http","example"],["","mbstring.http","example"],["","mbstring.http","example"],["","mbstring.http","chapter"],["","mbstring.supported-encodings","chapter"],["","mbstring.overload","chapter"],["","mbstring.php4.req","chapter"],["mb_check_encoding","function.mb-check-encoding","refentry"],["","function.mb-convert-case","example"],["","function.mb-convert-case","example"],["mb_convert_case","function.mb-convert-case","refentry"],["","function.mb-convert-encoding","example"],["mb_convert_encoding","function.mb-convert-encoding","refentry"],["","function.mb-convert-kana","example"],["mb_convert_kana","function.mb-convert-kana","refentry"],["","function.mb-convert-variables","example"],["mb_convert_variables","function.mb-convert-variables","refentry"],["mb_decode_mimeheader","function.mb-decode-mimeheader","refentry"],["","function.mb-decode-numericentity","example"],["mb_decode_numericentity","function.mb-decode-numericentity","refentry"],["","function.mb-detect-encoding","example"],["mb_detect_encoding","function.mb-detect-encoding","refentry"],["","function.mb-detect-order","example"],["","function.mb-detect-order","example"],["mb_detect_order","function.mb-detect-order","refentry"],["","function.mb-encode-mimeheader","example"],["mb_encode_mimeheader","function.mb-encode-mimeheader","refentry"],["","function.mb-encode-numericentity","example"],["","function.mb-encode-numericentity","example"],["mb_encode_numericentity","function.mb-encode-numericentity","refentry"],["","function.mb-encoding-aliases","example"],["mb_encoding_aliases","function.mb-encoding-aliases","refentry"],["mb_ereg_match","function.mb-ereg-match","refentry"],["","function.mb-ereg-replace-callback","example"],["","function.mb-ereg-replace-callback","example"],["mb_ereg_replace_callback","function.mb-ereg-replace-callback","refentry"],["mb_ereg_replace","function.mb-ereg-replace","refentry"],["mb_ereg_search_getpos","function.mb-ereg-search-getpos","refentry"],["mb_ereg_search_getregs","function.mb-ereg-search-getregs","refentry"],["mb_ereg_search_init","function.mb-ereg-search-init","refentry"],["mb_ereg_search_pos","function.mb-ereg-search-pos","refentry"],["mb_ereg_search_regs","function.mb-ereg-search-regs","refentry"],["mb_ereg_search_setpos","function.mb-ereg-search-setpos","refentry"],["mb_ereg_search","function.mb-ereg-search","refentry"],["mb_ereg","function.mb-ereg","refentry"],["mb_eregi_replace","function.mb-eregi-replace","refentry"],["mb_eregi","function.mb-eregi","refentry"],["mb_get_info","function.mb-get-info","refentry"],["mb_http_input","function.mb-http-input","refentry"],["mb_http_output","function.mb-http-output","refentry"],["","function.mb-internal-encoding","example"],["mb_internal_encoding","function.mb-internal-encoding","refentry"],["mb_language","function.mb-language","refentry"],["","function.mb-list-encodings","example"],["mb_list_encodings","function.mb-list-encodings","refentry"],["","function.mb-output-handler","example"],["mb_output_handler","function.mb-output-handler","refentry"],["mb_parse_str","function.mb-parse-str","refentry"],["","function.mb-preferred-mime-name","example"],["mb_preferred_mime_name","function.mb-preferred-mime-name","refentry"],["mb_regex_encoding","function.mb-regex-encoding","refentry"],["mb_regex_set_options","function.mb-regex-set-options","refentry"],["mb_send_mail","function.mb-send-mail","refentry"],["mb_split","function.mb-split","refentry"],["mb_strcut","function.mb-strcut","refentry"],["","function.mb-strimwidth","example"],["mb_strimwidth","function.mb-strimwidth","refentry"],["mb_stripos","function.mb-stripos","refentry"],["mb_stristr","function.mb-stristr","refentry"],["mb_strlen","function.mb-strlen","refentry"],["mb_strpos","function.mb-strpos","refentry"],["mb_strrchr","function.mb-strrchr","refentry"],["mb_strrichr","function.mb-strrichr","refentry"],["mb_strripos","function.mb-strripos","refentry"],["mb_strrpos","function.mb-strrpos","refentry"],["mb_strstr","function.mb-strstr","refentry"],["","function.mb-strtolower","example"],["","function.mb-strtolower","example"],["mb_strtolower","function.mb-strtolower","refentry"],["","function.mb-strtoupper","example"],["","function.mb-strtoupper","example"],["mb_strtoupper","function.mb-strtoupper","refentry"],["mb_strwidth","function.mb-strwidth","refentry"],["","function.mb-substitute-character","example"],["mb_substitute_character","function.mb-substitute-character","refentry"],["","function.mb-substr-count","example"],["mb_substr_count","function.mb-substr-count","refentry"],["mb_substr","function.mb-substr","refentry"],["","ref.mbstring","reference"],["","book.mbstring","book"],["","intro.pspell","preface"],["","pspell.requirements","section"],["","pspell.installation","section"],["","pspell.configuration","section"],["","pspell.resources","section"],["","pspell.setup","chapter"],["","pspell.constants","varlistentry"],["","pspell.constants","varlistentry"],["","pspell.constants","varlistentry"],["","pspell.constants","varlistentry"],["","pspell.constants","appendix"],["","function.pspell-add-to-personal","example"],["pspell_add_to_personal","function.pspell-add-to-personal","refentry"],["pspell_add_to_session","function.pspell-add-to-session","refentry"],["","function.pspell-check","example"],["pspell_check","function.pspell-check","refentry"],["","function.pspell-clear-session","example"],["pspell_clear_session","function.pspell-clear-session","refentry"],["","function.pspell-config-create","example"],["pspell_config_create","function.pspell-config-create","refentry"],["pspell_config_data_dir","function.pspell-config-data-dir","refentry"],["pspell_config_dict_dir","function.pspell-config-dict-dir","refentry"],["","function.pspell-config-ignore","example"],["pspell_config_ignore","function.pspell-config-ignore","refentry"],["","function.pspell-config-mode","example"],["pspell_config_mode","function.pspell-config-mode","refentry"],["","function.pspell-config-personal","example"],["pspell_config_personal","function.pspell-config-personal","refentry"],["","function.pspell-config-repl","example"],["pspell_config_repl","function.pspell-config-repl","refentry"],["","function.pspell-config-runtogether","example"],["pspell_config_runtogether","function.pspell-config-runtogether","refentry"],["pspell_config_save_repl","function.pspell-config-save-repl","refentry"],["","function.pspell-new-config","example"],["pspell_new_config","function.pspell-new-config","refentry"],["","function.pspell-new-personal","example"],["pspell_new_personal","function.pspell-new-personal","refentry"],["","function.pspell-new","example"],["pspell_new","function.pspell-new","refentry"],["","function.pspell-save-wordlist","example"],["pspell_save_wordlist","function.pspell-save-wordlist","refentry"],["","function.pspell-store-replacement","example"],["pspell_store_replacement","function.pspell-store-replacement","refentry"],["","function.pspell-suggest","example"],["pspell_suggest","function.pspell-suggest","refentry"],["","ref.pspell","reference"],["","book.pspell","book"],["","intro.recode","preface"],["","recode.requirements","section"],["","recode.installation","section"],["","recode.configuration","section"],["","recode.resources","section"],["","recode.setup","chapter"],["","recode.constants","appendix"],["","function.recode-file","example"],["recode_file","function.recode-file","refentry"],["","function.recode-string","example"],["recode_string","function.recode-string","refentry"],["recode","function.recode","refentry"],["","ref.recode","reference"],["Recode","book.recode","book"],["","refs.international","set"],["","intro.cairo","preface"],["","cairo.requirements","section"],["","cairo.installation","section"],["","cairo.configuration","section"],["","cairo.resources","section"],["","cairo.setup","chapter"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","varlistentry"],["","cairo.constants","appendix"],["","cairo.examples","example"],["","cairo.examples","chapter"],["","function.cairo-create","example"],["cairo_create","function.cairo-create","refentry"],["","function.cairo-font-face-get-type","example"],["cairo_font_face_get_type","function.cairo-font-face-get-type","refentry"],["","function.cairo-font-face-status","example"],["cairo_font_face_status","function.cairo-font-face-status","refentry"],["","function.cairo-font-options-create","example"],["cairo_font_options_create","function.cairo-font-options-create","refentry"],["","function.cairo-font-options-equal","example"],["cairo_font_options_equal","function.cairo-font-options-equal","refentry"],["","function.cairo-font-options-get-antialias","example"],["cairo_font_options_get_antialias","function.cairo-font-options-get-antialias","refentry"],["","function.cairo-font-options-get-hint-metrics","example"],["cairo_font_options_get_hint_metrics","function.cairo-font-options-get-hint-metrics","refentry"],["","function.cairo-font-options-get-hint-style","example"],["cairo_font_options_get_hint_style","function.cairo-font-options-get-hint-style","refentry"],["","function.cairo-font-options-get-subpixel-order","example"],["cairo_font_options_get_subpixel_order","function.cairo-font-options-get-subpixel-order","refentry"],["","function.cairo-font-options-hash","example"],["cairo_font_options_hash","function.cairo-font-options-hash","refentry"],["","function.cairo-font-options-merge","example"],["cairo_font_options_merge","function.cairo-font-options-merge","refentry"],["","function.cairo-font-options-set-antialias","example"],["cairo_font_options_set_antialias","function.cairo-font-options-set-antialias","refentry"],["","function.cairo-font-options-set-hint-metrics","example"],["cairo_font_options_set_hint_metrics","function.cairo-font-options-set-hint-metrics","refentry"],["","function.cairo-font-options-set-hint-style","example"],["cairo_font_options_set_hint_style","function.cairo-font-options-set-hint-style","refentry"],["","function.cairo-font-options-set-subpixel-order","example"],["cairo_font_options_set_subpixel_order","function.cairo-font-options-set-subpixel-order","refentry"],["","function.cairo-font-options-status","example"],["cairo_font_options_status","function.cairo-font-options-status","refentry"],["","function.cairo-format-stride-for-width","example"],["cairo_format_stride_for_width","function.cairo-format-stride-for-width","refentry"],["","function.cairo-image-surface-create-for-data","example"],["cairo_image_surface_create_for_data","function.cairo-image-surface-create-for-data","refentry"],["","function.cairo-image-surface-create-from-png","example"],["cairo_image_surface_create_from_png","function.cairo-image-surface-create-from-png","refentry"],["","function.cairo-image-surface-create","example"],["cairo_image_surface_create","function.cairo-image-surface-create","refentry"],["","function.cairo-image-surface-get-data","example"],["cairo_image_surface_get_data","function.cairo-image-surface-get-data","refentry"],["","function.cairo-image-surface-get-format","example"],["cairo_image_surface_get_format","function.cairo-image-surface-get-format","refentry"],["","function.cairo-image-surface-get-height","example"],["cairo_image_surface_get_height","function.cairo-image-surface-get-height","refentry"],["","function.cairo-image-surface-get-stride","example"],["cairo_image_surface_get_stride","function.cairo-image-surface-get-stride","refentry"],["","function.cairo-image-surface-get-width","example"],["cairo_image_surface_get_width","function.cairo-image-surface-get-width","refentry"],["cairo_matrix_create_scale","function.cairo-matrix-create-scale","refentry"],["cairo_matrix_create_translate","function.cairo-matrix-create-translate","refentry"],["","function.cairo-matrix-invert","example"],["cairo_matrix_invert","function.cairo-matrix-invert","refentry"],["","function.cairo-matrix-multiply","example"],["cairo_matrix_multiply","function.cairo-matrix-multiply","refentry"],["","function.cairo-matrix-rotate","example"],["cairo_matrix_rotate","function.cairo-matrix-rotate","refentry"],["","function.cairo-matrix-transform-distance","example"],["cairo_matrix_transform_distance","function.cairo-matrix-transform-distance","refentry"],["","function.cairo-matrix-transform-point","example"],["cairo_matrix_transform_point","function.cairo-matrix-transform-point","refentry"],["","function.cairo-matrix-translate","example"],["cairo_matrix_translate","function.cairo-matrix-translate","refentry"],["","function.cairo-pattern-add-color-stop-rgb","example"],["cairo_pattern_add_color_stop_rgb","function.cairo-pattern-add-color-stop-rgb","refentry"],["","function.cairo-pattern-add-color-stop-rgba","example"],["cairo_pattern_add_color_stop_rgba","function.cairo-pattern-add-color-stop-rgba","refentry"],["","function.cairo-pattern-create-for-surface","example"],["cairo_pattern_create_for_surface","function.cairo-pattern-create-for-surface","refentry"],["","function.cairo-pattern-create-linear","example"],["cairo_pattern_create_linear","function.cairo-pattern-create-linear","refentry"],["","function.cairo-pattern-create-radial","example"],["cairo_pattern_create_radial","function.cairo-pattern-create-radial","refentry"],["","function.cairo-pattern-create-rgb","example"],["cairo_pattern_create_rgb","function.cairo-pattern-create-rgb","refentry"],["","function.cairo-pattern-create-rgba","example"],["cairo_pattern_create_rgba","function.cairo-pattern-create-rgba","refentry"],["","function.cairo-pattern-get-color-stop-count","example"],["cairo_pattern_get_color_stop_count","function.cairo-pattern-get-color-stop-count","refentry"],["","function.cairo-pattern-get-color-stop-rgba","example"],["cairo_pattern_get_color_stop_rgba","function.cairo-pattern-get-color-stop-rgba","refentry"],["","function.cairo-pattern-get-extend","example"],["cairo_pattern_get_extend","function.cairo-pattern-get-extend","refentry"],["","function.cairo-pattern-get-filter","example"],["cairo_pattern_get_filter","function.cairo-pattern-get-filter","refentry"],["","function.cairo-pattern-get-linear-points","example"],["cairo_pattern_get_linear_points","function.cairo-pattern-get-linear-points","refentry"],["","function.cairo-pattern-get-matrix","example"],["cairo_pattern_get_matrix","function.cairo-pattern-get-matrix","refentry"],["","function.cairo-pattern-get-radial-circles","example"],["cairo_pattern_get_radial_circles","function.cairo-pattern-get-radial-circles","refentry"],["","function.cairo-pattern-get-rgba","example"],["cairo_pattern_get_rgba","function.cairo-pattern-get-rgba","refentry"],["","function.cairo-pattern-get-surface","example"],["cairo_pattern_get_surface","function.cairo-pattern-get-surface","refentry"],["","function.cairo-pattern-get-type","example"],["cairo_pattern_get_type","function.cairo-pattern-get-type","refentry"],["","function.cairo-pattern-set-extend","example"],["cairo_pattern_set_extend","function.cairo-pattern-set-extend","refentry"],["","function.cairo-pattern-set-filter","example"],["cairo_pattern_set_filter","function.cairo-pattern-set-filter","refentry"],["","function.cairo-pattern-set-matrix","example"],["cairo_pattern_set_matrix","function.cairo-pattern-set-matrix","refentry"],["","function.cairo-pattern-status","example"],["cairo_pattern_status","function.cairo-pattern-status","refentry"],["","function.cairo-pdf-surface-create","example"],["cairo_pdf_surface_create","function.cairo-pdf-surface-create","refentry"],["","function.cairo-pdf-surface-set-size","example"],["cairo_pdf_surface_set_size","function.cairo-pdf-surface-set-size","refentry"],["","function.cairo-ps-get-levels","example"],["cairo_ps_get_levels","function.cairo-ps-get-levels","refentry"],["","function.cairo-ps-level-to-string","example"],["cairo_ps_level_to_string","function.cairo-ps-level-to-string","refentry"],["","function.cairo-ps-surface-create","example"],["cairo_ps_surface_create","function.cairo-ps-surface-create","refentry"],["","function.cairo-ps-surface-dsc-begin-page-setup","example"],["cairo_ps_surface_dsc_begin_page_setup","function.cairo-ps-surface-dsc-begin-page-setup","refentry"],["","function.cairo-ps-surface-dsc-begin-setup","example"],["cairo_ps_surface_dsc_begin_setup","function.cairo-ps-surface-dsc-begin-setup","refentry"],["","function.cairo-ps-surface-dsc-comment","example"],["cairo_ps_surface_dsc_comment","function.cairo-ps-surface-dsc-comment","refentry"],["","function.cairo-ps-surface-get-eps","example"],["cairo_ps_surface_get_eps","function.cairo-ps-surface-get-eps","refentry"],["","function.cairo-ps-surface-restrict-to-level","example"],["cairo_ps_surface_restrict_to_level","function.cairo-ps-surface-restrict-to-level","refentry"],["","function.cairo-ps-surface-set-eps","example"],["cairo_ps_surface_set_eps","function.cairo-ps-surface-set-eps","refentry"],["","function.cairo-ps-surface-set-size","example"],["cairo_ps_surface_set_size","function.cairo-ps-surface-set-size","refentry"],["","function.cairo-scaled-font-create","example"],["cairo_scaled_font_create","function.cairo-scaled-font-create","refentry"],["","function.cairo-scaled-font-extents","example"],["cairo_scaled_font_extents","function.cairo-scaled-font-extents","refentry"],["","function.cairo-scaled-font-get-ctm","example"],["cairo_scaled_font_get_ctm","function.cairo-scaled-font-get-ctm","refentry"],["","function.cairo-scaled-font-get-font-face","example"],["cairo_scaled_font_get_font_face","function.cairo-scaled-font-get-font-face","refentry"],["","function.cairo-scaled-font-get-font-matrix","example"],["cairo_scaled_font_get_font_matrix","function.cairo-scaled-font-get-font-matrix","refentry"],["","function.cairo-scaled-font-get-font-options","example"],["cairo_scaled_font_get_font_options","function.cairo-scaled-font-get-font-options","refentry"],["","function.cairo-scaled-font-get-scale-matrix","example"],["cairo_scaled_font_get_scale_matrix","function.cairo-scaled-font-get-scale-matrix","refentry"],["","function.cairo-scaled-font-get-type","example"],["cairo_scaled_font_get_type","function.cairo-scaled-font-get-type","refentry"],["","function.cairo-scaled-font-glyph-extents","example"],["cairo_scaled_font_glyph_extents","function.cairo-scaled-font-glyph-extents","refentry"],["","function.cairo-scaled-font-status","example"],["cairo_scaled_font_status","function.cairo-scaled-font-status","refentry"],["","function.cairo-scaled-font-text-extents","example"],["cairo_scaled_font_text_extents","function.cairo-scaled-font-text-extents","refentry"],["","function.cairo-surface-copy-page","example"],["cairo_surface_copy_page","function.cairo-surface-copy-page","refentry"],["","function.cairo-surface-create-similar","example"],["cairo_surface_create_similar","function.cairo-surface-create-similar","refentry"],["","function.cairo-surface-finish","example"],["cairo_surface_finish","function.cairo-surface-finish","refentry"],["","function.cairo-surface-flush","example"],["cairo_surface_flush","function.cairo-surface-flush","refentry"],["","function.cairo-surface-get-content","example"],["cairo_surface_get_content","function.cairo-surface-get-content","refentry"],["","function.cairo-surface-get-device-offset","example"],["cairo_surface_get_device_offset","function.cairo-surface-get-device-offset","refentry"],["","function.cairo-surface-get-font-options","example"],["cairo_surface_get_font_options","function.cairo-surface-get-font-options","refentry"],["","function.cairo-surface-get-type","example"],["cairo_surface_get_type","function.cairo-surface-get-type","refentry"],["","function.cairo-surface-mark-dirty-rectangle","example"],["cairo_surface_mark_dirty_rectangle","function.cairo-surface-mark-dirty-rectangle","refentry"],["","function.cairo-surface-mark-dirty","example"],["cairo_surface_mark_dirty","function.cairo-surface-mark-dirty","refentry"],["","function.cairo-surface-set-device-offset","example"],["cairo_surface_set_device_offset","function.cairo-surface-set-device-offset","refentry"],["","function.cairo-surface-set-fallback-resolution","example"],["cairo_surface_set_fallback_resolution","function.cairo-surface-set-fallback-resolution","refentry"],["","function.cairo-surface-show-page","example"],["cairo_surface_show_page","function.cairo-surface-show-page","refentry"],["","function.cairo-surface-status","example"],["cairo_surface_status","function.cairo-surface-status","refentry"],["","function.cairo-surface-write-to-png","example"],["cairo_surface_write_to_png","function.cairo-surface-write-to-png","refentry"],["","function.cairo-svg-surface-create","example"],["cairo_svg_surface_create","function.cairo-svg-surface-create","refentry"],["","function.cairo-svg-surface-restrict-to-version","example"],["cairo_svg_surface_restrict_to_version","function.cairo-svg-surface-restrict-to-version","refentry"],["","function.cairo-svg-version-to-string","example"],["cairo_svg_version_to_string","function.cairo-svg-version-to-string","refentry"],["","ref.cairo","reference"],["","class.cairo","section"],["","class.cairo","section"],["","cairo.availablefonts","example"],["","cairo.availablefonts","example"],["Cairo::availableFonts","cairo.availablefonts","refentry"],["","cairo.availablesurfaces","example"],["","cairo.availablesurfaces","example"],["Cairo::availableSurfaces","cairo.availablesurfaces","refentry"],["","cairo.statustostring","example"],["","cairo.statustostring","example"],["Cairo::statusToString","cairo.statustostring","refentry"],["","cairo.version","example"],["","cairo.version","example"],["Cairo::version","cairo.version","refentry"],["","cairo.versionstring","example"],["","cairo.versionstring","example"],["Cairo::versionString","cairo.versionstring","refentry"],["Cairo","class.cairo","phpdoc:classref"],["","class.cairocontext","section"],["","class.cairocontext","section"],["","cairocontext.appendpath","example"],["","cairocontext.appendpath","example"],["CairoContext::appendPath","cairocontext.appendpath","refentry"],["","cairocontext.arc","example"],["","cairocontext.arc","example"],["CairoContext::arc","cairocontext.arc","refentry"],["","cairocontext.arcnegative","example"],["","cairocontext.arcnegative","example"],["CairoContext::arcNegative","cairocontext.arcnegative","refentry"],["","cairocontext.clip","example"],["","cairocontext.clip","example"],["CairoContext::clip","cairocontext.clip","refentry"],["","cairocontext.clipextents","example"],["","cairocontext.clipextents","example"],["CairoContext::clipExtents","cairocontext.clipextents","refentry"],["","cairocontext.clippreserve","example"],["","cairocontext.clippreserve","example"],["CairoContext::clipPreserve","cairocontext.clippreserve","refentry"],["","cairocontext.cliprectanglelist","example"],["","cairocontext.cliprectanglelist","example"],["CairoContext::clipRectangleList","cairocontext.cliprectanglelist","refentry"],["","cairocontext.closepath","example"],["","cairocontext.closepath","example"],["CairoContext::closePath","cairocontext.closepath","refentry"],["","cairocontext.construct","example"],["CairoContext::__construct","cairocontext.construct","refentry"],["","cairocontext.copypage","example"],["","cairocontext.copypage","example"],["CairoContext::copyPage","cairocontext.copypage","refentry"],["","cairocontext.copypath","example"],["","cairocontext.copypath","example"],["CairoContext::copyPath","cairocontext.copypath","refentry"],["","cairocontext.copypathflat","example"],["","cairocontext.copypathflat","example"],["CairoContext::copyPathFlat","cairocontext.copypathflat","refentry"],["","cairocontext.curveto","example"],["","cairocontext.curveto","example"],["CairoContext::curveTo","cairocontext.curveto","refentry"],["CairoContext::deviceToUser","cairocontext.devicetouser","refentry"],["CairoContext::deviceToUserDistance","cairocontext.devicetouserdistance","refentry"],["","cairocontext.fill","example"],["","cairocontext.fill","example"],["CairoContext::fill","cairocontext.fill","refentry"],["","cairocontext.fillextents","example"],["","cairocontext.fillextents","example"],["CairoContext::fillExtents","cairocontext.fillextents","refentry"],["","cairocontext.fillpreserve","example"],["","cairocontext.fillpreserve","example"],["CairoContext::fillPreserve","cairocontext.fillpreserve","refentry"],["","cairocontext.fontextents","example"],["","cairocontext.fontextents","example"],["CairoContext::fontExtents","cairocontext.fontextents","refentry"],["","cairocontext.getantialias","example"],["","cairocontext.getantialias","example"],["CairoContext::getAntialias","cairocontext.getantialias","refentry"],["","cairocontext.getcurrentpoint","example"],["","cairocontext.getcurrentpoint","example"],["CairoContext::getCurrentPoint","cairocontext.getcurrentpoint","refentry"],["","cairocontext.getdash","example"],["","cairocontext.getdash","example"],["CairoContext::getDash","cairocontext.getdash","refentry"],["","cairocontext.getdashcount","example"],["","cairocontext.getdashcount","example"],["CairoContext::getDashCount","cairocontext.getdashcount","refentry"],["","cairocontext.getfillrule","example"],["","cairocontext.getfillrule","example"],["CairoContext::getFillRule","cairocontext.getfillrule","refentry"],["","cairocontext.getfontface","example"],["","cairocontext.getfontface","example"],["CairoContext::getFontFace","cairocontext.getfontface","refentry"],["","cairocontext.getfontmatrix","example"],["","cairocontext.getfontmatrix","example"],["CairoContext::getFontMatrix","cairocontext.getfontmatrix","refentry"],["","cairocontext.getfontoptions","example"],["","cairocontext.getfontoptions","example"],["CairoContext::getFontOptions","cairocontext.getfontoptions","refentry"],["","cairocontext.getgrouptarget","example"],["","cairocontext.getgrouptarget","example"],["CairoContext::getGroupTarget","cairocontext.getgrouptarget","refentry"],["","cairocontext.getlinecap","example"],["","cairocontext.getlinecap","example"],["CairoContext::getLineCap","cairocontext.getlinecap","refentry"],["","cairocontext.getlinejoin","example"],["","cairocontext.getlinejoin","example"],["CairoContext::getLineJoin","cairocontext.getlinejoin","refentry"],["","cairocontext.getlinewidth","example"],["","cairocontext.getlinewidth","example"],["CairoContext::getLineWidth","cairocontext.getlinewidth","refentry"],["","cairocontext.getmatrix","example"],["","cairocontext.getmatrix","example"],["CairoContext::getMatrix","cairocontext.getmatrix","refentry"],["","cairocontext.getmiterlimit","example"],["","cairocontext.getmiterlimit","example"],["CairoContext::getMiterLimit","cairocontext.getmiterlimit","refentry"],["","cairocontext.getoperator","example"],["","cairocontext.getoperator","example"],["CairoContext::getOperator","cairocontext.getoperator","refentry"],["","cairocontext.getscaledfont","example"],["","cairocontext.getscaledfont","example"],["CairoContext::getScaledFont","cairocontext.getscaledfont","refentry"],["","cairocontext.getsource","example"],["","cairocontext.getsource","example"],["CairoContext::getSource","cairocontext.getsource","refentry"],["","cairocontext.gettarget","example"],["","cairocontext.gettarget","example"],["CairoContext::getTarget","cairocontext.gettarget","refentry"],["","cairocontext.gettolerance","example"],["","cairocontext.gettolerance","example"],["CairoContext::getTolerance","cairocontext.gettolerance","refentry"],["","cairocontext.glyphpath","example"],["","cairocontext.glyphpath","example"],["CairoContext::glyphPath","cairocontext.glyphpath","refentry"],["","cairocontext.hascurrentpoint","example"],["","cairocontext.hascurrentpoint","example"],["CairoContext::hasCurrentPoint","cairocontext.hascurrentpoint","refentry"],["","cairocontext.identitymatrix","example"],["","cairocontext.identitymatrix","example"],["CairoContext::identityMatrix","cairocontext.identitymatrix","refentry"],["","cairocontext.infill","example"],["","cairocontext.infill","example"],["CairoContext::inFill","cairocontext.infill","refentry"],["","cairocontext.instroke","example"],["","cairocontext.instroke","example"],["CairoContext::inStroke","cairocontext.instroke","refentry"],["","cairocontext.lineto","example"],["","cairocontext.lineto","example"],["CairoContext::lineTo","cairocontext.lineto","refentry"],["","cairocontext.mask","example"],["","cairocontext.mask","example"],["CairoContext::mask","cairocontext.mask","refentry"],["","cairocontext.masksurface","example"],["","cairocontext.masksurface","example"],["CairoContext::maskSurface","cairocontext.masksurface","refentry"],["","cairocontext.moveto","example"],["","cairocontext.moveto","example"],["CairoContext::moveTo","cairocontext.moveto","refentry"],["","cairocontext.newpath","example"],["","cairocontext.newpath","example"],["CairoContext::newPath","cairocontext.newpath","refentry"],["","cairocontext.newsubpath","example"],["","cairocontext.newsubpath","example"],["CairoContext::newSubPath","cairocontext.newsubpath","refentry"],["","cairocontext.paint","example"],["","cairocontext.paint","example"],["CairoContext::paint","cairocontext.paint","refentry"],["","cairocontext.paintwithalpha","example"],["","cairocontext.paintwithalpha","example"],["CairoContext::paintWithAlpha","cairocontext.paintwithalpha","refentry"],["","cairocontext.pathextents","example"],["","cairocontext.pathextents","example"],["CairoContext::pathExtents","cairocontext.pathextents","refentry"],["","cairocontext.popgroup","example"],["","cairocontext.popgroup","example"],["CairoContext::popGroup","cairocontext.popgroup","refentry"],["","cairocontext.popgrouptosource","example"],["","cairocontext.popgrouptosource","example"],["CairoContext::popGroupToSource","cairocontext.popgrouptosource","refentry"],["","cairocontext.pushgroup","example"],["","cairocontext.pushgroup","example"],["CairoContext::pushGroup","cairocontext.pushgroup","refentry"],["","cairocontext.pushgroupwithcontent","example"],["","cairocontext.pushgroupwithcontent","example"],["CairoContext::pushGroupWithContent","cairocontext.pushgroupwithcontent","refentry"],["","cairocontext.rectangle","example"],["","cairocontext.rectangle","example"],["CairoContext::rectangle","cairocontext.rectangle","refentry"],["","cairocontext.relcurveto","example"],["","cairocontext.relcurveto","example"],["CairoContext::relCurveTo","cairocontext.relcurveto","refentry"],["","cairocontext.rellineto","example"],["","cairocontext.rellineto","example"],["CairoContext::relLineTo","cairocontext.rellineto","refentry"],["","cairocontext.relmoveto","example"],["","cairocontext.relmoveto","example"],["CairoContext::relMoveTo","cairocontext.relmoveto","refentry"],["","cairocontext.resetclip","example"],["","cairocontext.resetclip","example"],["CairoContext::resetClip","cairocontext.resetclip","refentry"],["","cairocontext.restore","example"],["","cairocontext.restore","example"],["CairoContext::restore","cairocontext.restore","refentry"],["","cairocontext.rotate","example"],["","cairocontext.rotate","example"],["CairoContext::rotate","cairocontext.rotate","refentry"],["","cairocontext.save","example"],["","cairocontext.save","example"],["CairoContext::save","cairocontext.save","refentry"],["","cairocontext.scale","example"],["","cairocontext.scale","example"],["CairoContext::scale","cairocontext.scale","refentry"],["","cairocontext.selectfontface","example"],["","cairocontext.selectfontface","example"],["CairoContext::selectFontFace","cairocontext.selectfontface","refentry"],["","cairocontext.setantialias","example"],["","cairocontext.setantialias","example"],["CairoContext::setAntialias","cairocontext.setantialias","refentry"],["","cairocontext.setdash","example"],["","cairocontext.setdash","example"],["CairoContext::setDash","cairocontext.setdash","refentry"],["","cairocontext.setfillrule","example"],["","cairocontext.setfillrule","example"],["CairoContext::setFillRule","cairocontext.setfillrule","refentry"],["","cairocontext.setfontface","example"],["","cairocontext.setfontface","example"],["CairoContext::setFontFace","cairocontext.setfontface","refentry"],["","cairocontext.setfontmatrix","example"],["","cairocontext.setfontmatrix","example"],["CairoContext::setFontMatrix","cairocontext.setfontmatrix","refentry"],["","cairocontext.setfontoptions","example"],["","cairocontext.setfontoptions","example"],["CairoContext::setFontOptions","cairocontext.setfontoptions","refentry"],["","cairocontext.setfontsize","example"],["","cairocontext.setfontsize","example"],["CairoContext::setFontSize","cairocontext.setfontsize","refentry"],["","cairocontext.setlinecap","example"],["","cairocontext.setlinecap","example"],["CairoContext::setLineCap","cairocontext.setlinecap","refentry"],["","cairocontext.setlinejoin","example"],["","cairocontext.setlinejoin","example"],["CairoContext::setLineJoin","cairocontext.setlinejoin","refentry"],["","cairocontext.setlinewidth","example"],["","cairocontext.setlinewidth","example"],["CairoContext::setLineWidth","cairocontext.setlinewidth","refentry"],["","cairocontext.setmatrix","example"],["","cairocontext.setmatrix","example"],["CairoContext::setMatrix","cairocontext.setmatrix","refentry"],["","cairocontext.setmiterlimit","example"],["","cairocontext.setmiterlimit","example"],["CairoContext::setMiterLimit","cairocontext.setmiterlimit","refentry"],["","cairocontext.setoperator","example"],["","cairocontext.setoperator","example"],["CairoContext::setOperator","cairocontext.setoperator","refentry"],["","cairocontext.setscaledfont","example"],["","cairocontext.setscaledfont","example"],["CairoContext::setScaledFont","cairocontext.setscaledfont","refentry"],["","cairocontext.setsource","example"],["","cairocontext.setsource","example"],["CairoContext::setSource","cairocontext.setsource","refentry"],["","cairocontext.setsourcergb","example"],["","cairocontext.setsourcergb","example"],["CairoContext::setSourceRGB","cairocontext.setsourcergb","refentry"],["","cairocontext.setsourcergba","example"],["","cairocontext.setsourcergba","example"],["CairoContext::setSourceRGBA","cairocontext.setsourcergba","refentry"],["","cairocontext.setsourcesurface","example"],["","cairocontext.setsourcesurface","example"],["CairoContext::setSourceSurface","cairocontext.setsourcesurface","refentry"],["","cairocontext.settolerance","example"],["","cairocontext.settolerance","example"],["CairoContext::setTolerance","cairocontext.settolerance","refentry"],["","cairocontext.showpage","example"],["","cairocontext.showpage","example"],["CairoContext::showPage","cairocontext.showpage","refentry"],["","cairocontext.showtext","example"],["","cairocontext.showtext","example"],["CairoContext::showText","cairocontext.showtext","refentry"],["","cairocontext.status","example"],["","cairocontext.status","example"],["CairoContext::status","cairocontext.status","refentry"],["","cairocontext.stroke","example"],["","cairocontext.stroke","example"],["CairoContext::stroke","cairocontext.stroke","refentry"],["","cairocontext.strokeextents","example"],["","cairocontext.strokeextents","example"],["CairoContext::strokeExtents","cairocontext.strokeextents","refentry"],["","cairocontext.strokepreserve","example"],["","cairocontext.strokepreserve","example"],["CairoContext::strokePreserve","cairocontext.strokepreserve","refentry"],["","cairocontext.textextents","example"],["","cairocontext.textextents","example"],["CairoContext::textExtents","cairocontext.textextents","refentry"],["","cairocontext.textpath","example"],["","cairocontext.textpath","example"],["CairoContext::textPath","cairocontext.textpath","refentry"],["","cairocontext.transform","example"],["","cairocontext.transform","example"],["CairoContext::transform","cairocontext.transform","refentry"],["","cairocontext.translate","example"],["","cairocontext.translate","example"],["CairoContext::translate","cairocontext.translate","refentry"],["","cairocontext.usertodevice","example"],["","cairocontext.usertodevice","example"],["CairoContext::userToDevice","cairocontext.usertodevice","refentry"],["","cairocontext.usertodevicedistance","example"],["","cairocontext.usertodevicedistance","example"],["CairoContext::userToDeviceDistance","cairocontext.usertodevicedistance","refentry"],["CairoContext","class.cairocontext","phpdoc:classref"],["","class.cairoexception","section"],["","class.cairoexception","section"],["CairoException","class.cairoexception","phpdoc:classref"],["","class.cairostatus","section"],["","class.cairostatus","section"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","varlistentry"],["","class.cairostatus","section"],["CairoStatus","class.cairostatus","phpdoc:classref"],["","class.cairosurface","section"],["","class.cairosurface","section"],["CairoSurface::__construct","cairosurface.construct","refentry"],["","cairosurface.copypage","example"],["","cairosurface.copypage","example"],["CairoSurface::copyPage","cairosurface.copypage","refentry"],["","cairosurface.createsimilar","example"],["CairoSurface::createSimilar","cairosurface.createsimilar","refentry"],["","cairosurface.finish","example"],["CairoSurface::finish","cairosurface.finish","refentry"],["","cairosurface.flush","example"],["CairoSurface::flush","cairosurface.flush","refentry"],["","cairosurface.getcontent","example"],["CairoSurface::getContent","cairosurface.getcontent","refentry"],["","cairosurface.getdeviceoffset","example"],["CairoSurface::getDeviceOffset","cairosurface.getdeviceoffset","refentry"],["","cairosurface.getfontoptions","example"],["","cairosurface.getfontoptions","example"],["CairoSurface::getFontOptions","cairosurface.getfontoptions","refentry"],["","cairosurface.gettype","example"],["CairoSurface::getType","cairosurface.gettype","refentry"],["","cairosurface.markdirty","example"],["CairoSurface::markDirty","cairosurface.markdirty","refentry"],["","cairosurface.markdirtyrectangle","example"],["CairoSurface::markDirtyRectangle","cairosurface.markdirtyrectangle","refentry"],["","cairosurface.setdeviceoffset","example"],["CairoSurface::setDeviceOffset","cairosurface.setdeviceoffset","refentry"],["","cairosurface.setfallbackresolution","example"],["CairoSurface::setFallbackResolution","cairosurface.setfallbackresolution","refentry"],["","cairosurface.showpage","example"],["","cairosurface.showpage","example"],["CairoSurface::showPage","cairosurface.showpage","refentry"],["","cairosurface.status","example"],["","cairosurface.status","example"],["CairoSurface::status","cairosurface.status","refentry"],["","cairosurface.writetopng","example"],["CairoSurface::writeToPng","cairosurface.writetopng","refentry"],["CairoSurface","class.cairosurface","phpdoc:classref"],["","class.cairosvgsurface","section"],["","class.cairosvgsurface","section"],["","cairosvgsurface.construct","example"],["CairoSvgSurface::__construct","cairosvgsurface.construct","refentry"],["","cairosvgsurface.getversions","example"],["","cairosvgsurface.getversions","example"],["CairoSvgSurface::getVersions","cairosvgsurface.getversions","refentry"],["","cairosvgsurface.restricttoversion","example"],["CairoSvgSurface::restrictToVersion","cairosvgsurface.restricttoversion","refentry"],["","cairosvgsurface.versiontostring","example"],["CairoSvgSurface::versionToString","cairosvgsurface.versiontostring","refentry"],["CairoSvgSurface","class.cairosvgsurface","phpdoc:classref"],["","class.cairoimagesurface","section"],["","class.cairoimagesurface","section"],["","cairoimagesurface.construct","example"],["CairoImageSurface::__construct","cairoimagesurface.construct","refentry"],["","cairoimagesurface.createfordata","example"],["CairoImageSurface::createForData","cairoimagesurface.createfordata","refentry"],["","cairoimagesurface.createfrompng","example"],["CairoImageSurface::createFromPng","cairoimagesurface.createfrompng","refentry"],["","cairoimagesurface.getdata","example"],["CairoImageSurface::getData","cairoimagesurface.getdata","refentry"],["","cairoimagesurface.getformat","example"],["CairoImageSurface::getFormat","cairoimagesurface.getformat","refentry"],["","cairoimagesurface.getheight","example"],["CairoImageSurface::getHeight","cairoimagesurface.getheight","refentry"],["","cairoimagesurface.getstride","example"],["CairoImageSurface::getStride","cairoimagesurface.getstride","refentry"],["","cairoimagesurface.getwidth","example"],["CairoImageSurface::getWidth","cairoimagesurface.getwidth","refentry"],["CairoImageSurface","class.cairoimagesurface","phpdoc:classref"],["","class.cairopdfsurface","section"],["","class.cairopdfsurface","section"],["","cairopdfsurface.construct","example"],["CairoPdfSurface::__construct","cairopdfsurface.construct","refentry"],["","cairopdfsurface.setsize","example"],["CairoPdfSurface::setSize","cairopdfsurface.setsize","refentry"],["CairoPdfSurface","class.cairopdfsurface","phpdoc:classref"],["","class.cairopssurface","section"],["","class.cairopssurface","section"],["","cairopssurface.construct","example"],["CairoPsSurface::__construct","cairopssurface.construct","refentry"],["","cairopssurface.dscbeginpagesetup","example"],["CairoPsSurface::dscBeginPageSetup","cairopssurface.dscbeginpagesetup","refentry"],["","cairopssurface.dscbeginsetup","example"],["CairoPsSurface::dscBeginSetup","cairopssurface.dscbeginsetup","refentry"],["","cairopssurface.dsccomment","example"],["CairoPsSurface::dscComment","cairopssurface.dsccomment","refentry"],["","cairopssurface.geteps","example"],["CairoPsSurface::getEps","cairopssurface.geteps","refentry"],["","cairopssurface.getlevels","example"],["CairoPsSurface::getLevels","cairopssurface.getlevels","refentry"],["","cairopssurface.leveltostring","example"],["CairoPsSurface::levelToString","cairopssurface.leveltostring","refentry"],["","cairopssurface.restricttolevel","example"],["CairoPsSurface::restrictToLevel","cairopssurface.restricttolevel","refentry"],["","cairopssurface.seteps","example"],["CairoPsSurface::setEps","cairopssurface.seteps","refentry"],["","cairopssurface.setsize","example"],["CairoPsSurface::setSize","cairopssurface.setsize","refentry"],["CairoPsSurface","class.cairopssurface","phpdoc:classref"],["","class.cairosurfacetype","section"],["","class.cairosurfacetype","section"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","varlistentry"],["","class.cairosurfacetype","section"],["CairoSurfaceType","class.cairosurfacetype","phpdoc:classref"],["","class.cairofontface","section"],["","class.cairofontface","section"],["","cairofontface.construct","example"],["CairoFontFace::__construct","cairofontface.construct","refentry"],["","cairofontface.gettype","example"],["CairoFontFace::getType","cairofontface.gettype","refentry"],["","cairofontface.status","example"],["","cairofontface.status","example"],["CairoFontFace::status","cairofontface.status","refentry"],["CairoFontFace","class.cairofontface","phpdoc:classref"],["","class.cairofontoptions","section"],["","class.cairofontoptions","section"],["","cairofontoptions.construct","example"],["CairoFontOptions::__construct","cairofontoptions.construct","refentry"],["","cairofontoptions.equal","example"],["CairoFontOptions::equal","cairofontoptions.equal","refentry"],["","cairofontoptions.getantialias","example"],["","cairofontoptions.getantialias","example"],["CairoFontOptions::getAntialias","cairofontoptions.getantialias","refentry"],["","cairofontoptions.gethintmetrics","example"],["CairoFontOptions::getHintMetrics","cairofontoptions.gethintmetrics","refentry"],["","cairofontoptions.gethintstyle","example"],["CairoFontOptions::getHintStyle","cairofontoptions.gethintstyle","refentry"],["","cairofontoptions.getsubpixelorder","example"],["CairoFontOptions::getSubpixelOrder","cairofontoptions.getsubpixelorder","refentry"],["","cairofontoptions.hash","example"],["CairoFontOptions::hash","cairofontoptions.hash","refentry"],["","cairofontoptions.merge","example"],["CairoFontOptions::merge","cairofontoptions.merge","refentry"],["","cairofontoptions.setantialias","example"],["","cairofontoptions.setantialias","example"],["CairoFontOptions::setAntialias","cairofontoptions.setantialias","refentry"],["","cairofontoptions.sethintmetrics","example"],["CairoFontOptions::setHintMetrics","cairofontoptions.sethintmetrics","refentry"],["","cairofontoptions.sethintstyle","example"],["CairoFontOptions::setHintStyle","cairofontoptions.sethintstyle","refentry"],["","cairofontoptions.setsubpixelorder","example"],["CairoFontOptions::setSubpixelOrder","cairofontoptions.setsubpixelorder","refentry"],["","cairofontoptions.status","example"],["","cairofontoptions.status","example"],["CairoFontOptions::status","cairofontoptions.status","refentry"],["CairoFontOptions","class.cairofontoptions","phpdoc:classref"],["","class.cairofontslant","section"],["","class.cairofontslant","section"],["","class.cairofontslant","varlistentry"],["","class.cairofontslant","varlistentry"],["","class.cairofontslant","varlistentry"],["","class.cairofontslant","section"],["CairoFontSlant","class.cairofontslant","phpdoc:classref"],["","class.cairofonttype","section"],["","class.cairofonttype","section"],["","class.cairofonttype","varlistentry"],["","class.cairofonttype","varlistentry"],["","class.cairofonttype","varlistentry"],["","class.cairofonttype","varlistentry"],["","class.cairofonttype","varlistentry"],["","class.cairofonttype","section"],["CairoFontType","class.cairofonttype","phpdoc:classref"],["","class.cairofontweight","section"],["","class.cairofontweight","section"],["","class.cairofontweight","varlistentry"],["","class.cairofontweight","varlistentry"],["","class.cairofontweight","section"],["CairoFontWeight","class.cairofontweight","phpdoc:classref"],["","class.cairoscaledfont","section"],["","class.cairoscaledfont","section"],["","cairoscaledfont.construct","example"],["CairoScaledFont::__construct","cairoscaledfont.construct","refentry"],["","cairoscaledfont.extents","example"],["CairoScaledFont::extents","cairoscaledfont.extents","refentry"],["","cairoscaledfont.getctm","example"],["CairoScaledFont::getCtm","cairoscaledfont.getctm","refentry"],["","cairoscaledfont.getfontface","example"],["","cairoscaledfont.getfontface","example"],["CairoScaledFont::getFontFace","cairoscaledfont.getfontface","refentry"],["","cairoscaledfont.getfontmatrix","example"],["","cairoscaledfont.getfontmatrix","example"],["CairoScaledFont::getFontMatrix","cairoscaledfont.getfontmatrix","refentry"],["","cairoscaledfont.getfontoptions","example"],["","cairoscaledfont.getfontoptions","example"],["CairoScaledFont::getFontOptions","cairoscaledfont.getfontoptions","refentry"],["","cairoscaledfont.getscalematrix","example"],["CairoScaledFont::getScaleMatrix","cairoscaledfont.getscalematrix","refentry"],["","cairoscaledfont.gettype","example"],["CairoScaledFont::getType","cairoscaledfont.gettype","refentry"],["","cairoscaledfont.glyphextents","example"],["CairoScaledFont::glyphExtents","cairoscaledfont.glyphextents","refentry"],["","cairoscaledfont.status","example"],["","cairoscaledfont.status","example"],["CairoScaledFont::status","cairoscaledfont.status","refentry"],["","cairoscaledfont.textextents","example"],["","cairoscaledfont.textextents","example"],["CairoScaledFont::textExtents","cairoscaledfont.textextents","refentry"],["CairoScaledFont","class.cairoscaledfont","phpdoc:classref"],["","class.cairotoyfontface","section"],["","class.cairotoyfontface","section"],["CairoToyFontFace","class.cairotoyfontface","phpdoc:classref"],["","class.cairopatterntype","section"],["","class.cairopatterntype","section"],["","class.cairopatterntype","varlistentry"],["","class.cairopatterntype","varlistentry"],["","class.cairopatterntype","varlistentry"],["","class.cairopatterntype","varlistentry"],["","class.cairopatterntype","section"],["CairoPatternType","class.cairopatterntype","phpdoc:classref"],["","class.cairopattern","section"],["","class.cairopattern","section"],["","cairopattern.construct","example"],["CairoPattern::__construct","cairopattern.construct","refentry"],["","cairopattern.getmatrix","example"],["","cairopattern.getmatrix","example"],["CairoPattern::getMatrix","cairopattern.getmatrix","refentry"],["","cairopattern.gettype","example"],["CairoPattern::getType","cairopattern.gettype","refentry"],["","cairopattern.setmatrix","example"],["","cairopattern.setmatrix","example"],["CairoPattern::setMatrix","cairopattern.setmatrix","refentry"],["","cairopattern.status","example"],["","cairopattern.status","example"],["CairoPattern::status","cairopattern.status","refentry"],["CairoPattern","class.cairopattern","phpdoc:classref"],["","class.cairogradientpattern","section"],["","class.cairogradientpattern","section"],["","cairogradientpattern.addcolorstoprgb","example"],["CairoGradientPattern::addColorStopRgb","cairogradientpattern.addcolorstoprgb","refentry"],["","cairogradientpattern.addcolorstoprgba","example"],["CairoGradientPattern::addColorStopRgba","cairogradientpattern.addcolorstoprgba","refentry"],["","cairogradientpattern.getcolorstopcount","example"],["CairoGradientPattern::getColorStopCount","cairogradientpattern.getcolorstopcount","refentry"],["","cairogradientpattern.getcolorstoprgba","example"],["CairoGradientPattern::getColorStopRgba","cairogradientpattern.getcolorstoprgba","refentry"],["","cairogradientpattern.getextend","example"],["CairoGradientPattern::getExtend","cairogradientpattern.getextend","refentry"],["","cairogradientpattern.setextend","example"],["CairoGradientPattern::setExtend","cairogradientpattern.setextend","refentry"],["CairoGradientPattern","class.cairogradientpattern","phpdoc:classref"],["","class.cairosolidpattern","section"],["","class.cairosolidpattern","section"],["","cairosolidpattern.construct","example"],["CairoSolidPattern::__construct","cairosolidpattern.construct","refentry"],["","cairosolidpattern.getrgba","example"],["CairoSolidPattern::getRgba","cairosolidpattern.getrgba","refentry"],["CairoSolidPattern","class.cairosolidpattern","phpdoc:classref"],["","class.cairosurfacepattern","section"],["","class.cairosurfacepattern","section"],["","cairosurfacepattern.construct","example"],["CairoSurfacePattern::__construct","cairosurfacepattern.construct","refentry"],["","cairosurfacepattern.getextend","example"],["CairoSurfacePattern::getExtend","cairosurfacepattern.getextend","refentry"],["","cairosurfacepattern.getfilter","example"],["CairoSurfacePattern::getFilter","cairosurfacepattern.getfilter","refentry"],["","cairosurfacepattern.getsurface","example"],["CairoSurfacePattern::getSurface","cairosurfacepattern.getsurface","refentry"],["","cairosurfacepattern.setextend","example"],["CairoSurfacePattern::setExtend","cairosurfacepattern.setextend","refentry"],["","cairosurfacepattern.setfilter","example"],["CairoSurfacePattern::setFilter","cairosurfacepattern.setfilter","refentry"],["CairoSurfacePattern","class.cairosurfacepattern","phpdoc:classref"],["","class.cairolineargradient","section"],["","class.cairolineargradient","section"],["","cairolineargradient.construct","example"],["CairoLinearGradient::__construct","cairolineargradient.construct","refentry"],["","cairolineargradient.getpoints","example"],["CairoLinearGradient::getPoints","cairolineargradient.getpoints","refentry"],["CairoLinearGradient","class.cairolineargradient","phpdoc:classref"],["","class.cairoradialgradient","section"],["","class.cairoradialgradient","section"],["","cairoradialgradient.construct","example"],["CairoRadialGradient::__construct","cairoradialgradient.construct","refentry"],["","cairoradialgradient.getcircles","example"],["CairoRadialGradient::getCircles","cairoradialgradient.getcircles","refentry"],["CairoRadialGradient","class.cairoradialgradient","phpdoc:classref"],["","class.cairoantialias","section"],["","class.cairoantialias","section"],["","class.cairoantialias","varlistentry"],["","class.cairoantialias","varlistentry"],["","class.cairoantialias","varlistentry"],["","class.cairoantialias","varlistentry"],["","class.cairoantialias","section"],["CairoAntialias","class.cairoantialias","phpdoc:classref"],["","class.cairocontent","section"],["","class.cairocontent","section"],["","class.cairocontent","varlistentry"],["","class.cairocontent","varlistentry"],["","class.cairocontent","varlistentry"],["","class.cairocontent","section"],["CairoContent","class.cairocontent","phpdoc:classref"],["","class.cairoextend","section"],["","class.cairoextend","section"],["","class.cairoextend","varlistentry"],["","class.cairoextend","varlistentry"],["","class.cairoextend","varlistentry"],["","class.cairoextend","varlistentry"],["","class.cairoextend","section"],["CairoExtend","class.cairoextend","phpdoc:classref"],["","class.cairoformat","section"],["","class.cairoformat","section"],["","class.cairoformat","varlistentry"],["","class.cairoformat","varlistentry"],["","class.cairoformat","varlistentry"],["","class.cairoformat","varlistentry"],["","class.cairoformat","section"],["","cairoformat.strideforwidth","example"],["CairoFormat::strideForWidth","cairoformat.strideforwidth","refentry"],["CairoFormat","class.cairoformat","phpdoc:classref"],["","class.cairofillrule","section"],["","class.cairofillrule","section"],["","class.cairofillrule","varlistentry"],["","class.cairofillrule","varlistentry"],["","class.cairofillrule","section"],["CairoFillRule","class.cairofillrule","phpdoc:classref"],["","class.cairofilter","section"],["","class.cairofilter","section"],["","class.cairofilter","varlistentry"],["","class.cairofilter","varlistentry"],["","class.cairofilter","varlistentry"],["","class.cairofilter","varlistentry"],["","class.cairofilter","varlistentry"],["","class.cairofilter","varlistentry"],["","class.cairofilter","section"],["CairoFilter","class.cairofilter","phpdoc:classref"],["","class.cairohintmetrics","section"],["","class.cairohintmetrics","section"],["","class.cairohintmetrics","varlistentry"],["","class.cairohintmetrics","varlistentry"],["","class.cairohintmetrics","varlistentry"],["","class.cairohintmetrics","section"],["CairoHintMetrics","class.cairohintmetrics","phpdoc:classref"],["","class.cairohintstyle","section"],["","class.cairohintstyle","section"],["","class.cairohintstyle","varlistentry"],["","class.cairohintstyle","varlistentry"],["","class.cairohintstyle","varlistentry"],["","class.cairohintstyle","varlistentry"],["","class.cairohintstyle","varlistentry"],["","class.cairohintstyle","section"],["CairoHintStyle","class.cairohintstyle","phpdoc:classref"],["","class.cairolinecap","section"],["","class.cairolinecap","section"],["","class.cairolinecap","varlistentry"],["","class.cairolinecap","varlistentry"],["","class.cairolinecap","varlistentry"],["","class.cairolinecap","section"],["CairoLineCap","class.cairolinecap","phpdoc:classref"],["","class.cairolinejoin","section"],["","class.cairolinejoin","section"],["","class.cairolinejoin","varlistentry"],["","class.cairolinejoin","varlistentry"],["","class.cairolinejoin","varlistentry"],["","class.cairolinejoin","section"],["CairoLineJoin","class.cairolinejoin","phpdoc:classref"],["","class.cairomatrix","section"],["","class.cairomatrix","section"],["","cairomatrix.construct","example"],["","cairomatrix.construct","example"],["CairoMatrix::__construct","cairomatrix.construct","refentry"],["","cairomatrix.initidentity","example"],["","cairomatrix.initidentity","example"],["CairoMatrix::initIdentity","cairomatrix.initidentity","refentry"],["","cairomatrix.initrotate","example"],["","cairomatrix.initrotate","example"],["CairoMatrix::initRotate","cairomatrix.initrotate","refentry"],["","cairomatrix.initscale","example"],["","cairomatrix.initscale","example"],["CairoMatrix::initScale","cairomatrix.initscale","refentry"],["","cairomatrix.inittranslate","example"],["","cairomatrix.inittranslate","example"],["CairoMatrix::initTranslate","cairomatrix.inittranslate","refentry"],["","cairomatrix.invert","example"],["CairoMatrix::invert","cairomatrix.invert","refentry"],["","cairomatrix.multiply","example"],["CairoMatrix::multiply","cairomatrix.multiply","refentry"],["","cairomatrix.rotate","example"],["","cairomatrix.rotate","example"],["CairoMatrix::rotate","cairomatrix.rotate","refentry"],["","cairomatrix.scale","example"],["","cairomatrix.scale","example"],["CairoMatrix::scale","cairomatrix.scale","refentry"],["","cairomatrix.transformdistance","example"],["CairoMatrix::transformDistance","cairomatrix.transformdistance","refentry"],["","cairomatrix.transformpoint","example"],["CairoMatrix::transformPoint","cairomatrix.transformpoint","refentry"],["","cairomatrix.translate","example"],["","cairomatrix.translate","example"],["CairoMatrix::translate","cairomatrix.translate","refentry"],["CairoMatrix","class.cairomatrix","phpdoc:classref"],["","class.cairooperator","section"],["","class.cairooperator","section"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","varlistentry"],["","class.cairooperator","section"],["CairoOperator","class.cairooperator","phpdoc:classref"],["","class.cairopath","section"],["","class.cairopath","section"],["CairoPath","class.cairopath","phpdoc:classref"],["","class.cairopslevel","section"],["","class.cairopslevel","section"],["","class.cairopslevel","varlistentry"],["","class.cairopslevel","varlistentry"],["","class.cairopslevel","section"],["CairoPsLevel","class.cairopslevel","phpdoc:classref"],["","class.cairosubpixelorder","section"],["","class.cairosubpixelorder","section"],["","class.cairosubpixelorder","varlistentry"],["","class.cairosubpixelorder","varlistentry"],["","class.cairosubpixelorder","varlistentry"],["","class.cairosubpixelorder","varlistentry"],["","class.cairosubpixelorder","varlistentry"],["","class.cairosubpixelorder","section"],["CairoSubpixelOrder","class.cairosubpixelorder","phpdoc:classref"],["","class.cairosvgversion","section"],["","class.cairosvgversion","section"],["","class.cairosvgversion","varlistentry"],["","class.cairosvgversion","varlistentry"],["","class.cairosvgversion","section"],["CairoSvgVersion","class.cairosvgversion","phpdoc:classref"],["Cairo","book.cairo","book"],["","intro.exif","preface"],["","exif.requirements","section"],["","exif.installation","section"],["","exif.configuration","varlistentry"],["","exif.configuration","varlistentry"],["","exif.configuration","varlistentry"],["","exif.configuration","varlistentry"],["","exif.configuration","varlistentry"],["","exif.configuration","varlistentry"],["","exif.configuration","section"],["","exif.resources","section"],["","exif.setup","chapter"],["","exif.constants","varlistentry"],["","exif.constants","appendix"],["","function.exif-imagetype","example"],["exif_imagetype","function.exif-imagetype","refentry"],["","function.exif-read-data","example"],["exif_read_data","function.exif-read-data","refentry"],["","function.exif-tagname","example"],["exif_tagname","function.exif-tagname","refentry"],["","function.exif-thumbnail","example"],["exif_thumbnail","function.exif-thumbnail","refentry"],["read_exif_data","function.read-exif-data","refentry"],["","ref.exif","reference"],["Exif","book.exif","book"],["","intro.image","preface"],["","image.requirements","section"],["","image.installation","section"],["","image.configuration","varlistentry"],["","image.configuration","section"],["","image.resources","section"],["","image.setup","chapter"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","varlistentry"],["","image.constants","appendix"],["","image.examples-png","example"],["","image.examples-png","section"],["","image.examples-watermark","example"],["","image.examples-watermark","section"],["","image.examples.merged-watermark","example"],["","image.examples.merged-watermark","section"],["","image.examples","chapter"],["","function.gd-info","example"],["gd_info","function.gd-info","refentry"],["","function.getimagesize","example"],["","function.getimagesize","example"],["","function.getimagesize","example"],["","function.getimagesize","example"],["getimagesize","function.getimagesize","refentry"],["","function.getimagesizefromstring","example"],["getimagesizefromstring","function.getimagesizefromstring","refentry"],["","function.image-type-to-extension","example"],["image_type_to_extension","function.image-type-to-extension","refentry"],["","function.image-type-to-mime-type","example"],["image_type_to_mime_type","function.image-type-to-mime-type","refentry"],["","function.image2wbmp","example"],["image2wbmp","function.image2wbmp","refentry"],["imageaffine","function.imageaffine","refentry"],["imageaffinematrixconcat","function.imageaffinematrixconcat","refentry"],["imageaffinematrixget","function.imageaffinematrixget","refentry"],["","function.imagealphablending","example"],["imagealphablending","function.imagealphablending","refentry"],["","function.imageantialias","example"],["imageantialias","function.imageantialias","refentry"],["","function.imagearc","example"],["imagearc","function.imagearc","refentry"],["","function.imagechar","example"],["imagechar","function.imagechar","refentry"],["","function.imagecharup","example"],["imagecharup","function.imagecharup","refentry"],["","function.imagecolorallocate","example"],["imagecolorallocate","function.imagecolorallocate","refentry"],["","function.imagecolorallocatealpha","example"],["imagecolorallocatealpha","function.imagecolorallocatealpha","refentry"],["","function.imagecolorat","example"],["","function.imagecolorat","example"],["imagecolorat","function.imagecolorat","refentry"],["","function.imagecolorclosest","example"],["imagecolorclosest","function.imagecolorclosest","refentry"],["","function.imagecolorclosestalpha","example"],["imagecolorclosestalpha","function.imagecolorclosestalpha","refentry"],["","function.imagecolorclosesthwb","example"],["imagecolorclosesthwb","function.imagecolorclosesthwb","refentry"],["","function.imagecolordeallocate","example"],["imagecolordeallocate","function.imagecolordeallocate","refentry"],["","function.imagecolorexact","example"],["imagecolorexact","function.imagecolorexact","refentry"],["","function.imagecolorexactalpha","example"],["imagecolorexactalpha","function.imagecolorexactalpha","refentry"],["","function.imagecolormatch","example"],["imagecolormatch","function.imagecolormatch","refentry"],["","function.imagecolorresolve","example"],["imagecolorresolve","function.imagecolorresolve","refentry"],["","function.imagecolorresolvealpha","example"],["imagecolorresolvealpha","function.imagecolorresolvealpha","refentry"],["","function.imagecolorset","example"],["imagecolorset","function.imagecolorset","refentry"],["","function.imagecolorsforindex","example"],["imagecolorsforindex","function.imagecolorsforindex","refentry"],["","function.imagecolorstotal","example"],["imagecolorstotal","function.imagecolorstotal","refentry"],["","function.imagecolortransparent","example"],["imagecolortransparent","function.imagecolortransparent","refentry"],["","function.imageconvolution","example"],["","function.imageconvolution","example"],["imageconvolution","function.imageconvolution","refentry"],["","function.imagecopy","example"],["imagecopy","function.imagecopy","refentry"],["","function.imagecopymerge","example"],["imagecopymerge","function.imagecopymerge","refentry"],["","function.imagecopymergegray","example"],["imagecopymergegray","function.imagecopymergegray","refentry"],["","function.imagecopyresampled","example"],["","function.imagecopyresampled","example"],["imagecopyresampled","function.imagecopyresampled","refentry"],["","function.imagecopyresized","example"],["imagecopyresized","function.imagecopyresized","refentry"],["","function.imagecreate","example"],["imagecreate","function.imagecreate","refentry"],["","function.imagecreatefromgd2","example"],["imagecreatefromgd2","function.imagecreatefromgd2","refentry"],["","function.imagecreatefromgd2part","example"],["imagecreatefromgd2part","function.imagecreatefromgd2part","refentry"],["","function.imagecreatefromgd","example"],["imagecreatefromgd","function.imagecreatefromgd","refentry"],["","function.imagecreatefromgif","example"],["imagecreatefromgif","function.imagecreatefromgif","refentry"],["","function.imagecreatefromjpeg","example"],["imagecreatefromjpeg","function.imagecreatefromjpeg","refentry"],["","function.imagecreatefrompng","example"],["imagecreatefrompng","function.imagecreatefrompng","refentry"],["","function.imagecreatefromstring","example"],["imagecreatefromstring","function.imagecreatefromstring","refentry"],["","function.imagecreatefromwbmp","example"],["imagecreatefromwbmp","function.imagecreatefromwbmp","refentry"],["","function.imagecreatefromwebp","example"],["imagecreatefromwebp","function.imagecreatefromwebp","refentry"],["","function.imagecreatefromxbm","example"],["imagecreatefromxbm","function.imagecreatefromxbm","refentry"],["","function.imagecreatefromxpm","example"],["imagecreatefromxpm","function.imagecreatefromxpm","refentry"],["","function.imagecreatetruecolor","example"],["imagecreatetruecolor","function.imagecreatetruecolor","refentry"],["imagecrop","function.imagecrop","refentry"],["imagecropauto","function.imagecropauto","refentry"],["","function.imagedashedline","example"],["","function.imagedashedline","example"],["imagedashedline","function.imagedashedline","refentry"],["","function.imagedestroy","example"],["imagedestroy","function.imagedestroy","refentry"],["","function.imageellipse","example"],["imageellipse","function.imageellipse","refentry"],["","function.imagefill","example"],["imagefill","function.imagefill","refentry"],["","function.imagefilledarc","example"],["imagefilledarc","function.imagefilledarc","refentry"],["","function.imagefilledellipse","example"],["imagefilledellipse","function.imagefilledellipse","refentry"],["","function.imagefilledpolygon","example"],["imagefilledpolygon","function.imagefilledpolygon","refentry"],["","function.imagefilledrectangle","example"],["imagefilledrectangle","function.imagefilledrectangle","refentry"],["","function.imagefilltoborder","example"],["imagefilltoborder","function.imagefilltoborder","refentry"],["","function.imagefilter","example"],["","function.imagefilter","example"],["","function.imagefilter","example"],["","function.imagefilter","example"],["","function.imagefilter","example"],["imagefilter","function.imagefilter","refentry"],["","function.imageflip","example"],["","function.imageflip","example"],["imageflip","function.imageflip","refentry"],["","function.imagefontheight","example"],["","function.imagefontheight","example"],["imagefontheight","function.imagefontheight","refentry"],["","function.imagefontwidth","example"],["","function.imagefontwidth","example"],["imagefontwidth","function.imagefontwidth","refentry"],["","function.imageftbbox","example"],["imageftbbox","function.imageftbbox","refentry"],["","function.imagefttext","example"],["imagefttext","function.imagefttext","refentry"],["","function.imagegammacorrect","example"],["imagegammacorrect","function.imagegammacorrect","refentry"],["","function.imagegd2","example"],["","function.imagegd2","example"],["imagegd2","function.imagegd2","refentry"],["","function.imagegd","example"],["","function.imagegd","example"],["imagegd","function.imagegd","refentry"],["","function.imagegif","example"],["","function.imagegif","example"],["imagegif","function.imagegif","refentry"],["","function.imagegrabscreen","example"],["imagegrabscreen","function.imagegrabscreen","refentry"],["","function.imagegrabwindow","example"],["imagegrabwindow","function.imagegrabwindow","refentry"],["","function.imageinterlace","example"],["imageinterlace","function.imageinterlace","refentry"],["","function.imageistruecolor","example"],["imageistruecolor","function.imageistruecolor","refentry"],["","function.imagejpeg","example"],["","function.imagejpeg","example"],["","function.imagejpeg","example"],["imagejpeg","function.imagejpeg","refentry"],["","function.imagelayereffect","example"],["imagelayereffect","function.imagelayereffect","refentry"],["","function.imageline","example"],["imageline","function.imageline","refentry"],["","function.imageloadfont","example"],["imageloadfont","function.imageloadfont","refentry"],["","function.imagepalettecopy","example"],["imagepalettecopy","function.imagepalettecopy","refentry"],["","function.imagepalettetotruecolor","example"],["imagepalettetotruecolor","function.imagepalettetotruecolor","refentry"],["imagepng","function.imagepng","refentry"],["","function.imagepolygon","example"],["imagepolygon","function.imagepolygon","refentry"],["","function.imagepsbbox","example"],["imagepsbbox","function.imagepsbbox","refentry"],["","function.imagepsencodefont","example"],["imagepsencodefont","function.imagepsencodefont","refentry"],["","function.imagepsextendfont","example"],["imagepsextendfont","function.imagepsextendfont","refentry"],["","function.imagepsfreefont","example"],["imagepsfreefont","function.imagepsfreefont","refentry"],["","function.imagepsloadfont","example"],["imagepsloadfont","function.imagepsloadfont","refentry"],["","function.imagepsslantfont","example"],["imagepsslantfont","function.imagepsslantfont","refentry"],["","function.imagepstext","example"],["imagepstext","function.imagepstext","refentry"],["","function.imagerectangle","example"],["imagerectangle","function.imagerectangle","refentry"],["","function.imagerotate","example"],["imagerotate","function.imagerotate","refentry"],["","function.imagesavealpha","example"],["imagesavealpha","function.imagesavealpha","refentry"],["imagescale","function.imagescale","refentry"],["","function.imagesetbrush","example"],["imagesetbrush","function.imagesetbrush","refentry"],["","function.imagesetinterpolation","example"],["imagesetinterpolation","function.imagesetinterpolation","refentry"],["","function.imagesetpixel","example"],["imagesetpixel","function.imagesetpixel","refentry"],["","function.imagesetstyle","example"],["imagesetstyle","function.imagesetstyle","refentry"],["","function.imagesetthickness","example"],["imagesetthickness","function.imagesetthickness","refentry"],["","function.imagesettile","example"],["imagesettile","function.imagesettile","refentry"],["","function.imagestring","example"],["imagestring","function.imagestring","refentry"],["","function.imagestringup","example"],["imagestringup","function.imagestringup","refentry"],["","function.imagesx","example"],["imagesx","function.imagesx","refentry"],["","function.imagesy","example"],["imagesy","function.imagesy","refentry"],["","function.imagetruecolortopalette","example"],["imagetruecolortopalette","function.imagetruecolortopalette","refentry"],["","function.imagettfbbox","example"],["imagettfbbox","function.imagettfbbox","refentry"],["","function.imagettftext","example"],["imagettftext","function.imagettftext","refentry"],["","function.imagetypes","example"],["imagetypes","function.imagetypes","refentry"],["","function.imagewbmp","example"],["","function.imagewbmp","example"],["","function.imagewbmp","example"],["imagewbmp","function.imagewbmp","refentry"],["","function.imagewebp","example"],["imagewebp","function.imagewebp","refentry"],["","function.imagexbm","example"],["","function.imagexbm","example"],["imagexbm","function.imagexbm","refentry"],["","function.iptcembed","example"],["iptcembed","function.iptcembed","refentry"],["","function.iptcparse","example"],["iptcparse","function.iptcparse","refentry"],["","function.jpeg2wbmp","example"],["jpeg2wbmp","function.jpeg2wbmp","refentry"],["","function.png2wbmp","example"],["png2wbmp","function.png2wbmp","refentry"],["","ref.image","reference"],["GD","book.image","book"],["","intro.gmagick","preface"],["","gmagick.requirements","section"],["","gmagick.installation","section"],["","gmagick.configuration","section"],["","gmagick.setup","chapter"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","varlistentry"],["","gmagick.constants","variablelist"],["","gmagick.constants","appendix"],["","gmagick.examples","example"],["","gmagick.examples","chapter"],["","class.gmagick","section"],["","class.gmagick","section"],["Gmagick::addimage","gmagick.addimage","refentry"],["Gmagick::addnoiseimage","gmagick.addnoiseimage","refentry"],["Gmagick::annotateimage","gmagick.annotateimage","refentry"],["Gmagick::blurimage","gmagick.blurimage","refentry"],["Gmagick::borderimage","gmagick.borderimage","refentry"],["Gmagick::charcoalimage","gmagick.charcoalimage","refentry"],["Gmagick::chopimage","gmagick.chopimage","refentry"],["Gmagick::clear","gmagick.clear","refentry"],["Gmagick::commentimage","gmagick.commentimage","refentry"],["Gmagick::compositeimage","gmagick.compositeimage","refentry"],["Gmagick::__construct","gmagick.construct","refentry"],["Gmagick::cropimage","gmagick.cropimage","refentry"],["Gmagick::cropthumbnailimage","gmagick.cropthumbnailimage","refentry"],["Gmagick::current","gmagick.current","refentry"],["Gmagick::cyclecolormapimage","gmagick.cyclecolormapimage","refentry"],["Gmagick::deconstructimages","gmagick.deconstructimages","refentry"],["","gmagick.despeckleimage","example"],["Gmagick::despeckleimage","gmagick.despeckleimage","refentry"],["Gmagick::destroy","gmagick.destroy","refentry"],["Gmagick::drawimage","gmagick.drawimage","refentry"],["Gmagick::edgeimage","gmagick.edgeimage","refentry"],["Gmagick::embossimage","gmagick.embossimage","refentry"],["Gmagick::enhanceimage","gmagick.enhanceimage","refentry"],["Gmagick::equalizeimage","gmagick.equalizeimage","refentry"],["Gmagick::flipimage","gmagick.flipimage","refentry"],["Gmagick::flopimage","gmagick.flopimage","refentry"],["Gmagick::frameimage","gmagick.frameimage","refentry"],["Gmagick::gammaimage","gmagick.gammaimage","refentry"],["Gmagick::getcopyright","gmagick.getcopyright","refentry"],["Gmagick::getfilename","gmagick.getfilename","refentry"],["Gmagick::getimagebackgroundcolor","gmagick.getimagebackgroundcolor","refentry"],["Gmagick::getimageblueprimary","gmagick.getimageblueprimary","refentry"],["Gmagick::getimagebordercolor","gmagick.getimagebordercolor","refentry"],["Gmagick::getimagechanneldepth","gmagick.getimagechanneldepth","refentry"],["Gmagick::getimagecolors","gmagick.getimagecolors","refentry"],["Gmagick::getimagecolorspace","gmagick.getimagecolorspace","refentry"],["Gmagick::getimagecompose","gmagick.getimagecompose","refentry"],["Gmagick::getimagedelay","gmagick.getimagedelay","refentry"],["Gmagick::getimagedepth","gmagick.getimagedepth","refentry"],["Gmagick::getimagedispose","gmagick.getimagedispose","refentry"],["Gmagick::getimageextrema","gmagick.getimageextrema","refentry"],["Gmagick::getimagefilename","gmagick.getimagefilename","refentry"],["Gmagick::getimageformat","gmagick.getimageformat","refentry"],["Gmagick::getimagegamma","gmagick.getimagegamma","refentry"],["Gmagick::getimagegreenprimary","gmagick.getimagegreenprimary","refentry"],["Gmagick::getimageheight","gmagick.getimageheight","refentry"],["Gmagick::getimagehistogram","gmagick.getimagehistogram","refentry"],["Gmagick::getimageindex","gmagick.getimageindex","refentry"],["Gmagick::getimageinterlacescheme","gmagick.getimageinterlacescheme","refentry"],["Gmagick::getimageiterations","gmagick.getimageiterations","refentry"],["Gmagick::getimagematte","gmagick.getimagematte","refentry"],["Gmagick::getimagemattecolor","gmagick.getimagemattecolor","refentry"],["Gmagick::getimageprofile","gmagick.getimageprofile","refentry"],["Gmagick::getimageredprimary","gmagick.getimageredprimary","refentry"],["Gmagick::getimagerenderingintent","gmagick.getimagerenderingintent","refentry"],["Gmagick::getimageresolution","gmagick.getimageresolution","refentry"],["Gmagick::getimagescene","gmagick.getimagescene","refentry"],["Gmagick::getimagesignature","gmagick.getimagesignature","refentry"],["Gmagick::getimagetype","gmagick.getimagetype","refentry"],["Gmagick::getimageunits","gmagick.getimageunits","refentry"],["Gmagick::getimagewhitepoint","gmagick.getimagewhitepoint","refentry"],["Gmagick::getimagewidth","gmagick.getimagewidth","refentry"],["Gmagick::getpackagename","gmagick.getpackagename","refentry"],["Gmagick::getquantumdepth","gmagick.getquantumdepth","refentry"],["Gmagick::getreleasedate","gmagick.getreleasedate","refentry"],["Gmagick::getsamplingfactors","gmagick.getsamplingfactors","refentry"],["Gmagick::getsize","gmagick.getsize","refentry"],["Gmagick::getversion","gmagick.getversion","refentry"],["Gmagick::hasnextimage","gmagick.hasnextimage","refentry"],["Gmagick::haspreviousimage","gmagick.haspreviousimage","refentry"],["Gmagick::implodeimage","gmagick.implodeimage","refentry"],["Gmagick::labelimage","gmagick.labelimage","refentry"],["Gmagick::levelimage","gmagick.levelimage","refentry"],["Gmagick::magnifyimage","gmagick.magnifyimage","refentry"],["Gmagick::mapimage","gmagick.mapimage","refentry"],["Gmagick::medianfilterimage","gmagick.medianfilterimage","refentry"],["Gmagick::minifyimage","gmagick.minifyimage","refentry"],["Gmagick::modulateimage","gmagick.modulateimage","refentry"],["Gmagick::motionblurimage","gmagick.motionblurimage","refentry"],["Gmagick::newimage","gmagick.newimage","refentry"],["Gmagick::nextimage","gmagick.nextimage","refentry"],["Gmagick::normalizeimage","gmagick.normalizeimage","refentry"],["Gmagick::oilpaintimage","gmagick.oilpaintimage","refentry"],["Gmagick::previousimage","gmagick.previousimage","refentry"],["Gmagick::profileimage","gmagick.profileimage","refentry"],["Gmagick::quantizeimage","gmagick.quantizeimage","refentry"],["Gmagick::quantizeimages","gmagick.quantizeimages","refentry"],["Gmagick::queryfontmetrics","gmagick.queryfontmetrics","refentry"],["Gmagick::queryfonts","gmagick.queryfonts","refentry"],["Gmagick::queryformats","gmagick.queryformats","refentry"],["Gmagick::radialblurimage","gmagick.radialblurimage","refentry"],["Gmagick::raiseimage","gmagick.raiseimage","refentry"],["Gmagick::read","gmagick.read","refentry"],["Gmagick::readimage","gmagick.readimage","refentry"],["Gmagick::readimageblob","gmagick.readimageblob","refentry"],["Gmagick::readimagefile","gmagick.readimagefile","refentry"],["Gmagick::reducenoiseimage","gmagick.reducenoiseimage","refentry"],["Gmagick::removeimage","gmagick.removeimage","refentry"],["Gmagick::removeimageprofile","gmagick.removeimageprofile","refentry"],["Gmagick::resampleimage","gmagick.resampleimage","refentry"],["Gmagick::resizeimage","gmagick.resizeimage","refentry"],["Gmagick::rollimage","gmagick.rollimage","refentry"],["Gmagick::rotateimage","gmagick.rotateimage","refentry"],["Gmagick::scaleimage","gmagick.scaleimage","refentry"],["Gmagick::separateimagechannel","gmagick.separateimagechannel","refentry"],["Gmagick::setfilename","gmagick.setfilename","refentry"],["Gmagick::setimagebackgroundcolor","gmagick.setimagebackgroundcolor","refentry"],["Gmagick::setimageblueprimary","gmagick.setimageblueprimary","refentry"],["Gmagick::setimagebordercolor","gmagick.setimagebordercolor","refentry"],["Gmagick::setimagechanneldepth","gmagick.setimagechanneldepth","refentry"],["Gmagick::setimagecolorspace","gmagick.setimagecolorspace","refentry"],["Gmagick::setimagecompose","gmagick.setimagecompose","refentry"],["Gmagick::setimagedelay","gmagick.setimagedelay","refentry"],["Gmagick::setimagedepth","gmagick.setimagedepth","refentry"],["Gmagick::setimagedispose","gmagick.setimagedispose","refentry"],["Gmagick::setimagefilename","gmagick.setimagefilename","refentry"],["Gmagick::setimageformat","gmagick.setimageformat","refentry"],["Gmagick::setimagegamma","gmagick.setimagegamma","refentry"],["Gmagick::setimagegreenprimary","gmagick.setimagegreenprimary","refentry"],["Gmagick::setimageindex","gmagick.setimageindex","refentry"],["Gmagick::setimageinterlacescheme","gmagick.setimageinterlacescheme","refentry"],["Gmagick::setimageiterations","gmagick.setimageiterations","refentry"],["Gmagick::setimageprofile","gmagick.setimageprofile","refentry"],["Gmagick::setimageredprimary","gmagick.setimageredprimary","refentry"],["Gmagick::setimagerenderingintent","gmagick.setimagerenderingintent","refentry"],["Gmagick::setimageresolution","gmagick.setimageresolution","refentry"],["Gmagick::setimagescene","gmagick.setimagescene","refentry"],["Gmagick::setimagetype","gmagick.setimagetype","refentry"],["Gmagick::setimageunits","gmagick.setimageunits","refentry"],["Gmagick::setimagewhitepoint","gmagick.setimagewhitepoint","refentry"],["Gmagick::setsamplingfactors","gmagick.setsamplingfactors","refentry"],["Gmagick::setsize","gmagick.setsize","refentry"],["Gmagick::shearimage","gmagick.shearimage","refentry"],["Gmagick::solarizeimage","gmagick.solarizeimage","refentry"],["Gmagick::spreadimage","gmagick.spreadimage","refentry"],["Gmagick::stripimage","gmagick.stripimage","refentry"],["Gmagick::swirlimage","gmagick.swirlimage","refentry"],["Gmagick::thumbnailimage","gmagick.thumbnailimage","refentry"],["Gmagick::trimimage","gmagick.trimimage","refentry"],["Gmagick::write","gmagick.write","refentry"],["Gmagick::writeimage","gmagick.writeimage","refentry"],["Gmagick","class.gmagick","phpdoc:classref"],["","class.gmagickdraw","section"],["","class.gmagickdraw","section"],["GmagickDraw::annotate","gmagickdraw.annotate","refentry"],["GmagickDraw::arc","gmagickdraw.arc","refentry"],["GmagickDraw::bezier","gmagickdraw.bezier","refentry"],["GmagickDraw::ellipse","gmagickdraw.ellipse","refentry"],["GmagickDraw::getfillcolor","gmagickdraw.getfillcolor","refentry"],["GmagickDraw::getfillopacity","gmagickdraw.getfillopacity","refentry"],["GmagickDraw::getfont","gmagickdraw.getfont","refentry"],["GmagickDraw::getfontsize","gmagickdraw.getfontsize","refentry"],["GmagickDraw::getfontstyle","gmagickdraw.getfontstyle","refentry"],["GmagickDraw::getfontweight","gmagickdraw.getfontweight","refentry"],["GmagickDraw::getstrokecolor","gmagickdraw.getstrokecolor","refentry"],["GmagickDraw::getstrokeopacity","gmagickdraw.getstrokeopacity","refentry"],["GmagickDraw::getstrokewidth","gmagickdraw.getstrokewidth","refentry"],["GmagickDraw::gettextdecoration","gmagickdraw.gettextdecoration","refentry"],["GmagickDraw::gettextencoding","gmagickdraw.gettextencoding","refentry"],["GmagickDraw::line","gmagickdraw.line","refentry"],["GmagickDraw::point","gmagickdraw.point","refentry"],["GmagickDraw::polygon","gmagickdraw.polygon","refentry"],["GmagickDraw::polyline","gmagickdraw.polyline","refentry"],["GmagickDraw::rectangle","gmagickdraw.rectangle","refentry"],["GmagickDraw::rotate","gmagickdraw.rotate","refentry"],["GmagickDraw::roundrectangle","gmagickdraw.roundrectangle","refentry"],["GmagickDraw::scale","gmagickdraw.scale","refentry"],["GmagickDraw::setfillcolor","gmagickdraw.setfillcolor","refentry"],["GmagickDraw::setfillopacity","gmagickdraw.setfillopacity","refentry"],["GmagickDraw::setfont","gmagickdraw.setfont","refentry"],["GmagickDraw::setfontsize","gmagickdraw.setfontsize","refentry"],["GmagickDraw::setfontstyle","gmagickdraw.setfontstyle","refentry"],["GmagickDraw::setfontweight","gmagickdraw.setfontweight","refentry"],["GmagickDraw::setstrokecolor","gmagickdraw.setstrokecolor","refentry"],["GmagickDraw::setstrokeopacity","gmagickdraw.setstrokeopacity","refentry"],["GmagickDraw::setstrokewidth","gmagickdraw.setstrokewidth","refentry"],["GmagickDraw::settextdecoration","gmagickdraw.settextdecoration","refentry"],["GmagickDraw::settextencoding","gmagickdraw.settextencoding","refentry"],["GmagickDraw","class.gmagickdraw","phpdoc:classref"],["","class.gmagickpixel","section"],["","class.gmagickpixel","section"],["GmagickPixel::__construct","gmagickpixel.construct","refentry"],["GmagickPixel::getcolor","gmagickpixel.getcolor","refentry"],["GmagickPixel::getcolorcount","gmagickpixel.getcolorcount","refentry"],["GmagickPixel::getcolorvalue","gmagickpixel.getcolorvalue","refentry"],["GmagickPixel::setcolor","gmagickpixel.setcolor","refentry"],["GmagickPixel::setcolorvalue","gmagickpixel.setcolorvalue","refentry"],["GmagickPixel","class.gmagickpixel","phpdoc:classref"],["Gmagick","book.gmagick","book"],["","intro.imagick","section"],["","intro.imagick","preface"],["","imagick.requirements","section"],["","imagick.requirements","section"],["","imagick.requirements","section"],["","imagick.installation","section"],["","imagick.configuration","varlistentry"],["","imagick.configuration","varlistentry"],["","imagick.configuration","section"],["","imagick.resources","section"],["","imagick.setup","chapter"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","varlistentry"],["","imagick.constants","variablelist"],["","imagick.constants","appendix"],["","imagick.examples-1","example"],["","imagick.examples-1","example"],["","imagick.examples-1","example"],["","imagick.examples-1","example"],["","imagick.examples-1","example"],["","imagick.examples-1","example"],["","imagick.examples-1","section"],["","imagick.examples","chapter"],["","class.imagick","section"],["","class.imagick","section"],["","class.imagick","section"],["","imagick.adaptiveblurimage","example"],["Imagick::adaptiveBlurImage","imagick.adaptiveblurimage","refentry"],["","imagick.adaptiveresizeimage","example"],["Imagick::adaptiveResizeImage","imagick.adaptiveresizeimage","refentry"],["","imagick.adaptivesharpenimage","example"],["Imagick::adaptiveSharpenImage","imagick.adaptivesharpenimage","refentry"],["Imagick::adaptiveThresholdImage","imagick.adaptivethresholdimage","refentry"],["Imagick::addImage","imagick.addimage","refentry"],["Imagick::addNoiseImage","imagick.addnoiseimage","refentry"],["Imagick::affineTransformImage","imagick.affinetransformimage","refentry"],["Imagick::animateImages","imagick.animateimages","refentry"],["","imagick.annotateimage","example"],["Imagick::annotateImage","imagick.annotateimage","refentry"],["","imagick.appendimages","example"],["Imagick::appendImages","imagick.appendimages","refentry"],["Imagick::averageImages","imagick.averageimages","refentry"],["Imagick::blackThresholdImage","imagick.blackthresholdimage","refentry"],["","imagick.blurimage","example"],["Imagick::blurImage","imagick.blurimage","refentry"],["Imagick::borderImage","imagick.borderimage","refentry"],["Imagick::charcoalImage","imagick.charcoalimage","refentry"],["","imagick.chopimage","example"],["Imagick::chopImage","imagick.chopimage","refentry"],["Imagick::clear","imagick.clear","refentry"],["Imagick::clipImage","imagick.clipimage","refentry"],["Imagick::clipPathImage","imagick.clippathimage","refentry"],["","imagick.clone","example"],["Imagick::clone","imagick.clone","refentry"],["","imagick.clutimage","example"],["Imagick::clutImage","imagick.clutimage","refentry"],["Imagick::coalesceImages","imagick.coalesceimages","refentry"],["Imagick::colorFloodfillImage","imagick.colorfloodfillimage","refentry"],["Imagick::colorizeImage","imagick.colorizeimage","refentry"],["Imagick::combineImages","imagick.combineimages","refentry"],["","imagick.commentimage","example"],["Imagick::commentImage","imagick.commentimage","refentry"],["Imagick::compareImageChannels","imagick.compareimagechannels","refentry"],["","imagick.compareimagelayers","example"],["Imagick::compareImageLayers","imagick.compareimagelayers","refentry"],["","imagick.compareimages","example"],["Imagick::compareImages","imagick.compareimages","refentry"],["Imagick::compositeImage","imagick.compositeimage","refentry"],["Imagick::__construct","imagick.construct","refentry"],["Imagick::contrastImage","imagick.contrastimage","refentry"],["Imagick::contrastStretchImage","imagick.contraststretchimage","refentry"],["Imagick::convolveImage","imagick.convolveimage","refentry"],["Imagick::cropImage","imagick.cropimage","refentry"],["Imagick::cropThumbnailImage","imagick.cropthumbnailimage","refentry"],["Imagick::current","imagick.current","refentry"],["Imagick::cycleColormapImage","imagick.cyclecolormapimage","refentry"],["Imagick::decipherImage","imagick.decipherimage","refentry"],["Imagick::deconstructImages","imagick.deconstructimages","refentry"],["Imagick::deleteImageArtifact","imagick.deleteimageartifact","refentry"],["Imagick::deskewImage","imagick.deskewimage","refentry"],["Imagick::despeckleImage","imagick.despeckleimage","refentry"],["Imagick::destroy","imagick.destroy","refentry"],["Imagick::displayImage","imagick.displayimage","refentry"],["Imagick::displayImages","imagick.displayimages","refentry"],["","imagick.distortimage","example"],["Imagick::distortImage","imagick.distortimage","refentry"],["Imagick::drawImage","imagick.drawimage","refentry"],["Imagick::edgeImage","imagick.edgeimage","refentry"],["Imagick::embossImage","imagick.embossimage","refentry"],["Imagick::encipherImage","imagick.encipherimage","refentry"],["Imagick::enhanceImage","imagick.enhanceimage","refentry"],["Imagick::equalizeImage","imagick.equalizeimage","refentry"],["","imagick.evaluateimage","example"],["Imagick::evaluateImage","imagick.evaluateimage","refentry"],["","imagick.exportimagepixels","example"],["Imagick::exportImagePixels","imagick.exportimagepixels","refentry"],["Imagick::extentImage","imagick.extentimage","refentry"],["Imagick::flattenImages","imagick.flattenimages","refentry"],["Imagick::flipImage","imagick.flipimage","refentry"],["","imagick.floodfillpaintimage","example"],["Imagick::floodFillPaintImage","imagick.floodfillpaintimage","refentry"],["Imagick::flopImage","imagick.flopimage","refentry"],["Imagick::frameImage","imagick.frameimage","refentry"],["Imagick::functionImage","imagick.functionimage","refentry"],["Imagick::fxImage","imagick.fximage","refentry"],["Imagick::gammaImage","imagick.gammaimage","refentry"],["Imagick::gaussianBlurImage","imagick.gaussianblurimage","refentry"],["Imagick::getColorspace","imagick.getcolorspace","refentry"],["Imagick::getCompression","imagick.getcompression","refentry"],["Imagick::getCompressionQuality","imagick.getcompressionquality","refentry"],["Imagick::getCopyright","imagick.getcopyright","refentry"],["Imagick::getFilename","imagick.getfilename","refentry"],["Imagick::getFont","imagick.getfont","refentry"],["Imagick::getFormat","imagick.getformat","refentry"],["Imagick::getGravity","imagick.getgravity","refentry"],["Imagick::getHomeURL","imagick.gethomeurl","refentry"],["Imagick::getImage","imagick.getimage","refentry"],["Imagick::getImageAlphaChannel","imagick.getimagealphachannel","refentry"],["Imagick::getImageArtifact","imagick.getimageartifact","refentry"],["Imagick::getImageBackgroundColor","imagick.getimagebackgroundcolor","refentry"],["Imagick::getImageBlob","imagick.getimageblob","refentry"],["Imagick::getImageBluePrimary","imagick.getimageblueprimary","refentry"],["Imagick::getImageBorderColor","imagick.getimagebordercolor","refentry"],["Imagick::getImageChannelDepth","imagick.getimagechanneldepth","refentry"],["Imagick::getImageChannelDistortion","imagick.getimagechanneldistortion","refentry"],["Imagick::getImageChannelDistortions","imagick.getimagechanneldistortions","refentry"],["Imagick::getImageChannelExtrema","imagick.getimagechannelextrema","refentry"],["Imagick::getImageChannelKurtosis","imagick.getimagechannelkurtosis","refentry"],["Imagick::getImageChannelMean","imagick.getimagechannelmean","refentry"],["Imagick::getImageChannelRange","imagick.getimagechannelrange","refentry"],["Imagick::getImageChannelStatistics","imagick.getimagechannelstatistics","refentry"],["Imagick::getImageClipMask","imagick.getimageclipmask","refentry"],["Imagick::getImageColormapColor","imagick.getimagecolormapcolor","refentry"],["Imagick::getImageColors","imagick.getimagecolors","refentry"],["Imagick::getImageColorspace","imagick.getimagecolorspace","refentry"],["Imagick::getImageCompose","imagick.getimagecompose","refentry"],["Imagick::getImageCompression","imagick.getimagecompression","refentry"],["Imagick::getImageCompressionQuality","imagick.getimagecompressionquality","refentry"],["Imagick::getImageDelay","imagick.getimagedelay","refentry"],["Imagick::getImageDepth","imagick.getimagedepth","refentry"],["Imagick::getImageDispose","imagick.getimagedispose","refentry"],["Imagick::getImageDistortion","imagick.getimagedistortion","refentry"],["Imagick::getImageExtrema","imagick.getimageextrema","refentry"],["Imagick::getImageFilename","imagick.getimagefilename","refentry"],["Imagick::getImageFormat","imagick.getimageformat","refentry"],["Imagick::getImageGamma","imagick.getimagegamma","refentry"],["Imagick::getImageGeometry","imagick.getimagegeometry","refentry"],["Imagick::getImageGravity","imagick.getimagegravity","refentry"],["Imagick::getImageGreenPrimary","imagick.getimagegreenprimary","refentry"],["Imagick::getImageHeight","imagick.getimageheight","refentry"],["Imagick::getImageHistogram","imagick.getimagehistogram","refentry"],["Imagick::getImageIndex","imagick.getimageindex","refentry"],["Imagick::getImageInterlaceScheme","imagick.getimageinterlacescheme","refentry"],["Imagick::getImageInterpolateMethod","imagick.getimageinterpolatemethod","refentry"],["Imagick::getImageIterations","imagick.getimageiterations","refentry"],["","imagick.getimagelength","example"],["Imagick::getImageLength","imagick.getimagelength","refentry"],["Imagick::getImageMagickLicense","imagick.getimagemagicklicense","refentry"],["Imagick::getImageMatte","imagick.getimagematte","refentry"],["Imagick::getImageMatteColor","imagick.getimagemattecolor","refentry"],["Imagick::getImageOrientation","imagick.getimageorientation","refentry"],["Imagick::getImagePage","imagick.getimagepage","refentry"],["Imagick::getImagePixelColor","imagick.getimagepixelcolor","refentry"],["Imagick::getImageProfile","imagick.getimageprofile","refentry"],["Imagick::getImageProfiles","imagick.getimageprofiles","refentry"],["","imagick.getimageproperties","example"],["Imagick::getImageProperties","imagick.getimageproperties","refentry"],["","imagick.getimageproperty","example"],["Imagick::getImageProperty","imagick.getimageproperty","refentry"],["Imagick::getImageRedPrimary","imagick.getimageredprimary","refentry"],["Imagick::getImageRegion","imagick.getimageregion","refentry"],["Imagick::getImageRenderingIntent","imagick.getimagerenderingintent","refentry"],["Imagick::getImageResolution","imagick.getimageresolution","refentry"],["Imagick::getImagesBlob","imagick.getimagesblob","refentry"],["Imagick::getImageScene","imagick.getimagescene","refentry"],["Imagick::getImageSignature","imagick.getimagesignature","refentry"],["Imagick::getImageSize","imagick.getimagesize","refentry"],["Imagick::getImageTicksPerSecond","imagick.getimagetickspersecond","refentry"],["Imagick::getImageTotalInkDensity","imagick.getimagetotalinkdensity","refentry"],["Imagick::getImageType","imagick.getimagetype","refentry"],["Imagick::getImageUnits","imagick.getimageunits","refentry"],["Imagick::getImageVirtualPixelMethod","imagick.getimagevirtualpixelmethod","refentry"],["Imagick::getImageWhitePoint","imagick.getimagewhitepoint","refentry"],["Imagick::getImageWidth","imagick.getimagewidth","refentry"],["Imagick::getInterlaceScheme","imagick.getinterlacescheme","refentry"],["","imagick.getiteratorindex","example"],["Imagick::getIteratorIndex","imagick.getiteratorindex","refentry"],["Imagick::getNumberImages","imagick.getnumberimages","refentry"],["Imagick::getOption","imagick.getoption","refentry"],["Imagick::getPackageName","imagick.getpackagename","refentry"],["Imagick::getPage","imagick.getpage","refentry"],["Imagick::getPixelIterator","imagick.getpixeliterator","refentry"],["Imagick::getPixelRegionIterator","imagick.getpixelregioniterator","refentry"],["Imagick::getPointSize","imagick.getpointsize","refentry"],["Imagick::getQuantumDepth","imagick.getquantumdepth","refentry"],["Imagick::getQuantumRange","imagick.getquantumrange","refentry"],["Imagick::getReleaseDate","imagick.getreleasedate","refentry"],["Imagick::getResource","imagick.getresource","refentry"],["Imagick::getResourceLimit","imagick.getresourcelimit","refentry"],["Imagick::getSamplingFactors","imagick.getsamplingfactors","refentry"],["Imagick::getSize","imagick.getsize","refentry"],["Imagick::getSizeOffset","imagick.getsizeoffset","refentry"],["Imagick::getVersion","imagick.getversion","refentry"],["Imagick::haldClutImage","imagick.haldclutimage","refentry"],["Imagick::hasNextImage","imagick.hasnextimage","refentry"],["Imagick::hasPreviousImage","imagick.haspreviousimage","refentry"],["","imagick.identifyimage","example"],["Imagick::identifyImage","imagick.identifyimage","refentry"],["Imagick::implodeImage","imagick.implodeimage","refentry"],["","imagick.importimagepixels","example"],["Imagick::importImagePixels","imagick.importimagepixels","refentry"],["Imagick::labelImage","imagick.labelimage","refentry"],["Imagick::levelImage","imagick.levelimage","refentry"],["Imagick::linearStretchImage","imagick.linearstretchimage","refentry"],["Imagick::liquidRescaleImage","imagick.liquidrescaleimage","refentry"],["Imagick::magnifyImage","imagick.magnifyimage","refentry"],["Imagick::mapImage","imagick.mapimage","refentry"],["Imagick::matteFloodfillImage","imagick.mattefloodfillimage","refentry"],["Imagick::medianFilterImage","imagick.medianfilterimage","refentry"],["Imagick::mergeImageLayers","imagick.mergeimagelayers","refentry"],["Imagick::minifyImage","imagick.minifyimage","refentry"],["Imagick::modulateImage","imagick.modulateimage","refentry"],["Imagick::montageImage","imagick.montageimage","refentry"],["Imagick::morphImages","imagick.morphimages","refentry"],["Imagick::mosaicImages","imagick.mosaicimages","refentry"],["Imagick::motionBlurImage","imagick.motionblurimage","refentry"],["Imagick::negateImage","imagick.negateimage","refentry"],["","imagick.newimage","example"],["Imagick::newImage","imagick.newimage","refentry"],["Imagick::newPseudoImage","imagick.newpseudoimage","refentry"],["Imagick::nextImage","imagick.nextimage","refentry"],["Imagick::normalizeImage","imagick.normalizeimage","refentry"],["Imagick::oilPaintImage","imagick.oilpaintimage","refentry"],["Imagick::opaquePaintImage","imagick.opaquepaintimage","refentry"],["","imagick.optimizeimagelayers","example"],["Imagick::optimizeImageLayers","imagick.optimizeimagelayers","refentry"],["Imagick::orderedPosterizeImage","imagick.orderedposterizeimage","refentry"],["Imagick::paintFloodfillImage","imagick.paintfloodfillimage","refentry"],["Imagick::paintOpaqueImage","imagick.paintopaqueimage","refentry"],["Imagick::paintTransparentImage","imagick.painttransparentimage","refentry"],["Imagick::pingImage","imagick.pingimage","refentry"],["","imagick.pingimageblob","example"],["Imagick::pingImageBlob","imagick.pingimageblob","refentry"],["","imagick.pingimagefile","example"],["Imagick::pingImageFile","imagick.pingimagefile","refentry"],["","imagick.polaroidimage","example"],["Imagick::polaroidImage","imagick.polaroidimage","refentry"],["Imagick::posterizeImage","imagick.posterizeimage","refentry"],["Imagick::previewImages","imagick.previewimages","refentry"],["Imagick::previousImage","imagick.previousimage","refentry"],["Imagick::profileImage","imagick.profileimage","refentry"],["Imagick::quantizeImage","imagick.quantizeimage","refentry"],["Imagick::quantizeImages","imagick.quantizeimages","refentry"],["","imagick.queryfontmetrics","example"],["Imagick::queryFontMetrics","imagick.queryfontmetrics","refentry"],["Imagick::queryFonts","imagick.queryfonts","refentry"],["Imagick::queryFormats","imagick.queryformats","refentry"],["Imagick::radialBlurImage","imagick.radialblurimage","refentry"],["Imagick::raiseImage","imagick.raiseimage","refentry"],["Imagick::randomThresholdImage","imagick.randomthresholdimage","refentry"],["Imagick::readImage","imagick.readimage","refentry"],["Imagick::readImageBlob","imagick.readimageblob","refentry"],["Imagick::readImageFile","imagick.readimagefile","refentry"],["Imagick::recolorImage","imagick.recolorimage","refentry"],["Imagick::reduceNoiseImage","imagick.reducenoiseimage","refentry"],["Imagick::remapImage","imagick.remapimage","refentry"],["Imagick::removeImage","imagick.removeimage","refentry"],["Imagick::removeImageProfile","imagick.removeimageprofile","refentry"],["Imagick::render","imagick.render","refentry"],["Imagick::resampleImage","imagick.resampleimage","refentry"],["Imagick::resetImagePage","imagick.resetimagepage","refentry"],["Imagick::resizeImage","imagick.resizeimage","refentry"],["Imagick::rollImage","imagick.rollimage","refentry"],["Imagick::rotateImage","imagick.rotateimage","refentry"],["","imagick.roundcorners","example"],["Imagick::roundCorners","imagick.roundcorners","refentry"],["Imagick::sampleImage","imagick.sampleimage","refentry"],["Imagick::scaleImage","imagick.scaleimage","refentry"],["Imagick::segmentImage","imagick.segmentimage","refentry"],["Imagick::separateImageChannel","imagick.separateimagechannel","refentry"],["Imagick::sepiaToneImage","imagick.sepiatoneimage","refentry"],["Imagick::setBackgroundColor","imagick.setbackgroundcolor","refentry"],["Imagick::setColorspace","imagick.setcolorspace","refentry"],["Imagick::setCompression","imagick.setcompression","refentry"],["Imagick::setCompressionQuality","imagick.setcompressionquality","refentry"],["Imagick::setFilename","imagick.setfilename","refentry"],["Imagick::setFirstIterator","imagick.setfirstiterator","refentry"],["","imagick.setfont","example"],["Imagick::setFont","imagick.setfont","refentry"],["Imagick::setFormat","imagick.setformat","refentry"],["Imagick::setGravity","imagick.setgravity","refentry"],["","imagick.setimage","example"],["Imagick::setImage","imagick.setimage","refentry"],["Imagick::setImageAlphaChannel","imagick.setimagealphachannel","refentry"],["Imagick::setImageArtifact","imagick.setimageartifact","refentry"],["Imagick::setImageBackgroundColor","imagick.setimagebackgroundcolor","refentry"],["Imagick::setImageBias","imagick.setimagebias","refentry"],["Imagick::setImageBluePrimary","imagick.setimageblueprimary","refentry"],["Imagick::setImageBorderColor","imagick.setimagebordercolor","refentry"],["Imagick::setImageChannelDepth","imagick.setimagechanneldepth","refentry"],["Imagick::setImageClipMask","imagick.setimageclipmask","refentry"],["Imagick::setImageColormapColor","imagick.setimagecolormapcolor","refentry"],["Imagick::setImageColorspace","imagick.setimagecolorspace","refentry"],["Imagick::setImageCompose","imagick.setimagecompose","refentry"],["Imagick::setImageCompression","imagick.setimagecompression","refentry"],["Imagick::setImageCompressionQuality","imagick.setimagecompressionquality","refentry"],["","imagick.setimagedelay","example"],["Imagick::setImageDelay","imagick.setimagedelay","refentry"],["Imagick::setImageDepth","imagick.setimagedepth","refentry"],["Imagick::setImageDispose","imagick.setimagedispose","refentry"],["Imagick::setImageExtent","imagick.setimageextent","refentry"],["Imagick::setImageFilename","imagick.setimagefilename","refentry"],["Imagick::setImageFormat","imagick.setimageformat","refentry"],["Imagick::setImageGamma","imagick.setimagegamma","refentry"],["Imagick::setImageGravity","imagick.setimagegravity","refentry"],["Imagick::setImageGreenPrimary","imagick.setimagegreenprimary","refentry"],["Imagick::setImageIndex","imagick.setimageindex","refentry"],["Imagick::setImageInterlaceScheme","imagick.setimageinterlacescheme","refentry"],["Imagick::setImageInterpolateMethod","imagick.setimageinterpolatemethod","refentry"],["","imagick.setimageiterations","example"],["Imagick::setImageIterations","imagick.setimageiterations","refentry"],["Imagick::setImageMatte","imagick.setimagematte","refentry"],["Imagick::setImageMatteColor","imagick.setimagemattecolor","refentry"],["","imagick.setimageopacity","example"],["Imagick::setImageOpacity","imagick.setimageopacity","refentry"],["Imagick::setImageOrientation","imagick.setimageorientation","refentry"],["Imagick::setImagePage","imagick.setimagepage","refentry"],["Imagick::setImageProfile","imagick.setimageprofile","refentry"],["","imagick.setimageproperty","example"],["Imagick::setImageProperty","imagick.setimageproperty","refentry"],["Imagick::setImageRedPrimary","imagick.setimageredprimary","refentry"],["Imagick::setImageRenderingIntent","imagick.setimagerenderingintent","refentry"],["Imagick::setImageResolution","imagick.setimageresolution","refentry"],["Imagick::setImageScene","imagick.setimagescene","refentry"],["","imagick.setimagetickspersecond","example"],["Imagick::setImageTicksPerSecond","imagick.setimagetickspersecond","refentry"],["Imagick::setImageType","imagick.setimagetype","refentry"],["Imagick::setImageUnits","imagick.setimageunits","refentry"],["Imagick::setImageVirtualPixelMethod","imagick.setimagevirtualpixelmethod","refentry"],["Imagick::setImageWhitePoint","imagick.setimagewhitepoint","refentry"],["Imagick::setInterlaceScheme","imagick.setinterlacescheme","refentry"],["","imagick.setiteratorindex","example"],["Imagick::setIteratorIndex","imagick.setiteratorindex","refentry"],["Imagick::setLastIterator","imagick.setlastiterator","refentry"],["Imagick::setOption","imagick.setoption","refentry"],["Imagick::setPage","imagick.setpage","refentry"],["","imagick.setpointsize","example"],["Imagick::setPointSize","imagick.setpointsize","refentry"],["Imagick::setResolution","imagick.setresolution","refentry"],["Imagick::setResourceLimit","imagick.setresourcelimit","refentry"],["Imagick::setSamplingFactors","imagick.setsamplingfactors","refentry"],["Imagick::setSize","imagick.setsize","refentry"],["Imagick::setSizeOffset","imagick.setsizeoffset","refentry"],["Imagick::setType","imagick.settype","refentry"],["Imagick::shadeImage","imagick.shadeimage","refentry"],["Imagick::shadowImage","imagick.shadowimage","refentry"],["Imagick::sharpenImage","imagick.sharpenimage","refentry"],["Imagick::shaveImage","imagick.shaveimage","refentry"],["Imagick::shearImage","imagick.shearimage","refentry"],["Imagick::sigmoidalContrastImage","imagick.sigmoidalcontrastimage","refentry"],["Imagick::sketchImage","imagick.sketchimage","refentry"],["Imagick::solarizeImage","imagick.solarizeimage","refentry"],["Imagick::sparseColorImage","imagick.sparsecolorimage","refentry"],["Imagick::spliceImage","imagick.spliceimage","refentry"],["Imagick::spreadImage","imagick.spreadimage","refentry"],["Imagick::steganoImage","imagick.steganoimage","refentry"],["Imagick::stereoImage","imagick.stereoimage","refentry"],["Imagick::stripImage","imagick.stripimage","refentry"],["Imagick::swirlImage","imagick.swirlimage","refentry"],["Imagick::textureImage","imagick.textureimage","refentry"],["Imagick::thresholdImage","imagick.thresholdimage","refentry"],["Imagick::thumbnailImage","imagick.thumbnailimage","refentry"],["Imagick::tintImage","imagick.tintimage","refentry"],["","imagick.transformimage","example"],["Imagick::transformImage","imagick.transformimage","refentry"],["Imagick::transparentPaintImage","imagick.transparentpaintimage","refentry"],["Imagick::transposeImage","imagick.transposeimage","refentry"],["Imagick::transverseImage","imagick.transverseimage","refentry"],["","imagick.trimimage","example"],["Imagick::trimImage","imagick.trimimage","refentry"],["Imagick::uniqueImageColors","imagick.uniqueimagecolors","refentry"],["Imagick::unsharpMaskImage","imagick.unsharpmaskimage","refentry"],["Imagick::valid","imagick.valid","refentry"],["Imagick::vignetteImage","imagick.vignetteimage","refentry"],["Imagick::waveImage","imagick.waveimage","refentry"],["Imagick::whiteThresholdImage","imagick.whitethresholdimage","refentry"],["Imagick::writeImage","imagick.writeimage","refentry"],["Imagick::writeImageFile","imagick.writeimagefile","refentry"],["Imagick::writeImages","imagick.writeimages","refentry"],["Imagick::writeImagesFile","imagick.writeimagesfile","refentry"],["Imagick","class.imagick","phpdoc:classref"],["","class.imagickdraw","section"],["ImagickDraw::affine","imagickdraw.affine","refentry"],["ImagickDraw::annotation","imagickdraw.annotation","refentry"],["ImagickDraw::arc","imagickdraw.arc","refentry"],["ImagickDraw::bezier","imagickdraw.bezier","refentry"],["ImagickDraw::circle","imagickdraw.circle","refentry"],["ImagickDraw::clear","imagickdraw.clear","refentry"],["ImagickDraw::clone","imagickdraw.clone","refentry"],["ImagickDraw::color","imagickdraw.color","refentry"],["ImagickDraw::comment","imagickdraw.comment","refentry"],["ImagickDraw::composite","imagickdraw.composite","refentry"],["ImagickDraw::__construct","imagickdraw.construct","refentry"],["ImagickDraw::destroy","imagickdraw.destroy","refentry"],["ImagickDraw::ellipse","imagickdraw.ellipse","refentry"],["ImagickDraw::getClipPath","imagickdraw.getclippath","refentry"],["ImagickDraw::getClipRule","imagickdraw.getcliprule","refentry"],["ImagickDraw::getClipUnits","imagickdraw.getclipunits","refentry"],["ImagickDraw::getFillColor","imagickdraw.getfillcolor","refentry"],["ImagickDraw::getFillOpacity","imagickdraw.getfillopacity","refentry"],["ImagickDraw::getFillRule","imagickdraw.getfillrule","refentry"],["ImagickDraw::getFont","imagickdraw.getfont","refentry"],["ImagickDraw::getFontFamily","imagickdraw.getfontfamily","refentry"],["ImagickDraw::getFontSize","imagickdraw.getfontsize","refentry"],["ImagickDraw::getFontStyle","imagickdraw.getfontstyle","refentry"],["ImagickDraw::getFontWeight","imagickdraw.getfontweight","refentry"],["ImagickDraw::getGravity","imagickdraw.getgravity","refentry"],["ImagickDraw::getStrokeAntialias","imagickdraw.getstrokeantialias","refentry"],["ImagickDraw::getStrokeColor","imagickdraw.getstrokecolor","refentry"],["ImagickDraw::getStrokeDashArray","imagickdraw.getstrokedasharray","refentry"],["ImagickDraw::getStrokeDashOffset","imagickdraw.getstrokedashoffset","refentry"],["ImagickDraw::getStrokeLineCap","imagickdraw.getstrokelinecap","refentry"],["ImagickDraw::getStrokeLineJoin","imagickdraw.getstrokelinejoin","refentry"],["ImagickDraw::getStrokeMiterLimit","imagickdraw.getstrokemiterlimit","refentry"],["ImagickDraw::getStrokeOpacity","imagickdraw.getstrokeopacity","refentry"],["ImagickDraw::getStrokeWidth","imagickdraw.getstrokewidth","refentry"],["ImagickDraw::getTextAlignment","imagickdraw.gettextalignment","refentry"],["ImagickDraw::getTextAntialias","imagickdraw.gettextantialias","refentry"],["ImagickDraw::getTextDecoration","imagickdraw.gettextdecoration","refentry"],["ImagickDraw::getTextEncoding","imagickdraw.gettextencoding","refentry"],["ImagickDraw::getTextUnderColor","imagickdraw.gettextundercolor","refentry"],["ImagickDraw::getVectorGraphics","imagickdraw.getvectorgraphics","refentry"],["ImagickDraw::line","imagickdraw.line","refentry"],["ImagickDraw::matte","imagickdraw.matte","refentry"],["ImagickDraw::pathClose","imagickdraw.pathclose","refentry"],["ImagickDraw::pathCurveToAbsolute","imagickdraw.pathcurvetoabsolute","refentry"],["ImagickDraw::pathCurveToQuadraticBezierAbsolute","imagickdraw.pathcurvetoquadraticbezierabsolute","refentry"],["ImagickDraw::pathCurveToQuadraticBezierRelative","imagickdraw.pathcurvetoquadraticbezierrelative","refentry"],["ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute","imagickdraw.pathcurvetoquadraticbeziersmoothabsolute","refentry"],["ImagickDraw::pathCurveToQuadraticBezierSmoothRelative","imagickdraw.pathcurvetoquadraticbeziersmoothrelative","refentry"],["ImagickDraw::pathCurveToRelative","imagickdraw.pathcurvetorelative","refentry"],["ImagickDraw::pathCurveToSmoothAbsolute","imagickdraw.pathcurvetosmoothabsolute","refentry"],["ImagickDraw::pathCurveToSmoothRelative","imagickdraw.pathcurvetosmoothrelative","refentry"],["ImagickDraw::pathEllipticArcAbsolute","imagickdraw.pathellipticarcabsolute","refentry"],["ImagickDraw::pathEllipticArcRelative","imagickdraw.pathellipticarcrelative","refentry"],["ImagickDraw::pathFinish","imagickdraw.pathfinish","refentry"],["ImagickDraw::pathLineToAbsolute","imagickdraw.pathlinetoabsolute","refentry"],["ImagickDraw::pathLineToHorizontalAbsolute","imagickdraw.pathlinetohorizontalabsolute","refentry"],["ImagickDraw::pathLineToHorizontalRelative","imagickdraw.pathlinetohorizontalrelative","refentry"],["ImagickDraw::pathLineToRelative","imagickdraw.pathlinetorelative","refentry"],["ImagickDraw::pathLineToVerticalAbsolute","imagickdraw.pathlinetoverticalabsolute","refentry"],["ImagickDraw::pathLineToVerticalRelative","imagickdraw.pathlinetoverticalrelative","refentry"],["ImagickDraw::pathMoveToAbsolute","imagickdraw.pathmovetoabsolute","refentry"],["ImagickDraw::pathMoveToRelative","imagickdraw.pathmovetorelative","refentry"],["ImagickDraw::pathStart","imagickdraw.pathstart","refentry"],["ImagickDraw::point","imagickdraw.point","refentry"],["ImagickDraw::polygon","imagickdraw.polygon","refentry"],["ImagickDraw::polyline","imagickdraw.polyline","refentry"],["ImagickDraw::pop","imagickdraw.pop","refentry"],["ImagickDraw::popClipPath","imagickdraw.popclippath","refentry"],["ImagickDraw::popDefs","imagickdraw.popdefs","refentry"],["ImagickDraw::popPattern","imagickdraw.poppattern","refentry"],["ImagickDraw::push","imagickdraw.push","refentry"],["ImagickDraw::pushClipPath","imagickdraw.pushclippath","refentry"],["ImagickDraw::pushDefs","imagickdraw.pushdefs","refentry"],["ImagickDraw::pushPattern","imagickdraw.pushpattern","refentry"],["ImagickDraw::rectangle","imagickdraw.rectangle","refentry"],["ImagickDraw::render","imagickdraw.render","refentry"],["ImagickDraw::rotate","imagickdraw.rotate","refentry"],["ImagickDraw::roundRectangle","imagickdraw.roundrectangle","refentry"],["ImagickDraw::scale","imagickdraw.scale","refentry"],["ImagickDraw::setClipPath","imagickdraw.setclippath","refentry"],["ImagickDraw::setClipRule","imagickdraw.setcliprule","refentry"],["ImagickDraw::setClipUnits","imagickdraw.setclipunits","refentry"],["ImagickDraw::setFillAlpha","imagickdraw.setfillalpha","refentry"],["ImagickDraw::setFillColor","imagickdraw.setfillcolor","refentry"],["ImagickDraw::setFillOpacity","imagickdraw.setfillopacity","refentry"],["ImagickDraw::setFillPatternURL","imagickdraw.setfillpatternurl","refentry"],["ImagickDraw::setFillRule","imagickdraw.setfillrule","refentry"],["ImagickDraw::setFont","imagickdraw.setfont","refentry"],["ImagickDraw::setFontFamily","imagickdraw.setfontfamily","refentry"],["ImagickDraw::setFontSize","imagickdraw.setfontsize","refentry"],["ImagickDraw::setFontStretch","imagickdraw.setfontstretch","refentry"],["ImagickDraw::setFontStyle","imagickdraw.setfontstyle","refentry"],["ImagickDraw::setFontWeight","imagickdraw.setfontweight","refentry"],["ImagickDraw::setGravity","imagickdraw.setgravity","refentry"],["ImagickDraw::setStrokeAlpha","imagickdraw.setstrokealpha","refentry"],["ImagickDraw::setStrokeAntialias","imagickdraw.setstrokeantialias","refentry"],["ImagickDraw::setStrokeColor","imagickdraw.setstrokecolor","refentry"],["ImagickDraw::setStrokeDashArray","imagickdraw.setstrokedasharray","refentry"],["ImagickDraw::setStrokeDashOffset","imagickdraw.setstrokedashoffset","refentry"],["ImagickDraw::setStrokeLineCap","imagickdraw.setstrokelinecap","refentry"],["ImagickDraw::setStrokeLineJoin","imagickdraw.setstrokelinejoin","refentry"],["ImagickDraw::setStrokeMiterLimit","imagickdraw.setstrokemiterlimit","refentry"],["ImagickDraw::setStrokeOpacity","imagickdraw.setstrokeopacity","refentry"],["ImagickDraw::setStrokePatternURL","imagickdraw.setstrokepatternurl","refentry"],["ImagickDraw::setStrokeWidth","imagickdraw.setstrokewidth","refentry"],["ImagickDraw::setTextAlignment","imagickdraw.settextalignment","refentry"],["ImagickDraw::setTextAntialias","imagickdraw.settextantialias","refentry"],["ImagickDraw::setTextDecoration","imagickdraw.settextdecoration","refentry"],["ImagickDraw::setTextEncoding","imagickdraw.settextencoding","refentry"],["ImagickDraw::setTextUnderColor","imagickdraw.settextundercolor","refentry"],["ImagickDraw::setVectorGraphics","imagickdraw.setvectorgraphics","refentry"],["ImagickDraw::setViewbox","imagickdraw.setviewbox","refentry"],["ImagickDraw::skewX","imagickdraw.skewx","refentry"],["ImagickDraw::skewY","imagickdraw.skewy","refentry"],["ImagickDraw::translate","imagickdraw.translate","refentry"],["ImagickDraw","class.imagickdraw","phpdoc:classref"],["","class.imagickpixel","section"],["ImagickPixel::clear","imagickpixel.clear","refentry"],["ImagickPixel::__construct","imagickpixel.construct","refentry"],["ImagickPixel::destroy","imagickpixel.destroy","refentry"],["","imagickpixel.getcolor","example"],["ImagickPixel::getColor","imagickpixel.getcolor","refentry"],["","imagickpixel.getcolorasstring","example"],["ImagickPixel::getColorAsString","imagickpixel.getcolorasstring","refentry"],["ImagickPixel::getColorCount","imagickpixel.getcolorcount","refentry"],["","imagickpixel.getcolorvalue","example"],["ImagickPixel::getColorValue","imagickpixel.getcolorvalue","refentry"],["","imagickpixel.gethsl","example"],["ImagickPixel::getHSL","imagickpixel.gethsl","refentry"],["ImagickPixel::isPixelSimilar","imagickpixel.ispixelsimilar","refentry"],["ImagickPixel::isSimilar","imagickpixel.issimilar","refentry"],["ImagickPixel::setColor","imagickpixel.setcolor","refentry"],["","imagickpixel.setcolorvalue","example"],["ImagickPixel::setColorValue","imagickpixel.setcolorvalue","refentry"],["","imagickpixel.sethsl","example"],["ImagickPixel::setHSL","imagickpixel.sethsl","refentry"],["ImagickPixel","class.imagickpixel","phpdoc:classref"],["","class.imagickpixeliterator","section"],["ImagickPixelIterator::clear","imagickpixeliterator.clear","refentry"],["ImagickPixelIterator::__construct","imagickpixeliterator.construct","refentry"],["ImagickPixelIterator::destroy","imagickpixeliterator.destroy","refentry"],["ImagickPixelIterator::getCurrentIteratorRow","imagickpixeliterator.getcurrentiteratorrow","refentry"],["ImagickPixelIterator::getIteratorRow","imagickpixeliterator.getiteratorrow","refentry"],["ImagickPixelIterator::getNextIteratorRow","imagickpixeliterator.getnextiteratorrow","refentry"],["ImagickPixelIterator::getPreviousIteratorRow","imagickpixeliterator.getpreviousiteratorrow","refentry"],["ImagickPixelIterator::newPixelIterator","imagickpixeliterator.newpixeliterator","refentry"],["ImagickPixelIterator::newPixelRegionIterator","imagickpixeliterator.newpixelregioniterator","refentry"],["ImagickPixelIterator::resetIterator","imagickpixeliterator.resetiterator","refentry"],["ImagickPixelIterator::setIteratorFirstRow","imagickpixeliterator.setiteratorfirstrow","refentry"],["ImagickPixelIterator::setIteratorLastRow","imagickpixeliterator.setiteratorlastrow","refentry"],["ImagickPixelIterator::setIteratorRow","imagickpixeliterator.setiteratorrow","refentry"],["ImagickPixelIterator::syncIterator","imagickpixeliterator.synciterator","refentry"],["ImagickPixelIterator","class.imagickpixeliterator","phpdoc:classref"],["ImageMagick","book.imagick","book"],["","refs.utilspec.image","set"],["","intro.cyrus","preface"],["","cyrus.requirements","section"],["","cyrus.installation","section"],["","cyrus.configuration","section"],["","cyrus.resources","section"],["","cyrus.setup","chapter"],["","cyrus.constants","varlistentry"],["","cyrus.constants","varlistentry"],["","cyrus.constants","varlistentry"],["","cyrus.constants","varlistentry"],["","cyrus.constants","appendix"],["cyrus_authenticate","function.cyrus-authenticate","refentry"],["cyrus_bind","function.cyrus-bind","refentry"],["cyrus_close","function.cyrus-close","refentry"],["cyrus_connect","function.cyrus-connect","refentry"],["cyrus_query","function.cyrus-query","refentry"],["cyrus_unbind","function.cyrus-unbind","refentry"],["","ref.cyrus","reference"],["Cyrus","book.cyrus","book"],["","intro.imap","preface"],["","imap.requirements","section"],["","imap.installation","section"],["","imap.configuration","section"],["","imap.resources","section"],["","imap.setup","chapter"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","varlistentry"],["","imap.constants","appendix"],["imap_8bit","function.imap-8bit","refentry"],["imap_alerts","function.imap-alerts","refentry"],["","function.imap-append","example"],["imap_append","function.imap-append","refentry"],["imap_base64","function.imap-base64","refentry"],["imap_binary","function.imap-binary","refentry"],["imap_body","function.imap-body","refentry"],["imap_bodystruct","function.imap-bodystruct","refentry"],["","function.imap-check","example"],["imap_check","function.imap-check","refentry"],["imap_clearflag_full","function.imap-clearflag-full","refentry"],["imap_close","function.imap-close","refentry"],["imap_create","function.imap-create","refentry"],["","function.imap-createmailbox","example"],["imap_createmailbox","function.imap-createmailbox","refentry"],["","function.imap-delete","example"],["imap_delete","function.imap-delete","refentry"],["imap_deletemailbox","function.imap-deletemailbox","refentry"],["imap_errors","function.imap-errors","refentry"],["imap_expunge","function.imap-expunge","refentry"],["","function.imap-fetch-overview","example"],["imap_fetch_overview","function.imap-fetch-overview","refentry"],["imap_fetchbody","function.imap-fetchbody","refentry"],["imap_fetchheader","function.imap-fetchheader","refentry"],["imap_fetchmime","function.imap-fetchmime","refentry"],["imap_fetchstructure","function.imap-fetchstructure","refentry"],["imap_fetchtext","function.imap-fetchtext","refentry"],["","function.imap-gc","example"],["imap_gc","function.imap-gc","refentry"],["","function.imap-get-quota","example"],["","function.imap-get-quota","example"],["imap_get_quota","function.imap-get-quota","refentry"],["","function.imap-get-quotaroot","example"],["imap_get_quotaroot","function.imap-get-quotaroot","refentry"],["","function.imap-getacl","example"],["imap_getacl","function.imap-getacl","refentry"],["","function.imap-getmailboxes","example"],["imap_getmailboxes","function.imap-getmailboxes","refentry"],["imap_getsubscribed","function.imap-getsubscribed","refentry"],["imap_header","function.imap-header","refentry"],["imap_headerinfo","function.imap-headerinfo","refentry"],["imap_headers","function.imap-headers","refentry"],["imap_last_error","function.imap-last-error","refentry"],["","function.imap-list","example"],["imap_list","function.imap-list","refentry"],["imap_listmailbox","function.imap-listmailbox","refentry"],["imap_listscan","function.imap-listscan","refentry"],["imap_listsubscribed","function.imap-listsubscribed","refentry"],["imap_lsub","function.imap-lsub","refentry"],["","function.imap-mail-compose","example"],["imap_mail_compose","function.imap-mail-compose","refentry"],["imap_mail_copy","function.imap-mail-copy","refentry"],["imap_mail_move","function.imap-mail-move","refentry"],["imap_mail","function.imap-mail","refentry"],["","function.imap-mailboxmsginfo","example"],["imap_mailboxmsginfo","function.imap-mailboxmsginfo","refentry"],["","function.imap-mime-header-decode","example"],["imap_mime_header_decode","function.imap-mime-header-decode","refentry"],["imap_msgno","function.imap-msgno","refentry"],["imap_num_msg","function.imap-num-msg","refentry"],["imap_num_recent","function.imap-num-recent","refentry"],["","function.imap-open","example"],["","function.imap-open","example"],["imap_open","function.imap-open","refentry"],["","function.imap-ping","example"],["imap_ping","function.imap-ping","refentry"],["imap_qprint","function.imap-qprint","refentry"],["imap_rename","function.imap-rename","refentry"],["imap_renamemailbox","function.imap-renamemailbox","refentry"],["","function.imap-reopen","example"],["imap_reopen","function.imap-reopen","refentry"],["","function.imap-rfc822-parse-adrlist","example"],["imap_rfc822_parse_adrlist","function.imap-rfc822-parse-adrlist","refentry"],["imap_rfc822_parse_headers","function.imap-rfc822-parse-headers","refentry"],["","function.imap-rfc822-write-address","example"],["imap_rfc822_write_address","function.imap-rfc822-write-address","refentry"],["imap_savebody","function.imap-savebody","refentry"],["imap_scan","function.imap-scan","refentry"],["imap_scanmailbox","function.imap-scanmailbox","refentry"],["","function.imap-search","example"],["imap_search","function.imap-search","refentry"],["","function.imap-set-quota","example"],["imap_set_quota","function.imap-set-quota","refentry"],["imap_setacl","function.imap-setacl","refentry"],["","function.imap-setflag-full","example"],["imap_setflag_full","function.imap-setflag-full","refentry"],["imap_sort","function.imap-sort","refentry"],["","function.imap-status","example"],["imap_status","function.imap-status","refentry"],["imap_subscribe","function.imap-subscribe","refentry"],["","function.imap-thread","example"],["imap_thread","function.imap-thread","refentry"],["","function.imap-timeout","example"],["imap_timeout","function.imap-timeout","refentry"],["imap_uid","function.imap-uid","refentry"],["imap_undelete","function.imap-undelete","refentry"],["imap_unsubscribe","function.imap-unsubscribe","refentry"],["imap_utf7_decode","function.imap-utf7-decode","refentry"],["imap_utf7_encode","function.imap-utf7-encode","refentry"],["imap_utf8","function.imap-utf8","refentry"],["","ref.imap","reference"],["IMAP","book.imap","book"],["","intro.mail","preface"],["","mail.requirements","section"],["","mail.installation","section"],["","mail.configuration","varlistentry"],["","mail.configuration","varlistentry"],["","mail.configuration","varlistentry"],["","mail.configuration","varlistentry"],["","mail.configuration","varlistentry"],["","mail.configuration","varlistentry"],["","mail.configuration","section"],["","mail.resources","section"],["","mail.setup","chapter"],["","mail.constants","appendix"],["","function.ezmlm-hash","example"],["ezmlm_hash","function.ezmlm-hash","refentry"],["","function.mail","example"],["","function.mail","example"],["","function.mail","example"],["","function.mail","example"],["mail","function.mail","refentry"],["","ref.mail","reference"],["","book.mail","book"],["","intro.mailparse","preface"],["","mailparse.requirements","section"],["","mailparse.installation","para"],["","mailparse.installation","section"],["","mailparse.configuration","section"],["","mailparse.resources","section"],["","mailparse.setup","chapter"],["","mailparse.constants","varlistentry"],["","mailparse.constants","varlistentry"],["","mailparse.constants","varlistentry"],["","mailparse.constants","appendix"],["","function.mailparse-determine-best-xfer-encoding","example"],["mailparse_determine_best_xfer_encoding","function.mailparse-determine-best-xfer-encoding","refentry"],["mailparse_msg_create","function.mailparse-msg-create","refentry"],["mailparse_msg_extract_part_file","function.mailparse-msg-extract-part-file","refentry"],["mailparse_msg_extract_part","function.mailparse-msg-extract-part","refentry"],["mailparse_msg_extract_whole_part_file","function.mailparse-msg-extract-whole-part-file","refentry"],["mailparse_msg_free","function.mailparse-msg-free","refentry"],["mailparse_msg_get_part_data","function.mailparse-msg-get-part-data","refentry"],["mailparse_msg_get_part","function.mailparse-msg-get-part","refentry"],["mailparse_msg_get_structure","function.mailparse-msg-get-structure","refentry"],["mailparse_msg_parse_file","function.mailparse-msg-parse-file","refentry"],["mailparse_msg_parse","function.mailparse-msg-parse","refentry"],["","function.mailparse-rfc822-parse-addresses","example"],["mailparse_rfc822_parse_addresses","function.mailparse-rfc822-parse-addresses","refentry"],["","function.mailparse-stream-encode","example"],["mailparse_stream_encode","function.mailparse-stream-encode","refentry"],["","function.mailparse-uudecode-all","example"],["mailparse_uudecode_all","function.mailparse-uudecode-all","refentry"],["","ref.mailparse","reference"],["","book.mailparse","book"],["","intro.vpopmail","preface"],["","vpopmail.requirements","section"],["","vpopmail.installation","section"],["","vpopmail.configuration","section"],["","vpopmail.resources","section"],["","vpopmail.setup","chapter"],["","vpopmail.constants","appendix"],["vpopmail_add_alias_domain_ex","function.vpopmail-add-alias-domain-ex","refentry"],["vpopmail_add_alias_domain","function.vpopmail-add-alias-domain","refentry"],["vpopmail_add_domain_ex","function.vpopmail-add-domain-ex","refentry"],["vpopmail_add_domain","function.vpopmail-add-domain","refentry"],["vpopmail_add_user","function.vpopmail-add-user","refentry"],["vpopmail_alias_add","function.vpopmail-alias-add","refentry"],["vpopmail_alias_del_domain","function.vpopmail-alias-del-domain","refentry"],["vpopmail_alias_del","function.vpopmail-alias-del","refentry"],["vpopmail_alias_get_all","function.vpopmail-alias-get-all","refentry"],["vpopmail_alias_get","function.vpopmail-alias-get","refentry"],["vpopmail_auth_user","function.vpopmail-auth-user","refentry"],["vpopmail_del_domain_ex","function.vpopmail-del-domain-ex","refentry"],["vpopmail_del_domain","function.vpopmail-del-domain","refentry"],["vpopmail_del_user","function.vpopmail-del-user","refentry"],["vpopmail_error","function.vpopmail-error","refentry"],["vpopmail_passwd","function.vpopmail-passwd","refentry"],["vpopmail_set_user_quota","function.vpopmail-set-user-quota","refentry"],["","ref.vpopmail","reference"],["","book.vpopmail","book"],["","refs.remote.mail","set"],["","intro.bc","preface"],["","bc.requirements","section"],["","bc.installation","section"],["","bc.configuration","varlistentry"],["","bc.configuration","section"],["","bc.resources","section"],["","bc.setup","chapter"],["","bc.constants","appendix"],["","function.bcadd","example"],["bcadd","function.bcadd","refentry"],["","function.bccomp","example"],["bccomp","function.bccomp","refentry"],["","function.bcdiv","example"],["bcdiv","function.bcdiv","refentry"],["","function.bcmod","example"],["bcmod","function.bcmod","refentry"],["","function.bcmul","example"],["bcmul","function.bcmul","refentry"],["","function.bcpow","example"],["","function.bcpow","example"],["bcpow","function.bcpow","refentry"],["bcpowmod","function.bcpowmod","refentry"],["","function.bcscale","example"],["bcscale","function.bcscale","refentry"],["","function.bcsqrt","example"],["bcsqrt","function.bcsqrt","refentry"],["","function.bcsub","example"],["bcsub","function.bcsub","refentry"],["","ref.bc","reference"],["BC Math","book.bc","book"],["","intro.gmp","preface"],["","gmp.requirements","section"],["","gmp.installation","section"],["","gmp.configuration","section"],["","gmp.resources","section"],["","gmp.setup","chapter"],["","gmp.constants","varlistentry"],["","gmp.constants","varlistentry"],["","gmp.constants","varlistentry"],["","gmp.constants","varlistentry"],["","gmp.constants","appendix"],["","gmp.examples","example"],["","gmp.examples","chapter"],["","ref.gmp","section"],["","function.gmp-abs","example"],["gmp_abs","function.gmp-abs","refentry"],["","function.gmp-add","example"],["gmp_add","function.gmp-add","refentry"],["","function.gmp-and","example"],["gmp_and","function.gmp-and","refentry"],["","function.gmp-clrbit","example"],["gmp_clrbit","function.gmp-clrbit","refentry"],["","function.gmp-cmp","example"],["gmp_cmp","function.gmp-cmp","refentry"],["","function.gmp-com","example"],["gmp_com","function.gmp-com","refentry"],["","function.gmp-div-q","example"],["gmp_div_q","function.gmp-div-q","refentry"],["","function.gmp-div-qr","example"],["gmp_div_qr","function.gmp-div-qr","refentry"],["","function.gmp-div-r","example"],["gmp_div_r","function.gmp-div-r","refentry"],["gmp_div","function.gmp-div","refentry"],["","function.gmp-divexact","example"],["gmp_divexact","function.gmp-divexact","refentry"],["","function.gmp-fact","example"],["gmp_fact","function.gmp-fact","refentry"],["","function.gmp-gcd","example"],["gmp_gcd","function.gmp-gcd","refentry"],["","function.gmp-gcdext","example"],["gmp_gcdext","function.gmp-gcdext","refentry"],["","function.gmp-hamdist","example"],["gmp_hamdist","function.gmp-hamdist","refentry"],["","function.gmp-init","example"],["gmp_init","function.gmp-init","refentry"],["","function.gmp-intval","example"],["gmp_intval","function.gmp-intval","refentry"],["","function.gmp-invert","example"],["gmp_invert","function.gmp-invert","refentry"],["","function.gmp-jacobi","example"],["gmp_jacobi","function.gmp-jacobi","refentry"],["","function.gmp-legendre","example"],["gmp_legendre","function.gmp-legendre","refentry"],["","function.gmp-mod","example"],["gmp_mod","function.gmp-mod","refentry"],["","function.gmp-mul","example"],["gmp_mul","function.gmp-mul","refentry"],["","function.gmp-neg","example"],["gmp_neg","function.gmp-neg","refentry"],["","function.gmp-nextprime","example"],["gmp_nextprime","function.gmp-nextprime","refentry"],["","function.gmp-or","example"],["gmp_or","function.gmp-or","refentry"],["","function.gmp-perfect-square","example"],["gmp_perfect_square","function.gmp-perfect-square","refentry"],["","function.gmp-popcount","example"],["gmp_popcount","function.gmp-popcount","refentry"],["","function.gmp-pow","example"],["gmp_pow","function.gmp-pow","refentry"],["","function.gmp-powm","example"],["gmp_powm","function.gmp-powm","refentry"],["","function.gmp-prob-prime","example"],["gmp_prob_prime","function.gmp-prob-prime","refentry"],["","function.gmp-random","example"],["gmp_random","function.gmp-random","refentry"],["","function.gmp-scan0","example"],["gmp_scan0","function.gmp-scan0","refentry"],["","function.gmp-scan1","example"],["gmp_scan1","function.gmp-scan1","refentry"],["","function.gmp-setbit","example"],["","function.gmp-setbit","example"],["","function.gmp-setbit","example"],["gmp_setbit","function.gmp-setbit","refentry"],["","function.gmp-sign","example"],["gmp_sign","function.gmp-sign","refentry"],["","function.gmp-sqrt","example"],["gmp_sqrt","function.gmp-sqrt","refentry"],["","function.gmp-sqrtrem","example"],["gmp_sqrtrem","function.gmp-sqrtrem","refentry"],["","function.gmp-strval","example"],["gmp_strval","function.gmp-strval","refentry"],["","function.gmp-sub","example"],["gmp_sub","function.gmp-sub","refentry"],["","function.gmp-testbit","example"],["gmp_testbit","function.gmp-testbit","refentry"],["","function.gmp-xor","example"],["gmp_xor","function.gmp-xor","refentry"],["","ref.gmp","reference"],["GMP","book.gmp","book"],["","intro.lapack","preface"],["","lapack.requirements","section"],["","lapack.installation","section"],["","lapack.configuration","section"],["","lapack.resources","section"],["","lapack.setup","chapter"],["","lapack.constants","appendix"],["","class.lapack","section"],["","class.lapack","section"],["","lapack.eigenvalues","example"],["Lapack::eigenValues","lapack.eigenvalues","refentry"],["Lapack::identity","lapack.identity","refentry"],["","lapack.leastsquaresbyfactorisation","example"],["Lapack::leastSquaresByFactorisation","lapack.leastsquaresbyfactorisation","refentry"],["","lapack.leastsquaresbysvd","example"],["Lapack::leastSquaresBySVD","lapack.leastsquaresbysvd","refentry"],["","lapack.pseudoinverse","example"],["Lapack::pseudoInverse","lapack.pseudoinverse","refentry"],["","lapack.singularvalues","example"],["Lapack::singularValues","lapack.singularvalues","refentry"],["","lapack.solvelinearequation","example"],["Lapack::solveLinearEquation","lapack.solvelinearequation","refentry"],["Lapack","class.lapack","phpdoc:classref"],["","class.lapackexception","section"],["","class.lapackexception","section"],["LapackException","class.lapackexception","phpdoc:classref"],["Lapack","book.lapack","book"],["","intro.math","preface"],["","math.requirements","section"],["","math.installation","section"],["","math.configuration","section"],["","math.resources","section"],["","math.setup","chapter"],["","math.constants","appendix"],["","function.abs","example"],["abs","function.abs","refentry"],["acos","function.acos","refentry"],["acosh","function.acosh","refentry"],["asin","function.asin","refentry"],["asinh","function.asinh","refentry"],["atan2","function.atan2","refentry"],["atan","function.atan","refentry"],["atanh","function.atanh","refentry"],["","function.base-convert","example"],["base_convert","function.base-convert","refentry"],["","function.bindec","example"],["","function.bindec","example"],["bindec","function.bindec","refentry"],["","function.ceil","example"],["ceil","function.ceil","refentry"],["","function.cos","example"],["cos","function.cos","refentry"],["cosh","function.cosh","refentry"],["","function.decbin","example"],["decbin","function.decbin","refentry"],["","function.dechex","example"],["","function.dechex","example"],["dechex","function.dechex","refentry"],["","function.decoct","example"],["decoct","function.decoct","refentry"],["","function.deg2rad","example"],["deg2rad","function.deg2rad","refentry"],["","function.exp","example"],["exp","function.exp","refentry"],["expm1","function.expm1","refentry"],["","function.floor","example"],["floor","function.floor","refentry"],["","function.fmod","example"],["fmod","function.fmod","refentry"],["getrandmax","function.getrandmax","refentry"],["","function.hexdec","example"],["hexdec","function.hexdec","refentry"],["hypot","function.hypot","refentry"],["is_finite","function.is-finite","refentry"],["is_infinite","function.is-infinite","refentry"],["","function.is-nan","example"],["is_nan","function.is-nan","refentry"],["lcg_value","function.lcg-value","refentry"],["log10","function.log10","refentry"],["log1p","function.log1p","refentry"],["log","function.log","refentry"],["","function.max","example"],["max","function.max","refentry"],["","function.min","example"],["","function.min","example"],["min","function.min","refentry"],["","function.mt-getrandmax","example"],["mt_getrandmax","function.mt-getrandmax","refentry"],["","function.mt-rand","example"],["mt_rand","function.mt-rand","refentry"],["","function.mt-srand","example"],["mt_srand","function.mt-srand","refentry"],["","function.octdec","example"],["octdec","function.octdec","refentry"],["","function.pi","example"],["pi","function.pi","refentry"],["","function.pow","example"],["pow","function.pow","refentry"],["","function.rad2deg","example"],["rad2deg","function.rad2deg","refentry"],["","function.rand","example"],["rand","function.rand","refentry"],["","function.round","example"],["","function.round","example"],["","function.round","example"],["round","function.round","refentry"],["","function.sin","example"],["sin","function.sin","refentry"],["sinh","function.sinh","refentry"],["","function.sqrt","example"],["sqrt","function.sqrt","refentry"],["","function.srand","example"],["srand","function.srand","refentry"],["","function.tan","example"],["tan","function.tan","refentry"],["tanh","function.tanh","refentry"],["","ref.math","reference"],["Math","book.math","book"],["","intro.stats","preface"],["","stats.requirements","section"],["","stats.installation","section"],["","stats.configuration","section"],["","stats.resources","section"],["","stats.setup","chapter"],["","stats.constants","appendix"],["stats_absolute_deviation","function.stats-absolute-deviation","refentry"],["stats_cdf_beta","function.stats-cdf-beta","refentry"],["stats_cdf_binomial","function.stats-cdf-binomial","refentry"],["stats_cdf_cauchy","function.stats-cdf-cauchy","refentry"],["stats_cdf_chisquare","function.stats-cdf-chisquare","refentry"],["stats_cdf_exponential","function.stats-cdf-exponential","refentry"],["stats_cdf_f","function.stats-cdf-f","refentry"],["stats_cdf_gamma","function.stats-cdf-gamma","refentry"],["stats_cdf_laplace","function.stats-cdf-laplace","refentry"],["stats_cdf_logistic","function.stats-cdf-logistic","refentry"],["stats_cdf_negative_binomial","function.stats-cdf-negative-binomial","refentry"],["stats_cdf_noncentral_chisquare","function.stats-cdf-noncentral-chisquare","refentry"],["stats_cdf_noncentral_f","function.stats-cdf-noncentral-f","refentry"],["stats_cdf_poisson","function.stats-cdf-poisson","refentry"],["stats_cdf_t","function.stats-cdf-t","refentry"],["stats_cdf_uniform","function.stats-cdf-uniform","refentry"],["stats_cdf_weibull","function.stats-cdf-weibull","refentry"],["stats_covariance","function.stats-covariance","refentry"],["stats_den_uniform","function.stats-den-uniform","refentry"],["stats_dens_beta","function.stats-dens-beta","refentry"],["stats_dens_cauchy","function.stats-dens-cauchy","refentry"],["stats_dens_chisquare","function.stats-dens-chisquare","refentry"],["stats_dens_exponential","function.stats-dens-exponential","refentry"],["stats_dens_f","function.stats-dens-f","refentry"],["stats_dens_gamma","function.stats-dens-gamma","refentry"],["stats_dens_laplace","function.stats-dens-laplace","refentry"],["stats_dens_logistic","function.stats-dens-logistic","refentry"],["stats_dens_negative_binomial","function.stats-dens-negative-binomial","refentry"],["stats_dens_normal","function.stats-dens-normal","refentry"],["stats_dens_pmf_binomial","function.stats-dens-pmf-binomial","refentry"],["stats_dens_pmf_hypergeometric","function.stats-dens-pmf-hypergeometric","refentry"],["stats_dens_pmf_poisson","function.stats-dens-pmf-poisson","refentry"],["stats_dens_t","function.stats-dens-t","refentry"],["stats_dens_weibull","function.stats-dens-weibull","refentry"],["stats_harmonic_mean","function.stats-harmonic-mean","refentry"],["stats_kurtosis","function.stats-kurtosis","refentry"],["stats_rand_gen_beta","function.stats-rand-gen-beta","refentry"],["stats_rand_gen_chisquare","function.stats-rand-gen-chisquare","refentry"],["stats_rand_gen_exponential","function.stats-rand-gen-exponential","refentry"],["stats_rand_gen_f","function.stats-rand-gen-f","refentry"],["stats_rand_gen_funiform","function.stats-rand-gen-funiform","refentry"],["stats_rand_gen_gamma","function.stats-rand-gen-gamma","refentry"],["stats_rand_gen_ibinomial_negative","function.stats-rand-gen-ibinomial-negative","refentry"],["stats_rand_gen_ibinomial","function.stats-rand-gen-ibinomial","refentry"],["stats_rand_gen_int","function.stats-rand-gen-int","refentry"],["stats_rand_gen_ipoisson","function.stats-rand-gen-ipoisson","refentry"],["stats_rand_gen_iuniform","function.stats-rand-gen-iuniform","refentry"],["stats_rand_gen_noncenral_chisquare","function.stats-rand-gen-noncenral-chisquare","refentry"],["stats_rand_gen_noncentral_f","function.stats-rand-gen-noncentral-f","refentry"],["stats_rand_gen_noncentral_t","function.stats-rand-gen-noncentral-t","refentry"],["stats_rand_gen_normal","function.stats-rand-gen-normal","refentry"],["stats_rand_gen_t","function.stats-rand-gen-t","refentry"],["stats_rand_get_seeds","function.stats-rand-get-seeds","refentry"],["stats_rand_phrase_to_seeds","function.stats-rand-phrase-to-seeds","refentry"],["stats_rand_ranf","function.stats-rand-ranf","refentry"],["stats_rand_setall","function.stats-rand-setall","refentry"],["stats_skew","function.stats-skew","refentry"],["stats_standard_deviation","function.stats-standard-deviation","refentry"],["stats_stat_binomial_coef","function.stats-stat-binomial-coef","refentry"],["stats_stat_correlation","function.stats-stat-correlation","refentry"],["stats_stat_gennch","function.stats-stat-gennch","refentry"],["stats_stat_independent_t","function.stats-stat-independent-t","refentry"],["stats_stat_innerproduct","function.stats-stat-innerproduct","refentry"],["stats_stat_noncentral_t","function.stats-stat-noncentral-t","refentry"],["stats_stat_paired_t","function.stats-stat-paired-t","refentry"],["stats_stat_percentile","function.stats-stat-percentile","refentry"],["stats_stat_powersum","function.stats-stat-powersum","refentry"],["stats_variance","function.stats-variance","refentry"],["","ref.stats","reference"],["","book.stats","book"],["","intro.trader","preface"],["","trader.requirements","section"],["","trader.installation","section"],["","trader.configuration","varlistentry"],["","trader.configuration","varlistentry"],["","trader.configuration","section"],["","trader.setup","chapter"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","varlistentry"],["","trader.constants","appendix"],["trader_acos","function.trader-acos","refentry"],["trader_ad","function.trader-ad","refentry"],["trader_add","function.trader-add","refentry"],["trader_adosc","function.trader-adosc","refentry"],["trader_adx","function.trader-adx","refentry"],["trader_adxr","function.trader-adxr","refentry"],["trader_apo","function.trader-apo","refentry"],["trader_aroon","function.trader-aroon","refentry"],["trader_aroonosc","function.trader-aroonosc","refentry"],["trader_asin","function.trader-asin","refentry"],["trader_atan","function.trader-atan","refentry"],["trader_atr","function.trader-atr","refentry"],["trader_avgprice","function.trader-avgprice","refentry"],["trader_bbands","function.trader-bbands","refentry"],["trader_beta","function.trader-beta","refentry"],["trader_bop","function.trader-bop","refentry"],["trader_cci","function.trader-cci","refentry"],["trader_cdl2crows","function.trader-cdl2crows","refentry"],["trader_cdl3blackcrows","function.trader-cdl3blackcrows","refentry"],["trader_cdl3inside","function.trader-cdl3inside","refentry"],["trader_cdl3linestrike","function.trader-cdl3linestrike","refentry"],["trader_cdl3outside","function.trader-cdl3outside","refentry"],["trader_cdl3starsinsouth","function.trader-cdl3starsinsouth","refentry"],["trader_cdl3whitesoldiers","function.trader-cdl3whitesoldiers","refentry"],["trader_cdlabandonedbaby","function.trader-cdlabandonedbaby","refentry"],["trader_cdladvanceblock","function.trader-cdladvanceblock","refentry"],["trader_cdlbelthold","function.trader-cdlbelthold","refentry"],["trader_cdlbreakaway","function.trader-cdlbreakaway","refentry"],["trader_cdlclosingmarubozu","function.trader-cdlclosingmarubozu","refentry"],["trader_cdlconcealbabyswall","function.trader-cdlconcealbabyswall","refentry"],["trader_cdlcounterattack","function.trader-cdlcounterattack","refentry"],["trader_cdldarkcloudcover","function.trader-cdldarkcloudcover","refentry"],["trader_cdldoji","function.trader-cdldoji","refentry"],["trader_cdldojistar","function.trader-cdldojistar","refentry"],["trader_cdldragonflydoji","function.trader-cdldragonflydoji","refentry"],["trader_cdlengulfing","function.trader-cdlengulfing","refentry"],["trader_cdleveningdojistar","function.trader-cdleveningdojistar","refentry"],["trader_cdleveningstar","function.trader-cdleveningstar","refentry"],["trader_cdlgapsidesidewhite","function.trader-cdlgapsidesidewhite","refentry"],["trader_cdlgravestonedoji","function.trader-cdlgravestonedoji","refentry"],["trader_cdlhammer","function.trader-cdlhammer","refentry"],["trader_cdlhangingman","function.trader-cdlhangingman","refentry"],["trader_cdlharami","function.trader-cdlharami","refentry"],["trader_cdlharamicross","function.trader-cdlharamicross","refentry"],["trader_cdlhighwave","function.trader-cdlhighwave","refentry"],["trader_cdlhikkake","function.trader-cdlhikkake","refentry"],["trader_cdlhikkakemod","function.trader-cdlhikkakemod","refentry"],["trader_cdlhomingpigeon","function.trader-cdlhomingpigeon","refentry"],["trader_cdlidentical3crows","function.trader-cdlidentical3crows","refentry"],["trader_cdlinneck","function.trader-cdlinneck","refentry"],["trader_cdlinvertedhammer","function.trader-cdlinvertedhammer","refentry"],["trader_cdlkicking","function.trader-cdlkicking","refentry"],["trader_cdlkickingbylength","function.trader-cdlkickingbylength","refentry"],["trader_cdlladderbottom","function.trader-cdlladderbottom","refentry"],["trader_cdllongleggeddoji","function.trader-cdllongleggeddoji","refentry"],["trader_cdllongline","function.trader-cdllongline","refentry"],["trader_cdlmarubozu","function.trader-cdlmarubozu","refentry"],["trader_cdlmatchinglow","function.trader-cdlmatchinglow","refentry"],["trader_cdlmathold","function.trader-cdlmathold","refentry"],["trader_cdlmorningdojistar","function.trader-cdlmorningdojistar","refentry"],["trader_cdlmorningstar","function.trader-cdlmorningstar","refentry"],["trader_cdlonneck","function.trader-cdlonneck","refentry"],["trader_cdlpiercing","function.trader-cdlpiercing","refentry"],["trader_cdlrickshawman","function.trader-cdlrickshawman","refentry"],["trader_cdlrisefall3methods","function.trader-cdlrisefall3methods","refentry"],["trader_cdlseparatinglines","function.trader-cdlseparatinglines","refentry"],["trader_cdlshootingstar","function.trader-cdlshootingstar","refentry"],["trader_cdlshortline","function.trader-cdlshortline","refentry"],["trader_cdlspinningtop","function.trader-cdlspinningtop","refentry"],["trader_cdlstalledpattern","function.trader-cdlstalledpattern","refentry"],["trader_cdlsticksandwich","function.trader-cdlsticksandwich","refentry"],["trader_cdltakuri","function.trader-cdltakuri","refentry"],["trader_cdltasukigap","function.trader-cdltasukigap","refentry"],["trader_cdlthrusting","function.trader-cdlthrusting","refentry"],["trader_cdltristar","function.trader-cdltristar","refentry"],["trader_cdlunique3river","function.trader-cdlunique3river","refentry"],["trader_cdlupsidegap2crows","function.trader-cdlupsidegap2crows","refentry"],["trader_cdlxsidegap3methods","function.trader-cdlxsidegap3methods","refentry"],["trader_ceil","function.trader-ceil","refentry"],["trader_cmo","function.trader-cmo","refentry"],["trader_correl","function.trader-correl","refentry"],["trader_cos","function.trader-cos","refentry"],["trader_cosh","function.trader-cosh","refentry"],["trader_dema","function.trader-dema","refentry"],["trader_div","function.trader-div","refentry"],["trader_dx","function.trader-dx","refentry"],["trader_ema","function.trader-ema","refentry"],["trader_errno","function.trader-errno","refentry"],["trader_exp","function.trader-exp","refentry"],["trader_floor","function.trader-floor","refentry"],["trader_get_compat","function.trader-get-compat","refentry"],["trader_get_unstable_period","function.trader-get-unstable-period","refentry"],["trader_ht_dcperiod","function.trader-ht-dcperiod","refentry"],["trader_ht_dcphase","function.trader-ht-dcphase","refentry"],["trader_ht_phasor","function.trader-ht-phasor","refentry"],["trader_ht_sine","function.trader-ht-sine","refentry"],["trader_ht_trendline","function.trader-ht-trendline","refentry"],["trader_ht_trendmode","function.trader-ht-trendmode","refentry"],["trader_kama","function.trader-kama","refentry"],["trader_linearreg_angle","function.trader-linearreg-angle","refentry"],["trader_linearreg_intercept","function.trader-linearreg-intercept","refentry"],["trader_linearreg_slope","function.trader-linearreg-slope","refentry"],["trader_linearreg","function.trader-linearreg","refentry"],["trader_ln","function.trader-ln","refentry"],["trader_log10","function.trader-log10","refentry"],["trader_ma","function.trader-ma","refentry"],["trader_macd","function.trader-macd","refentry"],["trader_macdext","function.trader-macdext","refentry"],["trader_macdfix","function.trader-macdfix","refentry"],["trader_mama","function.trader-mama","refentry"],["trader_mavp","function.trader-mavp","refentry"],["trader_max","function.trader-max","refentry"],["trader_maxindex","function.trader-maxindex","refentry"],["trader_medprice","function.trader-medprice","refentry"],["trader_mfi","function.trader-mfi","refentry"],["trader_midpoint","function.trader-midpoint","refentry"],["trader_midprice","function.trader-midprice","refentry"],["trader_min","function.trader-min","refentry"],["trader_minindex","function.trader-minindex","refentry"],["trader_minmax","function.trader-minmax","refentry"],["trader_minmaxindex","function.trader-minmaxindex","refentry"],["trader_minus_di","function.trader-minus-di","refentry"],["trader_minus_dm","function.trader-minus-dm","refentry"],["trader_mom","function.trader-mom","refentry"],["trader_mult","function.trader-mult","refentry"],["trader_natr","function.trader-natr","refentry"],["trader_obv","function.trader-obv","refentry"],["trader_plus_di","function.trader-plus-di","refentry"],["trader_plus_dm","function.trader-plus-dm","refentry"],["trader_ppo","function.trader-ppo","refentry"],["trader_roc","function.trader-roc","refentry"],["trader_rocp","function.trader-rocp","refentry"],["trader_rocr100","function.trader-rocr100","refentry"],["trader_rocr","function.trader-rocr","refentry"],["trader_rsi","function.trader-rsi","refentry"],["trader_sar","function.trader-sar","refentry"],["trader_sarext","function.trader-sarext","refentry"],["trader_set_compat","function.trader-set-compat","refentry"],["trader_set_unstable_period","function.trader-set-unstable-period","refentry"],["trader_sin","function.trader-sin","refentry"],["trader_sinh","function.trader-sinh","refentry"],["trader_sma","function.trader-sma","refentry"],["trader_sqrt","function.trader-sqrt","refentry"],["trader_stddev","function.trader-stddev","refentry"],["trader_stoch","function.trader-stoch","refentry"],["trader_stochf","function.trader-stochf","refentry"],["trader_stochrsi","function.trader-stochrsi","refentry"],["trader_sub","function.trader-sub","refentry"],["trader_sum","function.trader-sum","refentry"],["trader_t3","function.trader-t3","refentry"],["trader_tan","function.trader-tan","refentry"],["trader_tanh","function.trader-tanh","refentry"],["trader_tema","function.trader-tema","refentry"],["trader_trange","function.trader-trange","refentry"],["trader_trima","function.trader-trima","refentry"],["trader_trix","function.trader-trix","refentry"],["trader_tsf","function.trader-tsf","refentry"],["trader_typprice","function.trader-typprice","refentry"],["trader_ultosc","function.trader-ultosc","refentry"],["trader_var","function.trader-var","refentry"],["trader_wclprice","function.trader-wclprice","refentry"],["trader_willr","function.trader-willr","refentry"],["trader_wma","function.trader-wma","refentry"],["","ref.trader","reference"],["Trader","book.trader","book"],["","refs.math","set"],["","intro.fdf","preface"],["","fdf.requirements","section"],["","fdf.installation","section"],["","fdf.configuration","section"],["","fdf.resources","section"],["","fdf.setup","chapter"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","varlistentry"],["","fdf.constants","appendix"],["","fdf.examples","example"],["","fdf.examples","chapter"],["","function.fdf-add-doc-javascript","example"],["fdf_add_doc_javascript","function.fdf-add-doc-javascript","refentry"],["fdf_add_template","function.fdf-add-template","refentry"],["fdf_close","function.fdf-close","refentry"],["","function.fdf-create","example"],["fdf_create","function.fdf-create","refentry"],["fdf_enum_values","function.fdf-enum-values","refentry"],["fdf_errno","function.fdf-errno","refentry"],["fdf_error","function.fdf-error","refentry"],["fdf_get_ap","function.fdf-get-ap","refentry"],["","function.fdf-get-attachment","example"],["fdf_get_attachment","function.fdf-get-attachment","refentry"],["fdf_get_encoding","function.fdf-get-encoding","refentry"],["fdf_get_file","function.fdf-get-file","refentry"],["fdf_get_flags","function.fdf-get-flags","refentry"],["fdf_get_opt","function.fdf-get-opt","refentry"],["fdf_get_status","function.fdf-get-status","refentry"],["fdf_get_value","function.fdf-get-value","refentry"],["fdf_get_version","function.fdf-get-version","refentry"],["fdf_header","function.fdf-header","refentry"],["","function.fdf-next-field-name","example"],["fdf_next_field_name","function.fdf-next-field-name","refentry"],["","function.fdf-open-string","example"],["fdf_open_string","function.fdf-open-string","refentry"],["","function.fdf-open","example"],["fdf_open","function.fdf-open","refentry"],["fdf_remove_item","function.fdf-remove-item","refentry"],["","function.fdf-save-string","example"],["fdf_save_string","function.fdf-save-string","refentry"],["fdf_save","function.fdf-save","refentry"],["fdf_set_ap","function.fdf-set-ap","refentry"],["fdf_set_encoding","function.fdf-set-encoding","refentry"],["","function.fdf-set-file","example"],["fdf_set_file","function.fdf-set-file","refentry"],["fdf_set_flags","function.fdf-set-flags","refentry"],["fdf_set_javascript_action","function.fdf-set-javascript-action","refentry"],["fdf_set_on_import_javascript","function.fdf-set-on-import-javascript","refentry"],["fdf_set_opt","function.fdf-set-opt","refentry"],["fdf_set_status","function.fdf-set-status","refentry"],["fdf_set_submit_form_action","function.fdf-set-submit-form-action","refentry"],["fdf_set_target_frame","function.fdf-set-target-frame","refentry"],["fdf_set_value","function.fdf-set-value","refentry"],["fdf_set_version","function.fdf-set-version","refentry"],["","ref.fdf","reference"],["FDF","book.fdf","book"],["","intro.gnupg","preface"],["","gnupg.requirements","section"],["","gnupg.installation","section"],["","gnupg.configuration","section"],["","gnupg.resources","section"],["","gnupg.setup","chapter"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","varlistentry"],["","gnupg.constants","appendix"],["","gnupg.examples-clearsign","example"],["","gnupg.examples-clearsign","example"],["","gnupg.examples-clearsign","example"],["","gnupg.examples-clearsign","section"],["","gnupg.examples","chapter"],["","function.gnupg-adddecryptkey","example"],["","function.gnupg-adddecryptkey","example"],["gnupg_adddecryptkey","function.gnupg-adddecryptkey","refentry"],["","function.gnupg-addencryptkey","example"],["","function.gnupg-addencryptkey","example"],["gnupg_addencryptkey","function.gnupg-addencryptkey","refentry"],["","function.gnupg-addsignkey","example"],["","function.gnupg-addsignkey","example"],["gnupg_addsignkey","function.gnupg-addsignkey","refentry"],["","function.gnupg-cleardecryptkeys","example"],["","function.gnupg-cleardecryptkeys","example"],["gnupg_cleardecryptkeys","function.gnupg-cleardecryptkeys","refentry"],["","function.gnupg-clearencryptkeys","example"],["","function.gnupg-clearencryptkeys","example"],["gnupg_clearencryptkeys","function.gnupg-clearencryptkeys","refentry"],["","function.gnupg-clearsignkeys","example"],["","function.gnupg-clearsignkeys","example"],["gnupg_clearsignkeys","function.gnupg-clearsignkeys","refentry"],["","function.gnupg-decrypt","example"],["","function.gnupg-decrypt","example"],["gnupg_decrypt","function.gnupg-decrypt","refentry"],["","function.gnupg-decryptverify","example"],["","function.gnupg-decryptverify","example"],["gnupg_decryptverify","function.gnupg-decryptverify","refentry"],["","function.gnupg-encrypt","example"],["","function.gnupg-encrypt","example"],["gnupg_encrypt","function.gnupg-encrypt","refentry"],["","function.gnupg-encryptsign","example"],["","function.gnupg-encryptsign","example"],["gnupg_encryptsign","function.gnupg-encryptsign","refentry"],["","function.gnupg-export","example"],["","function.gnupg-export","example"],["gnupg_export","function.gnupg-export","refentry"],["","function.gnupg-geterror","example"],["","function.gnupg-geterror","example"],["gnupg_geterror","function.gnupg-geterror","refentry"],["","function.gnupg-getprotocol","example"],["","function.gnupg-getprotocol","example"],["gnupg_getprotocol","function.gnupg-getprotocol","refentry"],["","function.gnupg-import","example"],["","function.gnupg-import","example"],["gnupg_import","function.gnupg-import","refentry"],["","function.gnupg-init","example"],["","function.gnupg-init","example"],["gnupg_init","function.gnupg-init","refentry"],["","function.gnupg-keyinfo","example"],["","function.gnupg-keyinfo","example"],["gnupg_keyinfo","function.gnupg-keyinfo","refentry"],["","function.gnupg-setarmor","example"],["","function.gnupg-setarmor","example"],["gnupg_setarmor","function.gnupg-setarmor","refentry"],["","function.gnupg-seterrormode","example"],["","function.gnupg-seterrormode","example"],["gnupg_seterrormode","function.gnupg-seterrormode","refentry"],["","function.gnupg-setsignmode","example"],["","function.gnupg-setsignmode","example"],["gnupg_setsignmode","function.gnupg-setsignmode","refentry"],["","function.gnupg-sign","example"],["","function.gnupg-sign","example"],["gnupg_sign","function.gnupg-sign","refentry"],["","function.gnupg-verify","example"],["","function.gnupg-verify","example"],["gnupg_verify","function.gnupg-verify","refentry"],["","ref.gnupg","reference"],["GnuPG","book.gnupg","book"],["","intro.haru","preface"],["","haru.requirements","section"],["","haru.installation","section"],["","haru.configuration","section"],["","haru.resources","section"],["","haru.setup","chapter"],["","haru.constants","appendix"],["","haru.examples-basics","example"],["","haru.examples-basics","section"],["","haru.examples","chapter"],["","haru.builtin.fonts","section"],["","haru.builtin.encodings","section"],["","haru.builtin","chapter"],["","class.haruexception","section"],["","class.haruexception","section"],["HaruException","class.haruexception","phpdoc:exceptionref"],["","class.harudoc","section"],["","class.harudoc","section"],["","class.harudoc","section"],["HaruDoc::addPage","harudoc.addpage","refentry"],["HaruDoc::addPageLabel","harudoc.addpagelabel","refentry"],["HaruDoc::__construct","harudoc.construct","refentry"],["HaruDoc::createOutline","harudoc.createoutline","refentry"],["HaruDoc::getCurrentEncoder","harudoc.getcurrentencoder","refentry"],["HaruDoc::getCurrentPage","harudoc.getcurrentpage","refentry"],["HaruDoc::getEncoder","harudoc.getencoder","refentry"],["HaruDoc::getFont","harudoc.getfont","refentry"],["HaruDoc::getInfoAttr","harudoc.getinfoattr","refentry"],["HaruDoc::getPageLayout","harudoc.getpagelayout","refentry"],["HaruDoc::getPageMode","harudoc.getpagemode","refentry"],["HaruDoc::getStreamSize","harudoc.getstreamsize","refentry"],["HaruDoc::insertPage","harudoc.insertpage","refentry"],["HaruDoc::loadJPEG","harudoc.loadjpeg","refentry"],["HaruDoc::loadPNG","harudoc.loadpng","refentry"],["HaruDoc::loadRaw","harudoc.loadraw","refentry"],["HaruDoc::loadTTC","harudoc.loadttc","refentry"],["HaruDoc::loadTTF","harudoc.loadttf","refentry"],["HaruDoc::loadType1","harudoc.loadtype1","refentry"],["HaruDoc::output","harudoc.output","refentry"],["HaruDoc::readFromStream","harudoc.readfromstream","refentry"],["HaruDoc::resetError","harudoc.reseterror","refentry"],["HaruDoc::resetStream","harudoc.resetstream","refentry"],["HaruDoc::save","harudoc.save","refentry"],["HaruDoc::saveToStream","harudoc.savetostream","refentry"],["HaruDoc::setCompressionMode","harudoc.setcompressionmode","refentry"],["HaruDoc::setCurrentEncoder","harudoc.setcurrentencoder","refentry"],["HaruDoc::setEncryptionMode","harudoc.setencryptionmode","refentry"],["HaruDoc::setInfoAttr","harudoc.setinfoattr","refentry"],["HaruDoc::setInfoDateAttr","harudoc.setinfodateattr","refentry"],["HaruDoc::setOpenAction","harudoc.setopenaction","refentry"],["HaruDoc::setPageLayout","harudoc.setpagelayout","refentry"],["HaruDoc::setPageMode","harudoc.setpagemode","refentry"],["HaruDoc::setPagesConfiguration","harudoc.setpagesconfiguration","refentry"],["HaruDoc::setPassword","harudoc.setpassword","refentry"],["HaruDoc::setPermission","harudoc.setpermission","refentry"],["HaruDoc::useCNSEncodings","harudoc.usecnsencodings","refentry"],["HaruDoc::useCNSFonts","harudoc.usecnsfonts","refentry"],["HaruDoc::useCNTEncodings","harudoc.usecntencodings","refentry"],["HaruDoc::useCNTFonts","harudoc.usecntfonts","refentry"],["HaruDoc::useJPEncodings","harudoc.usejpencodings","refentry"],["HaruDoc::useJPFonts","harudoc.usejpfonts","refentry"],["HaruDoc::useKREncodings","harudoc.usekrencodings","refentry"],["HaruDoc::useKRFonts","harudoc.usekrfonts","refentry"],["HaruDoc","class.harudoc","phpdoc:classref"],["","class.harupage","section"],["","class.harupage","section"],["","class.harupage","section"],["HaruPage::arc","harupage.arc","refentry"],["HaruPage::beginText","harupage.begintext","refentry"],["HaruPage::circle","harupage.circle","refentry"],["HaruPage::closePath","harupage.closepath","refentry"],["HaruPage::concat","harupage.concat","refentry"],["HaruPage::createDestination","harupage.createdestination","refentry"],["HaruPage::createLinkAnnotation","harupage.createlinkannotation","refentry"],["HaruPage::createTextAnnotation","harupage.createtextannotation","refentry"],["HaruPage::createURLAnnotation","harupage.createurlannotation","refentry"],["HaruPage::curveTo2","harupage.curveto2","refentry"],["HaruPage::curveTo3","harupage.curveto3","refentry"],["HaruPage::curveTo","harupage.curveto","refentry"],["HaruPage::drawImage","harupage.drawimage","refentry"],["HaruPage::ellipse","harupage.ellipse","refentry"],["HaruPage::endPath","harupage.endpath","refentry"],["HaruPage::endText","harupage.endtext","refentry"],["HaruPage::eofill","harupage.eofill","refentry"],["HaruPage::eoFillStroke","harupage.eofillstroke","refentry"],["HaruPage::fill","harupage.fill","refentry"],["HaruPage::fillStroke","harupage.fillstroke","refentry"],["HaruPage::getCharSpace","harupage.getcharspace","refentry"],["HaruPage::getCMYKFill","harupage.getcmykfill","refentry"],["HaruPage::getCMYKStroke","harupage.getcmykstroke","refentry"],["HaruPage::getCurrentFont","harupage.getcurrentfont","refentry"],["HaruPage::getCurrentFontSize","harupage.getcurrentfontsize","refentry"],["HaruPage::getCurrentPos","harupage.getcurrentpos","refentry"],["HaruPage::getCurrentTextPos","harupage.getcurrenttextpos","refentry"],["HaruPage::getDash","harupage.getdash","refentry"],["HaruPage::getFillingColorSpace","harupage.getfillingcolorspace","refentry"],["HaruPage::getFlatness","harupage.getflatness","refentry"],["HaruPage::getGMode","harupage.getgmode","refentry"],["HaruPage::getGrayFill","harupage.getgrayfill","refentry"],["HaruPage::getGrayStroke","harupage.getgraystroke","refentry"],["HaruPage::getHeight","harupage.getheight","refentry"],["HaruPage::getHorizontalScaling","harupage.gethorizontalscaling","refentry"],["HaruPage::getLineCap","harupage.getlinecap","refentry"],["HaruPage::getLineJoin","harupage.getlinejoin","refentry"],["HaruPage::getLineWidth","harupage.getlinewidth","refentry"],["HaruPage::getMiterLimit","harupage.getmiterlimit","refentry"],["HaruPage::getRGBFill","harupage.getrgbfill","refentry"],["HaruPage::getRGBStroke","harupage.getrgbstroke","refentry"],["HaruPage::getStrokingColorSpace","harupage.getstrokingcolorspace","refentry"],["HaruPage::getTextLeading","harupage.gettextleading","refentry"],["HaruPage::getTextMatrix","harupage.gettextmatrix","refentry"],["HaruPage::getTextRenderingMode","harupage.gettextrenderingmode","refentry"],["HaruPage::getTextRise","harupage.gettextrise","refentry"],["HaruPage::getTextWidth","harupage.gettextwidth","refentry"],["HaruPage::getTransMatrix","harupage.gettransmatrix","refentry"],["HaruPage::getWidth","harupage.getwidth","refentry"],["HaruPage::getWordSpace","harupage.getwordspace","refentry"],["HaruPage::lineTo","harupage.lineto","refentry"],["HaruPage::measureText","harupage.measuretext","refentry"],["HaruPage::moveTextPos","harupage.movetextpos","refentry"],["HaruPage::moveTo","harupage.moveto","refentry"],["HaruPage::moveToNextLine","harupage.movetonextline","refentry"],["HaruPage::rectangle","harupage.rectangle","refentry"],["HaruPage::setCharSpace","harupage.setcharspace","refentry"],["HaruPage::setCMYKFill","harupage.setcmykfill","refentry"],["HaruPage::setCMYKStroke","harupage.setcmykstroke","refentry"],["HaruPage::setDash","harupage.setdash","refentry"],["HaruPage::setFlatness","harupage.setflatness","refentry"],["HaruPage::setFontAndSize","harupage.setfontandsize","refentry"],["HaruPage::setGrayFill","harupage.setgrayfill","refentry"],["HaruPage::setGrayStroke","harupage.setgraystroke","refentry"],["HaruPage::setHeight","harupage.setheight","refentry"],["HaruPage::setHorizontalScaling","harupage.sethorizontalscaling","refentry"],["HaruPage::setLineCap","harupage.setlinecap","refentry"],["HaruPage::setLineJoin","harupage.setlinejoin","refentry"],["HaruPage::setLineWidth","harupage.setlinewidth","refentry"],["HaruPage::setMiterLimit","harupage.setmiterlimit","refentry"],["HaruPage::setRGBFill","harupage.setrgbfill","refentry"],["HaruPage::setRGBStroke","harupage.setrgbstroke","refentry"],["HaruPage::setRotate","harupage.setrotate","refentry"],["HaruPage::setSize","harupage.setsize","refentry"],["HaruPage::setSlideShow","harupage.setslideshow","refentry"],["HaruPage::setTextLeading","harupage.settextleading","refentry"],["HaruPage::setTextMatrix","harupage.settextmatrix","refentry"],["HaruPage::setTextRenderingMode","harupage.settextrenderingmode","refentry"],["HaruPage::setTextRise","harupage.settextrise","refentry"],["HaruPage::setWidth","harupage.setwidth","refentry"],["HaruPage::setWordSpace","harupage.setwordspace","refentry"],["HaruPage::showText","harupage.showtext","refentry"],["HaruPage::showTextNextLine","harupage.showtextnextline","refentry"],["HaruPage::stroke","harupage.stroke","refentry"],["HaruPage::textOut","harupage.textout","refentry"],["HaruPage::textRect","harupage.textrect","refentry"],["HaruPage","class.harupage","phpdoc:classref"],["","class.harufont","section"],["","class.harufont","section"],["HaruFont::getAscent","harufont.getascent","refentry"],["HaruFont::getCapHeight","harufont.getcapheight","refentry"],["HaruFont::getDescent","harufont.getdescent","refentry"],["HaruFont::getEncodingName","harufont.getencodingname","refentry"],["HaruFont::getFontName","harufont.getfontname","refentry"],["HaruFont::getTextWidth","harufont.gettextwidth","refentry"],["HaruFont::getUnicodeWidth","harufont.getunicodewidth","refentry"],["HaruFont::getXHeight","harufont.getxheight","refentry"],["HaruFont::measureText","harufont.measuretext","refentry"],["HaruFont","class.harufont","phpdoc:classref"],["","class.haruimage","section"],["","class.haruimage","section"],["HaruImage::getBitsPerComponent","haruimage.getbitspercomponent","refentry"],["HaruImage::getColorSpace","haruimage.getcolorspace","refentry"],["HaruImage::getHeight","haruimage.getheight","refentry"],["HaruImage::getSize","haruimage.getsize","refentry"],["HaruImage::getWidth","haruimage.getwidth","refentry"],["HaruImage::setColorMask","haruimage.setcolormask","refentry"],["HaruImage::setMaskImage","haruimage.setmaskimage","refentry"],["HaruImage","class.haruimage","phpdoc:classref"],["","class.haruencoder","section"],["","class.haruencoder","section"],["","class.haruencoder","section"],["HaruEncoder::getByteType","haruencoder.getbytetype","refentry"],["HaruEncoder::getType","haruencoder.gettype","refentry"],["HaruEncoder::getUnicode","haruencoder.getunicode","refentry"],["HaruEncoder::getWritingMode","haruencoder.getwritingmode","refentry"],["HaruEncoder","class.haruencoder","phpdoc:classref"],["","class.haruoutline","section"],["","class.haruoutline","section"],["HaruOutline::setDestination","haruoutline.setdestination","refentry"],["HaruOutline::setOpened","haruoutline.setopened","refentry"],["HaruOutline","class.haruoutline","phpdoc:classref"],["","class.haruannotation","section"],["","class.haruannotation","section"],["","class.haruannotation","section"],["HaruAnnotation::setBorderStyle","haruannotation.setborderstyle","refentry"],["HaruAnnotation::setHighlightMode","haruannotation.sethighlightmode","refentry"],["HaruAnnotation::setIcon","haruannotation.seticon","refentry"],["HaruAnnotation::setOpened","haruannotation.setopened","refentry"],["HaruAnnotation","class.haruannotation","phpdoc:classref"],["","class.harudestination","section"],["","class.harudestination","section"],["HaruDestination::setFit","harudestination.setfit","refentry"],["HaruDestination::setFitB","harudestination.setfitb","refentry"],["HaruDestination::setFitBH","harudestination.setfitbh","refentry"],["HaruDestination::setFitBV","harudestination.setfitbv","refentry"],["HaruDestination::setFitH","harudestination.setfith","refentry"],["HaruDestination::setFitR","harudestination.setfitr","refentry"],["HaruDestination::setFitV","harudestination.setfitv","refentry"],["HaruDestination::setXYZ","harudestination.setxyz","refentry"],["HaruDestination","class.harudestination","phpdoc:classref"],["haru","book.haru","book"],["","intro.ming","preface"],["","ming.requirements","section"],["","ming.install","section"],["","ming.configuration","section"],["","ming.resources","section"],["","ming.setup","chapter"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","varlistentry"],["","ming.constants","appendix"],["","ming.examples.swfaction","example"],["","ming.examples.swfaction","example"],["","ming.examples.swfaction","example"],["","ming.examples.swfaction","section"],["","ming.examples.swfsprite-basic","example"],["","ming.examples.swfsprite-basic","section"],["","ming.examples","chapter"],["ming_keypress","function.ming-keypress","refentry"],["ming_setcubicthreshold","function.ming-setcubicthreshold","refentry"],["ming_setscale","function.ming-setscale","refentry"],["ming_setswfcompression","function.ming-setswfcompression","refentry"],["ming_useconstants","function.ming-useconstants","refentry"],["","function.ming-useswfversion","example"],["ming_useswfversion","function.ming-useswfversion","refentry"],["","ref.ming","reference"],["","class.swfaction","section"],["","class.swfaction","section"],["SWFAction::__construct","swfaction.construct","refentry"],["SWFAction","class.swfaction","phpdoc:classref"],["","class.swfbitmap","section"],["","class.swfbitmap","section"],["","swfbitmap.construct","example"],["","swfbitmap.construct","example"],["SWFBitmap::__construct","swfbitmap.construct","refentry"],["SWFBitmap::getHeight","swfbitmap.getheight","refentry"],["SWFBitmap::getWidth","swfbitmap.getwidth","refentry"],["SWFBitmap","class.swfbitmap","phpdoc:classref"],["","class.swfbutton","section"],["","class.swfbutton","section"],["SWFButton::addAction","swfbutton.addaction","refentry"],["SWFButton::addASound","swfbutton.addasound","refentry"],["SWFButton::addShape","swfbutton.addshape","refentry"],["","swfbutton.construct","example"],["","swfbutton.construct","example"],["SWFButton::__construct","swfbutton.construct","refentry"],["SWFButton::setAction","swfbutton.setaction","refentry"],["SWFButton::setDown","swfbutton.setdown","refentry"],["SWFButton::setHit","swfbutton.sethit","refentry"],["SWFButton::setMenu","swfbutton.setmenu","refentry"],["SWFButton::setOver","swfbutton.setover","refentry"],["SWFButton::setUp","swfbutton.setup","refentry"],["SWFButton","class.swfbutton","phpdoc:classref"],["","class.swfdisplayitem","section"],["","class.swfdisplayitem","section"],["SWFDisplayItem::addAction","swfdisplayitem.addaction","refentry"],["SWFDisplayItem::addColor","swfdisplayitem.addcolor","refentry"],["SWFDisplayItem::endMask","swfdisplayitem.endmask","refentry"],["SWFDisplayItem::getRot","swfdisplayitem.getrot","refentry"],["SWFDisplayItem::getX","swfdisplayitem.getx","refentry"],["SWFDisplayItem::getXScale","swfdisplayitem.getxscale","refentry"],["SWFDisplayItem::getXSkew","swfdisplayitem.getxskew","refentry"],["SWFDisplayItem::getY","swfdisplayitem.gety","refentry"],["SWFDisplayItem::getYScale","swfdisplayitem.getyscale","refentry"],["SWFDisplayItem::getYSkew","swfdisplayitem.getyskew","refentry"],["SWFDisplayItem::move","swfdisplayitem.move","refentry"],["SWFDisplayItem::moveTo","swfdisplayitem.moveto","refentry"],["","swfdisplayitem.multcolor","example"],["SWFDisplayItem::multColor","swfdisplayitem.multcolor","refentry"],["SWFDisplayItem::remove","swfdisplayitem.remove","refentry"],["SWFDisplayItem::rotate","swfdisplayitem.rotate","refentry"],["","swfdisplayitem.rotateto","example"],["SWFDisplayItem::rotateTo","swfdisplayitem.rotateto","refentry"],["SWFDisplayItem::scale","swfdisplayitem.scale","refentry"],["SWFDisplayItem::scaleTo","swfdisplayitem.scaleto","refentry"],["SWFDisplayItem::setDepth","swfdisplayitem.setdepth","refentry"],["SWFDisplayItem::setMaskLevel","swfdisplayitem.setmasklevel","refentry"],["SWFDisplayItem::setMatrix","swfdisplayitem.setmatrix","refentry"],["SWFDisplayItem::setName","swfdisplayitem.setname","refentry"],["","swfdisplayitem.setratio","example"],["SWFDisplayItem::setRatio","swfdisplayitem.setratio","refentry"],["SWFDisplayItem::skewX","swfdisplayitem.skewx","refentry"],["SWFDisplayItem::skewXTo","swfdisplayitem.skewxto","refentry"],["SWFDisplayItem::skewY","swfdisplayitem.skewy","refentry"],["SWFDisplayItem::skewYTo","swfdisplayitem.skewyto","refentry"],["SWFDisplayItem","class.swfdisplayitem","phpdoc:classref"],["","class.swffill","section"],["","class.swffill","section"],["SWFFill::moveTo","swffill.moveto","refentry"],["SWFFill::rotateTo","swffill.rotateto","refentry"],["SWFFill::scaleTo","swffill.scaleto","refentry"],["SWFFill::skewXTo","swffill.skewxto","refentry"],["SWFFill::skewYTo","swffill.skewyto","refentry"],["SWFFill","class.swffill","phpdoc:classref"],["","class.swffont","section"],["","class.swffont","section"],["SWFFont::__construct","swffont.construct","refentry"],["SWFFont::getAscent","swffont.getascent","refentry"],["SWFFont::getDescent","swffont.getdescent","refentry"],["SWFFont::getLeading","swffont.getleading","refentry"],["SWFFont::getShape","swffont.getshape","refentry"],["SWFFont::getUTF8Width","swffont.getutf8width","refentry"],["SWFFont::getWidth","swffont.getwidth","refentry"],["SWFFont","class.swffont","phpdoc:classref"],["","class.swffontchar","section"],["","class.swffontchar","section"],["SWFFontChar::addChars","swffontchar.addchars","refentry"],["SWFFontChar::addUTF8Chars","swffontchar.addutf8chars","refentry"],["SWFFontChar","class.swffontchar","phpdoc:classref"],["","class.swfgradient","section"],["","class.swfgradient","section"],["SWFGradient::addEntry","swfgradient.addentry","refentry"],["","swfgradient.construct","example"],["SWFGradient::__construct","swfgradient.construct","refentry"],["SWFGradient","class.swfgradient","phpdoc:classref"],["","class.swfmorph","section"],["","class.swfmorph","section"],["","swfmorph.construct","example"],["SWFMorph::__construct","swfmorph.construct","refentry"],["SWFMorph::getShape1","swfmorph.getshape1","refentry"],["SWFMorph::getShape2","swfmorph.getshape2","refentry"],["SWFMorph","class.swfmorph","phpdoc:classref"],["","class.swfmovie","section"],["","class.swfmovie","section"],["SWFMovie::add","swfmovie.add","refentry"],["SWFMovie::addExport","swfmovie.addexport","refentry"],["SWFMovie::addFont","swfmovie.addfont","refentry"],["SWFMovie::__construct","swfmovie.construct","refentry"],["SWFMovie::importChar","swfmovie.importchar","refentry"],["SWFMovie::importFont","swfmovie.importfont","refentry"],["SWFMovie::labelFrame","swfmovie.labelframe","refentry"],["SWFMovie::nextFrame","swfmovie.nextframe","refentry"],["","swfmovie.output","example"],["SWFMovie::output","swfmovie.output","refentry"],["SWFMovie::remove","swfmovie.remove","refentry"],["SWFMovie::save","swfmovie.save","refentry"],["SWFMovie::saveToFile","swfmovie.savetofile","refentry"],["SWFMovie::setbackground","swfmovie.setbackground","refentry"],["SWFMovie::setDimension","swfmovie.setdimension","refentry"],["SWFMovie::setFrames","swfmovie.setframes","refentry"],["SWFMovie::setRate","swfmovie.setrate","refentry"],["SWFMovie::startSound","swfmovie.startsound","refentry"],["SWFMovie::stopSound","swfmovie.stopsound","refentry"],["","swfmovie.streammp3","example"],["SWFMovie::streamMP3","swfmovie.streammp3","refentry"],["SWFMovie::writeExports","swfmovie.writeexports","refentry"],["SWFMovie","class.swfmovie","phpdoc:classref"],["","class.swfprebuiltclip","section"],["","class.swfprebuiltclip","section"],["SWFPrebuiltClip::__construct","swfprebuiltclip.construct","refentry"],["SWFPrebuiltClip","class.swfprebuiltclip","phpdoc:classref"],["","class.swfshape","section"],["","class.swfshape","section"],["","swfshape.addfill","example"],["SWFShape::addFill","swfshape.addfill","refentry"],["","swfshape.construct","example"],["SWFShape::__construct","swfshape.construct","refentry"],["SWFShape::drawArc","swfshape.drawarc","refentry"],["SWFShape::drawCircle","swfshape.drawcircle","refentry"],["SWFShape::drawCubic","swfshape.drawcubic","refentry"],["SWFShape::drawCubicTo","swfshape.drawcubicto","refentry"],["SWFShape::drawCurve","swfshape.drawcurve","refentry"],["SWFShape::drawCurveTo","swfshape.drawcurveto","refentry"],["SWFShape::drawGlyph","swfshape.drawglyph","refentry"],["SWFShape::drawLine","swfshape.drawline","refentry"],["SWFShape::drawLineTo","swfshape.drawlineto","refentry"],["SWFShape::movePen","swfshape.movepen","refentry"],["SWFShape::movePenTo","swfshape.movepento","refentry"],["SWFShape::setLeftFill","swfshape.setleftfill","refentry"],["","swfshape.setline","example"],["SWFShape::setLine","swfshape.setline","refentry"],["SWFShape::setRightFill","swfshape.setrightfill","refentry"],["SWFShape","class.swfshape","phpdoc:classref"],["","class.swfsound","section"],["","class.swfsound","section"],["SWFSound::__construct","swfsound.construct","refentry"],["SWFSound","class.swfsound","phpdoc:classref"],["","class.swfsoundinstance","section"],["","class.swfsoundinstance","section"],["SWFSoundInstance::loopCount","swfsoundinstance.loopcount","refentry"],["SWFSoundInstance::loopInPoint","swfsoundinstance.loopinpoint","refentry"],["SWFSoundInstance::loopOutPoint","swfsoundinstance.loopoutpoint","refentry"],["SWFSoundInstance::noMultiple","swfsoundinstance.nomultiple","refentry"],["SWFSoundInstance","class.swfsoundinstance","phpdoc:classref"],["","class.swfsprite","section"],["","class.swfsprite","section"],["SWFSprite::add","swfsprite.add","refentry"],["SWFSprite::__construct","swfsprite.construct","refentry"],["SWFSprite::labelFrame","swfsprite.labelframe","refentry"],["SWFSprite::nextFrame","swfsprite.nextframe","refentry"],["SWFSprite::remove","swfsprite.remove","refentry"],["SWFSprite::setFrames","swfsprite.setframes","refentry"],["SWFSprite::startSound","swfsprite.startsound","refentry"],["SWFSprite::stopSound","swfsprite.stopsound","refentry"],["SWFSprite","class.swfsprite","phpdoc:classref"],["","class.swftext","section"],["","class.swftext","section"],["SWFText::addString","swftext.addstring","refentry"],["SWFText::addUTF8String","swftext.addutf8string","refentry"],["","swftext.construct","example"],["SWFText::__construct","swftext.construct","refentry"],["SWFText::getAscent","swftext.getascent","refentry"],["SWFText::getDescent","swftext.getdescent","refentry"],["SWFText::getLeading","swftext.getleading","refentry"],["SWFText::getUTF8Width","swftext.getutf8width","refentry"],["SWFText::getWidth","swftext.getwidth","refentry"],["SWFText::moveTo","swftext.moveto","refentry"],["SWFText::setColor","swftext.setcolor","refentry"],["SWFText::setFont","swftext.setfont","refentry"],["SWFText::setHeight","swftext.setheight","refentry"],["SWFText::setSpacing","swftext.setspacing","refentry"],["SWFText","class.swftext","phpdoc:classref"],["","class.swftextfield","section"],["","class.swftextfield","section"],["SWFTextField::addChars","swftextfield.addchars","refentry"],["SWFTextField::addString","swftextfield.addstring","refentry"],["SWFTextField::align","swftextfield.align","refentry"],["SWFTextField::__construct","swftextfield.construct","refentry"],["SWFTextField::setBounds","swftextfield.setbounds","refentry"],["SWFTextField::setColor","swftextfield.setcolor","refentry"],["SWFTextField::setFont","swftextfield.setfont","refentry"],["SWFTextField::setHeight","swftextfield.setheight","refentry"],["SWFTextField::setIndentation","swftextfield.setindentation","refentry"],["SWFTextField::setLeftMargin","swftextfield.setleftmargin","refentry"],["SWFTextField::setLineSpacing","swftextfield.setlinespacing","refentry"],["SWFTextField::setMargins","swftextfield.setmargins","refentry"],["SWFTextField::setName","swftextfield.setname","refentry"],["SWFTextField::setPadding","swftextfield.setpadding","refentry"],["SWFTextField::setRightMargin","swftextfield.setrightmargin","refentry"],["SWFTextField","class.swftextfield","phpdoc:classref"],["","class.swfvideostream","section"],["","class.swfvideostream","section"],["SWFVideoStream::__construct","swfvideostream.construct","refentry"],["SWFVideoStream::getNumFrames","swfvideostream.getnumframes","refentry"],["SWFVideoStream::setDimension","swfvideostream.setdimension","refentry"],["SWFVideoStream","class.swfvideostream","phpdoc:classref"],["Ming","book.ming","book"],["","intro.pdf","preface"],["","pdf.requirements","section"],["","pdf.requirements","section"],["","pdf.installation","section"],["","pdf.configuration","section"],["","pdf.resources","section"],["","pdf.setup","chapter"],["","pdf.constants","appendix"],["","pdf.examples-basic","example"],["","pdf.examples-basic","example"],["","pdf.examples-basic","section"],["","pdf.examples","chapter"],["","ref.pdf","partintro"],["PDF_activate_item","function.pdf-activate-item","refentry"],["PDF_add_annotation","function.pdf-add-annotation","refentry"],["PDF_add_bookmark","function.pdf-add-bookmark","refentry"],["PDF_add_launchlink","function.pdf-add-launchlink","refentry"],["PDF_add_locallink","function.pdf-add-locallink","refentry"],["PDF_add_nameddest","function.pdf-add-nameddest","refentry"],["PDF_add_note","function.pdf-add-note","refentry"],["PDF_add_outline","function.pdf-add-outline","refentry"],["PDF_add_pdflink","function.pdf-add-pdflink","refentry"],["PDF_add_table_cell","function.pdf-add-table-cell","refentry"],["PDF_add_textflow","function.pdf-add-textflow","refentry"],["PDF_add_thumbnail","function.pdf-add-thumbnail","refentry"],["PDF_add_weblink","function.pdf-add-weblink","refentry"],["PDF_arc","function.pdf-arc","refentry"],["PDF_arcn","function.pdf-arcn","refentry"],["PDF_attach_file","function.pdf-attach-file","refentry"],["PDF_begin_document","function.pdf-begin-document","refentry"],["PDF_begin_font","function.pdf-begin-font","refentry"],["PDF_begin_glyph","function.pdf-begin-glyph","refentry"],["PDF_begin_item","function.pdf-begin-item","refentry"],["PDF_begin_layer","function.pdf-begin-layer","refentry"],["PDF_begin_page_ext","function.pdf-begin-page-ext","refentry"],["PDF_begin_page","function.pdf-begin-page","refentry"],["PDF_begin_pattern","function.pdf-begin-pattern","refentry"],["PDF_begin_template_ext","function.pdf-begin-template-ext","refentry"],["PDF_begin_template","function.pdf-begin-template","refentry"],["PDF_circle","function.pdf-circle","refentry"],["PDF_clip","function.pdf-clip","refentry"],["PDF_close_image","function.pdf-close-image","refentry"],["PDF_close_pdi_page","function.pdf-close-pdi-page","refentry"],["PDF_close_pdi","function.pdf-close-pdi","refentry"],["PDF_close","function.pdf-close","refentry"],["PDF_closepath_fill_stroke","function.pdf-closepath-fill-stroke","refentry"],["PDF_closepath_stroke","function.pdf-closepath-stroke","refentry"],["PDF_closepath","function.pdf-closepath","refentry"],["PDF_concat","function.pdf-concat","refentry"],["PDF_continue_text","function.pdf-continue-text","refentry"],["PDF_create_3dview","function.pdf-create-3dview","refentry"],["PDF_create_action","function.pdf-create-action","refentry"],["PDF_create_annotation","function.pdf-create-annotation","refentry"],["PDF_create_bookmark","function.pdf-create-bookmark","refentry"],["PDF_create_field","function.pdf-create-field","refentry"],["PDF_create_fieldgroup","function.pdf-create-fieldgroup","refentry"],["PDF_create_gstate","function.pdf-create-gstate","refentry"],["PDF_create_pvf","function.pdf-create-pvf","refentry"],["PDF_create_textflow","function.pdf-create-textflow","refentry"],["PDF_curveto","function.pdf-curveto","refentry"],["PDF_define_layer","function.pdf-define-layer","refentry"],["PDF_delete_pvf","function.pdf-delete-pvf","refentry"],["PDF_delete_table","function.pdf-delete-table","refentry"],["PDF_delete_textflow","function.pdf-delete-textflow","refentry"],["PDF_delete","function.pdf-delete","refentry"],["PDF_encoding_set_char","function.pdf-encoding-set-char","refentry"],["PDF_end_document","function.pdf-end-document","refentry"],["PDF_end_font","function.pdf-end-font","refentry"],["PDF_end_glyph","function.pdf-end-glyph","refentry"],["PDF_end_item","function.pdf-end-item","refentry"],["PDF_end_layer","function.pdf-end-layer","refentry"],["PDF_end_page_ext","function.pdf-end-page-ext","refentry"],["PDF_end_page","function.pdf-end-page","refentry"],["PDF_end_pattern","function.pdf-end-pattern","refentry"],["PDF_end_template","function.pdf-end-template","refentry"],["PDF_endpath","function.pdf-endpath","refentry"],["PDF_fill_imageblock","function.pdf-fill-imageblock","refentry"],["PDF_fill_pdfblock","function.pdf-fill-pdfblock","refentry"],["PDF_fill_stroke","function.pdf-fill-stroke","refentry"],["PDF_fill_textblock","function.pdf-fill-textblock","refentry"],["PDF_fill","function.pdf-fill","refentry"],["PDF_findfont","function.pdf-findfont","refentry"],["PDF_fit_image","function.pdf-fit-image","refentry"],["PDF_fit_pdi_page","function.pdf-fit-pdi-page","refentry"],["PDF_fit_table","function.pdf-fit-table","refentry"],["PDF_fit_textflow","function.pdf-fit-textflow","refentry"],["PDF_fit_textline","function.pdf-fit-textline","refentry"],["PDF_get_apiname","function.pdf-get-apiname","refentry"],["PDF_get_buffer","function.pdf-get-buffer","refentry"],["PDF_get_errmsg","function.pdf-get-errmsg","refentry"],["PDF_get_errnum","function.pdf-get-errnum","refentry"],["PDF_get_font","function.pdf-get-font","refentry"],["PDF_get_fontname","function.pdf-get-fontname","refentry"],["PDF_get_fontsize","function.pdf-get-fontsize","refentry"],["PDF_get_image_height","function.pdf-get-image-height","refentry"],["PDF_get_image_width","function.pdf-get-image-width","refentry"],["PDF_get_majorversion","function.pdf-get-majorversion","refentry"],["PDF_get_minorversion","function.pdf-get-minorversion","refentry"],["PDF_get_parameter","function.pdf-get-parameter","refentry"],["PDF_get_pdi_parameter","function.pdf-get-pdi-parameter","refentry"],["PDF_get_pdi_value","function.pdf-get-pdi-value","refentry"],["PDF_get_value","function.pdf-get-value","refentry"],["PDF_info_font","function.pdf-info-font","refentry"],["PDF_info_matchbox","function.pdf-info-matchbox","refentry"],["PDF_info_table","function.pdf-info-table","refentry"],["PDF_info_textflow","function.pdf-info-textflow","refentry"],["PDF_info_textline","function.pdf-info-textline","refentry"],["PDF_initgraphics","function.pdf-initgraphics","refentry"],["PDF_lineto","function.pdf-lineto","refentry"],["PDF_load_3ddata","function.pdf-load-3ddata","refentry"],["PDF_load_font","function.pdf-load-font","refentry"],["PDF_load_iccprofile","function.pdf-load-iccprofile","refentry"],["PDF_load_image","function.pdf-load-image","refentry"],["PDF_makespotcolor","function.pdf-makespotcolor","refentry"],["PDF_moveto","function.pdf-moveto","refentry"],["PDF_new","function.pdf-new","refentry"],["PDF_open_ccitt","function.pdf-open-ccitt","refentry"],["PDF_open_file","function.pdf-open-file","refentry"],["PDF_open_gif","function.pdf-open-gif","refentry"],["PDF_open_image_file","function.pdf-open-image-file","refentry"],["PDF_open_image","function.pdf-open-image","refentry"],["PDF_open_jpeg","function.pdf-open-jpeg","refentry"],["PDF_open_memory_image","function.pdf-open-memory-image","refentry"],["PDF_open_pdi_document","function.pdf-open-pdi-document","refentry"],["PDF_open_pdi_page","function.pdf-open-pdi-page","refentry"],["PDF_open_pdi","function.pdf-open-pdi","refentry"],["PDF_open_tiff","function.pdf-open-tiff","refentry"],["PDF_pcos_get_number","function.pdf-pcos-get-number","refentry"],["PDF_pcos_get_stream","function.pdf-pcos-get-stream","refentry"],["PDF_pcos_get_string","function.pdf-pcos-get-string","refentry"],["PDF_place_image","function.pdf-place-image","refentry"],["PDF_place_pdi_page","function.pdf-place-pdi-page","refentry"],["PDF_process_pdi","function.pdf-process-pdi","refentry"],["PDF_rect","function.pdf-rect","refentry"],["PDF_restore","function.pdf-restore","refentry"],["PDF_resume_page","function.pdf-resume-page","refentry"],["PDF_rotate","function.pdf-rotate","refentry"],["PDF_save","function.pdf-save","refentry"],["PDF_scale","function.pdf-scale","refentry"],["PDF_set_border_color","function.pdf-set-border-color","refentry"],["PDF_set_border_dash","function.pdf-set-border-dash","refentry"],["PDF_set_border_style","function.pdf-set-border-style","refentry"],["PDF_set_char_spacing","function.pdf-set-char-spacing","refentry"],["PDF_set_duration","function.pdf-set-duration","refentry"],["PDF_set_gstate","function.pdf-set-gstate","refentry"],["PDF_set_horiz_scaling","function.pdf-set-horiz-scaling","refentry"],["PDF_set_info_author","function.pdf-set-info-author","refentry"],["PDF_set_info_creator","function.pdf-set-info-creator","refentry"],["PDF_set_info_keywords","function.pdf-set-info-keywords","refentry"],["PDF_set_info_subject","function.pdf-set-info-subject","refentry"],["PDF_set_info_title","function.pdf-set-info-title","refentry"],["PDF_set_info","function.pdf-set-info","refentry"],["PDF_set_layer_dependency","function.pdf-set-layer-dependency","refentry"],["PDF_set_leading","function.pdf-set-leading","refentry"],["PDF_set_parameter","function.pdf-set-parameter","refentry"],["PDF_set_text_matrix","function.pdf-set-text-matrix","refentry"],["PDF_set_text_pos","function.pdf-set-text-pos","refentry"],["PDF_set_text_rendering","function.pdf-set-text-rendering","refentry"],["PDF_set_text_rise","function.pdf-set-text-rise","refentry"],["PDF_set_value","function.pdf-set-value","refentry"],["PDF_set_word_spacing","function.pdf-set-word-spacing","refentry"],["PDF_setcolor","function.pdf-setcolor","refentry"],["PDF_setdash","function.pdf-setdash","refentry"],["PDF_setdashpattern","function.pdf-setdashpattern","refentry"],["PDF_setflat","function.pdf-setflat","refentry"],["PDF_setfont","function.pdf-setfont","refentry"],["PDF_setgray_fill","function.pdf-setgray-fill","refentry"],["PDF_setgray_stroke","function.pdf-setgray-stroke","refentry"],["PDF_setgray","function.pdf-setgray","refentry"],["PDF_setlinecap","function.pdf-setlinecap","refentry"],["PDF_setlinejoin","function.pdf-setlinejoin","refentry"],["PDF_setlinewidth","function.pdf-setlinewidth","refentry"],["PDF_setmatrix","function.pdf-setmatrix","refentry"],["PDF_setmiterlimit","function.pdf-setmiterlimit","refentry"],["PDF_setpolydash","function.pdf-setpolydash","refentry"],["PDF_setrgbcolor_fill","function.pdf-setrgbcolor-fill","refentry"],["PDF_setrgbcolor_stroke","function.pdf-setrgbcolor-stroke","refentry"],["PDF_setrgbcolor","function.pdf-setrgbcolor","refentry"],["PDF_shading_pattern","function.pdf-shading-pattern","refentry"],["PDF_shading","function.pdf-shading","refentry"],["PDF_shfill","function.pdf-shfill","refentry"],["PDF_show_boxed","function.pdf-show-boxed","refentry"],["PDF_show_xy","function.pdf-show-xy","refentry"],["PDF_show","function.pdf-show","refentry"],["PDF_skew","function.pdf-skew","refentry"],["PDF_stringwidth","function.pdf-stringwidth","refentry"],["PDF_stroke","function.pdf-stroke","refentry"],["PDF_suspend_page","function.pdf-suspend-page","refentry"],["PDF_translate","function.pdf-translate","refentry"],["PDF_utf16_to_utf8","function.pdf-utf16-to-utf8","refentry"],["PDF_utf32_to_utf16","function.pdf-utf32-to-utf16","refentry"],["PDF_utf8_to_utf16","function.pdf-utf8-to-utf16","refentry"],["","ref.pdf","reference"],["","book.pdf","book"],["","intro.ps","preface"],["","ps.requirements","section"],["","ps.installation","section"],["","ps.configuration","section"],["","ps.resources","section"],["","ps.setup","chapter"],["","ps.constants","table"],["","ps.constants","table"],["","ps.constants","appendix"],["","ref.ps","section"],["ps_add_bookmark","function.ps-add-bookmark","refentry"],["ps_add_launchlink","function.ps-add-launchlink","refentry"],["ps_add_locallink","function.ps-add-locallink","refentry"],["ps_add_note","function.ps-add-note","refentry"],["ps_add_pdflink","function.ps-add-pdflink","refentry"],["ps_add_weblink","function.ps-add-weblink","refentry"],["ps_arc","function.ps-arc","refentry"],["ps_arcn","function.ps-arcn","refentry"],["ps_begin_page","function.ps-begin-page","refentry"],["","function.ps-begin-pattern","example"],["ps_begin_pattern","function.ps-begin-pattern","refentry"],["","function.ps-begin-template","example"],["ps_begin_template","function.ps-begin-template","refentry"],["ps_circle","function.ps-circle","refentry"],["ps_clip","function.ps-clip","refentry"],["ps_close_image","function.ps-close-image","refentry"],["ps_close","function.ps-close","refentry"],["ps_closepath_stroke","function.ps-closepath-stroke","refentry"],["ps_closepath","function.ps-closepath","refentry"],["ps_continue_text","function.ps-continue-text","refentry"],["ps_curveto","function.ps-curveto","refentry"],["ps_delete","function.ps-delete","refentry"],["ps_end_page","function.ps-end-page","refentry"],["ps_end_pattern","function.ps-end-pattern","refentry"],["ps_end_template","function.ps-end-template","refentry"],["ps_fill_stroke","function.ps-fill-stroke","refentry"],["ps_fill","function.ps-fill","refentry"],["ps_findfont","function.ps-findfont","refentry"],["ps_get_buffer","function.ps-get-buffer","refentry"],["ps_get_parameter","function.ps-get-parameter","refentry"],["ps_get_value","function.ps-get-value","refentry"],["","function.ps-hyphenate","example"],["ps_hyphenate","function.ps-hyphenate","refentry"],["ps_include_file","function.ps-include-file","refentry"],["","function.ps-lineto","example"],["ps_lineto","function.ps-lineto","refentry"],["","function.ps-makespotcolor","example"],["ps_makespotcolor","function.ps-makespotcolor","refentry"],["ps_moveto","function.ps-moveto","refentry"],["ps_new","function.ps-new","refentry"],["ps_open_file","function.ps-open-file","refentry"],["ps_open_image_file","function.ps-open-image-file","refentry"],["ps_open_image","function.ps-open-image","refentry"],["ps_open_memory_image","function.ps-open-memory-image","refentry"],["ps_place_image","function.ps-place-image","refentry"],["ps_rect","function.ps-rect","refentry"],["ps_restore","function.ps-restore","refentry"],["","function.ps-rotate","example"],["ps_rotate","function.ps-rotate","refentry"],["ps_save","function.ps-save","refentry"],["ps_scale","function.ps-scale","refentry"],["ps_set_border_color","function.ps-set-border-color","refentry"],["ps_set_border_dash","function.ps-set-border-dash","refentry"],["ps_set_border_style","function.ps-set-border-style","refentry"],["ps_set_info","function.ps-set-info","refentry"],["ps_set_parameter","function.ps-set-parameter","refentry"],["","function.ps-set-text-pos","example"],["ps_set_text_pos","function.ps-set-text-pos","refentry"],["ps_set_value","function.ps-set-value","refentry"],["ps_setcolor","function.ps-setcolor","refentry"],["ps_setdash","function.ps-setdash","refentry"],["ps_setflat","function.ps-setflat","refentry"],["ps_setfont","function.ps-setfont","refentry"],["ps_setgray","function.ps-setgray","refentry"],["ps_setlinecap","function.ps-setlinecap","refentry"],["ps_setlinejoin","function.ps-setlinejoin","refentry"],["ps_setlinewidth","function.ps-setlinewidth","refentry"],["ps_setmiterlimit","function.ps-setmiterlimit","refentry"],["ps_setoverprintmode","function.ps-setoverprintmode","refentry"],["","function.ps-setpolydash","example"],["ps_setpolydash","function.ps-setpolydash","refentry"],["ps_shading_pattern","function.ps-shading-pattern","refentry"],["ps_shading","function.ps-shading","refentry"],["ps_shfill","function.ps-shfill","refentry"],["ps_show_boxed","function.ps-show-boxed","refentry"],["ps_show_xy2","function.ps-show-xy2","refentry"],["ps_show_xy","function.ps-show-xy","refentry"],["ps_show2","function.ps-show2","refentry"],["ps_show","function.ps-show","refentry"],["ps_string_geometry","function.ps-string-geometry","refentry"],["ps_stringwidth","function.ps-stringwidth","refentry"],["ps_stroke","function.ps-stroke","refentry"],["ps_symbol_name","function.ps-symbol-name","refentry"],["ps_symbol_width","function.ps-symbol-width","refentry"],["ps_symbol","function.ps-symbol","refentry"],["","function.ps-translate","example"],["ps_translate","function.ps-translate","refentry"],["","ref.ps","reference"],["PS","book.ps","book"],["","intro.rpmreader","preface"],["","rpmreader.requirements","section"],["","rpmreader.installation","section"],["","rpmreader.configuration","section"],["","rpmreader.resources","section"],["","rpmreader.setup","chapter"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","varlistentry"],["","rpmreader.constants","appendix"],["","rpmreader.examples-basic","example"],["","rpmreader.examples-basic","section"],["","rpmreader.examples","chapter"],["","function.rpm-close","example"],["rpm_close","function.rpm-close","refentry"],["","function.rpm-get-tag","example"],["rpm_get_tag","function.rpm-get-tag","refentry"],["","function.rpm-is-valid","example"],["rpm_is_valid","function.rpm-is-valid","refentry"],["","function.rpm-open","example"],["rpm_open","function.rpm-open","refentry"],["","function.rpm-version","example"],["rpm_version","function.rpm-version","refentry"],["","ref.rpmreader","reference"],["RPM Reader","book.rpmreader","book"],["","intro.swf","preface"],["","swf.requirements","section"],["","swf.installation","section"],["","swf.configuration","section"],["","swf.resources","section"],["","swf.setup","chapter"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","varlistentry"],["","swf.constants","appendix"],["","swf.examples-basic","example"],["","swf.examples-basic","section"],["","swf.examples","chapter"],["swf_actiongeturl","function.swf-actiongeturl","refentry"],["swf_actiongotoframe","function.swf-actiongotoframe","refentry"],["swf_actiongotolabel","function.swf-actiongotolabel","refentry"],["swf_actionnextframe","function.swf-actionnextframe","refentry"],["swf_actionplay","function.swf-actionplay","refentry"],["swf_actionprevframe","function.swf-actionprevframe","refentry"],["swf_actionsettarget","function.swf-actionsettarget","refentry"],["swf_actionstop","function.swf-actionstop","refentry"],["swf_actiontogglequality","function.swf-actiontogglequality","refentry"],["swf_actionwaitforframe","function.swf-actionwaitforframe","refentry"],["","function.swf-addbuttonrecord","example"],["swf_addbuttonrecord","function.swf-addbuttonrecord","refentry"],["swf_addcolor","function.swf-addcolor","refentry"],["","function.swf-closefile","example"],["swf_closefile","function.swf-closefile","refentry"],["swf_definebitmap","function.swf-definebitmap","refentry"],["swf_definefont","function.swf-definefont","refentry"],["swf_defineline","function.swf-defineline","refentry"],["swf_definepoly","function.swf-definepoly","refentry"],["swf_definerect","function.swf-definerect","refentry"],["","function.swf-definetext","example"],["swf_definetext","function.swf-definetext","refentry"],["swf_endbutton","function.swf-endbutton","refentry"],["swf_enddoaction","function.swf-enddoaction","refentry"],["swf_endshape","function.swf-endshape","refentry"],["swf_endsymbol","function.swf-endsymbol","refentry"],["swf_fontsize","function.swf-fontsize","refentry"],["swf_fontslant","function.swf-fontslant","refentry"],["swf_fonttracking","function.swf-fonttracking","refentry"],["swf_getbitmapinfo","function.swf-getbitmapinfo","refentry"],["swf_getfontinfo","function.swf-getfontinfo","refentry"],["swf_getframe","function.swf-getframe","refentry"],["swf_labelframe","function.swf-labelframe","refentry"],["","function.swf-lookat","example"],["swf_lookat","function.swf-lookat","refentry"],["swf_modifyobject","function.swf-modifyobject","refentry"],["swf_mulcolor","function.swf-mulcolor","refentry"],["swf_nextid","function.swf-nextid","refentry"],["swf_oncondition","function.swf-oncondition","refentry"],["swf_openfile","function.swf-openfile","refentry"],["swf_ortho2","function.swf-ortho2","refentry"],["swf_ortho","function.swf-ortho","refentry"],["swf_perspective","function.swf-perspective","refentry"],["swf_placeobject","function.swf-placeobject","refentry"],["swf_polarview","function.swf-polarview","refentry"],["swf_popmatrix","function.swf-popmatrix","refentry"],["swf_posround","function.swf-posround","refentry"],["swf_pushmatrix","function.swf-pushmatrix","refentry"],["swf_removeobject","function.swf-removeobject","refentry"],["swf_rotate","function.swf-rotate","refentry"],["swf_scale","function.swf-scale","refentry"],["swf_setfont","function.swf-setfont","refentry"],["swf_setframe","function.swf-setframe","refentry"],["swf_shapearc","function.swf-shapearc","refentry"],["swf_shapecurveto3","function.swf-shapecurveto3","refentry"],["swf_shapecurveto","function.swf-shapecurveto","refentry"],["swf_shapefillbitmapclip","function.swf-shapefillbitmapclip","refentry"],["swf_shapefillbitmaptile","function.swf-shapefillbitmaptile","refentry"],["swf_shapefilloff","function.swf-shapefilloff","refentry"],["swf_shapefillsolid","function.swf-shapefillsolid","refentry"],["swf_shapelinesolid","function.swf-shapelinesolid","refentry"],["swf_shapelineto","function.swf-shapelineto","refentry"],["swf_shapemoveto","function.swf-shapemoveto","refentry"],["swf_showframe","function.swf-showframe","refentry"],["swf_startbutton","function.swf-startbutton","refentry"],["swf_startdoaction","function.swf-startdoaction","refentry"],["swf_startshape","function.swf-startshape","refentry"],["swf_startsymbol","function.swf-startsymbol","refentry"],["swf_textwidth","function.swf-textwidth","refentry"],["swf_translate","function.swf-translate","refentry"],["swf_viewport","function.swf-viewport","refentry"],["","ref.swf","reference"],["SWF","book.swf","book"],["","refs.utilspec.nontext","set"],["","intro.eio","example"],["","intro.eio","example"],["","intro.eio","example"],["","intro.eio","example"],["","intro.eio","preface"],["","eio.requirements","section"],["","eio.installation","section"],["","eio.configuration","section"],["","eio.resources","section"],["","eio.setup","chapter"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","varlistentry"],["","eio.constants","appendix"],["","eio.examples","example"],["","eio.examples","example"],["","eio.examples","example"],["","eio.examples","example"],["","eio.examples","example"],["","eio.examples","chapter"],["eio_busy","function.eio-busy","refentry"],["","function.eio-cancel","example"],["eio_cancel","function.eio-cancel","refentry"],["eio_chmod","function.eio-chmod","refentry"],["eio_chown","function.eio-chown","refentry"],["eio_close","function.eio-close","refentry"],["","function.eio-custom","example"],["eio_custom","function.eio-custom","refentry"],["eio_dup2","function.eio-dup2","refentry"],["","function.eio-event-loop","example"],["eio_event_loop","function.eio-event-loop","refentry"],["eio_fallocate","function.eio-fallocate","refentry"],["eio_fchmod","function.eio-fchmod","refentry"],["eio_fchown","function.eio-fchown","refentry"],["eio_fdatasync","function.eio-fdatasync","refentry"],["","function.eio-fstat","example"],["eio_fstat","function.eio-fstat","refentry"],["eio_fstatvfs","function.eio-fstatvfs","refentry"],["eio_fsync","function.eio-fsync","refentry"],["eio_ftruncate","function.eio-ftruncate","refentry"],["eio_futime","function.eio-futime","refentry"],["","function.eio-get-event-stream","example"],["eio_get_event_stream","function.eio-get-event-stream","refentry"],["eio_get_last_error","function.eio-get-last-error","refentry"],["","function.eio-grp-add","example"],["eio_grp_add","function.eio-grp-add","refentry"],["eio_grp_cancel","function.eio-grp-cancel","refentry"],["eio_grp_limit","function.eio-grp-limit","refentry"],["","function.eio-grp","example"],["eio_grp","function.eio-grp","refentry"],["eio_init","function.eio-init","refentry"],["","function.eio-link","example"],["eio_link","function.eio-link","refentry"],["","function.eio-lstat","example"],["eio_lstat","function.eio-lstat","refentry"],["","function.eio-mkdir","example"],["eio_mkdir","function.eio-mkdir","refentry"],["","function.eio-mknod","example"],["eio_mknod","function.eio-mknod","refentry"],["eio_nop","function.eio-nop","refentry"],["eio_npending","function.eio-npending","refentry"],["eio_nready","function.eio-nready","refentry"],["","function.eio-nreqs","example"],["eio_nreqs","function.eio-nreqs","refentry"],["eio_nthreads","function.eio-nthreads","refentry"],["","function.eio-open","example"],["eio_open","function.eio-open","refentry"],["","function.eio-poll","example"],["eio_poll","function.eio-poll","refentry"],["","function.eio-read","example"],["eio_read","function.eio-read","refentry"],["eio_readahead","function.eio-readahead","refentry"],["","function.eio-readdir","example"],["eio_readdir","function.eio-readdir","refentry"],["","function.eio-readlink","example"],["eio_readlink","function.eio-readlink","refentry"],["","function.eio-realpath","example"],["eio_realpath","function.eio-realpath","refentry"],["","function.eio-rename","example"],["eio_rename","function.eio-rename","refentry"],["","function.eio-rmdir","example"],["eio_rmdir","function.eio-rmdir","refentry"],["eio_seek","function.eio-seek","refentry"],["eio_sendfile","function.eio-sendfile","refentry"],["eio_set_max_idle","function.eio-set-max-idle","refentry"],["eio_set_max_parallel","function.eio-set-max-parallel","refentry"],["eio_set_max_poll_reqs","function.eio-set-max-poll-reqs","refentry"],["eio_set_max_poll_time","function.eio-set-max-poll-time","refentry"],["eio_set_min_parallel","function.eio-set-min-parallel","refentry"],["","function.eio-stat","example"],["eio_stat","function.eio-stat","refentry"],["","function.eio-statvfs","example"],["eio_statvfs","function.eio-statvfs","refentry"],["","function.eio-symlink","example"],["eio_symlink","function.eio-symlink","refentry"],["eio_sync_file_range","function.eio-sync-file-range","refentry"],["eio_sync","function.eio-sync","refentry"],["eio_syncfs","function.eio-syncfs","refentry"],["eio_truncate","function.eio-truncate","refentry"],["eio_unlink","function.eio-unlink","refentry"],["eio_utime","function.eio-utime","refentry"],["eio_write","function.eio-write","refentry"],["","ref.eio","reference"],["Eio","book.eio","book"],["","intro.ev","preface"],["","ev.requirements","section"],["","ev.installation","section"],["","ev.configuration","section"],["","ev.resources","section"],["","ev.setup","chapter"],["","ev.global.constants","appendix"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","example"],["","ev.examples","chapter"],["","ev.watchers","chapter"],["","ev.watcher-callbacks","chapter"],["","ev.periodic-modes","example"],["","ev.periodic-modes","chapter"],["","class.ev","section"],["","class.ev","section"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","para"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","para"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","para"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","para"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","para"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","varlistentry"],["","class.ev","para"],["","class.ev","section"],["Ev::backend","ev.backend","refentry"],["Ev::depth","ev.depth","refentry"],["","ev.embeddablebackends","example"],["Ev::embeddableBackends","ev.embeddablebackends","refentry"],["Ev::feedSignal","ev.feedsignal","refentry"],["Ev::feedSignalEvent","ev.feedsignalevent","refentry"],["Ev::iteration","ev.iteration","refentry"],["Ev::now","ev.now","refentry"],["Ev::nowUpdate","ev.nowupdate","refentry"],["","ev.recommendedbackends","example"],["Ev::recommendedBackends","ev.recommendedbackends","refentry"],["Ev::resume","ev.resume","refentry"],["Ev::run","ev.run","refentry"],["Ev::sleep","ev.sleep","refentry"],["Ev::stop","ev.stop","refentry"],["","ev.supportedbackends","example"],["Ev::supportedBackends","ev.supportedbackends","refentry"],["Ev::suspend","ev.suspend","refentry"],["Ev::time","ev.time","refentry"],["Ev::verify","ev.verify","refentry"],["Ev","class.ev","phpdoc:classref"],["","class.evcheck","section"],["","class.evcheck","section"],["EvCheck::__construct","evcheck.construct","refentry"],["EvCheck::createStopped","evcheck.createstopped","refentry"],["EvCheck","class.evcheck","phpdoc:classref"],["","class.evchild","section"],["","class.evchild","section"],["","class.evchild","varlistentry"],["","class.evchild","varlistentry"],["","class.evchild","varlistentry"],["","class.evchild","section"],["EvChild::__construct","evchild.construct","refentry"],["EvChild::createStopped","evchild.createstopped","refentry"],["EvChild::set","evchild.set","refentry"],["EvChild","class.evchild","phpdoc:classref"],["","class.evembed","section"],["","class.evembed","section"],["","class.evembed","varlistentry"],["","class.evembed","varlistentry"],["","class.evembed","varlistentry"],["","class.evembed","varlistentry"],["","class.evembed","varlistentry"],["","class.evembed","section"],["","evembed.construct","example"],["EvEmbed::__construct","evembed.construct","refentry"],["EvEmbed::createStopped","evembed.createstopped","refentry"],["EvEmbed::set","evembed.set","refentry"],["EvEmbed::sweep","evembed.sweep","refentry"],["EvEmbed","class.evembed","phpdoc:classref"],["","class.evfork","section"],["","class.evfork","section"],["EvFork::__construct","evfork.construct","refentry"],["EvFork::createStopped","evfork.createstopped","refentry"],["EvFork","class.evfork","phpdoc:classref"],["","class.evidle","section"],["","class.evidle","section"],["EvIdle::__construct","evidle.construct","refentry"],["EvIdle::createStopped","evidle.createstopped","refentry"],["EvIdle","class.evidle","phpdoc:classref"],["","class.evio","section"],["","class.evio","section"],["","class.evio","varlistentry"],["","class.evio","varlistentry"],["","class.evio","section"],["EvIo::__construct","evio.construct","refentry"],["EvIo::createStopped","evio.createstopped","refentry"],["EvIo::set","evio.set","refentry"],["EvIo","class.evio","phpdoc:classref"],["","class.evloop","section"],["","class.evloop","section"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","varlistentry"],["","class.evloop","section"],["EvLoop::backend","evloop.backend","refentry"],["EvLoop::check","evloop.check","refentry"],["EvLoop::child","evloop.child","refentry"],["EvLoop::__construct","evloop.construct","refentry"],["EvLoop::defaultLoop","evloop.defaultloop","refentry"],["EvLoop::embed","evloop.embed","refentry"],["EvLoop::fork","evloop.fork","refentry"],["EvLoop::idle","evloop.idle","refentry"],["EvLoop::invokePending","evloop.invokepending","refentry"],["EvLoop::io","evloop.io","refentry"],["EvLoop::loopFork","evloop.loopfork","refentry"],["EvLoop::now","evloop.now","refentry"],["EvLoop::nowUpdate","evloop.nowupdate","refentry"],["EvLoop::periodic","evloop.periodic","refentry"],["EvLoop::prepare","evloop.prepare","refentry"],["EvLoop::resume","evloop.resume","refentry"],["EvLoop::run","evloop.run","refentry"],["EvLoop::signal","evloop.signal","refentry"],["EvLoop::stat","evloop.stat","refentry"],["EvLoop::stop","evloop.stop","refentry"],["EvLoop::suspend","evloop.suspend","refentry"],["EvLoop::timer","evloop.timer","refentry"],["EvLoop::verify","evloop.verify","refentry"],["EvLoop","class.evloop","phpdoc:classref"],["","class.evperiodic","section"],["","class.evperiodic","section"],["","class.evperiodic","varlistentry"],["","class.evperiodic","varlistentry"],["","class.evperiodic","section"],["EvPeriodic::again","evperiodic.again","refentry"],["EvPeriodic::at","evperiodic.at","refentry"],["","evperiodic.construct","example"],["","evperiodic.construct","example"],["","evperiodic.construct","example"],["EvPeriodic::__construct","evperiodic.construct","refentry"],["EvPeriodic::createStopped","evperiodic.createstopped","refentry"],["EvPeriodic::set","evperiodic.set","refentry"],["EvPeriodic","class.evperiodic","phpdoc:classref"],["","class.evprepare","section"],["","class.evprepare","section"],["EvPrepare::__construct","evprepare.construct","refentry"],["EvPrepare::createStopped","evprepare.createstopped","refentry"],["EvPrepare","class.evprepare","phpdoc:classref"],["","class.evsignal","section"],["","class.evsignal","section"],["","class.evsignal","varlistentry"],["","class.evsignal","section"],["","evsignal.construct","example"],["EvSignal::__construct","evsignal.construct","refentry"],["EvSignal::createStopped","evsignal.createstopped","refentry"],["EvSignal::set","evsignal.set","refentry"],["EvSignal","class.evsignal","phpdoc:classref"],["","class.evstat","section"],["","class.evstat","section"],["","class.evstat","varlistentry"],["","class.evstat","varlistentry"],["","class.evstat","section"],["","evstat.attr","example"],["EvStat::attr","evstat.attr","refentry"],["","evstat.construct","example"],["EvStat::__construct","evstat.construct","refentry"],["EvStat::createStopped","evstat.createstopped","refentry"],["EvStat::prev","evstat.prev","refentry"],["EvStat::set","evstat.set","refentry"],["EvStat::stat","evstat.stat","refentry"],["EvStat","class.evstat","phpdoc:classref"],["","class.evtimer","section"],["","class.evtimer","section"],["","class.evtimer","varlistentry"],["","class.evtimer","varlistentry"],["","class.evtimer","section"],["EvTimer::again","evtimer.again","refentry"],["","evtimer.construct","example"],["EvTimer::__construct","evtimer.construct","refentry"],["","evtimer.createstopped","example"],["EvTimer::createStopped","evtimer.createstopped","refentry"],["EvTimer::set","evtimer.set","refentry"],["EvTimer","class.evtimer","phpdoc:classref"],["","class.evwatcher","section"],["","class.evwatcher","section"],["","class.evwatcher","varlistentry"],["","class.evwatcher","varlistentry"],["","class.evwatcher","varlistentry"],["","class.evwatcher","varlistentry"],["","class.evwatcher","section"],["EvWatcher::clear","evwatcher.clear","refentry"],["EvWatcher::__construct","evwatcher.construct","refentry"],["EvWatcher::feed","evwatcher.feed","refentry"],["EvWatcher::getLoop","evwatcher.getloop","refentry"],["EvWatcher::invoke","evwatcher.invoke","refentry"],["","evwatcher.keepalive","example"],["EvWatcher::keepalive","evwatcher.keepalive","refentry"],["EvWatcher::setCallback","evwatcher.setcallback","refentry"],["EvWatcher::start","evwatcher.start","refentry"],["EvWatcher::stop","evwatcher.stop","refentry"],["EvWatcher","class.evwatcher","phpdoc:classref"],["Ev","book.ev","book"],["","intro.expect","preface"],["","expect.requirements","section"],["","expect.installation","section"],["","expect.configuration","varlistentry"],["","expect.configuration","varlistentry"],["","expect.configuration","varlistentry"],["","expect.configuration","varlistentry"],["","expect.configuration","section"],["","expect.resources","section"],["","expect.setup","chapter"],["","expect.constants","varlistentry"],["","expect.constants","varlistentry"],["","expect.constants","varlistentry"],["","expect.constants","varlistentry"],["","expect.constants","varlistentry"],["","expect.constants","varlistentry"],["","expect.constants","appendix"],["","expect.examples-usage","example"],["","expect.examples-usage","example"],["","expect.examples-usage","section"],["","expect.examples","chapter"],["","function.expect-expectl","example"],["expect_expectl","function.expect-expectl","refentry"],["","function.expect-popen","example"],["expect_popen","function.expect-popen","refentry"],["","ref.expect","reference"],["","book.expect","book"],["","intro.libevent","preface"],["","libevent.requirements","section"],["","libevent.installation","section"],["","libevent.configuration","section"],["","libevent.resources","section"],["","libevent.setup","chapter"],["","libevent.constants","varlistentry"],["","libevent.constants","varlistentry"],["","libevent.constants","varlistentry"],["","libevent.constants","varlistentry"],["","libevent.constants","varlistentry"],["","libevent.constants","varlistentry"],["","libevent.constants","varlistentry"],["","libevent.constants","appendix"],["","libevent.examples","example"],["","libevent.examples","example"],["","libevent.examples","chapter"],["event_add","function.event-add","refentry"],["event_base_free","function.event-base-free","refentry"],["event_base_loop","function.event-base-loop","refentry"],["event_base_loopbreak","function.event-base-loopbreak","refentry"],["event_base_loopexit","function.event-base-loopexit","refentry"],["event_base_new","function.event-base-new","refentry"],["event_base_priority_init","function.event-base-priority-init","refentry"],["event_base_set","function.event-base-set","refentry"],["event_buffer_base_set","function.event-buffer-base-set","refentry"],["event_buffer_disable","function.event-buffer-disable","refentry"],["event_buffer_enable","function.event-buffer-enable","refentry"],["event_buffer_fd_set","function.event-buffer-fd-set","refentry"],["event_buffer_free","function.event-buffer-free","refentry"],["event_buffer_new","function.event-buffer-new","refentry"],["event_buffer_priority_set","function.event-buffer-priority-set","refentry"],["event_buffer_read","function.event-buffer-read","refentry"],["event_buffer_set_callback","function.event-buffer-set-callback","refentry"],["event_buffer_timeout_set","function.event-buffer-timeout-set","refentry"],["event_buffer_watermark_set","function.event-buffer-watermark-set","refentry"],["event_buffer_write","function.event-buffer-write","refentry"],["event_del","function.event-del","refentry"],["event_free","function.event-free","refentry"],["event_new","function.event-new","refentry"],["event_set","function.event-set","refentry"],["","ref.libevent","reference"],["Libevent","book.libevent","book"],["","intro.pcntl","preface"],["","pcntl.requirements","section"],["","pcntl.installation","section"],["","pcntl.configuration","section"],["","pcntl.resources","section"],["","pcntl.setup","chapter"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","varlistentry"],["","pcntl.constants","appendix"],["","pcntl.example","example"],["","pcntl.example","section"],["","pcntl.examples","chapter"],["","ref.pcntl","partintro"],["pcntl_alarm","function.pcntl-alarm","refentry"],["pcntl_errno","function.pcntl-errno","refentry"],["pcntl_exec","function.pcntl-exec","refentry"],["","function.pcntl-fork","example"],["pcntl_fork","function.pcntl-fork","refentry"],["pcntl_get_last_error","function.pcntl-get-last-error","refentry"],["pcntl_getpriority","function.pcntl-getpriority","refentry"],["pcntl_setpriority","function.pcntl-setpriority","refentry"],["","function.pcntl-signal-dispatch","example"],["pcntl_signal_dispatch","function.pcntl-signal-dispatch","refentry"],["","function.pcntl-signal","example"],["pcntl_signal","function.pcntl-signal","refentry"],["","function.pcntl-sigprocmask","example"],["pcntl_sigprocmask","function.pcntl-sigprocmask","refentry"],["pcntl_sigtimedwait","function.pcntl-sigtimedwait","refentry"],["","function.pcntl-sigwaitinfo","example"],["pcntl_sigwaitinfo","function.pcntl-sigwaitinfo","refentry"],["pcntl_strerror","function.pcntl-strerror","refentry"],["pcntl_wait","function.pcntl-wait","refentry"],["pcntl_waitpid","function.pcntl-waitpid","refentry"],["pcntl_wexitstatus","function.pcntl-wexitstatus","refentry"],["pcntl_wifexited","function.pcntl-wifexited","refentry"],["pcntl_wifsignaled","function.pcntl-wifsignaled","refentry"],["pcntl_wifstopped","function.pcntl-wifstopped","refentry"],["pcntl_wstopsig","function.pcntl-wstopsig","refentry"],["pcntl_wtermsig","function.pcntl-wtermsig","refentry"],["","ref.pcntl","reference"],["PCNTL","book.pcntl","book"],["","intro.posix","preface"],["","posix.requirements","section"],["","posix.installation","section"],["","posix.configuration","section"],["","posix.resources","section"],["","posix.setup","chapter"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","varlistentry"],["","posix.constants","appendix"],["","ref.posix","partintro"],["","function.posix-access","example"],["posix_access","function.posix-access","refentry"],["","function.posix-ctermid","example"],["posix_ctermid","function.posix-ctermid","refentry"],["posix_errno","function.posix-errno","refentry"],["","function.posix-get-last-error","example"],["posix_get_last_error","function.posix-get-last-error","refentry"],["","function.posix-getcwd","example"],["posix_getcwd","function.posix-getcwd","refentry"],["","function.posix-getegid","example"],["posix_getegid","function.posix-getegid","refentry"],["","function.posix-geteuid","example"],["posix_geteuid","function.posix-geteuid","refentry"],["","function.posix-getgid","example"],["posix_getgid","function.posix-getgid","refentry"],["","function.posix-getgrgid","example"],["posix_getgrgid","function.posix-getgrgid","refentry"],["","function.posix-getgrnam","example"],["posix_getgrnam","function.posix-getgrnam","refentry"],["","function.posix-getgroups","example"],["posix_getgroups","function.posix-getgroups","refentry"],["","function.posix-getlogin","example"],["posix_getlogin","function.posix-getlogin","refentry"],["","function.posix-getpgid","example"],["posix_getpgid","function.posix-getpgid","refentry"],["posix_getpgrp","function.posix-getpgrp","refentry"],["","function.posix-getpid","example"],["posix_getpid","function.posix-getpid","refentry"],["","function.posix-getppid","example"],["posix_getppid","function.posix-getppid","refentry"],["","function.posix-getpwnam","example"],["posix_getpwnam","function.posix-getpwnam","refentry"],["","function.posix-getpwuid","example"],["posix_getpwuid","function.posix-getpwuid","refentry"],["","function.posix-getrlimit","example"],["posix_getrlimit","function.posix-getrlimit","refentry"],["","function.posix-getsid","example"],["posix_getsid","function.posix-getsid","refentry"],["","function.posix-getuid","example"],["posix_getuid","function.posix-getuid","refentry"],["posix_initgroups","function.posix-initgroups","refentry"],["posix_isatty","function.posix-isatty","refentry"],["posix_kill","function.posix-kill","refentry"],["posix_mkfifo","function.posix-mkfifo","refentry"],["","function.posix-mknod","example"],["posix_mknod","function.posix-mknod","refentry"],["","function.posix-setegid","example"],["posix_setegid","function.posix-setegid","refentry"],["posix_seteuid","function.posix-seteuid","refentry"],["","function.posix-setgid","example"],["posix_setgid","function.posix-setgid","refentry"],["posix_setpgid","function.posix-setpgid","refentry"],["posix_setsid","function.posix-setsid","refentry"],["","function.posix-setuid","example"],["posix_setuid","function.posix-setuid","refentry"],["","function.posix-strerror","example"],["posix_strerror","function.posix-strerror","refentry"],["","function.posix-times","example"],["posix_times","function.posix-times","refentry"],["posix_ttyname","function.posix-ttyname","refentry"],["","function.posix-uname","example"],["posix_uname","function.posix-uname","refentry"],["","ref.posix","reference"],["","book.posix","book"],["","intro.exec","preface"],["","exec.requirements","section"],["","exec.installation","section"],["","exec.configuration","section"],["","exec.resources","section"],["","exec.setup","chapter"],["","exec.constants","appendix"],["","ref.exec","section"],["","ref.exec","section"],["","function.escapeshellarg","example"],["escapeshellarg","function.escapeshellarg","refentry"],["","function.escapeshellcmd","example"],["escapeshellcmd","function.escapeshellcmd","refentry"],["","function.exec","example"],["exec","function.exec","refentry"],["passthru","function.passthru","refentry"],["proc_close","function.proc-close","refentry"],["proc_get_status","function.proc-get-status","refentry"],["proc_nice","function.proc-nice","refentry"],["","function.proc-open","example"],["proc_open","function.proc-open","refentry"],["proc_terminate","function.proc-terminate","refentry"],["","function.shell-exec","example"],["shell_exec","function.shell-exec","refentry"],["","function.system","example"],["system","function.system","refentry"],["","ref.exec","reference"],["Program execution","book.exec","book"],["","intro.pthreads","preface"],["","pthreads.requirements","section"],["","pthreads.installation","section"],["","pthreads.configuration","section"],["","pthreads.resources","section"],["","pthreads.setup","chapter"],["","pthreads.constants","varlistentry"],["","pthreads.constants","varlistentry"],["","pthreads.constants","varlistentry"],["","pthreads.constants","varlistentry"],["","pthreads.constants","varlistentry"],["","pthreads.constants","varlistentry"],["","pthreads.constants","varlistentry"],["","pthreads.constants","appendix"],["","class.thread","section"],["","class.thread","section"],["Thread::chunk","thread.chunk","refentry"],["","thread.getcreatorid","example"],["Thread::getCreatorId","thread.getcreatorid","refentry"],["","thread.getthreadid","example"],["Thread::getThreadId","thread.getthreadid","refentry"],["","thread.isjoined","example"],["Thread::isJoined","thread.isjoined","refentry"],["","thread.isrunning","example"],["Thread::isRunning","thread.isrunning","refentry"],["","thread.isstarted","example"],["Thread::isStarted","thread.isstarted","refentry"],["","thread.isterminated","example"],["Thread::isTerminated","thread.isterminated","refentry"],["","thread.iswaiting","example"],["Thread::isWaiting","thread.iswaiting","refentry"],["","thread.join","example"],["Thread::join","thread.join","refentry"],["","thread.lock","example"],["Thread::lock","thread.lock","refentry"],["Thread::merge","thread.merge","refentry"],["","thread.notify","example"],["Thread::notify","thread.notify","refentry"],["Thread::pop","thread.pop","refentry"],["Thread::run","thread.run","refentry"],["Thread::shift","thread.shift","refentry"],["","thread.start","example"],["Thread::start","thread.start","refentry"],["","thread.synchronized","example"],["Thread::synchronized","thread.synchronized","refentry"],["","thread.unlock","example"],["Thread::unlock","thread.unlock","refentry"],["","thread.wait","example"],["Thread::wait","thread.wait","refentry"],["Thread","class.thread","phpdoc:classref"],["","class.worker","section"],["","class.worker","section"],["Worker::chunk","worker.chunk","refentry"],["","worker.getcreatorid","example"],["Worker::getCreatorId","worker.getcreatorid","refentry"],["","worker.getstacked","example"],["Worker::getStacked","worker.getstacked","refentry"],["","worker.getthreadid","example"],["Worker::getThreadId","worker.getthreadid","refentry"],["","worker.isshutdown","example"],["Worker::isShutdown","worker.isshutdown","refentry"],["","worker.isworking","example"],["Worker::isWorking","worker.isworking","refentry"],["Worker::merge","worker.merge","refentry"],["Worker::pop","worker.pop","refentry"],["Worker::run","worker.run","refentry"],["Worker::shift","worker.shift","refentry"],["","worker.shutdown","example"],["Worker::shutdown","worker.shutdown","refentry"],["","worker.stack","example"],["Worker::stack","worker.stack","refentry"],["","worker.start","example"],["Worker::start","worker.start","refentry"],["","worker.unstack","example"],["Worker::unstack","worker.unstack","refentry"],["Worker","class.worker","phpdoc:classref"],["","class.stackable","section"],["","class.stackable","section"],["Stackable::chunk","stackable.chunk","refentry"],["","stackable.isrunning","example"],["Stackable::isRunning","stackable.isrunning","refentry"],["","stackable.isterminated","example"],["Stackable::isTerminated","stackable.isterminated","refentry"],["","stackable.iswaiting","example"],["Stackable::isWaiting","stackable.iswaiting","refentry"],["Stackable::lock","stackable.lock","refentry"],["Stackable::merge","stackable.merge","refentry"],["Stackable::notify","stackable.notify","refentry"],["Stackable::pop","stackable.pop","refentry"],["Stackable::run","stackable.run","refentry"],["Stackable::shift","stackable.shift","refentry"],["","stackable.synchronized","example"],["Stackable::synchronized","stackable.synchronized","refentry"],["","stackable.unlock","example"],["Stackable::unlock","stackable.unlock","refentry"],["","stackable.wait","example"],["Stackable::wait","stackable.wait","refentry"],["Stackable","class.stackable","phpdoc:classref"],["","pthreads.modifiers","example"],["","pthreads.modifiers","example"],["Modifiers","pthreads.modifiers","chapter"],["","class.mutex","section"],["","class.mutex","section"],["","mutex.create","example"],["Mutex::create","mutex.create","refentry"],["","mutex.destroy","example"],["Mutex::destroy","mutex.destroy","refentry"],["","mutex.lock","example"],["Mutex::lock","mutex.lock","refentry"],["","mutex.trylock","example"],["Mutex::trylock","mutex.trylock","refentry"],["","mutex.unlock","example"],["Mutex::unlock","mutex.unlock","refentry"],["Mutex","class.mutex","phpdoc:classref"],["","class.cond","section"],["","class.cond","section"],["","cond.broadcast","example"],["Cond::broadcast","cond.broadcast","refentry"],["","cond.create","example"],["Cond::create","cond.create","refentry"],["","cond.destroy","example"],["Cond::destroy","cond.destroy","refentry"],["","cond.signal","example"],["Cond::signal","cond.signal","refentry"],["","cond.wait","example"],["Cond::wait","cond.wait","refentry"],["Cond","class.cond","phpdoc:classref"],["pthreads","book.pthreads","book"],["","intro.sem","preface"],["","sem.requirements","section"],["","sem.installation","section"],["","sem.configuration","varlistentry"],["","sem.configuration","section"],["","sem.resources","section"],["","sem.setup","chapter"],["","sem.constants","appendix"],["ftok","function.ftok","refentry"],["msg_get_queue","function.msg-get-queue","refentry"],["msg_queue_exists","function.msg-queue-exists","refentry"],["msg_receive","function.msg-receive","refentry"],["msg_remove_queue","function.msg-remove-queue","refentry"],["msg_send","function.msg-send","refentry"],["msg_set_queue","function.msg-set-queue","refentry"],["msg_stat_queue","function.msg-stat-queue","refentry"],["sem_acquire","function.sem-acquire","refentry"],["sem_get","function.sem-get","refentry"],["sem_release","function.sem-release","refentry"],["sem_remove","function.sem-remove","refentry"],["","function.shm-attach","example"],["shm_attach","function.shm-attach","refentry"],["shm_detach","function.shm-detach","refentry"],["shm_get_var","function.shm-get-var","refentry"],["shm_has_var","function.shm-has-var","refentry"],["shm_put_var","function.shm-put-var","refentry"],["shm_remove_var","function.shm-remove-var","refentry"],["shm_remove","function.shm-remove","refentry"],["","ref.sem","reference"],["Semaphore","book.sem","book"],["","intro.shmop","preface"],["","shmop.requirements","section"],["","shmop.installation","section"],["","shmop.configuration","section"],["","shmop.resources","section"],["","shmop.setup","chapter"],["","shmop.constants","appendix"],["","shmop.examples-basic","example"],["","shmop.examples-basic","section"],["","shmop.examples","chapter"],["","function.shmop-close","example"],["shmop_close","function.shmop-close","refentry"],["","function.shmop-delete","example"],["shmop_delete","function.shmop-delete","refentry"],["","function.shmop-open","example"],["shmop_open","function.shmop-open","refentry"],["","function.shmop-read","example"],["shmop_read","function.shmop-read","refentry"],["","function.shmop-size","example"],["shmop_size","function.shmop-size","refentry"],["","function.shmop-write","example"],["shmop_write","function.shmop-write","refentry"],["","ref.shmop","reference"],["","book.shmop","book"],["","refs.fileprocess.process","set"],["","intro.geoip","preface"],["","geoip.requirements","section"],["","geoip.installation","section"],["","geoip.configuration","section"],["","geoip.resources","section"],["","geoip.setup","chapter"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","varlistentry"],["","geoip.constants","appendix"],["","function.geoip-continent-code-by-name","example"],["geoip_continent_code_by_name","function.geoip-continent-code-by-name","refentry"],["","function.geoip-country-code-by-name","example"],["geoip_country_code_by_name","function.geoip-country-code-by-name","refentry"],["","function.geoip-country-code3-by-name","example"],["geoip_country_code3_by_name","function.geoip-country-code3-by-name","refentry"],["","function.geoip-country-name-by-name","example"],["geoip_country_name_by_name","function.geoip-country-name-by-name","refentry"],["","function.geoip-database-info","example"],["geoip_database_info","function.geoip-database-info","refentry"],["","function.geoip-db-avail","example"],["geoip_db_avail","function.geoip-db-avail","refentry"],["","function.geoip-db-filename","example"],["geoip_db_filename","function.geoip-db-filename","refentry"],["","function.geoip-db-get-all-info","example"],["","function.geoip-db-get-all-info","example"],["geoip_db_get_all_info","function.geoip-db-get-all-info","refentry"],["","function.geoip-id-by-name","example"],["geoip_id_by_name","function.geoip-id-by-name","refentry"],["","function.geoip-isp-by-name","example"],["geoip_isp_by_name","function.geoip-isp-by-name","refentry"],["","function.geoip-org-by-name","example"],["geoip_org_by_name","function.geoip-org-by-name","refentry"],["","function.geoip-record-by-name","example"],["geoip_record_by_name","function.geoip-record-by-name","refentry"],["","function.geoip-region-by-name","example"],["geoip_region_by_name","function.geoip-region-by-name","refentry"],["","function.geoip-region-name-by-code","example"],["","function.geoip-region-name-by-code","example"],["geoip_region_name_by_code","function.geoip-region-name-by-code","refentry"],["","function.geoip-time-zone-by-country-and-region","example"],["","function.geoip-time-zone-by-country-and-region","example"],["geoip_time_zone_by_country_and_region","function.geoip-time-zone-by-country-and-region","refentry"],["","ref.geoip","reference"],["GeoIP","book.geoip","book"],["","intro.fann","preface"],["","fann.requirements","section"],["","fann.installation","section"],["","fann.installation","section"],["","fann.installation","section"],["","fann.installation","section"],["","fann.configuration","section"],["","fann.resources","section"],["","fann.setup","chapter"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","variablelist"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","variablelist"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","variablelist"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","variablelist"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","variablelist"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","varlistentry"],["","fann.constants","variablelist"],["","fann.constants","appendix"],["","fann.examples-1","example"],["","fann.examples-1","example"],["","fann.examples-1","section"],["","fann.examples","chapter"],["fann_cascadetrain_on_data","function.fann-cascadetrain-on-data","refentry"],["fann_cascadetrain_on_file","function.fann-cascadetrain-on-file","refentry"],["fann_clear_scaling_params","function.fann-clear-scaling-params","refentry"],["fann_copy","function.fann-copy","refentry"],["fann_create_from_file","function.fann-create-from-file","refentry"],["fann_create_shortcut_array","function.fann-create-shortcut-array","refentry"],["fann_create_shortcut","function.fann-create-shortcut","refentry"],["fann_create_sparse_array","function.fann-create-sparse-array","refentry"],["fann_create_sparse","function.fann-create-sparse","refentry"],["fann_create_standard_array","function.fann-create-standard-array","refentry"],["fann_create_standard","function.fann-create-standard","refentry"],["","function.fann-create-train-from-callback","example"],["fann_create_train_from_callback","function.fann-create-train-from-callback","refentry"],["fann_create_train","function.fann-create-train","refentry"],["fann_descale_input","function.fann-descale-input","refentry"],["fann_descale_output","function.fann-descale-output","refentry"],["fann_descale_train","function.fann-descale-train","refentry"],["fann_destroy_train","function.fann-destroy-train","refentry"],["fann_destroy","function.fann-destroy","refentry"],["fann_duplicate_train_data","function.fann-duplicate-train-data","refentry"],["fann_get_activation_function","function.fann-get-activation-function","refentry"],["fann_get_activation_steepness","function.fann-get-activation-steepness","refentry"],["fann_get_bias_array","function.fann-get-bias-array","refentry"],["fann_get_bit_fail_limit","function.fann-get-bit-fail-limit","refentry"],["fann_get_bit_fail","function.fann-get-bit-fail","refentry"],["fann_get_cascade_activation_functions_count","function.fann-get-cascade-activation-functions-count","refentry"],["fann_get_cascade_activation_functions","function.fann-get-cascade-activation-functions","refentry"],["fann_get_cascade_activation_steepnesses_count","function.fann-get-cascade-activation-steepnesses-count","refentry"],["fann_get_cascade_activation_steepnesses","function.fann-get-cascade-activation-steepnesses","refentry"],["fann_get_cascade_candidate_change_fraction","function.fann-get-cascade-candidate-change-fraction","refentry"],["fann_get_cascade_candidate_limit","function.fann-get-cascade-candidate-limit","refentry"],["fann_get_cascade_candidate_stagnation_epochs","function.fann-get-cascade-candidate-stagnation-epochs","refentry"],["fann_get_cascade_max_cand_epochs","function.fann-get-cascade-max-cand-epochs","refentry"],["fann_get_cascade_max_out_epochs","function.fann-get-cascade-max-out-epochs","refentry"],["fann_get_cascade_min_cand_epochs","function.fann-get-cascade-min-cand-epochs","refentry"],["fann_get_cascade_min_out_epochs","function.fann-get-cascade-min-out-epochs","refentry"],["fann_get_cascade_num_candidate_groups","function.fann-get-cascade-num-candidate-groups","refentry"],["fann_get_cascade_num_candidates","function.fann-get-cascade-num-candidates","refentry"],["fann_get_cascade_output_change_fraction","function.fann-get-cascade-output-change-fraction","refentry"],["fann_get_cascade_output_stagnation_epochs","function.fann-get-cascade-output-stagnation-epochs","refentry"],["fann_get_cascade_weight_multiplier","function.fann-get-cascade-weight-multiplier","refentry"],["fann_get_connection_array","function.fann-get-connection-array","refentry"],["fann_get_connection_rate","function.fann-get-connection-rate","refentry"],["fann_get_errno","function.fann-get-errno","refentry"],["fann_get_errstr","function.fann-get-errstr","refentry"],["fann_get_layer_array","function.fann-get-layer-array","refentry"],["fann_get_learning_momentum","function.fann-get-learning-momentum","refentry"],["fann_get_learning_rate","function.fann-get-learning-rate","refentry"],["fann_get_MSE","function.fann-get-mse","refentry"],["fann_get_network_type","function.fann-get-network-type","refentry"],["fann_get_num_input","function.fann-get-num-input","refentry"],["fann_get_num_layers","function.fann-get-num-layers","refentry"],["fann_get_num_output","function.fann-get-num-output","refentry"],["fann_get_quickprop_decay","function.fann-get-quickprop-decay","refentry"],["fann_get_quickprop_mu","function.fann-get-quickprop-mu","refentry"],["fann_get_rprop_decrease_factor","function.fann-get-rprop-decrease-factor","refentry"],["fann_get_rprop_delta_max","function.fann-get-rprop-delta-max","refentry"],["fann_get_rprop_delta_min","function.fann-get-rprop-delta-min","refentry"],["fann_get_rprop_delta_zero","function.fann-get-rprop-delta-zero","refentry"],["fann_get_rprop_increase_factor","function.fann-get-rprop-increase-factor","refentry"],["fann_get_sarprop_step_error_shift","function.fann-get-sarprop-step-error-shift","refentry"],["fann_get_sarprop_step_error_threshold_factor","function.fann-get-sarprop-step-error-threshold-factor","refentry"],["fann_get_sarprop_temperature","function.fann-get-sarprop-temperature","refentry"],["fann_get_sarprop_weight_decay_shift","function.fann-get-sarprop-weight-decay-shift","refentry"],["fann_get_total_connections","function.fann-get-total-connections","refentry"],["fann_get_total_neurons","function.fann-get-total-neurons","refentry"],["fann_get_train_error_function","function.fann-get-train-error-function","refentry"],["fann_get_train_stop_function","function.fann-get-train-stop-function","refentry"],["fann_get_training_algorithm","function.fann-get-training-algorithm","refentry"],["fann_init_weights","function.fann-init-weights","refentry"],["fann_length_train_data","function.fann-length-train-data","refentry"],["fann_merge_train_data","function.fann-merge-train-data","refentry"],["fann_num_input_train_data","function.fann-num-input-train-data","refentry"],["fann_num_output_train_data","function.fann-num-output-train-data","refentry"],["fann_print_error","function.fann-print-error","refentry"],["fann_randomize_weights","function.fann-randomize-weights","refentry"],["","function.fann-read-train-from-file","example"],["fann_read_train_from_file","function.fann-read-train-from-file","refentry"],["fann_reset_errno","function.fann-reset-errno","refentry"],["fann_reset_errstr","function.fann-reset-errstr","refentry"],["fann_reset_MSE","function.fann-reset-mse","refentry"],["fann_run","function.fann-run","refentry"],["fann_save_train","function.fann-save-train","refentry"],["fann_save","function.fann-save","refentry"],["fann_scale_input_train_data","function.fann-scale-input-train-data","refentry"],["fann_scale_input","function.fann-scale-input","refentry"],["fann_scale_output_train_data","function.fann-scale-output-train-data","refentry"],["fann_scale_output","function.fann-scale-output","refentry"],["fann_scale_train_data","function.fann-scale-train-data","refentry"],["fann_scale_train","function.fann-scale-train","refentry"],["fann_set_activation_function_hidden","function.fann-set-activation-function-hidden","refentry"],["fann_set_activation_function_layer","function.fann-set-activation-function-layer","refentry"],["fann_set_activation_function_output","function.fann-set-activation-function-output","refentry"],["fann_set_activation_function","function.fann-set-activation-function","refentry"],["fann_set_activation_steepness_hidden","function.fann-set-activation-steepness-hidden","refentry"],["fann_set_activation_steepness_layer","function.fann-set-activation-steepness-layer","refentry"],["fann_set_activation_steepness_output","function.fann-set-activation-steepness-output","refentry"],["fann_set_activation_steepness","function.fann-set-activation-steepness","refentry"],["fann_set_bit_fail_limit","function.fann-set-bit-fail-limit","refentry"],["fann_set_callback","function.fann-set-callback","refentry"],["fann_set_cascade_activation_functions","function.fann-set-cascade-activation-functions","refentry"],["fann_set_cascade_activation_steepnesses","function.fann-set-cascade-activation-steepnesses","refentry"],["fann_set_cascade_candidate_change_fraction","function.fann-set-cascade-candidate-change-fraction","refentry"],["fann_set_cascade_candidate_limit","function.fann-set-cascade-candidate-limit","refentry"],["fann_set_cascade_candidate_stagnation_epochs","function.fann-set-cascade-candidate-stagnation-epochs","refentry"],["fann_set_cascade_max_cand_epochs","function.fann-set-cascade-max-cand-epochs","refentry"],["fann_set_cascade_max_out_epochs","function.fann-set-cascade-max-out-epochs","refentry"],["fann_set_cascade_min_cand_epochs","function.fann-set-cascade-min-cand-epochs","refentry"],["fann_set_cascade_min_out_epochs","function.fann-set-cascade-min-out-epochs","refentry"],["fann_set_cascade_num_candidate_groups","function.fann-set-cascade-num-candidate-groups","refentry"],["fann_set_cascade_output_change_fraction","function.fann-set-cascade-output-change-fraction","refentry"],["fann_set_cascade_output_stagnation_epochs","function.fann-set-cascade-output-stagnation-epochs","refentry"],["fann_set_cascade_weight_multiplier","function.fann-set-cascade-weight-multiplier","refentry"],["fann_set_error_log","function.fann-set-error-log","refentry"],["fann_set_input_scaling_params","function.fann-set-input-scaling-params","refentry"],["fann_set_learning_momentum","function.fann-set-learning-momentum","refentry"],["fann_set_learning_rate","function.fann-set-learning-rate","refentry"],["fann_set_output_scaling_params","function.fann-set-output-scaling-params","refentry"],["fann_set_quickprop_decay","function.fann-set-quickprop-decay","refentry"],["fann_set_quickprop_mu","function.fann-set-quickprop-mu","refentry"],["fann_set_rprop_decrease_factor","function.fann-set-rprop-decrease-factor","refentry"],["fann_set_rprop_delta_max","function.fann-set-rprop-delta-max","refentry"],["fann_set_rprop_delta_min","function.fann-set-rprop-delta-min","refentry"],["fann_set_rprop_delta_zero","function.fann-set-rprop-delta-zero","refentry"],["fann_set_rprop_increase_factor","function.fann-set-rprop-increase-factor","refentry"],["fann_set_sarprop_step_error_shift","function.fann-set-sarprop-step-error-shift","refentry"],["fann_set_sarprop_step_error_threshold_factor","function.fann-set-sarprop-step-error-threshold-factor","refentry"],["fann_set_sarprop_temperature","function.fann-set-sarprop-temperature","refentry"],["fann_set_sarprop_weight_decay_shift","function.fann-set-sarprop-weight-decay-shift","refentry"],["fann_set_scaling_params","function.fann-set-scaling-params","refentry"],["fann_set_train_error_function","function.fann-set-train-error-function","refentry"],["fann_set_train_stop_function","function.fann-set-train-stop-function","refentry"],["fann_set_training_algorithm","function.fann-set-training-algorithm","refentry"],["fann_set_weight_array","function.fann-set-weight-array","refentry"],["fann_set_weight","function.fann-set-weight","refentry"],["fann_shuffle_train_data","function.fann-shuffle-train-data","refentry"],["fann_subset_train_data","function.fann-subset-train-data","refentry"],["fann_test_data","function.fann-test-data","refentry"],["fann_test","function.fann-test","refentry"],["fann_train_epoch","function.fann-train-epoch","refentry"],["fann_train_on_data","function.fann-train-on-data","refentry"],["fann_train_on_file","function.fann-train-on-file","refentry"],["fann_train","function.fann-train","refentry"],["","ref.fann","reference"],["","class.fannconnection","section"],["","class.fannconnection","section"],["","class.fannconnection","varlistentry"],["","class.fannconnection","varlistentry"],["","class.fannconnection","varlistentry"],["","class.fannconnection","section"],["FANNConnection::__construct","fannconnection.construct","refentry"],["FANNConnection::getFromNeuron","fannconnection.getfromneuron","refentry"],["FANNConnection::getToNeuron","fannconnection.gettoneuron","refentry"],["FANNConnection::getWeight","fannconnection.getweight","refentry"],["FANNConnection::setWeight","fannconnection.setweight","refentry"],["FANNConnection","class.fannconnection","phpdoc:classref"],["FANN","book.fann","book"],["","intro.json","preface"],["","json.requirements","section"],["","json.installation","section"],["","json.configuration","section"],["","json.resources","section"],["","json.setup","chapter"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","varlistentry"],["","json.constants","appendix"],["","class.jsonserializable","section"],["","class.jsonserializable","section"],["","jsonserializable.jsonserialize","example"],["","jsonserializable.jsonserialize","example"],["","jsonserializable.jsonserialize","example"],["","jsonserializable.jsonserialize","example"],["JsonSerializable::jsonSerialize","jsonserializable.jsonserialize","refentry"],["JsonSerializable","class.jsonserializable","phpdoc:classref"],["","function.json-decode","example"],["","function.json-decode","example"],["","function.json-decode","example"],["","function.json-decode","example"],["","function.json-decode","example"],["json_decode","function.json-decode","refentry"],["","function.json-encode","example"],["","function.json-encode","example"],["","function.json-encode","example"],["json_encode","function.json-encode","refentry"],["json_last_error_msg","function.json-last-error-msg","refentry"],["","function.json-last-error","example"],["","function.json-last-error","example"],["json_last_error","function.json-last-error","refentry"],["","ref.json","reference"],["JSON","book.json","book"],["","intro.judy","preface"],["","judy.requirements","section"],["","judy.installation","para"],["","judy.installation","para"],["","judy.installation","section"],["","judy.installation","section"],["","judy.installation","section"],["","judy.installation","section"],["","judy.configuration","section"],["","judy.resources","section"],["","judy.setup","chapter"],["","class.judy","para"],["","class.judy","example"],["","class.judy","section"],["","class.judy","section"],["","class.judy","varlistentry"],["","class.judy","varlistentry"],["","class.judy","varlistentry"],["","class.judy","varlistentry"],["","class.judy","varlistentry"],["","class.judy","section"],["Judy::byCount","judy.bycount","refentry"],["Judy::__construct","judy.construct","refentry"],["Judy::count","judy.count","refentry"],["Judy::__destruct","judy.destruct","refentry"],["Judy::first","judy.first","refentry"],["Judy::firstEmpty","judy.firstempty","refentry"],["Judy::free","judy.free","refentry"],["Judy::getType","judy.gettype","refentry"],["Judy::last","judy.last","refentry"],["Judy::lastEmpty","judy.lastempty","refentry"],["Judy::memoryUsage","judy.memoryusage","refentry"],["Judy::next","judy.next","refentry"],["Judy::nextEmpty","judy.nextempty","refentry"],["Judy::offsetExists","judy.offsetexists","refentry"],["Judy::offsetGet","judy.offsetget","refentry"],["Judy::offsetSet","judy.offsetset","refentry"],["Judy::offsetUnset","judy.offsetunset","refentry"],["Judy::prev","judy.prev","refentry"],["Judy::prevEmpty","judy.prevempty","refentry"],["Judy::size","judy.size","refentry"],["Judy","class.judy","phpdoc:classref"],["judy_type","function.judy-type","refentry"],["judy_version","function.judy-version","refentry"],["","ref.judy","reference"],["Judy","book.judy","book"],["","intro.lua","preface"],["","lua.requirements","section"],["","lua.installation","section"],["","lua.configuration","section"],["","lua.resources","section"],["","lua.setup","chapter"],["","class.lua","section"],["","class.lua","section"],["","class.lua","varlistentry"],["","class.lua","section"],["","lua.assign","example"],["Lua::assign","lua.assign","refentry"],["","lua.call","example"],["Lua::call","lua.call","refentry"],["Lua::__construct","lua.construct","refentry"],["","lua.eval","example"],["Lua::eval","lua.eval","refentry"],["Lua::getVersion","lua.getversion","refentry"],["Lua::include","lua.include","refentry"],["","lua.registercallback","example"],["Lua::registerCallback","lua.registercallback","refentry"],["Lua","class.lua","phpdoc:classref"],["","class.luaclosure","section"],["","class.luaclosure","section"],["","luaclosure.invoke","example"],["LuaClosure::__invoke","luaclosure.invoke","refentry"],["LuaClosure","class.luaclosure","phpdoc:classref"],["Lua","book.lua","book"],["","intro.misc","preface"],["","misc.requirements","section"],["","misc.installation","section"],["","misc.configuration","varlistentry"],["","misc.configuration","varlistentry"],["","misc.configuration","varlistentry"],["","misc.configuration","section"],["","misc.resources","section"],["","misc.setup","chapter"],["","misc.constants","varlistentry"],["","misc.constants","varlistentry"],["","misc.constants","varlistentry"],["","misc.constants","varlistentry"],["","misc.constants","appendix"],["connection_aborted","function.connection-aborted","refentry"],["connection_status","function.connection-status","refentry"],["connection_timeout","function.connection-timeout","refentry"],["","function.constant","example"],["constant","function.constant","refentry"],["","function.define","example"],["define","function.define","refentry"],["","function.defined","example"],["defined","function.defined","refentry"],["die","function.die","refentry"],["","function.eval","example"],["eval","function.eval","refentry"],["","function.exit","example"],["","function.exit","example"],["","function.exit","example"],["exit","function.exit","refentry"],["","function.get-browser","example"],["get_browser","function.get-browser","refentry"],["","function.halt-compiler","example"],["__halt_compiler","function.halt-compiler","refentry"],["highlight_file","function.highlight-file","refentry"],["","function.highlight-string","example"],["highlight_string","function.highlight-string","refentry"],["","function.ignore-user-abort","example"],["ignore_user_abort","function.ignore-user-abort","refentry"],["","function.pack","example"],["pack","function.pack","refentry"],["php_check_syntax","function.php-check-syntax","refentry"],["","function.php-strip-whitespace","example"],["php_strip_whitespace","function.php-strip-whitespace","refentry"],["show_source","function.show-source","refentry"],["","function.sleep","example"],["sleep","function.sleep","refentry"],["","function.sys-getloadavg","example"],["sys_getloadavg","function.sys-getloadavg","refentry"],["","function.time-nanosleep","example"],["time_nanosleep","function.time-nanosleep","refentry"],["","function.time-sleep-until","example"],["time_sleep_until","function.time-sleep-until","refentry"],["","function.uniqid","example"],["uniqid","function.uniqid","refentry"],["","function.unpack","example"],["","function.unpack","example"],["","function.unpack","example"],["unpack","function.unpack","refentry"],["","function.usleep","example"],["usleep","function.usleep","refentry"],["","ref.misc","reference"],["","changelog.misc","appendix"],["Misc.","book.misc","book"],["","intro.parsekit","preface"],["","parsekit.requirements","section"],["","parsekit.installation","section"],["","parsekit.configuration","section"],["","parsekit.resources","section"],["","parsekit.setup","chapter"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","varlistentry"],["","parsekit.constants","appendix"],["","function.parsekit-compile-file","example"],["parsekit_compile_file","function.parsekit-compile-file","refentry"],["","function.parsekit-compile-string","example"],["parsekit_compile_string","function.parsekit-compile-string","refentry"],["","function.parsekit-func-arginfo","example"],["parsekit_func_arginfo","function.parsekit-func-arginfo","refentry"],["","ref.parsekit","reference"],["","book.parsekit","book"],["","intro.spl","preface"],["","spl.requirements","section"],["","spl.installation","section"],["","spl.configuration","section"],["","spl.resources","section"],["","spl.setup","chapter"],["","spl.constants","appendix"],["","class.spldoublylinkedlist","section"],["","class.spldoublylinkedlist","section"],["SplDoublyLinkedList::bottom","spldoublylinkedlist.bottom","refentry"],["","spldoublylinkedlist.construct","example"],["SplDoublyLinkedList::__construct","spldoublylinkedlist.construct","refentry"],["SplDoublyLinkedList::count","spldoublylinkedlist.count","refentry"],["SplDoublyLinkedList::current","spldoublylinkedlist.current","refentry"],["SplDoublyLinkedList::getIteratorMode","spldoublylinkedlist.getiteratormode","refentry"],["SplDoublyLinkedList::isEmpty","spldoublylinkedlist.isempty","refentry"],["SplDoublyLinkedList::key","spldoublylinkedlist.key","refentry"],["SplDoublyLinkedList::next","spldoublylinkedlist.next","refentry"],["SplDoublyLinkedList::offsetExists","spldoublylinkedlist.offsetexists","refentry"],["SplDoublyLinkedList::offsetGet","spldoublylinkedlist.offsetget","refentry"],["SplDoublyLinkedList::offsetSet","spldoublylinkedlist.offsetset","refentry"],["SplDoublyLinkedList::offsetUnset","spldoublylinkedlist.offsetunset","refentry"],["SplDoublyLinkedList::pop","spldoublylinkedlist.pop","refentry"],["SplDoublyLinkedList::prev","spldoublylinkedlist.prev","refentry"],["SplDoublyLinkedList::push","spldoublylinkedlist.push","refentry"],["SplDoublyLinkedList::rewind","spldoublylinkedlist.rewind","refentry"],["SplDoublyLinkedList::serialize","spldoublylinkedlist.serialize","refentry"],["SplDoublyLinkedList::setIteratorMode","spldoublylinkedlist.setiteratormode","refentry"],["SplDoublyLinkedList::shift","spldoublylinkedlist.shift","refentry"],["SplDoublyLinkedList::top","spldoublylinkedlist.top","refentry"],["SplDoublyLinkedList::unserialize","spldoublylinkedlist.unserialize","refentry"],["SplDoublyLinkedList::unshift","spldoublylinkedlist.unshift","refentry"],["SplDoublyLinkedList::valid","spldoublylinkedlist.valid","refentry"],["SplDoublyLinkedList","class.spldoublylinkedlist","phpdoc:classref"],["","class.splstack","section"],["","class.splstack","section"],["","splstack.construct","example"],["SplStack::__construct","splstack.construct","refentry"],["SplStack::setIteratorMode","splstack.setiteratormode","refentry"],["SplStack","class.splstack","phpdoc:classref"],["","class.splqueue","section"],["","class.splqueue","section"],["","splqueue.construct","example"],["","splqueue.construct","example"],["SplQueue::__construct","splqueue.construct","refentry"],["SplQueue::dequeue","splqueue.dequeue","refentry"],["SplQueue::enqueue","splqueue.enqueue","refentry"],["SplQueue::setIteratorMode","splqueue.setiteratormode","refentry"],["SplQueue","class.splqueue","phpdoc:classref"],["","class.splheap","section"],["","class.splheap","section"],["SplHeap::compare","splheap.compare","refentry"],["SplHeap::__construct","splheap.construct","refentry"],["SplHeap::count","splheap.count","refentry"],["SplHeap::current","splheap.current","refentry"],["SplHeap::extract","splheap.extract","refentry"],["SplHeap::insert","splheap.insert","refentry"],["SplHeap::isEmpty","splheap.isempty","refentry"],["SplHeap::key","splheap.key","refentry"],["SplHeap::next","splheap.next","refentry"],["SplHeap::recoverFromCorruption","splheap.recoverfromcorruption","refentry"],["SplHeap::rewind","splheap.rewind","refentry"],["SplHeap::top","splheap.top","refentry"],["SplHeap::valid","splheap.valid","refentry"],["SplHeap","class.splheap","phpdoc:classref"],["","class.splmaxheap","section"],["","class.splmaxheap","section"],["SplMaxHeap::compare","splmaxheap.compare","refentry"],["SplMaxHeap","class.splmaxheap","phpdoc:classref"],["","class.splminheap","section"],["","class.splminheap","section"],["SplMinHeap::compare","splminheap.compare","refentry"],["SplMinHeap","class.splminheap","phpdoc:classref"],["","class.splpriorityqueue","section"],["","class.splpriorityqueue","section"],["SplPriorityQueue::compare","splpriorityqueue.compare","refentry"],["SplPriorityQueue::__construct","splpriorityqueue.construct","refentry"],["SplPriorityQueue::count","splpriorityqueue.count","refentry"],["SplPriorityQueue::current","splpriorityqueue.current","refentry"],["SplPriorityQueue::extract","splpriorityqueue.extract","refentry"],["SplPriorityQueue::insert","splpriorityqueue.insert","refentry"],["SplPriorityQueue::isEmpty","splpriorityqueue.isempty","refentry"],["SplPriorityQueue::key","splpriorityqueue.key","refentry"],["SplPriorityQueue::next","splpriorityqueue.next","refentry"],["SplPriorityQueue::recoverFromCorruption","splpriorityqueue.recoverfromcorruption","refentry"],["SplPriorityQueue::rewind","splpriorityqueue.rewind","refentry"],["SplPriorityQueue::setExtractFlags","splpriorityqueue.setextractflags","refentry"],["SplPriorityQueue::top","splpriorityqueue.top","refentry"],["SplPriorityQueue::valid","splpriorityqueue.valid","refentry"],["SplPriorityQueue","class.splpriorityqueue","phpdoc:classref"],["","class.splfixedarray","section"],["","class.splfixedarray","section"],["","class.splfixedarray","example"],["","class.splfixedarray","section"],["","splfixedarray.construct","example"],["SplFixedArray::__construct","splfixedarray.construct","refentry"],["","splfixedarray.count","example"],["SplFixedArray::count","splfixedarray.count","refentry"],["SplFixedArray::current","splfixedarray.current","refentry"],["","splfixedarray.fromarray","example"],["SplFixedArray::fromArray","splfixedarray.fromarray","refentry"],["","splfixedarray.getsize","example"],["SplFixedArray::getSize","splfixedarray.getsize","refentry"],["SplFixedArray::key","splfixedarray.key","refentry"],["SplFixedArray::next","splfixedarray.next","refentry"],["SplFixedArray::offsetExists","splfixedarray.offsetexists","refentry"],["SplFixedArray::offsetGet","splfixedarray.offsetget","refentry"],["SplFixedArray::offsetSet","splfixedarray.offsetset","refentry"],["SplFixedArray::offsetUnset","splfixedarray.offsetunset","refentry"],["SplFixedArray::rewind","splfixedarray.rewind","refentry"],["","splfixedarray.setsize","example"],["SplFixedArray::setSize","splfixedarray.setsize","refentry"],["","splfixedarray.toarray","example"],["SplFixedArray::toArray","splfixedarray.toarray","refentry"],["SplFixedArray::valid","splfixedarray.valid","refentry"],["SplFixedArray::__wakeup","splfixedarray.wakeup","refentry"],["SplFixedArray","class.splfixedarray","phpdoc:classref"],["","class.splobjectstorage","section"],["","class.splobjectstorage","section"],["","class.splobjectstorage","example"],["","class.splobjectstorage","example"],["","class.splobjectstorage","section"],["","splobjectstorage.addall","example"],["SplObjectStorage::addAll","splobjectstorage.addall","refentry"],["","splobjectstorage.attach","example"],["SplObjectStorage::attach","splobjectstorage.attach","refentry"],["","splobjectstorage.contains","example"],["SplObjectStorage::contains","splobjectstorage.contains","refentry"],["","splobjectstorage.count","example"],["SplObjectStorage::count","splobjectstorage.count","refentry"],["","splobjectstorage.current","example"],["SplObjectStorage::current","splobjectstorage.current","refentry"],["","splobjectstorage.detach","example"],["SplObjectStorage::detach","splobjectstorage.detach","refentry"],["","splobjectstorage.gethash","example"],["SplObjectStorage::getHash","splobjectstorage.gethash","refentry"],["","splobjectstorage.getinfo","example"],["SplObjectStorage::getInfo","splobjectstorage.getinfo","refentry"],["","splobjectstorage.key","example"],["SplObjectStorage::key","splobjectstorage.key","refentry"],["","splobjectstorage.next","example"],["SplObjectStorage::next","splobjectstorage.next","refentry"],["","splobjectstorage.offsetexists","example"],["SplObjectStorage::offsetExists","splobjectstorage.offsetexists","refentry"],["","splobjectstorage.offsetget","example"],["SplObjectStorage::offsetGet","splobjectstorage.offsetget","refentry"],["","splobjectstorage.offsetset","example"],["SplObjectStorage::offsetSet","splobjectstorage.offsetset","refentry"],["","splobjectstorage.offsetunset","example"],["SplObjectStorage::offsetUnset","splobjectstorage.offsetunset","refentry"],["","splobjectstorage.removeall","example"],["SplObjectStorage::removeAll","splobjectstorage.removeall","refentry"],["","splobjectstorage.removeallexcept","example"],["SplObjectStorage::removeAllExcept","splobjectstorage.removeallexcept","refentry"],["","splobjectstorage.rewind","example"],["SplObjectStorage::rewind","splobjectstorage.rewind","refentry"],["","splobjectstorage.serialize","example"],["SplObjectStorage::serialize","splobjectstorage.serialize","refentry"],["","splobjectstorage.setinfo","example"],["SplObjectStorage::setInfo","splobjectstorage.setinfo","refentry"],["","splobjectstorage.unserialize","example"],["SplObjectStorage::unserialize","splobjectstorage.unserialize","refentry"],["","splobjectstorage.valid","example"],["SplObjectStorage::valid","splobjectstorage.valid","refentry"],["SplObjectStorage","class.splobjectstorage","phpdoc:classref"],["","spl.datastructures","part"],["","spl.iterators","section"],["","class.appenditerator","section"],["","class.appenditerator","section"],["","appenditerator.append","example"],["AppendIterator::append","appenditerator.append","refentry"],["","appenditerator.construct","example"],["","appenditerator.construct","example"],["AppendIterator::__construct","appenditerator.construct","refentry"],["AppendIterator::current","appenditerator.current","refentry"],["AppendIterator::getArrayIterator","appenditerator.getarrayiterator","refentry"],["","appenditerator.getinneriterator","example"],["AppendIterator::getInnerIterator","appenditerator.getinneriterator","refentry"],["","appenditerator.getiteratorindex","example"],["AppendIterator::getIteratorIndex","appenditerator.getiteratorindex","refentry"],["","appenditerator.key","example"],["AppendIterator::key","appenditerator.key","refentry"],["AppendIterator::next","appenditerator.next","refentry"],["AppendIterator::rewind","appenditerator.rewind","refentry"],["AppendIterator::valid","appenditerator.valid","refentry"],["AppendIterator","class.appenditerator","phpdoc:classref"],["","class.arrayiterator","section"],["","class.arrayiterator","section"],["ArrayIterator::append","arrayiterator.append","refentry"],["ArrayIterator::asort","arrayiterator.asort","refentry"],["ArrayIterator::__construct","arrayiterator.construct","refentry"],["ArrayIterator::count","arrayiterator.count","refentry"],["","arrayiterator.current","example"],["ArrayIterator::current","arrayiterator.current","refentry"],["ArrayIterator::getArrayCopy","arrayiterator.getarraycopy","refentry"],["ArrayIterator::getFlags","arrayiterator.getflags","refentry"],["","arrayiterator.key","example"],["ArrayIterator::key","arrayiterator.key","refentry"],["ArrayIterator::ksort","arrayiterator.ksort","refentry"],["ArrayIterator::natcasesort","arrayiterator.natcasesort","refentry"],["ArrayIterator::natsort","arrayiterator.natsort","refentry"],["","arrayiterator.next","example"],["ArrayIterator::next","arrayiterator.next","refentry"],["ArrayIterator::offsetExists","arrayiterator.offsetexists","refentry"],["ArrayIterator::offsetGet","arrayiterator.offsetget","refentry"],["ArrayIterator::offsetSet","arrayiterator.offsetset","refentry"],["ArrayIterator::offsetUnset","arrayiterator.offsetunset","refentry"],["","arrayiterator.rewind","example"],["ArrayIterator::rewind","arrayiterator.rewind","refentry"],["ArrayIterator::seek","arrayiterator.seek","refentry"],["ArrayIterator::serialize","arrayiterator.serialize","refentry"],["ArrayIterator::setFlags","arrayiterator.setflags","refentry"],["ArrayIterator::uasort","arrayiterator.uasort","refentry"],["ArrayIterator::uksort","arrayiterator.uksort","refentry"],["ArrayIterator::unserialize","arrayiterator.unserialize","refentry"],["","arrayiterator.valid","example"],["ArrayIterator::valid","arrayiterator.valid","refentry"],["ArrayIterator","class.arrayiterator","phpdoc:classref"],["","class.cachingiterator","section"],["","class.cachingiterator","section"],["","class.cachingiterator","varlistentry"],["","class.cachingiterator","varlistentry"],["","class.cachingiterator","varlistentry"],["","class.cachingiterator","varlistentry"],["","class.cachingiterator","varlistentry"],["","class.cachingiterator","varlistentry"],["","class.cachingiterator","section"],["CachingIterator::__construct","cachingiterator.construct","refentry"],["CachingIterator::count","cachingiterator.count","refentry"],["CachingIterator::current","cachingiterator.current","refentry"],["CachingIterator::getCache","cachingiterator.getcache","refentry"],["CachingIterator::getFlags","cachingiterator.getflags","refentry"],["CachingIterator::getInnerIterator","cachingiterator.getinneriterator","refentry"],["CachingIterator::hasNext","cachingiterator.hasnext","refentry"],["CachingIterator::key","cachingiterator.key","refentry"],["CachingIterator::next","cachingiterator.next","refentry"],["CachingIterator::offsetExists","cachingiterator.offsetexists","refentry"],["CachingIterator::offsetGet","cachingiterator.offsetget","refentry"],["CachingIterator::offsetSet","cachingiterator.offsetset","refentry"],["CachingIterator::offsetUnset","cachingiterator.offsetunset","refentry"],["CachingIterator::rewind","cachingiterator.rewind","refentry"],["CachingIterator::setFlags","cachingiterator.setflags","refentry"],["CachingIterator::__toString","cachingiterator.tostring","refentry"],["CachingIterator::valid","cachingiterator.valid","refentry"],["CachingIterator","class.cachingiterator","phpdoc:classref"],["","class.callbackfilteriterator","section"],["","class.callbackfilteriterator","section"],["","class.callbackfilteriterator","example"],["","class.callbackfilteriterator","example"],["","class.callbackfilteriterator","section"],["CallbackFilterIterator::accept","callbackfilteriterator.accept","refentry"],["CallbackFilterIterator::__construct","callbackfilteriterator.construct","refentry"],["CallbackFilterIterator","class.callbackfilteriterator","phpdoc:classref"],["","class.directoryiterator","section"],["","class.directoryiterator","section"],["","class.directoryiterator","section"],["","directoryiterator.construct","example"],["DirectoryIterator::__construct","directoryiterator.construct","refentry"],["","directoryiterator.current","example"],["DirectoryIterator::current","directoryiterator.current","refentry"],["","directoryiterator.getatime","example"],["DirectoryIterator::getATime","directoryiterator.getatime","refentry"],["","directoryiterator.getbasename","example"],["DirectoryIterator::getBasename","directoryiterator.getbasename","refentry"],["","directoryiterator.getctime","example"],["DirectoryIterator::getCTime","directoryiterator.getctime","refentry"],["","directoryiterator.getextension","example"],["","directoryiterator.getextension","example"],["DirectoryIterator::getExtension","directoryiterator.getextension","refentry"],["","directoryiterator.getfilename","example"],["DirectoryIterator::getFilename","directoryiterator.getfilename","refentry"],["","directoryiterator.getgroup","example"],["DirectoryIterator::getGroup","directoryiterator.getgroup","refentry"],["","directoryiterator.getinode","example"],["DirectoryIterator::getInode","directoryiterator.getinode","refentry"],["","directoryiterator.getmtime","example"],["DirectoryIterator::getMTime","directoryiterator.getmtime","refentry"],["","directoryiterator.getowner","example"],["DirectoryIterator::getOwner","directoryiterator.getowner","refentry"],["","directoryiterator.getpath","example"],["DirectoryIterator::getPath","directoryiterator.getpath","refentry"],["","directoryiterator.getpathname","example"],["DirectoryIterator::getPathname","directoryiterator.getpathname","refentry"],["","directoryiterator.getperms","example"],["DirectoryIterator::getPerms","directoryiterator.getperms","refentry"],["","directoryiterator.getsize","example"],["DirectoryIterator::getSize","directoryiterator.getsize","refentry"],["","directoryiterator.gettype","example"],["DirectoryIterator::getType","directoryiterator.gettype","refentry"],["","directoryiterator.isdir","example"],["DirectoryIterator::isDir","directoryiterator.isdir","refentry"],["","directoryiterator.isdot","example"],["DirectoryIterator::isDot","directoryiterator.isdot","refentry"],["","directoryiterator.isexecutable","example"],["DirectoryIterator::isExecutable","directoryiterator.isexecutable","refentry"],["","directoryiterator.isfile","example"],["DirectoryIterator::isFile","directoryiterator.isfile","refentry"],["","directoryiterator.islink","example"],["DirectoryIterator::isLink","directoryiterator.islink","refentry"],["","directoryiterator.isreadable","example"],["DirectoryIterator::isReadable","directoryiterator.isreadable","refentry"],["","directoryiterator.iswritable","example"],["DirectoryIterator::isWritable","directoryiterator.iswritable","refentry"],["","directoryiterator.key","example"],["DirectoryIterator::key","directoryiterator.key","refentry"],["","directoryiterator.next","example"],["DirectoryIterator::next","directoryiterator.next","refentry"],["","directoryiterator.rewind","example"],["DirectoryIterator::rewind","directoryiterator.rewind","refentry"],["","directoryiterator.seek","example"],["DirectoryIterator::seek","directoryiterator.seek","refentry"],["","directoryiterator.tostring","example"],["DirectoryIterator::__toString","directoryiterator.tostring","refentry"],["","directoryiterator.valid","example"],["DirectoryIterator::valid","directoryiterator.valid","refentry"],["DirectoryIterator","class.directoryiterator","phpdoc:classref"],["","class.emptyiterator","section"],["","class.emptyiterator","section"],["EmptyIterator::current","emptyiterator.current","refentry"],["EmptyIterator::key","emptyiterator.key","refentry"],["EmptyIterator::next","emptyiterator.next","refentry"],["EmptyIterator::rewind","emptyiterator.rewind","refentry"],["EmptyIterator::valid","emptyiterator.valid","refentry"],["EmptyIterator","class.emptyiterator","phpdoc:classref"],["","class.filesystemiterator","section"],["","class.filesystemiterator","section"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","varlistentry"],["","class.filesystemiterator","section"],["","filesystemiterator.construct","example"],["FilesystemIterator::__construct","filesystemiterator.construct","refentry"],["","filesystemiterator.current","example"],["FilesystemIterator::current","filesystemiterator.current","refentry"],["FilesystemIterator::getFlags","filesystemiterator.getflags","refentry"],["","filesystemiterator.key","example"],["FilesystemIterator::key","filesystemiterator.key","refentry"],["","filesystemiterator.next","example"],["FilesystemIterator::next","filesystemiterator.next","refentry"],["","filesystemiterator.rewind","example"],["FilesystemIterator::rewind","filesystemiterator.rewind","refentry"],["","filesystemiterator.setflags","example"],["FilesystemIterator::setFlags","filesystemiterator.setflags","refentry"],["FilesystemIterator","class.filesystemiterator","phpdoc:classref"],["","class.filteriterator","section"],["","class.filteriterator","section"],["","filteriterator.accept","example"],["FilterIterator::accept","filteriterator.accept","refentry"],["FilterIterator::__construct","filteriterator.construct","refentry"],["FilterIterator::current","filteriterator.current","refentry"],["FilterIterator::getInnerIterator","filteriterator.getinneriterator","refentry"],["FilterIterator::key","filteriterator.key","refentry"],["FilterIterator::next","filteriterator.next","refentry"],["FilterIterator::rewind","filteriterator.rewind","refentry"],["FilterIterator::valid","filteriterator.valid","refentry"],["FilterIterator","class.filteriterator","phpdoc:classref"],["","class.globiterator","section"],["","class.globiterator","section"],["","globiterator.construct","example"],["GlobIterator::__construct","globiterator.construct","refentry"],["","globiterator.count","example"],["GlobIterator::count","globiterator.count","refentry"],["GlobIterator","class.globiterator","phpdoc:classref"],["","class.infiniteiterator","section"],["","class.infiniteiterator","section"],["","infiniteiterator.construct","example"],["InfiniteIterator::__construct","infiniteiterator.construct","refentry"],["InfiniteIterator::next","infiniteiterator.next","refentry"],["InfiniteIterator","class.infiniteiterator","phpdoc:classref"],["","class.iteratoriterator","section"],["","class.iteratoriterator","section"],["IteratorIterator::__construct","iteratoriterator.construct","refentry"],["IteratorIterator::current","iteratoriterator.current","refentry"],["IteratorIterator::getInnerIterator","iteratoriterator.getinneriterator","refentry"],["IteratorIterator::key","iteratoriterator.key","refentry"],["IteratorIterator::next","iteratoriterator.next","refentry"],["IteratorIterator::rewind","iteratoriterator.rewind","refentry"],["IteratorIterator::valid","iteratoriterator.valid","refentry"],["IteratorIterator","class.iteratoriterator","phpdoc:classref"],["","class.limititerator","section"],["","class.limititerator","section"],["","class.limititerator","example"],["","class.limititerator","section"],["","limititerator.construct","example"],["LimitIterator::__construct","limititerator.construct","refentry"],["LimitIterator::current","limititerator.current","refentry"],["LimitIterator::getInnerIterator","limititerator.getinneriterator","refentry"],["","limititerator.getposition","example"],["LimitIterator::getPosition","limititerator.getposition","refentry"],["LimitIterator::key","limititerator.key","refentry"],["LimitIterator::next","limititerator.next","refentry"],["LimitIterator::rewind","limititerator.rewind","refentry"],["LimitIterator::seek","limititerator.seek","refentry"],["LimitIterator::valid","limititerator.valid","refentry"],["LimitIterator","class.limititerator","phpdoc:classref"],["","class.multipleiterator","section"],["","class.multipleiterator","section"],["","class.multipleiterator","varlistentry"],["","class.multipleiterator","varlistentry"],["","class.multipleiterator","varlistentry"],["","class.multipleiterator","varlistentry"],["","class.multipleiterator","section"],["MultipleIterator::attachIterator","multipleiterator.attachiterator","refentry"],["","multipleiterator.construct","para"],["","multipleiterator.construct","para"],["","multipleiterator.construct","para"],["","multipleiterator.construct","para"],["","multipleiterator.construct","example"],["MultipleIterator::__construct","multipleiterator.construct","refentry"],["MultipleIterator::containsIterator","multipleiterator.containsiterator","refentry"],["MultipleIterator::countIterators","multipleiterator.countiterators","refentry"],["MultipleIterator::current","multipleiterator.current","refentry"],["MultipleIterator::detachIterator","multipleiterator.detachiterator","refentry"],["MultipleIterator::getFlags","multipleiterator.getflags","refentry"],["MultipleIterator::key","multipleiterator.key","refentry"],["MultipleIterator::next","multipleiterator.next","refentry"],["MultipleIterator::rewind","multipleiterator.rewind","refentry"],["MultipleIterator::setFlags","multipleiterator.setflags","refentry"],["MultipleIterator::valid","multipleiterator.valid","refentry"],["MultipleIterator","class.multipleiterator","phpdoc:classref"],["","class.norewinditerator","section"],["","class.norewinditerator","section"],["","norewinditerator.construct","example"],["NoRewindIterator::__construct","norewinditerator.construct","refentry"],["NoRewindIterator::current","norewinditerator.current","refentry"],["NoRewindIterator::getInnerIterator","norewinditerator.getinneriterator","refentry"],["NoRewindIterator::key","norewinditerator.key","refentry"],["NoRewindIterator::next","norewinditerator.next","refentry"],["","norewinditerator.rewind","example"],["NoRewindIterator::rewind","norewinditerator.rewind","refentry"],["NoRewindIterator::valid","norewinditerator.valid","refentry"],["NoRewindIterator","class.norewinditerator","phpdoc:classref"],["","class.parentiterator","section"],["","class.parentiterator","section"],["ParentIterator::accept","parentiterator.accept","refentry"],["ParentIterator::__construct","parentiterator.construct","refentry"],["ParentIterator::getChildren","parentiterator.getchildren","refentry"],["ParentIterator::hasChildren","parentiterator.haschildren","refentry"],["ParentIterator::next","parentiterator.next","refentry"],["ParentIterator::rewind","parentiterator.rewind","refentry"],["ParentIterator","class.parentiterator","phpdoc:classref"],["","class.recursivearrayiterator","section"],["","class.recursivearrayiterator","section"],["","recursivearrayiterator.getchildren","example"],["RecursiveArrayIterator::getChildren","recursivearrayiterator.getchildren","refentry"],["","recursivearrayiterator.haschildren","example"],["RecursiveArrayIterator::hasChildren","recursivearrayiterator.haschildren","refentry"],["RecursiveArrayIterator","class.recursivearrayiterator","phpdoc:classref"],["","class.recursivecachingiterator","section"],["","class.recursivecachingiterator","section"],["RecursiveCachingIterator::__construct","recursivecachingiterator.construct","refentry"],["RecursiveCachingIterator::getChildren","recursivecachingiterator.getchildren","refentry"],["RecursiveCachingIterator::hasChildren","recursivecachingiterator.haschildren","refentry"],["RecursiveCachingIterator","class.recursivecachingiterator","phpdoc:classref"],["","class.recursivecallbackfilteriterator","section"],["","class.recursivecallbackfilteriterator","section"],["","class.recursivecallbackfilteriterator","example"],["","class.recursivecallbackfilteriterator","example"],["","class.recursivecallbackfilteriterator","section"],["RecursiveCallbackFilterIterator::__construct","recursivecallbackfilteriterator.construct","refentry"],["RecursiveCallbackFilterIterator::getChildren","recursivecallbackfilteriterator.getchildren","refentry"],["","recursivecallbackfilteriterator.haschildren","example"],["RecursiveCallbackFilterIterator::hasChildren","recursivecallbackfilteriterator.haschildren","refentry"],["RecursiveCallbackFilterIterator","class.recursivecallbackfilteriterator","phpdoc:classref"],["","class.recursivedirectoryiterator","section"],["","class.recursivedirectoryiterator","section"],["","recursivedirectoryiterator.construct","example"],["RecursiveDirectoryIterator::__construct","recursivedirectoryiterator.construct","refentry"],["RecursiveDirectoryIterator::getChildren","recursivedirectoryiterator.getchildren","refentry"],["RecursiveDirectoryIterator::getSubPath","recursivedirectoryiterator.getsubpath","refentry"],["RecursiveDirectoryIterator::getSubPathname","recursivedirectoryiterator.getsubpathname","refentry"],["RecursiveDirectoryIterator::hasChildren","recursivedirectoryiterator.haschildren","refentry"],["RecursiveDirectoryIterator::key","recursivedirectoryiterator.key","refentry"],["RecursiveDirectoryIterator::next","recursivedirectoryiterator.next","refentry"],["RecursiveDirectoryIterator::rewind","recursivedirectoryiterator.rewind","refentry"],["RecursiveDirectoryIterator","class.recursivedirectoryiterator","phpdoc:classref"],["","class.recursivefilteriterator","section"],["","class.recursivefilteriterator","section"],["","recursivefilteriterator.construct","example"],["","recursivefilteriterator.construct","example"],["RecursiveFilterIterator::__construct","recursivefilteriterator.construct","refentry"],["RecursiveFilterIterator::getChildren","recursivefilteriterator.getchildren","refentry"],["RecursiveFilterIterator::hasChildren","recursivefilteriterator.haschildren","refentry"],["RecursiveFilterIterator","class.recursivefilteriterator","phpdoc:classref"],["","class.recursiveiteratoriterator","section"],["","class.recursiveiteratoriterator","section"],["","class.recursiveiteratoriterator","varlistentry"],["","class.recursiveiteratoriterator","varlistentry"],["","class.recursiveiteratoriterator","varlistentry"],["","class.recursiveiteratoriterator","varlistentry"],["","class.recursiveiteratoriterator","section"],["RecursiveIteratorIterator::beginChildren","recursiveiteratoriterator.beginchildren","refentry"],["RecursiveIteratorIterator::beginIteration","recursiveiteratoriterator.beginiteration","refentry"],["RecursiveIteratorIterator::callGetChildren","recursiveiteratoriterator.callgetchildren","refentry"],["RecursiveIteratorIterator::callHasChildren","recursiveiteratoriterator.callhaschildren","refentry"],["","recursiveiteratoriterator.construct","para"],["","recursiveiteratoriterator.construct","para"],["","recursiveiteratoriterator.construct","para"],["","recursiveiteratoriterator.construct","example"],["RecursiveIteratorIterator::__construct","recursiveiteratoriterator.construct","refentry"],["RecursiveIteratorIterator::current","recursiveiteratoriterator.current","refentry"],["RecursiveIteratorIterator::endChildren","recursiveiteratoriterator.endchildren","refentry"],["RecursiveIteratorIterator::endIteration","recursiveiteratoriterator.enditeration","refentry"],["RecursiveIteratorIterator::getDepth","recursiveiteratoriterator.getdepth","refentry"],["RecursiveIteratorIterator::getInnerIterator","recursiveiteratoriterator.getinneriterator","refentry"],["RecursiveIteratorIterator::getMaxDepth","recursiveiteratoriterator.getmaxdepth","refentry"],["RecursiveIteratorIterator::getSubIterator","recursiveiteratoriterator.getsubiterator","refentry"],["RecursiveIteratorIterator::key","recursiveiteratoriterator.key","refentry"],["RecursiveIteratorIterator::next","recursiveiteratoriterator.next","refentry"],["RecursiveIteratorIterator::nextElement","recursiveiteratoriterator.nextelement","refentry"],["RecursiveIteratorIterator::rewind","recursiveiteratoriterator.rewind","refentry"],["RecursiveIteratorIterator::setMaxDepth","recursiveiteratoriterator.setmaxdepth","refentry"],["RecursiveIteratorIterator::valid","recursiveiteratoriterator.valid","refentry"],["RecursiveIteratorIterator","class.recursiveiteratoriterator","phpdoc:classref"],["","class.recursiveregexiterator","section"],["","class.recursiveregexiterator","section"],["","recursiveregexiterator.construct","example"],["RecursiveRegexIterator::__construct","recursiveregexiterator.construct","refentry"],["","recursiveregexiterator.getchildren","example"],["RecursiveRegexIterator::getChildren","recursiveregexiterator.getchildren","refentry"],["","recursiveregexiterator.haschildren","example"],["RecursiveRegexIterator::hasChildren","recursiveregexiterator.haschildren","refentry"],["RecursiveRegexIterator","class.recursiveregexiterator","phpdoc:classref"],["","class.recursivetreeiterator","section"],["","class.recursivetreeiterator","section"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","varlistentry"],["","class.recursivetreeiterator","section"],["RecursiveTreeIterator::beginChildren","recursivetreeiterator.beginchildren","refentry"],["RecursiveTreeIterator::beginIteration","recursivetreeiterator.beginiteration","refentry"],["RecursiveTreeIterator::callGetChildren","recursivetreeiterator.callgetchildren","refentry"],["RecursiveTreeIterator::callHasChildren","recursivetreeiterator.callhaschildren","refentry"],["RecursiveTreeIterator::__construct","recursivetreeiterator.construct","refentry"],["RecursiveTreeIterator::current","recursivetreeiterator.current","refentry"],["RecursiveTreeIterator::endChildren","recursivetreeiterator.endchildren","refentry"],["RecursiveTreeIterator::endIteration","recursivetreeiterator.enditeration","refentry"],["RecursiveTreeIterator::getEntry","recursivetreeiterator.getentry","refentry"],["RecursiveTreeIterator::getPostfix","recursivetreeiterator.getpostfix","refentry"],["RecursiveTreeIterator::getPrefix","recursivetreeiterator.getprefix","refentry"],["RecursiveTreeIterator::key","recursivetreeiterator.key","refentry"],["RecursiveTreeIterator::next","recursivetreeiterator.next","refentry"],["RecursiveTreeIterator::nextElement","recursivetreeiterator.nextelement","refentry"],["RecursiveTreeIterator::rewind","recursivetreeiterator.rewind","refentry"],["RecursiveTreeIterator::setPrefixPart","recursivetreeiterator.setprefixpart","refentry"],["RecursiveTreeIterator::valid","recursivetreeiterator.valid","refentry"],["RecursiveTreeIterator","class.recursivetreeiterator","phpdoc:classref"],["","class.regexiterator","section"],["","class.regexiterator","section"],["","class.regexiterator","varlistentry"],["","class.regexiterator","varlistentry"],["","class.regexiterator","varlistentry"],["","class.regexiterator","varlistentry"],["","class.regexiterator","varlistentry"],["","class.regexiterator","section"],["","class.regexiterator","varlistentry"],["","class.regexiterator","section"],["","class.regexiterator","section"],["","regexiterator.accept","example"],["RegexIterator::accept","regexiterator.accept","refentry"],["","regexiterator.construct","example"],["RegexIterator::__construct","regexiterator.construct","refentry"],["","regexiterator.getflags","example"],["RegexIterator::getFlags","regexiterator.getflags","refentry"],["","regexiterator.getmode","example"],["RegexIterator::getMode","regexiterator.getmode","refentry"],["","regexiterator.getpregflags","example"],["RegexIterator::getPregFlags","regexiterator.getpregflags","refentry"],["RegexIterator::getRegex","regexiterator.getregex","refentry"],["","regexiterator.setflags","example"],["RegexIterator::setFlags","regexiterator.setflags","refentry"],["","regexiterator.setmode","example"],["RegexIterator::setMode","regexiterator.setmode","refentry"],["","regexiterator.setpregflags","example"],["RegexIterator::setPregFlags","regexiterator.setpregflags","refentry"],["RegexIterator","class.regexiterator","phpdoc:classref"],["","spl.iterators","part"],["","spl.interfaces","section"],["","class.countable","section"],["","class.countable","section"],["","countable.count","example"],["Countable::count","countable.count","refentry"],["Countable","class.countable","phpdoc:classref"],["","class.outeriterator","section"],["","class.outeriterator","section"],["OuterIterator::getInnerIterator","outeriterator.getinneriterator","refentry"],["OuterIterator","class.outeriterator","phpdoc:classref"],["","class.recursiveiterator","section"],["","class.recursiveiterator","section"],["RecursiveIterator::getChildren","recursiveiterator.getchildren","refentry"],["RecursiveIterator::hasChildren","recursiveiterator.haschildren","refentry"],["RecursiveIterator","class.recursiveiterator","phpdoc:classref"],["","class.seekableiterator","section"],["","class.seekableiterator","section"],["","class.seekableiterator","example"],["","class.seekableiterator","section"],["","seekableiterator.seek","example"],["SeekableIterator::seek","seekableiterator.seek","refentry"],["SeekableIterator","class.seekableiterator","phpdoc:classref"],["","spl.interfaces","part"],["","spl.exceptions","section"],["","class.badfunctioncallexception","section"],["","class.badfunctioncallexception","section"],["BadFunctionCallException","class.badfunctioncallexception","phpdoc:exceptionref"],["","class.badmethodcallexception","section"],["","class.badmethodcallexception","section"],["BadMethodCallException","class.badmethodcallexception","phpdoc:exceptionref"],["","class.domainexception","section"],["","class.domainexception","section"],["DomainException","class.domainexception","phpdoc:exceptionref"],["","class.invalidargumentexception","section"],["","class.invalidargumentexception","section"],["InvalidArgumentException","class.invalidargumentexception","phpdoc:exceptionref"],["","class.lengthexception","section"],["","class.lengthexception","section"],["LengthException","class.lengthexception","phpdoc:exceptionref"],["","class.logicexception","section"],["","class.logicexception","section"],["LogicException","class.logicexception","phpdoc:exceptionref"],["","class.outofboundsexception","section"],["","class.outofboundsexception","section"],["OutOfBoundsException","class.outofboundsexception","phpdoc:exceptionref"],["","class.outofrangeexception","section"],["","class.outofrangeexception","section"],["OutOfRangeException","class.outofrangeexception","phpdoc:exceptionref"],["","class.overflowexception","section"],["","class.overflowexception","section"],["OverflowException","class.overflowexception","phpdoc:exceptionref"],["","class.rangeexception","section"],["","class.rangeexception","section"],["RangeException","class.rangeexception","phpdoc:exceptionref"],["","class.runtimeexception","section"],["","class.runtimeexception","section"],["RuntimeException","class.runtimeexception","phpdoc:exceptionref"],["","class.underflowexception","section"],["","class.underflowexception","section"],["UnderflowException","class.underflowexception","phpdoc:exceptionref"],["","class.unexpectedvalueexception","section"],["","class.unexpectedvalueexception","section"],["UnexpectedValueException","class.unexpectedvalueexception","phpdoc:exceptionref"],["","spl.exceptions","part"],["","function.class-implements","example"],["class_implements","function.class-implements","refentry"],["","function.class-parents","example"],["class_parents","function.class-parents","refentry"],["","function.class-uses","example"],["class_uses","function.class-uses","refentry"],["","function.iterator-apply","example"],["iterator_apply","function.iterator-apply","refentry"],["","function.iterator-count","example"],["iterator_count","function.iterator-count","refentry"],["","function.iterator-to-array","example"],["iterator_to_array","function.iterator-to-array","refentry"],["spl_autoload_call","function.spl-autoload-call","refentry"],["spl_autoload_extensions","function.spl-autoload-extensions","refentry"],["spl_autoload_functions","function.spl-autoload-functions","refentry"],["","function.spl-autoload-register","example"],["","function.spl-autoload-register","example"],["spl_autoload_register","function.spl-autoload-register","refentry"],["spl_autoload_unregister","function.spl-autoload-unregister","refentry"],["spl_autoload","function.spl-autoload","refentry"],["","function.spl-classes","example"],["spl_classes","function.spl-classes","refentry"],["","function.spl-object-hash","example"],["spl_object_hash","function.spl-object-hash","refentry"],["","ref.spl","reference"],["","class.splfileinfo","section"],["","class.splfileinfo","section"],["","splfileinfo.construct","example"],["SplFileInfo::__construct","splfileinfo.construct","refentry"],["SplFileInfo::getATime","splfileinfo.getatime","refentry"],["","splfileinfo.getbasename","example"],["SplFileInfo::getBasename","splfileinfo.getbasename","refentry"],["","splfileinfo.getctime","example"],["SplFileInfo::getCTime","splfileinfo.getctime","refentry"],["","splfileinfo.getextension","example"],["","splfileinfo.getextension","example"],["SplFileInfo::getExtension","splfileinfo.getextension","refentry"],["SplFileInfo::getFileInfo","splfileinfo.getfileinfo","refentry"],["","splfileinfo.getfilename","example"],["SplFileInfo::getFilename","splfileinfo.getfilename","refentry"],["","splfileinfo.getgroup","example"],["SplFileInfo::getGroup","splfileinfo.getgroup","refentry"],["SplFileInfo::getInode","splfileinfo.getinode","refentry"],["","splfileinfo.getlinktarget","example"],["SplFileInfo::getLinkTarget","splfileinfo.getlinktarget","refentry"],["SplFileInfo::getMTime","splfileinfo.getmtime","refentry"],["","splfileinfo.getowner","example"],["SplFileInfo::getOwner","splfileinfo.getowner","refentry"],["","splfileinfo.getpath","example"],["SplFileInfo::getPath","splfileinfo.getpath","refentry"],["","splfileinfo.getpathinfo","example"],["SplFileInfo::getPathInfo","splfileinfo.getpathinfo","refentry"],["","splfileinfo.getpathname","example"],["SplFileInfo::getPathname","splfileinfo.getpathname","refentry"],["","splfileinfo.getperms","example"],["SplFileInfo::getPerms","splfileinfo.getperms","refentry"],["","splfileinfo.getrealpath","example"],["SplFileInfo::getRealPath","splfileinfo.getrealpath","refentry"],["SplFileInfo::getSize","splfileinfo.getsize","refentry"],["","splfileinfo.gettype","example"],["SplFileInfo::getType","splfileinfo.gettype","refentry"],["","splfileinfo.isdir","example"],["SplFileInfo::isDir","splfileinfo.isdir","refentry"],["","splfileinfo.isexecutable","example"],["SplFileInfo::isExecutable","splfileinfo.isexecutable","refentry"],["","splfileinfo.isfile","example"],["SplFileInfo::isFile","splfileinfo.isfile","refentry"],["","splfileinfo.islink","example"],["SplFileInfo::isLink","splfileinfo.islink","refentry"],["","splfileinfo.isreadable","example"],["SplFileInfo::isReadable","splfileinfo.isreadable","refentry"],["SplFileInfo::isWritable","splfileinfo.iswritable","refentry"],["","splfileinfo.openfile","example"],["SplFileInfo::openFile","splfileinfo.openfile","refentry"],["","splfileinfo.setfileclass","example"],["SplFileInfo::setFileClass","splfileinfo.setfileclass","refentry"],["","splfileinfo.setinfoclass","example"],["SplFileInfo::setInfoClass","splfileinfo.setinfoclass","refentry"],["","splfileinfo.tostring","example"],["SplFileInfo::__toString","splfileinfo.tostring","refentry"],["SplFileInfo","class.splfileinfo","phpdoc:classref"],["","class.splfileobject","section"],["","class.splfileobject","section"],["","class.splfileobject","varlistentry"],["","class.splfileobject","varlistentry"],["","class.splfileobject","varlistentry"],["","class.splfileobject","varlistentry"],["","class.splfileobject","section"],["","splfileobject.construct","example"],["SplFileObject::__construct","splfileobject.construct","refentry"],["","splfileobject.current","example"],["SplFileObject::current","splfileobject.current","refentry"],["","splfileobject.eof","example"],["SplFileObject::eof","splfileobject.eof","refentry"],["","splfileobject.fflush","example"],["SplFileObject::fflush","splfileobject.fflush","refentry"],["","splfileobject.fgetc","example"],["SplFileObject::fgetc","splfileobject.fgetc","refentry"],["","splfileobject.fgetcsv","example"],["","splfileobject.fgetcsv","example"],["SplFileObject::fgetcsv","splfileobject.fgetcsv","refentry"],["","splfileobject.fgets","example"],["SplFileObject::fgets","splfileobject.fgets","refentry"],["","splfileobject.fgetss","example"],["SplFileObject::fgetss","splfileobject.fgetss","refentry"],["","splfileobject.flock","example"],["SplFileObject::flock","splfileobject.flock","refentry"],["","splfileobject.fpassthru","example"],["SplFileObject::fpassthru","splfileobject.fpassthru","refentry"],["","splfileobject.fputcsv","example"],["SplFileObject::fputcsv","splfileobject.fputcsv","refentry"],["","splfileobject.fscanf","example"],["SplFileObject::fscanf","splfileobject.fscanf","refentry"],["","splfileobject.fseek","example"],["SplFileObject::fseek","splfileobject.fseek","refentry"],["","splfileobject.fstat","example"],["SplFileObject::fstat","splfileobject.fstat","refentry"],["","splfileobject.ftell","example"],["SplFileObject::ftell","splfileobject.ftell","refentry"],["","splfileobject.ftruncate","example"],["SplFileObject::ftruncate","splfileobject.ftruncate","refentry"],["","splfileobject.fwrite","example"],["SplFileObject::fwrite","splfileobject.fwrite","refentry"],["SplFileObject::getChildren","splfileobject.getchildren","refentry"],["","splfileobject.getcsvcontrol","example"],["SplFileObject::getCsvControl","splfileobject.getcsvcontrol","refentry"],["SplFileObject::getCurrentLine","splfileobject.getcurrentline","refentry"],["","splfileobject.getflags","example"],["SplFileObject::getFlags","splfileobject.getflags","refentry"],["","splfileobject.getmaxlinelen","example"],["SplFileObject::getMaxLineLen","splfileobject.getmaxlinelen","refentry"],["SplFileObject::hasChildren","splfileobject.haschildren","refentry"],["","splfileobject.key","example"],["","splfileobject.key","example"],["SplFileObject::key","splfileobject.key","refentry"],["","splfileobject.next","example"],["SplFileObject::next","splfileobject.next","refentry"],["","splfileobject.rewind","example"],["SplFileObject::rewind","splfileobject.rewind","refentry"],["","splfileobject.seek","example"],["SplFileObject::seek","splfileobject.seek","refentry"],["","splfileobject.setcsvcontrol","example"],["SplFileObject::setCsvControl","splfileobject.setcsvcontrol","refentry"],["","splfileobject.setflags","example"],["SplFileObject::setFlags","splfileobject.setflags","refentry"],["","splfileobject.setmaxlinelen","example"],["SplFileObject::setMaxLineLen","splfileobject.setmaxlinelen","refentry"],["SplFileObject::__toString","splfileobject.tostring","refentry"],["","splfileobject.valid","example"],["SplFileObject::valid","splfileobject.valid","refentry"],["SplFileObject","class.splfileobject","phpdoc:classref"],["","class.spltempfileobject","section"],["","class.spltempfileobject","section"],["","spltempfileobject.construct","example"],["SplTempFileObject::__construct","spltempfileobject.construct","refentry"],["SplTempFileObject","class.spltempfileobject","phpdoc:classref"],["","spl.files","part"],["","class.arrayobject","section"],["","class.arrayobject","section"],["","class.arrayobject","varlistentry"],["","class.arrayobject","varlistentry"],["","class.arrayobject","section"],["","class.arrayobject","section"],["","arrayobject.append","example"],["ArrayObject::append","arrayobject.append","refentry"],["","arrayobject.asort","example"],["ArrayObject::asort","arrayobject.asort","refentry"],["","arrayobject.construct","example"],["ArrayObject::__construct","arrayobject.construct","refentry"],["","arrayobject.count","example"],["ArrayObject::count","arrayobject.count","refentry"],["","arrayobject.exchangearray","example"],["ArrayObject::exchangeArray","arrayobject.exchangearray","refentry"],["","arrayobject.getarraycopy","example"],["ArrayObject::getArrayCopy","arrayobject.getarraycopy","refentry"],["","arrayobject.getflags","example"],["ArrayObject::getFlags","arrayobject.getflags","refentry"],["","arrayobject.getiterator","example"],["ArrayObject::getIterator","arrayobject.getiterator","refentry"],["","arrayobject.getiteratorclass","example"],["ArrayObject::getIteratorClass","arrayobject.getiteratorclass","refentry"],["","arrayobject.ksort","example"],["ArrayObject::ksort","arrayobject.ksort","refentry"],["","arrayobject.natcasesort","example"],["ArrayObject::natcasesort","arrayobject.natcasesort","refentry"],["","arrayobject.natsort","example"],["ArrayObject::natsort","arrayobject.natsort","refentry"],["","arrayobject.offsetexists","example"],["ArrayObject::offsetExists","arrayobject.offsetexists","refentry"],["","arrayobject.offsetget","example"],["ArrayObject::offsetGet","arrayobject.offsetget","refentry"],["","arrayobject.offsetset","example"],["ArrayObject::offsetSet","arrayobject.offsetset","refentry"],["","arrayobject.offsetunset","example"],["ArrayObject::offsetUnset","arrayobject.offsetunset","refentry"],["","arrayobject.serialize","example"],["ArrayObject::serialize","arrayobject.serialize","refentry"],["","arrayobject.setflags","example"],["ArrayObject::setFlags","arrayobject.setflags","refentry"],["","arrayobject.setiteratorclass","example"],["ArrayObject::setIteratorClass","arrayobject.setiteratorclass","refentry"],["","arrayobject.uasort","example"],["ArrayObject::uasort","arrayobject.uasort","refentry"],["","arrayobject.uksort","example"],["ArrayObject::uksort","arrayobject.uksort","refentry"],["ArrayObject::unserialize","arrayobject.unserialize","refentry"],["ArrayObject","class.arrayobject","phpdoc:classref"],["","class.splobserver","section"],["","class.splobserver","section"],["SplObserver::update","splobserver.update","refentry"],["SplObserver","class.splobserver","phpdoc:classref"],["","class.splsubject","section"],["","class.splsubject","section"],["SplSubject::attach","splsubject.attach","refentry"],["SplSubject::detach","splsubject.detach","refentry"],["SplSubject::notify","splsubject.notify","refentry"],["SplSubject","class.splsubject","phpdoc:classref"],["","spl.misc","part"],["SPL","book.spl","book"],["","intro.spl-types","preface"],["","spl-types.requirements","section"],["","spl-types.installation","section"],["","spl-types.configuration","section"],["","spl-types.resources","section"],["","spl-types.setup","chapter"],["","class.spltype","section"],["","class.spltype","section"],["","class.spltype","varlistentry"],["","class.spltype","section"],["SplType::__construct","spltype.construct","refentry"],["SplType","class.spltype","phpdoc:classref"],["","class.splint","section"],["","class.splint","section"],["","class.splint","varlistentry"],["","class.splint","section"],["","class.splint","example"],["","class.splint","section"],["SplInt","class.splint","phpdoc:classref"],["","class.splfloat","section"],["","class.splfloat","section"],["","class.splfloat","varlistentry"],["","class.splfloat","section"],["","class.splfloat","example"],["","class.splfloat","section"],["SplFloat","class.splfloat","phpdoc:classref"],["","class.splenum","section"],["","class.splenum","section"],["","class.splenum","varlistentry"],["","class.splenum","section"],["","class.splenum","example"],["","class.splenum","section"],["","splenum.getconstlist","example"],["SplEnum::getConstList","splenum.getconstlist","refentry"],["SplEnum","class.splenum","phpdoc:classref"],["","class.splbool","section"],["","class.splbool","section"],["","class.splbool","varlistentry"],["","class.splbool","varlistentry"],["","class.splbool","varlistentry"],["","class.splbool","section"],["","class.splbool","example"],["","class.splbool","section"],["SplBool","class.splbool","phpdoc:classref"],["","class.splstring","section"],["","class.splstring","section"],["","class.splstring","varlistentry"],["","class.splstring","section"],["","class.splstring","example"],["","class.splstring","section"],["SplString","class.splstring","phpdoc:classref"],["SPL Types","book.spl-types","book"],["","intro.stream","preface"],["","stream.requirements","section"],["","stream.installation","section"],["","stream.configuration","section"],["","stream.resources","section"],["","stream.setup","chapter"],["","stream.constants","appendix"],["","stream.filters","chapter"],["","stream.contexts","chapter"],["","stream.errors","chapter"],["","stream.examples","example"],["","stream.examples","example"],["","stream.examples","example"],["","stream.streamwrapper.example-1","example"],["","stream.streamwrapper.example-1","section"],["","stream.examples","chapter"],["","class.php-user-filter","section"],["","class.php-user-filter","section"],["","class.php-user-filter","varlistentry"],["","class.php-user-filter","varlistentry"],["","class.php-user-filter","section"],["php_user_filter::filter","php-user-filter.filter","refentry"],["php_user_filter::onClose","php-user-filter.onclose","refentry"],["php_user_filter::onCreate","php-user-filter.oncreate","refentry"],["php_user_filter","class.php-user-filter","phpdoc:classref"],["","class.streamwrapper","section"],["","class.streamwrapper","section"],["","class.streamwrapper","varlistentry"],["","class.streamwrapper","section"],["streamWrapper::__construct","streamwrapper.construct","refentry"],["streamWrapper::__destruct","streamwrapper.destruct","refentry"],["streamWrapper::dir_closedir","streamwrapper.dir-closedir","refentry"],["streamWrapper::dir_opendir","streamwrapper.dir-opendir","refentry"],["","streamwrapper.dir-readdir","example"],["streamWrapper::dir_readdir","streamwrapper.dir-readdir","refentry"],["streamWrapper::dir_rewinddir","streamwrapper.dir-rewinddir","refentry"],["streamWrapper::mkdir","streamwrapper.mkdir","refentry"],["streamWrapper::rename","streamwrapper.rename","refentry"],["streamWrapper::rmdir","streamwrapper.rmdir","refentry"],["streamWrapper::stream_cast","streamwrapper.stream-cast","refentry"],["streamWrapper::stream_close","streamwrapper.stream-close","refentry"],["streamWrapper::stream_eof","streamwrapper.stream-eof","refentry"],["streamWrapper::stream_flush","streamwrapper.stream-flush","refentry"],["streamWrapper::stream_lock","streamwrapper.stream-lock","refentry"],["streamWrapper::stream_metadata","streamwrapper.stream-metadata","refentry"],["streamWrapper::stream_open","streamwrapper.stream-open","refentry"],["streamWrapper::stream_read","streamwrapper.stream-read","refentry"],["streamWrapper::stream_seek","streamwrapper.stream-seek","refentry"],["streamWrapper::stream_set_option","streamwrapper.stream-set-option","refentry"],["streamWrapper::stream_stat","streamwrapper.stream-stat","refentry"],["streamWrapper::stream_tell","streamwrapper.stream-tell","refentry"],["streamWrapper::stream_truncate","streamwrapper.stream-truncate","refentry"],["streamWrapper::stream_write","streamwrapper.stream-write","refentry"],["streamWrapper::unlink","streamwrapper.unlink","refentry"],["streamWrapper::url_stat","streamwrapper.url-stat","refentry"],["streamWrapper","class.streamwrapper","phpdoc:classref"],["set_socket_blocking","function.set-socket-blocking","refentry"],["stream_bucket_append","function.stream-bucket-append","refentry"],["stream_bucket_make_writeable","function.stream-bucket-make-writeable","refentry"],["stream_bucket_new","function.stream-bucket-new","refentry"],["","function.stream-bucket-prepend","example"],["stream_bucket_prepend","function.stream-bucket-prepend","refentry"],["","function.stream-context-create","example"],["stream_context_create","function.stream-context-create","refentry"],["","function.stream-context-get-default","example"],["stream_context_get_default","function.stream-context-get-default","refentry"],["","function.stream-context-get-options","example"],["stream_context_get_options","function.stream-context-get-options","refentry"],["","function.stream-context-get-params","example"],["stream_context_get_params","function.stream-context-get-params","refentry"],["","function.stream-context-set-default","example"],["stream_context_set_default","function.stream-context-set-default","refentry"],["stream_context_set_option","function.stream-context-set-option","refentry"],["stream_context_set_params","function.stream-context-set-params","refentry"],["","function.stream-copy-to-stream","example"],["stream_copy_to_stream","function.stream-copy-to-stream","refentry"],["stream_encoding","function.stream-encoding","refentry"],["","function.stream-filter-append","example"],["stream_filter_append","function.stream-filter-append","refentry"],["stream_filter_prepend","function.stream-filter-prepend","refentry"],["","function.stream-filter-register","example"],["","function.stream-filter-register","example"],["stream_filter_register","function.stream-filter-register","refentry"],["","function.stream-filter-remove","example"],["stream_filter_remove","function.stream-filter-remove","refentry"],["","function.stream-get-contents","example"],["stream_get_contents","function.stream-get-contents","refentry"],["","function.stream-get-filters","example"],["stream_get_filters","function.stream-get-filters","refentry"],["stream_get_line","function.stream-get-line","refentry"],["","function.stream-get-meta-data","example"],["stream_get_meta_data","function.stream-get-meta-data","refentry"],["","function.stream-get-transports","example"],["stream_get_transports","function.stream-get-transports","refentry"],["","function.stream-get-wrappers","example"],["","function.stream-get-wrappers","example"],["stream_get_wrappers","function.stream-get-wrappers","refentry"],["","function.stream-is-local","example"],["stream_is_local","function.stream-is-local","refentry"],["","function.stream-notification-callback","example"],["","function.stream-notification-callback","example"],["stream_notification_callback","function.stream-notification-callback","refentry"],["stream_register_wrapper","function.stream-register-wrapper","refentry"],["","function.stream-resolve-include-path","example"],["stream_resolve_include_path","function.stream-resolve-include-path","refentry"],["","function.stream-select","example"],["stream_select","function.stream-select","refentry"],["stream_set_blocking","function.stream-set-blocking","refentry"],["stream_set_chunk_size","function.stream-set-chunk-size","refentry"],["stream_set_read_buffer","function.stream-set-read-buffer","refentry"],["","function.stream-set-timeout","example"],["stream_set_timeout","function.stream-set-timeout","refentry"],["","function.stream-set-write-buffer","example"],["stream_set_write_buffer","function.stream-set-write-buffer","refentry"],["stream_socket_accept","function.stream-socket-accept","refentry"],["","function.stream-socket-client","example"],["","function.stream-socket-client","example"],["stream_socket_client","function.stream-socket-client","refentry"],["","function.stream-socket-enable-crypto","example"],["stream_socket_enable_crypto","function.stream-socket-enable-crypto","refentry"],["stream_socket_get_name","function.stream-socket-get-name","refentry"],["","function.stream-socket-pair","example"],["stream_socket_pair","function.stream-socket-pair","refentry"],["","function.stream-socket-recvfrom","example"],["stream_socket_recvfrom","function.stream-socket-recvfrom","refentry"],["","function.stream-socket-sendto","example"],["stream_socket_sendto","function.stream-socket-sendto","refentry"],["","function.stream-socket-server","example"],["","function.stream-socket-server","example"],["stream_socket_server","function.stream-socket-server","refentry"],["","function.stream-socket-shutdown","example"],["stream_socket_shutdown","function.stream-socket-shutdown","refentry"],["stream_supports_lock","function.stream-supports-lock","refentry"],["","function.stream-wrapper-register","example"],["stream_wrapper_register","function.stream-wrapper-register","refentry"],["stream_wrapper_restore","function.stream-wrapper-restore","refentry"],["stream_wrapper_unregister","function.stream-wrapper-unregister","refentry"],["","ref.stream","reference"],["","book.stream","book"],["","intro.tidy","preface"],["","tidy.requirements","section"],["","tidy.installation","section"],["","tidy.configuration","varlistentry"],["","tidy.configuration","varlistentry"],["","tidy.configuration","section"],["","tidy.resources","section"],["","tidy.setup","chapter"],["","tidy.constants","appendix"],["","tidy.examples.basic","example"],["","tidy.examples.basic","section"],["","tidy.examples","appendix"],["","class.tidy","section"],["","class.tidy","section"],["","tidy.body","example"],["tidy::body","tidy.body","refentry"],["","tidy.cleanrepair","example"],["tidy::cleanRepair","tidy.cleanrepair","refentry"],["","tidy.construct","example"],["tidy::__construct","tidy.construct","refentry"],["","tidy.diagnose","example"],["tidy::diagnose","tidy.diagnose","refentry"],["","tidy.props.errorbuffer","example"],["tidy::$errorBuffer","tidy.props.errorbuffer","refentry"],["","tidy.getconfig","example"],["tidy::getConfig","tidy.getconfig","refentry"],["tidy::getHtmlVer","tidy.gethtmlver","refentry"],["","tidy.getopt","example"],["tidy::getOpt","tidy.getopt","refentry"],["","tidy.getoptdoc","example"],["tidy::getOptDoc","tidy.getoptdoc","refentry"],["tidy::getRelease","tidy.getrelease","refentry"],["","tidy.getstatus","example"],["tidy::getStatus","tidy.getstatus","refentry"],["","tidy.head","example"],["tidy::head","tidy.head","refentry"],["","tidy.html","example"],["tidy::html","tidy.html","refentry"],["tidy::isXhtml","tidy.isxhtml","refentry"],["tidy::isXml","tidy.isxml","refentry"],["","tidy.parsefile","example"],["tidy::parseFile","tidy.parsefile","refentry"],["","tidy.parsestring","example"],["tidy::parseString","tidy.parsestring","refentry"],["","tidy.repairfile","example"],["tidy::repairFile","tidy.repairfile","refentry"],["","tidy.repairstring","example"],["tidy::repairString","tidy.repairstring","refentry"],["","tidy.root","example"],["tidy::root","tidy.root","refentry"],["tidy","class.tidy","phpdoc:classref"],["","class.tidynode","section"],["","class.tidynode","section"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","varlistentry"],["","class.tidynode","section"],["","tidynode.getparent","example"],["tidyNode::getParent","tidynode.getparent","refentry"],["","tidynode.haschildren","example"],["tidyNode::hasChildren","tidynode.haschildren","refentry"],["","tidynode.hassiblings","example"],["tidyNode::hasSiblings","tidynode.hassiblings","refentry"],["","tidynode.isasp","example"],["tidyNode::isAsp","tidynode.isasp","refentry"],["","tidynode.iscomment","example"],["tidyNode::isComment","tidynode.iscomment","refentry"],["","tidynode.ishtml","example"],["tidyNode::isHtml","tidynode.ishtml","refentry"],["","tidynode.isjste","example"],["tidyNode::isJste","tidynode.isjste","refentry"],["","tidynode.isphp","example"],["tidyNode::isPhp","tidynode.isphp","refentry"],["","tidynode.istext","example"],["tidyNode::isText","tidynode.istext","refentry"],["tidyNode","class.tidynode","phpdoc:classref"],["","function.ob-tidyhandler","example"],["ob_tidyhandler","function.ob-tidyhandler","refentry"],["","function.tidy-access-count","example"],["tidy_access_count","function.tidy-access-count","refentry"],["","function.tidy-config-count","example"],["tidy_config_count","function.tidy-config-count","refentry"],["","function.tidy-error-count","example"],["tidy_error_count","function.tidy-error-count","refentry"],["","function.tidy-get-output","example"],["tidy_get_output","function.tidy-get-output","refentry"],["tidy_load_config","function.tidy-load-config","refentry"],["tidy_reset_config","function.tidy-reset-config","refentry"],["tidy_save_config","function.tidy-save-config","refentry"],["tidy_set_encoding","function.tidy-set-encoding","refentry"],["","function.tidy-setopt","example"],["tidy_setopt","function.tidy-setopt","refentry"],["","function.tidy-warning-count","example"],["tidy_warning_count","function.tidy-warning-count","refentry"],["","ref.tidy","reference"],["","book.tidy","book"],["","intro.tokenizer","preface"],["","tokenizer.requirements","section"],["","tokenizer.installation","section"],["","tokenizer.configuration","section"],["","tokenizer.resources","section"],["","tokenizer.setup","chapter"],["","tokenizer.constants","appendix"],["","tokenizer.examples","example"],["","tokenizer.examples","appendix"],["","function.token-get-all","example"],["token_get_all","function.token-get-all","refentry"],["","function.token-name","example"],["token_name","function.token-name","refentry"],["","ref.tokenizer","reference"],["","book.tokenizer","book"],["","intro.url","preface"],["","url.requirements","section"],["","url.installation","section"],["","url.configuration","section"],["","url.resources","section"],["","url.setup","chapter"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","varlistentry"],["","url.constants","appendix"],["","function.base64-decode","example"],["base64_decode","function.base64-decode","refentry"],["","function.base64-encode","example"],["base64_encode","function.base64-encode","refentry"],["","function.get-headers","example"],["","function.get-headers","example"],["get_headers","function.get-headers","refentry"],["","function.get-meta-tags","example"],["","function.get-meta-tags","example"],["get_meta_tags","function.get-meta-tags","refentry"],["","function.http-build-query","example"],["","function.http-build-query","example"],["","function.http-build-query","example"],["","function.http-build-query","example"],["http_build_query","function.http-build-query","refentry"],["","function.parse-url","example"],["","function.parse-url","example"],["parse_url","function.parse-url","refentry"],["","function.rawurldecode","example"],["rawurldecode","function.rawurldecode","refentry"],["","function.rawurlencode","example"],["","function.rawurlencode","example"],["rawurlencode","function.rawurlencode","refentry"],["","function.urldecode","example"],["urldecode","function.urldecode","refentry"],["","function.urlencode","example"],["","function.urlencode","example"],["urlencode","function.urlencode","refentry"],["","ref.url","reference"],["","book.url","book"],["","intro.v8js","preface"],["","v8js.requirements","section"],["","v8js.installation","section"],["","v8js.configuration","varlistentry"],["","v8js.configuration","varlistentry"],["","v8js.configuration","section"],["","v8js.resources","section"],["","v8js.setup","chapter"],["","v8js.examples","example"],["","v8js.examples","chapter"],["","class.v8js","section"],["","class.v8js","section"],["","class.v8js","varlistentry"],["","class.v8js","varlistentry"],["","class.v8js","varlistentry"],["","class.v8js","section"],["V8Js::__construct","v8js.construct","refentry"],["V8Js::executeString","v8js.executestring","refentry"],["V8Js::getExtensions","v8js.getextensions","refentry"],["V8Js::getPendingException","v8js.getpendingexception","refentry"],["V8Js::registerExtension","v8js.registerextension","refentry"],["V8Js","class.v8js","phpdoc:classref"],["","class.v8jsexception","section"],["","class.v8jsexception","section"],["","class.v8jsexception","varlistentry"],["","class.v8jsexception","varlistentry"],["","class.v8jsexception","varlistentry"],["","class.v8jsexception","varlistentry"],["","class.v8jsexception","section"],["V8JsException::getJsFileName","v8jsexception.getjsfilename","refentry"],["V8JsException::getJsLineNumber","v8jsexception.getjslinenumber","refentry"],["V8JsException::getJsSourceLine","v8jsexception.getjssourceline","refentry"],["V8JsException::getJsTrace","v8jsexception.getjstrace","refentry"],["V8JsException","class.v8jsexception","phpdoc:classref"],["V8js","book.v8js","book"],["","intro.yaml","preface"],["","yaml.requirements","section"],["","yaml.installation","section"],["","yaml.configuration","varlistentry"],["","yaml.configuration","varlistentry"],["","yaml.configuration","varlistentry"],["","yaml.configuration","varlistentry"],["","yaml.configuration","varlistentry"],["","yaml.configuration","section"],["","yaml.resources","section"],["","yaml.setup","chapter"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","variablelist"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","variablelist"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","variablelist"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","varlistentry"],["","yaml.constants","variablelist"],["","yaml.constants","appendix"],["","yaml.examples","example"],["","yaml.examples","chapter"],["","yaml.callbacks.parse","example"],["","yaml.callbacks.parse","section"],["","yaml.callbacks.emit","example"],["","yaml.callbacks.emit","section"],["","yaml.callbacks","chapter"],["yaml_emit_file","function.yaml-emit-file","refentry"],["","function.yaml-emit","example"],["yaml_emit","function.yaml-emit","refentry"],["yaml_parse_file","function.yaml-parse-file","refentry"],["yaml_parse_url","function.yaml-parse-url","refentry"],["","function.yaml-parse","example"],["yaml_parse","function.yaml-parse","refentry"],["","ref.yaml","reference"],["Yaml","book.yaml","book"],["","intro.yaf","preface"],["","yaf.requirements","section"],["","yaf.installation","section"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","varlistentry"],["","yaf.configuration","section"],["","yaf.resources","section"],["","yaf.setup","chapter"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","varlistentry"],["","yaf.constants","appendix"],["","yaf.tutorials","example"],["","yaf.tutorials","example"],["","yaf.tutorials","example"],["","yaf.tutorials","example"],["","yaf.tutorials","example"],["","yaf.tutorials","example"],["","yaf.tutorials","example"],["","yaf.tutorials","chapter"],["","yaf.appconfig","example"],["","yaf.appconfig","example"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","varlistentry"],["","yaf.appconfig","chapter"],["","class.yaf-application","section"],["","class.yaf-application","section"],["","class.yaf-application","varlistentry"],["","class.yaf-application","varlistentry"],["","class.yaf-application","varlistentry"],["","class.yaf-application","varlistentry"],["","class.yaf-application","varlistentry"],["","class.yaf-application","varlistentry"],["","class.yaf-application","section"],["Yaf_Application::app","yaf-application.app","refentry"],["","yaf-application.bootstrap","example"],["","yaf-application.bootstrap","example"],["Yaf_Application::bootstrap","yaf-application.bootstrap","refentry"],["","yaf-application.clearlasterror","example"],["Yaf_Application::clearLastError","yaf-application.clearlasterror","refentry"],["Yaf_Application::__clone","yaf-application.clone","refentry"],["","yaf-application.construct","programlisting"],["","yaf-application.construct","example"],["","yaf-application.construct","example"],["","yaf-application.construct","example"],["Yaf_Application::__construct","yaf-application.construct","refentry"],["Yaf_Application::__destruct","yaf-application.destruct","refentry"],["","yaf-application.environ","example"],["Yaf_Application::environ","yaf-application.environ","refentry"],["","yaf-application.execute","example"],["Yaf_Application::execute","yaf-application.execute","refentry"],["Yaf_Application::getAppDirectory","yaf-application.getappdirectory","refentry"],["","yaf-application.getconfig","example"],["Yaf_Application::getConfig","yaf-application.getconfig","refentry"],["","yaf-application.getdispatcher","example"],["Yaf_Application::getDispatcher","yaf-application.getdispatcher","refentry"],["","yaf-application.getlasterrormsg","example"],["Yaf_Application::getLastErrorMsg","yaf-application.getlasterrormsg","refentry"],["","yaf-application.getlasterrorno","example"],["Yaf_Application::getLastErrorNo","yaf-application.getlasterrorno","refentry"],["","yaf-application.getmodules","example"],["Yaf_Application::getModules","yaf-application.getmodules","refentry"],["Yaf_Application::run","yaf-application.run","refentry"],["Yaf_Application::setAppDirectory","yaf-application.setappdirectory","refentry"],["Yaf_Application::__sleep","yaf-application.sleep","refentry"],["Yaf_Application::__wakeup","yaf-application.wakeup","refentry"],["Yaf_Application","class.yaf-application","phpdoc:classref"],["","class.yaf-bootstrap-abstract","section"],["","class.yaf-bootstrap-abstract","example"],["","class.yaf-bootstrap-abstract","section"],["Yaf_Bootstrap_Abstract","class.yaf-bootstrap-abstract","phpdoc:classref"],["","class.yaf-dispatcher","section"],["","class.yaf-dispatcher","section"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","varlistentry"],["","class.yaf-dispatcher","section"],["","yaf-dispatcher.autorender","example"],["Yaf_Dispatcher::autoRender","yaf-dispatcher.autorender","refentry"],["","yaf-dispatcher.catchexception","example"],["Yaf_Dispatcher::catchException","yaf-dispatcher.catchexception","refentry"],["Yaf_Dispatcher::__clone","yaf-dispatcher.clone","refentry"],["Yaf_Dispatcher::__construct","yaf-dispatcher.construct","refentry"],["Yaf_Dispatcher::disableView","yaf-dispatcher.disableview","refentry"],["Yaf_Dispatcher::dispatch","yaf-dispatcher.dispatch","refentry"],["Yaf_Dispatcher::enableView","yaf-dispatcher.enableview","refentry"],["Yaf_Dispatcher::flushInstantly","yaf-dispatcher.flushinstantly","refentry"],["Yaf_Dispatcher::getApplication","yaf-dispatcher.getapplication","refentry"],["Yaf_Dispatcher::getInstance","yaf-dispatcher.getinstance","refentry"],["Yaf_Dispatcher::getRequest","yaf-dispatcher.getrequest","refentry"],["Yaf_Dispatcher::getRouter","yaf-dispatcher.getrouter","refentry"],["Yaf_Dispatcher::initView","yaf-dispatcher.initview","refentry"],["","yaf-dispatcher.registerplugin","example"],["Yaf_Dispatcher::registerPlugin","yaf-dispatcher.registerplugin","refentry"],["Yaf_Dispatcher::returnResponse","yaf-dispatcher.returnresponse","refentry"],["Yaf_Dispatcher::setDefaultAction","yaf-dispatcher.setdefaultaction","refentry"],["Yaf_Dispatcher::setDefaultController","yaf-dispatcher.setdefaultcontroller","refentry"],["Yaf_Dispatcher::setDefaultModule","yaf-dispatcher.setdefaultmodule","refentry"],["Yaf_Dispatcher::setErrorHandler","yaf-dispatcher.seterrorhandler","refentry"],["Yaf_Dispatcher::setRequest","yaf-dispatcher.setrequest","refentry"],["","yaf-dispatcher.setview","example"],["","yaf-dispatcher.setview","example"],["Yaf_Dispatcher::setView","yaf-dispatcher.setview","refentry"],["Yaf_Dispatcher::__sleep","yaf-dispatcher.sleep","refentry"],["","yaf-dispatcher.throwexception","example"],["","yaf-dispatcher.throwexception","example"],["Yaf_Dispatcher::throwException","yaf-dispatcher.throwexception","refentry"],["Yaf_Dispatcher::__wakeup","yaf-dispatcher.wakeup","refentry"],["Yaf_Dispatcher","class.yaf-dispatcher","phpdoc:classref"],["","class.yaf-config-abstract","section"],["","class.yaf-config-abstract","section"],["","class.yaf-config-abstract","varlistentry"],["","class.yaf-config-abstract","varlistentry"],["","class.yaf-config-abstract","section"],["Yaf_Config_Abstract::get","yaf-config-abstract.get","refentry"],["Yaf_Config_Abstract::readonly","yaf-config-abstract.readonly","refentry"],["Yaf_Config_Abstract::set","yaf-config-abstract.set","refentry"],["Yaf_Config_Abstract::toArray","yaf-config-abstract.toarray","refentry"],["Yaf_Config_Abstract","class.yaf-config-abstract","phpdoc:classref"],["","class.yaf-config-ini","section"],["","class.yaf-config-ini","section"],["","class.yaf-config-ini","varlistentry"],["","class.yaf-config-ini","varlistentry"],["","class.yaf-config-ini","section"],["","class.yaf-config-ini","example"],["Yaf_Config_Ini::__construct","yaf-config-ini.construct","refentry"],["Yaf_Config_Ini::count","yaf-config-ini.count","refentry"],["Yaf_Config_Ini::current","yaf-config-ini.current","refentry"],["Yaf_Config_Ini::__get","yaf-config-ini.get","refentry"],["Yaf_Config_Ini::__isset","yaf-config-ini.isset","refentry"],["Yaf_Config_Ini::key","yaf-config-ini.key","refentry"],["Yaf_Config_Ini::next","yaf-config-ini.next","refentry"],["Yaf_Config_Ini::offsetExists","yaf-config-ini.offsetexists","refentry"],["Yaf_Config_Ini::offsetGet","yaf-config-ini.offsetget","refentry"],["Yaf_Config_Ini::offsetSet","yaf-config-ini.offsetset","refentry"],["Yaf_Config_Ini::offsetUnset","yaf-config-ini.offsetunset","refentry"],["Yaf_Config_Ini::readonly","yaf-config-ini.readonly","refentry"],["Yaf_Config_Ini::rewind","yaf-config-ini.rewind","refentry"],["Yaf_Config_Ini::__set","yaf-config-ini.set","refentry"],["Yaf_Config_Ini::toArray","yaf-config-ini.toarray","refentry"],["Yaf_Config_Ini::valid","yaf-config-ini.valid","refentry"],["Yaf_Config_Ini","class.yaf-config-ini","phpdoc:classref"],["","class.yaf-config-simple","section"],["","class.yaf-config-simple","section"],["","class.yaf-config-simple","varlistentry"],["","class.yaf-config-simple","varlistentry"],["","class.yaf-config-simple","section"],["Yaf_Config_Simple::__construct","yaf-config-simple.construct","refentry"],["Yaf_Config_Simple::count","yaf-config-simple.count","refentry"],["Yaf_Config_Simple::current","yaf-config-simple.current","refentry"],["Yaf_Config_Simple::__get","yaf-config-simple.get","refentry"],["Yaf_Config_Simple::__isset","yaf-config-simple.isset","refentry"],["Yaf_Config_Simple::key","yaf-config-simple.key","refentry"],["Yaf_Config_Simple::next","yaf-config-simple.next","refentry"],["Yaf_Config_Simple::offsetExists","yaf-config-simple.offsetexists","refentry"],["Yaf_Config_Simple::offsetGet","yaf-config-simple.offsetget","refentry"],["Yaf_Config_Simple::offsetSet","yaf-config-simple.offsetset","refentry"],["Yaf_Config_Simple::offsetUnset","yaf-config-simple.offsetunset","refentry"],["Yaf_Config_Simple::readonly","yaf-config-simple.readonly","refentry"],["Yaf_Config_Simple::rewind","yaf-config-simple.rewind","refentry"],["Yaf_Config_Simple::__set","yaf-config-simple.set","refentry"],["Yaf_Config_Simple::toArray","yaf-config-simple.toarray","refentry"],["Yaf_Config_Simple::valid","yaf-config-simple.valid","refentry"],["Yaf_Config_Simple","class.yaf-config-simple","phpdoc:classref"],["","class.yaf-controller-abstract","section"],["","class.yaf-controller-abstract","section"],["","class.yaf-controller-abstract","example"],["","class.yaf-controller-abstract","example"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","varlistentry"],["","class.yaf-controller-abstract","section"],["Yaf_Controller_Abstract::__clone","yaf-controller-abstract.clone","refentry"],["Yaf_Controller_Abstract::__construct","yaf-controller-abstract.construct","refentry"],["Yaf_Controller_Abstract::display","yaf-controller-abstract.display","refentry"],["","yaf-controller-abstract.forward","example"],["Yaf_Controller_Abstract::forward","yaf-controller-abstract.forward","refentry"],["Yaf_Controller_Abstract::getInvokeArg","yaf-controller-abstract.getinvokearg","refentry"],["Yaf_Controller_Abstract::getInvokeArgs","yaf-controller-abstract.getinvokeargs","refentry"],["Yaf_Controller_Abstract::getModuleName","yaf-controller-abstract.getmodulename","refentry"],["Yaf_Controller_Abstract::getRequest","yaf-controller-abstract.getrequest","refentry"],["Yaf_Controller_Abstract::getResponse","yaf-controller-abstract.getresponse","refentry"],["Yaf_Controller_Abstract::getView","yaf-controller-abstract.getview","refentry"],["Yaf_Controller_Abstract::getViewpath","yaf-controller-abstract.getviewpath","refentry"],["Yaf_Controller_Abstract::init","yaf-controller-abstract.init","refentry"],["Yaf_Controller_Abstract::initView","yaf-controller-abstract.initview","refentry"],["Yaf_Controller_Abstract::redirect","yaf-controller-abstract.redirect","refentry"],["Yaf_Controller_Abstract::render","yaf-controller-abstract.render","refentry"],["Yaf_Controller_Abstract::setViewpath","yaf-controller-abstract.setviewpath","refentry"],["Yaf_Controller_Abstract","class.yaf-controller-abstract","phpdoc:classref"],["","class.yaf-action-abstract","section"],["","class.yaf-action-abstract","section"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","varlistentry"],["","class.yaf-action-abstract","section"],["","yaf-action-abstract.execute","example"],["","yaf-action-abstract.execute","example"],["Yaf_Action_Abstract::execute","yaf-action-abstract.execute","refentry"],["Yaf_Action_Abstract::getController","yaf-action-abstract.getcontroller","refentry"],["Yaf_Action_Abstract","class.yaf-action-abstract","phpdoc:classref"],["","class.yaf-view-interface","section"],["","class.yaf-view-interface","section"],["Yaf_View_Interface::assign","yaf-view-interface.assign","refentry"],["Yaf_View_Interface::display","yaf-view-interface.display","refentry"],["Yaf_View_Interface::getScriptPath","yaf-view-interface.getscriptpath","refentry"],["Yaf_View_Interface::render","yaf-view-interface.render","refentry"],["Yaf_View_Interface::setScriptPath","yaf-view-interface.setscriptpath","refentry"],["Yaf_View_Interface","class.yaf-view-interface","phpdoc:classref"],["","class.yaf-view-simple","section"],["","class.yaf-view-simple","section"],["","class.yaf-view-simple","varlistentry"],["","class.yaf-view-simple","varlistentry"],["","class.yaf-view-simple","section"],["","yaf-view-simple.assign","example"],["","yaf-view-simple.assign","example"],["Yaf_View_Simple::assign","yaf-view-simple.assign","refentry"],["","yaf-view-simple.assignref","example"],["","yaf-view-simple.assignref","example"],["Yaf_View_Simple::assignRef","yaf-view-simple.assignref","refentry"],["","yaf-view-simple.clear","example"],["Yaf_View_Simple::clear","yaf-view-simple.clear","refentry"],["","yaf-view-simple.construct","example"],["Yaf_View_Simple::__construct","yaf-view-simple.construct","refentry"],["Yaf_View_Simple::display","yaf-view-simple.display","refentry"],["Yaf_View_Simple::eval","yaf-view-simple.eval","refentry"],["Yaf_View_Simple::__get","yaf-view-simple.get","refentry"],["Yaf_View_Simple::getScriptPath","yaf-view-simple.getscriptpath","refentry"],["Yaf_View_Simple::__isset","yaf-view-simple.isset","refentry"],["Yaf_View_Simple::render","yaf-view-simple.render","refentry"],["","yaf-view-simple.set","example"],["Yaf_View_Simple::__set","yaf-view-simple.set","refentry"],["Yaf_View_Simple::setScriptPath","yaf-view-simple.setscriptpath","refentry"],["Yaf_View_Simple","class.yaf-view-simple","phpdoc:classref"],["","class.yaf-loader","example"],["","class.yaf-loader","example"],["","class.yaf-loader","example"],["","class.yaf-loader","example"],["","class.yaf-loader","example"],["","class.yaf-loader","example"],["","class.yaf-loader","example"],["","class.yaf-loader","section"],["","class.yaf-loader","section"],["","class.yaf-loader","varlistentry"],["","class.yaf-loader","varlistentry"],["","class.yaf-loader","varlistentry"],["","class.yaf-loader","varlistentry"],["","class.yaf-loader","section"],["Yaf_Loader::autoload","yaf-loader.autoload","refentry"],["Yaf_Loader::clearLocalNamespace","yaf-loader.clearlocalnamespace","refentry"],["Yaf_Loader::__clone","yaf-loader.clone","refentry"],["Yaf_Loader::__construct","yaf-loader.construct","refentry"],["Yaf_Loader::getInstance","yaf-loader.getinstance","refentry"],["Yaf_Loader::getLibraryPath","yaf-loader.getlibrarypath","refentry"],["Yaf_Loader::getLocalNamespace","yaf-loader.getlocalnamespace","refentry"],["Yaf_Loader::import","yaf-loader.import","refentry"],["Yaf_Loader::isLocalName","yaf-loader.islocalname","refentry"],["","yaf-loader.registerlocalnamespace","example"],["Yaf_Loader::registerLocalNamespace","yaf-loader.registerlocalnamespace","refentry"],["Yaf_Loader::setLibraryPath","yaf-loader.setlibrarypath","refentry"],["Yaf_Loader::__sleep","yaf-loader.sleep","refentry"],["Yaf_Loader::__wakeup","yaf-loader.wakeup","refentry"],["Yaf_Loader","class.yaf-loader","phpdoc:classref"],["","class.yaf-plugin-abstract","section"],["","class.yaf-plugin-abstract","example"],["","class.yaf-plugin-abstract","section"],["Yaf_Plugin_Abstract::dispatchLoopShutdown","yaf-plugin-abstract.dispatchloopshutdown","refentry"],["Yaf_Plugin_Abstract::dispatchLoopStartup","yaf-plugin-abstract.dispatchloopstartup","refentry"],["Yaf_Plugin_Abstract::postDispatch","yaf-plugin-abstract.postdispatch","refentry"],["Yaf_Plugin_Abstract::preDispatch","yaf-plugin-abstract.predispatch","refentry"],["Yaf_Plugin_Abstract::preResponse","yaf-plugin-abstract.preresponse","refentry"],["","yaf-plugin-abstract.routershutdown","example"],["Yaf_Plugin_Abstract::routerShutdown","yaf-plugin-abstract.routershutdown","refentry"],["Yaf_Plugin_Abstract::routerStartup","yaf-plugin-abstract.routerstartup","refentry"],["Yaf_Plugin_Abstract","class.yaf-plugin-abstract","phpdoc:classref"],["","class.yaf-registry","section"],["","class.yaf-registry","section"],["","class.yaf-registry","varlistentry"],["","class.yaf-registry","varlistentry"],["","class.yaf-registry","section"],["Yaf_Registry::__clone","yaf-registry.clone","refentry"],["Yaf_Registry::__construct","yaf-registry.construct","refentry"],["Yaf_Registry::del","yaf-registry.del","refentry"],["Yaf_Registry::get","yaf-registry.get","refentry"],["Yaf_Registry::has","yaf-registry.has","refentry"],["Yaf_Registry::set","yaf-registry.set","refentry"],["Yaf_Registry","class.yaf-registry","phpdoc:classref"],["","class.yaf-request-abstract","section"],["","class.yaf-request-abstract","section"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","section"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","varlistentry"],["","class.yaf-request-abstract","section"],["Yaf_Request_Abstract::getActionName","yaf-request-abstract.getactionname","refentry"],["Yaf_Request_Abstract::getBaseUri","yaf-request-abstract.getbaseuri","refentry"],["Yaf_Request_Abstract::getControllerName","yaf-request-abstract.getcontrollername","refentry"],["Yaf_Request_Abstract::getEnv","yaf-request-abstract.getenv","refentry"],["Yaf_Request_Abstract::getException","yaf-request-abstract.getexception","refentry"],["Yaf_Request_Abstract::getLanguage","yaf-request-abstract.getlanguage","refentry"],["Yaf_Request_Abstract::getMethod","yaf-request-abstract.getmethod","refentry"],["Yaf_Request_Abstract::getModuleName","yaf-request-abstract.getmodulename","refentry"],["Yaf_Request_Abstract::getParam","yaf-request-abstract.getparam","refentry"],["Yaf_Request_Abstract::getParams","yaf-request-abstract.getparams","refentry"],["Yaf_Request_Abstract::getRequestUri","yaf-request-abstract.getrequesturi","refentry"],["Yaf_Request_Abstract::getServer","yaf-request-abstract.getserver","refentry"],["Yaf_Request_Abstract::isCli","yaf-request-abstract.iscli","refentry"],["Yaf_Request_Abstract::isDispatched","yaf-request-abstract.isdispatched","refentry"],["Yaf_Request_Abstract::isGet","yaf-request-abstract.isget","refentry"],["Yaf_Request_Abstract::isHead","yaf-request-abstract.ishead","refentry"],["Yaf_Request_Abstract::isOptions","yaf-request-abstract.isoptions","refentry"],["Yaf_Request_Abstract::isPost","yaf-request-abstract.ispost","refentry"],["Yaf_Request_Abstract::isPut","yaf-request-abstract.isput","refentry"],["Yaf_Request_Abstract::isRouted","yaf-request-abstract.isrouted","refentry"],["Yaf_Request_Abstract::isXmlHttpRequest","yaf-request-abstract.isxmlhttprequest","refentry"],["Yaf_Request_Abstract::setActionName","yaf-request-abstract.setactionname","refentry"],["Yaf_Request_Abstract::setBaseUri","yaf-request-abstract.setbaseuri","refentry"],["Yaf_Request_Abstract::setControllerName","yaf-request-abstract.setcontrollername","refentry"],["Yaf_Request_Abstract::setDispatched","yaf-request-abstract.setdispatched","refentry"],["Yaf_Request_Abstract::setModuleName","yaf-request-abstract.setmodulename","refentry"],["Yaf_Request_Abstract::setParam","yaf-request-abstract.setparam","refentry"],["Yaf_Request_Abstract::setRequestUri","yaf-request-abstract.setrequesturi","refentry"],["Yaf_Request_Abstract::setRouted","yaf-request-abstract.setrouted","refentry"],["Yaf_Request_Abstract","class.yaf-request-abstract","phpdoc:classref"],["","class.yaf-request-http","section"],["","class.yaf-request-http","section"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","varlistentry"],["","class.yaf-request-http","section"],["Yaf_Request_Http::__clone","yaf-request-http.clone","refentry"],["Yaf_Request_Http::__construct","yaf-request-http.construct","refentry"],["Yaf_Request_Http::get","yaf-request-http.get","refentry"],["Yaf_Request_Http::getCookie","yaf-request-http.getcookie","refentry"],["Yaf_Request_Http::getFiles","yaf-request-http.getfiles","refentry"],["Yaf_Request_Http::getPost","yaf-request-http.getpost","refentry"],["Yaf_Request_Http::getQuery","yaf-request-http.getquery","refentry"],["Yaf_Request_Http::getRequest","yaf-request-http.getrequest","refentry"],["Yaf_Request_Http::isXmlHttpRequest","yaf-request-http.isxmlhttprequest","refentry"],["Yaf_Request_Http","class.yaf-request-http","phpdoc:classref"],["","class.yaf-request-simple","section"],["","class.yaf-request-simple","section"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","section"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","varlistentry"],["","class.yaf-request-simple","section"],["Yaf_Request_Simple::__clone","yaf-request-simple.clone","refentry"],["Yaf_Request_Simple::__construct","yaf-request-simple.construct","refentry"],["Yaf_Request_Simple::get","yaf-request-simple.get","refentry"],["Yaf_Request_Simple::getCookie","yaf-request-simple.getcookie","refentry"],["Yaf_Request_Simple::getFiles","yaf-request-simple.getfiles","refentry"],["Yaf_Request_Simple::getPost","yaf-request-simple.getpost","refentry"],["Yaf_Request_Simple::getQuery","yaf-request-simple.getquery","refentry"],["Yaf_Request_Simple::getRequest","yaf-request-simple.getrequest","refentry"],["Yaf_Request_Simple::isXmlHttpRequest","yaf-request-simple.isxmlhttprequest","refentry"],["Yaf_Request_Simple","class.yaf-request-simple","phpdoc:classref"],["","class.yaf-response-abstract","section"],["","class.yaf-response-abstract","section"],["","class.yaf-response-abstract","varlistentry"],["","class.yaf-response-abstract","varlistentry"],["","class.yaf-response-abstract","varlistentry"],["","class.yaf-response-abstract","section"],["","yaf-response-abstract.appendbody","example"],["Yaf_Response_Abstract::appendBody","yaf-response-abstract.appendbody","refentry"],["Yaf_Response_Abstract::clearBody","yaf-response-abstract.clearbody","refentry"],["Yaf_Response_Abstract::clearHeaders","yaf-response-abstract.clearheaders","refentry"],["Yaf_Response_Abstract::__clone","yaf-response-abstract.clone","refentry"],["Yaf_Response_Abstract::__construct","yaf-response-abstract.construct","refentry"],["Yaf_Response_Abstract::__destruct","yaf-response-abstract.destruct","refentry"],["","yaf-response-abstract.getbody","example"],["Yaf_Response_Abstract::getBody","yaf-response-abstract.getbody","refentry"],["Yaf_Response_Abstract::getHeader","yaf-response-abstract.getheader","refentry"],["","yaf-response-abstract.prependbody","example"],["Yaf_Response_Abstract::prependBody","yaf-response-abstract.prependbody","refentry"],["","yaf-response-abstract.response","example"],["Yaf_Response_Abstract::response","yaf-response-abstract.response","refentry"],["Yaf_Response_Abstract::setAllHeaders","yaf-response-abstract.setallheaders","refentry"],["","yaf-response-abstract.setbody","example"],["Yaf_Response_Abstract::setBody","yaf-response-abstract.setbody","refentry"],["Yaf_Response_Abstract::setHeader","yaf-response-abstract.setheader","refentry"],["Yaf_Response_Abstract::setRedirect","yaf-response-abstract.setredirect","refentry"],["Yaf_Response_Abstract::__toString","yaf-response-abstract.tostring","refentry"],["Yaf_Response_Abstract","class.yaf-response-abstract","phpdoc:classref"],["","class.yaf-route-interface","section"],["","class.yaf-route-interface","section"],["Yaf_Route_Interface::route","yaf-route-interface.route","refentry"],["Yaf_Route_Interface","class.yaf-route-interface","phpdoc:classref"],["","class.yaf-route-map","section"],["","class.yaf-route-map","section"],["","class.yaf-route-map","varlistentry"],["","class.yaf-route-map","varlistentry"],["","class.yaf-route-map","section"],["","yaf-route-map.construct","example"],["","yaf-route-map.construct","example"],["","yaf-route-map.construct","example"],["Yaf_Route_Map::__construct","yaf-route-map.construct","refentry"],["Yaf_Route_Map::route","yaf-route-map.route","refentry"],["Yaf_Route_Map","class.yaf-route-map","phpdoc:classref"],["","class.yaf-route-regex","section"],["","class.yaf-route-regex","section"],["","class.yaf-route-regex","varlistentry"],["","class.yaf-route-regex","varlistentry"],["","class.yaf-route-regex","varlistentry"],["","class.yaf-route-regex","varlistentry"],["","class.yaf-route-regex","section"],["","yaf-route-regex.construct","example"],["","yaf-route-regex.construct","example"],["Yaf_Route_Regex::__construct","yaf-route-regex.construct","refentry"],["Yaf_Route_Regex::route","yaf-route-regex.route","refentry"],["Yaf_Route_Regex","class.yaf-route-regex","phpdoc:classref"],["","class.yaf-route-rewrite","section"],["","class.yaf-route-rewrite","section"],["","class.yaf-route-rewrite","varlistentry"],["","class.yaf-route-rewrite","varlistentry"],["","class.yaf-route-rewrite","varlistentry"],["","class.yaf-route-rewrite","section"],["","yaf-route-rewrite.construct","example"],["","yaf-route-rewrite.construct","example"],["Yaf_Route_Rewrite::__construct","yaf-route-rewrite.construct","refentry"],["Yaf_Route_Rewrite::route","yaf-route-rewrite.route","refentry"],["Yaf_Route_Rewrite","class.yaf-route-rewrite","phpdoc:classref"],["","class.yaf-router","example"],["","class.yaf-router","example"],["","class.yaf-router","example"],["","class.yaf-router","example"],["","class.yaf-router","section"],["","class.yaf-router","example"],["","class.yaf-router","section"],["","class.yaf-router","section"],["","class.yaf-router","varlistentry"],["","class.yaf-router","varlistentry"],["","class.yaf-router","section"],["","yaf-router.addconfig","example"],["","yaf-router.addconfig","example"],["Yaf_Router::addConfig","yaf-router.addconfig","refentry"],["","yaf-router.addroute","example"],["Yaf_Router::addRoute","yaf-router.addroute","refentry"],["Yaf_Router::__construct","yaf-router.construct","refentry"],["","yaf-router.getcurrentroute","example"],["","yaf-router.getcurrentroute","example"],["Yaf_Router::getCurrentRoute","yaf-router.getcurrentroute","refentry"],["Yaf_Router::getRoute","yaf-router.getroute","refentry"],["Yaf_Router::getRoutes","yaf-router.getroutes","refentry"],["Yaf_Router::route","yaf-router.route","refentry"],["Yaf_Router","class.yaf-router","phpdoc:classref"],["","class.yaf-route-simple","section"],["","class.yaf-route-simple","section"],["","class.yaf-route-simple","varlistentry"],["","class.yaf-route-simple","varlistentry"],["","class.yaf-route-simple","varlistentry"],["","class.yaf-route-simple","section"],["","yaf-route-simple.construct","example"],["","yaf-route-simple.construct","example"],["Yaf_Route_Simple::__construct","yaf-route-simple.construct","refentry"],["Yaf_Route_Simple::route","yaf-route-simple.route","refentry"],["Yaf_Route_Simple","class.yaf-route-simple","phpdoc:classref"],["","class.yaf-route-static","section"],["","class.yaf-route-static","section"],["Yaf_Route_Static::match","yaf-route-static.match","refentry"],["","yaf-route-static.route","example"],["Yaf_Route_Static::route","yaf-route-static.route","refentry"],["Yaf_Route_Static","class.yaf-route-static","phpdoc:classref"],["","class.yaf-route-supervar","section"],["","class.yaf-route-supervar","section"],["","class.yaf-route-supervar","varlistentry"],["","class.yaf-route-supervar","section"],["","yaf-route-supervar.construct","example"],["Yaf_Route_Supervar::__construct","yaf-route-supervar.construct","refentry"],["Yaf_Route_Supervar::route","yaf-route-supervar.route","refentry"],["Yaf_Route_Supervar","class.yaf-route-supervar","phpdoc:classref"],["","class.yaf-session","section"],["","class.yaf-session","section"],["","class.yaf-session","varlistentry"],["","class.yaf-session","varlistentry"],["","class.yaf-session","varlistentry"],["","class.yaf-session","section"],["Yaf_Session::__clone","yaf-session.clone","refentry"],["Yaf_Session::__construct","yaf-session.construct","refentry"],["Yaf_Session::count","yaf-session.count","refentry"],["Yaf_Session::current","yaf-session.current","refentry"],["Yaf_Session::del","yaf-session.del","refentry"],["Yaf_Session::__get","yaf-session.get","refentry"],["Yaf_Session::getInstance","yaf-session.getinstance","refentry"],["Yaf_Session::has","yaf-session.has","refentry"],["Yaf_Session::__isset","yaf-session.isset","refentry"],["Yaf_Session::key","yaf-session.key","refentry"],["Yaf_Session::next","yaf-session.next","refentry"],["Yaf_Session::offsetExists","yaf-session.offsetexists","refentry"],["Yaf_Session::offsetGet","yaf-session.offsetget","refentry"],["Yaf_Session::offsetSet","yaf-session.offsetset","refentry"],["Yaf_Session::offsetUnset","yaf-session.offsetunset","refentry"],["Yaf_Session::rewind","yaf-session.rewind","refentry"],["Yaf_Session::__set","yaf-session.set","refentry"],["Yaf_Session::__sleep","yaf-session.sleep","refentry"],["Yaf_Session::start","yaf-session.start","refentry"],["Yaf_Session::__unset","yaf-session.unset","refentry"],["Yaf_Session::valid","yaf-session.valid","refentry"],["Yaf_Session::__wakeup","yaf-session.wakeup","refentry"],["Yaf_Session","class.yaf-session","phpdoc:classref"],["","class.yaf-exception","section"],["","class.yaf-exception","section"],["Yaf_Exception::__construct","yaf-exception.construct","refentry"],["Yaf_Exception::getPrevious","yaf-exception.getprevious","refentry"],["Yaf_Exception","class.yaf-exception","phpdoc:classref"],["","class.yaf-exception-typeerror","section"],["","class.yaf-exception-typeerror","section"],["Yaf_Exception_TypeError","class.yaf-exception-typeerror","phpdoc:classref"],["","class.yaf-exception-startuperror","section"],["","class.yaf-exception-startuperror","section"],["Yaf_Exception_StartupError","class.yaf-exception-startuperror","phpdoc:classref"],["","class.yaf-exception-dispatchfailed","section"],["","class.yaf-exception-dispatchfailed","section"],["Yaf_Exception_DispatchFailed","class.yaf-exception-dispatchfailed","phpdoc:classref"],["","class.yaf-exception-routerfailed","section"],["","class.yaf-exception-routerfailed","section"],["Yaf_Exception_RouterFailed","class.yaf-exception-routerfailed","phpdoc:classref"],["","class.yaf-exception-loadfailed","section"],["","class.yaf-exception-loadfailed","section"],["Yaf_Exception_LoadFailed","class.yaf-exception-loadfailed","phpdoc:classref"],["","class.yaf-exception-loadfailed-module","section"],["","class.yaf-exception-loadfailed-module","section"],["Yaf_Exception_LoadFailed_Module","class.yaf-exception-loadfailed-module","phpdoc:classref"],["","class.yaf-exception-loadfailed-controller","section"],["","class.yaf-exception-loadfailed-controller","section"],["Yaf_Exception_LoadFailed_Controller","class.yaf-exception-loadfailed-controller","phpdoc:classref"],["","class.yaf-exception-loadfailed-action","section"],["","class.yaf-exception-loadfailed-action","section"],["Yaf_Exception_LoadFailed_Action","class.yaf-exception-loadfailed-action","phpdoc:classref"],["","class.yaf-exception-loadfailed-view","section"],["","class.yaf-exception-loadfailed-view","section"],["Yaf_Exception_LoadFailed_View","class.yaf-exception-loadfailed-view","phpdoc:classref"],["Yaf","book.yaf","book"],["","intro.taint","example"],["","intro.taint","preface"],["","taint.requirements","section"],["","taint.installation","section"],["","taint.configuration","varlistentry"],["","taint.configuration","varlistentry"],["","taint.configuration","section"],["","taint.resources","section"],["","taint.setup","chapter"],["","taint.detail.basic","section"],["","taint.detail.taint","section"],["","taint.detail.untaint","section"],["","taint.detail","chapter"],["is_tainted","function.is-tainted","refentry"],["taint","function.taint","refentry"],["untaint","function.untaint","refentry"],["","ref.taint","reference"],["Taint","book.taint","book"],["","refs.basic.other","set"],["","intro.amqp","preface"],["","amqp.requirements","section"],["","amqp.installation","section"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","varlistentry"],["","amqp.configuration","section"],["","amqp.resources","section"],["","amqp.setup","chapter"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","varlistentry"],["","amqp.constants","appendix"],["","amqp.examples","example"],["","amqp.examples","chapter"],["","class.amqpconnection","section"],["","class.amqpconnection","section"],["","amqpconnection.connect","example"],["AMQPConnection::connect","amqpconnection.connect","refentry"],["","amqpconnection.construct","example"],["AMQPConnection::__construct","amqpconnection.construct","refentry"],["","amqpconnection.disconnect","example"],["AMQPConnection::disconnect","amqpconnection.disconnect","refentry"],["AMQPConnection::getHost","amqpconnection.gethost","refentry"],["AMQPConnection::getLogin","amqpconnection.getlogin","refentry"],["AMQPConnection::getPassword","amqpconnection.getpassword","refentry"],["AMQPConnection::getPort","amqpconnection.getport","refentry"],["AMQPConnection::getTimeout","amqpconnection.gettimeout","refentry"],["AMQPConnection::getVhost","amqpconnection.getvhost","refentry"],["","amqpconnection.isconnected","example"],["AMQPConnection::isConnected","amqpconnection.isconnected","refentry"],["","amqpconnection.reconnect","example"],["AMQPConnection::reconnect","amqpconnection.reconnect","refentry"],["","amqpconnection.sethost","example"],["AMQPConnection::setHost","amqpconnection.sethost","refentry"],["","amqpconnection.setlogin","example"],["AMQPConnection::setLogin","amqpconnection.setlogin","refentry"],["","amqpconnection.setpassword","example"],["AMQPConnection::setPassword","amqpconnection.setpassword","refentry"],["","amqpconnection.setport","example"],["AMQPConnection::setPort","amqpconnection.setport","refentry"],["","amqpconnection.settimeout","example"],["AMQPConnection::setTimeout","amqpconnection.settimeout","refentry"],["","amqpconnection.setvhost","example"],["AMQPConnection::setVhost","amqpconnection.setvhost","refentry"],["AMQPConnection","class.amqpconnection","phpdoc:classref"],["","class.amqpchannel","section"],["","class.amqpchannel","section"],["AMQPChannel::commitTransaction","amqpchannel.committransaction","refentry"],["AMQPChannel::__construct","amqpchannel.construct","refentry"],["AMQPChannel::isConnected","amqpchannel.isconnected","refentry"],["AMQPChannel::qos","amqpchannel.qos","refentry"],["AMQPChannel::rollbackTransaction","amqpchannel.rollbacktransaction","refentry"],["AMQPChannel::setPrefetchCount","amqpchannel.setprefetchcount","refentry"],["AMQPChannel::setPrefetchSize","amqpchannel.setprefetchsize","refentry"],["AMQPChannel::startTransaction","amqpchannel.starttransaction","refentry"],["AMQPChannel","class.amqpchannel","phpdoc:classref"],["","class.amqpexchange","section"],["","class.amqpexchange","section"],["AMQPExchange::bind","amqpexchange.bind","refentry"],["AMQPExchange::__construct","amqpexchange.construct","refentry"],["","amqpexchange.declare","example"],["AMQPExchange::declare","amqpexchange.declare","refentry"],["","amqpexchange.delete","example"],["AMQPExchange::delete","amqpexchange.delete","refentry"],["AMQPExchange::getArgument","amqpexchange.getargument","refentry"],["AMQPExchange::getArguments","amqpexchange.getarguments","refentry"],["AMQPExchange::getFlags","amqpexchange.getflags","refentry"],["AMQPExchange::getName","amqpexchange.getname","refentry"],["AMQPExchange::getType","amqpexchange.gettype","refentry"],["AMQPExchange::publish","amqpexchange.publish","refentry"],["AMQPExchange::setArgument","amqpexchange.setargument","refentry"],["AMQPExchange::setArguments","amqpexchange.setarguments","refentry"],["AMQPExchange::setFlags","amqpexchange.setflags","refentry"],["AMQPExchange::setName","amqpexchange.setname","refentry"],["AMQPExchange::setType","amqpexchange.settype","refentry"],["AMQPExchange","class.amqpexchange","phpdoc:classref"],["","class.amqpqueue","section"],["","class.amqpqueue","section"],["","amqpqueue.ack","example"],["","amqpqueue.ack","example"],["AMQPQueue::ack","amqpqueue.ack","refentry"],["AMQPQueue::bind","amqpqueue.bind","refentry"],["AMQPQueue::cancel","amqpqueue.cancel","refentry"],["AMQPQueue::__construct","amqpqueue.construct","refentry"],["","amqpqueue.consume","example"],["AMQPQueue::consume","amqpqueue.consume","refentry"],["AMQPQueue::declare","amqpqueue.declare","refentry"],["AMQPQueue::delete","amqpqueue.delete","refentry"],["","amqpqueue.get","example"],["AMQPQueue::get","amqpqueue.get","refentry"],["AMQPQueue::getArgument","amqpqueue.getargument","refentry"],["AMQPQueue::getArguments","amqpqueue.getarguments","refentry"],["AMQPQueue::getFlags","amqpqueue.getflags","refentry"],["AMQPQueue::getName","amqpqueue.getname","refentry"],["AMQPQueue::nack","amqpqueue.nack","refentry"],["AMQPQueue::purge","amqpqueue.purge","refentry"],["AMQPQueue::setArgument","amqpqueue.setargument","refentry"],["AMQPQueue::setArguments","amqpqueue.setarguments","refentry"],["AMQPQueue::setFlags","amqpqueue.setflags","refentry"],["AMQPQueue::setName","amqpqueue.setname","refentry"],["AMQPQueue::unbind","amqpqueue.unbind","refentry"],["AMQPQueue","class.amqpqueue","phpdoc:classref"],["","class.amqpenvelope","section"],["","class.amqpenvelope","section"],["AMQPEnvelope::getAppId","amqpenvelope.getappid","refentry"],["AMQPEnvelope::getBody","amqpenvelope.getbody","refentry"],["AMQPEnvelope::getContentEncoding","amqpenvelope.getcontentencoding","refentry"],["AMQPEnvelope::getContentType","amqpenvelope.getcontenttype","refentry"],["AMQPEnvelope::getCorrelationId","amqpenvelope.getcorrelationid","refentry"],["AMQPEnvelope::getDeliveryTag","amqpenvelope.getdeliverytag","refentry"],["AMQPEnvelope::getExchange","amqpenvelope.getexchange","refentry"],["AMQPEnvelope::getExpiration","amqpenvelope.getexpiration","refentry"],["AMQPEnvelope::getHeader","amqpenvelope.getheader","refentry"],["AMQPEnvelope::getHeaders","amqpenvelope.getheaders","refentry"],["AMQPEnvelope::getMessageId","amqpenvelope.getmessageid","refentry"],["AMQPEnvelope::getPriority","amqpenvelope.getpriority","refentry"],["AMQPEnvelope::getReplyTo","amqpenvelope.getreplyto","refentry"],["AMQPEnvelope::getRoutingKey","amqpenvelope.getroutingkey","refentry"],["AMQPEnvelope::getTimeStamp","amqpenvelope.gettimestamp","refentry"],["AMQPEnvelope::getType","amqpenvelope.gettype","refentry"],["AMQPEnvelope::getUserId","amqpenvelope.getuserid","refentry"],["AMQPEnvelope::isRedelivery","amqpenvelope.isredelivery","refentry"],["AMQPEnvelope","class.amqpenvelope","phpdoc:classref"],["AMQP","book.amqp","book"],["","intro.chdb","preface"],["","chdb.requirements","section"],["","chdb.installation","section"],["","chdb.configuration","section"],["","chdb.resources","section"],["","chdb.setup","chapter"],["","chdb.constants","appendix"],["","chdb.examples","example"],["","chdb.examples","example"],["","chdb.examples","chapter"],["","class.chdb","section"],["","class.chdb","section"],["chdb::__construct","chdb.construct","refentry"],["","chdb.get","example"],["chdb::get","chdb.get","refentry"],["chdb","class.chdb","phpdoc:classref"],["","function.chdb-create","example"],["chdb_create","function.chdb-create","refentry"],["","ref.chdb","reference"],["chdb","book.chdb","book"],["","intro.curl","preface"],["","curl.requirements","section"],["","curl.installation","section"],["","curl.configuration","varlistentry"],["","curl.configuration","section"],["","curl.resources","section"],["","curl.setup","chapter"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","varlistentry"],["","curl.constants","appendix"],["","curl.examples-basic","example"],["","curl.examples-basic","section"],["","curl.examples","chapter"],["","function.curl-close","example"],["curl_close","function.curl-close","refentry"],["","function.curl-copy-handle","example"],["curl_copy_handle","function.curl-copy-handle","refentry"],["","function.curl-errno","example"],["curl_errno","function.curl-errno","refentry"],["","function.curl-error","example"],["curl_error","function.curl-error","refentry"],["","function.curl-escape","example"],["curl_escape","function.curl-escape","refentry"],["","function.curl-exec","example"],["curl_exec","function.curl-exec","refentry"],["curl_file_create","function.curl-file-create","refentry"],["","function.curl-getinfo","example"],["curl_getinfo","function.curl-getinfo","refentry"],["","function.curl-init","example"],["curl_init","function.curl-init","refentry"],["","function.curl-multi-add-handle","example"],["curl_multi_add_handle","function.curl-multi-add-handle","refentry"],["","function.curl-multi-close","example"],["curl_multi_close","function.curl-multi-close","refentry"],["","function.curl-multi-exec","example"],["curl_multi_exec","function.curl-multi-exec","refentry"],["curl_multi_getcontent","function.curl-multi-getcontent","refentry"],["","function.curl-multi-info-read","example"],["curl_multi_info_read","function.curl-multi-info-read","refentry"],["","function.curl-multi-init","example"],["curl_multi_init","function.curl-multi-init","refentry"],["curl_multi_remove_handle","function.curl-multi-remove-handle","refentry"],["curl_multi_select","function.curl-multi-select","refentry"],["curl_multi_setopt","function.curl-multi-setopt","refentry"],["","function.curl-multi-strerror","example"],["curl_multi_strerror","function.curl-multi-strerror","refentry"],["curl_pause","function.curl-pause","refentry"],["","function.curl-reset","example"],["curl_reset","function.curl-reset","refentry"],["","function.curl-setopt-array","example"],["","function.curl-setopt-array","example"],["curl_setopt_array","function.curl-setopt-array","refentry"],["","function.curl-setopt","example"],["","function.curl-setopt","example"],["curl_setopt","function.curl-setopt","refentry"],["","function.curl-share-close","example"],["curl_share_close","function.curl-share-close","refentry"],["","function.curl-share-init","example"],["curl_share_init","function.curl-share-init","refentry"],["","function.curl-share-setopt","example"],["curl_share_setopt","function.curl-share-setopt","refentry"],["","function.curl-strerror","example"],["curl_strerror","function.curl-strerror","refentry"],["","function.curl-unescape","example"],["curl_unescape","function.curl-unescape","refentry"],["","function.curl-version","example"],["curl_version","function.curl-version","refentry"],["","ref.curl","reference"],["","class.curlfile","section"],["","class.curlfile","section"],["","class.curlfile","varlistentry"],["","class.curlfile","varlistentry"],["","class.curlfile","varlistentry"],["","class.curlfile","section"],["","curlfile.construct","example"],["CURLFile::__construct","curlfile.construct","refentry"],["CURLFile::getFilename","curlfile.getfilename","refentry"],["CURLFile::getMimeType","curlfile.getmimetype","refentry"],["CURLFile::getPostFilename","curlfile.getpostfilename","refentry"],["CURLFile::setMimeType","curlfile.setmimetype","refentry"],["CURLFile::setPostFilename","curlfile.setpostfilename","refentry"],["CURLFile::__wakeup","curlfile.wakeup","refentry"],["CURLFile","class.curlfile","phpdoc:classref"],["cURL","book.curl","book"],["","intro.event","preface"],["","event.requirements","section"],["","event.installation","section"],["","event.configuration","section"],["","event.resources","section"],["","event.setup","chapter"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","example"],["","event.examples","chapter"],["","event.flags","chapter"],["","event.persistence","chapter"],["","event.callbacks","chapter"],["","event.constructing.signal.events","example"],["","event.constructing.signal.events","chapter"],["","class.event","section"],["","class.event","section"],["","class.event","varlistentry"],["","class.event","section"],["","class.event","varlistentry"],["","class.event","varlistentry"],["","class.event","varlistentry"],["","class.event","varlistentry"],["","class.event","varlistentry"],["","class.event","varlistentry"],["","class.event","section"],["Event::add","event.add","refentry"],["","event.addsignal","example"],["Event::addSignal","event.addsignal","refentry"],["","event.addtimer","example"],["Event::addTimer","event.addtimer","refentry"],["Event::__construct","event.construct","refentry"],["Event::del","event.del","refentry"],["Event::delSignal","event.delsignal","refentry"],["Event::delTimer","event.deltimer","refentry"],["Event::free","event.free","refentry"],["Event::getSupportedMethods","event.getsupportedmethods","refentry"],["Event::pending","event.pending","refentry"],["Event::set","event.set","refentry"],["Event::setPriority","event.setpriority","refentry"],["Event::setTimer","event.settimer","refentry"],["Event::signal","event.signal","refentry"],["Event::timer","event.timer","refentry"],["Event","class.event","phpdoc:classref"],["","class.eventbase","warning"],["","class.eventbase","section"],["","class.eventbase","section"],["","class.eventbase","varlistentry"],["","class.eventbase","varlistentry"],["","class.eventbase","varlistentry"],["","class.eventbase","varlistentry"],["","class.eventbase","varlistentry"],["","class.eventbase","varlistentry"],["","class.eventbase","section"],["EventBase::__construct","eventbase.construct","refentry"],["EventBase::dispatch","eventbase.dispatch","refentry"],["EventBase::exit","eventbase.exit","refentry"],["","eventbase.getfeatures","example"],["EventBase::getFeatures","eventbase.getfeatures","refentry"],["","eventbase.getmethod","example"],["EventBase::getMethod","eventbase.getmethod","refentry"],["EventBase::getTimeOfDayCached","eventbase.gettimeofdaycached","refentry"],["EventBase::gotExit","eventbase.gotexit","refentry"],["EventBase::gotStop","eventbase.gotstop","refentry"],["EventBase::loop","eventbase.loop","refentry"],["EventBase::priorityInit","eventbase.priorityinit","refentry"],["EventBase::reInit","eventbase.reinit","refentry"],["EventBase::stop","eventbase.stop","refentry"],["EventBase","class.eventbase","phpdoc:classref"],["","class.eventbuffer","section"],["","class.eventbuffer","section"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","section"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","varlistentry"],["","class.eventbuffer","section"],["EventBuffer::add","eventbuffer.add","refentry"],["EventBuffer::addBuffer","eventbuffer.addbuffer","refentry"],["EventBuffer::appendFrom","eventbuffer.appendfrom","refentry"],["EventBuffer::__construct","eventbuffer.construct","refentry"],["EventBuffer::copyout","eventbuffer.copyout","refentry"],["EventBuffer::drain","eventbuffer.drain","refentry"],["EventBuffer::enableLocking","eventbuffer.enablelocking","refentry"],["EventBuffer::expand","eventbuffer.expand","refentry"],["EventBuffer::freeze","eventbuffer.freeze","refentry"],["EventBuffer::lock","eventbuffer.lock","refentry"],["EventBuffer::prepend","eventbuffer.prepend","refentry"],["EventBuffer::prependBuffer","eventbuffer.prependbuffer","refentry"],["EventBuffer::pullup","eventbuffer.pullup","refentry"],["EventBuffer::read","eventbuffer.read","refentry"],["EventBuffer::readFrom","eventbuffer.readfrom","refentry"],["EventBuffer::readLine","eventbuffer.readline","refentry"],["","eventbuffer.search","example"],["EventBuffer::search","eventbuffer.search","refentry"],["EventBuffer::searchEol","eventbuffer.searcheol","refentry"],["EventBuffer::substr","eventbuffer.substr","refentry"],["EventBuffer::unfreeze","eventbuffer.unfreeze","refentry"],["EventBuffer::unlock","eventbuffer.unlock","refentry"],["EventBuffer::write","eventbuffer.write","refentry"],["EventBuffer","class.eventbuffer","phpdoc:classref"],["","class.eventbufferevent","section"],["","class.eventbufferevent","section"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","section"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","varlistentry"],["","class.eventbufferevent","section"],["","eventbufferevent.connect","example"],["","eventbufferevent.connect","example"],["EventBufferEvent::connect","eventbufferevent.connect","refentry"],["","eventbufferevent.connecthost","example"],["EventBufferEvent::connectHost","eventbufferevent.connecthost","refentry"],["EventBufferEvent::__construct","eventbufferevent.construct","refentry"],["EventBufferEvent::createPair","eventbufferevent.createpair","refentry"],["EventBufferEvent::disable","eventbufferevent.disable","refentry"],["EventBufferEvent::enable","eventbufferevent.enable","refentry"],["EventBufferEvent::free","eventbufferevent.free","refentry"],["EventBufferEvent::getDnsErrorString","eventbufferevent.getdnserrorstring","refentry"],["EventBufferEvent::getEnabled","eventbufferevent.getenabled","refentry"],["","eventbufferevent.getinput","example"],["EventBufferEvent::getInput","eventbufferevent.getinput","refentry"],["","eventbufferevent.getoutput","example"],["EventBufferEvent::getOutput","eventbufferevent.getoutput","refentry"],["EventBufferEvent::read","eventbufferevent.read","refentry"],["EventBufferEvent::readBuffer","eventbufferevent.readbuffer","refentry"],["EventBufferEvent::setCallbacks","eventbufferevent.setcallbacks","refentry"],["EventBufferEvent::setPriority","eventbufferevent.setpriority","refentry"],["EventBufferEvent::setTimeouts","eventbufferevent.settimeouts","refentry"],["EventBufferEvent::setWatermark","eventbufferevent.setwatermark","refentry"],["","eventbufferevent.sslerror","example"],["EventBufferEvent::sslError","eventbufferevent.sslerror","refentry"],["","eventbufferevent.sslfilter","example"],["EventBufferEvent::sslFilter","eventbufferevent.sslfilter","refentry"],["EventBufferEvent::sslRenegotiate","eventbufferevent.sslrenegotiate","refentry"],["EventBufferEvent::sslSocket","eventbufferevent.sslsocket","refentry"],["EventBufferEvent::write","eventbufferevent.write","refentry"],["EventBufferEvent::writeBuffer","eventbufferevent.writebuffer","refentry"],["EventBufferEvent","class.eventbufferevent","phpdoc:classref"],["","eventbufferevent.about.callbacks","chapter"],["","class.eventconfig","section"],["","class.eventconfig","section"],["","class.eventconfig","varlistentry"],["","class.eventconfig","varlistentry"],["","class.eventconfig","varlistentry"],["","class.eventconfig","section"],["","eventconfig.avoidmethod","example"],["EventConfig::avoidMethod","eventconfig.avoidmethod","refentry"],["","eventconfig.construct","example"],["EventConfig::__construct","eventconfig.construct","refentry"],["","eventconfig.requirefeatures","example"],["EventConfig::requireFeatures","eventconfig.requirefeatures","refentry"],["EventConfig::setMaxDispatchInterval","eventconfig.setmaxdispatchinterval","refentry"],["EventConfig","class.eventconfig","phpdoc:classref"],["","class.eventdnsbase","section"],["","class.eventdnsbase","section"],["","class.eventdnsbase","varlistentry"],["","class.eventdnsbase","varlistentry"],["","class.eventdnsbase","varlistentry"],["","class.eventdnsbase","varlistentry"],["","class.eventdnsbase","varlistentry"],["","class.eventdnsbase","section"],["EventDnsBase::addNameserverIp","eventdnsbase.addnameserverip","refentry"],["EventDnsBase::addSearch","eventdnsbase.addsearch","refentry"],["EventDnsBase::clearSearch","eventdnsbase.clearsearch","refentry"],["EventDnsBase::__construct","eventdnsbase.construct","refentry"],["EventDnsBase::countNameservers","eventdnsbase.countnameservers","refentry"],["EventDnsBase::loadHosts","eventdnsbase.loadhosts","refentry"],["EventDnsBase::parseResolvConf","eventdnsbase.parseresolvconf","refentry"],["EventDnsBase::setOption","eventdnsbase.setoption","refentry"],["EventDnsBase::setSearchNdots","eventdnsbase.setsearchndots","refentry"],["EventDnsBase","class.eventdnsbase","phpdoc:classref"],["","class.eventhttp","section"],["","class.eventhttp","section"],["","eventhttp.accept","example"],["EventHttp::accept","eventhttp.accept","refentry"],["","eventhttp.addserveralias","example"],["EventHttp::addServerAlias","eventhttp.addserveralias","refentry"],["","eventhttp.bind","example"],["EventHttp::bind","eventhttp.bind","refentry"],["","eventhttp.construct","example"],["EventHttp::__construct","eventhttp.construct","refentry"],["EventHttp::removeServerAlias","eventhttp.removeserveralias","refentry"],["EventHttp::setAllowedMethods","eventhttp.setallowedmethods","refentry"],["","eventhttp.setcallback","example"],["EventHttp::setCallback","eventhttp.setcallback","refentry"],["","eventhttp.setdefaultcallback","example"],["EventHttp::setDefaultCallback","eventhttp.setdefaultcallback","refentry"],["EventHttp::setMaxBodySize","eventhttp.setmaxbodysize","refentry"],["EventHttp::setMaxHeadersSize","eventhttp.setmaxheaderssize","refentry"],["EventHttp::setTimeout","eventhttp.settimeout","refentry"],["EventHttp","class.eventhttp","phpdoc:classref"],["","class.eventhttpconnection","section"],["","class.eventhttpconnection","section"],["EventHttpConnection::__construct","eventhttpconnection.construct","refentry"],["EventHttpConnection::getBase","eventhttpconnection.getbase","refentry"],["EventHttpConnection::getPeer","eventhttpconnection.getpeer","refentry"],["","eventhttpconnection.makerequest","example"],["EventHttpConnection::makeRequest","eventhttpconnection.makerequest","refentry"],["","eventhttpconnection.setclosecallback","example"],["EventHttpConnection::setCloseCallback","eventhttpconnection.setclosecallback","refentry"],["EventHttpConnection::setLocalAddress","eventhttpconnection.setlocaladdress","refentry"],["EventHttpConnection::setLocalPort","eventhttpconnection.setlocalport","refentry"],["EventHttpConnection::setMaxBodySize","eventhttpconnection.setmaxbodysize","refentry"],["EventHttpConnection::setMaxHeadersSize","eventhttpconnection.setmaxheaderssize","refentry"],["EventHttpConnection::setRetries","eventhttpconnection.setretries","refentry"],["EventHttpConnection::setTimeout","eventhttpconnection.settimeout","refentry"],["EventHttpConnection","class.eventhttpconnection","phpdoc:classref"],["","class.eventhttprequest","section"],["","class.eventhttprequest","section"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","varlistentry"],["","class.eventhttprequest","section"],["EventHttpRequest::addHeader","eventhttprequest.addheader","refentry"],["EventHttpRequest::cancel","eventhttprequest.cancel","refentry"],["EventHttpRequest::clearHeaders","eventhttprequest.clearheaders","refentry"],["EventHttpRequest::closeConnection","eventhttprequest.closeconnection","refentry"],["","eventhttprequest.construct","example"],["EventHttpRequest::__construct","eventhttprequest.construct","refentry"],["EventHttpRequest::findHeader","eventhttprequest.findheader","refentry"],["EventHttpRequest::free","eventhttprequest.free","refentry"],["EventHttpRequest::getBufferEvent","eventhttprequest.getbufferevent","refentry"],["EventHttpRequest::getCommand","eventhttprequest.getcommand","refentry"],["EventHttpRequest::getConnection","eventhttprequest.getconnection","refentry"],["EventHttpRequest::getHost","eventhttprequest.gethost","refentry"],["EventHttpRequest::getInputBuffer","eventhttprequest.getinputbuffer","refentry"],["EventHttpRequest::getInputHeaders","eventhttprequest.getinputheaders","refentry"],["EventHttpRequest::getOutputBuffer","eventhttprequest.getoutputbuffer","refentry"],["EventHttpRequest::getOutputHeaders","eventhttprequest.getoutputheaders","refentry"],["EventHttpRequest::getResponseCode","eventhttprequest.getresponsecode","refentry"],["EventHttpRequest::getUri","eventhttprequest.geturi","refentry"],["EventHttpRequest::removeHeader","eventhttprequest.removeheader","refentry"],["","eventhttprequest.senderror","example"],["EventHttpRequest::sendError","eventhttprequest.senderror","refentry"],["EventHttpRequest::sendReply","eventhttprequest.sendreply","refentry"],["EventHttpRequest::sendReplyChunk","eventhttprequest.sendreplychunk","refentry"],["EventHttpRequest::sendReplyEnd","eventhttprequest.sendreplyend","refentry"],["EventHttpRequest::sendReplyStart","eventhttprequest.sendreplystart","refentry"],["EventHttpRequest","class.eventhttprequest","phpdoc:classref"],["","class.eventlistener","section"],["","class.eventlistener","section"],["","class.eventlistener","varlistentry"],["","class.eventlistener","section"],["","class.eventlistener","varlistentry"],["","class.eventlistener","varlistentry"],["","class.eventlistener","varlistentry"],["","class.eventlistener","varlistentry"],["","class.eventlistener","varlistentry"],["","class.eventlistener","section"],["","eventlistener.construct","example"],["EventListener::__construct","eventlistener.construct","refentry"],["EventListener::disable","eventlistener.disable","refentry"],["EventListener::enable","eventlistener.enable","refentry"],["EventListener::getBase","eventlistener.getbase","refentry"],["EventListener::getSocketName","eventlistener.getsocketname","refentry"],["EventListener::setCallback","eventlistener.setcallback","refentry"],["EventListener::setErrorCallback","eventlistener.seterrorcallback","refentry"],["EventListener","class.eventlistener","phpdoc:classref"],["","class.eventsslcontext","section"],["","class.eventsslcontext","section"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","section"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","varlistentry"],["","class.eventsslcontext","section"],["","eventsslcontext.construct","example"],["EventSslContext::__construct","eventsslcontext.construct","refentry"],["EventSslContext","class.eventsslcontext","phpdoc:classref"],["","class.eventutil","section"],["","class.eventutil","section"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","varlistentry"],["","class.eventutil","section"],["EventUtil::__construct","eventutil.construct","refentry"],["EventUtil::getLastSocketErrno","eventutil.getlastsocketerrno","refentry"],["EventUtil::getLastSocketError","eventutil.getlastsocketerror","refentry"],["EventUtil::getSocketFd","eventutil.getsocketfd","refentry"],["EventUtil::getSocketName","eventutil.getsocketname","refentry"],["EventUtil::setSocketOption","eventutil.setsocketoption","refentry"],["EventUtil::sslRandPoll","eventutil.sslrandpoll","refentry"],["EventUtil","class.eventutil","phpdoc:classref"],["Event","book.event","book"],["","intro.fam","preface"],["","fam.requirements","section"],["","fam.installation","section"],["","fam.configuration","section"],["","fam.resources","section"],["","fam.setup","chapter"],["","fam.constants","appendix"],["fam_cancel_monitor","function.fam-cancel-monitor","refentry"],["fam_close","function.fam-close","refentry"],["fam_monitor_collection","function.fam-monitor-collection","refentry"],["fam_monitor_directory","function.fam-monitor-directory","refentry"],["fam_monitor_file","function.fam-monitor-file","refentry"],["fam_next_event","function.fam-next-event","refentry"],["fam_open","function.fam-open","refentry"],["fam_pending","function.fam-pending","refentry"],["fam_resume_monitor","function.fam-resume-monitor","refentry"],["fam_suspend_monitor","function.fam-suspend-monitor","refentry"],["","ref.fam","reference"],["FAM","book.fam","book"],["","intro.ftp","preface"],["","ftp.requirements","section"],["","ftp.installation","section"],["","ftp.configuration","section"],["","ftp.resources","section"],["","ftp.setup","chapter"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","varlistentry"],["","ftp.constants","appendix"],["","ftp.examples-basic","example"],["","ftp.examples-basic","section"],["","ftp.examples","chapter"],["","function.ftp-alloc","example"],["ftp_alloc","function.ftp-alloc","refentry"],["","function.ftp-cdup","example"],["ftp_cdup","function.ftp-cdup","refentry"],["","function.ftp-chdir","example"],["ftp_chdir","function.ftp-chdir","refentry"],["","function.ftp-chmod","example"],["ftp_chmod","function.ftp-chmod","refentry"],["","function.ftp-close","example"],["ftp_close","function.ftp-close","refentry"],["","function.ftp-connect","example"],["ftp_connect","function.ftp-connect","refentry"],["","function.ftp-delete","example"],["ftp_delete","function.ftp-delete","refentry"],["","function.ftp-exec","example"],["ftp_exec","function.ftp-exec","refentry"],["","function.ftp-fget","example"],["ftp_fget","function.ftp-fget","refentry"],["","function.ftp-fput","example"],["ftp_fput","function.ftp-fput","refentry"],["","function.ftp-get-option","example"],["ftp_get_option","function.ftp-get-option","refentry"],["","function.ftp-get","example"],["ftp_get","function.ftp-get","refentry"],["","function.ftp-login","example"],["ftp_login","function.ftp-login","refentry"],["","function.ftp-mdtm","example"],["ftp_mdtm","function.ftp-mdtm","refentry"],["","function.ftp-mkdir","example"],["ftp_mkdir","function.ftp-mkdir","refentry"],["","function.ftp-nb-continue","example"],["ftp_nb_continue","function.ftp-nb-continue","refentry"],["","function.ftp-nb-fget","example"],["ftp_nb_fget","function.ftp-nb-fget","refentry"],["","function.ftp-nb-fput","example"],["ftp_nb_fput","function.ftp-nb-fput","refentry"],["","function.ftp-nb-get","example"],["","function.ftp-nb-get","example"],["","function.ftp-nb-get","example"],["ftp_nb_get","function.ftp-nb-get","refentry"],["","function.ftp-nb-put","example"],["","function.ftp-nb-put","example"],["ftp_nb_put","function.ftp-nb-put","refentry"],["","function.ftp-nlist","example"],["ftp_nlist","function.ftp-nlist","refentry"],["","function.ftp-pasv","example"],["ftp_pasv","function.ftp-pasv","refentry"],["","function.ftp-put","example"],["ftp_put","function.ftp-put","refentry"],["","function.ftp-pwd","example"],["ftp_pwd","function.ftp-pwd","refentry"],["ftp_quit","function.ftp-quit","refentry"],["","function.ftp-raw","example"],["ftp_raw","function.ftp-raw","refentry"],["","function.ftp-rawlist","example"],["ftp_rawlist","function.ftp-rawlist","refentry"],["","function.ftp-rename","example"],["ftp_rename","function.ftp-rename","refentry"],["","function.ftp-rmdir","example"],["ftp_rmdir","function.ftp-rmdir","refentry"],["","function.ftp-set-option","example"],["ftp_set_option","function.ftp-set-option","refentry"],["","function.ftp-site","example"],["ftp_site","function.ftp-site","refentry"],["","function.ftp-size","example"],["ftp_size","function.ftp-size","refentry"],["","function.ftp-ssl-connect","example"],["ftp_ssl_connect","function.ftp-ssl-connect","refentry"],["","function.ftp-systype","example"],["ftp_systype","function.ftp-systype","refentry"],["","ref.ftp","reference"],["","book.ftp","book"],["","intro.gearman","preface"],["","gearman.requirements","section"],["","gearman.installation","section"],["","gearman.configuration","section"],["","gearman.resources","section"],["","gearman.setup","chapter"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","varlistentry"],["","gearman.constants","appendix"],["","gearman.examples-reverse","example"],["","gearman.examples-reverse","section"],["","gearman.examples-reverse-bg","example"],["","gearman.examples-reverse-bg","section"],["","gearman.examples-reverse-task","example"],["","gearman.examples-reverse-task","section"],["","gearman.examples","chapter"],["","class.gearmanclient","section"],["","class.gearmanclient","section"],["GearmanClient::addOptions","gearmanclient.addoptions","refentry"],["","gearmanclient.addserver","example"],["GearmanClient::addServer","gearmanclient.addserver","refentry"],["","gearmanclient.addservers","example"],["GearmanClient::addServers","gearmanclient.addservers","refentry"],["","gearmanclient.addtask","example"],["","gearmanclient.addtask","example"],["GearmanClient::addTask","gearmanclient.addtask","refentry"],["","gearmanclient.addtaskbackground","example"],["GearmanClient::addTaskBackground","gearmanclient.addtaskbackground","refentry"],["","gearmanclient.addtaskhigh","example"],["GearmanClient::addTaskHigh","gearmanclient.addtaskhigh","refentry"],["GearmanClient::addTaskHighBackground","gearmanclient.addtaskhighbackground","refentry"],["","gearmanclient.addtasklow","example"],["GearmanClient::addTaskLow","gearmanclient.addtasklow","refentry"],["GearmanClient::addTaskLowBackground","gearmanclient.addtasklowbackground","refentry"],["","gearmanclient.addtaskstatus","example"],["GearmanClient::addTaskStatus","gearmanclient.addtaskstatus","refentry"],["GearmanClient::clearCallbacks","gearmanclient.clearcallbacks","refentry"],["GearmanClient::clone","gearmanclient.clone","refentry"],["GearmanClient::__construct","gearmanclient.construct","refentry"],["GearmanClient::context","gearmanclient.context","refentry"],["GearmanClient::data","gearmanclient.data","refentry"],["","gearmanclient.do","example"],["","gearmanclient.do","example"],["GearmanClient::do","gearmanclient.do","refentry"],["","gearmanclient.dobackground","example"],["GearmanClient::doBackground","gearmanclient.dobackground","refentry"],["GearmanClient::doHigh","gearmanclient.dohigh","refentry"],["GearmanClient::doHighBackground","gearmanclient.dohighbackground","refentry"],["GearmanClient::doJobHandle","gearmanclient.dojobhandle","refentry"],["GearmanClient::doLow","gearmanclient.dolow","refentry"],["GearmanClient::doLowBackground","gearmanclient.dolowbackground","refentry"],["","gearmanclient.donormal","example"],["","gearmanclient.donormal","example"],["GearmanClient::doNormal","gearmanclient.donormal","refentry"],["","gearmanclient.dostatus","example"],["GearmanClient::doStatus","gearmanclient.dostatus","refentry"],["GearmanClient::echo","gearmanclient.echo","refentry"],["GearmanClient::error","gearmanclient.error","refentry"],["GearmanClient::getErrno","gearmanclient.geterrno","refentry"],["","gearmanclient.jobstatus","example"],["GearmanClient::jobStatus","gearmanclient.jobstatus","refentry"],["GearmanClient::ping","gearmanclient.ping","refentry"],["GearmanClient::removeOptions","gearmanclient.removeoptions","refentry"],["GearmanClient::returnCode","gearmanclient.returncode","refentry"],["GearmanClient::runTasks","gearmanclient.runtasks","refentry"],["GearmanClient::setClientCallback","gearmanclient.setclientcallback","refentry"],["GearmanClient::setCompleteCallback","gearmanclient.setcompletecallback","refentry"],["GearmanClient::setContext","gearmanclient.setcontext","refentry"],["GearmanClient::setCreatedCallback","gearmanclient.setcreatedcallback","refentry"],["GearmanClient::setData","gearmanclient.setdata","refentry"],["GearmanClient::setDataCallback","gearmanclient.setdatacallback","refentry"],["GearmanClient::setExceptionCallback","gearmanclient.setexceptioncallback","refentry"],["GearmanClient::setFailCallback","gearmanclient.setfailcallback","refentry"],["GearmanClient::setOptions","gearmanclient.setoptions","refentry"],["GearmanClient::setStatusCallback","gearmanclient.setstatuscallback","refentry"],["GearmanClient::setTimeout","gearmanclient.settimeout","refentry"],["GearmanClient::setWarningCallback","gearmanclient.setwarningcallback","refentry"],["GearmanClient::setWorkloadCallback","gearmanclient.setworkloadcallback","refentry"],["GearmanClient::timeout","gearmanclient.timeout","refentry"],["GearmanClient","class.gearmanclient","phpdoc:classref"],["","class.gearmanjob","section"],["","class.gearmanjob","section"],["GearmanJob::complete","gearmanjob.complete","refentry"],["GearmanJob::__construct","gearmanjob.construct","refentry"],["GearmanJob::data","gearmanjob.data","refentry"],["GearmanJob::exception","gearmanjob.exception","refentry"],["GearmanJob::fail","gearmanjob.fail","refentry"],["GearmanJob::functionName","gearmanjob.functionname","refentry"],["GearmanJob::handle","gearmanjob.handle","refentry"],["GearmanJob::returnCode","gearmanjob.returncode","refentry"],["GearmanJob::sendComplete","gearmanjob.sendcomplete","refentry"],["GearmanJob::sendData","gearmanjob.senddata","refentry"],["GearmanJob::sendException","gearmanjob.sendexception","refentry"],["GearmanJob::sendFail","gearmanjob.sendfail","refentry"],["GearmanJob::sendStatus","gearmanjob.sendstatus","refentry"],["GearmanJob::sendWarning","gearmanjob.sendwarning","refentry"],["GearmanJob::setReturn","gearmanjob.setreturn","refentry"],["GearmanJob::status","gearmanjob.status","refentry"],["GearmanJob::unique","gearmanjob.unique","refentry"],["GearmanJob::warning","gearmanjob.warning","refentry"],["GearmanJob::workload","gearmanjob.workload","refentry"],["GearmanJob::workloadSize","gearmanjob.workloadsize","refentry"],["GearmanJob","class.gearmanjob","phpdoc:classref"],["","class.gearmantask","section"],["","class.gearmantask","section"],["GearmanTask::__construct","gearmantask.construct","refentry"],["GearmanTask::create","gearmantask.create","refentry"],["GearmanTask::data","gearmantask.data","refentry"],["GearmanTask::dataSize","gearmantask.datasize","refentry"],["GearmanTask::function","gearmantask.function","refentry"],["GearmanTask::functionName","gearmantask.functionname","refentry"],["GearmanTask::isKnown","gearmantask.isknown","refentry"],["GearmanTask::isRunning","gearmantask.isrunning","refentry"],["GearmanTask::jobHandle","gearmantask.jobhandle","refentry"],["GearmanTask::recvData","gearmantask.recvdata","refentry"],["GearmanTask::returnCode","gearmantask.returncode","refentry"],["GearmanTask::sendData","gearmantask.senddata","refentry"],["GearmanTask::sendWorkload","gearmantask.sendworkload","refentry"],["GearmanTask::taskDenominator","gearmantask.taskdenominator","refentry"],["GearmanTask::taskNumerator","gearmantask.tasknumerator","refentry"],["GearmanTask::unique","gearmantask.unique","refentry"],["GearmanTask::uuid","gearmantask.uuid","refentry"],["GearmanTask","class.gearmantask","phpdoc:classref"],["","class.gearmanworker","section"],["","class.gearmanworker","section"],["","gearmanworker.addfunction","example"],["GearmanWorker::addFunction","gearmanworker.addfunction","refentry"],["GearmanWorker::addOptions","gearmanworker.addoptions","refentry"],["","gearmanworker.addserver","example"],["GearmanWorker::addServer","gearmanworker.addserver","refentry"],["","gearmanworker.addservers","example"],["GearmanWorker::addServers","gearmanworker.addservers","refentry"],["GearmanWorker::clone","gearmanworker.clone","refentry"],["GearmanWorker::__construct","gearmanworker.construct","refentry"],["GearmanWorker::echo","gearmanworker.echo","refentry"],["GearmanWorker::error","gearmanworker.error","refentry"],["GearmanWorker::getErrno","gearmanworker.geterrno","refentry"],["GearmanWorker::options","gearmanworker.options","refentry"],["GearmanWorker::register","gearmanworker.register","refentry"],["GearmanWorker::removeOptions","gearmanworker.removeoptions","refentry"],["GearmanWorker::returnCode","gearmanworker.returncode","refentry"],["","function.func-name","example"],["GearmanWorker::setId","function.func-name","refentry"],["GearmanWorker::setOptions","gearmanworker.setoptions","refentry"],["","gearmanworker.settimeout","example"],["GearmanWorker::setTimeout","gearmanworker.settimeout","refentry"],["GearmanWorker::timeout","gearmanworker.timeout","refentry"],["GearmanWorker::unregister","gearmanworker.unregister","refentry"],["GearmanWorker::unregisterAll","gearmanworker.unregisterall","refentry"],["","gearmanworker.wait","example"],["GearmanWorker::wait","gearmanworker.wait","refentry"],["","gearmanworker.work","example"],["GearmanWorker::work","gearmanworker.work","refentry"],["GearmanWorker","class.gearmanworker","phpdoc:classref"],["","class.gearmanexception","section"],["","class.gearmanexception","section"],["GearmanException","class.gearmanexception","phpdoc:classref"],["Gearman","book.gearman","book"],["","intro.net-gopher","preface"],["","net-gopher.requirements","section"],["","net-gopher.install","section"],["","net-gopher.configuration","section"],["","net-gopher.resources","section"],["","net-gopher.setup","chapter"],["","net-gopher.constants","appendix"],["","net-gopher.examples-basic","section"],["","net-gopher.examples","chapter"],["","function.gopher-parsedir","example"],["","function.gopher-parsedir","example"],["gopher_parsedir","function.gopher-parsedir","refentry"],["","ref.net-gopher","reference"],["Gopher","book.net-gopher","book"],["","intro.gupnp","preface"],["","gupnp.requirements","section"],["","gupnp.installation","section"],["","gupnp.configuration","section"],["","gupnp.resources","section"],["","gupnp.setup","chapter"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","varlistentry"],["","gupnp.constants","appendix"],["","gupnp.browsing","example"],["","gupnp.browsing","section"],["","gupnp.binary-light","example"],["","gupnp.binary-light","example"],["","gupnp.binary-light","section"],["","gupnp.examples","chapter"],["","function.gupnp-context-get-host-ip","example"],["gupnp_context_get_host_ip","function.gupnp-context-get-host-ip","refentry"],["","function.gupnp-context-get-port","example"],["gupnp_context_get_port","function.gupnp-context-get-port","refentry"],["gupnp_context_get_subscription_timeout","function.gupnp-context-get-subscription-timeout","refentry"],["","function.gupnp-context-host-path","example"],["gupnp_context_host_path","function.gupnp-context-host-path","refentry"],["","function.gupnp-context-new","example"],["gupnp_context_new","function.gupnp-context-new","refentry"],["gupnp_context_set_subscription_timeout","function.gupnp-context-set-subscription-timeout","refentry"],["","function.gupnp-context-timeout-add","example"],["gupnp_context_timeout_add","function.gupnp-context-timeout-add","refentry"],["gupnp_context_unhost_path","function.gupnp-context-unhost-path","refentry"],["","function.gupnp-control-point-browse-start","example"],["gupnp_control_point_browse_start","function.gupnp-control-point-browse-start","refentry"],["gupnp_control_point_browse_stop","function.gupnp-control-point-browse-stop","refentry"],["","function.gupnp-control-point-callback-set","example"],["gupnp_control_point_callback_set","function.gupnp-control-point-callback-set","refentry"],["gupnp_control_point_new","function.gupnp-control-point-new","refentry"],["gupnp_device_action_callback_set","function.gupnp-device-action-callback-set","refentry"],["","function.gupnp-device-info-get-service","example"],["gupnp_device_info_get_service","function.gupnp-device-info-get-service","refentry"],["gupnp_device_info_get","function.gupnp-device-info-get","refentry"],["gupnp_root_device_get_available","function.gupnp-root-device-get-available","refentry"],["gupnp_root_device_get_relative_location","function.gupnp-root-device-get-relative-location","refentry"],["","function.gupnp-root-device-new","example"],["gupnp_root_device_new","function.gupnp-root-device-new","refentry"],["gupnp_root_device_set_available","function.gupnp-root-device-set-available","refentry"],["gupnp_root_device_start","function.gupnp-root-device-start","refentry"],["gupnp_root_device_stop","function.gupnp-root-device-stop","refentry"],["gupnp_service_action_get","function.gupnp-service-action-get","refentry"],["gupnp_service_action_return_error","function.gupnp-service-action-return-error","refentry"],["gupnp_service_action_return","function.gupnp-service-action-return","refentry"],["gupnp_service_action_set","function.gupnp-service-action-set","refentry"],["gupnp_service_freeze_notify","function.gupnp-service-freeze-notify","refentry"],["gupnp_service_info_get_introspection","function.gupnp-service-info-get-introspection","refentry"],["gupnp_service_info_get","function.gupnp-service-info-get","refentry"],["gupnp_service_introspection_get_state_variable","function.gupnp-service-introspection-get-state-variable","refentry"],["gupnp_service_notify","function.gupnp-service-notify","refentry"],["gupnp_service_proxy_action_get","function.gupnp-service-proxy-action-get","refentry"],["gupnp_service_proxy_action_set","function.gupnp-service-proxy-action-set","refentry"],["gupnp_service_proxy_add_notify","function.gupnp-service-proxy-add-notify","refentry"],["gupnp_service_proxy_callback_set","function.gupnp-service-proxy-callback-set","refentry"],["gupnp_service_proxy_get_subscribed","function.gupnp-service-proxy-get-subscribed","refentry"],["gupnp_service_proxy_remove_notify","function.gupnp-service-proxy-remove-notify","refentry"],["gupnp_service_proxy_send_action","gupnp-service-proxy-send-action","refentry"],["gupnp_service_proxy_set_subscribed","function.gupnp-service-proxy-set-subscribed","refentry"],["gupnp_service_thaw_notify","function.gupnp-service-thaw-notify","refentry"],["","ref.gupnp","reference"],["Gupnp","book.gupnp","book"],["","intro.http","preface"],["","http.requirements","section"],["","http.requirements","section"],["","http.requirements","section"],["","http.install","section"],["Installing the HTTP extension","http.install","section"],["","http.configuration","section"],["","http.resources","section"],["","http.setup","chapter"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","varlistentry"],["","http.constants","variablelist"],["","http.constants","appendix"],["","http.request.options","varlistentry"],["","http.request.options","varlistentry"],["","http.request.options","varlistentry"],["","http.request.options","variablelist"],["","http.request.options","varlistentry"],["","http.request.options","varlistentry"],["","http.request.options","varlistentry"],["","http.request.options","varlistentry"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["","http.request.options","variablelist"],["Request Options","http.request.options","appendix"],["","class.httpdeflatestream","section"],["","class.httpdeflatestream","section"],["","class.httpdeflatestream","section"],["","class.httpdeflatestream","example"],["HttpDeflateStream::__construct","httpdeflatestream.construct","refentry"],["HttpDeflateStream::factory","httpdeflatestream.factory","refentry"],["HttpDeflateStream::finish","httpdeflatestream.finish","refentry"],["HttpDeflateStream::flush","httpdeflatestream.flush","refentry"],["HttpDeflateStream::update","httpdeflatestream.update","refentry"],["HttpDeflateStream","class.httpdeflatestream","phpdoc:classref"],["","class.httpinflatestream","section"],["","class.httpinflatestream","section"],["","class.httpinflatestream","section"],["","class.httpinflatestream","example"],["HttpInflateStream::__construct","httpinflatestream.construct","refentry"],["HttpInflateStream::factory","httpinflatestream.factory","refentry"],["HttpInflateStream::finish","httpinflatestream.finish","refentry"],["HttpInflateStream::flush","httpinflatestream.flush","refentry"],["HttpInflateStream::update","httpinflatestream.update","refentry"],["HttpInflateStream","class.httpinflatestream","phpdoc:classref"],["","class.httpmessage","section"],["","class.httpmessage","table"],["","class.httpmessage","section"],["","class.httpmessage","section"],["","class.httpmessage","section"],["HttpMessage::addHeaders","httpmessage.addheaders","refentry"],["HttpMessage::__construct","httpmessage.construct","refentry"],["HttpMessage::detach","httpmessage.detach","refentry"],["HttpMessage::factory","httpmessage.factory","refentry"],["HttpMessage::fromEnv","httpmessage.fromenv","refentry"],["HttpMessage::fromString","httpmessage.fromstring","refentry"],["HttpMessage::getBody","httpmessage.getbody","refentry"],["HttpMessage::getHeader","httpmessage.getheader","refentry"],["HttpMessage::getHeaders","httpmessage.getheaders","refentry"],["HttpMessage::getHttpVersion","httpmessage.gethttpversion","refentry"],["HttpMessage::getParentMessage","httpmessage.getparentmessage","refentry"],["HttpMessage::getRequestMethod","httpmessage.getrequestmethod","refentry"],["HttpMessage::getRequestUrl","httpmessage.getrequesturl","refentry"],["HttpMessage::getResponseCode","httpmessage.getresponsecode","refentry"],["HttpMessage::getResponseStatus","httpmessage.getresponsestatus","refentry"],["HttpMessage::getType","httpmessage.gettype","refentry"],["HttpMessage::guessContentType","httpmessage.guesscontenttype","refentry"],["HttpMessage::prepend","httpmessage.prepend","refentry"],["HttpMessage::reverse","httpmessage.reverse","refentry"],["HttpMessage::send","httpmessage.send","refentry"],["HttpMessage::setBody","httpmessage.setbody","refentry"],["HttpMessage::setHeaders","httpmessage.setheaders","refentry"],["HttpMessage::setHttpVersion","httpmessage.sethttpversion","refentry"],["HttpMessage::setRequestMethod","httpmessage.setrequestmethod","refentry"],["HttpMessage::setRequestUrl","httpmessage.setrequesturl","refentry"],["HttpMessage::setResponseCode","httpmessage.setresponsecode","refentry"],["HttpMessage::setResponseStatus","httpmessage.setresponsestatus","refentry"],["HttpMessage::setType","httpmessage.settype","refentry"],["HttpMessage::toMessageTypeObject","httpmessage.tomessagetypeobject","refentry"],["HttpMessage::toString","httpmessage.tostring","refentry"],["HttpMessage","class.httpmessage","phpdoc:classref"],["","class.httpquerystring","section"],["","class.httpquerystring","table"],["","class.httpquerystring","table"],["","class.httpquerystring","section"],["","class.httpquerystring","section"],["","class.httpquerystring","section"],["HttpQueryString::__construct","httpquerystring.construct","refentry"],["HttpQueryString::get","httpquerystring.get","refentry"],["HttpQueryString::mod","httpquerystring.mod","refentry"],["HttpQueryString::set","httpquerystring.set","refentry"],["HttpQueryString::singleton","httpquerystring.singleton","refentry"],["HttpQueryString::toArray","httpquerystring.toarray","refentry"],["HttpQueryString::toString","httpquerystring.tostring","refentry"],["HttpQueryString::xlate","httpquerystring.xlate","refentry"],["HttpQueryString","class.httpquerystring","phpdoc:classref"],["","class.httprequest","section"],["","class.httprequest","table"],["","class.httprequest","section"],["","class.httprequest","section"],["","class.httprequest","section"],["","httprequest.addcookies","example"],["HttpRequest::addCookies","httprequest.addcookies","refentry"],["HttpRequest::addHeaders","httprequest.addheaders","refentry"],["HttpRequest::addPostFields","httprequest.addpostfields","refentry"],["HttpRequest::addPostFile","httprequest.addpostfile","refentry"],["HttpRequest::addPutData","httprequest.addputdata","refentry"],["HttpRequest::addQueryData","httprequest.addquerydata","refentry"],["HttpRequest::addRawPostData","httprequest.addrawpostdata","refentry"],["HttpRequest::addSslOptions","httprequest.addssloptions","refentry"],["HttpRequest::clearHistory","httprequest.clearhistory","refentry"],["HttpRequest::__construct","httprequest.construct","refentry"],["HttpRequest::enableCookies","httprequest.enablecookies","refentry"],["HttpRequest::getContentType","httprequest.getcontenttype","refentry"],["HttpRequest::getCookies","httprequest.getcookies","refentry"],["HttpRequest::getHeaders","httprequest.getheaders","refentry"],["HttpRequest::getHistory","httprequest.gethistory","refentry"],["HttpRequest::getMethod","httprequest.getmethod","refentry"],["HttpRequest::getOptions","httprequest.getoptions","refentry"],["HttpRequest::getPostFields","httprequest.getpostfields","refentry"],["HttpRequest::getPostFiles","httprequest.getpostfiles","refentry"],["HttpRequest::getPutData","httprequest.getputdata","refentry"],["HttpRequest::getPutFile","httprequest.getputfile","refentry"],["HttpRequest::getQueryData","httprequest.getquerydata","refentry"],["HttpRequest::getRawPostData","httprequest.getrawpostdata","refentry"],["HttpRequest::getRawRequestMessage","httprequest.getrawrequestmessage","refentry"],["HttpRequest::getRawResponseMessage","httprequest.getrawresponsemessage","refentry"],["HttpRequest::getRequestMessage","httprequest.getrequestmessage","refentry"],["HttpRequest::getResponseBody","httprequest.getresponsebody","refentry"],["HttpRequest::getResponseCode","httprequest.getresponsecode","refentry"],["HttpRequest::getResponseCookies","httprequest.getresponsecookies","refentry"],["HttpRequest::getResponseData","httprequest.getresponsedata","refentry"],["HttpRequest::getResponseHeader","httprequest.getresponseheader","refentry"],["HttpRequest::getResponseInfo","httprequest.getresponseinfo","refentry"],["HttpRequest::getResponseMessage","httprequest.getresponsemessage","refentry"],["HttpRequest::getResponseStatus","httprequest.getresponsestatus","refentry"],["HttpRequest::getSslOptions","httprequest.getssloptions","refentry"],["HttpRequest::getUrl","httprequest.geturl","refentry"],["HttpRequest::resetCookies","httprequest.resetcookies","refentry"],["","httprequest.send","example"],["","httprequest.send","example"],["HttpRequest::send","httprequest.send","refentry"],["HttpRequest::setBody","httprequest.setbody","refentry"],["HttpRequest::setContentType","httprequest.setcontenttype","refentry"],["HttpRequest::setCookies","httprequest.setcookies","refentry"],["HttpRequest::setHeaders","httprequest.setheaders","refentry"],["HttpRequest::setMethod","httprequest.setmethod","refentry"],["HttpRequest::setOptions","httprequest.setoptions","refentry"],["HttpRequest::setPostFields","httprequest.setpostfields","refentry"],["HttpRequest::setPostFiles","httprequest.setpostfiles","refentry"],["HttpRequest::setPutData","httprequest.setputdata","refentry"],["HttpRequest::setPutFile","httprequest.setputfile","refentry"],["HttpRequest::setQueryData","httprequest.setquerydata","refentry"],["HttpRequest::setRawPostData","httprequest.setrawpostdata","refentry"],["HttpRequest::setSslOptions","httprequest.setssloptions","refentry"],["HttpRequest::setUrl","httprequest.seturl","refentry"],["HttpRequest","class.httprequest","phpdoc:classref"],["","class.httprequestpool","section"],["","class.httprequestpool","section"],["","class.httprequestpool","section"],["","class.httprequestpool","section"],["HttpRequestPool::attach","httprequestpool.attach","refentry"],["","httprequestpool.construct","example"],["HttpRequestPool::__construct","httprequestpool.construct","refentry"],["HttpRequestPool::__destruct","httprequestpool.destruct","refentry"],["HttpRequestPool::detach","httprequestpool.detach","refentry"],["HttpRequestPool::getAttachedRequests","httprequestpool.getattachedrequests","refentry"],["HttpRequestPool::getFinishedRequests","httprequestpool.getfinishedrequests","refentry"],["HttpRequestPool::reset","httprequestpool.reset","refentry"],["HttpRequestPool::send","httprequestpool.send","refentry"],["","httprequestpool.socketperform","example"],["HttpRequestPool::socketPerform","httprequestpool.socketperform","refentry"],["HttpRequestPool::socketSelect","httprequestpool.socketselect","refentry"],["HttpRequestPool","class.httprequestpool","phpdoc:classref"],["","class.httpresponse","section"],["","class.httpresponse","table"],["","class.httpresponse","section"],["","class.httpresponse","section"],["","class.httpresponse","section"],["","httpresponse.capture","example"],["HttpResponse::capture","httpresponse.capture","refentry"],["HttpResponse::getBufferSize","httpresponse.getbuffersize","refentry"],["HttpResponse::getCache","httpresponse.getcache","refentry"],["HttpResponse::getCacheControl","httpresponse.getcachecontrol","refentry"],["HttpResponse::getContentDisposition","httpresponse.getcontentdisposition","refentry"],["HttpResponse::getContentType","httpresponse.getcontenttype","refentry"],["HttpResponse::getData","httpresponse.getdata","refentry"],["HttpResponse::getETag","httpresponse.getetag","refentry"],["HttpResponse::getFile","httpresponse.getfile","refentry"],["HttpResponse::getGzip","httpresponse.getgzip","refentry"],["HttpResponse::getHeader","httpresponse.getheader","refentry"],["HttpResponse::getLastModified","httpresponse.getlastmodified","refentry"],["HttpResponse::getRequestBody","httpresponse.getrequestbody","refentry"],["HttpResponse::getRequestBodyStream","httpresponse.getrequestbodystream","refentry"],["HttpResponse::getRequestHeaders","httpresponse.getrequestheaders","refentry"],["HttpResponse::getStream","httpresponse.getstream","refentry"],["HttpResponse::getThrottleDelay","httpresponse.getthrottledelay","refentry"],["HttpResponse::guessContentType","httpresponse.guesscontenttype","refentry"],["HttpResponse::redirect","httpresponse.redirect","refentry"],["","httpresponse.send","example"],["HttpResponse::send","httpresponse.send","refentry"],["HttpResponse::setBufferSize","httpresponse.setbuffersize","refentry"],["HttpResponse::setCache","httpresponse.setcache","refentry"],["HttpResponse::setCacheControl","httpresponse.setcachecontrol","refentry"],["HttpResponse::setContentDisposition","httpresponse.setcontentdisposition","refentry"],["HttpResponse::setContentType","httpresponse.setcontenttype","refentry"],["HttpResponse::setData","httpresponse.setdata","refentry"],["HttpResponse::setETag","httpresponse.setetag","refentry"],["HttpResponse::setFile","httpresponse.setfile","refentry"],["HttpResponse::setGzip","httpresponse.setgzip","refentry"],["HttpResponse::setHeader","httpresponse.setheader","refentry"],["HttpResponse::setLastModified","httpresponse.setlastmodified","refentry"],["HttpResponse::setStream","httpresponse.setstream","refentry"],["HttpResponse::setThrottleDelay","httpresponse.setthrottledelay","refentry"],["HttpResponse::status","httpresponse.status","refentry"],["HttpResponse","class.httpresponse","phpdoc:classref"],["","ref.http","section"],["","function.http-cache-etag","example"],["http_cache_etag","function.http-cache-etag","refentry"],["","function.http-cache-last-modified","example"],["http_cache_last_modified","function.http-cache-last-modified","refentry"],["","function.http-chunked-decode","example"],["http_chunked_decode","function.http-chunked-decode","refentry"],["http_deflate","function.http-deflate","refentry"],["http_inflate","function.http-inflate","refentry"],["http_build_cookie","function.http-build-cookie","refentry"],["http_date","function.http-date","refentry"],["http_get_request_body_stream","function.http-get-request-body-stream","refentry"],["http_get_request_body","function.http-get-request-body","refentry"],["http_get_request_headers","function.http-get-request-headers","refentry"],["http_match_etag","function.http-match-etag","refentry"],["http_match_modified","function.http-match-modified","refentry"],["http_match_request_header","function.http-match-request-header","refentry"],["","function.http-support","example"],["http_support","function.http-support","refentry"],["","function.http-negotiate-charset","example"],["http_negotiate_charset","function.http-negotiate-charset","refentry"],["","function.http-negotiate-content-type","example"],["http_negotiate_content_type","function.http-negotiate-content-type","refentry"],["","function.http-negotiate-language","example"],["http_negotiate_language","function.http-negotiate-language","refentry"],["ob_deflatehandler","function.ob-deflatehandler","refentry"],["ob_etaghandler","function.ob-etaghandler","refentry"],["ob_inflatehandler","function.ob-inflatehandler","refentry"],["","function.http-parse-cookie","example"],["http_parse_cookie","function.http-parse-cookie","refentry"],["","function.http-parse-headers","example"],["http_parse_headers","function.http-parse-headers","refentry"],["","function.http-parse-message","example"],["http_parse_message","function.http-parse-message","refentry"],["","function.http-parse-params","example"],["http_parse_params","function.http-parse-params","refentry"],["http_persistent_handles_clean","function.http-persistent-handles-clean","refentry"],["","function.http-persistent-handles-count","example"],["http_persistent_handles_count","function.http-persistent-handles-count","refentry"],["","function.http-persistent-handles-ident","example"],["http_persistent_handles_ident","function.http-persistent-handles-ident","refentry"],["","function.http-get","listitem"],["","function.http-get","example"],["http_get","function.http-get","refentry"],["http_head","function.http-head","refentry"],["http_post_data","function.http-post-data","refentry"],["","function.http-post-fields","example"],["http_post_fields","function.http-post-fields","refentry"],["http_put_data","function.http-put-data","refentry"],["http_put_file","function.http-put-file","refentry"],["http_put_stream","function.http-put-stream","refentry"],["http_request_body_encode","function.http-request-body-encode","refentry"],["http_request_method_exists","function.http-request-method-exists","refentry"],["http_request_method_name","function.http-request-method-name","refentry"],["http_request_method_register","function.http-request-method-register","refentry"],["http_request_method_unregister","function.http-request-method-unregister","refentry"],["http_request","function.http-request","refentry"],["","function.http-redirect","example"],["http_redirect","function.http-redirect","refentry"],["http_send_content_disposition","function.http-send-content-disposition","refentry"],["http_send_content_type","function.http-send-content-type","refentry"],["http_send_data","function.http-send-data","refentry"],["","function.http-send-file","example"],["http_send_file","function.http-send-file","refentry"],["http_send_last_modified","function.http-send-last-modified","refentry"],["http_send_status","function.http-send-status","refentry"],["http_send_stream","function.http-send-stream","refentry"],["","function.http-throttle","example"],["http_throttle","function.http-throttle","refentry"],["http_build_str","function.http-build-str","refentry"],["","function.http-build-url","example"],["http_build_url","function.http-build-url","refentry"],["","ref.http","reference"],["","book.http","book"],["","intro.hw","preface"],["","hw.requirements","section"],["","hw.installation","section"],["","hw.configuration","section"],["","hw.resources","section"],["","hw.setup","chapter"],["","hw.constants","varlistentry"],["","hw.constants","varlistentry"],["","hw.constants","varlistentry"],["","hw.constants","appendix"],["","hw.apache","chapter"],["","ref.hw","section"],["hw_Array2Objrec","function.hw-array2objrec","refentry"],["hw_changeobject","function.hw-changeobject","refentry"],["hw_Children","function.hw-children","refentry"],["hw_ChildrenObj","function.hw-childrenobj","refentry"],["hw_Close","function.hw-close","refentry"],["hw_Connect","function.hw-connect","refentry"],["hw_connection_info","function.hw-connection-info","refentry"],["hw_cp","function.hw-cp","refentry"],["hw_Deleteobject","function.hw-deleteobject","refentry"],["hw_DocByAnchor","function.hw-docbyanchor","refentry"],["hw_DocByAnchorObj","function.hw-docbyanchorobj","refentry"],["hw_Document_Attributes","function.hw-document-attributes","refentry"],["hw_Document_BodyTag","function.hw-document-bodytag","refentry"],["hw_Document_Content","function.hw-document-content","refentry"],["hw_Document_SetContent","function.hw-document-setcontent","refentry"],["hw_Document_Size","function.hw-document-size","refentry"],["hw_dummy","function.hw-dummy","refentry"],["hw_EditText","function.hw-edittext","refentry"],["hw_Error","function.hw-error","refentry"],["hw_ErrorMsg","function.hw-errormsg","refentry"],["hw_Free_Document","function.hw-free-document","refentry"],["hw_GetAnchors","function.hw-getanchors","refentry"],["hw_GetAnchorsObj","function.hw-getanchorsobj","refentry"],["hw_GetAndLock","function.hw-getandlock","refentry"],["hw_GetChildColl","function.hw-getchildcoll","refentry"],["hw_GetChildCollObj","function.hw-getchildcollobj","refentry"],["hw_GetChildDocColl","function.hw-getchilddoccoll","refentry"],["hw_GetChildDocCollObj","function.hw-getchilddoccollobj","refentry"],["hw_GetObject","function.hw-getobject","refentry"],["hw_GetObjectByQuery","function.hw-getobjectbyquery","refentry"],["hw_GetObjectByQueryColl","function.hw-getobjectbyquerycoll","refentry"],["hw_GetObjectByQueryCollObj","function.hw-getobjectbyquerycollobj","refentry"],["hw_GetObjectByQueryObj","function.hw-getobjectbyqueryobj","refentry"],["hw_GetParents","function.hw-getparents","refentry"],["hw_GetParentsObj","function.hw-getparentsobj","refentry"],["hw_getrellink","function.hw-getrellink","refentry"],["hw_GetRemote","function.hw-getremote","refentry"],["hw_getremotechildren","function.hw-getremotechildren","refentry"],["hw_GetSrcByDestObj","function.hw-getsrcbydestobj","refentry"],["hw_GetText","function.hw-gettext","refentry"],["hw_getusername","function.hw-getusername","refentry"],["hw_Identify","function.hw-identify","refentry"],["hw_InCollections","function.hw-incollections","refentry"],["hw_Info","function.hw-info","refentry"],["hw_InsColl","function.hw-inscoll","refentry"],["hw_InsDoc","function.hw-insdoc","refentry"],["hw_insertanchors","function.hw-insertanchors","refentry"],["hw_InsertDocument","function.hw-insertdocument","refentry"],["hw_InsertObject","function.hw-insertobject","refentry"],["hw_mapid","function.hw-mapid","refentry"],["","function.hw-modifyobject","example"],["","function.hw-modifyobject","example"],["","function.hw-modifyobject","example"],["","function.hw-modifyobject","example"],["","function.hw-modifyobject","example"],["hw_Modifyobject","function.hw-modifyobject","refentry"],["hw_mv","function.hw-mv","refentry"],["hw_New_Document","function.hw-new-document","refentry"],["hw_objrec2array","function.hw-objrec2array","refentry"],["hw_Output_Document","function.hw-output-document","refentry"],["hw_pConnect","function.hw-pconnect","refentry"],["hw_PipeDocument","function.hw-pipedocument","refentry"],["hw_Root","function.hw-root","refentry"],["hw_setlinkroot","function.hw-setlinkroot","refentry"],["hw_stat","function.hw-stat","refentry"],["hw_Unlock","function.hw-unlock","refentry"],["hw_Who","function.hw-who","refentry"],["","ref.hw","reference"],["","book.hw","book"],["","intro.hwapi","preface"],["","hwapi.requirements","section"],["","hwapi.installation","section"],["","hwapi.configuration","section"],["","hwapi.resources","section"],["","hwapi.setup","chapter"],["","hwapi.constants","appendix"],["","ref.hwapi","section"],["","ref.hwapi","section"],["hw_api::checkin","hwapi.checkin","refentry"],["hw_api::checkout","hwapi.checkout","refentry"],["hw_api::children","hwapi.children","refentry"],["hw_api::content","hwapi.content","refentry"],["hw_api::copy","hwapi.copy","refentry"],["hw_api::dbstat","hwapi.dbstat","refentry"],["hw_api::dcstat","hwapi.dcstat","refentry"],["hw_api::dstanchors","hwapi.dstanchors","refentry"],["hw_api::dstofsrcanchor","hwapi.dstofsrcanchor","refentry"],["hw_api::find","hwapi.find","refentry"],["hw_api::ftstat","hwapi.ftstat","refentry"],["hw_api::hwstat","hwapi.hwstat","refentry"],["hw_api::identify","hwapi.identify","refentry"],["hw_api::info","hwapi.info","refentry"],["hw_api::insert","hwapi.insert","refentry"],["hw_api::insertanchor","hwapi.insertanchor","refentry"],["hw_api::insertcollection","hwapi.insertcollection","refentry"],["hw_api::insertdocument","hwapi.insertdocument","refentry"],["hw_api::link","hwapi.link","refentry"],["hw_api::lock","hwapi.lock","refentry"],["hw_api::move","hwapi.move","refentry"],["","hwapi.object","example"],["hw_api::object","hwapi.object","refentry"],["hw_api::objectbyanchor","hwapi.objectbyanchor","refentry"],["hw_api::parents","hwapi.parents","refentry"],["hw_api::remove","hwapi.remove","refentry"],["hw_api::replace","hwapi.replace","refentry"],["hw_api::setcommittedversion","hwapi.setcommittedversion","refentry"],["hw_api::srcanchors","hwapi.srcanchors","refentry"],["hw_api::srcsofdst","hwapi.srcsofdst","refentry"],["hw_api::unlock","hwapi.unlock","refentry"],["hw_api::user","hwapi.user","refentry"],["hw_api::userlist","hwapi.userlist","refentry"],["hw_api_attribute::key","hwapi.attribute-key","refentry"],["hw_api_attribute::langdepvalue","hwapi.attribute-langdepvalue","refentry"],["hw_api_attribute::value","hwapi.attribute-value","refentry"],["hw_api_attribute::values","hwapi.attribute-values","refentry"],["hw_api_content::mimetype","hwapi.content-mimetype","refentry"],["hw_api_content::read","hwapi.content-read","refentry"],["hw_api_error::count","hwapi.error-count","refentry"],["hw_api_error::reason","hwapi.error-reason","refentry"],["hw_api_object::assign","hwapi.object-assign","refentry"],["hw_api_object::attreditable","hwapi.object-attreditable","refentry"],["hw_api_object::count","hwapi.object-count","refentry"],["hw_api_object::insert","hwapi.object-insert","refentry"],["hw_api_object::remove","hwapi.object-remove","refentry"],["hw_api_object::title","hwapi.object-title","refentry"],["hw_api_object::value","hwapi.object-value","refentry"],["hw_api_reason::description","hwapi.reason-description","refentry"],["hw_api_reason::type","hwapi.reason-type","refentry"],["hwapi_attribute_new","function.hwapi-attribute-new","refentry"],["hwapi_content_new","function.hwapi-content-new","refentry"],["hwapi_hgcsp","function.hwapi-hgcsp","refentry"],["hwapi_object_new","function.hwapi-object-new","refentry"],["","ref.hwapi","reference"],["","book.hwapi","book"],["","intro.java","preface"],["","java.requirements","section"],["","java.installation","section"],["","java.configuration","section"],["","java.resources","section"],["","java.setup","chapter"],["","java.constants","appendix"],["","java.servlet","chapter"],["","java.examples-basic","example"],["","java.examples-basic","example"],["","java.examples-basic","section"],["","java.examples","chapter"],["java_last_exception_clear","function.java-last-exception-clear","refentry"],["","function.java-last-exception-get","example"],["java_last_exception_get","function.java-last-exception-get","refentry"],["","ref.java","reference"],["Java","book.java","book"],["","intro.ldap","preface"],["","ldap.requirements","section"],["","ldap.installation","section"],["","ldap.configuration","varlistentry"],["","ldap.configuration","section"],["","ldap.resources","section"],["","ldap.setup","chapter"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","varlistentry"],["","ldap.constants","appendix"],["","ldap.using","chapter"],["","ldap.examples-basic","example"],["","ldap.examples-basic","section"],["","ldap.examples","chapter"],["ldap_8859_to_t61","function.ldap-8859-to-t61","refentry"],["","function.ldap-add","example"],["ldap_add","function.ldap-add","refentry"],["","function.ldap-bind","example"],["","function.ldap-bind","example"],["ldap_bind","function.ldap-bind","refentry"],["ldap_close","function.ldap-close","refentry"],["","function.ldap-compare","example"],["ldap_compare","function.ldap-compare","refentry"],["","function.ldap-connect","example"],["","function.ldap-connect","example"],["ldap_connect","function.ldap-connect","refentry"],["ldap_control_paged_result_response","function.ldap-control-paged-result-response","refentry"],["","function.ldap-control-paged-result","example"],["","function.ldap-control-paged-result","example"],["ldap_control_paged_result","function.ldap-control-paged-result","refentry"],["","function.ldap-count-entries","example"],["ldap_count_entries","function.ldap-count-entries","refentry"],["ldap_delete","function.ldap-delete","refentry"],["ldap_dn2ufn","function.ldap-dn2ufn","refentry"],["","function.ldap-err2str","example"],["ldap_err2str","function.ldap-err2str","refentry"],["","function.ldap-errno","example"],["ldap_errno","function.ldap-errno","refentry"],["ldap_error","function.ldap-error","refentry"],["ldap_explode_dn","function.ldap-explode-dn","refentry"],["ldap_first_attribute","function.ldap-first-attribute","refentry"],["ldap_first_entry","function.ldap-first-entry","refentry"],["ldap_first_reference","function.ldap-first-reference","refentry"],["ldap_free_result","function.ldap-free-result","refentry"],["","function.ldap-get-attributes","example"],["ldap_get_attributes","function.ldap-get-attributes","refentry"],["ldap_get_dn","function.ldap-get-dn","refentry"],["ldap_get_entries","function.ldap-get-entries","refentry"],["","function.ldap-get-option","example"],["ldap_get_option","function.ldap-get-option","refentry"],["ldap_get_values_len","function.ldap-get-values-len","refentry"],["","function.ldap-get-values","example"],["ldap_get_values","function.ldap-get-values","refentry"],["","function.ldap-list","example"],["ldap_list","function.ldap-list","refentry"],["ldap_mod_add","function.ldap-mod-add","refentry"],["ldap_mod_del","function.ldap-mod-del","refentry"],["ldap_mod_replace","function.ldap-mod-replace","refentry"],["ldap_modify","function.ldap-modify","refentry"],["ldap_next_attribute","function.ldap-next-attribute","refentry"],["ldap_next_entry","function.ldap-next-entry","refentry"],["ldap_next_reference","function.ldap-next-reference","refentry"],["ldap_parse_reference","function.ldap-parse-reference","refentry"],["ldap_parse_result","function.ldap-parse-result","refentry"],["ldap_read","function.ldap-read","refentry"],["ldap_rename","function.ldap-rename","refentry"],["ldap_sasl_bind","function.ldap-sasl-bind","refentry"],["","function.ldap-search","example"],["ldap_search","function.ldap-search","refentry"],["","function.ldap-set-option","example"],["","function.ldap-set-option","example"],["ldap_set_option","function.ldap-set-option","refentry"],["ldap_set_rebind_proc","function.ldap-set-rebind-proc","refentry"],["","function.ldap-sort","example"],["ldap_sort","function.ldap-sort","refentry"],["ldap_start_tls","function.ldap-start-tls","refentry"],["ldap_t61_to_8859","function.ldap-t61-to-8859","refentry"],["ldap_unbind","function.ldap-unbind","refentry"],["","ref.ldap","reference"],["LDAP","book.ldap","book"],["","intro.notes","preface"],["","notes.requirements","section"],["","notes.installation","section"],["","notes.configuration","section"],["","notes.resources","section"],["","notes.setup","chapter"],["","notes.constants","appendix"],["notes_body","function.notes-body","refentry"],["notes_copy_db","function.notes-copy-db","refentry"],["notes_create_db","function.notes-create-db","refentry"],["notes_create_note","function.notes-create-note","refentry"],["notes_drop_db","function.notes-drop-db","refentry"],["notes_find_note","function.notes-find-note","refentry"],["notes_header_info","function.notes-header-info","refentry"],["notes_list_msgs","function.notes-list-msgs","refentry"],["notes_mark_read","function.notes-mark-read","refentry"],["notes_mark_unread","function.notes-mark-unread","refentry"],["notes_nav_create","function.notes-nav-create","refentry"],["notes_search","function.notes-search","refentry"],["notes_unread","function.notes-unread","refentry"],["notes_version","function.notes-version","refentry"],["","ref.notes","reference"],["","book.notes","book"],["","intro.memcache","preface"],["","memcache.requirements","section"],["","memcache.installation","section"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","varlistentry"],["","memcache.ini","section"],["","memcache.resources","section"],["","memcache.setup","chapter"],["","memcache.constants","constant"],["","memcache.constants","constant"],["","memcache.constants","constant"],["","memcache.constants","constant"],["","memcache.constants","constant"],["","memcache.constants","constant"],["","memcache.constants","appendix"],["","memcache.examples-overview","example"],["","memcache.examples-overview","example"],["","memcache.examples-overview","section"],["","memcache.examples","chapter"],["","class.memcache","section"],["","class.memcache","section"],["","memcache.add","example"],["Memcache::add","memcache.add","refentry"],["","memcache.addserver","example"],["Memcache::addServer","memcache.addserver","refentry"],["","memcache.close","example"],["Memcache::close","memcache.close","refentry"],["","memcache.connect","example"],["Memcache::connect","memcache.connect","refentry"],["","memcache.decrement","example"],["Memcache::decrement","memcache.decrement","refentry"],["","memcache.delete","example"],["Memcache::delete","memcache.delete","refentry"],["","memcache.flush","example"],["Memcache::flush","memcache.flush","refentry"],["","memcache.get","example"],["Memcache::get","memcache.get","refentry"],["","memcache.getextendedstats","example"],["Memcache::getExtendedStats","memcache.getextendedstats","refentry"],["","memcache.getserverstatus","example"],["Memcache::getServerStatus","memcache.getserverstatus","refentry"],["Memcache::getStats","memcache.getstats","refentry"],["","memcache.getversion","example"],["Memcache::getVersion","memcache.getversion","refentry"],["","memcache.increment","example"],["Memcache::increment","memcache.increment","refentry"],["","memcache.pconnect","example"],["Memcache::pconnect","memcache.pconnect","refentry"],["","memcache.replace","example"],["Memcache::replace","memcache.replace","refentry"],["","memcache.set","example"],["","memcache.set","example"],["Memcache::set","memcache.set","refentry"],["","memcache.setcompressthreshold","example"],["Memcache::setCompressThreshold","memcache.setcompressthreshold","refentry"],["","memcache.setserverparams","example"],["Memcache::setServerParams","memcache.setserverparams","refentry"],["Memcache","class.memcache","phpdoc:classref"],["memcache_debug","function.memcache-debug","refentry"],["","ref.memcache","reference"],["","book.memcache","book"],["","intro.memcached","preface"],["","memcached.requirements","section"],["","memcached.installation","section"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","varlistentry"],["","memcached.configuration","section"],["","memcached.resources","section"],["","memcached.setup","chapter"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","varlistentry"],["","memcached.constants","appendix"],["","memcached.expiration","chapter"],["","memcached.callbacks.result","example"],["","memcached.callbacks.result","section"],["","memcached.callbacks.read-through","example"],["","memcached.callbacks.read-through","section"],["","memcached.callbacks","chapter"],["","memcached.sessions","varlistentry"],["","memcached.sessions","varlistentry"],["","memcached.sessions","chapter"],["","class.memcached","section"],["","class.memcached","section"],["Memcached::add","memcached.add","refentry"],["Memcached::addByKey","memcached.addbykey","refentry"],["","memcached.addserver","example"],["Memcached::addServer","memcached.addserver","refentry"],["","memcached.addservers","example"],["Memcached::addServers","memcached.addservers","refentry"],["","memcached.append","example"],["Memcached::append","memcached.append","refentry"],["Memcached::appendByKey","memcached.appendbykey","refentry"],["","memcached.cas","example"],["Memcached::cas","memcached.cas","refentry"],["Memcached::casByKey","memcached.casbykey","refentry"],["","memcached.construct","example"],["Memcached::__construct","memcached.construct","refentry"],["","memcached.decrement","example"],["Memcached::decrement","memcached.decrement","refentry"],["Memcached::decrementByKey","memcached.decrementbykey","refentry"],["","memcached.delete","example"],["Memcached::delete","memcached.delete","refentry"],["Memcached::deleteByKey","memcached.deletebykey","refentry"],["Memcached::deleteMulti","memcached.deletemulti","refentry"],["Memcached::deleteMultiByKey","memcached.deletemultibykey","refentry"],["","memcached.fetch","example"],["Memcached::fetch","memcached.fetch","refentry"],["","memcached.fetchall","example"],["Memcached::fetchAll","memcached.fetchall","refentry"],["","memcached.flush","example"],["Memcached::flush","memcached.flush","refentry"],["","memcached.get","example"],["","memcached.get","example"],["Memcached::get","memcached.get","refentry"],["Memcached::getAllKeys","memcached.getallkeys","refentry"],["Memcached::getByKey","memcached.getbykey","refentry"],["","memcached.getdelayed","example"],["Memcached::getDelayed","memcached.getdelayed","refentry"],["Memcached::getDelayedByKey","memcached.getdelayedbykey","refentry"],["","memcached.getmulti","example"],["","memcached.getmulti","example"],["Memcached::getMulti","memcached.getmulti","refentry"],["Memcached::getMultiByKey","memcached.getmultibykey","refentry"],["","memcached.getoption","example"],["Memcached::getOption","memcached.getoption","refentry"],["","memcached.getresultcode","example"],["Memcached::getResultCode","memcached.getresultcode","refentry"],["","memcached.getresultmessage","example"],["Memcached::getResultMessage","memcached.getresultmessage","refentry"],["","memcached.getserverbykey","example"],["Memcached::getServerByKey","memcached.getserverbykey","refentry"],["","memcached.getserverlist","example"],["Memcached::getServerList","memcached.getserverlist","refentry"],["","memcached.getstats","example"],["Memcached::getStats","memcached.getstats","refentry"],["","memcached.getversion","example"],["Memcached::getVersion","memcached.getversion","refentry"],["","memcached.increment","example"],["Memcached::increment","memcached.increment","refentry"],["Memcached::incrementByKey","memcached.incrementbykey","refentry"],["Memcached::isPersistent","memcached.ispersistent","refentry"],["Memcached::isPristine","memcached.ispristine","refentry"],["","memcached.prepend","example"],["Memcached::prepend","memcached.prepend","refentry"],["Memcached::prependByKey","memcached.prependbykey","refentry"],["Memcached::quit","memcached.quit","refentry"],["Memcached::replace","memcached.replace","refentry"],["Memcached::replaceByKey","memcached.replacebykey","refentry"],["Memcached::resetServerList","memcached.resetserverlist","refentry"],["","memcached.set","example"],["Memcached::set","memcached.set","refentry"],["","memcached.setbykey","example"],["Memcached::setByKey","memcached.setbykey","refentry"],["","memcached.setmulti","example"],["Memcached::setMulti","memcached.setmulti","refentry"],["Memcached::setMultiByKey","memcached.setmultibykey","refentry"],["","memcached.setoption","example"],["Memcached::setOption","memcached.setoption","refentry"],["","memcached.setoptions","example"],["Memcached::setOptions","memcached.setoptions","refentry"],["Memcached::setSaslAuthData","memcached.setsaslauthdata","refentry"],["Memcached::touch","memcached.touch","refentry"],["Memcached::touchByKey","memcached.touchbykey","refentry"],["Memcached","class.memcached","phpdoc:classref"],["","class.memcachedexception","section"],["","class.memcachedexception","section"],["MemcachedException","class.memcachedexception","phpdoc:classref"],["Memcached","book.memcached","book"],["","intro.mqseries","preface"],["","mqseries.requirements","section"],["","mqseries.requirements","section"],["","mqseries.requirements","section"],["","mqseries.configure","section"],["","mqseries.ini","section"],["","mqseries.resources","section"],["","mqseries.setup","chapter"],["","mqseries.constants","appendix"],["","function.mqseries-back","example"],["mqseries_back","function.mqseries-back","refentry"],["","function.mqseries-begin","example"],["mqseries_begin","function.mqseries-begin","refentry"],["","function.mqseries-close","example"],["mqseries_close","function.mqseries-close","refentry"],["","function.mqseries-cmit","example"],["mqseries_cmit","function.mqseries-cmit","refentry"],["","function.mqseries-conn","example"],["mqseries_conn","function.mqseries-conn","refentry"],["","function.mqseries-connx","example"],["","function.mqseries-connx","example"],["mqseries_connx","function.mqseries-connx","refentry"],["","function.mqseries-disc","example"],["mqseries_disc","function.mqseries-disc","refentry"],["","function.mqseries-get","example"],["mqseries_get","function.mqseries-get","refentry"],["","function.mqseries-inq","example"],["mqseries_inq","function.mqseries-inq","refentry"],["","function.mqseries-open","example"],["mqseries_open","function.mqseries-open","refentry"],["mqseries_put1","function.mqseries-put1","refentry"],["","function.mqseries-put","example"],["mqseries_put","function.mqseries-put","refentry"],["mqseries_set","function.mqseries-set","refentry"],["","function.mqseries-strerror","example"],["mqseries_strerror","function.mqseries-strerror","refentry"],["","ref.mqseries","reference"],["","book.mqseries","book"],["","intro.network","preface"],["","network.requirements","section"],["","network.installation","section"],["","network.configuration","varlistentry"],["","network.configuration","section"],["","network.resources","section"],["","network.setup","chapter"],["","network.constants","appendix"],["checkdnsrr","function.checkdnsrr","refentry"],["closelog","function.closelog","refentry"],["","function.define-syslog-variables","example"],["define_syslog_variables","function.define-syslog-variables","refentry"],["dns_check_record","function.dns-check-record","refentry"],["dns_get_mx","function.dns-get-mx","refentry"],["","function.dns-get-record","example"],["","function.dns-get-record","example"],["dns_get_record","function.dns-get-record","refentry"],["","function.fsockopen","example"],["","function.fsockopen","example"],["fsockopen","function.fsockopen","refentry"],["","function.gethostbyaddr","example"],["gethostbyaddr","function.gethostbyaddr","refentry"],["","function.gethostbyname","example"],["gethostbyname","function.gethostbyname","refentry"],["","function.gethostbynamel","example"],["gethostbynamel","function.gethostbynamel","refentry"],["","function.gethostname","example"],["gethostname","function.gethostname","refentry"],["getmxrr","function.getmxrr","refentry"],["","function.getprotobyname","example"],["getprotobyname","function.getprotobyname","refentry"],["getprotobynumber","function.getprotobynumber","refentry"],["","function.getservbyname","example"],["getservbyname","function.getservbyname","refentry"],["getservbyport","function.getservbyport","refentry"],["","function.header-register-callback","example"],["header_register_callback","function.header-register-callback","refentry"],["","function.header-remove","example"],["","function.header-remove","example"],["header_remove","function.header-remove","refentry"],["","function.header","example"],["","function.header","example"],["header","function.header","refentry"],["","function.headers-list","example"],["headers_list","function.headers-list","refentry"],["","function.headers-sent","example"],["headers_sent","function.headers-sent","refentry"],["","function.http-response-code","example"],["http_response_code","function.http-response-code","refentry"],["","function.inet-ntop","example"],["inet_ntop","function.inet-ntop","refentry"],["","function.inet-pton","example"],["inet_pton","function.inet-pton","refentry"],["","function.ip2long","example"],["","function.ip2long","example"],["ip2long","function.ip2long","refentry"],["long2ip","function.long2ip","refentry"],["openlog","function.openlog","refentry"],["pfsockopen","function.pfsockopen","refentry"],["","function.setcookie","example"],["","function.setcookie","example"],["","function.setcookie","example"],["setcookie","function.setcookie","refentry"],["setrawcookie","function.setrawcookie","refentry"],["socket_get_status","function.socket-get-status","refentry"],["socket_set_blocking","function.socket-set-blocking","refentry"],["socket_set_timeout","function.socket-set-timeout","refentry"],["","function.syslog","example"],["syslog","function.syslog","refentry"],["","ref.network","reference"],["","book.network","book"],["","intro.rrd","preface"],["","rrd.requirements","section"],["","rrd.installation","section"],["","rrd.configuration","section"],["","rrd.resources","section"],["","rrd.setup","chapter"],["","rrd.constants","appendix"],["","rrd.examples-procedural","example"],["","rrd.examples-procedural","section"],["","rrd.examples-oop","example"],["","rrd.examples-oop","section"],["","rrd.examples","chapter"],["rrd_create","function.rrd-create","refentry"],["rrd_error","function.rrd-error","refentry"],["rrd_fetch","function.rrd-fetch","refentry"],["rrd_first","function.rrd-first","refentry"],["rrd_graph","function.rrd-graph","refentry"],["rrd_info","function.rrd-info","refentry"],["rrd_last","function.rrd-last","refentry"],["rrd_lastupdate","function.rrd-lastupdate","refentry"],["rrd_restore","function.rrd-restore","refentry"],["rrd_tune","function.rrd-tune","refentry"],["rrd_update","function.rrd-update","refentry"],["rrd_version","function.rrd-version","refentry"],["rrd_xport","function.rrd-xport","refentry"],["","ref.rrd","reference"],["","class.rrdcreator","section"],["","class.rrdcreator","section"],["RRDCreator::addArchive","rrdcreator.addarchive","refentry"],["RRDCreator::addDataSource","rrdcreator.adddatasource","refentry"],["RRDCreator::__construct","rrdcreator.construct","refentry"],["RRDCreator::save","rrdcreator.save","refentry"],["RRDCreator","class.rrdcreator","phpdoc:classref"],["","class.rrdgraph","section"],["","class.rrdgraph","section"],["RRDGraph::__construct","rrdgraph.construct","refentry"],["RRDGraph::save","rrdgraph.save","refentry"],["RRDGraph::saveVerbose","rrdgraph.saveverbose","refentry"],["","rrdgraph.setoptions","example"],["RRDGraph::setOptions","rrdgraph.setoptions","refentry"],["RRDGraph","class.rrdgraph","phpdoc:classref"],["","class.rrdupdater","section"],["","class.rrdupdater","section"],["RRDUpdater::__construct","rrdupdater.construct","refentry"],["","rrdupdater.update","example"],["RRDUpdater::update","rrdupdater.update","refentry"],["RRDUpdater","class.rrdupdater","phpdoc:classref"],["RRD","book.rrd","book"],["","intro.sam","preface"],["","sam.requirements","section"],["","sam.installation","section"],["","sam.installation","section"],["","sam.installation","section"],["","sam.installation","section"],["","sam.configuration","section"],["","sam.configuration","section"],["","sam.resources","section"],["","sam.setup","chapter"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","varlistentry"],["","sam.constants","appendix"],["","sam.connections","example"],["","sam.connections","example"],["","sam.connections","example"],["","sam.connections","section"],["","sam.messages","example"],["","sam.messages","example"],["","sam.messages","example"],["","sam.messages","example"],["","sam.messages","section"],["","sam.operations","example"],["","sam.operations","section"],["","sam.pubsub","example"],["","sam.pubsub","example"],["","sam.pubsub","example"],["","sam.pubsub","example"],["","sam.pubsub","section"],["","sam.errors","example"],["","sam.errors","example"],["","sam.errors","section"],["","sam.examples","chapter"],["","ref.sam","section"],["","ref.sam","section"],["","ref.sam","section"],["","samconnection.commit","example"],["SAMConnection::commit","samconnection.commit","refentry"],["","samconnection.connect","example"],["","samconnection.connect","example"],["","samconnection.connect","example"],["SAMConnection::connect","samconnection.connect","refentry"],["","samconnection.construct","example"],["SAMConnection::__construct","samconnection.construct","refentry"],["","samconnection.disconnect","example"],["SAMConnection::disconnect","samconnection.disconnect","refentry"],["","samconnection.errno","example"],["SAMConnection::errno","samconnection.errno","refentry"],["","samconnection.error","example"],["SAMConnection::error","samconnection.error","refentry"],["","samconnection.isconnected","example"],["SAMConnection::isConnected","samconnection.isconnected","refentry"],["","samconnection.peek","example"],["","samconnection.peek","example"],["SAMConnection::peek","samconnection.peek","refentry"],["","samconnection.peekall","example"],["","samconnection.peekall","example"],["SAMConnection::peekAll","samconnection.peekall","refentry"],["","samconnection.receive","example"],["","samconnection.receive","example"],["","samconnection.receive","example"],["SAMConnection::receive","samconnection.receive","refentry"],["","samconnection.remove","example"],["SAMConnection::remove","samconnection.remove","refentry"],["","samconnection.rollback","example"],["SAMConnection::rollback","samconnection.rollback","refentry"],["","samconnection.send","example"],["","samconnection.send","example"],["","samconnection.send","example"],["SAMConnection::send","samconnection.send","refentry"],["","samconnection.setdebug","example"],["","samconnection.setdebug","example"],["SAMConnection::setDebug","samconnection.setdebug","refentry"],["","samconnection.subscribe","example"],["SAMConnection::subscribe","samconnection.subscribe","refentry"],["","samconnection.unsubscribe","example"],["SAMConnection::unsubscribe","samconnection.unsubscribe","refentry"],["","sammessage.body","example"],["SAMMessage::body","sammessage.body","refentry"],["","sammessage.construct","example"],["","sammessage.construct","example"],["SAMMessage::__construct","sammessage.construct","refentry"],["","sammessage.header","example"],["","sammessage.header","example"],["","sammessage.header","example"],["","sammessage.header","example"],["SAMMessage::header","sammessage.header","refentry"],["","ref.sam","reference"],["SAM","book.sam","book"],["","intro.snmp","preface"],["","snmp.requirements","section"],["","snmp.installation","section"],["","snmp.configuration","section"],["","snmp.resources","section"],["","snmp.setup","chapter"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","varlistentry"],["","snmp.constants","appendix"],["","function.snmp-get-quick-print","example"],["snmp_get_quick_print","function.snmp-get-quick-print","refentry"],["","function.snmp-get-valueretrieval","example"],["snmp_get_valueretrieval","function.snmp-get-valueretrieval","refentry"],["","function.snmp-read-mib","example"],["snmp_read_mib","function.snmp-read-mib","refentry"],["","function.snmp-set-enum-print","example"],["snmp_set_enum_print","function.snmp-set-enum-print","refentry"],["snmp_set_oid_numeric_print","function.snmp-set-oid-numeric-print","refentry"],["","function.snmp-set-oid-output-format","example"],["snmp_set_oid_output_format","function.snmp-set-oid-output-format","refentry"],["","function.snmp-set-quick-print","example"],["snmp_set_quick_print","function.snmp-set-quick-print","refentry"],["","function.snmp-set-valueretrieval","example"],["snmp_set_valueretrieval","function.snmp-set-valueretrieval","refentry"],["","function.snmp2-get","example"],["snmp2_get","function.snmp2-get","refentry"],["","function.snmp2-getnext","example"],["snmp2_getnext","function.snmp2-getnext","refentry"],["","function.snmp2-real-walk","example"],["snmp2_real_walk","function.snmp2-real-walk","refentry"],["","function.snmp2-set","example"],["","function.snmp2-set","example"],["snmp2_set","function.snmp2-set","refentry"],["","function.snmp2-walk","example"],["snmp2_walk","function.snmp2-walk","refentry"],["","function.snmp3-get","example"],["snmp3_get","function.snmp3-get","refentry"],["","function.snmp3-getnext","example"],["snmp3_getnext","function.snmp3-getnext","refentry"],["","function.snmp3-real-walk","example"],["snmp3_real_walk","function.snmp3-real-walk","refentry"],["","function.snmp3-set","example"],["","function.snmp3-set","example"],["snmp3_set","function.snmp3-set","refentry"],["","function.snmp3-walk","example"],["snmp3_walk","function.snmp3-walk","refentry"],["","function.snmpget","example"],["snmpget","function.snmpget","refentry"],["","function.snmpgetnext","example"],["snmpgetnext","function.snmpgetnext","refentry"],["","function.snmprealwalk","example"],["snmprealwalk","function.snmprealwalk","refentry"],["","function.snmpset","example"],["","function.snmpset","example"],["snmpset","function.snmpset","refentry"],["","function.snmpwalk","example"],["snmpwalk","function.snmpwalk","refentry"],["","function.snmpwalkoid","example"],["snmpwalkoid","function.snmpwalkoid","refentry"],["","ref.snmp","reference"],["","class.snmp","section"],["","class.snmp","section"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","section"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","section"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","varlistentry"],["","class.snmp","section"],["","class.snmp","section"],["","snmp.close","example"],["SNMP::close","snmp.close","refentry"],["","snmp.construct","example"],["SNMP::__construct","snmp.construct","refentry"],["","snmp.get","example"],["","snmp.get","example"],["SNMP::get","snmp.get","refentry"],["","snmp.geterrno","example"],["SNMP::getErrno","snmp.geterrno","refentry"],["","snmp.geterror","example"],["SNMP::getError","snmp.geterror","refentry"],["","snmp.getnext","example"],["","snmp.getnext","example"],["SNMP::getnext","snmp.getnext","refentry"],["","snmp.set","example"],["","snmp.set","example"],["","snmp.set","example"],["SNMP::set","snmp.set","refentry"],["","snmp.setsecurity","example"],["SNMP::setSecurity","snmp.setsecurity","refentry"],["","snmp.walk","example"],["","snmp.walk","example"],["SNMP::walk","snmp.walk","refentry"],["SNMP","class.snmp","phpdoc:classref"],["","class.snmpexception","section"],["","class.snmpexception","section"],["","class.snmpexception","varlistentry"],["","class.snmpexception","section"],["SNMPException","class.snmpexception","phpdoc:exceptionref"],["","book.snmp","book"],["","intro.sockets","preface"],["","sockets.requirements","section"],["","sockets.installation","section"],["","sockets.configuration","section"],["","sockets.resources","section"],["","sockets.setup","chapter"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","varlistentry"],["","sockets.constants","appendix"],["","sockets.examples","example"],["","sockets.examples","example"],["","sockets.examples","chapter"],["","sockets.errors","chapter"],["socket_accept","function.socket-accept","refentry"],["","function.socket-bind","example"],["socket_bind","function.socket-bind","refentry"],["socket_clear_error","function.socket-clear-error","refentry"],["socket_close","function.socket-close","refentry"],["socket_cmsg_space","function.socket-cmsg-space","refentry"],["socket_connect","function.socket-connect","refentry"],["socket_create_listen","function.socket-create-listen","refentry"],["","function.socket-create-pair","example"],["","function.socket-create-pair","example"],["socket_create_pair","function.socket-create-pair","refentry"],["socket_create","function.socket-create","refentry"],["","function.socket-get-option","example"],["socket_get_option","function.socket-get-option","refentry"],["socket_getpeername","function.socket-getpeername","refentry"],["socket_getsockname","function.socket-getsockname","refentry"],["","function.socket-import-stream","example"],["socket_import_stream","function.socket-import-stream","refentry"],["","function.socket-last-error","example"],["socket_last_error","function.socket-last-error","refentry"],["socket_listen","function.socket-listen","refentry"],["socket_read","function.socket-read","refentry"],["","function.socket-recv","example"],["socket_recv","function.socket-recv","refentry"],["","function.socket-recvfrom","example"],["socket_recvfrom","function.socket-recvfrom","refentry"],["socket_recvmsg","function.socket-recvmsg","refentry"],["","function.socket-select","example"],["","function.socket-select","example"],["","function.socket-select","example"],["socket_select","function.socket-select","refentry"],["socket_send","function.socket-send","refentry"],["socket_sendmsg","function.socket-sendmsg","refentry"],["","function.socket-sendto","example"],["socket_sendto","function.socket-sendto","refentry"],["","function.socket-set-block","example"],["socket_set_block","function.socket-set-block","refentry"],["","function.socket-set-nonblock","example"],["socket_set_nonblock","function.socket-set-nonblock","refentry"],["","function.socket-set-option","example"],["socket_set_option","function.socket-set-option","refentry"],["socket_shutdown","function.socket-shutdown","refentry"],["","function.socket-strerror","example"],["socket_strerror","function.socket-strerror","refentry"],["socket_write","function.socket-write","refentry"],["","ref.sockets","reference"],["","book.sockets","book"],["","intro.ssh2","preface"],["","ssh2.requirements","section"],["","ssh2.installation","section"],["","ssh2.configuration","section"],["","ssh2.resources","section"],["","ssh2.setup","chapter"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","varlistentry"],["","ssh2.constants","appendix"],["","function.ssh2-auth-agent","example"],["ssh2_auth_agent","function.ssh2-auth-agent","refentry"],["","function.ssh2-auth-hostbased-file","example"],["ssh2_auth_hostbased_file","function.ssh2-auth-hostbased-file","refentry"],["","function.ssh2-auth-none","example"],["ssh2_auth_none","function.ssh2-auth-none","refentry"],["","function.ssh2-auth-password","example"],["ssh2_auth_password","function.ssh2-auth-password","refentry"],["","function.ssh2-auth-pubkey-file","example"],["ssh2_auth_pubkey_file","function.ssh2-auth-pubkey-file","refentry"],["","function.ssh2-connect","example"],["ssh2_connect","function.ssh2-connect","refentry"],["","function.ssh2-exec","example"],["ssh2_exec","function.ssh2-exec","refentry"],["","function.ssh2-fetch-stream","example"],["ssh2_fetch_stream","function.ssh2-fetch-stream","refentry"],["","function.ssh2-fingerprint","example"],["ssh2_fingerprint","function.ssh2-fingerprint","refentry"],["","function.ssh2-methods-negotiated","example"],["ssh2_methods_negotiated","function.ssh2-methods-negotiated","refentry"],["","function.ssh2-publickey-add","example"],["ssh2_publickey_add","function.ssh2-publickey-add","refentry"],["ssh2_publickey_init","function.ssh2-publickey-init","refentry"],["","function.ssh2-publickey-list","example"],["ssh2_publickey_list","function.ssh2-publickey-list","refentry"],["ssh2_publickey_remove","function.ssh2-publickey-remove","refentry"],["","function.ssh2-scp-recv","example"],["ssh2_scp_recv","function.ssh2-scp-recv","refentry"],["","function.ssh2-scp-send","example"],["ssh2_scp_send","function.ssh2-scp-send","refentry"],["","function.ssh2-sftp-chmod","example"],["ssh2_sftp_chmod","function.ssh2-sftp-chmod","refentry"],["","function.ssh2-sftp-lstat","example"],["ssh2_sftp_lstat","function.ssh2-sftp-lstat","refentry"],["","function.ssh2-sftp-mkdir","example"],["ssh2_sftp_mkdir","function.ssh2-sftp-mkdir","refentry"],["","function.ssh2-sftp-readlink","example"],["ssh2_sftp_readlink","function.ssh2-sftp-readlink","refentry"],["","function.ssh2-sftp-realpath","example"],["ssh2_sftp_realpath","function.ssh2-sftp-realpath","refentry"],["","function.ssh2-sftp-rename","example"],["ssh2_sftp_rename","function.ssh2-sftp-rename","refentry"],["","function.ssh2-sftp-rmdir","example"],["ssh2_sftp_rmdir","function.ssh2-sftp-rmdir","refentry"],["","function.ssh2-sftp-stat","example"],["ssh2_sftp_stat","function.ssh2-sftp-stat","refentry"],["","function.ssh2-sftp-symlink","example"],["ssh2_sftp_symlink","function.ssh2-sftp-symlink","refentry"],["","function.ssh2-sftp-unlink","example"],["ssh2_sftp_unlink","function.ssh2-sftp-unlink","refentry"],["","function.ssh2-sftp","example"],["ssh2_sftp","function.ssh2-sftp","refentry"],["","function.ssh2-shell","example"],["ssh2_shell","function.ssh2-shell","refentry"],["","function.ssh2-tunnel","example"],["ssh2_tunnel","function.ssh2-tunnel","refentry"],["","ref.ssh2","reference"],["SSH2","book.ssh2","book"],["","intro.stomp","preface"],["","stomp.requirements","section"],["","stomp.installation","section"],["","stomp.configuration","varlistentry"],["","stomp.configuration","varlistentry"],["","stomp.configuration","varlistentry"],["","stomp.configuration","varlistentry"],["","stomp.configuration","varlistentry"],["","stomp.configuration","section"],["","stomp.resources","section"],["","stomp.setup","chapter"],["","stomp.examples","example"],["","stomp.examples","example"],["","stomp.examples","chapter"],["","function.stomp-connect-error","example"],["stomp_connect_error","function.stomp-connect-error","refentry"],["","function.stomp-version","example"],["stomp_version","function.stomp-version","refentry"],["","ref.stomp","reference"],["","class.stomp","section"],["","class.stomp","section"],["","stomp.abort","example"],["","stomp.abort","example"],["Stomp::abort","stomp.abort","refentry"],["","stomp.ack","example"],["","stomp.ack","example"],["Stomp::ack","stomp.ack","refentry"],["Stomp::begin","stomp.begin","refentry"],["","stomp.commit","example"],["","stomp.commit","example"],["Stomp::commit","stomp.commit","refentry"],["","stomp.construct","example"],["","stomp.construct","example"],["Stomp::__construct","stomp.construct","refentry"],["Stomp::__destruct","stomp.destruct","refentry"],["","stomp.error","example"],["","stomp.error","example"],["Stomp::error","stomp.error","refentry"],["","stomp.getreadtimeout","example"],["","stomp.getreadtimeout","example"],["Stomp::getReadTimeout","stomp.getreadtimeout","refentry"],["","stomp.getsessionid","example"],["","stomp.getsessionid","example"],["Stomp::getSessionId","stomp.getsessionid","refentry"],["Stomp::hasFrame","stomp.hasframe","refentry"],["","stomp.readframe","example"],["","stomp.readframe","example"],["Stomp::readFrame","stomp.readframe","refentry"],["Stomp::send","stomp.send","refentry"],["","stomp.setreadtimeout","example"],["","stomp.setreadtimeout","example"],["Stomp::setReadTimeout","stomp.setreadtimeout","refentry"],["Stomp::subscribe","stomp.subscribe","refentry"],["Stomp::unsubscribe","stomp.unsubscribe","refentry"],["Stomp","class.stomp","phpdoc:classref"],["","class.stompframe","section"],["","class.stompframe","section"],["","class.stompframe","varlistentry"],["","class.stompframe","varlistentry"],["","class.stompframe","varlistentry"],["","class.stompframe","section"],["StompFrame::__construct","stompframe.construct","refentry"],["StompFrame","class.stompframe","phpdoc:classref"],["","class.stompexception","section"],["","class.stompexception","section"],["StompException::getDetails","stomp.getdetails","refentry"],["StompException","class.stompexception","phpdoc:classref"],["Stomp","book.stomp","book"],["","intro.svm","preface"],["","svm.requirements","section"],["","svm.installation","section"],["","svm.configuration","section"],["","svm.resources","section"],["","svm.setup","chapter"],["","svm.examples","example"],["","svm.examples","example"],["","svm.examples","chapter"],["","class.svm","section"],["","class.svm","section"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","varlistentry"],["","class.svm","section"],["","class.svm","section"],["SVM::__construct","svm.construct","refentry"],["SVM::crossvalidate","svm.crossvalidate","refentry"],["SVM::getOptions","svm.getoptions","refentry"],["SVM::setOptions","svm.setoptions","refentry"],["SVM::train","svm.train","refentry"],["SVM","class.svm","phpdoc:classref"],["","class.svmmodel","section"],["","class.svmmodel","section"],["SVMModel::checkProbabilityModel","svmmodel.checkprobabilitymodel","refentry"],["SVMModel::__construct","svmmodel.construct","refentry"],["SVMModel::getLabels","svmmodel.getlabels","refentry"],["SVMModel::getNrClass","svmmodel.getnrclass","refentry"],["SVMModel::getSvmType","svmmodel.getsvmtype","refentry"],["SVMModel::getSvrProbability","svmmodel.getsvrprobability","refentry"],["SVMModel::load","svmmodel.load","refentry"],["SVMModel::predict_probability","svmmodel.predict-probability","refentry"],["SVMModel::predict","svmmodel.predict","refentry"],["SVMModel::save","svmmodel.save","refentry"],["SVMModel","class.svmmodel","phpdoc:classref"],["SVM","book.svm","book"],["","intro.svn","preface"],["","svn.requirements","section"],["","svn.installation","section"],["","svn.configuration","section"],["","svn.resources","section"],["","svn.setup","chapter"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","variablelist"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","variablelist"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","varlistentry"],["","svn.constants","variablelist"],["","svn.constants","appendix"],["","function.svn-add","example"],["svn_add","function.svn-add","refentry"],["svn_auth_get_parameter","function.svn-auth-get-parameter","refentry"],["","function.svn-auth-set-parameter","example"],["svn_auth_set_parameter","function.svn-auth-set-parameter","refentry"],["","function.svn-blame","example"],["svn_blame","function.svn-blame","refentry"],["","function.svn-cat","example"],["svn_cat","function.svn-cat","refentry"],["","function.svn-checkout","example"],["svn_checkout","function.svn-checkout","refentry"],["","function.svn-cleanup","example"],["svn_cleanup","function.svn-cleanup","refentry"],["","function.svn-client-version","example"],["svn_client_version","function.svn-client-version","refentry"],["","function.svn-commit","example"],["svn_commit","function.svn-commit","refentry"],["svn_delete","function.svn-delete","refentry"],["","function.svn-diff","example"],["","function.svn-diff","example"],["","function.svn-diff","example"],["svn_diff","function.svn-diff","refentry"],["","function.svn-export","example"],["svn_export","function.svn-export","refentry"],["svn_fs_abort_txn","function.svn-fs-abort-txn","refentry"],["svn_fs_apply_text","function.svn-fs-apply-text","refentry"],["svn_fs_begin_txn2","function.svn-fs-begin-txn2","refentry"],["svn_fs_change_node_prop","function.svn-fs-change-node-prop","refentry"],["svn_fs_check_path","function.svn-fs-check-path","refentry"],["svn_fs_contents_changed","function.svn-fs-contents-changed","refentry"],["svn_fs_copy","function.svn-fs-copy","refentry"],["svn_fs_delete","function.svn-fs-delete","refentry"],["svn_fs_dir_entries","function.svn-fs-dir-entries","refentry"],["svn_fs_file_contents","function.svn-fs-file-contents","refentry"],["svn_fs_file_length","function.svn-fs-file-length","refentry"],["svn_fs_is_dir","function.svn-fs-is-dir","refentry"],["svn_fs_is_file","function.svn-fs-is-file","refentry"],["svn_fs_make_dir","function.svn-fs-make-dir","refentry"],["svn_fs_make_file","function.svn-fs-make-file","refentry"],["svn_fs_node_created_rev","function.svn-fs-node-created-rev","refentry"],["svn_fs_node_prop","function.svn-fs-node-prop","refentry"],["svn_fs_props_changed","function.svn-fs-props-changed","refentry"],["svn_fs_revision_prop","function.svn-fs-revision-prop","refentry"],["svn_fs_revision_root","function.svn-fs-revision-root","refentry"],["svn_fs_txn_root","function.svn-fs-txn-root","refentry"],["svn_fs_youngest_rev","function.svn-fs-youngest-rev","refentry"],["","function.svn-import","example"],["svn_import","function.svn-import","refentry"],["","function.svn-log","example"],["svn_log","function.svn-log","refentry"],["","function.svn-ls","example"],["svn_ls","function.svn-ls","refentry"],["svn_mkdir","function.svn-mkdir","refentry"],["svn_repos_create","function.svn-repos-create","refentry"],["svn_repos_fs_begin_txn_for_commit","function.svn-repos-fs-begin-txn-for-commit","refentry"],["svn_repos_fs_commit_txn","function.svn-repos-fs-commit-txn","refentry"],["svn_repos_fs","function.svn-repos-fs","refentry"],["svn_repos_hotcopy","function.svn-repos-hotcopy","refentry"],["svn_repos_open","function.svn-repos-open","refentry"],["svn_repos_recover","function.svn-repos-recover","refentry"],["svn_revert","function.svn-revert","refentry"],["","function.svn-status","example"],["svn_status","function.svn-status","refentry"],["","function.svn-update","example"],["svn_update","function.svn-update","refentry"],["","ref.svn","reference"],["SVN","book.svn","book"],["","intro.tcpwrap","preface"],["","tcpwrap.requirements","section"],["","tcpwrap.installation","section"],["","tcpwrap.configuration","section"],["","tcpwrap.resources","section"],["","tcpwrap.setup","chapter"],["","tcpwrap.constants","appendix"],["","function.tcpwrap-check","example"],["tcpwrap_check","function.tcpwrap-check","refentry"],["","ref.tcpwrap","reference"],["TCP","book.tcpwrap","book"],["","intro.varnish","preface"],["","varnish.requirements","section"],["","varnish.installation","section"],["","varnish.configuration","section"],["","varnish.resources","section"],["","varnish.setup","chapter"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","varlistentry"],["","varnish.constants","appendix"],["","varnish.example.admin","example"],["","varnish.example.admin","section"],["","varnish.example.stat","example"],["","varnish.example.stat","section"],["","varnish.example.log","example"],["","varnish.example.log","section"],["","varnish.examples","chapter"],["","class.varnishadmin","section"],["","class.varnishadmin","section"],["VarnishAdmin::auth","varnishadmin.auth","refentry"],["VarnishAdmin::ban","varnishadmin.ban","refentry"],["VarnishAdmin::banUrl","varnishadmin.banurl","refentry"],["VarnishAdmin::clearPanic","varnishadmin.clearpanic","refentry"],["VarnishAdmin::connect","varnishadmin.connect","refentry"],["","varnishadmin.construct","example"],["VarnishAdmin::__construct","varnishadmin.construct","refentry"],["VarnishAdmin::disconnect","varnishadmin.disconnect","refentry"],["VarnishAdmin::getPanic","varnishadmin.getpanic","refentry"],["VarnishAdmin::getParams","varnishadmin.getparams","refentry"],["VarnishAdmin::isRunning","varnishadmin.isrunning","refentry"],["VarnishAdmin::setCompat","varnishadmin.setcompat","refentry"],["VarnishAdmin::setHost","varnishadmin.sethost","refentry"],["VarnishAdmin::setIdent","varnishadmin.setident","refentry"],["VarnishAdmin::setParam","varnishadmin.setparam","refentry"],["VarnishAdmin::setPort","varnishadmin.setport","refentry"],["VarnishAdmin::setSecret","varnishadmin.setsecret","refentry"],["VarnishAdmin::setTimeout","varnishadmin.settimeout","refentry"],["VarnishAdmin::start","varnishadmin.start","refentry"],["VarnishAdmin::stop","varnishadmin.stop","refentry"],["VarnishAdmin","class.varnishadmin","phpdoc:classref"],["","class.varnishstat","section"],["","class.varnishstat","section"],["VarnishStat::__construct","varnishstat.construct","refentry"],["VarnishStat::getSnapshot","varnishstat.getsnapshot","refentry"],["VarnishStat","class.varnishstat","phpdoc:classref"],["","class.varnishlog","section"],["","class.varnishlog","section"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","varlistentry"],["","class.varnishlog","section"],["VarnishLog::__construct","varnishlog.construct","refentry"],["VarnishLog::getLine","varnishlog.getline","refentry"],["VarnishLog::getTagName","varnishlog.gettagname","refentry"],["VarnishLog","class.varnishlog","phpdoc:classref"],["Varnish","book.varnish","book"],["","intro.yaz","preface"],["","yaz.requirements","section"],["","yaz.installation","section"],["","yaz.configuration","section"],["","yaz.resources","section"],["","yaz.setup","chapter"],["","yaz.constants","appendix"],["","yaz.examples","example"],["","yaz.examples","chapter"],["yaz_addinfo","function.yaz-addinfo","refentry"],["","function.yaz-ccl-conf","example"],["yaz_ccl_conf","function.yaz-ccl-conf","refentry"],["","function.yaz-ccl-parse","example"],["yaz_ccl_parse","function.yaz-ccl-parse","refentry"],["yaz_close","function.yaz-close","refentry"],["yaz_connect","function.yaz-connect","refentry"],["yaz_database","function.yaz-database","refentry"],["yaz_element","function.yaz-element","refentry"],["yaz_errno","function.yaz-errno","refentry"],["yaz_error","function.yaz-error","refentry"],["yaz_es_result","function.yaz-es-result","refentry"],["","function.yaz-es","example"],["yaz_es","function.yaz-es","refentry"],["yaz_get_option","function.yaz-get-option","refentry"],["yaz_hits","function.yaz-hits","refentry"],["yaz_itemorder","function.yaz-itemorder","refentry"],["yaz_present","function.yaz-present","refentry"],["yaz_range","function.yaz-range","refentry"],["","function.yaz-record","example"],["","function.yaz-record","example"],["yaz_record","function.yaz-record","refentry"],["yaz_scan_result","function.yaz-scan-result","refentry"],["","function.yaz-scan","example"],["yaz_scan","function.yaz-scan","refentry"],["yaz_schema","function.yaz-schema","refentry"],["","function.yaz-search","example"],["yaz_search","function.yaz-search","refentry"],["yaz_set_option","function.yaz-set-option","refentry"],["","function.yaz-sort","example"],["yaz_sort","function.yaz-sort","refentry"],["yaz_syntax","function.yaz-syntax","refentry"],["yaz_wait","function.yaz-wait","refentry"],["","ref.yaz","reference"],["","book.yaz","book"],["","intro.nis","preface"],["","nis.requirements","section"],["","nis.installation","section"],["","nis.configuration","section"],["","nis.resources","section"],["","nis.setup","chapter"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","varlistentry"],["","nis.constants","appendix"],["yp_all","function.yp-all","refentry"],["yp_cat","function.yp-cat","refentry"],["","function.yp-err-string","example"],["yp_err_string","function.yp-err-string","refentry"],["yp_errno","function.yp-errno","refentry"],["","function.yp-first","example"],["yp_first","function.yp-first","refentry"],["","function.yp-get-default-domain","example"],["yp_get_default_domain","function.yp-get-default-domain","refentry"],["","function.yp-master","example"],["yp_master","function.yp-master","refentry"],["","function.yp-match","example"],["yp_match","function.yp-match","refentry"],["","function.yp-next","example"],["yp_next","function.yp-next","refentry"],["","function.yp-order","example"],["yp_order","function.yp-order","refentry"],["","ref.nis","reference"],["","book.nis","book"],["","intro.zmq","preface"],["","zmq.requirements","section"],["","zmq.requirements","section"],["","zmq.setup","chapter"],["","class.zmq","section"],["","class.zmq","section"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","varlistentry"],["","class.zmq","section"],["","class.zmq","section"],["ZMQ::__construct","zmq.construct","refentry"],["ZMQ","class.zmq","phpdoc:classref"],["","class.zmqcontext","section"],["","class.zmqcontext","section"],["","zmqcontext.construct","example"],["ZMQContext::__construct","zmqcontext.construct","refentry"],["ZMQContext::getOpt","zmqcontext.getopt","refentry"],["","zmqcontext.getsocket","example"],["ZMQContext::getSocket","zmqcontext.getsocket","refentry"],["ZMQContext::isPersistent","zmqcontext.ispersistent","refentry"],["ZMQContext::setOpt","zmqcontext.setopt","refentry"],["ZMQContext","class.zmqcontext","phpdoc:classref"],["","class.zmqsocket","section"],["","class.zmqsocket","section"],["ZMQSocket::bind","zmqsocket.bind","refentry"],["","zmqsocket.connect","example"],["ZMQSocket::connect","zmqsocket.connect","refentry"],["","zmqsocket.construct","example"],["ZMQSocket::__construct","zmqsocket.construct","refentry"],["ZMQSocket::disconnect","zmqsocket.disconnect","refentry"],["ZMQSocket::getEndpoints","zmqsocket.getendpoints","refentry"],["ZMQSocket::getPersistentId","zmqsocket.getpersistentid","refentry"],["ZMQSocket::getSocketType","zmqsocket.getsockettype","refentry"],["ZMQSocket::getSockOpt","zmqsocket.getsockopt","refentry"],["ZMQSocket::isPersistent","zmqsocket.ispersistent","refentry"],["","zmqsocket.recv","example"],["ZMQSocket::recv","zmqsocket.recv","refentry"],["ZMQSocket::recvMulti","zmqsocket.recvmulti","refentry"],["ZMQSocket::send","zmqsocket.send","refentry"],["ZMQSocket::sendmulti","zmqsocket.sendmulti","refentry"],["ZMQSocket::setSockOpt","zmqsocket.setsockopt","refentry"],["ZMQSocket::unbind","zmqsocket.unbind","refentry"],["ZMQSocket","class.zmqsocket","phpdoc:classref"],["","class.zmqpoll","section"],["","class.zmqpoll","section"],["ZMQPoll::add","zmqpoll.add","refentry"],["ZMQPoll::clear","zmqpoll.clear","refentry"],["ZMQPoll::count","zmqpoll.count","refentry"],["ZMQPoll::getLastErrors","zmqpoll.getlasterrors","refentry"],["","zmqpoll.poll","example"],["ZMQPoll::poll","zmqpoll.poll","refentry"],["ZMQPoll::remove","zmqpoll.remove","refentry"],["ZMQPoll","class.zmqpoll","phpdoc:classref"],["","class.zmqdevice","section"],["","class.zmqdevice","section"],["ZMQDevice::__construct","zmqdevice.construct","refentry"],["ZMQDevice::getIdleTimeout","zmqdevice.getidletimeout","refentry"],["ZMQDevice::getTimerTimeout","zmqdevice.gettimertimeout","refentry"],["ZMQDevice::run","zmqdevice.run","refentry"],["ZMQDevice::setIdleCallback","zmqdevice.setidlecallback","refentry"],["ZMQDevice::setIdleTimeout","zmqdevice.setidletimeout","refentry"],["ZMQDevice::setTimerCallback","zmqdevice.settimercallback","refentry"],["ZMQDevice::setTimerTimeout","zmqdevice.settimertimeout","refentry"],["ZMQDevice","class.zmqdevice","phpdoc:classref"],["0MQ messaging","book.zmq","book"],["","refs.remote.other","set"],["","intro.mnogosearch","preface"],["","mnogosearch.requirements","section"],["","mnogosearch.installation","section"],["","mnogosearch.configuration","section"],["","mnogosearch.resources","section"],["","mnogosearch.setup","chapter"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","varlistentry"],["","mnogosearch.constants","appendix"],["","function.udm-add-search-limit","example"],["udm_add_search_limit","function.udm-add-search-limit","refentry"],["udm_alloc_agent_array","function.udm-alloc-agent-array","refentry"],["udm_alloc_agent","function.udm-alloc-agent","refentry"],["","function.udm-api-version","example"],["udm_api_version","function.udm-api-version","refentry"],["","function.udm-cat-list","example"],["udm_cat_list","function.udm-cat-list","refentry"],["","function.udm-cat-path","example"],["udm_cat_path","function.udm-cat-path","refentry"],["udm_check_charset","function.udm-check-charset","refentry"],["udm_check_stored","function.udm-check-stored","refentry"],["udm_clear_search_limits","function.udm-clear-search-limits","refentry"],["udm_close_stored","function.udm-close-stored","refentry"],["udm_crc32","function.udm-crc32","refentry"],["udm_errno","function.udm-errno","refentry"],["udm_error","function.udm-error","refentry"],["udm_find","function.udm-find","refentry"],["udm_free_agent","function.udm-free-agent","refentry"],["udm_free_ispell_data","function.udm-free-ispell-data","refentry"],["udm_free_res","function.udm-free-res","refentry"],["udm_get_doc_count","function.udm-get-doc-count","refentry"],["udm_get_res_field","function.udm-get-res-field","refentry"],["udm_get_res_param","function.udm-get-res-param","refentry"],["udm_hash32","function.udm-hash32","refentry"],["","function.udm-load-ispell-data","example"],["","function.udm-load-ispell-data","example"],["udm_load_ispell_data","function.udm-load-ispell-data","refentry"],["udm_open_stored","function.udm-open-stored","refentry"],["udm_set_agent_param","function.udm-set-agent-param","refentry"],["","ref.mnogosearch","reference"],["","book.mnogosearch","book"],["","intro.solr","preface"],["","solr.requirements","section"],["","solr.installation","section"],["","solr.configuration","section"],["","solr.resources","section"],["","solr.setup","chapter"],["","solr.constants","varlistentry"],["","solr.constants","varlistentry"],["","solr.constants","varlistentry"],["","solr.constants","varlistentry"],["","solr.constants","appendix"],["","function.solr-get-version","example"],["solr_get_version","function.solr-get-version","refentry"],["","ref.solr","reference"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","example"],["","solr.examples","chapter"],["","class.solrutils","section"],["","class.solrutils","section"],["SolrUtils::digestXmlResponse","solrutils.digestxmlresponse","refentry"],["SolrUtils::escapeQueryChars","solrutils.escapequerychars","refentry"],["SolrUtils::getSolrVersion","solrutils.getsolrversion","refentry"],["SolrUtils::queryPhrase","solrutils.queryphrase","refentry"],["SolrUtils","class.solrutils","phpdoc:classref"],["","class.solrinputdocument","section"],["","class.solrinputdocument","section"],["","class.solrinputdocument","varlistentry"],["","class.solrinputdocument","varlistentry"],["","class.solrinputdocument","varlistentry"],["","class.solrinputdocument","varlistentry"],["","class.solrinputdocument","varlistentry"],["","class.solrinputdocument","varlistentry"],["","class.solrinputdocument","section"],["","class.solrinputdocument","section"],["SolrInputDocument::addField","solrinputdocument.addfield","refentry"],["SolrInputDocument::clear","solrinputdocument.clear","refentry"],["SolrInputDocument::__clone","solrinputdocument.clone","refentry"],["SolrInputDocument::__construct","solrinputdocument.construct","refentry"],["SolrInputDocument::deleteField","solrinputdocument.deletefield","refentry"],["SolrInputDocument::__destruct","solrinputdocument.destruct","refentry"],["SolrInputDocument::fieldExists","solrinputdocument.fieldexists","refentry"],["SolrInputDocument::getBoost","solrinputdocument.getboost","refentry"],["SolrInputDocument::getField","solrinputdocument.getfield","refentry"],["SolrInputDocument::getFieldBoost","solrinputdocument.getfieldboost","refentry"],["SolrInputDocument::getFieldCount","solrinputdocument.getfieldcount","refentry"],["SolrInputDocument::getFieldNames","solrinputdocument.getfieldnames","refentry"],["SolrInputDocument::merge","solrinputdocument.merge","refentry"],["SolrInputDocument::reset","solrinputdocument.reset","refentry"],["SolrInputDocument::setBoost","solrinputdocument.setboost","refentry"],["SolrInputDocument::setFieldBoost","solrinputdocument.setfieldboost","refentry"],["SolrInputDocument::sort","solrinputdocument.sort","refentry"],["SolrInputDocument::toArray","solrinputdocument.toarray","refentry"],["SolrInputDocument","class.solrinputdocument","phpdoc:classref"],["","class.solrdocument","section"],["","class.solrdocument","section"],["","class.solrdocument","varlistentry"],["","class.solrdocument","varlistentry"],["","class.solrdocument","varlistentry"],["","class.solrdocument","varlistentry"],["","class.solrdocument","varlistentry"],["","class.solrdocument","varlistentry"],["","class.solrdocument","section"],["SolrDocument::addField","solrdocument.addfield","refentry"],["SolrDocument::clear","solrdocument.clear","refentry"],["SolrDocument::__clone","solrdocument.clone","refentry"],["SolrDocument::__construct","solrdocument.construct","refentry"],["SolrDocument::current","solrdocument.current","refentry"],["SolrDocument::deleteField","solrdocument.deletefield","refentry"],["SolrDocument::__destruct","solrdocument.destruct","refentry"],["SolrDocument::fieldExists","solrdocument.fieldexists","refentry"],["SolrDocument::__get","solrdocument.get","refentry"],["SolrDocument::getField","solrdocument.getfield","refentry"],["SolrDocument::getFieldCount","solrdocument.getfieldcount","refentry"],["SolrDocument::getFieldNames","solrdocument.getfieldnames","refentry"],["SolrDocument::getInputDocument","solrdocument.getinputdocument","refentry"],["SolrDocument::__isset","solrdocument.isset","refentry"],["SolrDocument::key","solrdocument.key","refentry"],["SolrDocument::merge","solrdocument.merge","refentry"],["SolrDocument::next","solrdocument.next","refentry"],["SolrDocument::offsetExists","solrdocument.offsetexists","refentry"],["SolrDocument::offsetGet","solrdocument.offsetget","refentry"],["SolrDocument::offsetSet","solrdocument.offsetset","refentry"],["SolrDocument::offsetUnset","solrdocument.offsetunset","refentry"],["SolrDocument::reset","solrdocument.reset","refentry"],["SolrDocument::rewind","solrdocument.rewind","refentry"],["SolrDocument::serialize","solrdocument.serialize","refentry"],["SolrDocument::__set","solrdocument.set","refentry"],["SolrDocument::sort","solrdocument.sort","refentry"],["","solrdocument.toarray","example"],["SolrDocument::toArray","solrdocument.toarray","refentry"],["SolrDocument::unserialize","solrdocument.unserialize","refentry"],["SolrDocument::__unset","solrdocument.unset","refentry"],["SolrDocument::valid","solrdocument.valid","refentry"],["SolrDocument","class.solrdocument","phpdoc:classref"],["","class.solrdocumentfield","section"],["","class.solrdocumentfield","section"],["","class.solrdocumentfield","varlistentry"],["","class.solrdocumentfield","varlistentry"],["","class.solrdocumentfield","varlistentry"],["","class.solrdocumentfield","section"],["SolrDocumentField::__construct","solrdocumentfield.construct","refentry"],["SolrDocumentField::__destruct","solrdocumentfield.destruct","refentry"],["SolrDocumentField","class.solrdocumentfield","phpdoc:classref"],["","class.solrobject","section"],["","class.solrobject","section"],["","solrobject.construct","example"],["SolrObject::__construct","solrobject.construct","refentry"],["SolrObject::__destruct","solrobject.destruct","refentry"],["SolrObject::getPropertyNames","solrobject.getpropertynames","refentry"],["SolrObject::offsetExists","solrobject.offsetexists","refentry"],["SolrObject::offsetGet","solrobject.offsetget","refentry"],["SolrObject::offsetSet","solrobject.offsetset","refentry"],["","solrobject.offsetunset","example"],["SolrObject::offsetUnset","solrobject.offsetunset","refentry"],["SolrObject","class.solrobject","phpdoc:classref"],["","class.solrclient","section"],["","class.solrclient","section"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","varlistentry"],["","class.solrclient","section"],["","solrclient.adddocument","example"],["SolrClient::addDocument","solrclient.adddocument","refentry"],["","solrclient.adddocuments","example"],["SolrClient::addDocuments","solrclient.adddocuments","refentry"],["SolrClient::commit","solrclient.commit","refentry"],["","solrclient.construct","example"],["SolrClient::__construct","solrclient.construct","refentry"],["SolrClient::deleteById","solrclient.deletebyid","refentry"],["SolrClient::deleteByIds","solrclient.deletebyids","refentry"],["SolrClient::deleteByQueries","solrclient.deletebyqueries","refentry"],["","solrclient.deletebyquery","example"],["SolrClient::deleteByQuery","solrclient.deletebyquery","refentry"],["SolrClient::__destruct","solrclient.destruct","refentry"],["SolrClient::getDebug","solrclient.getdebug","refentry"],["SolrClient::getOptions","solrclient.getoptions","refentry"],["SolrClient::optimize","solrclient.optimize","refentry"],["","solrclient.ping","example"],["SolrClient::ping","solrclient.ping","refentry"],["","solrclient.query","example"],["SolrClient::query","solrclient.query","refentry"],["","solrclient.request","example"],["SolrClient::request","solrclient.request","refentry"],["SolrClient::rollback","solrclient.rollback","refentry"],["","solrclient.setresponsewriter","example"],["SolrClient::setResponseWriter","solrclient.setresponsewriter","refentry"],["SolrClient::setServlet","solrclient.setservlet","refentry"],["SolrClient::threads","solrclient.threads","refentry"],["SolrClient","class.solrclient","phpdoc:classref"],["","class.solrresponse","section"],["","class.solrresponse","section"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","section"],["","class.solrresponse","varlistentry"],["","class.solrresponse","varlistentry"],["","class.solrresponse","section"],["","class.solrresponse","section"],["SolrResponse::getDigestedResponse","solrresponse.getdigestedresponse","refentry"],["SolrResponse::getHttpStatus","solrresponse.gethttpstatus","refentry"],["SolrResponse::getHttpStatusMessage","solrresponse.gethttpstatusmessage","refentry"],["SolrResponse::getRawRequest","solrresponse.getrawrequest","refentry"],["SolrResponse::getRawRequestHeaders","solrresponse.getrawrequestheaders","refentry"],["SolrResponse::getRawResponse","solrresponse.getrawresponse","refentry"],["SolrResponse::getRawResponseHeaders","solrresponse.getrawresponseheaders","refentry"],["SolrResponse::getRequestUrl","solrresponse.getrequesturl","refentry"],["SolrResponse::getResponse","solrresponse.getresponse","refentry"],["SolrResponse::setParseMode","solrresponse.setparsemode","refentry"],["SolrResponse::success","solrresponse.success","refentry"],["SolrResponse","class.solrresponse","phpdoc:classref"],["","class.solrqueryresponse","section"],["","class.solrqueryresponse","section"],["","class.solrqueryresponse","varlistentry"],["","class.solrqueryresponse","varlistentry"],["","class.solrqueryresponse","section"],["","class.solrqueryresponse","section"],["SolrQueryResponse::__construct","solrqueryresponse.construct","refentry"],["SolrQueryResponse::__destruct","solrqueryresponse.destruct","refentry"],["SolrQueryResponse","class.solrqueryresponse","phpdoc:classref"],["","class.solrupdateresponse","section"],["","class.solrupdateresponse","section"],["","class.solrupdateresponse","varlistentry"],["","class.solrupdateresponse","varlistentry"],["","class.solrupdateresponse","section"],["","class.solrupdateresponse","section"],["SolrUpdateResponse::__construct","solrupdateresponse.construct","refentry"],["SolrUpdateResponse::__destruct","solrupdateresponse.destruct","refentry"],["SolrUpdateResponse","class.solrupdateresponse","phpdoc:classref"],["","class.solrpingresponse","section"],["","class.solrpingresponse","section"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","section"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","varlistentry"],["","class.solrpingresponse","section"],["","class.solrpingresponse","section"],["SolrPingResponse::__construct","solrpingresponse.construct","refentry"],["SolrPingResponse::__destruct","solrpingresponse.destruct","refentry"],["SolrPingResponse::getResponse","solrpingresponse.getresponse","refentry"],["SolrPingResponse","class.solrpingresponse","phpdoc:classref"],["","class.solrgenericresponse","section"],["","class.solrgenericresponse","section"],["","class.solrgenericresponse","varlistentry"],["","class.solrgenericresponse","varlistentry"],["","class.solrgenericresponse","section"],["","class.solrgenericresponse","section"],["SolrGenericResponse::__construct","solrgenericresponse.construct","refentry"],["SolrGenericResponse::__destruct","solrgenericresponse.destruct","refentry"],["SolrGenericResponse","class.solrgenericresponse","phpdoc:classref"],["","class.solrparams","section"],["","class.solrparams","section"],["SolrParams::add","solrparams.add","refentry"],["SolrParams::addParam","solrparams.addparam","refentry"],["SolrParams::get","solrparams.get","refentry"],["SolrParams::getParam","solrparams.getparam","refentry"],["SolrParams::getParams","solrparams.getparams","refentry"],["SolrParams::getPreparedParams","solrparams.getpreparedparams","refentry"],["SolrParams::serialize","solrparams.serialize","refentry"],["SolrParams::set","solrparams.set","refentry"],["","solrparams.setparam","example"],["SolrParams::setParam","solrparams.setparam","refentry"],["SolrParams::toString","solrparams.tostring","refentry"],["SolrParams::unserialize","solrparams.unserialize","refentry"],["SolrParams","class.solrparams","phpdoc:classref"],["","class.solrmodifiableparams","section"],["","class.solrmodifiableparams","section"],["SolrModifiableParams::__construct","solrmodifiableparams.construct","refentry"],["SolrModifiableParams::__destruct","solrmodifiableparams.destruct","refentry"],["SolrModifiableParams","class.solrmodifiableparams","phpdoc:classref"],["","class.solrquery","section"],["","class.solrquery","section"],["","class.solrquery","varlistentry"],["","class.solrquery","varlistentry"],["","class.solrquery","varlistentry"],["","class.solrquery","varlistentry"],["","class.solrquery","varlistentry"],["","class.solrquery","varlistentry"],["","class.solrquery","section"],["SolrQuery::addFacetDateField","solrquery.addfacetdatefield","refentry"],["SolrQuery::addFacetDateOther","solrquery.addfacetdateother","refentry"],["","solrquery.addfacetfield","example"],["SolrQuery::addFacetField","solrquery.addfacetfield","refentry"],["SolrQuery::addFacetQuery","solrquery.addfacetquery","refentry"],["SolrQuery::addField","solrquery.addfield","refentry"],["","solrquery.addfilterquery","example"],["SolrQuery::addFilterQuery","solrquery.addfilterquery","refentry"],["SolrQuery::addHighlightField","solrquery.addhighlightfield","refentry"],["SolrQuery::addMltField","solrquery.addmltfield","refentry"],["SolrQuery::addMltQueryField","solrquery.addmltqueryfield","refentry"],["SolrQuery::addSortField","solrquery.addsortfield","refentry"],["SolrQuery::addStatsFacet","solrquery.addstatsfacet","refentry"],["SolrQuery::addStatsField","solrquery.addstatsfield","refentry"],["SolrQuery::__construct","solrquery.construct","refentry"],["SolrQuery::__destruct","solrquery.destruct","refentry"],["SolrQuery::getFacet","solrquery.getfacet","refentry"],["SolrQuery::getFacetDateEnd","solrquery.getfacetdateend","refentry"],["SolrQuery::getFacetDateFields","solrquery.getfacetdatefields","refentry"],["SolrQuery::getFacetDateGap","solrquery.getfacetdategap","refentry"],["SolrQuery::getFacetDateHardEnd","solrquery.getfacetdatehardend","refentry"],["SolrQuery::getFacetDateOther","solrquery.getfacetdateother","refentry"],["SolrQuery::getFacetDateStart","solrquery.getfacetdatestart","refentry"],["SolrQuery::getFacetFields","solrquery.getfacetfields","refentry"],["SolrQuery::getFacetLimit","solrquery.getfacetlimit","refentry"],["SolrQuery::getFacetMethod","solrquery.getfacetmethod","refentry"],["SolrQuery::getFacetMinCount","solrquery.getfacetmincount","refentry"],["SolrQuery::getFacetMissing","solrquery.getfacetmissing","refentry"],["SolrQuery::getFacetOffset","solrquery.getfacetoffset","refentry"],["SolrQuery::getFacetPrefix","solrquery.getfacetprefix","refentry"],["SolrQuery::getFacetQueries","solrquery.getfacetqueries","refentry"],["SolrQuery::getFacetSort","solrquery.getfacetsort","refentry"],["SolrQuery::getFields","solrquery.getfields","refentry"],["SolrQuery::getFilterQueries","solrquery.getfilterqueries","refentry"],["SolrQuery::getHighlight","solrquery.gethighlight","refentry"],["SolrQuery::getHighlightAlternateField","solrquery.gethighlightalternatefield","refentry"],["SolrQuery::getHighlightFields","solrquery.gethighlightfields","refentry"],["SolrQuery::getHighlightFormatter","solrquery.gethighlightformatter","refentry"],["SolrQuery::getHighlightFragmenter","solrquery.gethighlightfragmenter","refentry"],["SolrQuery::getHighlightFragsize","solrquery.gethighlightfragsize","refentry"],["SolrQuery::getHighlightHighlightMultiTerm","solrquery.gethighlighthighlightmultiterm","refentry"],["SolrQuery::getHighlightMaxAlternateFieldLength","solrquery.gethighlightmaxalternatefieldlength","refentry"],["SolrQuery::getHighlightMaxAnalyzedChars","solrquery.gethighlightmaxanalyzedchars","refentry"],["SolrQuery::getHighlightMergeContiguous","solrquery.gethighlightmergecontiguous","refentry"],["SolrQuery::getHighlightRegexMaxAnalyzedChars","solrquery.gethighlightregexmaxanalyzedchars","refentry"],["SolrQuery::getHighlightRegexPattern","solrquery.gethighlightregexpattern","refentry"],["SolrQuery::getHighlightRegexSlop","solrquery.gethighlightregexslop","refentry"],["SolrQuery::getHighlightRequireFieldMatch","solrquery.gethighlightrequirefieldmatch","refentry"],["SolrQuery::getHighlightSimplePost","solrquery.gethighlightsimplepost","refentry"],["SolrQuery::getHighlightSimplePre","solrquery.gethighlightsimplepre","refentry"],["SolrQuery::getHighlightSnippets","solrquery.gethighlightsnippets","refentry"],["SolrQuery::getHighlightUsePhraseHighlighter","solrquery.gethighlightusephrasehighlighter","refentry"],["SolrQuery::getMlt","solrquery.getmlt","refentry"],["SolrQuery::getMltBoost","solrquery.getmltboost","refentry"],["SolrQuery::getMltCount","solrquery.getmltcount","refentry"],["SolrQuery::getMltFields","solrquery.getmltfields","refentry"],["SolrQuery::getMltMaxNumQueryTerms","solrquery.getmltmaxnumqueryterms","refentry"],["SolrQuery::getMltMaxNumTokens","solrquery.getmltmaxnumtokens","refentry"],["SolrQuery::getMltMaxWordLength","solrquery.getmltmaxwordlength","refentry"],["SolrQuery::getMltMinDocFrequency","solrquery.getmltmindocfrequency","refentry"],["SolrQuery::getMltMinTermFrequency","solrquery.getmltmintermfrequency","refentry"],["SolrQuery::getMltMinWordLength","solrquery.getmltminwordlength","refentry"],["SolrQuery::getMltQueryFields","solrquery.getmltqueryfields","refentry"],["SolrQuery::getQuery","solrquery.getquery","refentry"],["SolrQuery::getRows","solrquery.getrows","refentry"],["SolrQuery::getSortFields","solrquery.getsortfields","refentry"],["SolrQuery::getStart","solrquery.getstart","refentry"],["SolrQuery::getStats","solrquery.getstats","refentry"],["SolrQuery::getStatsFacets","solrquery.getstatsfacets","refentry"],["SolrQuery::getStatsFields","solrquery.getstatsfields","refentry"],["SolrQuery::getTerms","solrquery.getterms","refentry"],["SolrQuery::getTermsField","solrquery.gettermsfield","refentry"],["SolrQuery::getTermsIncludeLowerBound","solrquery.gettermsincludelowerbound","refentry"],["SolrQuery::getTermsIncludeUpperBound","solrquery.gettermsincludeupperbound","refentry"],["SolrQuery::getTermsLimit","solrquery.gettermslimit","refentry"],["SolrQuery::getTermsLowerBound","solrquery.gettermslowerbound","refentry"],["SolrQuery::getTermsMaxCount","solrquery.gettermsmaxcount","refentry"],["SolrQuery::getTermsMinCount","solrquery.gettermsmincount","refentry"],["SolrQuery::getTermsPrefix","solrquery.gettermsprefix","refentry"],["SolrQuery::getTermsReturnRaw","solrquery.gettermsreturnraw","refentry"],["SolrQuery::getTermsSort","solrquery.gettermssort","refentry"],["SolrQuery::getTermsUpperBound","solrquery.gettermsupperbound","refentry"],["SolrQuery::getTimeAllowed","solrquery.gettimeallowed","refentry"],["SolrQuery::removeFacetDateField","solrquery.removefacetdatefield","refentry"],["SolrQuery::removeFacetDateOther","solrquery.removefacetdateother","refentry"],["SolrQuery::removeFacetField","solrquery.removefacetfield","refentry"],["SolrQuery::removeFacetQuery","solrquery.removefacetquery","refentry"],["SolrQuery::removeField","solrquery.removefield","refentry"],["SolrQuery::removeFilterQuery","solrquery.removefilterquery","refentry"],["SolrQuery::removeHighlightField","solrquery.removehighlightfield","refentry"],["SolrQuery::removeMltField","solrquery.removemltfield","refentry"],["SolrQuery::removeMltQueryField","solrquery.removemltqueryfield","refentry"],["SolrQuery::removeSortField","solrquery.removesortfield","refentry"],["SolrQuery::removeStatsFacet","solrquery.removestatsfacet","refentry"],["SolrQuery::removeStatsField","solrquery.removestatsfield","refentry"],["SolrQuery::setEchoHandler","solrquery.setechohandler","refentry"],["SolrQuery::setEchoParams","solrquery.setechoparams","refentry"],["SolrQuery::setExplainOther","solrquery.setexplainother","refentry"],["SolrQuery::setFacet","solrquery.setfacet","refentry"],["SolrQuery::setFacetDateEnd","solrquery.setfacetdateend","refentry"],["SolrQuery::setFacetDateGap","solrquery.setfacetdategap","refentry"],["SolrQuery::setFacetDateHardEnd","solrquery.setfacetdatehardend","refentry"],["SolrQuery::setFacetDateStart","solrquery.setfacetdatestart","refentry"],["SolrQuery::setFacetEnumCacheMinDefaultFrequency","solrquery.setfacetenumcachemindefaultfrequency","refentry"],["SolrQuery::setFacetLimit","solrquery.setfacetlimit","refentry"],["SolrQuery::setFacetMethod","solrquery.setfacetmethod","refentry"],["SolrQuery::setFacetMinCount","solrquery.setfacetmincount","refentry"],["SolrQuery::setFacetMissing","solrquery.setfacetmissing","refentry"],["SolrQuery::setFacetOffset","solrquery.setfacetoffset","refentry"],["SolrQuery::setFacetPrefix","solrquery.setfacetprefix","refentry"],["SolrQuery::setFacetSort","solrquery.setfacetsort","refentry"],["SolrQuery::setHighlight","solrquery.sethighlight","refentry"],["SolrQuery::setHighlightAlternateField","solrquery.sethighlightalternatefield","refentry"],["SolrQuery::setHighlightFormatter","solrquery.sethighlightformatter","refentry"],["SolrQuery::setHighlightFragmenter","solrquery.sethighlightfragmenter","refentry"],["SolrQuery::setHighlightFragsize","solrquery.sethighlightfragsize","refentry"],["SolrQuery::setHighlightHighlightMultiTerm","solrquery.sethighlighthighlightmultiterm","refentry"],["SolrQuery::setHighlightMaxAlternateFieldLength","solrquery.sethighlightmaxalternatefieldlength","refentry"],["SolrQuery::setHighlightMaxAnalyzedChars","solrquery.sethighlightmaxanalyzedchars","refentry"],["SolrQuery::setHighlightMergeContiguous","solrquery.sethighlightmergecontiguous","refentry"],["SolrQuery::setHighlightRegexMaxAnalyzedChars","solrquery.sethighlightregexmaxanalyzedchars","refentry"],["SolrQuery::setHighlightRegexPattern","solrquery.sethighlightregexpattern","refentry"],["SolrQuery::setHighlightRegexSlop","solrquery.sethighlightregexslop","refentry"],["SolrQuery::setHighlightRequireFieldMatch","solrquery.sethighlightrequirefieldmatch","refentry"],["SolrQuery::setHighlightSimplePost","solrquery.sethighlightsimplepost","refentry"],["SolrQuery::setHighlightSimplePre","solrquery.sethighlightsimplepre","refentry"],["SolrQuery::setHighlightSnippets","solrquery.sethighlightsnippets","refentry"],["SolrQuery::setHighlightUsePhraseHighlighter","solrquery.sethighlightusephrasehighlighter","refentry"],["SolrQuery::setMlt","solrquery.setmlt","refentry"],["SolrQuery::setMltBoost","solrquery.setmltboost","refentry"],["SolrQuery::setMltCount","solrquery.setmltcount","refentry"],["SolrQuery::setMltMaxNumQueryTerms","solrquery.setmltmaxnumqueryterms","refentry"],["SolrQuery::setMltMaxNumTokens","solrquery.setmltmaxnumtokens","refentry"],["SolrQuery::setMltMaxWordLength","solrquery.setmltmaxwordlength","refentry"],["SolrQuery::setMltMinDocFrequency","solrquery.setmltmindocfrequency","refentry"],["SolrQuery::setMltMinTermFrequency","solrquery.setmltmintermfrequency","refentry"],["SolrQuery::setMltMinWordLength","solrquery.setmltminwordlength","refentry"],["SolrQuery::setOmitHeader","solrquery.setomitheader","refentry"],["SolrQuery::setQuery","solrquery.setquery","refentry"],["SolrQuery::setRows","solrquery.setrows","refentry"],["SolrQuery::setShowDebugInfo","solrquery.setshowdebuginfo","refentry"],["SolrQuery::setStart","solrquery.setstart","refentry"],["SolrQuery::setStats","solrquery.setstats","refentry"],["SolrQuery::setTerms","solrquery.setterms","refentry"],["SolrQuery::setTermsField","solrquery.settermsfield","refentry"],["SolrQuery::setTermsIncludeLowerBound","solrquery.settermsincludelowerbound","refentry"],["SolrQuery::setTermsIncludeUpperBound","solrquery.settermsincludeupperbound","refentry"],["SolrQuery::setTermsLimit","solrquery.settermslimit","refentry"],["SolrQuery::setTermsLowerBound","solrquery.settermslowerbound","refentry"],["SolrQuery::setTermsMaxCount","solrquery.settermsmaxcount","refentry"],["SolrQuery::setTermsMinCount","solrquery.settermsmincount","refentry"],["SolrQuery::setTermsPrefix","solrquery.settermsprefix","refentry"],["SolrQuery::setTermsReturnRaw","solrquery.settermsreturnraw","refentry"],["SolrQuery::setTermsSort","solrquery.settermssort","refentry"],["SolrQuery::setTermsUpperBound","solrquery.settermsupperbound","refentry"],["SolrQuery::setTimeAllowed","solrquery.settimeallowed","refentry"],["SolrQuery","class.solrquery","phpdoc:classref"],["","class.solrexception","section"],["","class.solrexception","section"],["","class.solrexception","varlistentry"],["","class.solrexception","varlistentry"],["","class.solrexception","varlistentry"],["","class.solrexception","section"],["SolrException::getInternalInfo","solrexception.getinternalinfo","refentry"],["SolrException","class.solrexception","phpdoc:classref"],["","class.solrclientexception","section"],["","class.solrclientexception","section"],["SolrClientException::getInternalInfo","solrclientexception.getinternalinfo","refentry"],["SolrClientException","class.solrclientexception","phpdoc:classref"],["","class.solrillegalargumentexception","section"],["","class.solrillegalargumentexception","section"],["SolrIllegalArgumentException::getInternalInfo","solrillegalargumentexception.getinternalinfo","refentry"],["SolrIllegalArgumentException","class.solrillegalargumentexception","phpdoc:classref"],["","class.solrillegaloperationexception","section"],["","class.solrillegaloperationexception","section"],["SolrIllegalOperationException::getInternalInfo","solrillegaloperationexception.getinternalinfo","refentry"],["SolrIllegalOperationException","class.solrillegaloperationexception","phpdoc:classref"],["Solr","book.solr","book"],["","intro.sphinx","preface"],["","sphinx.requirements","section"],["","sphinx.installation","section"],["","sphinx.configuration","section"],["","sphinx.resources","section"],["","sphinx.setup","chapter"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","varlistentry"],["","sphinx.constants","appendix"],["","sphinx.examples","example"],["","sphinx.examples","chapter"],["","class.sphinxclient","section"],["","class.sphinxclient","section"],["SphinxClient::addQuery","sphinxclient.addquery","refentry"],["SphinxClient::buildExcerpts","sphinxclient.buildexcerpts","refentry"],["SphinxClient::buildKeywords","sphinxclient.buildkeywords","refentry"],["SphinxClient::close","sphinxclient.close","refentry"],["SphinxClient::__construct","sphinxclient.construct","refentry"],["SphinxClient::escapeString","sphinxclient.escapestring","refentry"],["SphinxClient::getLastError","sphinxclient.getlasterror","refentry"],["SphinxClient::getLastWarning","sphinxclient.getlastwarning","refentry"],["SphinxClient::open","sphinxclient.open","refentry"],["SphinxClient::query","sphinxclient.query","refentry"],["SphinxClient::resetFilters","sphinxclient.resetfilters","refentry"],["SphinxClient::resetGroupBy","sphinxclient.resetgroupby","refentry"],["SphinxClient::runQueries","sphinxclient.runqueries","refentry"],["SphinxClient::setArrayResult","sphinxclient.setarrayresult","refentry"],["SphinxClient::setConnectTimeout","sphinxclient.setconnecttimeout","refentry"],["SphinxClient::setFieldWeights","sphinxclient.setfieldweights","refentry"],["SphinxClient::setFilter","sphinxclient.setfilter","refentry"],["SphinxClient::setFilterFloatRange","sphinxclient.setfilterfloatrange","refentry"],["SphinxClient::setFilterRange","sphinxclient.setfilterrange","refentry"],["SphinxClient::setGeoAnchor","sphinxclient.setgeoanchor","refentry"],["SphinxClient::setGroupBy","sphinxclient.setgroupby","refentry"],["SphinxClient::setGroupDistinct","sphinxclient.setgroupdistinct","refentry"],["SphinxClient::setIDRange","sphinxclient.setidrange","refentry"],["SphinxClient::setIndexWeights","sphinxclient.setindexweights","refentry"],["SphinxClient::setLimits","sphinxclient.setlimits","refentry"],["SphinxClient::setMatchMode","sphinxclient.setmatchmode","refentry"],["SphinxClient::setMaxQueryTime","sphinxclient.setmaxquerytime","refentry"],["SphinxClient::setOverride","sphinxclient.setoverride","refentry"],["SphinxClient::setRankingMode","sphinxclient.setrankingmode","refentry"],["SphinxClient::setRetries","sphinxclient.setretries","refentry"],["SphinxClient::setSelect","sphinxclient.setselect","refentry"],["SphinxClient::setServer","sphinxclient.setserver","refentry"],["SphinxClient::setSortMode","sphinxclient.setsortmode","refentry"],["SphinxClient::status","sphinxclient.status","refentry"],["SphinxClient::updateAttributes","sphinxclient.updateattributes","refentry"],["SphinxClient","class.sphinxclient","phpdoc:classref"],["Sphinx","book.sphinx","book"],["","intro.swish","preface"],["","swish.requirements","section"],["","swish.installation","section"],["","swish.configuration","section"],["","swish.resources","section"],["","swish.setup","chapter"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","varlistentry"],["","swish.constants","appendix"],["","swish.examples-basic","example"],["","swish.examples-basic","section"],["","swish.examples","chapter"],["","swish.construct","example"],["Swish::__construct","swish.construct","refentry"],["","swish.getmetalist","example"],["Swish::getMetaList","swish.getmetalist","refentry"],["","swish.getpropertylist","example"],["Swish::getPropertyList","swish.getpropertylist","refentry"],["","swish.prepare","example"],["Swish::prepare","swish.prepare","refentry"],["","swish.query","example"],["Swish::query","swish.query","refentry"],["SwishResult::getMetaList","swishresult.getmetalist","refentry"],["","swishresult.stem","example"],["SwishResult::stem","swishresult.stem","refentry"],["","swishresults.getparsedwords","example"],["SwishResults::getParsedWords","swishresults.getparsedwords","refentry"],["SwishResults::getRemovedStopwords","swishresults.getremovedstopwords","refentry"],["","swishresults.nextresult","example"],["SwishResults::nextResult","swishresults.nextresult","refentry"],["","swishresults.seekresult","example"],["SwishResults::seekResult","swishresults.seekresult","refentry"],["","swishsearch.execute","example"],["SwishSearch::execute","swishsearch.execute","refentry"],["","swishsearch.resetlimit","example"],["SwishSearch::resetLimit","swishsearch.resetlimit","refentry"],["","swishsearch.setlimit","example"],["SwishSearch::setLimit","swishsearch.setlimit","refentry"],["","swishsearch.setphrasedelimiter","example"],["SwishSearch::setPhraseDelimiter","swishsearch.setphrasedelimiter","refentry"],["","swishsearch.setsort","example"],["SwishSearch::setSort","swishsearch.setsort","refentry"],["","swishsearch.setstructure","example"],["SwishSearch::setStructure","swishsearch.setstructure","refentry"],["","ref.swish","reference"],["Swish","book.swish","book"],["","refs.search","set"],["","intro.apache","preface"],["","apache.requirements","section"],["","apache.installation","section"],["","apache.configuration","example"],["","apache.configuration","varlistentry"],["","apache.configuration","varlistentry"],["","apache.configuration","varlistentry"],["","apache.configuration","varlistentry"],["","apache.configuration","section"],["","apache.resources","section"],["","apache.setup","chapter"],["","apache.constants","appendix"],["apache_child_terminate","function.apache-child-terminate","refentry"],["","function.apache-get-modules","example"],["apache_get_modules","function.apache-get-modules","refentry"],["","function.apache-get-version","example"],["apache_get_version","function.apache-get-version","refentry"],["","function.apache-getenv","example"],["apache_getenv","function.apache-getenv","refentry"],["","function.apache-lookup-uri","example"],["apache_lookup_uri","function.apache-lookup-uri","refentry"],["","function.apache-note","example"],["","function.apache-note","example"],["apache_note","function.apache-note","refentry"],["","function.apache-request-headers","example"],["apache_request_headers","function.apache-request-headers","refentry"],["apache_reset_timeout","function.apache-reset-timeout","refentry"],["","function.apache-response-headers","example"],["apache_response_headers","function.apache-response-headers","refentry"],["","function.apache-setenv","example"],["apache_setenv","function.apache-setenv","refentry"],["","function.getallheaders","example"],["getallheaders","function.getallheaders","refentry"],["virtual","function.virtual","refentry"],["","ref.apache","reference"],["","book.apache","book"],["","intro.fpm","preface"],["","fpm.setup","chapter"],["fastcgi_finish_request","function.fastcgi-finish-request","refentry"],["","ref.fpm","reference"],["","book.fpm","book"],["","intro.iisfunc","preface"],["","iisfunc.requirements","section"],["","iisfunc.installation","section"],["","iisfunc.configuration","section"],["","iisfunc.resources","section"],["","iisfunc.setup","chapter"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","varlistentry"],["","iisfunc.constants","appendix"],["iis_add_server","function.iis-add-server","refentry"],["iis_get_dir_security","function.iis-get-dir-security","refentry"],["iis_get_script_map","function.iis-get-script-map","refentry"],["iis_get_server_by_comment","function.iis-get-server-by-comment","refentry"],["iis_get_server_by_path","function.iis-get-server-by-path","refentry"],["iis_get_server_rights","function.iis-get-server-rights","refentry"],["iis_get_service_state","function.iis-get-service-state","refentry"],["iis_remove_server","function.iis-remove-server","refentry"],["iis_set_app_settings","function.iis-set-app-settings","refentry"],["iis_set_dir_security","function.iis-set-dir-security","refentry"],["iis_set_script_map","function.iis-set-script-map","refentry"],["iis_set_server_rights","function.iis-set-server-rights","refentry"],["iis_start_server","function.iis-start-server","refentry"],["iis_start_service","function.iis-start-service","refentry"],["iis_stop_server","function.iis-stop-server","refentry"],["iis_stop_service","function.iis-stop-service","refentry"],["","ref.iisfunc","reference"],["IIS","book.iisfunc","book"],["","intro.nsapi","preface"],["","nsapi.requirements","section"],["","nsapi.installation","section"],["","nsapi.configuration","varlistentry"],["","nsapi.configuration","section"],["","nsapi.resources","section"],["","nsapi.setup","chapter"],["","nsapi.constants","appendix"],["","function.nsapi-request-headers","example"],["nsapi_request_headers","function.nsapi-request-headers","refentry"],["nsapi_response_headers","function.nsapi-response-headers","refentry"],["nsapi_virtual","function.nsapi-virtual","refentry"],["","ref.nsapi","reference"],["","book.nsapi","book"],["","refs.utilspec.server","set"],["","intro.msession","preface"],["","msession.requirements","section"],["","msession.installation","section"],["","msession.configuration","section"],["","msession.resources","section"],["","msession.setup","chapter"],["","msession.constants","appendix"],["msession_connect","function.msession-connect","refentry"],["msession_count","function.msession-count","refentry"],["msession_create","function.msession-create","refentry"],["msession_destroy","function.msession-destroy","refentry"],["msession_disconnect","function.msession-disconnect","refentry"],["msession_find","function.msession-find","refentry"],["msession_get_array","function.msession-get-array","refentry"],["msession_get_data","function.msession-get-data","refentry"],["msession_get","function.msession-get","refentry"],["msession_inc","function.msession-inc","refentry"],["msession_list","function.msession-list","refentry"],["msession_listvar","function.msession-listvar","refentry"],["msession_lock","function.msession-lock","refentry"],["msession_plugin","function.msession-plugin","refentry"],["msession_randstr","function.msession-randstr","refentry"],["msession_set_array","function.msession-set-array","refentry"],["msession_set_data","function.msession-set-data","refentry"],["msession_set","function.msession-set","refentry"],["msession_timeout","function.msession-timeout","refentry"],["msession_uniq","function.msession-uniq","refentry"],["msession_unlock","function.msession-unlock","refentry"],["","ref.msession","reference"],["Msession","book.msession","book"],["","intro.session","preface"],["","session.requirements","section"],["","session.installation","section"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","varlistentry"],["","session.configuration","section"],["","session.resources","section"],["","session.setup","chapter"],["","session.constants","varlistentry"],["","session.constants","varlistentry"],["","session.constants","varlistentry"],["","session.constants","varlistentry"],["","session.constants","appendix"],["","session.examples.basic","example"],["","session.examples.basic","example"],["","session.examples.basic","section"],["","session.idpassing","example"],["","session.idpassing","section"],["","session.customhandler","section"],["","session.examples","appendix"],["","session.upload-progress","programlisting"],["","session.upload-progress","programlisting"],["","session.upload-progress","example"],["","session.upload-progress","chapter"],["","session.security","chapter"],["","function.session-cache-expire","example"],["session_cache_expire","function.session-cache-expire","refentry"],["","function.session-cache-limiter","example"],["session_cache_limiter","function.session-cache-limiter","refentry"],["session_commit","function.session-commit","refentry"],["session_decode","function.session-decode","refentry"],["","function.session-destroy","example"],["session_destroy","function.session-destroy","refentry"],["session_encode","function.session-encode","refentry"],["session_get_cookie_params","function.session-get-cookie-params","refentry"],["session_id","function.session-id","refentry"],["session_is_registered","function.session-is-registered","refentry"],["session_module_name","function.session-module-name","refentry"],["","function.session-name","example"],["session_name","function.session-name","refentry"],["","function.session-regenerate-id","example"],["session_regenerate_id","function.session-regenerate-id","refentry"],["session_register_shutdown","function.session-register-shutdown","refentry"],["session_register","function.session-register","refentry"],["session_save_path","function.session-save-path","refentry"],["session_set_cookie_params","function.session-set-cookie-params","refentry"],["","function.session-set-save-handler","example"],["","function.session-set-save-handler","example"],["session_set_save_handler","function.session-set-save-handler","refentry"],["","function.session-start","example"],["","function.session-start","example"],["session_start","function.session-start","refentry"],["session_status","function.session-status","refentry"],["session_unregister","function.session-unregister","refentry"],["session_unset","function.session-unset","refentry"],["session_write_close","function.session-write-close","refentry"],["","ref.session","reference"],["","class.sessionhandler","section"],["","class.sessionhandler","section"],["","class.sessionhandler","section"],["","class.sessionhandler","example"],["","class.sessionhandler","section"],["SessionHandler::close","sessionhandler.close","refentry"],["SessionHandler::destroy","sessionhandler.destroy","refentry"],["SessionHandler::gc","sessionhandler.gc","refentry"],["SessionHandler::open","sessionhandler.open","refentry"],["SessionHandler::read","sessionhandler.read","refentry"],["SessionHandler::write","sessionhandler.write","refentry"],["SessionHandler","class.sessionhandler","phpdoc:classref"],["","class.sessionhandlerinterface","section"],["","class.sessionhandlerinterface","section"],["","class.sessionhandlerinterface","example"],["","class.sessionhandlerinterface","section"],["SessionHandlerInterface::close","sessionhandlerinterface.close","refentry"],["SessionHandlerInterface::destroy","sessionhandlerinterface.destroy","refentry"],["SessionHandlerInterface::gc","sessionhandlerinterface.gc","refentry"],["SessionHandlerInterface::open","sessionhandlerinterface.open","refentry"],["SessionHandlerInterface::read","sessionhandlerinterface.read","refentry"],["SessionHandlerInterface::write","sessionhandlerinterface.write","refentry"],["SessionHandlerInterface","class.sessionhandlerinterface","phpdoc:classref"],["Sessions","book.session","book"],["","intro.session-pgsql","preface"],["","session-pgsql.requirements","section"],["","session-pgsql.installation","section"],["","session-pgsql.configuration","section"],["","session-pgsql.resources","section"],["","session-pgsql.setup","chapter"],["","session-pgsql.tables","chapter"],["","session-pgsql.constants","appendix"],["","ref.session-pgsql","partintro"],["session_pgsql_add_error","function.session-pgsql-add-error","refentry"],["session_pgsql_get_error","function.session-pgsql-get-error","refentry"],["session_pgsql_get_field","function.session-pgsql-get-field","refentry"],["session_pgsql_reset","function.session-pgsql-reset","refentry"],["session_pgsql_set_field","function.session-pgsql-set-field","refentry"],["session_pgsql_status","function.session-pgsql-status","refentry"],["","ref.session-pgsql","reference"],["Session PgSQL","book.session-pgsql","book"],["","refs.basic.session","set"],["","intro.bbcode","preface"],["","bbcode.requirements","section"],["","bbcode.installation","section"],["","bbcode.configuration","section"],["","bbcode.resources","section"],["","bbcode.setup","chapter"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","varlistentry"],["","bbcode.constants","appendix"],["bbcode_add_element","function.bbcode-add-element","refentry"],["","function.bbcode-add-smiley","example"],["bbcode_add_smiley","function.bbcode-add-smiley","refentry"],["","function.bbcode-create","example"],["bbcode_create","function.bbcode-create","refentry"],["bbcode_destroy","function.bbcode-destroy","refentry"],["bbcode_parse","function.bbcode-parse","refentry"],["","function.bbcode-set-arg-parser","example"],["bbcode_set_arg_parser","function.bbcode-set-arg-parser","refentry"],["","function.bbcode-set-flags","example"],["bbcode_set_flags","function.bbcode-set-flags","refentry"],["","ref.bbcode","reference"],["BBCode","book.bbcode","book"],["","intro.pcre","preface"],["","pcre.requirements","section"],["","pcre.installation","section"],["","pcre.configuration","varlistentry"],["","pcre.configuration","varlistentry"],["","pcre.configuration","section"],["","pcre.resources","section"],["","pcre.setup","chapter"],["","pcre.constants","appendix"],["","pcre.examples","example"],["","pcre.examples","example"],["","pcre.examples","appendix"],["","regexp.introduction","section"],["","regexp.reference.delimiters","section"],["","regexp.reference.meta","section"],["","regexp.reference.escape","section"],["","regexp.reference.unicode","section"],["","regexp.reference.anchors","section"],["","regexp.reference.dot","section"],["","regexp.reference.character-classes","section"],["","regexp.reference.alternation","section"],["","regexp.reference.internal-options","section"],["","regexp.reference.subpatterns","section"],["","regexp.reference.repetition","section"],["","regexp.reference.back-references","section"],["","regexp.reference.assertions","section"],["","regexp.reference.onlyonce","section"],["","regexp.reference.conditional","section"],["","regexp.reference.comments","section"],["","regexp.reference.recursive","section"],["","regexp.reference.performance","section"],["PCRE regex syntax","reference.pcre.pattern.syntax","chapter"],["","reference.pcre.pattern.modifiers","varlistentry"],["Possible modifiers in regex patterns","reference.pcre.pattern.modifiers","article"],["Differences From Perl","reference.pcre.pattern.differences","article"],["","reference.pcre.pattern.posix","article"],["","pcre.pattern","part"],["","function.preg-filter","example"],["preg_filter","function.preg-filter","refentry"],["","function.preg-grep","example"],["preg_grep","function.preg-grep","refentry"],["","function.preg-last-error","example"],["preg_last_error","function.preg-last-error","refentry"],["","function.preg-match-all","example"],["","function.preg-match-all","example"],["","function.preg-match-all","example"],["preg_match_all","function.preg-match-all","refentry"],["","function.preg-match","example"],["","function.preg-match","example"],["","function.preg-match","example"],["","function.preg-match","example"],["preg_match","function.preg-match","refentry"],["","function.preg-quote","example"],["","function.preg-quote","example"],["preg_quote","function.preg-quote","refentry"],["","function.preg-replace-callback","example"],["","function.preg-replace-callback","example"],["","function.preg-replace-callback","example"],["preg_replace_callback","function.preg-replace-callback","refentry"],["","function.preg-replace","example"],["","function.preg-replace","example"],["","function.preg-replace","example"],["","function.preg-replace","example"],["","function.preg-replace","example"],["preg_replace","function.preg-replace","refentry"],["","function.preg-split","example"],["","function.preg-split","example"],["","function.preg-split","example"],["preg_split","function.preg-split","refentry"],["","ref.pcre","reference"],["PCRE","book.pcre","book"],["","intro.regex","preface"],["","regex.requirements","section"],["","regex.installation","section"],["","regex.configuration","section"],["","regex.resources","section"],["","regex.setup","chapter"],["","regex.constants","appendix"],["","regex.examples","example"],["","regex.examples","appendix"],["","ref.regex","partintro"],["","function.ereg-replace","example"],["","function.ereg-replace","example"],["","function.ereg-replace","example"],["ereg_replace","function.ereg-replace","refentry"],["","function.ereg","example"],["ereg","function.ereg","refentry"],["","function.eregi-replace","example"],["eregi_replace","function.eregi-replace","refentry"],["","function.eregi","example"],["eregi","function.eregi","refentry"],["","function.split","example"],["","function.split","example"],["split","function.split","refentry"],["","function.spliti","example"],["spliti","function.spliti","refentry"],["","function.sql-regcase","example"],["sql_regcase","function.sql-regcase","refentry"],["","ref.regex","reference"],["POSIX Regex","book.regex","book"],["","intro.ssdeep","preface"],["","ssdeep.requirements","section"],["","ssdeep.installation","section"],["","ssdeep.configuration","section"],["","ssdeep.resources","section"],["","ssdeep.setup","chapter"],["","ssdeep.constants","appendix"],["ssdeep_fuzzy_compare","function.ssdeep-fuzzy-compare","refentry"],["ssdeep_fuzzy_hash_filename","function.ssdeep-fuzzy-hash-filename","refentry"],["ssdeep_fuzzy_hash","function.ssdeep-fuzzy-hash","refentry"],["","ref.ssdeep","reference"],["ssdeep","book.ssdeep","book"],["","intro.strings","preface"],["","strings.requirements","section"],["","strings.installation","section"],["","strings.configuration","section"],["","strings.resources","section"],["","strings.setup","chapter"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","varlistentry"],["","string.constants","appendix"],["","ref.strings","partintro"],["","function.addcslashes","example"],["addcslashes","function.addcslashes","refentry"],["","function.addslashes","example"],["addslashes","function.addslashes","refentry"],["bin2hex","function.bin2hex","refentry"],["chop","function.chop","refentry"],["","function.chr","example"],["chr","function.chr","refentry"],["","function.chunk-split","example"],["chunk_split","function.chunk-split","refentry"],["convert_cyr_string","function.convert-cyr-string","refentry"],["","function.convert-uudecode","example"],["convert_uudecode","function.convert-uudecode","refentry"],["","function.convert-uuencode","example"],["convert_uuencode","function.convert-uuencode","refentry"],["","function.count-chars","example"],["count_chars","function.count-chars","refentry"],["","function.crc32","example"],["crc32","function.crc32","refentry"],["","function.crypt","example"],["","function.crypt","example"],["","function.crypt","example"],["crypt","function.crypt","refentry"],["","function.echo","example"],["echo","function.echo","refentry"],["","function.explode","example"],["","function.explode","example"],["","function.explode","example"],["explode","function.explode","refentry"],["","function.fprintf","example"],["","function.fprintf","example"],["fprintf","function.fprintf","refentry"],["","function.get-html-translation-table","example"],["get_html_translation_table","function.get-html-translation-table","refentry"],["hebrev","function.hebrev","refentry"],["hebrevc","function.hebrevc","refentry"],["","function.hex2bin","example"],["hex2bin","function.hex2bin","refentry"],["","function.html-entity-decode","example"],["html_entity_decode","function.html-entity-decode","refentry"],["","function.htmlentities","example"],["","function.htmlentities","example"],["htmlentities","function.htmlentities","refentry"],["","function.htmlspecialchars-decode","example"],["htmlspecialchars_decode","function.htmlspecialchars-decode","refentry"],["","function.htmlspecialchars","example"],["htmlspecialchars","function.htmlspecialchars","refentry"],["","function.implode","example"],["implode","function.implode","refentry"],["join","function.join","refentry"],["","function.lcfirst","example"],["lcfirst","function.lcfirst","refentry"],["","function.levenshtein","example"],["levenshtein","function.levenshtein","refentry"],["","function.localeconv","example"],["localeconv","function.localeconv","refentry"],["","function.ltrim","example"],["ltrim","function.ltrim","refentry"],["","function.md5-file","example"],["md5_file","function.md5-file","refentry"],["","function.md5","example"],["md5","function.md5","refentry"],["","function.metaphone","example"],["","function.metaphone","example"],["metaphone","function.metaphone","refentry"],["","function.money-format","example"],["money_format","function.money-format","refentry"],["nl_langinfo","function.nl-langinfo","refentry"],["","function.nl2br","example"],["","function.nl2br","example"],["","function.nl2br","example"],["nl2br","function.nl2br","refentry"],["","function.number-format","example"],["number_format","function.number-format","refentry"],["","function.ord","example"],["ord","function.ord","refentry"],["","function.parse-str","example"],["parse_str","function.parse-str","refentry"],["","function.print","example"],["print","function.print","refentry"],["printf","function.printf","refentry"],["quoted_printable_decode","function.quoted-printable-decode","refentry"],["quoted_printable_encode","function.quoted-printable-encode","refentry"],["quotemeta","function.quotemeta","refentry"],["","function.rtrim","example"],["rtrim","function.rtrim","refentry"],["","function.setlocale","example"],["","function.setlocale","example"],["setlocale","function.setlocale","refentry"],["","function.sha1-file","example"],["sha1_file","function.sha1-file","refentry"],["","function.sha1","example"],["sha1","function.sha1","refentry"],["similar_text","function.similar-text","refentry"],["","function.soundex","example"],["soundex","function.soundex","refentry"],["","function.sprintf","table"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["","function.sprintf","example"],["sprintf","function.sprintf","refentry"],["","function.sscanf","example"],["","function.sscanf","example"],["sscanf","function.sscanf","refentry"],["str_getcsv","function.str-getcsv","refentry"],["","function.str-ireplace","example"],["str_ireplace","function.str-ireplace","refentry"],["","function.str-pad","example"],["str_pad","function.str-pad","refentry"],["","function.str-repeat","example"],["str_repeat","function.str-repeat","refentry"],["","function.str-replace","example"],["","function.str-replace","example"],["str_replace","function.str-replace","refentry"],["","function.str-rot13","example"],["str_rot13","function.str-rot13","refentry"],["","function.str-shuffle","example"],["str_shuffle","function.str-shuffle","refentry"],["","function.str-split","example"],["str_split","function.str-split","refentry"],["","function.str-word-count","example"],["str_word_count","function.str-word-count","refentry"],["","function.strcasecmp","example"],["strcasecmp","function.strcasecmp","refentry"],["strchr","function.strchr","refentry"],["strcmp","function.strcmp","refentry"],["strcoll","function.strcoll","refentry"],["","function.strcspn","example"],["strcspn","function.strcspn","refentry"],["","function.strip-tags","example"],["strip_tags","function.strip-tags","refentry"],["stripcslashes","function.stripcslashes","refentry"],["","function.stripos","example"],["stripos","function.stripos","refentry"],["","function.stripslashes","example"],["","function.stripslashes","example"],["stripslashes","function.stripslashes","refentry"],["","function.stristr","example"],["","function.stristr","example"],["","function.stristr","example"],["stristr","function.stristr","refentry"],["","function.strlen","example"],["strlen","function.strlen","refentry"],["strnatcasecmp","function.strnatcasecmp","refentry"],["strnatcmp","function.strnatcmp","refentry"],["strncasecmp","function.strncasecmp","refentry"],["strncmp","function.strncmp","refentry"],["","function.strpbrk","example"],["strpbrk","function.strpbrk","refentry"],["","function.strpos","example"],["","function.strpos","example"],["","function.strpos","example"],["strpos","function.strpos","refentry"],["","function.strrchr","example"],["strrchr","function.strrchr","refentry"],["","function.strrev","example"],["strrev","function.strrev","refentry"],["","function.strripos","example"],["strripos","function.strripos","refentry"],["","function.strrpos","example"],["","function.strrpos","example"],["strrpos","function.strrpos","refentry"],["","function.strspn","example"],["strspn","function.strspn","refentry"],["","function.strstr","example"],["strstr","function.strstr","refentry"],["","function.strtok","example"],["","function.strtok","example"],["","function.strtok","example"],["strtok","function.strtok","refentry"],["","function.strtolower","example"],["strtolower","function.strtolower","refentry"],["","function.strtoupper","example"],["strtoupper","function.strtoupper","refentry"],["","function.strtr","example"],["","function.strtr","example"],["","function.strtr","example"],["strtr","function.strtr","refentry"],["","function.substr-compare","example"],["substr_compare","function.substr-compare","refentry"],["","function.substr-count","example"],["substr_count","function.substr-count","refentry"],["","function.substr-replace","example"],["","function.substr-replace","example"],["substr_replace","function.substr-replace","refentry"],["","function.substr","example"],["","function.substr","example"],["","function.substr","example"],["","function.substr","example"],["","function.substr","example"],["substr","function.substr","refentry"],["","function.trim","example"],["","function.trim","example"],["trim","function.trim","refentry"],["","function.ucfirst","example"],["ucfirst","function.ucfirst","refentry"],["","function.ucwords","example"],["ucwords","function.ucwords","refentry"],["","function.vfprintf","example"],["vfprintf","function.vfprintf","refentry"],["","function.vprintf","example"],["vprintf","function.vprintf","refentry"],["","function.vsprintf","example"],["vsprintf","function.vsprintf","refentry"],["","function.wordwrap","example"],["","function.wordwrap","example"],["wordwrap","function.wordwrap","refentry"],["","ref.strings","reference"],["","changelog.strings","appendix"],["","book.strings","book"],["","refs.basic.text","set"],["","intro.array","preface"],["","array.requirements","section"],["","array.installation","section"],["","array.configuration","section"],["","array.resources","section"],["","array.setup","chapter"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","varlistentry"],["","array.constants","appendix"],["","array.sorting","chapter"],["","ref.array","partintro"],["","function.array-change-key-case","example"],["array_change_key_case","function.array-change-key-case","refentry"],["","function.array-chunk","example"],["array_chunk","function.array-chunk","refentry"],["","function.array-column","example"],["","function.array-column","example"],["array_column","function.array-column","refentry"],["","function.array-combine","example"],["array_combine","function.array-combine","refentry"],["","function.array-count-values","example"],["array_count_values","function.array-count-values","refentry"],["","function.array-diff-assoc","example"],["","function.array-diff-assoc","example"],["array_diff_assoc","function.array-diff-assoc","refentry"],["","function.array-diff-key","example"],["array_diff_key","function.array-diff-key","refentry"],["","function.array-diff-uassoc","example"],["array_diff_uassoc","function.array-diff-uassoc","refentry"],["","function.array-diff-ukey","example"],["array_diff_ukey","function.array-diff-ukey","refentry"],["","function.array-diff","example"],["array_diff","function.array-diff","refentry"],["","function.array-fill-keys","example"],["array_fill_keys","function.array-fill-keys","refentry"],["","function.array-fill","example"],["array_fill","function.array-fill","refentry"],["","function.array-filter","example"],["","function.array-filter","example"],["array_filter","function.array-filter","refentry"],["","function.array-flip","example"],["","function.array-flip","example"],["array_flip","function.array-flip","refentry"],["","function.array-intersect-assoc","example"],["array_intersect_assoc","function.array-intersect-assoc","refentry"],["","function.array-intersect-key","example"],["array_intersect_key","function.array-intersect-key","refentry"],["","function.array-intersect-uassoc","example"],["array_intersect_uassoc","function.array-intersect-uassoc","refentry"],["","function.array-intersect-ukey","example"],["array_intersect_ukey","function.array-intersect-ukey","refentry"],["","function.array-intersect","example"],["array_intersect","function.array-intersect","refentry"],["","function.array-key-exists","example"],["","function.array-key-exists","example"],["array_key_exists","function.array-key-exists","refentry"],["","function.array-keys","example"],["array_keys","function.array-keys","refentry"],["","function.array-map","example"],["","function.array-map","example"],["","function.array-map","example"],["","function.array-map","example"],["","function.array-map","example"],["array_map","function.array-map","refentry"],["","function.array-merge-recursive","example"],["array_merge_recursive","function.array-merge-recursive","refentry"],["","function.array-merge","example"],["","function.array-merge","example"],["","function.array-merge","example"],["array_merge","function.array-merge","refentry"],["","function.array-multisort","example"],["","function.array-multisort","example"],["","function.array-multisort","example"],["","function.array-multisort","example"],["array_multisort","function.array-multisort","refentry"],["","function.array-pad","example"],["array_pad","function.array-pad","refentry"],["","function.array-pop","example"],["array_pop","function.array-pop","refentry"],["","function.array-product","example"],["array_product","function.array-product","refentry"],["","function.array-push","example"],["array_push","function.array-push","refentry"],["","function.array-rand","example"],["array_rand","function.array-rand","refentry"],["","function.array-reduce","example"],["array_reduce","function.array-reduce","refentry"],["","function.array-replace-recursive","example"],["","function.array-replace-recursive","example"],["array_replace_recursive","function.array-replace-recursive","refentry"],["","function.array-replace","example"],["array_replace","function.array-replace","refentry"],["","function.array-reverse","example"],["array_reverse","function.array-reverse","refentry"],["","function.array-search","example"],["array_search","function.array-search","refentry"],["","function.array-shift","example"],["array_shift","function.array-shift","refentry"],["","function.array-slice","example"],["array_slice","function.array-slice","refentry"],["","function.array-splice","example"],["","function.array-splice","example"],["array_splice","function.array-splice","refentry"],["","function.array-sum","example"],["array_sum","function.array-sum","refentry"],["","function.array-udiff-assoc","example"],["array_udiff_assoc","function.array-udiff-assoc","refentry"],["","function.array-udiff-uassoc","example"],["array_udiff_uassoc","function.array-udiff-uassoc","refentry"],["","function.array-udiff","example"],["","function.array-udiff","example"],["array_udiff","function.array-udiff","refentry"],["","function.array-uintersect-assoc","example"],["array_uintersect_assoc","function.array-uintersect-assoc","refentry"],["","function.array-uintersect-uassoc","example"],["array_uintersect_uassoc","function.array-uintersect-uassoc","refentry"],["","function.array-uintersect","example"],["array_uintersect","function.array-uintersect","refentry"],["","function.array-unique","example"],["","function.array-unique","example"],["array_unique","function.array-unique","refentry"],["","function.array-unshift","example"],["array_unshift","function.array-unshift","refentry"],["","function.array-values","example"],["array_values","function.array-values","refentry"],["","function.array-walk-recursive","example"],["array_walk_recursive","function.array-walk-recursive","refentry"],["","function.array-walk","example"],["array_walk","function.array-walk","refentry"],["","function.array","example"],["","function.array","example"],["","function.array","example"],["","function.array","example"],["array","function.array","refentry"],["","function.arsort","example"],["arsort","function.arsort","refentry"],["","function.asort","example"],["asort","function.asort","refentry"],["","function.compact","example"],["compact","function.compact","refentry"],["","function.count","example"],["","function.count","example"],["count","function.count","refentry"],["","function.current","example"],["current","function.current","refentry"],["","function.each","example"],["","function.each","example"],["each","function.each","refentry"],["","function.end","example"],["end","function.end","refentry"],["","function.extract","example"],["extract","function.extract","refentry"],["","function.in-array","example"],["","function.in-array","example"],["","function.in-array","example"],["in_array","function.in-array","refentry"],["key_exists","function.key-exists","refentry"],["","function.key","example"],["key","function.key","refentry"],["","function.krsort","example"],["krsort","function.krsort","refentry"],["","function.ksort","example"],["ksort","function.ksort","refentry"],["","function.list","example"],["","function.list","example"],["","function.list","example"],["","function.list","example"],["list","function.list","refentry"],["","function.natcasesort","example"],["natcasesort","function.natcasesort","refentry"],["","function.natsort","example"],["","function.natsort","example"],["natsort","function.natsort","refentry"],["","function.next","example"],["next","function.next","refentry"],["pos","function.pos","refentry"],["","function.prev","example"],["prev","function.prev","refentry"],["","function.range","example"],["range","function.range","refentry"],["","function.reset","example"],["reset","function.reset","refentry"],["","function.rsort","example"],["rsort","function.rsort","refentry"],["","function.shuffle","example"],["shuffle","function.shuffle","refentry"],["sizeof","function.sizeof","refentry"],["","function.sort","example"],["","function.sort","example"],["sort","function.sort","refentry"],["","function.uasort","example"],["uasort","function.uasort","refentry"],["","function.uksort","example"],["uksort","function.uksort","refentry"],["","function.usort","example"],["","function.usort","example"],["","function.usort","example"],["","function.usort","example"],["usort","function.usort","refentry"],["","ref.array","reference"],["","book.array","book"],["","intro.classobj","preface"],["","classobj.requirements","section"],["","classobj.installation","section"],["","classobj.configuration","section"],["","classobj.resources","section"],["","classobj.setup","chapter"],["","classobj.constants","appendix"],["","classobj.examples","example"],["","classobj.examples","example"],["","classobj.examples","appendix"],["__autoload","function.autoload","refentry"],["","function.call-user-method-array","example"],["call_user_method_array","function.call-user-method-array","refentry"],["","function.call-user-method","example"],["call_user_method","function.call-user-method","refentry"],["","function.class-alias","example"],["class_alias","function.class-alias","refentry"],["","function.class-exists","example"],["","function.class-exists","example"],["class_exists","function.class-exists","refentry"],["","function.get-called-class","example"],["get_called_class","function.get-called-class","refentry"],["","function.get-class-methods","example"],["get_class_methods","function.get-class-methods","refentry"],["","function.get-class-vars","example"],["","function.get-class-vars","example"],["get_class_vars","function.get-class-vars","refentry"],["","function.get-class","example"],["","function.get-class","example"],["get_class","function.get-class","refentry"],["","function.get-declared-classes","example"],["get_declared_classes","function.get-declared-classes","refentry"],["","function.get-declared-interfaces","example"],["get_declared_interfaces","function.get-declared-interfaces","refentry"],["get_declared_traits","function.get-declared-traits","refentry"],["","function.get-object-vars","example"],["get_object_vars","function.get-object-vars","refentry"],["","function.get-parent-class","example"],["get_parent_class","function.get-parent-class","refentry"],["","function.interface-exists","example"],["interface_exists","function.interface-exists","refentry"],["","function.is-a","example"],["","function.is-a","example"],["is_a","function.is-a","refentry"],["","function.is-subclass-of","example"],["","function.is-subclass-of","example"],["is_subclass_of","function.is-subclass-of","refentry"],["","function.method-exists","example"],["","function.method-exists","example"],["method_exists","function.method-exists","refentry"],["","function.property-exists","example"],["property_exists","function.property-exists","refentry"],["trait_exists","function.trait-exists","refentry"],["","ref.classobj","reference"],["Classes\/Objects","book.classobj","book"],["","intro.classkit","preface"],["","classkit.requirements","section"],["","classkit.installation","section"],["","classkit.configuration","section"],["","classkit.resources","section"],["","classkit.setup","chapter"],["","classkit.constants","varlistentry"],["","classkit.constants","varlistentry"],["","classkit.constants","varlistentry"],["","classkit.constants","appendix"],["","function.classkit-import","example"],["classkit_import","function.classkit-import","refentry"],["","function.classkit-method-add","example"],["classkit_method_add","function.classkit-method-add","refentry"],["","function.classkit-method-copy","example"],["classkit_method_copy","function.classkit-method-copy","refentry"],["","function.classkit-method-redefine","example"],["classkit_method_redefine","function.classkit-method-redefine","refentry"],["","function.classkit-method-remove","example"],["classkit_method_remove","function.classkit-method-remove","refentry"],["","function.classkit-method-rename","example"],["classkit_method_rename","function.classkit-method-rename","refentry"],["","ref.classkit","reference"],["","book.classkit","book"],["","intro.ctype","preface"],["","ctype.requirements","section"],["","ctype.installation","section"],["","ctype.configuration","section"],["","ctype.resources","section"],["","ctype.setup","chapter"],["","ctype.constants","appendix"],["","function.ctype-alnum","example"],["ctype_alnum","function.ctype-alnum","refentry"],["","function.ctype-alpha","example"],["ctype_alpha","function.ctype-alpha","refentry"],["","function.ctype-cntrl","example"],["ctype_cntrl","function.ctype-cntrl","refentry"],["","function.ctype-digit","example"],["","function.ctype-digit","example"],["ctype_digit","function.ctype-digit","refentry"],["","function.ctype-graph","example"],["ctype_graph","function.ctype-graph","refentry"],["","function.ctype-lower","example"],["ctype_lower","function.ctype-lower","refentry"],["","function.ctype-print","example"],["ctype_print","function.ctype-print","refentry"],["","function.ctype-punct","example"],["ctype_punct","function.ctype-punct","refentry"],["","function.ctype-space","example"],["ctype_space","function.ctype-space","refentry"],["","function.ctype-upper","example"],["ctype_upper","function.ctype-upper","refentry"],["","function.ctype-xdigit","example"],["ctype_xdigit","function.ctype-xdigit","refentry"],["","ref.ctype","reference"],["Ctype","book.ctype","book"],["","intro.filter","preface"],["","filter.requirements","section"],["","filter.installation","section"],["","filter.configuration","example"],["","filter.configuration","varlistentry"],["","filter.configuration","varlistentry"],["","filter.configuration","section"],["","filter.resources","section"],["","filter.setup","chapter"],["","filter.filters.validate","section"],["","filter.filters.sanitize","example"],["","filter.filters.sanitize","section"],["","filter.filters.misc","section"],["","filter.filters.flags","section"],["","filter.filters","chapter"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","varlistentry"],["","filter.constants","appendix"],["","filter.examples.validation","programlisting"],["","filter.examples.validation","example"],["","filter.examples.validation","programlisting"],["","filter.examples.validation","example"],["","filter.examples.validation","programlisting"],["","filter.examples.validation","example"],["","filter.examples.validation","section"],["","filter.examples.sanitization","programlisting"],["","filter.examples.sanitization","example"],["","filter.examples.sanitization","programlisting"],["","filter.examples.sanitization","example"],["","filter.examples.sanitization","section"],["","filter.examples","chapter"],["filter_has_var","function.filter-has-var","refentry"],["filter_id","function.filter-id","refentry"],["","function.filter-input-array","example"],["filter_input_array","function.filter-input-array","refentry"],["","function.filter-input","example"],["filter_input","function.filter-input","refentry"],["","function.filter-list","example"],["filter_list","function.filter-list","refentry"],["","function.filter-var-array","example"],["filter_var_array","function.filter-var-array","refentry"],["","function.filter-var","example"],["filter_var","function.filter-var","refentry"],["","ref.filter","reference"],["Filter","book.filter","book"],["","intro.funchand","preface"],["","funchand.requirements","section"],["","funchand.installation","section"],["","funchand.configuration","section"],["","funchand.resources","section"],["","funchand.setup","chapter"],["","funchand.constants","appendix"],["","function.call-user-func-array","example"],["","function.call-user-func-array","example"],["","function.call-user-func-array","example"],["call_user_func_array","function.call-user-func-array","refentry"],["","function.call-user-func","example"],["","function.call-user-func","example"],["","function.call-user-func","example"],["","function.call-user-func","example"],["","function.call-user-func","example"],["call_user_func","function.call-user-func","refentry"],["","function.create-function","example"],["","function.create-function","example"],["","function.create-function","example"],["create_function","function.create-function","refentry"],["","function.forward-static-call-array","example"],["forward_static_call_array","function.forward-static-call-array","refentry"],["","function.forward-static-call","example"],["forward_static_call","function.forward-static-call","refentry"],["","function.func-get-arg","example"],["","function.func-get-arg","example"],["","function.func-get-arg","example"],["func_get_arg","function.func-get-arg","refentry"],["","function.func-get-args","example"],["","function.func-get-args","example"],["","function.func-get-args","example"],["func_get_args","function.func-get-args","refentry"],["","function.func-num-args","example"],["","function.func-num-args","example"],["func_num_args","function.func-num-args","refentry"],["","function.function-exists","example"],["function_exists","function.function-exists","refentry"],["","function.get-defined-functions","example"],["get_defined_functions","function.get-defined-functions","refentry"],["","function.register-shutdown-function","example"],["register_shutdown_function","function.register-shutdown-function","refentry"],["","function.register-tick-function","example"],["register_tick_function","function.register-tick-function","refentry"],["unregister_tick_function","function.unregister-tick-function","refentry"],["","ref.funchand","reference"],["","book.funchand","book"],["","intro.objaggregation","preface"],["","objaggregation.examples.association","example"],["","objaggregation.examples.association","example"],["","objaggregation.examples.association","section"],["","objaggregation.examples2","example"],["","objaggregation.examples2","example"],["","objaggregation.examples2","section"],["","objaggregation.examples","appendix"],["","function.aggregate-info","example"],["aggregate_info","function.aggregate-info","refentry"],["aggregate_methods_by_list","function.aggregate-methods-by-list","refentry"],["aggregate_methods_by_regexp","function.aggregate-methods-by-regexp","refentry"],["aggregate_methods","function.aggregate-methods","refentry"],["aggregate_properties_by_list","function.aggregate-properties-by-list","refentry"],["aggregate_properties_by_regexp","function.aggregate-properties-by-regexp","refentry"],["aggregate_properties","function.aggregate-properties","refentry"],["aggregate","function.aggregate","refentry"],["aggregation_info","function.aggregation-info","refentry"],["deaggregate","function.deaggregate","refentry"],["","ref.objaggregation","reference"],["Object Aggregation","book.objaggregation","book"],["","intro.quickhash","preface"],["","quickhash.requirements","section"],["","quickhash.installation","section"],["","quickhash.configuration","section"],["","quickhash.setup","chapter"],["","quickhash.constants","appendix"],["","quickhash.examples","example"],["","quickhash.examples","example"],["","quickhash.examples","example"],["","quickhash.examples","example"],["","quickhash.examples","chapter"],["","class.quickhashintset","section"],["","class.quickhashintset","section"],["","class.quickhashintset","varlistentry"],["","class.quickhashintset","varlistentry"],["","class.quickhashintset","varlistentry"],["","class.quickhashintset","varlistentry"],["","class.quickhashintset","varlistentry"],["","class.quickhashintset","section"],["","quickhashintset.add","example"],["QuickHashIntSet::add","quickhashintset.add","refentry"],["","quickhashintset.construct","example"],["QuickHashIntSet::__construct","quickhashintset.construct","refentry"],["","quickhashintset.delete","example"],["QuickHashIntSet::delete","quickhashintset.delete","refentry"],["","quickhashintset.exists","example"],["QuickHashIntSet::exists","quickhashintset.exists","refentry"],["","quickhashintset.getsize","example"],["QuickHashIntSet::getSize","quickhashintset.getsize","refentry"],["","quickhashintset.loadfromfile","example"],["QuickHashIntSet::loadFromFile","quickhashintset.loadfromfile","refentry"],["","quickhashintset.loadfromstring","example"],["QuickHashIntSet::loadFromString","quickhashintset.loadfromstring","refentry"],["","quickhashintset.savetofile","example"],["QuickHashIntSet::saveToFile","quickhashintset.savetofile","refentry"],["","quickhashintset.savetostring","example"],["QuickHashIntSet::saveToString","quickhashintset.savetostring","refentry"],["QuickHashIntSet","class.quickhashintset","phpdoc:classref"],["","class.quickhashinthash","section"],["","class.quickhashinthash","section"],["","class.quickhashinthash","varlistentry"],["","class.quickhashinthash","varlistentry"],["","class.quickhashinthash","varlistentry"],["","class.quickhashinthash","varlistentry"],["","class.quickhashinthash","varlistentry"],["","class.quickhashinthash","section"],["","quickhashinthash.add","example"],["QuickHashIntHash::add","quickhashinthash.add","refentry"],["","quickhashinthash.construct","example"],["QuickHashIntHash::__construct","quickhashinthash.construct","refentry"],["","quickhashinthash.delete","example"],["QuickHashIntHash::delete","quickhashinthash.delete","refentry"],["","quickhashinthash.exists","example"],["QuickHashIntHash::exists","quickhashinthash.exists","refentry"],["","quickhashinthash.get","example"],["QuickHashIntHash::get","quickhashinthash.get","refentry"],["","quickhashinthash.getsize","example"],["QuickHashIntHash::getSize","quickhashinthash.getsize","refentry"],["","quickhashinthash.loadfromfile","example"],["","quickhashinthash.loadfromfile","example"],["","quickhashinthash.loadfromfile","example"],["QuickHashIntHash::loadFromFile","quickhashinthash.loadfromfile","refentry"],["","quickhashinthash.loadfromstring","example"],["QuickHashIntHash::loadFromString","quickhashinthash.loadfromstring","refentry"],["","quickhashinthash.savetofile","example"],["QuickHashIntHash::saveToFile","quickhashinthash.savetofile","refentry"],["","quickhashinthash.savetostring","example"],["QuickHashIntHash::saveToString","quickhashinthash.savetostring","refentry"],["","quickhashinthash.set","example"],["QuickHashIntHash::set","quickhashinthash.set","refentry"],["","quickhashinthash.update","example"],["QuickHashIntHash::update","quickhashinthash.update","refentry"],["QuickHashIntHash","class.quickhashinthash","phpdoc:classref"],["","class.quickhashstringinthash","section"],["","class.quickhashstringinthash","section"],["","class.quickhashstringinthash","varlistentry"],["","class.quickhashstringinthash","varlistentry"],["","class.quickhashstringinthash","section"],["","quickhashstringinthash.add","example"],["QuickHashStringIntHash::add","quickhashstringinthash.add","refentry"],["","quickhashstringinthash.construct","example"],["QuickHashStringIntHash::__construct","quickhashstringinthash.construct","refentry"],["","quickhashstringinthash.delete","example"],["QuickHashStringIntHash::delete","quickhashstringinthash.delete","refentry"],["QuickHashStringIntHash::exists","quickhashstringinthash.exists","refentry"],["","quickhashstringinthash.get","example"],["QuickHashStringIntHash::get","quickhashstringinthash.get","refentry"],["","quickhashstringinthash.getsize","example"],["QuickHashStringIntHash::getSize","quickhashstringinthash.getsize","refentry"],["","quickhashstringinthash.loadfromfile","example"],["","quickhashstringinthash.loadfromfile","example"],["","quickhashstringinthash.loadfromfile","example"],["QuickHashStringIntHash::loadFromFile","quickhashstringinthash.loadfromfile","refentry"],["","quickhashstringinthash.loadfromstring","example"],["QuickHashStringIntHash::loadFromString","quickhashstringinthash.loadfromstring","refentry"],["","quickhashstringinthash.savetofile","example"],["QuickHashStringIntHash::saveToFile","quickhashstringinthash.savetofile","refentry"],["","quickhashstringinthash.savetostring","example"],["QuickHashStringIntHash::saveToString","quickhashstringinthash.savetostring","refentry"],["","quickhashstringinthash.set","example"],["QuickHashStringIntHash::set","quickhashstringinthash.set","refentry"],["","quickhashstringinthash.update","example"],["QuickHashStringIntHash::update","quickhashstringinthash.update","refentry"],["QuickHashStringIntHash","class.quickhashstringinthash","phpdoc:classref"],["","class.quickhashintstringhash","section"],["","class.quickhashintstringhash","section"],["","class.quickhashintstringhash","varlistentry"],["","class.quickhashintstringhash","varlistentry"],["","class.quickhashintstringhash","varlistentry"],["","class.quickhashintstringhash","varlistentry"],["","class.quickhashintstringhash","varlistentry"],["","class.quickhashintstringhash","section"],["","quickhashintstringhash.add","example"],["QuickHashIntStringHash::add","quickhashintstringhash.add","refentry"],["","quickhashintstringhash.construct","example"],["QuickHashIntStringHash::__construct","quickhashintstringhash.construct","refentry"],["","quickhashintstringhash.delete","example"],["QuickHashIntStringHash::delete","quickhashintstringhash.delete","refentry"],["QuickHashIntStringHash::exists","quickhashintstringhash.exists","refentry"],["","quickhashintstringhash.get","example"],["QuickHashIntStringHash::get","quickhashintstringhash.get","refentry"],["","quickhashintstringhash.getsize","example"],["QuickHashIntStringHash::getSize","quickhashintstringhash.getsize","refentry"],["","quickhashintstringhash.loadfromfile","example"],["","quickhashintstringhash.loadfromfile","example"],["","quickhashintstringhash.loadfromfile","example"],["QuickHashIntStringHash::loadFromFile","quickhashintstringhash.loadfromfile","refentry"],["","quickhashintstringhash.loadfromstring","example"],["QuickHashIntStringHash::loadFromString","quickhashintstringhash.loadfromstring","refentry"],["","quickhashintstringhash.savetofile","example"],["QuickHashIntStringHash::saveToFile","quickhashintstringhash.savetofile","refentry"],["","quickhashintstringhash.savetostring","example"],["QuickHashIntStringHash::saveToString","quickhashintstringhash.savetostring","refentry"],["","quickhashintstringhash.set","example"],["QuickHashIntStringHash::set","quickhashintstringhash.set","refentry"],["","quickhashintstringhash.update","example"],["QuickHashIntStringHash::update","quickhashintstringhash.update","refentry"],["QuickHashIntStringHash","class.quickhashintstringhash","phpdoc:classref"],["Quickhash","book.quickhash","book"],["","intro.reflection","preface"],["","reflection.requirements","section"],["","reflection.installation","section"],["","reflection.configuration","section"],["","reflection.resources","section"],["","reflection.setup","chapter"],["","reflection.constants","appendix"],["","reflection.examples","example"],["","reflection.examples","chapter"],["","reflection.extending","example"],["","reflection.extending","chapter"],["","class.reflection","section"],["","class.reflection","section"],["Reflection::export","reflection.export","refentry"],["Reflection::getModifierNames","reflection.getmodifiernames","refentry"],["Reflection","class.reflection","phpdoc:classref"],["","class.reflectionclass","section"],["","class.reflectionclass","section"],["","class.reflectionclass","varlistentry"],["","class.reflectionclass","section"],["","class.reflectionclass","varlistentry"],["","class.reflectionclass","varlistentry"],["","class.reflectionclass","varlistentry"],["","class.reflectionclass","section"],["","class.reflectionclass","section"],["","reflectionclass.construct","example"],["ReflectionClass::__construct","reflectionclass.construct","refentry"],["","reflectionclass.export","example"],["ReflectionClass::export","reflectionclass.export","refentry"],["ReflectionClass::getConstant","reflectionclass.getconstant","refentry"],["ReflectionClass::getConstants","reflectionclass.getconstants","refentry"],["","reflectionclass.getconstructor","example"],["ReflectionClass::getConstructor","reflectionclass.getconstructor","refentry"],["","reflectionclass.getdefaultproperties","example"],["ReflectionClass::getDefaultProperties","reflectionclass.getdefaultproperties","refentry"],["","reflectionclass.getdoccomment","example"],["ReflectionClass::getDocComment","reflectionclass.getdoccomment","refentry"],["","reflectionclass.getendline","example"],["ReflectionClass::getEndLine","reflectionclass.getendline","refentry"],["","reflectionclass.getextension","example"],["ReflectionClass::getExtension","reflectionclass.getextension","refentry"],["","reflectionclass.getextensionname","example"],["ReflectionClass::getExtensionName","reflectionclass.getextensionname","refentry"],["ReflectionClass::getFileName","reflectionclass.getfilename","refentry"],["","reflectionclass.getinterfacenames","example"],["ReflectionClass::getInterfaceNames","reflectionclass.getinterfacenames","refentry"],["","reflectionclass.getinterfaces","example"],["ReflectionClass::getInterfaces","reflectionclass.getinterfaces","refentry"],["","reflectionclass.getmethod","example"],["ReflectionClass::getMethod","reflectionclass.getmethod","refentry"],["","reflectionclass.getmethods","example"],["","reflectionclass.getmethods","example"],["ReflectionClass::getMethods","reflectionclass.getmethods","refentry"],["ReflectionClass::getModifiers","reflectionclass.getmodifiers","refentry"],["","reflectionclass.getname","example"],["ReflectionClass::getName","reflectionclass.getname","refentry"],["","reflectionclass.getnamespacename","example"],["ReflectionClass::getNamespaceName","reflectionclass.getnamespacename","refentry"],["ReflectionClass::getParentClass","reflectionclass.getparentclass","refentry"],["","reflectionclass.getproperties","example"],["ReflectionClass::getProperties","reflectionclass.getproperties","refentry"],["","reflectionclass.getproperty","example"],["ReflectionClass::getProperty","reflectionclass.getproperty","refentry"],["","reflectionclass.getshortname","example"],["ReflectionClass::getShortName","reflectionclass.getshortname","refentry"],["ReflectionClass::getStartLine","reflectionclass.getstartline","refentry"],["ReflectionClass::getStaticProperties","reflectionclass.getstaticproperties","refentry"],["","reflectionclass.getstaticpropertyvalue","example"],["ReflectionClass::getStaticPropertyValue","reflectionclass.getstaticpropertyvalue","refentry"],["ReflectionClass::getTraitAliases","reflectionclass.gettraitaliases","refentry"],["ReflectionClass::getTraitNames","reflectionclass.gettraitnames","refentry"],["ReflectionClass::getTraits","reflectionclass.gettraits","refentry"],["","reflectionclass.hasconstant","example"],["ReflectionClass::hasConstant","reflectionclass.hasconstant","refentry"],["","reflectionclass.hasmethod","example"],["ReflectionClass::hasMethod","reflectionclass.hasmethod","refentry"],["","reflectionclass.hasproperty","example"],["ReflectionClass::hasProperty","reflectionclass.hasproperty","refentry"],["ReflectionClass::implementsInterface","reflectionclass.implementsinterface","refentry"],["","reflectionclass.innamespace","example"],["ReflectionClass::inNamespace","reflectionclass.innamespace","refentry"],["","reflectionclass.isabstract","example"],["ReflectionClass::isAbstract","reflectionclass.isabstract","refentry"],["","reflectionclass.iscloneable","example"],["ReflectionClass::isCloneable","reflectionclass.iscloneable","refentry"],["","reflectionclass.isfinal","example"],["ReflectionClass::isFinal","reflectionclass.isfinal","refentry"],["","reflectionclass.isinstance","example"],["ReflectionClass::isInstance","reflectionclass.isinstance","refentry"],["","reflectionclass.isinstantiable","example"],["ReflectionClass::isInstantiable","reflectionclass.isinstantiable","refentry"],["","reflectionclass.isinterface","example"],["ReflectionClass::isInterface","reflectionclass.isinterface","refentry"],["","reflectionclass.isinternal","example"],["ReflectionClass::isInternal","reflectionclass.isinternal","refentry"],["","reflectionclass.isiterateable","example"],["ReflectionClass::isIterateable","reflectionclass.isiterateable","refentry"],["ReflectionClass::isSubclassOf","reflectionclass.issubclassof","refentry"],["ReflectionClass::isTrait","reflectionclass.istrait","refentry"],["ReflectionClass::isUserDefined","reflectionclass.isuserdefined","refentry"],["ReflectionClass::newInstance","reflectionclass.newinstance","refentry"],["","reflectionclass.newinstanceargs","example"],["ReflectionClass::newInstanceArgs","reflectionclass.newinstanceargs","refentry"],["ReflectionClass::newInstanceWithoutConstructor","reflectionclass.newinstancewithoutconstructor","refentry"],["ReflectionClass::setStaticPropertyValue","reflectionclass.setstaticpropertyvalue","refentry"],["","reflectionclass.tostring","example"],["ReflectionClass::__toString","reflectionclass.tostring","refentry"],["ReflectionClass","class.reflectionclass","phpdoc:classref"],["","class.reflectionzendextension","section"],["","class.reflectionzendextension","section"],["","class.reflectionzendextension","varlistentry"],["","class.reflectionzendextension","section"],["ReflectionZendExtension::__clone","reflectionzendextension.clone","refentry"],["ReflectionZendExtension::__construct","reflectionzendextension.construct","refentry"],["ReflectionZendExtension::export","reflectionzendextension.export","refentry"],["ReflectionZendExtension::getAuthor","reflectionzendextension.getauthor","refentry"],["ReflectionZendExtension::getCopyright","reflectionzendextension.getcopyright","refentry"],["ReflectionZendExtension::getName","reflectionzendextension.getname","refentry"],["ReflectionZendExtension::getURL","reflectionzendextension.geturl","refentry"],["ReflectionZendExtension::getVersion","reflectionzendextension.getversion","refentry"],["ReflectionZendExtension::__toString","reflectionzendextension.tostring","refentry"],["ReflectionZendExtension","class.reflectionzendextension","phpdoc:classref"],["","class.reflectionextension","section"],["","class.reflectionextension","section"],["","class.reflectionextension","varlistentry"],["","class.reflectionextension","section"],["ReflectionExtension::__clone","reflectionextension.clone","refentry"],["","reflectionextension.construct","example"],["ReflectionExtension::__construct","reflectionextension.construct","refentry"],["ReflectionExtension::export","reflectionextension.export","refentry"],["","reflectionextension.getclasses","example"],["ReflectionExtension::getClasses","reflectionextension.getclasses","refentry"],["","reflectionextension.getclassnames","example"],["ReflectionExtension::getClassNames","reflectionextension.getclassnames","refentry"],["","reflectionextension.getconstants","example"],["ReflectionExtension::getConstants","reflectionextension.getconstants","refentry"],["","reflectionextension.getdependencies","example"],["ReflectionExtension::getDependencies","reflectionextension.getdependencies","refentry"],["","reflectionextension.getfunctions","example"],["ReflectionExtension::getFunctions","reflectionextension.getfunctions","refentry"],["","reflectionextension.getinientries","example"],["ReflectionExtension::getINIEntries","reflectionextension.getinientries","refentry"],["","reflectionextension.getname","example"],["ReflectionExtension::getName","reflectionextension.getname","refentry"],["","reflectionextension.getversion","example"],["ReflectionExtension::getVersion","reflectionextension.getversion","refentry"],["","reflectionextension.info","example"],["ReflectionExtension::info","reflectionextension.info","refentry"],["ReflectionExtension::isPersistent","reflectionextension.ispersistent","refentry"],["ReflectionExtension::isTemporary","reflectionextension.istemporary","refentry"],["ReflectionExtension::__toString","reflectionextension.tostring","refentry"],["ReflectionExtension","class.reflectionextension","phpdoc:classref"],["","class.reflectionfunction","section"],["","class.reflectionfunction","section"],["","class.reflectionfunction","varlistentry"],["","class.reflectionfunction","section"],["","class.reflectionfunction","varlistentry"],["","class.reflectionfunction","section"],["","class.reflectionfunction","section"],["","reflectionfunction.construct","example"],["ReflectionFunction::__construct","reflectionfunction.construct","refentry"],["ReflectionFunction::export","reflectionfunction.export","refentry"],["ReflectionFunction::getClosure","reflectionfunction.getclosure","refentry"],["","reflectionfunction.invoke","example"],["ReflectionFunction::invoke","reflectionfunction.invoke","refentry"],["","reflectionfunction.invokeargs","example"],["","reflectionfunction.invokeargs","example"],["ReflectionFunction::invokeArgs","reflectionfunction.invokeargs","refentry"],["ReflectionFunction::isDisabled","reflectionfunction.isdisabled","refentry"],["","reflectionfunction.tostring","example"],["ReflectionFunction::__toString","reflectionfunction.tostring","refentry"],["ReflectionFunction","class.reflectionfunction","phpdoc:classref"],["","class.reflectionfunctionabstract","section"],["","class.reflectionfunctionabstract","section"],["","class.reflectionfunctionabstract","varlistentry"],["","class.reflectionfunctionabstract","section"],["ReflectionFunctionAbstract::__clone","reflectionfunctionabstract.clone","refentry"],["ReflectionFunctionAbstract::getClosureScopeClass","reflectionfunctionabstract.getclosurescopeclass","refentry"],["ReflectionFunctionAbstract::getClosureThis","reflectionfunctionabstract.getclosurethis","refentry"],["ReflectionFunctionAbstract::getDocComment","reflectionfunctionabstract.getdoccomment","refentry"],["ReflectionFunctionAbstract::getEndLine","reflectionfunctionabstract.getendline","refentry"],["ReflectionFunctionAbstract::getExtension","reflectionfunctionabstract.getextension","refentry"],["ReflectionFunctionAbstract::getExtensionName","reflectionfunctionabstract.getextensionname","refentry"],["ReflectionFunctionAbstract::getFileName","reflectionfunctionabstract.getfilename","refentry"],["ReflectionFunctionAbstract::getName","reflectionfunctionabstract.getname","refentry"],["ReflectionFunctionAbstract::getNamespaceName","reflectionfunctionabstract.getnamespacename","refentry"],["ReflectionFunctionAbstract::getNumberOfParameters","reflectionfunctionabstract.getnumberofparameters","refentry"],["ReflectionFunctionAbstract::getNumberOfRequiredParameters","reflectionfunctionabstract.getnumberofrequiredparameters","refentry"],["ReflectionFunctionAbstract::getParameters","reflectionfunctionabstract.getparameters","refentry"],["ReflectionFunctionAbstract::getShortName","reflectionfunctionabstract.getshortname","refentry"],["ReflectionFunctionAbstract::getStartLine","reflectionfunctionabstract.getstartline","refentry"],["ReflectionFunctionAbstract::getStaticVariables","reflectionfunctionabstract.getstaticvariables","refentry"],["ReflectionFunctionAbstract::inNamespace","reflectionfunctionabstract.innamespace","refentry"],["ReflectionFunctionAbstract::isClosure","reflectionfunctionabstract.isclosure","refentry"],["","reflectionfunctionabstract.isdeprecated","example"],["ReflectionFunctionAbstract::isDeprecated","reflectionfunctionabstract.isdeprecated","refentry"],["ReflectionFunctionAbstract::isGenerator","reflectionfunctionabstract.isgenerator","refentry"],["ReflectionFunctionAbstract::isInternal","reflectionfunctionabstract.isinternal","refentry"],["ReflectionFunctionAbstract::isUserDefined","reflectionfunctionabstract.isuserdefined","refentry"],["ReflectionFunctionAbstract::returnsReference","reflectionfunctionabstract.returnsreference","refentry"],["ReflectionFunctionAbstract::__toString","reflectionfunctionabstract.tostring","refentry"],["ReflectionFunctionAbstract","class.reflectionfunctionabstract","phpdoc:classref"],["","class.reflectionmethod","section"],["","class.reflectionmethod","section"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","section"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","varlistentry"],["","class.reflectionmethod","section"],["","class.reflectionmethod","section"],["","reflectionmethod.construct","example"],["ReflectionMethod::__construct","reflectionmethod.construct","refentry"],["ReflectionMethod::export","reflectionmethod.export","refentry"],["ReflectionMethod::getClosure","reflectionmethod.getclosure","refentry"],["","reflectionmethod.getdeclaringclass","example"],["ReflectionMethod::getDeclaringClass","reflectionmethod.getdeclaringclass","refentry"],["","reflectionmethod.getmodifiers","example"],["ReflectionMethod::getModifiers","reflectionmethod.getmodifiers","refentry"],["","reflectionmethod.getprototype","example"],["ReflectionMethod::getPrototype","reflectionmethod.getprototype","refentry"],["","reflectionmethod.invoke","example"],["ReflectionMethod::invoke","reflectionmethod.invoke","refentry"],["","reflectionmethod.invokeargs","example"],["ReflectionMethod::invokeArgs","reflectionmethod.invokeargs","refentry"],["ReflectionMethod::isAbstract","reflectionmethod.isabstract","refentry"],["ReflectionMethod::isConstructor","reflectionmethod.isconstructor","refentry"],["ReflectionMethod::isDestructor","reflectionmethod.isdestructor","refentry"],["ReflectionMethod::isFinal","reflectionmethod.isfinal","refentry"],["ReflectionMethod::isPrivate","reflectionmethod.isprivate","refentry"],["ReflectionMethod::isProtected","reflectionmethod.isprotected","refentry"],["ReflectionMethod::isPublic","reflectionmethod.ispublic","refentry"],["ReflectionMethod::isStatic","reflectionmethod.isstatic","refentry"],["ReflectionMethod::setAccessible","reflectionmethod.setaccessible","refentry"],["","reflectionmethod.tostring","example"],["ReflectionMethod::__toString","reflectionmethod.tostring","refentry"],["ReflectionMethod","class.reflectionmethod","phpdoc:classref"],["","class.reflectionobject","section"],["","class.reflectionobject","section"],["","class.reflectionobject","varlistentry"],["","class.reflectionobject","section"],["ReflectionObject::__construct","reflectionobject.construct","refentry"],["ReflectionObject::export","reflectionobject.export","refentry"],["ReflectionObject","class.reflectionobject","phpdoc:classref"],["","class.reflectionparameter","section"],["","class.reflectionparameter","section"],["","class.reflectionparameter","varlistentry"],["","class.reflectionparameter","section"],["ReflectionParameter::allowsNull","reflectionparameter.allowsnull","refentry"],["ReflectionParameter::canBePassedByValue","reflectionparameter.canbepassedbyvalue","refentry"],["ReflectionParameter::__clone","reflectionparameter.clone","refentry"],["","reflectionparameter.construct","example"],["ReflectionParameter::__construct","reflectionparameter.construct","refentry"],["ReflectionParameter::export","reflectionparameter.export","refentry"],["ReflectionParameter::getClass","reflectionparameter.getclass","refentry"],["ReflectionParameter::getDeclaringClass","reflectionparameter.getdeclaringclass","refentry"],["ReflectionParameter::getDeclaringFunction","reflectionparameter.getdeclaringfunction","refentry"],["","reflectionparameter.getdefaultvalue","example"],["ReflectionParameter::getDefaultValue","reflectionparameter.getdefaultvalue","refentry"],["ReflectionParameter::getDefaultValueConstantName","reflectionparameter.getdefaultvalueconstantname","refentry"],["ReflectionParameter::getName","reflectionparameter.getname","refentry"],["ReflectionParameter::getPosition","reflectionparameter.getposition","refentry"],["ReflectionParameter::isArray","reflectionparameter.isarray","refentry"],["ReflectionParameter::isCallable","reflectionparameter.iscallable","refentry"],["ReflectionParameter::isDefaultValueAvailable","reflectionparameter.isdefaultvalueavailable","refentry"],["ReflectionParameter::isDefaultValueConstant","reflectionparameter.isdefaultvalueconstant","refentry"],["ReflectionParameter::isOptional","reflectionparameter.isoptional","refentry"],["ReflectionParameter::isPassedByReference","reflectionparameter.ispassedbyreference","refentry"],["ReflectionParameter::__toString","reflectionparameter.tostring","refentry"],["ReflectionParameter","class.reflectionparameter","phpdoc:classref"],["","class.reflectionproperty","section"],["","class.reflectionproperty","section"],["","class.reflectionproperty","varlistentry"],["","class.reflectionproperty","varlistentry"],["","class.reflectionproperty","section"],["","class.reflectionproperty","varlistentry"],["","class.reflectionproperty","varlistentry"],["","class.reflectionproperty","varlistentry"],["","class.reflectionproperty","varlistentry"],["","class.reflectionproperty","section"],["","class.reflectionproperty","section"],["ReflectionProperty::__clone","reflectionproperty.clone","refentry"],["","reflectionproperty.construct","example"],["","reflectionproperty.construct","example"],["ReflectionProperty::__construct","reflectionproperty.construct","refentry"],["ReflectionProperty::export","reflectionproperty.export","refentry"],["ReflectionProperty::getDeclaringClass","reflectionproperty.getdeclaringclass","refentry"],["ReflectionProperty::getDocComment","reflectionproperty.getdoccomment","refentry"],["ReflectionProperty::getModifiers","reflectionproperty.getmodifiers","refentry"],["ReflectionProperty::getName","reflectionproperty.getname","refentry"],["","reflectionproperty.getvalue","example"],["ReflectionProperty::getValue","reflectionproperty.getvalue","refentry"],["ReflectionProperty::isDefault","reflectionproperty.isdefault","refentry"],["ReflectionProperty::isPrivate","reflectionproperty.isprivate","refentry"],["ReflectionProperty::isProtected","reflectionproperty.isprotected","refentry"],["ReflectionProperty::isPublic","reflectionproperty.ispublic","refentry"],["ReflectionProperty::isStatic","reflectionproperty.isstatic","refentry"],["ReflectionProperty::setAccessible","reflectionproperty.setaccessible","refentry"],["","reflectionproperty.setvalue","example"],["ReflectionProperty::setValue","reflectionproperty.setvalue","refentry"],["ReflectionProperty::__toString","reflectionproperty.tostring","refentry"],["ReflectionProperty","class.reflectionproperty","phpdoc:classref"],["","class.reflector","section"],["","class.reflector","section"],["Reflector::export","reflector.export","refentry"],["Reflector::__toString","reflector.tostring","refentry"],["Reflector","class.reflector","phpdoc:classref"],["","class.reflectionexception","section"],["","class.reflectionexception","section"],["ReflectionException","class.reflectionexception","phpdoc:classref"],["Reflection","book.reflection","book"],["","intro.var","preface"],["","var.requirements","section"],["","var.installation","section"],["","var.configuration","varlistentry"],["","var.configuration","section"],["","var.resources","section"],["","var.setup","chapter"],["","var.constants","appendix"],["","function.boolval","example"],["boolval","function.boolval","refentry"],["","function.debug-zval-dump","example"],["","function.debug-zval-dump","example"],["","function.debug-zval-dump","example"],["debug_zval_dump","function.debug-zval-dump","refentry"],["doubleval","function.doubleval","refentry"],["","function.empty","example"],["","function.empty","example"],["empty","function.empty","refentry"],["","function.floatval","example"],["floatval","function.floatval","refentry"],["","function.get-defined-vars","example"],["get_defined_vars","function.get-defined-vars","refentry"],["","function.get-resource-type","example"],["get_resource_type","function.get-resource-type","refentry"],["","function.gettype","example"],["gettype","function.gettype","refentry"],["","function.import-request-variables","example"],["import_request_variables","function.import-request-variables","refentry"],["","function.intval","example"],["intval","function.intval","refentry"],["","function.is-array","example"],["is_array","function.is-array","refentry"],["","function.is-bool","example"],["is_bool","function.is-bool","refentry"],["","function.is-callable","example"],["is_callable","function.is-callable","refentry"],["is_double","function.is-double","refentry"],["","function.is-float","example"],["is_float","function.is-float","refentry"],["","function.is-int","example"],["is_int","function.is-int","refentry"],["is_integer","function.is-integer","refentry"],["is_long","function.is-long","refentry"],["","function.is-null","example"],["is_null","function.is-null","refentry"],["","function.is-numeric","example"],["is_numeric","function.is-numeric","refentry"],["","function.is-object","example"],["is_object","function.is-object","refentry"],["is_real","function.is-real","refentry"],["","function.is-resource","example"],["is_resource","function.is-resource","refentry"],["","function.is-scalar","example"],["is_scalar","function.is-scalar","refentry"],["","function.is-string","example"],["is_string","function.is-string","refentry"],["","function.isset","example"],["","function.isset","example"],["isset","function.isset","refentry"],["","function.print-r","example"],["","function.print-r","example"],["print_r","function.print-r","refentry"],["","function.serialize","example"],["serialize","function.serialize","refentry"],["","function.settype","example"],["settype","function.settype","refentry"],["","function.strval","example"],["strval","function.strval","refentry"],["","function.unserialize","example"],["","function.unserialize","example"],["unserialize","function.unserialize","refentry"],["","function.unset","example"],["","function.unset","example"],["unset","function.unset","refentry"],["","function.var-dump","example"],["var_dump","function.var-dump","refentry"],["","function.var-export","example"],["","function.var-export","example"],["","function.var-export","example"],["var_export","function.var-export","refentry"],["","ref.var","reference"],["","book.var","book"],["","refs.basic.vartype","set"],["","intro.oauth","preface"],["","oauth.requirements","section"],["","oauth.installation","section"],["","oauth.configuration","section"],["","oauth.resources","section"],["","oauth.setup","chapter"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","varlistentry"],["","oauth.constants","appendix"],["","oauth.examples.fireeagle","programlisting"],["","oauth.examples.fireeagle","example"],["","oauth.examples.fireeagle","section"],["","oauth.examples","chapter"],["oauth_get_sbs","function.oauth-get-sbs","refentry"],["oauth_urlencode","function.oauth-urlencode","refentry"],["","ref.oauth","reference"],["","class.oauth","section"],["","class.oauth","section"],["","class.oauth","varlistentry"],["","class.oauth","varlistentry"],["","class.oauth","varlistentry"],["","class.oauth","section"],["OAuth::__construct","oauth.construct","refentry"],["OAuth::__destruct","oauth.destruct","refentry"],["OAuth::disableDebug","oauth.disabledebug","refentry"],["OAuth::disableRedirects","oauth.disableredirects","refentry"],["OAuth::disableSSLChecks","oauth.disablesslchecks","refentry"],["OAuth::enableDebug","oauth.enabledebug","refentry"],["OAuth::enableRedirects","oauth.enableredirects","refentry"],["OAuth::enableSSLChecks","oauth.enablesslchecks","refentry"],["","oauth.fetch","example"],["OAuth::fetch","oauth.fetch","refentry"],["OAuth::generateSignature","oauth.generatesignature","refentry"],["","oauth.getaccesstoken","example"],["OAuth::getAccessToken","oauth.getaccesstoken","refentry"],["OAuth::getCAPath","oauth.getcapath","refentry"],["OAuth::getLastResponse","oauth.getlastresponse","refentry"],["OAuth::getLastResponseHeaders","oauth.getlastresponseheaders","refentry"],["OAuth::getLastResponseInfo","oauth.getlastresponseinfo","refentry"],["OAuth::getRequestHeader","oauth.getrequestheader","refentry"],["","oauth.getrequesttoken","example"],["OAuth::getRequestToken","oauth.getrequesttoken","refentry"],["OAuth::setAuthType","oauth.setauthtype","refentry"],["OAuth::setCAPath","oauth.setcapath","refentry"],["OAuth::setNonce","oauth.setnonce","refentry"],["","oauth.setrequestengine","example"],["OAuth::setRequestEngine","oauth.setrequestengine","refentry"],["","oauth.setrsacertificate","example"],["OAuth::setRSACertificate","oauth.setrsacertificate","refentry"],["OAuth::setSSLChecks","oauth.setsslchecks","refentry"],["OAuth::setTimestamp","oauth.settimestamp","refentry"],["","oauth.settoken","example"],["OAuth::setToken","oauth.settoken","refentry"],["OAuth::setVersion","oauth.setversion","refentry"],["OAuth","class.oauth","phpdoc:classref"],["","class.oauthprovider","section"],["","class.oauthprovider","section"],["OAuthProvider::addRequiredParameter","oauthprovider.addrequiredparameter","refentry"],["OAuthProvider::callconsumerHandler","oauthprovider.callconsumerhandler","refentry"],["OAuthProvider::callTimestampNonceHandler","oauthprovider.calltimestampnoncehandler","refentry"],["OAuthProvider::calltokenHandler","oauthprovider.calltokenhandler","refentry"],["OAuthProvider::checkOAuthRequest","oauthprovider.checkoauthrequest","refentry"],["","oauthprovider.construct","example"],["OAuthProvider::__construct","oauthprovider.construct","refentry"],["","oauthprovider.consumerhandler","example"],["OAuthProvider::consumerHandler","oauthprovider.consumerhandler","refentry"],["","oauthprovider.generatetoken","example"],["OAuthProvider::generateToken","oauthprovider.generatetoken","refentry"],["","oauthprovider.is2leggedendpoint","example"],["OAuthProvider::is2LeggedEndpoint","oauthprovider.is2leggedendpoint","refentry"],["OAuthProvider::isRequestTokenEndpoint","oauthprovider.isrequesttokenendpoint","refentry"],["OAuthProvider::removeRequiredParameter","oauthprovider.removerequiredparameter","refentry"],["OAuthProvider::reportProblem","oauthprovider.reportproblem","refentry"],["OAuthProvider::setParam","oauthprovider.setparam","refentry"],["OAuthProvider::setRequestTokenPath","oauthprovider.setrequesttokenpath","refentry"],["","oauthprovider.timestampnoncehandler","example"],["OAuthProvider::timestampNonceHandler","oauthprovider.timestampnoncehandler","refentry"],["","oauthprovider.tokenhandler","example"],["OAuthProvider::tokenHandler","oauthprovider.tokenhandler","refentry"],["OAuthProvider","class.oauthprovider","phpdoc:classref"],["","class.oauthexception","section"],["","class.oauthexception","section"],["","class.oauthexception","varlistentry"],["","class.oauthexception","varlistentry"],["","class.oauthexception","section"],["OAuthException","class.oauthexception","phpdoc:classref"],["","book.oauth","book"],["","intro.sca","example"],["","intro.sca","preface"],["","sca.requirements","section"],["","sca.installation","section"],["","sca.configuration","section"],["","sca.resources","section"],["","sca.setup","chapter"],["","sca.constants","appendix"],["","sca.examples.structure","example"],["","sca.examples.structure","section"],["","sca.examples.proxies","example"],["","sca.examples.proxies","example"],["","sca.examples.proxies","section"],["","sca.examples.calling","example"],["","sca.examples.calling","section"],["","sca.examples.nonscascript","example"],["","sca.examples.nonscascript","example"],["","sca.examples.nonscascript","section"],["","sca.examples.exposing-webservice","example"],["","sca.examples.exposing-webservice","example"],["","sca.examples.exposing-webservice","section"],["","sca.examples.deploy","section"],["","sca.examples.obtaining-wsdl","example"],["","sca.examples.obtaining-wsdl","section"],["","sca.examples.understanding-wsdl","example"],["","sca.examples.understanding-wsdl","section"],["","sca.examples.understanding-wsdl","example"],["","sca.examples.understanding-wsdl","example"],["","sca.examples.understanding-wsdl","section"],["","sca.examples.understanding-wsdl","section"],["","sca.examples.structures","example"],["","sca.examples.structures","section"],["","sca.examples.structures","section"],["","sca.examples.structures","section"],["","sca.examples.structures","section"],["","sca.examples.structures","section"],["","sca.examples.errorhandling","section"],["","sca.examples.errorhandling","section"],["","sca.examples.errorhandling","section"],["","sca.examples","chapter"],["","ref.sca","section"],["","ref.sca","section"],["","ref.sca","section"],["","ref.sca","section"],["SCA::createDataObject","sca.createdataobject","refentry"],["","sca.getservice","example"],["SCA::getService","sca.getservice","refentry"],["SCA_LocalProxy::createDataObject","sca-localproxy.createdataobject","refentry"],["SCA_SoapProxy::createDataObject","sca-soapproxy.createdataobject","refentry"],["","ref.sca","reference"],["","book.sca","book"],["","intro.soap","preface"],["","soap.requirements","section"],["","soap.installation","section"],["","soap.configuration","varlistentry"],["","soap.configuration","varlistentry"],["","soap.configuration","varlistentry"],["","soap.configuration","varlistentry"],["","soap.configuration","varlistentry"],["","soap.configuration","section"],["","soap.resources","section"],["","soap.setup","chapter"],["","soap.constants","appendix"],["","function.is-soap-fault","example"],["","function.is-soap-fault","example"],["is_soap_fault","function.is-soap-fault","refentry"],["use_soap_error_handler","function.use-soap-error-handler","refentry"],["","ref.soap","reference"],["","class.soapclient","section"],["","class.soapclient","section"],["SoapClient::__call","soapclient.call","refentry"],["SoapClient::__construct","soapclient.construct","refentry"],["","soapclient.dorequest","example"],["SoapClient::__doRequest","soapclient.dorequest","refentry"],["","soapclient.getfunctions","example"],["SoapClient::__getFunctions","soapclient.getfunctions","refentry"],["","soapclient.getlastrequest","example"],["SoapClient::__getLastRequest","soapclient.getlastrequest","refentry"],["","soapclient.getlastrequestheaders","example"],["SoapClient::__getLastRequestHeaders","soapclient.getlastrequestheaders","refentry"],["","soapclient.getlastresponse","example"],["SoapClient::__getLastResponse","soapclient.getlastresponse","refentry"],["","soapclient.getlastresponseheaders","example"],["SoapClient::__getLastResponseHeaders","soapclient.getlastresponseheaders","refentry"],["","soapclient.gettypes","example"],["SoapClient::__getTypes","soapclient.gettypes","refentry"],["SoapClient::__setCookie","soapclient.setcookie","refentry"],["","soapclient.setlocation","example"],["SoapClient::__setLocation","soapclient.setlocation","refentry"],["","soapclient.setsoapheaders","example"],["","soapclient.setsoapheaders","example"],["SoapClient::__setSoapHeaders","soapclient.setsoapheaders","refentry"],["","soapclient.soapcall","example"],["SoapClient::__soapCall","soapclient.soapcall","refentry"],["","soapclient.soapclient","example"],["SoapClient::SoapClient","soapclient.soapclient","refentry"],["SoapClient","class.soapclient","phpdoc:classref"],["","class.soapserver","section"],["","class.soapserver","section"],["","soapserver.addfunction","example"],["SoapServer::addFunction","soapserver.addfunction","refentry"],["SoapServer::addSoapHeader","soapserver.addsoapheader","refentry"],["SoapServer::__construct","soapserver.construct","refentry"],["SoapServer::fault","soapserver.fault","refentry"],["","soapserver.getfunctions","example"],["SoapServer::getFunctions","soapserver.getfunctions","refentry"],["","soapserver.handle","example"],["SoapServer::handle","soapserver.handle","refentry"],["SoapServer::setClass","soapserver.setclass","refentry"],["SoapServer::setObject","soapserver.setobject","refentry"],["","soapserver.setpersistence","example"],["SoapServer::setPersistence","soapserver.setpersistence","refentry"],["","soapserver.soapserver","example"],["SoapServer::SoapServer","soapserver.soapserver","refentry"],["SoapServer","class.soapserver","phpdoc:classref"],["","class.soapfault","section"],["","class.soapfault","section"],["SoapFault::__construct","soapfault.construct","refentry"],["","soapfault.soapfault","example"],["","soapfault.soapfault","example"],["SoapFault::SoapFault","soapfault.soapfault","refentry"],["SoapFault::__toString","soapfault.tostring","refentry"],["SoapFault","class.soapfault","phpdoc:classref"],["","class.soapheader","section"],["","class.soapheader","section"],["SoapHeader::__construct","soapheader.construct","refentry"],["","soapheader.soapheader","example"],["SoapHeader::SoapHeader","soapheader.soapheader","refentry"],["SoapHeader","class.soapheader","phpdoc:classref"],["","class.soapparam","section"],["","class.soapparam","section"],["SoapParam::__construct","soapparam.construct","refentry"],["","soapparam.soapparam","example"],["SoapParam::SoapParam","soapparam.soapparam","refentry"],["SoapParam","class.soapparam","phpdoc:classref"],["","class.soapvar","section"],["","class.soapvar","section"],["SoapVar::__construct","soapvar.construct","refentry"],["","soapvar.soapvar","example"],["SoapVar::SoapVar","soapvar.soapvar","refentry"],["SoapVar","class.soapvar","phpdoc:classref"],["SOAP","book.soap","book"],["","intro.xmlrpc","preface"],["","xmlrpc.requirements","section"],["","xmlrpc.installation","section"],["","xmlrpc.configuration","section"],["","xmlrpc.resources","section"],["","xmlrpc.setup","chapter"],["","xmlrpc.constants","appendix"],["xmlrpc_decode_request","function.xmlrpc-decode-request","refentry"],["xmlrpc_decode","function.xmlrpc-decode","refentry"],["","function.xmlrpc-encode-request","example"],["xmlrpc_encode_request","function.xmlrpc-encode-request","refentry"],["xmlrpc_encode","function.xmlrpc-encode","refentry"],["","function.xmlrpc-get-type","example"],["xmlrpc_get_type","function.xmlrpc-get-type","refentry"],["xmlrpc_is_fault","function.xmlrpc-is-fault","refentry"],["xmlrpc_parse_method_descriptions","function.xmlrpc-parse-method-descriptions","refentry"],["xmlrpc_server_add_introspection_data","function.xmlrpc-server-add-introspection-data","refentry"],["xmlrpc_server_call_method","function.xmlrpc-server-call-method","refentry"],["xmlrpc_server_create","function.xmlrpc-server-create","refentry"],["xmlrpc_server_destroy","function.xmlrpc-server-destroy","refentry"],["xmlrpc_server_register_introspection_callback","function.xmlrpc-server-register-introspection-callback","refentry"],["xmlrpc_server_register_method","function.xmlrpc-server-register-method","refentry"],["","function.xmlrpc-set-type","example"],["xmlrpc_set_type","function.xmlrpc-set-type","refentry"],["","ref.xmlrpc","reference"],["","book.xmlrpc","book"],["","refs.webservice","set"],["","dotnet.intro","preface"],["","dotnet.requirements","section"],["","dotnet.installation","section"],["","dotnet.configuration","section"],["","dotnet.resources","section"],["","dotnet.setup","chapter"],["","dotnet.constants","appendix"],["dotnet_load","function.dotnet-load","refentry"],["","ref.dotnet","reference"],["","book.dotnet","book"],["","intro.com","preface"],["","com.requirements","section"],["","com.installation","section"],["","com.configuration","varlistentry"],["","com.configuration","varlistentry"],["","com.configuration","varlistentry"],["","com.configuration","varlistentry"],["","com.configuration","varlistentry"],["","com.configuration","varlistentry"],["","com.configuration","section"],["","com.resources","section"],["","com.setup","chapter"],["","com.constants","chapter"],["","com.error-handling","chapter"],["","com.examples.foreach","example"],["","com.examples.foreach","example"],["","com.examples.foreach","example"],["","com.examples.foreach","section"],["","com.examples.arrays","section"],["","com.examples","chapter"],["","class.com","section"],["","class.com","section"],["","class.com","section"],["","class.com","methodsynopsis"],["","class.com","methodsynopsis"],["","class.com","section"],["","class.com","methodsynopsis"],["","class.com","methodsynopsis"],["","class.com","methodsynopsis"],["","class.com","methodsynopsis"],["","class.com","section"],["","class.com","example"],["","class.com","example"],["","class.com","section"],["COM","class.com","phpdoc:classref"],["","class.dotnet","section"],["","class.dotnet","example"],["","class.dotnet","section"],["DOTNET","class.dotnet","phpdoc:classref"],["","class.variant","section"],["","class.variant","example"],["","class.variant","example"],["","class.variant","section"],["VARIANT","class.variant","phpdoc:classref"],["","ref.com","section"],["com_addref","function.com-addref","refentry"],["com_create_guid","function.com-create-guid","refentry"],["","function.com-event-sink","example"],["com_event_sink","function.com-event-sink","refentry"],["com_get_active_object","function.com-get-active-object","refentry"],["","function.com-get","example"],["com_get","function.com-get","refentry"],["","function.com-invoke","example"],["com_invoke","function.com-invoke","refentry"],["com_isenum","function.com-isenum","refentry"],["com_load_typelib","function.com-load-typelib","refentry"],["","function.com-load","example"],["com_load","function.com-load","refentry"],["com_message_pump","function.com-message-pump","refentry"],["com_print_typeinfo","function.com-print-typeinfo","refentry"],["com_propget","function.com-propget","refentry"],["com_propput","function.com-propput","refentry"],["com_propset","function.com-propset","refentry"],["com_release","function.com-release","refentry"],["","function.com-set","example"],["com_set","function.com-set","refentry"],["variant_abs","function.variant-abs","refentry"],["variant_add","function.variant-add","refentry"],["variant_and","function.variant-and","refentry"],["variant_cast","function.variant-cast","refentry"],["variant_cat","function.variant-cat","refentry"],["variant_cmp","function.variant-cmp","refentry"],["variant_date_from_timestamp","function.variant-date-from-timestamp","refentry"],["variant_date_to_timestamp","function.variant-date-to-timestamp","refentry"],["variant_div","function.variant-div","refentry"],["variant_eqv","function.variant-eqv","refentry"],["variant_fix","function.variant-fix","refentry"],["variant_get_type","function.variant-get-type","refentry"],["variant_idiv","function.variant-idiv","refentry"],["variant_imp","function.variant-imp","refentry"],["variant_int","function.variant-int","refentry"],["variant_mod","function.variant-mod","refentry"],["variant_mul","function.variant-mul","refentry"],["variant_neg","function.variant-neg","refentry"],["variant_not","function.variant-not","refentry"],["variant_or","function.variant-or","refentry"],["variant_pow","function.variant-pow","refentry"],["variant_round","function.variant-round","refentry"],["variant_set_type","function.variant-set-type","refentry"],["variant_set","function.variant-set","refentry"],["variant_sub","function.variant-sub","refentry"],["variant_xor","function.variant-xor","refentry"],["","ref.com","reference"],["COM","book.com","book"],["","intro.printer","preface"],["","printer.requirements","section"],["","printer.installation","section"],["","printer.configuration","section"],["","printer.resources","section"],["","printer.setup","chapter"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","varlistentry"],["","printer.constants","appendix"],["","function.printer-abort","example"],["printer_abort","function.printer-abort","refentry"],["","function.printer-close","example"],["printer_close","function.printer-close","refentry"],["printer_create_brush","function.printer-create-brush","refentry"],["","function.printer-create-dc","example"],["printer_create_dc","function.printer-create-dc","refentry"],["printer_create_font","function.printer-create-font","refentry"],["printer_create_pen","function.printer-create-pen","refentry"],["printer_delete_brush","function.printer-delete-brush","refentry"],["printer_delete_dc","function.printer-delete-dc","refentry"],["printer_delete_font","function.printer-delete-font","refentry"],["printer_delete_pen","function.printer-delete-pen","refentry"],["","function.printer-draw-bmp","example"],["printer_draw_bmp","function.printer-draw-bmp","refentry"],["","function.printer-draw-chord","example"],["printer_draw_chord","function.printer-draw-chord","refentry"],["","function.printer-draw-elipse","example"],["printer_draw_elipse","function.printer-draw-elipse","refentry"],["","function.printer-draw-line","example"],["printer_draw_line","function.printer-draw-line","refentry"],["","function.printer-draw-pie","example"],["printer_draw_pie","function.printer-draw-pie","refentry"],["","function.printer-draw-rectangle","example"],["printer_draw_rectangle","function.printer-draw-rectangle","refentry"],["","function.printer-draw-roundrect","example"],["printer_draw_roundrect","function.printer-draw-roundrect","refentry"],["","function.printer-draw-text","example"],["printer_draw_text","function.printer-draw-text","refentry"],["printer_end_doc","function.printer-end-doc","refentry"],["printer_end_page","function.printer-end-page","refentry"],["","function.printer-get-option","example"],["printer_get_option","function.printer-get-option","refentry"],["","function.printer-list","example"],["printer_list","function.printer-list","refentry"],["","function.printer-logical-fontheight","example"],["printer_logical_fontheight","function.printer-logical-fontheight","refentry"],["","function.printer-open","example"],["printer_open","function.printer-open","refentry"],["","function.printer-select-brush","example"],["printer_select_brush","function.printer-select-brush","refentry"],["","function.printer-select-font","example"],["printer_select_font","function.printer-select-font","refentry"],["","function.printer-select-pen","example"],["printer_select_pen","function.printer-select-pen","refentry"],["","function.printer-set-option","example"],["printer_set_option","function.printer-set-option","refentry"],["","function.printer-start-doc","example"],["printer_start_doc","function.printer-start-doc","refentry"],["printer_start_page","function.printer-start-page","refentry"],["","function.printer-write","example"],["printer_write","function.printer-write","refentry"],["","ref.printer","reference"],["","book.printer","book"],["","intro.w32api","preface"],["","w32api.requirements","section"],["","w32api.installation","section"],["","w32api.configuration","section"],["","w32api.resources","section"],["","w32api.setup","chapter"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","varlistentry"],["","w32api.constants","appendix"],["","w32api.examples-uptime","example"],["","w32api.examples-uptime","section"],["","w32api.examples","chapter"],["w32api_deftype","function.w32api-deftype","refentry"],["w32api_init_dtype","function.w32api-init-dtype","refentry"],["w32api_invoke_function","function.w32api-invoke-function","refentry"],["w32api_register_function","function.w32api-register-function","refentry"],["w32api_set_call_method","function.w32api-set-call-method","refentry"],["","ref.w32api","reference"],["","book.w32api","book"],["","intro.win32ps","preface"],["","win32ps.requirements","section"],["","win32ps.installation","section"],["","win32ps.configuration","section"],["","win32ps.resources","section"],["","win32ps.setup","chapter"],["","win32ps.constants","appendix"],["","win32ps.examples-process","example"],["","win32ps.examples-process","example"],["","win32ps.examples-process","section"],["","win32ps.examples","chapter"],["win32_ps_list_procs","function.win32-ps-list-procs","refentry"],["win32_ps_stat_mem","function.win32-ps-stat-mem","refentry"],["win32_ps_stat_proc","function.win32-ps-stat-proc","refentry"],["","ref.win32ps","reference"],["","book.win32ps","book"],["","intro.win32service","preface"],["","win32service.requirements","section"],["","win32service.installation","section"],["","win32service.configuration","section"],["","win32service.resources","section"],["","win32service.setup","chapter"],["","win32service.constants.servicetype","section"],["","win32service.constants.servicestatus","section"],["","win32service.constants.servicecontrol","section"],["","win32service.constants.controlsaccepted","section"],["","win32service.constants.servicestarttype","section"],["","win32service.constants.errorcontrol","section"],["","win32service.constants.serviceflag","section"],["","win32service.constants.errors","section"],["","win32service.constants.basepriorities","section"],["","win32service.constants","appendix"],["","win32service.examples","example"],["","win32service.examples","example"],["","win32service.examples","example"],["","win32service.examples","chapter"],["win32_continue_service","function.win32-continue-service","refentry"],["","function.win32-create-service","example"],["win32_create_service","function.win32-create-service","refentry"],["","function.win32-delete-service","example"],["win32_delete_service","function.win32-delete-service","refentry"],["win32_get_last_control_message","function.win32-get-last-control-message","refentry"],["win32_pause_service","function.win32-pause-service","refentry"],["win32_query_service_status","function.win32-query-service-status","refentry"],["win32_set_service_status","function.win32-set-service-status","refentry"],["","function.win32-start-service-ctrl-dispatcher","example"],["win32_start_service_ctrl_dispatcher","function.win32-start-service-ctrl-dispatcher","refentry"],["win32_start_service","function.win32-start-service","refentry"],["win32_stop_service","function.win32-stop-service","refentry"],["","ref.win32service","reference"],["","book.win32service","book"],["","refs.utilspec.windows","set"],["","intro.dom","preface"],["","dom.requirements","section"],["","dom.installation","section"],["","dom.configuration","section"],["","dom.resources","section"],["","dom.setup","chapter"],["","dom.constants","chapter"],["","dom.examples","example"],["","dom.examples","chapter"],["","class.domattr","section"],["","class.domattr","section"],["","class.domattr","varlistentry"],["","class.domattr","varlistentry"],["","class.domattr","varlistentry"],["","class.domattr","varlistentry"],["","class.domattr","varlistentry"],["","class.domattr","section"],["","domattr.construct","example"],["DOMAttr::__construct","domattr.construct","refentry"],["","domattr.isid","example"],["DOMAttr::isId","domattr.isid","refentry"],["DOMAttr","class.domattr","phpdoc:classref"],["","class.domcdatasection","section"],["","class.domcdatasection","section"],["","domcdatasection.construct","example"],["DOMCdataSection::__construct","domcdatasection.construct","refentry"],["DOMCdataSection","class.domcdatasection","phpdoc:classref"],["","class.domcharacterdata","section"],["","class.domcharacterdata","section"],["","class.domcharacterdata","varlistentry"],["","class.domcharacterdata","varlistentry"],["","class.domcharacterdata","section"],["DOMCharacterData::appendData","domcharacterdata.appenddata","refentry"],["DOMCharacterData::deleteData","domcharacterdata.deletedata","refentry"],["DOMCharacterData::insertData","domcharacterdata.insertdata","refentry"],["DOMCharacterData::replaceData","domcharacterdata.replacedata","refentry"],["DOMCharacterData::substringData","domcharacterdata.substringdata","refentry"],["DOMCharacterData","class.domcharacterdata","phpdoc:classref"],["","class.domcomment","section"],["","class.domcomment","section"],["","domcomment.construct","example"],["DOMComment::__construct","domcomment.construct","refentry"],["DOMComment","class.domcomment","phpdoc:classref"],["","class.domdocument","section"],["","class.domdocument","section"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","varlistentry"],["","class.domdocument","section"],["","domdocument.construct","example"],["DOMDocument::__construct","domdocument.construct","refentry"],["DOMDocument::createAttribute","domdocument.createattribute","refentry"],["DOMDocument::createAttributeNS","domdocument.createattributens","refentry"],["DOMDocument::createCDATASection","domdocument.createcdatasection","refentry"],["DOMDocument::createComment","domdocument.createcomment","refentry"],["DOMDocument::createDocumentFragment","domdocument.createdocumentfragment","refentry"],["","domdocument.createelement","example"],["DOMDocument::createElement","domdocument.createelement","refentry"],["","domdocument.createelementns","example"],["","domdocument.createelementns","example"],["DOMDocument::createElementNS","domdocument.createelementns","refentry"],["DOMDocument::createEntityReference","domdocument.createentityreference","refentry"],["DOMDocument::createProcessingInstruction","domdocument.createprocessinginstruction","refentry"],["DOMDocument::createTextNode","domdocument.createtextnode","refentry"],["","domdocument.getelementbyid","example"],["DOMDocument::getElementById","domdocument.getelementbyid","refentry"],["","domdocument.getelementsbytagname","example"],["DOMDocument::getElementsByTagName","domdocument.getelementsbytagname","refentry"],["","domdocument.getelementsbytagnamens","example"],["DOMDocument::getElementsByTagNameNS","domdocument.getelementsbytagnamens","refentry"],["","domdocument.importnode","example"],["DOMDocument::importNode","domdocument.importnode","refentry"],["","domdocument.load","example"],["DOMDocument::load","domdocument.load","refentry"],["","domdocument.loadhtml","example"],["DOMDocument::loadHTML","domdocument.loadhtml","refentry"],["","domdocument.loadhtmlfile","example"],["DOMDocument::loadHTMLFile","domdocument.loadhtmlfile","refentry"],["","domdocument.loadxml","example"],["","domdocument.loadxml","example"],["DOMDocument::loadXML","domdocument.loadxml","refentry"],["DOMDocument::normalizeDocument","domdocument.normalizedocument","refentry"],["","domdocument.registernodeclass","example"],["","domdocument.registernodeclass","example"],["","domdocument.registernodeclass","example"],["DOMDocument::registerNodeClass","domdocument.registernodeclass","refentry"],["DOMDocument::relaxNGValidate","domdocument.relaxngvalidate","refentry"],["DOMDocument::relaxNGValidateSource","domdocument.relaxngvalidatesource","refentry"],["","domdocument.save","example"],["DOMDocument::save","domdocument.save","refentry"],["","domdocument.savehtml","example"],["DOMDocument::saveHTML","domdocument.savehtml","refentry"],["","domdocument.savehtmlfile","example"],["DOMDocument::saveHTMLFile","domdocument.savehtmlfile","refentry"],["","domdocument.savexml","example"],["DOMDocument::saveXML","domdocument.savexml","refentry"],["DOMDocument::schemaValidate","domdocument.schemavalidate","refentry"],["DOMDocument::schemaValidateSource","domdocument.schemavalidatesource","refentry"],["","domdocument.validate","example"],["DOMDocument::validate","domdocument.validate","refentry"],["","domdocument.xinclude","example"],["DOMDocument::xinclude","domdocument.xinclude","refentry"],["DOMDocument","class.domdocument","phpdoc:classref"],["","class.domdocumentfragment","section"],["","domdocumentfragment.appendxml","example"],["DOMDocumentFragment::appendXML","domdocumentfragment.appendxml","refentry"],["DOMDocumentFragment","class.domdocumentfragment","phpdoc:classref"],["","class.domdocumenttype","section"],["","class.domdocumenttype","section"],["","class.domdocumenttype","varlistentry"],["","class.domdocumenttype","varlistentry"],["","class.domdocumenttype","varlistentry"],["","class.domdocumenttype","varlistentry"],["","class.domdocumenttype","varlistentry"],["","class.domdocumenttype","varlistentry"],["","class.domdocumenttype","section"],["DOMDocumentType","class.domdocumenttype","phpdoc:classref"],["","class.domelement","section"],["","class.domelement","varlistentry"],["","class.domelement","varlistentry"],["","class.domelement","section"],["","domelement.construct","example"],["DOMElement::__construct","domelement.construct","refentry"],["DOMElement::getAttribute","domelement.getattribute","refentry"],["DOMElement::getAttributeNode","domelement.getattributenode","refentry"],["DOMElement::getAttributeNodeNS","domelement.getattributenodens","refentry"],["DOMElement::getAttributeNS","domelement.getattributens","refentry"],["DOMElement::getElementsByTagName","domelement.getelementsbytagname","refentry"],["DOMElement::getElementsByTagNameNS","domelement.getelementsbytagnamens","refentry"],["DOMElement::hasAttribute","domelement.hasattribute","refentry"],["DOMElement::hasAttributeNS","domelement.hasattributens","refentry"],["DOMElement::removeAttribute","domelement.removeattribute","refentry"],["DOMElement::removeAttributeNode","domelement.removeattributenode","refentry"],["DOMElement::removeAttributeNS","domelement.removeattributens","refentry"],["","domelement.setattribute","example"],["DOMElement::setAttribute","domelement.setattribute","refentry"],["DOMElement::setAttributeNode","domelement.setattributenode","refentry"],["DOMElement::setAttributeNodeNS","domelement.setattributenodens","refentry"],["DOMElement::setAttributeNS","domelement.setattributens","refentry"],["DOMElement::setIdAttribute","domelement.setidattribute","refentry"],["DOMElement::setIdAttributeNode","domelement.setidattributenode","refentry"],["DOMElement::setIdAttributeNS","domelement.setidattributens","refentry"],["DOMElement","class.domelement","phpdoc:classref"],["","class.domentity","section"],["","class.domentity","section"],["","class.domentity","varlistentry"],["","class.domentity","varlistentry"],["","class.domentity","varlistentry"],["","class.domentity","varlistentry"],["","class.domentity","varlistentry"],["","class.domentity","varlistentry"],["","class.domentity","section"],["DOMEntity","class.domentity","phpdoc:classref"],["","class.domentityreference","section"],["","domentityreference.construct","example"],["DOMEntityReference::__construct","domentityreference.construct","refentry"],["DOMEntityReference","class.domentityreference","phpdoc:classref"],["","class.domexception","section"],["","class.domexception","section"],["","class.domexception","varlistentry"],["","class.domexception","section"],["DOMException","class.domexception","phpdoc:exceptionref"],["","class.domimplementation","section"],["","class.domimplementation","section"],["DOMImplementation::__construct","domimplementation.construct","refentry"],["DOMImplementation::createDocument","domimplementation.createdocument","refentry"],["","domimplementation.createdocumenttype","example"],["DOMImplementation::createDocumentType","domimplementation.createdocumenttype","refentry"],["","domimplementation.hasfeature","example"],["DOMImplementation::hasFeature","domimplementation.hasfeature","refentry"],["DOMImplementation","class.domimplementation","phpdoc:classref"],["","class.domnamednodemap","section"],["","class.domnamednodemap","varlistentry"],["","class.domnamednodemap","section"],["DOMNamedNodeMap::getNamedItem","domnamednodemap.getnameditem","refentry"],["DOMNamedNodeMap::getNamedItemNS","domnamednodemap.getnameditemns","refentry"],["DOMNamedNodeMap::item","domnamednodemap.item","refentry"],["DOMNamedNodeMap","class.domnamednodemap","phpdoc:classref"],["","class.domnode","section"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","varlistentry"],["","class.domnode","section"],["","domnode.appendchild","example"],["DOMNode::appendChild","domnode.appendchild","refentry"],["DOMNode::C14N","domnode.c14n","refentry"],["DOMNode::C14NFile","domnode.c14nfile","refentry"],["DOMNode::cloneNode","domnode.clonenode","refentry"],["","domnode.getlineno","example"],["DOMNode::getLineNo","domnode.getlineno","refentry"],["","domnode.getnodepath","example"],["DOMNode::getNodePath","domnode.getnodepath","refentry"],["DOMNode::hasAttributes","domnode.hasattributes","refentry"],["DOMNode::hasChildNodes","domnode.haschildnodes","refentry"],["DOMNode::insertBefore","domnode.insertbefore","refentry"],["DOMNode::isDefaultNamespace","domnode.isdefaultnamespace","refentry"],["DOMNode::isSameNode","domnode.issamenode","refentry"],["DOMNode::isSupported","domnode.issupported","refentry"],["DOMNode::lookupNamespaceURI","domnode.lookupnamespaceuri","refentry"],["DOMNode::lookupPrefix","domnode.lookupprefix","refentry"],["DOMNode::normalize","domnode.normalize","refentry"],["","domnode.removechild","example"],["DOMNode::removeChild","domnode.removechild","refentry"],["DOMNode::replaceChild","domnode.replacechild","refentry"],["DOMNode","class.domnode","phpdoc:classref"],["","class.domnodelist","section"],["","class.domnodelist","varlistentry"],["","class.domnodelist","section"],["","domnodelist.item","example"],["DOMNodelist::item","domnodelist.item","refentry"],["DOMNodeList","class.domnodelist","phpdoc:classref"],["","class.domnotation","section"],["","class.domnotation","varlistentry"],["","class.domnotation","varlistentry"],["","class.domnotation","section"],["DOMNotation","class.domnotation","phpdoc:classref"],["","class.domprocessinginstruction","section"],["","class.domprocessinginstruction","varlistentry"],["","class.domprocessinginstruction","varlistentry"],["","class.domprocessinginstruction","section"],["","domprocessinginstruction.construct","example"],["DOMProcessingInstruction::__construct","domprocessinginstruction.construct","refentry"],["DOMProcessingInstruction","class.domprocessinginstruction","phpdoc:classref"],["","class.domtext","section"],["","class.domtext","section"],["","class.domtext","varlistentry"],["","class.domtext","section"],["","domtext.construct","example"],["DOMText::__construct","domtext.construct","refentry"],["DOMText::isWhitespaceInElementContent","domtext.iswhitespaceinelementcontent","refentry"],["DOMText::splitText","domtext.splittext","refentry"],["DOMText","class.domtext","phpdoc:classref"],["","class.domxpath","section"],["","class.domxpath","section"],["","class.domxpath","varlistentry"],["","class.domxpath","section"],["DOMXPath::__construct","domxpath.construct","refentry"],["","domxpath.evaluate","example"],["DOMXPath::evaluate","domxpath.evaluate","refentry"],["","domxpath.query","example"],["DOMXPath::query","domxpath.query","refentry"],["DOMXPath::registerNamespace","domxpath.registernamespace","refentry"],["","domxpath.registerphpfunctions","example"],["","domxpath.registerphpfunctions","example"],["","domxpath.registerphpfunctions","example"],["DOMXPath::registerPhpFunctions","domxpath.registerphpfunctions","refentry"],["DOMXPath","class.domxpath","phpdoc:classref"],["","function.dom-import-simplexml","example"],["dom_import_simplexml","function.dom-import-simplexml","refentry"],["","ref.dom","reference"],["DOM","book.dom","book"],["","intro.libxml","preface"],["","libxml.requirements","section"],["","libxml.installation","section"],["","libxml.configuration","section"],["","libxml.resources","section"],["","libxml.setup","chapter"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","varlistentry"],["","libxml.constants","appendix"],["","class.libxmlerror","section"],["","class.libxmlerror","section"],["","class.libxmlerror","varlistentry"],["","class.libxmlerror","varlistentry"],["","class.libxmlerror","varlistentry"],["","class.libxmlerror","varlistentry"],["","class.libxmlerror","varlistentry"],["","class.libxmlerror","varlistentry"],["","class.libxmlerror","section"],["libXMLError","class.libxmlerror","phpdoc:classref"],["libxml_clear_errors","function.libxml-clear-errors","refentry"],["libxml_disable_entity_loader","function.libxml-disable-entity-loader","refentry"],["","function.libxml-get-errors","example"],["libxml_get_errors","function.libxml-get-errors","refentry"],["libxml_get_last_error","function.libxml-get-last-error","refentry"],["","function.libxml-set-external-entity-loader","example"],["libxml_set_external_entity_loader","function.libxml-set-external-entity-loader","refentry"],["","function.libxml-set-streams-context","example"],["libxml_set_streams_context","function.libxml-set-streams-context","refentry"],["","function.libxml-use-internal-errors","example"],["libxml_use_internal_errors","function.libxml-use-internal-errors","refentry"],["","ref.libxml","reference"],["","book.libxml","book"],["","intro.qtdom","preface"],["","qtdom.requirements","section"],["","qtdom.installation","section"],["","qtdom.configuration","section"],["","qtdom.resources","section"],["","qtdom.setup","chapter"],["","qtdom.constants","appendix"],["qdom_error","function.qdom-error","refentry"],["qdom_tree","function.qdom-tree","refentry"],["","ref.qtdom","reference"],["","book.qtdom","book"],["","intro.sdo","section"],["","intro.sdo","preface"],["","sdo.requirements","section"],["","sdo.installation","procedure"],["","sdo.installation","procedure"],["","sdo.installation","section"],["","sdo.configuration","section"],["","sdo.resources","section"],["","sdo.setup","chapter"],["","sdo.constants","varlistentry"],["","sdo.constants","varlistentry"],["","sdo.constants","varlistentry"],["","sdo.constants","varlistentry"],["","sdo.constants","appendix"],["","sdo.limitations","procedure"],["","sdo.limitations","procedure"],["","sdo.limitations","chapter"],["","sdo.examples-basic","section"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","programlisting"],["","sdo.sample.getset","example"],["","sdo.sample.getset","section"],["","sdo.sample.sequence","programlisting"],["","sdo.sample.sequence","example"],["","sdo.sample.sequence","programlisting"],["","sdo.sample.sequence","example"],["","sdo.sample.sequence","programlisting"],["","sdo.sample.sequence","example"],["","sdo.sample.sequence","programlisting"],["","sdo.sample.sequence","example"],["","sdo.sample.sequence","programlisting"],["","sdo.sample.sequence","example"],["","sdo.sample.sequence","programlisting"],["","sdo.sample.sequence","example"],["","sdo.sample.sequence","section"],["","sdo.sample.reflection","programlisting"],["","sdo.sample.reflection","example"],["","sdo.sample.reflection","programlisting"],["","sdo.sample.reflection","example"],["","sdo.sample.reflection","section"],["","sdo.examples","chapter"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["","ref.sdo","section"],["SDO_DAS_ChangeSummary::beginLogging","sdo-das-changesummary.beginlogging","refentry"],["SDO_DAS_ChangeSummary::endLogging","sdo-das-changesummary.endlogging","refentry"],["SDO_DAS_ChangeSummary::getChangeType","sdo-das-changesummary.getchangetype","refentry"],["SDO_DAS_ChangeSummary::getChangedDataObjects","sdo-das-changesummary.getchangeddataobjects","refentry"],["SDO_DAS_ChangeSummary::getOldContainer","sdo-das-changesummary.getoldcontainer","refentry"],["SDO_DAS_ChangeSummary::getOldValues","sdo-das-changesummary.getoldvalues","refentry"],["SDO_DAS_ChangeSummary::isLogging","sdo-das-changesummary.islogging","refentry"],["","sdo-das-datafactory.addpropertytotype","example"],["SDO_DAS_DataFactory::addPropertyToType","sdo-das-datafactory.addpropertytotype","refentry"],["","sdo-das-datafactory.addtype","example"],["SDO_DAS_DataFactory::addType","sdo-das-datafactory.addtype","refentry"],["SDO_DAS_DataFactory::getDataFactory","sdo-das-datafactory.getdatafactory","refentry"],["SDO_DAS_DataObject::getChangeSummary","sdo-das-dataobject.getchangesummary","refentry"],["SDO_DAS_Setting::getListIndex","sdo-das-setting.getlistindex","refentry"],["SDO_DAS_Setting::getPropertyIndex","sdo-das-setting.getpropertyindex","refentry"],["SDO_DAS_Setting::getPropertyName","sdo-das-setting.getpropertyname","refentry"],["SDO_DAS_Setting::getValue","sdo-das-setting.getvalue","refentry"],["SDO_DAS_Setting::isSet","sdo-das-setting.isset","refentry"],["SDO_DataFactory::create","sdo-datafactory.create","refentry"],["SDO_DataObject::clear","sdo-dataobject.clear","refentry"],["SDO_DataObject::createDataObject","sdo-dataobject.createdataobject","refentry"],["SDO_DataObject::getContainer","sdo-dataobject.getcontainer","refentry"],["SDO_DataObject::getSequence","sdo-dataobject.getsequence","refentry"],["SDO_DataObject::getTypeName","sdo-dataobject.gettypename","refentry"],["SDO_DataObject::getTypeNamespaceURI","sdo-dataobject.gettypenamespaceuri","refentry"],["SDO_Exception::getCause","sdo-exception.getcause","refentry"],["SDO_List::insert","sdo-list.insert","refentry"],["SDO_Model_Property::getContainingType","sdo-model-property.getcontainingtype","refentry"],["SDO_Model_Property::getDefault","sdo-model-property.getdefault","refentry"],["SDO_Model_Property::getName","sdo-model-property.getname","refentry"],["SDO_Model_Property::getType","sdo-model-property.gettype","refentry"],["SDO_Model_Property::isContainment","sdo-model-property.iscontainment","refentry"],["SDO_Model_Property::isMany","sdo-model-property.ismany","refentry"],["SDO_Model_ReflectionDataObject::__construct","sdo-model-reflectiondataobject.construct","refentry"],["SDO_Model_ReflectionDataObject::export","sdo-model-reflectiondataobject.export","refentry"],["SDO_Model_ReflectionDataObject::getContainmentProperty","sdo-model-reflectiondataobject.getcontainmentproperty","refentry"],["SDO_Model_ReflectionDataObject::getInstanceProperties","sdo-model-reflectiondataobject.getinstanceproperties","refentry"],["SDO_Model_ReflectionDataObject::getType","sdo-model-reflectiondataobject.gettype","refentry"],["SDO_Model_Type::getBaseType","sdo-model-type.getbasetype","refentry"],["SDO_Model_Type::getName","sdo-model-type.getname","refentry"],["SDO_Model_Type::getNamespaceURI","sdo-model-type.getnamespaceuri","refentry"],["SDO_Model_Type::getProperties","sdo-model-type.getproperties","refentry"],["SDO_Model_Type::getProperty","sdo-model-type.getproperty","refentry"],["SDO_Model_Type::isAbstractType","sdo-model-type.isabstracttype","refentry"],["SDO_Model_Type::isDataType","sdo-model-type.isdatatype","refentry"],["SDO_Model_Type::isInstance","sdo-model-type.isinstance","refentry"],["SDO_Model_Type::isOpenType","sdo-model-type.isopentype","refentry"],["SDO_Model_Type::isSequencedType","sdo-model-type.issequencedtype","refentry"],["SDO_Sequence::getProperty","sdo-sequence.getproperty","refentry"],["SDO_Sequence::insert","sdo-sequence.insert","refentry"],["SDO_Sequence::move","sdo-sequence.move","refentry"],["","ref.sdo","reference"],["SDO","book.sdo","book"],["","intro.sdodasrel","procedure"],["","intro.sdodasrel","preface"],["","sdodasrel.requirements","section"],["","sdodasrel.installation","section"],["","sdodasrel.configuration","section"],["","sdodasrel.configuration","section"],["","sdodasrel.resources","section"],["","sdodasrel.setup","chapter"],["","sdodasrel.constants","appendix"],["","sdodasrel.examples-crud","section"],["","sdodasrel.metadata","section"],["","sdodasrel.metadata","section"],["","sdodasrel.metadata","section"],["","sdodasrel.metadata","section"],["","sdodasrel.metadata","section"],["","sdodasrel.examples.one-table","programlisting"],["","sdodasrel.examples.one-table","example"],["","sdodasrel.examples.one-table","programlisting"],["","sdodasrel.examples.one-table","example"],["","sdodasrel.examples.one-table","programlisting"],["","sdodasrel.examples.one-table","example"],["","sdodasrel.examples.one-table","programlisting"],["","sdodasrel.examples.one-table","example"],["","sdodasrel.examples.one-table","section"],["","sdodasrel.examples.two-table","programlisting"],["","sdodasrel.examples.two-table","example"],["","sdodasrel.examples.two-table","programlisting"],["","sdodasrel.examples.two-table","example"],["","sdodasrel.examples.two-table","programlisting"],["","sdodasrel.examples.two-table","programlisting"],["","sdodasrel.examples.two-table","programlisting"],["","sdodasrel.examples.two-table","example"],["","sdodasrel.examples.two-table","section"],["","sdodasrel.examples.three-table","programlisting"],["","sdodasrel.examples.three-table","example"],["","sdodasrel.examples.three-table","programlisting"],["","sdodasrel.examples.three-table","example"],["","sdodasrel.examples.three-table","programlisting"],["","sdodasrel.examples.three-table","example"],["","sdodasrel.examples.three-table","section"],["","sdodasrel.examples","chapter"],["","sdodasrel.limitations","chapter"],["","ref.sdodasrel","section"],["","ref.sdodasrel","section"],["","ref.sdodasrel","section"],["","ref.sdodasrel","section"],["","sdo-das-relational.applychanges","programlisting"],["SDO_DAS_Relational::applyChanges","sdo-das-relational.applychanges","refentry"],["SDO_DAS_Relational::__construct","sdo-das-relational.construct","refentry"],["SDO_DAS_Relational::createRootDataObject","sdo-das-relational.createrootdataobject","refentry"],["","sdo-das-relational.executepreparedquery","programlisting"],["","sdo-das-relational.executepreparedquery","programlisting"],["","sdo-das-relational.executepreparedquery","example"],["SDO_DAS_Relational::executePreparedQuery","sdo-das-relational.executepreparedquery","refentry"],["","sdo-das-relational.executequery","programlisting"],["SDO_DAS_Relational::executeQuery","sdo-das-relational.executequery","refentry"],["","ref.sdodasrel","reference"],["SDO-DAS-Relational","book.sdodasrel","book"],["","intro.sdo-das-xml","preface"],["","sdo-das-xml.requirements","section"],["","sdo-das-xml.installation","section"],["","sdo-das-xml.configuration","section"],["","sdo-das-xml.resources","section"],["","sdo-das-xml.setup","chapter"],["","sdo-das-xml.constants","appendix"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","example"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","example"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","example"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","example"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","example"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","programlisting"],["","sdo-das-xml.examples","example"],["","sdo-das-xml.examples","chapter"],["","ref.sdo-das-xml","section"],["","ref.sdo-das-xml","section"],["","ref.sdo-das-xml","section"],["","ref.sdo-das-xml","section"],["","ref.sdo-das-xml","section"],["","ref.sdo-das-xml","procedure"],["","ref.sdo-das-xml","procedure"],["","ref.sdo-das-xml","procedure"],["","ref.sdo-das-xml","procedure"],["","ref.sdo-das-xml","procedure"],["","ref.sdo-das-xml","section"],["SDO_DAS_XML::addTypes","sdo-das-xml.addtypes","refentry"],["SDO_DAS_XML::create","sdo-das-xml.create","refentry"],["SDO_DAS_XML::createDataObject","sdo-das-xml.createdataobject","refentry"],["SDO_DAS_XML::createDocument","sdo-das-xml.createdocument","refentry"],["SDO_DAS_XML::loadFile","sdo-das-xml.loadfile","refentry"],["SDO_DAS_XML::loadString","sdo-das-xml.loadstring","refentry"],["SDO_DAS_XML::saveFile","sdo-das-xml.savefile","refentry"],["SDO_DAS_XML::saveString","sdo-das-xml.savestring","refentry"],["SDO_DAS_XML_Document::getRootDataObject","sdo-das-xml-document.getrootdataobject","refentry"],["SDO_DAS_XML_Document::getRootElementName","sdo-das-xml-document.getrootelementname","refentry"],["SDO_DAS_XML_Document::getRootElementURI","sdo-das-xml-document.getrootelementuri","refentry"],["SDO_DAS_XML_Document::setEncoding","sdo-das-xml-document.setencoding","refentry"],["SDO_DAS_XML_Document::setXMLDeclaration","sdo-das-xml-document.setxmldeclaration","refentry"],["SDO_DAS_XML_Document::setXMLVersion","sdo-das-xml-document.setxmlversion","refentry"],["","ref.sdo-das-xml","reference"],["SDO DAS XML","book.sdo-das-xml","book"],["","intro.simplexml","preface"],["","simplexml.requirements","section"],["","simplexml.installation","section"],["","simplexml.configuration","section"],["","simplexml.resources","section"],["","simplexml.setup","chapter"],["","simplexml.constants","appendix"],["","simplexml.examples-basic","programlisting"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","example"],["","simplexml.examples-basic","section"],["","simplexml.examples-errors","programlisting"],["","simplexml.examples-errors","example"],["","simplexml.examples-errors","section"],["","simplexml.examples","chapter"],["","class.simplexmlelement","section"],["","class.simplexmlelement","section"],["","simplexmlelement.addattribute","example"],["SimpleXMLElement::addAttribute","simplexmlelement.addattribute","refentry"],["","simplexmlelement.addchild","example"],["SimpleXMLElement::addChild","simplexmlelement.addchild","refentry"],["","simplexmlelement.asxml","example"],["","simplexmlelement.asxml","example"],["SimpleXMLElement::asXML","simplexmlelement.asxml","refentry"],["","simplexmlelement.attributes","example"],["SimpleXMLElement::attributes","simplexmlelement.attributes","refentry"],["","simplexmlelement.children","example"],["","simplexmlelement.children","example"],["SimpleXMLElement::children","simplexmlelement.children","refentry"],["","simplexmlelement.construct","example"],["","simplexmlelement.construct","example"],["SimpleXMLElement::__construct","simplexmlelement.construct","refentry"],["","simplexmlelement.count","example"],["SimpleXMLElement::count","simplexmlelement.count","refentry"],["","simplexmlelement.getdocnamespaces","example"],["","simplexmlelement.getdocnamespaces","example"],["SimpleXMLElement::getDocNamespaces","simplexmlelement.getdocnamespaces","refentry"],["","simplexmlelement.getname","example"],["SimpleXMLElement::getName","simplexmlelement.getname","refentry"],["","simplexmlelement.getnamespaces","example"],["SimpleXMLElement::getNamespaces","simplexmlelement.getnamespaces","refentry"],["","simplexmlelement.registerxpathnamespace","example"],["SimpleXMLElement::registerXPathNamespace","simplexmlelement.registerxpathnamespace","refentry"],["SimpleXMLElement::saveXML","simplexmlelement.savexml","refentry"],["","simplexmlelement.tostring","example"],["SimpleXMLElement::__toString","simplexmlelement.tostring","refentry"],["","simplexmlelement.xpath","example"],["SimpleXMLElement::xpath","simplexmlelement.xpath","refentry"],["SimpleXMLElement","class.simplexmlelement","phpdoc:classref"],["","class.simplexmliterator","section"],["","class.simplexmliterator","section"],["","simplexmliterator.current","example"],["SimpleXMLIterator::current","simplexmliterator.current","refentry"],["","simplexmliterator.getchildren","example"],["SimpleXMLIterator::getChildren","simplexmliterator.getchildren","refentry"],["","simplexmliterator.haschildren","example"],["SimpleXMLIterator::hasChildren","simplexmliterator.haschildren","refentry"],["","simplexmliterator.key","example"],["SimpleXMLIterator::key","simplexmliterator.key","refentry"],["","simplexmliterator.next","example"],["SimpleXMLIterator::next","simplexmliterator.next","refentry"],["","simplexmliterator.rewind","example"],["SimpleXMLIterator::rewind","simplexmliterator.rewind","refentry"],["","simplexmliterator.valid","example"],["SimpleXMLIterator::valid","simplexmliterator.valid","refentry"],["SimpleXMLIterator","class.simplexmliterator","phpdoc:classref"],["","function.simplexml-import-dom","example"],["simplexml_import_dom","function.simplexml-import-dom","refentry"],["","function.simplexml-load-file","example"],["simplexml_load_file","function.simplexml-load-file","refentry"],["","function.simplexml-load-string","example"],["simplexml_load_string","function.simplexml-load-string","refentry"],["","ref.simplexml","reference"],["","book.simplexml","book"],["","intro.wddx","preface"],["","wddx.requirements","section"],["","wddx.installation","section"],["","wddx.configuration","section"],["","wddx.resources","section"],["","wddx.setup","chapter"],["","wddx.constants","appendix"],["","wddx.examples-serialize","example"],["","wddx.examples-serialize","example"],["","wddx.examples-serialize","section"],["","wddx.examples","chapter"],["wddx_add_vars","function.wddx-add-vars","refentry"],["wddx_deserialize","function.wddx-deserialize","refentry"],["wddx_packet_end","function.wddx-packet-end","refentry"],["wddx_packet_start","function.wddx-packet-start","refentry"],["wddx_serialize_value","function.wddx-serialize-value","refentry"],["","function.wddx-serialize-vars","example"],["wddx_serialize_vars","function.wddx-serialize-vars","refentry"],["","ref.wddx","reference"],["","book.wddx","book"],["","intro.xmldiff","preface"],["","xmldiff.requirements","section"],["","xmldiff.installation","section"],["","xmldiff.setup","chapter"],["","class.xmldiff-base","section"],["","class.xmldiff-base","section"],["XMLDiff\\Base::__construct","xmldiff-base.construct","refentry"],["XMLDiff\\Base::diff","xmldiff-base.diff","refentry"],["XMLDiff\\Base::merge","xmldiff-base.merge","refentry"],["XMLDiff\\Base","class.xmldiff-base","phpdoc:classref"],["","class.xmldiff-dom","section"],["","class.xmldiff-dom","section"],["XMLDiff\\DOM::diff","xmldiff-dom.diff","refentry"],["XMLDiff\\DOM::merge","xmldiff-dom.merge","refentry"],["XMLDiff\\DOM","class.xmldiff-dom","phpdoc:classref"],["","class.xmldiff-memory","section"],["","class.xmldiff-memory","section"],["XMLDiff\\Memory::diff","xmldiff-memory.diff","refentry"],["XMLDiff\\Memory::merge","xmldiff-memory.merge","refentry"],["XMLDiff\\Memory","class.xmldiff-memory","phpdoc:classref"],["","class.xmldiff-file","section"],["","class.xmldiff-file","section"],["XMLDiff\\File::diff","xmldiff-file.diff","refentry"],["XMLDiff\\File::merge","xmldiff-file.merge","refentry"],["XMLDiff\\File","class.xmldiff-file","phpdoc:classref"],["XMLDiff","book.xmldiff","book"],["","intro.xml","preface"],["","xml.requirements","section"],["","xml.installation","section"],["","xml.configuration","section"],["","xml.resources","section"],["","xml.setup","chapter"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","varlistentry"],["","xml.constants","appendix"],["","xml.eventhandlers","article"],["","xml.case-folding","article"],["","xml.error-codes","article"],["","xml.encoding","article"],["","example.xml-structure","example"],["","example.xml-structure","section"],["","example.xml-map-tags","example"],["","example.xml-map-tags","section"],["","example.xml-external-entity","example"],["","example.xml-external-entity","example"],["","example.xml-external-entity","example"],["","example.xml-external-entity","section"],["","xml.examples","chapter"],["utf8_decode","function.utf8-decode","refentry"],["utf8_encode","function.utf8-encode","refentry"],["xml_error_string","function.xml-error-string","refentry"],["xml_get_current_byte_index","function.xml-get-current-byte-index","refentry"],["xml_get_current_column_number","function.xml-get-current-column-number","refentry"],["xml_get_current_line_number","function.xml-get-current-line-number","refentry"],["xml_get_error_code","function.xml-get-error-code","refentry"],["","function.xml-parse-into-struct","example"],["","function.xml-parse-into-struct","example"],["","function.xml-parse-into-struct","example"],["xml_parse_into_struct","function.xml-parse-into-struct","refentry"],["xml_parse","function.xml-parse","refentry"],["xml_parser_create_ns","function.xml-parser-create-ns","refentry"],["xml_parser_create","function.xml-parser-create","refentry"],["xml_parser_free","function.xml-parser-free","refentry"],["xml_parser_get_option","function.xml-parser-get-option","refentry"],["xml_parser_set_option","function.xml-parser-set-option","refentry"],["xml_set_character_data_handler","function.xml-set-character-data-handler","refentry"],["xml_set_default_handler","function.xml-set-default-handler","refentry"],["xml_set_element_handler","function.xml-set-element-handler","refentry"],["xml_set_end_namespace_decl_handler","function.xml-set-end-namespace-decl-handler","refentry"],["xml_set_external_entity_ref_handler","function.xml-set-external-entity-ref-handler","refentry"],["xml_set_notation_decl_handler","function.xml-set-notation-decl-handler","refentry"],["","function.xml-set-object","example"],["xml_set_object","function.xml-set-object","refentry"],["xml_set_processing_instruction_handler","function.xml-set-processing-instruction-handler","refentry"],["xml_set_start_namespace_decl_handler","function.xml-set-start-namespace-decl-handler","refentry"],["xml_set_unparsed_entity_decl_handler","function.xml-set-unparsed-entity-decl-handler","refentry"],["","ref.xml","reference"],["","book.xml","book"],["","intro.xmlreader","section"],["","intro.xmlreader","preface"],["","xmlreader.requirements","section"],["","xmlreader.installation","section"],["","xmlreader.configuration","section"],["","xmlreader.resources","section"],["","xmlreader.setup","chapter"],["","class.xmlreader","section"],["","class.xmlreader","section"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","section"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","section"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","varlistentry"],["","class.xmlreader","section"],["","class.xmlreader","section"],["XMLReader::close","xmlreader.close","refentry"],["XMLReader::expand","xmlreader.expand","refentry"],["XMLReader::getAttribute","xmlreader.getattribute","refentry"],["XMLReader::getAttributeNo","xmlreader.getattributeno","refentry"],["XMLReader::getAttributeNs","xmlreader.getattributens","refentry"],["XMLReader::getParserProperty","xmlreader.getparserproperty","refentry"],["","xmlreader.isvalid","example"],["XMLReader::isValid","xmlreader.isvalid","refentry"],["XMLReader::lookupNamespace","xmlreader.lookupnamespace","refentry"],["XMLReader::moveToAttribute","xmlreader.movetoattribute","refentry"],["XMLReader::moveToAttributeNo","xmlreader.movetoattributeno","refentry"],["XMLReader::moveToAttributeNs","xmlreader.movetoattributens","refentry"],["XMLReader::moveToElement","xmlreader.movetoelement","refentry"],["XMLReader::moveToFirstAttribute","xmlreader.movetofirstattribute","refentry"],["XMLReader::moveToNextAttribute","xmlreader.movetonextattribute","refentry"],["XMLReader::next","xmlreader.next","refentry"],["XMLReader::open","xmlreader.open","refentry"],["XMLReader::read","xmlreader.read","refentry"],["XMLReader::readInnerXML","xmlreader.readinnerxml","refentry"],["XMLReader::readOuterXML","xmlreader.readouterxml","refentry"],["XMLReader::readString","xmlreader.readstring","refentry"],["XMLReader::setParserProperty","xmlreader.setparserproperty","refentry"],["XMLReader::setRelaxNGSchema","xmlreader.setrelaxngschema","refentry"],["XMLReader::setRelaxNGSchemaSource","xmlreader.setrelaxngschemasource","refentry"],["XMLReader::setSchema","xmlreader.setschema","refentry"],["XMLReader::XML","xmlreader.xml","refentry"],["XMLReader","class.xmlreader","phpdoc:classref"],["","book.xmlreader","book"],["","intro.xmlwriter","preface"],["","xmlwriter.requirements","section"],["","xmlwriter.installation","section"],["","xmlwriter.configuration","section"],["","xmlwriter.resources","section"],["","xmlwriter.setup","chapter"],["","xmlwriter.constants","appendix"],["XMLWriter::endAttribute","function.xmlwriter-end-attribute","refentry"],["XMLWriter::endCData","function.xmlwriter-end-cdata","refentry"],["XMLWriter::endComment","function.xmlwriter-end-comment","refentry"],["XMLWriter::endDocument","function.xmlwriter-end-document","refentry"],["XMLWriter::endDTDAttlist","function.xmlwriter-end-dtd-attlist","refentry"],["XMLWriter::endDTDElement","function.xmlwriter-end-dtd-element","refentry"],["XMLWriter::endDTDEntity","function.xmlwriter-end-dtd-entity","refentry"],["XMLWriter::endDTD","function.xmlwriter-end-dtd","refentry"],["XMLWriter::endElement","function.xmlwriter-end-element","refentry"],["XMLWriter::endPI","function.xmlwriter-end-pi","refentry"],["XMLWriter::flush","function.xmlwriter-flush","refentry"],["XMLWriter::fullEndElement","function.xmlwriter-full-end-element","refentry"],["XMLWriter::openMemory","function.xmlwriter-open-memory","refentry"],["XMLWriter::openURI","function.xmlwriter-open-uri","refentry"],["XMLWriter::outputMemory","function.xmlwriter-output-memory","refentry"],["XMLWriter::setIndentString","function.xmlwriter-set-indent-string","refentry"],["XMLWriter::setIndent","function.xmlwriter-set-indent","refentry"],["XMLWriter::startAttributeNS","function.xmlwriter-start-attribute-ns","refentry"],["XMLWriter::startAttribute","function.xmlwriter-start-attribute","refentry"],["XMLWriter::startCData","function.xmlwriter-start-cdata","refentry"],["XMLWriter::startComment","function.xmlwriter-start-comment","refentry"],["XMLWriter::startDocument","function.xmlwriter-start-document","refentry"],["XMLWriter::startDTDAttlist","function.xmlwriter-start-dtd-attlist","refentry"],["XMLWriter::startDTDElement","function.xmlwriter-start-dtd-element","refentry"],["XMLWriter::startDTDEntity","function.xmlwriter-start-dtd-entity","refentry"],["XMLWriter::startDTD","function.xmlwriter-start-dtd","refentry"],["XMLWriter::startElementNS","function.xmlwriter-start-element-ns","refentry"],["XMLWriter::startElement","function.xmlwriter-start-element","refentry"],["XMLWriter::startPI","function.xmlwriter-start-pi","refentry"],["XMLWriter::text","function.xmlwriter-text","refentry"],["XMLWriter::writeAttributeNS","function.xmlwriter-write-attribute-ns","refentry"],["XMLWriter::writeAttribute","function.xmlwriter-write-attribute","refentry"],["XMLWriter::writeCData","function.xmlwriter-write-cdata","refentry"],["XMLWriter::writeComment","function.xmlwriter-write-comment","refentry"],["XMLWriter::writeDTDAttlist","function.xmlwriter-write-dtd-attlist","refentry"],["XMLWriter::writeDTDElement","function.xmlwriter-write-dtd-element","refentry"],["XMLWriter::writeDTDEntity","function.xmlwriter-write-dtd-entity","refentry"],["XMLWriter::writeDTD","function.xmlwriter-write-dtd","refentry"],["XMLWriter::writeElementNS","function.xmlwriter-write-element-ns","refentry"],["XMLWriter::writeElement","function.xmlwriter-write-element","refentry"],["XMLWriter::writePI","function.xmlwriter-write-pi","refentry"],["XMLWriter::writeRaw","function.xmlwriter-write-raw","refentry"],["","ref.xmlwriter","reference"],["","book.xmlwriter","book"],["","intro.xsl","preface"],["","xsl.requirements","section"],["","xsl.installation","section"],["","xsl.configuration","section"],["","xsl.resources","section"],["","xsl.setup","chapter"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","varlistentry"],["","xsl.constants","appendix"],["","xsl.examples-collection","example"],["","xsl.examples-collection","example"],["","xsl.examples-collection","section"],["","xsl.examples","chapter"],["","class.xsltprocessor","section"],["","class.xsltprocessor","section"],["","xsltprocessor.construct","example"],["XSLTProcessor::__construct","xsltprocessor.construct","refentry"],["XSLTProcessor::getParameter","xsltprocessor.getparameter","refentry"],["XsltProcessor::getSecurityPrefs","xsltprocessor.getsecurityprefs","refentry"],["","xsltprocessor.hasexsltsupport","example"],["XSLTProcessor::hasExsltSupport","xsltprocessor.hasexsltsupport","refentry"],["XSLTProcessor::importStylesheet","xsltprocessor.importstylesheet","refentry"],["","xsltprocessor.registerphpfunctions","example"],["XSLTProcessor::registerPHPFunctions","xsltprocessor.registerphpfunctions","refentry"],["XSLTProcessor::removeParameter","xsltprocessor.removeparameter","refentry"],["","xsltprocessor.setparameter","example"],["XSLTProcessor::setParameter","xsltprocessor.setparameter","refentry"],["","xsltprocessor.setprofiling","example"],["XSLTProcessor::setProfiling","xsltprocessor.setprofiling","refentry"],["XsltProcessor::setSecurityPrefs","xsltprocessor.setsecurityprefs","refentry"],["","xsltprocessor.transformtodoc","example"],["XSLTProcessor::transformToDoc","xsltprocessor.transformtodoc","refentry"],["","xsltprocessor.transformtouri","example"],["XSLTProcessor::transformToUri","xsltprocessor.transformtouri","refentry"],["","xsltprocessor.transformtoxml","example"],["XSLTProcessor::transformToXML","xsltprocessor.transformtoxml","refentry"],["XSLTProcessor","class.xsltprocessor","phpdoc:classref"],["","book.xsl","book"],["","intro.xslt","preface"],["","xslt.requirements","section"],["","xslt.installation","section"],["","xslt.configuration","section"],["","xslt.resources","section"],["","xslt.setup","chapter"],["","xslt.constants","varlistentry"],["","xslt.constants","varlistentry"],["","xslt.constants","varlistentry"],["","xslt.constants","varlistentry"],["","xslt.constants","varlistentry"],["","xslt.constants","varlistentry"],["","xslt.constants","varlistentry"],["","xslt.constants","appendix"],["xslt_backend_info","function.xslt-backend-info","refentry"],["","function.xslt-backend-name","example"],["xslt_backend_name","function.xslt-backend-name","refentry"],["","function.xslt-backend-version","example"],["xslt_backend_version","function.xslt-backend-version","refentry"],["","function.xslt-create","example"],["xslt_create","function.xslt-create","refentry"],["xslt_errno","function.xslt-errno","refentry"],["","function.xslt-error","example"],["xslt_error","function.xslt-error","refentry"],["xslt_free","function.xslt-free","refentry"],["xslt_getopt","function.xslt-getopt","refentry"],["","function.xslt-process","example"],["","function.xslt-process","example"],["","function.xslt-process","example"],["","function.xslt-process","example"],["xslt_process","function.xslt-process","refentry"],["xslt_set_base","function.xslt-set-base","refentry"],["xslt_set_encoding","function.xslt-set-encoding","refentry"],["","function.xslt-set-error-handler","example"],["xslt_set_error_handler","function.xslt-set-error-handler","refentry"],["","function.xslt-set-log","example"],["xslt_set_log","function.xslt-set-log","refentry"],["","function.xslt-set-object","example"],["xslt_set_object","function.xslt-set-object","refentry"],["xslt_set_sax_handler","function.xslt-set-sax-handler","refentry"],["","function.xslt-set-sax-handlers","example"],["","function.xslt-set-sax-handlers","example"],["xslt_set_sax_handlers","function.xslt-set-sax-handlers","refentry"],["xslt_set_scheme_handler","function.xslt-set-scheme-handler","refentry"],["","function.xslt-set-scheme-handlers","example"],["xslt_set_scheme_handlers","function.xslt-set-scheme-handlers","refentry"],["","function.xslt-setopt","example"],["xslt_setopt","function.xslt-setopt","refentry"],["","ref.xslt","reference"],["","book.xslt","book"],["","refs.xml","set"],["","funcref","set"],["","internals2.preface","preface"],["","internals2.memory.management","table"],["","internals2.memory.management","example"],["","internals2.memory.management","sect1"],["","internals2.memory.persistence","table"],["","internals2.memory.persistence","sect1"],["","internals2.memory.tsrm","example"],["","internals2.memory.tsrm","table"],["","internals2.memory.tsrm","table"],["","internals2.memory.tsrm","sect1"],["","internals2.memory","chapter"],["","internals2.variables.intro","table"],["","internals2.variables.intro","table"],["","internals2.variables.intro","table"],["","internals2.variables.intro","table"],["","internals2.variables.intro","table"],["","internals2.variables.intro","section"],["","internals2.variables.arrays","table"],["","internals2.variables.arrays","table"],["","internals2.variables.arrays","table"],["","internals2.variables.arrays","section"],["","internals2.variables.tables","table"],["","internals2.variables.tables","table"],["","internals2.variables.tables","table"],["","internals2.variables.tables","section"],["","internals2.variables.objects","section"],["","internals2.variables","chapter"],["","internals2.funcs","table"],["","internals2.funcs","table"],["","internals2.funcs","table"],["","internals2.funcs","table"],["","internals2.funcs","chapter"],["","internals2.classes","chapter"],["","internals2.resources","chapter"],["","internals2.ini","chapter"],["","internals2.streams","chapter"],["","internals2.counter","partintro"],["","internals2.counter.intro","section"],["","internals2.counter.ini","varlistentry"],["","internals2.counter.ini","varlistentry"],["","internals2.counter.ini","varlistentry"],["","internals2.counter.ini","section"],["","internals2.counter.resources","section"],["","internals2.counter.setup","chapter"],["","internals2.counter.constants","appendix"],["","internals2.counter.examples.basic","example"],["","internals2.counter.examples.basic","section"],["","internals2.counter.examples.extended","example"],["","internals2.counter.examples.extended","section"],["","internals2.counter.examples.objective","example"],["","internals2.counter.examples.objective","section"],["","internals2.counter.examples","chapter"],["","internals2.counter.counter-class","section"],["","internals2.counter.counter-class","section"],["Counter::__construct","internals2.counter.counter-class.construct","refentry"],["Counter::getValue","internals2.counter.counter-class.getvalue","refentry"],["Counter::bumpValue","internals2.counter.counter-class.bumpvalue","refentry"],["Counter::resetValue","internals2.counter.counter-class.resetvalue","refentry"],["Counter::getMeta","internals2.counter.counter-class.getmeta","refentry"],["Counter::getNamed","internals2.counter.counter-class.getnamed","refentry"],["Counter::setCounterClass","internals2.counter.counter-class.setcounterclass","refentry"],["Counter","internals2.counter.counter-class","reference"],["counter_get","internals2.counter.function.counter-get","refentry"],["counter_bump","internals2.counter.function.counter-bump","refentry"],["counter_reset","internals2.counter.function.counter-reset","refentry"],["Basic","internals2.counter.basic-interface","reference"],["counter_create","internals2.counter.function.counter-create","refentry"],["counter_get_value","internals2.counter.function.counter-get-value","refentry"],["counter_bump_value","internals2.counter.function.counter-bump-value","refentry"],["counter_reset_value","internals2.counter.function.counter-reset-value","refentry"],["counter_get_meta","internals2.counter.function.counter-get-meta","refentry"],["counter_get_named","internals2.counter.function.counter-get-named","refentry"],["Extended","internals2.counter.extended-interface","reference"],["","internals2.counter","part"],["","internals2.buildsys.environment","sect1"],["","internals2.buildsys.skeleton","sect1"],["","internals2.buildsys.configunix","example"],["","internals2.buildsys.configunix","sect2"],["","internals2.buildsys.configunix","example"],["","internals2.buildsys.configunix","sect2"],["","internals2.buildsys.configunix","sect3"],["","internals2.buildsys.configunix","sect3"],["","internals2.buildsys.configunix","sect3"],["","internals2.buildsys.configunix","sect2"],["","internals2.buildsys.configunix","sect2"],["","internals2.buildsys.configunix","example"],["","internals2.buildsys.configunix","sect2"],["","internals2.buildsys.configunix","sect1"],["","internals2.buildsys.configwin","example"],["","internals2.buildsys.configwin","example"],["","internals2.buildsys.configwin","sect2"],["","internals2.buildsys.configwin","sect1"],["","internals2.buildsys","chapter"],["","internals2.structure.files","example"],["","internals2.structure.files","sect2"],["","internals2.structure.files","sect1"],["","internals2.structure.basics","sect1"],["","internals2.structure.modstruct","example"],["","internals2.structure.modstruct","example"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","footnote"],["","internals2.structure.modstruct","table"],["","internals2.structure.modstruct","example"],["","internals2.structure.modstruct","sect2"],["","internals2.structure.modstruct","sect2"],["","internals2.structure.modstruct","sect1"],["","internals2.structure.globals","example"],["","internals2.structure.globals","sect2"],["","internals2.structure.globals","example"],["","internals2.structure.globals","example"],["","internals2.structure.globals","sect2"],["","internals2.structure.globals","example"],["","internals2.structure.globals","example"],["","internals2.structure.globals","sect2"],["","internals2.structure.globals","sect1"],["","internals2.structure.lifecycle","sect2"],["","internals2.structure.lifecycle","sect2"],["","internals2.structure.lifecycle","sect2"],["","internals2.structure.lifecycle","example"],["","internals2.structure.lifecycle","sect2"],["","internals2.structure.lifecycle","sect1"],["","internals2.structure.tests","sect1"],["","internals2.structure","chapter"],["","internals2.pdo.prerequisites","sect1"],["","internals2.pdo.preparation","sect2"],["","internals2.pdo.preparation","sect2"],["","internals2.pdo.preparation","sect3"],["","internals2.pdo.preparation","sect3"],["","internals2.pdo.preparation","sect3"],["","internals2.pdo.preparation","sect3"],["","internals2.pdo.preparation","sect3"],["","internals2.pdo.preparation","sect2"],["","internals2.pdo.preparation","sect1"],["","internals2.pdo.implementing","sect2"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect4"],["","internals2.pdo.implementing","sect4"],["","internals2.pdo.implementing","sect4"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect2"],["","internals2.pdo.implementing","example"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","example"],["","internals2.pdo.implementing","example"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect2"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect3"],["","internals2.pdo.implementing","sect2"],["","internals2.pdo.implementing","sect1"],["","internals2.pdo.building","sect1"],["","internals2.pdo.testing","sect1"],["","internals2.pdo.packaging","sect2"],["","internals2.pdo.packaging","sect2"],["","internals2.pdo.packaging","sect1"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","co"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","callout"],["","internals2.pdo.pdo-dbh-t","sect1"],["","internals2.pdo.pdo-stmt-t","co"],["","internals2.pdo.pdo-stmt-t","co"],["","internals2.pdo.pdo-stmt-t","co"],["","internals2.pdo.pdo-stmt-t","co"],["","internals2.pdo.pdo-stmt-t","co"],["","internals2.pdo.pdo-stmt-t","co"],["","internals2.pdo.pdo-stmt-t","callout"],["","internals2.pdo.pdo-stmt-t","callout"],["","internals2.pdo.pdo-stmt-t","callout"],["","internals2.pdo.pdo-stmt-t","callout"],["","internals2.pdo.pdo-stmt-t","callout"],["","internals2.pdo.pdo-stmt-t","callout"],["","internals2.pdo.pdo-stmt-t","sect1"],["","internals2.pdo.constants","table"],["","internals2.pdo.constants","sect1"],["","internals2.pdo.error-handling","sect1"],["","internals2.pdo","chapter"],["","internals2.faq","chapter"],["","internals2.apiref","chapter"],["","internals2.opcodes","partintro"],["","internals2.opcodes.add","section"],["","internals2.opcodes.add","section"],["","internals2.opcodes.add","section"],["","internals2.opcodes.add-array-element","section"],["","internals2.opcodes.add-array-element","section"],["","internals2.opcodes.add-array-element","section"],["","internals2.opcodes.add-char","section"],["","internals2.opcodes.add-char","section"],["","internals2.opcodes.add-char","section"],["","internals2.opcodes.add-interface","section"],["","internals2.opcodes.add-interface","section"],["","internals2.opcodes.add-string","section"],["","internals2.opcodes.add-string","section"],["","internals2.opcodes.add-string","section"],["","internals2.opcodes.add-var","section"],["","internals2.opcodes.add-var","section"],["","internals2.opcodes.add-var","section"],["","internals2.opcodes.assign","section"],["","internals2.opcodes.assign","section"],["","internals2.opcodes.assign","section"],["","internals2.opcodes.assign-add","section"],["","internals2.opcodes.assign-add","section"],["","internals2.opcodes.assign-add","section"],["","internals2.opcodes.assign-bw-and","section"],["","internals2.opcodes.assign-bw-and","section"],["","internals2.opcodes.assign-bw-and","section"],["","internals2.opcodes.assign-bw-or","section"],["","internals2.opcodes.assign-bw-or","section"],["","internals2.opcodes.assign-bw-or","section"],["","internals2.opcodes.assign-bw-xor","section"],["","internals2.opcodes.assign-bw-xor","section"],["","internals2.opcodes.assign-bw-xor","section"],["","internals2.opcodes.assign-concat","section"],["","internals2.opcodes.assign-concat","section"],["","internals2.opcodes.assign-concat","section"],["","internals2.opcodes.assign-dim","section"],["","internals2.opcodes.assign-dim","section"],["","internals2.opcodes.assign-dim","section"],["","internals2.opcodes.assign-div","section"],["","internals2.opcodes.assign-div","section"],["","internals2.opcodes.assign-div","section"],["","internals2.opcodes.assign-mod","section"],["","internals2.opcodes.assign-mod","section"],["","internals2.opcodes.assign-mod","section"],["","internals2.opcodes.assign-mul","section"],["","internals2.opcodes.assign-mul","section"],["","internals2.opcodes.assign-mul","section"],["","internals2.opcodes.assign-obj","section"],["","internals2.opcodes.assign-obj","section"],["","internals2.opcodes.assign-obj","section"],["","internals2.opcodes.assign-ref","section"],["","internals2.opcodes.assign-ref","section"],["","internals2.opcodes.assign-ref","section"],["","internals2.opcodes.assign-sl","section"],["","internals2.opcodes.assign-sl","section"],["","internals2.opcodes.assign-sl","section"],["","internals2.opcodes.assign-sr","section"],["","internals2.opcodes.assign-sr","section"],["","internals2.opcodes.assign-sr","section"],["","internals2.opcodes.assign-sub","section"],["","internals2.opcodes.assign-sub","section"],["","internals2.opcodes.assign-sub","section"],["","internals2.opcodes.begin-silence","section"],["","internals2.opcodes.begin-silence","section"],["","internals2.opcodes.begin-silence","section"],["","internals2.opcodes.bool","section"],["","internals2.opcodes.bool","section"],["","internals2.opcodes.bool","section"],["","internals2.opcodes.bool-not","section"],["","internals2.opcodes.bool-not","section"],["","internals2.opcodes.bool-not","section"],["","internals2.opcodes.bool-xor","section"],["","internals2.opcodes.bool-xor","section"],["","internals2.opcodes.bool-xor","section"],["","internals2.opcodes.brk","section"],["","internals2.opcodes.brk","section"],["","internals2.opcodes.brk","section"],["","internals2.opcodes.bw-and","section"],["","internals2.opcodes.bw-and","section"],["","internals2.opcodes.bw-and","section"],["","internals2.opcodes.bw-not","section"],["","internals2.opcodes.bw-not","section"],["","internals2.opcodes.bw-not","section"],["","internals2.opcodes.bw-or","section"],["","internals2.opcodes.bw-or","section"],["","internals2.opcodes.bw-or","section"],["","internals2.opcodes.bw-xor","section"],["","internals2.opcodes.bw-xor","section"],["","internals2.opcodes.bw-xor","section"],["","internals2.opcodes.case","section"],["","internals2.opcodes.case","section"],["","internals2.opcodes.case","section"],["","internals2.opcodes.cast","section"],["","internals2.opcodes.cast","section"],["","internals2.opcodes.cast","section"],["","internals2.opcodes.catch","section"],["","internals2.opcodes.catch","section"],["","internals2.opcodes.catch","section"],["","internals2.opcodes.clone","section"],["","internals2.opcodes.clone","section"],["","internals2.opcodes.clone","section"],["","internals2.opcodes.concat","section"],["","internals2.opcodes.concat","section"],["","internals2.opcodes.concat","section"],["","internals2.opcodes.cont","section"],["","internals2.opcodes.cont","section"],["","internals2.opcodes.cont","section"],["","internals2.opcodes.declare-class","section"],["","internals2.opcodes.declare-class","section"],["","internals2.opcodes.declare-class","section"],["","internals2.opcodes.declare-const","section"],["","internals2.opcodes.declare-const","section"],["","internals2.opcodes.declare-function","section"],["","internals2.opcodes.declare-function","section"],["","internals2.opcodes.declare-function","section"],["","internals2.opcodes.declare-inherited-class","section"],["","internals2.opcodes.declare-inherited-class","section"],["","internals2.opcodes.declare-inherited-class","section"],["","internals2.opcodes.declare-inherited-class-delayed","section"],["","internals2.opcodes.declare-inherited-class-delayed","section"],["","internals2.opcodes.div","section"],["","internals2.opcodes.div","section"],["","internals2.opcodes.div","section"],["","internals2.opcodes.do-fcall","section"],["","internals2.opcodes.do-fcall","section"],["","internals2.opcodes.do-fcall","section"],["","internals2.opcodes.do-fcall-by-name","section"],["","internals2.opcodes.do-fcall-by-name","section"],["","internals2.opcodes.do-fcall-by-name","section"],["","internals2.opcodes.echo","section"],["","internals2.opcodes.echo","section"],["","internals2.opcodes.echo","section"],["","internals2.opcodes.end-silence","section"],["","internals2.opcodes.end-silence","section"],["","internals2.opcodes.end-silence","section"],["","internals2.opcodes.exit","section"],["","internals2.opcodes.exit","section"],["","internals2.opcodes.exit","section"],["","internals2.opcodes.ext-fcall-begin","section"],["","internals2.opcodes.ext-fcall-begin","section"],["","internals2.opcodes.ext-fcall-end","section"],["","internals2.opcodes.ext-fcall-end","section"],["","internals2.opcodes.ext-nop","section"],["","internals2.opcodes.ext-nop","section"],["","internals2.opcodes.ext-stmt","section"],["","internals2.opcodes.ext-stmt","section"],["","internals2.opcodes.fe-fetch","section"],["","internals2.opcodes.fe-fetch","section"],["","internals2.opcodes.fe-fetch","section"],["","internals2.opcodes.fe-reset","section"],["","internals2.opcodes.fe-reset","section"],["","internals2.opcodes.fe-reset","section"],["","internals2.opcodes.fetch-class","section"],["","internals2.opcodes.fetch-class","section"],["","internals2.opcodes.fetch-class","section"],["","internals2.opcodes.fetch-constant","section"],["","internals2.opcodes.fetch-constant","section"],["","internals2.opcodes.fetch-constant","section"],["","internals2.opcodes.fetch-dim-func-arg","section"],["","internals2.opcodes.fetch-dim-func-arg","section"],["","internals2.opcodes.fetch-dim-func-arg","section"],["","internals2.opcodes.fetch-dim-is","section"],["","internals2.opcodes.fetch-dim-is","section"],["","internals2.opcodes.fetch-dim-r","section"],["","internals2.opcodes.fetch-dim-r","section"],["","internals2.opcodes.fetch-dim-r","section"],["","internals2.opcodes.fetch-dim-rw","section"],["","internals2.opcodes.fetch-dim-rw","section"],["","internals2.opcodes.fetch-dim-rw","section"],["","internals2.opcodes.fetch-dim-tmp-var","section"],["","internals2.opcodes.fetch-dim-tmp-var","section"],["","internals2.opcodes.fetch-dim-tmp-var","section"],["","internals2.opcodes.fetch-dim-unset","section"],["","internals2.opcodes.fetch-dim-unset","section"],["","internals2.opcodes.fetch-dim-w","section"],["","internals2.opcodes.fetch-dim-w","section"],["","internals2.opcodes.fetch-dim-w","section"],["","internals2.opcodes.fetch-func-arg","section"],["","internals2.opcodes.fetch-func-arg","section"],["","internals2.opcodes.fetch-func-arg","section"],["","internals2.opcodes.fetch-is","section"],["","internals2.opcodes.fetch-is","section"],["","internals2.opcodes.fetch-is","section"],["","internals2.opcodes.fetch-obj-func-arg","section"],["","internals2.opcodes.fetch-obj-func-arg","section"],["","internals2.opcodes.fetch-obj-func-arg","section"],["","internals2.opcodes.fetch-obj-is","section"],["","internals2.opcodes.fetch-obj-is","section"],["","internals2.opcodes.fetch-obj-r","section"],["","internals2.opcodes.fetch-obj-r","section"],["","internals2.opcodes.fetch-obj-r","section"],["","internals2.opcodes.fetch-obj-rw","section"],["","internals2.opcodes.fetch-obj-rw","section"],["","internals2.opcodes.fetch-obj-rw","section"],["","internals2.opcodes.fetch-obj-unset","section"],["","internals2.opcodes.fetch-obj-unset","section"],["","internals2.opcodes.fetch-obj-w","section"],["","internals2.opcodes.fetch-obj-w","section"],["","internals2.opcodes.fetch-obj-w","section"],["","internals2.opcodes.fetch-r","section"],["","internals2.opcodes.fetch-r","section"],["","internals2.opcodes.fetch-r","section"],["","internals2.opcodes.fetch-rw","section"],["","internals2.opcodes.fetch-rw","section"],["","internals2.opcodes.fetch-rw","section"],["","internals2.opcodes.fetch-unset","section"],["","internals2.opcodes.fetch-unset","section"],["","internals2.opcodes.fetch-w","section"],["","internals2.opcodes.fetch-w","section"],["","internals2.opcodes.fetch-w","section"],["","internals2.opcodes.free","section"],["","internals2.opcodes.free","section"],["","internals2.opcodes.free","section"],["","internals2.opcodes.goto","section"],["","internals2.opcodes.goto","section"],["","internals2.opcodes.handle-exception","section"],["","internals2.opcodes.handle-exception","section"],["","internals2.opcodes.handle-exception","section"],["","internals2.opcodes.include-or-eval","section"],["","internals2.opcodes.include-or-eval","section"],["","internals2.opcodes.include-or-eval","section"],["","internals2.opcodes.init-array","section"],["","internals2.opcodes.init-array","section"],["","internals2.opcodes.init-array","section"],["","internals2.opcodes.init-fcall-by-name","section"],["","internals2.opcodes.init-fcall-by-name","section"],["","internals2.opcodes.init-fcall-by-name","section"],["","internals2.opcodes.init-method-call","section"],["","internals2.opcodes.init-method-call","section"],["","internals2.opcodes.init-method-call","section"],["","internals2.opcodes.init-ns-fcall-by-name","section"],["","internals2.opcodes.init-ns-fcall-by-name","section"],["","internals2.opcodes.init-static-method-call","section"],["","internals2.opcodes.init-static-method-call","section"],["","internals2.opcodes.init-static-method-call","section"],["","internals2.opcodes.init-string","section"],["","internals2.opcodes.init-string","section"],["","internals2.opcodes.init-string","section"],["","internals2.opcodes.instanceof","section"],["","internals2.opcodes.instanceof","section"],["","internals2.opcodes.instanceof","section"],["","internals2.opcodes.is-equal","section"],["","internals2.opcodes.is-equal","section"],["","internals2.opcodes.is-equal","section"],["","internals2.opcodes.is-identical","section"],["","internals2.opcodes.is-identical","section"],["","internals2.opcodes.is-identical","section"],["","internals2.opcodes.is-not-equal","section"],["","internals2.opcodes.is-not-equal","section"],["","internals2.opcodes.is-not-equal","section"],["","internals2.opcodes.is-not-identical","section"],["","internals2.opcodes.is-not-identical","section"],["","internals2.opcodes.is-not-identical","section"],["","internals2.opcodes.is-smaller","section"],["","internals2.opcodes.is-smaller","section"],["","internals2.opcodes.is-smaller","section"],["","internals2.opcodes.is-smaller-or-equal","section"],["","internals2.opcodes.is-smaller-or-equal","section"],["","internals2.opcodes.is-smaller-or-equal","section"],["","internals2.opcodes.isset-isempty-dim-obj","section"],["","internals2.opcodes.isset-isempty-dim-obj","section"],["","internals2.opcodes.isset-isempty-dim-obj","section"],["","internals2.opcodes.isset-isempty-prop-obj","section"],["","internals2.opcodes.isset-isempty-prop-obj","section"],["","internals2.opcodes.isset-isempty-prop-obj","section"],["","internals2.opcodes.isset-isempty-var","section"],["","internals2.opcodes.isset-isempty-var","section"],["","internals2.opcodes.isset-isempty-var","section"],["","internals2.opcodes.jmp","section"],["","internals2.opcodes.jmp","section"],["","internals2.opcodes.jmp","section"],["","internals2.opcodes.jmpnz","section"],["","internals2.opcodes.jmpnz","section"],["","internals2.opcodes.jmpnz","section"],["","internals2.opcodes.jmpnz-ex","section"],["","internals2.opcodes.jmpnz-ex","section"],["","internals2.opcodes.jmpnz-ex","section"],["","internals2.opcodes.jmpz","section"],["","internals2.opcodes.jmpz","section"],["","internals2.opcodes.jmpz","section"],["","internals2.opcodes.jmpz-ex","section"],["","internals2.opcodes.jmpz-ex","section"],["","internals2.opcodes.jmpz-ex","section"],["","internals2.opcodes.jmpznz","section"],["","internals2.opcodes.jmpznz","section"],["","internals2.opcodes.jmpznz","section"],["","internals2.opcodes.mod","section"],["","internals2.opcodes.mod","section"],["","internals2.opcodes.mod","section"],["","internals2.opcodes.mul","section"],["","internals2.opcodes.mul","section"],["","internals2.opcodes.mul","section"],["","internals2.opcodes.new","section"],["","internals2.opcodes.new","section"],["","internals2.opcodes.new","section"],["","internals2.opcodes.nop","section"],["","internals2.opcodes.nop","section"],["","internals2.opcodes.nop","section"],["","internals2.opcodes.post-dec","section"],["","internals2.opcodes.post-dec","section"],["","internals2.opcodes.post-dec","section"],["","internals2.opcodes.post-dec-obj","section"],["","internals2.opcodes.post-dec-obj","section"],["","internals2.opcodes.post-dec-obj","section"],["","internals2.opcodes.post-inc","section"],["","internals2.opcodes.post-inc","section"],["","internals2.opcodes.post-inc","section"],["","internals2.opcodes.post-inc-obj","section"],["","internals2.opcodes.post-inc-obj","section"],["","internals2.opcodes.post-inc-obj","section"],["","internals2.opcodes.pre-dec","section"],["","internals2.opcodes.pre-dec","section"],["","internals2.opcodes.pre-dec","section"],["","internals2.opcodes.pre-dec-obj","section"],["","internals2.opcodes.pre-dec-obj","section"],["","internals2.opcodes.pre-dec-obj","section"],["","internals2.opcodes.pre-inc","section"],["","internals2.opcodes.pre-inc","section"],["","internals2.opcodes.pre-inc","section"],["","internals2.opcodes.pre-inc-obj","section"],["","internals2.opcodes.pre-inc-obj","section"],["","internals2.opcodes.pre-inc-obj","section"],["","internals2.opcodes.print","section"],["","internals2.opcodes.print","section"],["","internals2.opcodes.print","section"],["","internals2.opcodes.qm-assign","section"],["","internals2.opcodes.qm-assign","section"],["","internals2.opcodes.qm-assign","section"],["","internals2.opcodes.raise-abstract-error","section"],["","internals2.opcodes.raise-abstract-error","section"],["","internals2.opcodes.raise-abstract-error","section"],["","internals2.opcodes.recv","section"],["","internals2.opcodes.recv","section"],["","internals2.opcodes.recv","section"],["","internals2.opcodes.recv-init","section"],["","internals2.opcodes.recv-init","section"],["","internals2.opcodes.recv-init","section"],["","internals2.opcodes.return","section"],["","internals2.opcodes.return","section"],["","internals2.opcodes.return","section"],["","internals2.opcodes.return-by-ref","section"],["","internals2.opcodes.return-by-ref","section"],["","internals2.opcodes.send-ref","section"],["","internals2.opcodes.send-ref","section"],["","internals2.opcodes.send-ref","section"],["","internals2.opcodes.send-val","section"],["","internals2.opcodes.send-val","section"],["","internals2.opcodes.send-val","section"],["","internals2.opcodes.send-var","section"],["","internals2.opcodes.send-var","section"],["","internals2.opcodes.send-var","section"],["","internals2.opcodes.send-var-no-ref","section"],["","internals2.opcodes.send-var-no-ref","section"],["","internals2.opcodes.sl","section"],["","internals2.opcodes.sl","section"],["","internals2.opcodes.sl","section"],["","internals2.opcodes.sr","section"],["","internals2.opcodes.sr","section"],["","internals2.opcodes.sr","section"],["","internals2.opcodes.sub","section"],["","internals2.opcodes.sub","section"],["","internals2.opcodes.sub","section"],["","internals2.opcodes.switch-free","section"],["","internals2.opcodes.switch-free","section"],["","internals2.opcodes.switch-free","section"],["","internals2.opcodes.throw","section"],["","internals2.opcodes.throw","section"],["","internals2.opcodes.throw","section"],["","internals2.opcodes.ticks","section"],["","internals2.opcodes.ticks","section"],["","internals2.opcodes.ticks","section"],["","internals2.opcodes.unset-dim","section"],["","internals2.opcodes.unset-dim","section"],["","internals2.opcodes.unset-dim","section"],["","internals2.opcodes.unset-obj","section"],["","internals2.opcodes.unset-obj","section"],["","internals2.opcodes.unset-obj","section"],["","internals2.opcodes.unset-var","section"],["","internals2.opcodes.unset-var","section"],["","internals2.opcodes.unset-var","section"],["","internals2.opcodes.user-opcode","section"],["","internals2.opcodes.user-opcode","section"],["","internals2.opcodes.verify-abstract-class","section"],["","internals2.opcodes.verify-abstract-class","section"],["","internals2.opcodes.zend-declare-lambda-function","section"],["","internals2.opcodes.zend-declare-lambda-function","section"],["","internals2.opcodes.zend-jmp-set","section"],["","internals2.opcodes.zend-jmp-set","section"],["","internals2.opcodes.list","chapter"],["","internals2.opcodes","part"],["","internals2.ze1.intro","sect1"],["","internals2.ze1.streams","sect2"],["","internals2.ze1.streams","example"],["","internals2.ze1.streams","sect2"],["","internals2.ze1.streams","example"],["","internals2.ze1.streams","example"],["","internals2.ze1.streams","sect2"],["","internals2.ze1.streams","sect2"],["","internals2.ze1.streams","sect1"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","mediaobject"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","mediaobject"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","mediaobject"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","example"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect3"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","table"],["","internals2.ze1.zendapi","sect2"],["","internals2.ze1.zendapi","sect1"],["","internals2.ze1.tsrm","sect1"],["","internals2.ze1","chapter"],["","internals2","book"],["","faq.general","qandaentry"],["","faq.general","qandaentry"],["","faq.general","qandaentry"],["","faq.general","qandaentry"],["","faq.general","qandaentry"],["","faq.general","qandaentry"],["General Information","faq.general","chapter"],["","faq.mailinglist","qandaentry"],["","faq.mailinglist","qandaentry"],["","faq.mailinglist","qandaentry"],["","faq.mailinglist","qandaentry"],["","faq.mailinglist","qandaentry"],["","faq.mailinglist","qandaentry"],["","faq.mailinglist","qandaentry"],["Mailing lists","faq.mailinglist","chapter"],["","faq.obtaining","qandaentry"],["","faq.obtaining","qandaentry"],["","faq.obtaining","qandaentry"],["","faq.obtaining","qandaentry"],["","faq.obtaining","qandaentry"],["","faq.obtaining","qandaentry"],["","faq.obtaining","qandaentry"],["Obtaining PHP","faq.obtaining","chapter"],["","faq.databases","qandaentry"],["","faq.databases","qandaentry"],["","faq.databases","qandaentry"],["","faq.databases","qandaentry"],["","faq.databases","qandaentry"],["","faq.databases","qandaentry"],["Database issues","faq.databases","chapter"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["","faq.installation","qandaentry"],["Installation","faq.installation","chapter"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["","faq.build","qandaentry"],["Build Problems","faq.build","chapter"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["","faq.using","qandaentry"],["Using PHP","faq.using","chapter"],["","faq.passwords","qandaentry"],["","faq.passwords","qandaentry"],["","faq.passwords","qandaentry"],["","faq.passwords","qandaentry"],["Password Hashing","faq.passwords","chapter"],["","faq.html","example"],["","faq.html","example"],["","faq.html","example"],["","faq.html","qandaentry"],["","faq.html","qandaentry"],["","faq.html","qandaentry"],["","faq.html","qandaentry"],["","faq.html","example"],["","faq.html","qandaentry"],["PHP and HTML","faq.html","chapter"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["","faq.com","qandaentry"],["PHP and COM","faq.com","chapter"],["","faq.languages","qandaentry"],["","faq.languages","qandaentry"],["","faq.languages","qandaentry"],["PHP and other languages","faq.languages","chapter"],["","faq.migration5","qandaentry"],["","faq.migration5","qandaentry"],["","faq.migration5","qandaentry"],["","faq.migration5","qandaentry"],["Migrating from PHP 4 to PHP 5","faq.migration5","chapter"],["","faq.misc","qandaentry"],["","faq.misc","qandaentry"],["","faq.misc","example"],["","faq.misc","qandaentry"],["Miscellaneous Questions","faq.misc","chapter"],["FAQ","faq","book"],["","history.php","example"],["","history.php","sect2"],["","history.php","sect2"],["","history.php","sect2"],["","history.php","sect2"],["","history.php","sect1"],["","history.php.related","sect2"],["","history.php.related","sect2"],["","history.php.related","sect2"],["","history.php.related","sect1"],["","history.php.books","sect1"],["","history.php.publications","sect1"],["","history","appendix"],["","migration55.changes","sect1"],["","migration55.incompatible","sect2"],["","migration55.incompatible","sect2"],["","migration55.incompatible","sect2"],["","migration55.incompatible","sect2"],["","migration55.incompatible","sect2"],["","migration55.incompatible","sect2"],["","migration55.incompatible","sect1"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect2"],["","migration55.new-features","sect1"],["","migration55.deprecated","sect2"],["","migration55.deprecated","sect2"],["","migration55.deprecated","sect2"],["","migration55.deprecated","sect2"],["","migration55.deprecated","sect1"],["","migration55.changed-functions","sect2"],["","migration55.changed-functions","sect2"],["","migration55.changed-functions","sect1"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect2"],["","migration55.new-functions","sect1"],["","migration55.classes","sect2"],["","migration55.classes","sect2"],["","migration55.classes","sect2"],["","migration55.classes","sect1"],["","migration55.new-methods","sect2"],["","migration55.new-methods","sect2"],["","migration55.new-methods","sect1"],["","migration55.extensions-other","sect2"],["","migration55.extensions-other","sect1"],["","migration55.global-constants","sect2"],["","migration55.global-constants","sect2"],["","migration55.global-constants","sect2"],["","migration55.global-constants","sect1"],["","migration55.ini","sect2"],["","migration55.ini","sect2"],["","migration55.ini","sect1"],["","migration55.internals","sect1"],["","migration55","appendix"],["","migration54.changes","section"],["","migration54.incompatible","section"],["","migration54.new-features","section"],["","migration54.sapi","section"],["","migration54.deprecated","section"],["","migration54.parameters","section"],["","migration54.functions","section"],["","migration54.classes","section"],["","migration54.methods","section"],["","migration54.removed-extensions","section"],["","migration54.extensions-other","section"],["","migration54.global-constants","section"],["","migration54.ini","section"],["","migration54.other","section"],["","migration54","appendix"],["","migration53.changes","section"],["","migration53.incompatible","section"],["","migration53.new-features","section"],["","migration53.windows","section"],["","migration53.sapi","section"],["","migration53.deprecated","section"],["","migration53.undeprecated","section"],["","migration53.parameters","section"],["","migration53.functions","section"],["","migration53.new-stream-wrappers","section"],["","migration53.new-stream-filters","section"],["","migration53.class-constants","section"],["","migration53.methods","section"],["","migration53.new-extensions","section"],["","migration53.removed-extensions","section"],["","migration53.extensions-other","section"],["","migration53.classes","section"],["","migration53.global-constants","section"],["","migration53.ini","section"],["","migration53.other","section"],["","migration53","appendix"],["","migration52.changes","section"],["","migration52.incompatible","section"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","example"],["","migration52.error-messages","section"],["","migration52.datetime","section"],["","migration52.parameters","section"],["","migration52.functions","section"],["","migration52.methods","section"],["","migration52.removed-extensions","section"],["","migration52.new-extensions","section"],["","migration52.classes","section"],["","migration52.global-constants","section"],["","migration52.class-constants","section"],["","migration52.newconf","section"],["","migration52.errorrep","section"],["","migration52.other","section"],["","migration52","appendix"],["","migration51.changes","section"],["","migration51.references","section"],["","migration51.references","section"],["","migration51.references","section"],["","migration51.references","section"],["","migration51.references","section"],["","migration51.references","section"],["","migration51.references","section"],["","migration51.reading","section"],["","migration51.integer-parameters","section"],["","migration51.oop","section"],["","migration51.oop","section"],["","migration51.oop","section"],["","migration51.oop","section"],["","migration51.oop","section"],["","migration51.oop","section"],["","migration51.extensions","section"],["","migration51.extensions","section"],["","migration51.extensions","section"],["","migration51.datetime","section"],["","migration51.databases","section"],["","migration51.databases","section"],["","migration51.databases","section"],["","migration51.databases","section"],["","migration51.errorcheck","section"],["","migration51","appendix"],["","migration5.changes","section"],["","migration5.incompatible","example"],["","migration5.incompatible","example"],["","migration5.incompatible","example"],["","migration5.incompatible","section"],["","migration5.cli-cgi","section"],["","migration5.configuration","example"],["","migration5.configuration","example"],["","migration5.configuration","section"],["","migration5.functions","section"],["","migration5.newconf","section"],["","migration5.databases","section"],["","migration5.oop","section"],["","migrating5.errorrep","section"],["","migration5","appendix"],["","keyword.class","sect1"],["","keyword.extends","sect1"],["","oop4.constructor","sect1"],["","keyword.paamayim-nekudotayim","sect1"],["","keyword.parent","sect1"],["","oop4.serialization","sect1"],["","oop4.magic-functions","sect1"],["","oop4.newref","sect1"],["","oop4.object-comparison","example"],["","oop4.object-comparison","example"],["","oop4.object-comparison","sect1"],["","oop4","appendix"],["","debugger-about","sect1"],["","debugger","appendix"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","sect3"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","sect3"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","varlistentry"],["","configure.about","sect3"],["","configure.about","sect2"],["","configure.about","sect1"],["","configure","appendix"],["","ini.list","section"],["","ini.sections","example"],["","ini.sections","varlistentry"],["","ini.sections","example"],["","ini.sections","varlistentry"],["","ini.sections","section"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","example"],["","ini.core","example"],["","ini.core","example"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","varlistentry"],["","ini.core","section"],["","ini.core","section"],["","ini","appendix"],["","extensions.alphabetical","section"],["","extensions.membership","section"],["","extensions.membership","section"],["","extensions.membership","section"],["","extensions.membership","section"],["","extensions.membership","section"],["","extensions.state","section"],["","extensions.state","section"],["","extensions.state","section"],["","extensions","appendix"],["","aliases","appendix"],["","reserved.keywords","sect1"],["","reserved.classes","sect2"],["","reserved.classes","sect2"],["","reserved.classes","sect2"],["","reserved.classes","sect2"],["","reserved.classes","sect2"],["","reserved.classes","sect1"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","varlistentry"],["","reserved.constants","sect2"],["","reserved.constants","sect2"],["","reserved.constants","sect1"],["","reserved","appendix"],["","resource","appendix"],["","filters.string","example"],["","filters.string","example"],["","filters.string","example"],["","filters.string","example"],["","filters.string","section"],["","filters.convert","example"],["","filters.convert","example"],["","filters.convert","section"],["","filters.compression","example"],["","filters.compression","example"],["","filters.compression","example"],["","filters.compression","section"],["","filters.encryption","example"],["","filters.encryption","example"],["","filters.encryption","section"],["","filters","appendix"],["","transports.inet","section"],["","transports.unix","section"],["","transports","appendix"],["","types.comparisons","table"],["","types.comparisons","table"],["","types.comparisons","appendix"],["","tokens","appendix"],["","userlandnaming.globalnamespace","section"],["","userlandnaming.rules","section"],["","userlandnaming.tips","section"],["","userlandnaming","appendix"],["","about.formats","sect1"],["","about.notes","sect1"],["","about.prototypes","sect1"],["","about.phpversions","sect1"],["","about.more","sect1"],["","about.howtohelp","sect1"],["","about.generate","sect1"],["","about.translations","sect1"],["","about","appendix"],["","cc.license","appendix"],["","indexes.functions","section"],["","indexes.examples","section"],["","indexes","appendix"],["","doc.changelog","appendix"],["","appendices","book"],["","index","set"]] \ No newline at end of file diff --git a/public/manual/en/toc/context.inc b/public/manual/en/toc/context.inc new file mode 100644 index 0000000000..505b0c9c77 --- /dev/null +++ b/public/manual/en/toc/context.inc @@ -0,0 +1,50 @@ + + array ( + 0 => 'context.socket.php', + 1 => 'Socket context options', + ), + 1 => + array ( + 0 => 'context.http.php', + 1 => 'HTTP context options', + ), + 2 => + array ( + 0 => 'context.ftp.php', + 1 => 'FTP context options', + ), + 3 => + array ( + 0 => 'context.ssl.php', + 1 => 'SSL context options', + ), + 4 => + array ( + 0 => 'context.curl.php', + 1 => 'CURL context options', + ), + 5 => + array ( + 0 => 'context.phar.php', + 1 => 'Phar context options', + ), + 6 => + array ( + 0 => 'context.params.php', + 1 => 'Context parameters', + ), +); +$PARENTS = array ( + 0 => + array ( + 0 => 'langref.php', + 1 => 'Language Reference', + ), + 1 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/features.inc b/public/manual/en/toc/features.inc new file mode 100644 index 0000000000..7bc0de9489 --- /dev/null +++ b/public/manual/en/toc/features.inc @@ -0,0 +1,72 @@ + + array ( + 0 => 'features.http-auth.php', + 1 => 'HTTP authentication with PHP', + ), + 1 => + array ( + 0 => 'features.cookies.php', + 1 => 'Cookies', + ), + 2 => + array ( + 0 => 'features.sessions.php', + 1 => 'Sessions', + ), + 3 => + array ( + 0 => 'features.xforms.php', + 1 => 'Dealing with XForms', + ), + 4 => + array ( + 0 => 'features.file-upload.php', + 1 => 'Handling file uploads', + ), + 5 => + array ( + 0 => 'features.remote-files.php', + 1 => 'Using remote files', + ), + 6 => + array ( + 0 => 'features.connection-handling.php', + 1 => 'Connection handling', + ), + 7 => + array ( + 0 => 'features.persistent-connections.php', + 1 => 'Persistent Database Connections', + ), + 8 => + array ( + 0 => 'features.safe-mode.php', + 1 => 'Safe Mode', + ), + 9 => + array ( + 0 => 'features.commandline.php', + 1 => 'Command line usage', + ), + 10 => + array ( + 0 => 'features.gc.php', + 1 => 'Garbage Collection', + ), + 11 => + array ( + 0 => 'features.dtrace.php', + 1 => 'DTrace Dynamic Tracing', + ), +); +$TOC_DEPRECATED = array ( +); +$PARENTS = array ( + 0 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/funcref.inc b/public/manual/en/toc/funcref.inc new file mode 100644 index 0000000000..330efa4820 --- /dev/null +++ b/public/manual/en/toc/funcref.inc @@ -0,0 +1,140 @@ + + array ( + 0 => 'refs.basic.php.php', + 1 => 'Affecting PHP\'s Behaviour', + ), + 1 => + array ( + 0 => 'refs.utilspec.audio.php', + 1 => 'Audio Formats Manipulation', + ), + 2 => + array ( + 0 => 'refs.remote.auth.php', + 1 => 'Authentication Services', + ), + 3 => + array ( + 0 => 'refs.utilspec.cmdline.php', + 1 => 'Command Line Specific Extensions', + ), + 4 => + array ( + 0 => 'refs.compression.php', + 1 => 'Compression and Archive Extensions', + ), + 5 => + array ( + 0 => 'refs.creditcard.php', + 1 => 'Credit Card Processing', + ), + 6 => + array ( + 0 => 'refs.crypto.php', + 1 => 'Cryptography Extensions', + ), + 7 => + array ( + 0 => 'refs.database.php', + 1 => 'Database Extensions', + ), + 8 => + array ( + 0 => 'refs.calendar.php', + 1 => 'Date and Time Related Extensions', + ), + 9 => + array ( + 0 => 'refs.fileprocess.file.php', + 1 => 'File System Related Extensions', + ), + 10 => + array ( + 0 => 'refs.international.php', + 1 => 'Human Language and Character Encoding Support', + ), + 11 => + array ( + 0 => 'refs.utilspec.image.php', + 1 => 'Image Processing and Generation', + ), + 12 => + array ( + 0 => 'refs.remote.mail.php', + 1 => 'Mail Related Extensions', + ), + 13 => + array ( + 0 => 'refs.math.php', + 1 => 'Mathematical Extensions', + ), + 14 => + array ( + 0 => 'refs.utilspec.nontext.php', + 1 => 'Non-Text MIME Output', + ), + 15 => + array ( + 0 => 'refs.fileprocess.process.php', + 1 => 'Process Control Extensions', + ), + 16 => + array ( + 0 => 'refs.basic.other.php', + 1 => 'Other Basic Extensions', + ), + 17 => + array ( + 0 => 'refs.remote.other.php', + 1 => 'Other Services', + ), + 18 => + array ( + 0 => 'refs.search.php', + 1 => 'Search Engine Extensions', + ), + 19 => + array ( + 0 => 'refs.utilspec.server.php', + 1 => 'Server Specific Extensions', + ), + 20 => + array ( + 0 => 'refs.basic.session.php', + 1 => 'Session Extensions', + ), + 21 => + array ( + 0 => 'refs.basic.text.php', + 1 => 'Text Processing', + ), + 22 => + array ( + 0 => 'refs.basic.vartype.php', + 1 => 'Variable and Type Related Extensions', + ), + 23 => + array ( + 0 => 'refs.webservice.php', + 1 => 'Web Services', + ), + 24 => + array ( + 0 => 'refs.utilspec.windows.php', + 1 => 'Windows Only Extensions', + ), + 25 => + array ( + 0 => 'refs.xml.php', + 1 => 'XML Manipulation', + ), +); +$PARENTS = array ( + 0 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/getting-started.inc b/public/manual/en/toc/getting-started.inc new file mode 100644 index 0000000000..bf0cd44788 --- /dev/null +++ b/public/manual/en/toc/getting-started.inc @@ -0,0 +1,22 @@ + + array ( + 0 => 'introduction.php', + 1 => 'Introduction', + ), + 1 => + array ( + 0 => 'tutorial.php', + 1 => 'A simple tutorial', + ), +); +$TOC_DEPRECATED = array ( +); +$PARENTS = array ( + 0 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/index.inc b/public/manual/en/toc/index.inc new file mode 100644 index 0000000000..52a2e5f79d --- /dev/null +++ b/public/manual/en/toc/index.inc @@ -0,0 +1,60 @@ + + array ( + 0 => 'copyright.php', + 1 => 'Copyright', + ), + 1 => + array ( + 0 => 'manual.php', + 1 => 'PHP Manual', + ), + 2 => + array ( + 0 => 'getting-started.php', + 1 => 'Getting Started', + ), + 3 => + array ( + 0 => 'install.php', + 1 => 'Installation and Configuration', + ), + 4 => + array ( + 0 => 'langref.php', + 1 => 'Language Reference', + ), + 5 => + array ( + 0 => 'security.php', + 1 => 'Security', + ), + 6 => + array ( + 0 => 'features.php', + 1 => 'Features', + ), + 7 => + array ( + 0 => 'funcref.php', + 1 => 'Function Reference', + ), + 8 => + array ( + 0 => 'internals2.php', + 1 => 'PHP at the Core: A Hacker\'s Guide', + ), + 9 => + array ( + 0 => 'faq.php', + 1 => 'FAQ', + ), + 10 => + array ( + 0 => 'appendices.php', + 1 => 'Appendices', + ), +); +$PARENTS = array ( +); diff --git a/public/manual/en/toc/langref.inc b/public/manual/en/toc/langref.inc new file mode 100644 index 0000000000..ac02ab51d0 --- /dev/null +++ b/public/manual/en/toc/langref.inc @@ -0,0 +1,100 @@ + + array ( + 0 => 'language.basic-syntax.php', + 1 => 'Basic syntax', + ), + 1 => + array ( + 0 => 'language.types.php', + 1 => 'Types', + ), + 2 => + array ( + 0 => 'language.variables.php', + 1 => 'Variables', + ), + 3 => + array ( + 0 => 'language.constants.php', + 1 => 'Constants', + ), + 4 => + array ( + 0 => 'language.expressions.php', + 1 => 'Expressions', + ), + 5 => + array ( + 0 => 'language.operators.php', + 1 => 'Operators', + ), + 6 => + array ( + 0 => 'language.control-structures.php', + 1 => 'Control Structures', + ), + 7 => + array ( + 0 => 'language.functions.php', + 1 => 'Functions', + ), + 8 => + array ( + 0 => 'language.oop5.php', + 1 => 'Classes and Objects', + ), + 9 => + array ( + 0 => 'language.namespaces.php', + 1 => 'Namespaces', + ), + 10 => + array ( + 0 => 'language.exceptions.php', + 1 => 'Exceptions', + ), + 11 => + array ( + 0 => 'language.generators.php', + 1 => 'Generators', + ), + 12 => + array ( + 0 => 'language.references.php', + 1 => 'References Explained', + ), + 13 => + array ( + 0 => 'reserved.variables.php', + 1 => 'Predefined Variables', + ), + 14 => + array ( + 0 => 'reserved.exceptions.php', + 1 => 'Predefined Exceptions', + ), + 15 => + array ( + 0 => 'reserved.interfaces.php', + 1 => 'Predefined Interfaces and Classes', + ), + 16 => + array ( + 0 => 'context.php', + 1 => 'Context options and parameters', + ), + 17 => + array ( + 0 => 'wrappers.php', + 1 => 'Supported Protocols and Wrappers', + ), +); +$PARENTS = array ( + 0 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/ref.strings.inc b/public/manual/en/toc/ref.strings.inc new file mode 100644 index 0000000000..671ca8f95a --- /dev/null +++ b/public/manual/en/toc/ref.strings.inc @@ -0,0 +1,515 @@ + + array ( + 0 => 'function.addcslashes.php', + 1 => 'addcslashes', + ), + 1 => + array ( + 0 => 'function.addslashes.php', + 1 => 'addslashes', + ), + 2 => + array ( + 0 => 'function.bin2hex.php', + 1 => 'bin2hex', + ), + 3 => + array ( + 0 => 'function.chop.php', + 1 => 'chop', + ), + 4 => + array ( + 0 => 'function.chr.php', + 1 => 'chr', + ), + 5 => + array ( + 0 => 'function.chunk-split.php', + 1 => 'chunk_split', + ), + 6 => + array ( + 0 => 'function.convert-cyr-string.php', + 1 => 'convert_cyr_string', + ), + 7 => + array ( + 0 => 'function.convert-uudecode.php', + 1 => 'convert_uudecode', + ), + 8 => + array ( + 0 => 'function.convert-uuencode.php', + 1 => 'convert_uuencode', + ), + 9 => + array ( + 0 => 'function.count-chars.php', + 1 => 'count_chars', + ), + 10 => + array ( + 0 => 'function.crc32.php', + 1 => 'crc32', + ), + 11 => + array ( + 0 => 'function.crypt.php', + 1 => 'crypt', + ), + 12 => + array ( + 0 => 'function.echo.php', + 1 => 'echo', + ), + 13 => + array ( + 0 => 'function.explode.php', + 1 => 'explode', + ), + 14 => + array ( + 0 => 'function.fprintf.php', + 1 => 'fprintf', + ), + 15 => + array ( + 0 => 'function.get-html-translation-table.php', + 1 => 'get_html_translation_table', + ), + 16 => + array ( + 0 => 'function.hebrev.php', + 1 => 'hebrev', + ), + 17 => + array ( + 0 => 'function.hebrevc.php', + 1 => 'hebrevc', + ), + 18 => + array ( + 0 => 'function.hex2bin.php', + 1 => 'hex2bin', + ), + 19 => + array ( + 0 => 'function.html-entity-decode.php', + 1 => 'html_entity_decode', + ), + 20 => + array ( + 0 => 'function.htmlentities.php', + 1 => 'htmlentities', + ), + 21 => + array ( + 0 => 'function.htmlspecialchars-decode.php', + 1 => 'htmlspecialchars_decode', + ), + 22 => + array ( + 0 => 'function.htmlspecialchars.php', + 1 => 'htmlspecialchars', + ), + 23 => + array ( + 0 => 'function.implode.php', + 1 => 'implode', + ), + 24 => + array ( + 0 => 'function.join.php', + 1 => 'join', + ), + 25 => + array ( + 0 => 'function.lcfirst.php', + 1 => 'lcfirst', + ), + 26 => + array ( + 0 => 'function.levenshtein.php', + 1 => 'levenshtein', + ), + 27 => + array ( + 0 => 'function.localeconv.php', + 1 => 'localeconv', + ), + 28 => + array ( + 0 => 'function.ltrim.php', + 1 => 'ltrim', + ), + 29 => + array ( + 0 => 'function.md5-file.php', + 1 => 'md5_file', + ), + 30 => + array ( + 0 => 'function.md5.php', + 1 => 'md5', + ), + 31 => + array ( + 0 => 'function.metaphone.php', + 1 => 'metaphone', + ), + 32 => + array ( + 0 => 'function.money-format.php', + 1 => 'money_format', + ), + 33 => + array ( + 0 => 'function.nl-langinfo.php', + 1 => 'nl_langinfo', + ), + 34 => + array ( + 0 => 'function.nl2br.php', + 1 => 'nl2br', + ), + 35 => + array ( + 0 => 'function.number-format.php', + 1 => 'number_format', + ), + 36 => + array ( + 0 => 'function.ord.php', + 1 => 'ord', + ), + 37 => + array ( + 0 => 'function.parse-str.php', + 1 => 'parse_str', + ), + 38 => + array ( + 0 => 'function.print.php', + 1 => 'print', + ), + 39 => + array ( + 0 => 'function.printf.php', + 1 => 'printf', + ), + 40 => + array ( + 0 => 'function.quoted-printable-decode.php', + 1 => 'quoted_printable_decode', + ), + 41 => + array ( + 0 => 'function.quoted-printable-encode.php', + 1 => 'quoted_printable_encode', + ), + 42 => + array ( + 0 => 'function.quotemeta.php', + 1 => 'quotemeta', + ), + 43 => + array ( + 0 => 'function.rtrim.php', + 1 => 'rtrim', + ), + 44 => + array ( + 0 => 'function.setlocale.php', + 1 => 'setlocale', + ), + 45 => + array ( + 0 => 'function.sha1-file.php', + 1 => 'sha1_file', + ), + 46 => + array ( + 0 => 'function.sha1.php', + 1 => 'sha1', + ), + 47 => + array ( + 0 => 'function.similar-text.php', + 1 => 'similar_text', + ), + 48 => + array ( + 0 => 'function.soundex.php', + 1 => 'soundex', + ), + 49 => + array ( + 0 => 'function.sprintf.php', + 1 => 'sprintf', + ), + 50 => + array ( + 0 => 'function.sscanf.php', + 1 => 'sscanf', + ), + 51 => + array ( + 0 => 'function.str-getcsv.php', + 1 => 'str_getcsv', + ), + 52 => + array ( + 0 => 'function.str-ireplace.php', + 1 => 'str_ireplace', + ), + 53 => + array ( + 0 => 'function.str-pad.php', + 1 => 'str_pad', + ), + 54 => + array ( + 0 => 'function.str-repeat.php', + 1 => 'str_repeat', + ), + 55 => + array ( + 0 => 'function.str-replace.php', + 1 => 'str_replace', + ), + 56 => + array ( + 0 => 'function.str-rot13.php', + 1 => 'str_rot13', + ), + 57 => + array ( + 0 => 'function.str-shuffle.php', + 1 => 'str_shuffle', + ), + 58 => + array ( + 0 => 'function.str-split.php', + 1 => 'str_split', + ), + 59 => + array ( + 0 => 'function.str-word-count.php', + 1 => 'str_word_count', + ), + 60 => + array ( + 0 => 'function.strcasecmp.php', + 1 => 'strcasecmp', + ), + 61 => + array ( + 0 => 'function.strchr.php', + 1 => 'strchr', + ), + 62 => + array ( + 0 => 'function.strcmp.php', + 1 => 'strcmp', + ), + 63 => + array ( + 0 => 'function.strcoll.php', + 1 => 'strcoll', + ), + 64 => + array ( + 0 => 'function.strcspn.php', + 1 => 'strcspn', + ), + 65 => + array ( + 0 => 'function.strip-tags.php', + 1 => 'strip_tags', + ), + 66 => + array ( + 0 => 'function.stripcslashes.php', + 1 => 'stripcslashes', + ), + 67 => + array ( + 0 => 'function.stripos.php', + 1 => 'stripos', + ), + 68 => + array ( + 0 => 'function.stripslashes.php', + 1 => 'stripslashes', + ), + 69 => + array ( + 0 => 'function.stristr.php', + 1 => 'stristr', + ), + 70 => + array ( + 0 => 'function.strlen.php', + 1 => 'strlen', + ), + 71 => + array ( + 0 => 'function.strnatcasecmp.php', + 1 => 'strnatcasecmp', + ), + 72 => + array ( + 0 => 'function.strnatcmp.php', + 1 => 'strnatcmp', + ), + 73 => + array ( + 0 => 'function.strncasecmp.php', + 1 => 'strncasecmp', + ), + 74 => + array ( + 0 => 'function.strncmp.php', + 1 => 'strncmp', + ), + 75 => + array ( + 0 => 'function.strpbrk.php', + 1 => 'strpbrk', + ), + 76 => + array ( + 0 => 'function.strpos.php', + 1 => 'strpos', + ), + 77 => + array ( + 0 => 'function.strrchr.php', + 1 => 'strrchr', + ), + 78 => + array ( + 0 => 'function.strrev.php', + 1 => 'strrev', + ), + 79 => + array ( + 0 => 'function.strripos.php', + 1 => 'strripos', + ), + 80 => + array ( + 0 => 'function.strrpos.php', + 1 => 'strrpos', + ), + 81 => + array ( + 0 => 'function.strspn.php', + 1 => 'strspn', + ), + 82 => + array ( + 0 => 'function.strstr.php', + 1 => 'strstr', + ), + 83 => + array ( + 0 => 'function.strtok.php', + 1 => 'strtok', + ), + 84 => + array ( + 0 => 'function.strtolower.php', + 1 => 'strtolower', + ), + 85 => + array ( + 0 => 'function.strtoupper.php', + 1 => 'strtoupper', + ), + 86 => + array ( + 0 => 'function.strtr.php', + 1 => 'strtr', + ), + 87 => + array ( + 0 => 'function.substr-compare.php', + 1 => 'substr_compare', + ), + 88 => + array ( + 0 => 'function.substr-count.php', + 1 => 'substr_count', + ), + 89 => + array ( + 0 => 'function.substr-replace.php', + 1 => 'substr_replace', + ), + 90 => + array ( + 0 => 'function.substr.php', + 1 => 'substr', + ), + 91 => + array ( + 0 => 'function.trim.php', + 1 => 'trim', + ), + 92 => + array ( + 0 => 'function.ucfirst.php', + 1 => 'ucfirst', + ), + 93 => + array ( + 0 => 'function.ucwords.php', + 1 => 'ucwords', + ), + 94 => + array ( + 0 => 'function.vfprintf.php', + 1 => 'vfprintf', + ), + 95 => + array ( + 0 => 'function.vprintf.php', + 1 => 'vprintf', + ), + 96 => + array ( + 0 => 'function.vsprintf.php', + 1 => 'vsprintf', + ), + 97 => + array ( + 0 => 'function.wordwrap.php', + 1 => 'wordwrap', + ), +); +$PARENTS = array ( + 0 => + array ( + 0 => 'book.strings.php', + 1 => 'Strings', + ), + 1 => + array ( + 0 => 'refs.basic.text.php', + 1 => 'Text Processing', + ), + 2 => + array ( + 0 => 'funcref.php', + 1 => 'Function Reference', + ), + 3 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/refs.basic.vartype.inc b/public/manual/en/toc/refs.basic.vartype.inc new file mode 100644 index 0000000000..f8ec3ba3ca --- /dev/null +++ b/public/manual/en/toc/refs.basic.vartype.inc @@ -0,0 +1,65 @@ + + array ( + 0 => 'book.array.php', + 1 => 'Arrays', + ), + 1 => + array ( + 0 => 'book.classobj.php', + 1 => 'Classes/Objects', + ), + 2 => + array ( + 0 => 'book.classkit.php', + 1 => 'Classkit', + ), + 3 => + array ( + 0 => 'book.ctype.php', + 1 => 'Ctype', + ), + 4 => + array ( + 0 => 'book.filter.php', + 1 => 'Filter', + ), + 5 => + array ( + 0 => 'book.funchand.php', + 1 => 'Function Handling', + ), + 6 => + array ( + 0 => 'book.objaggregation.php', + 1 => 'Object Aggregation', + ), + 7 => + array ( + 0 => 'book.quickhash.php', + 1 => 'Quickhash', + ), + 8 => + array ( + 0 => 'book.reflection.php', + 1 => 'Reflection', + ), + 9 => + array ( + 0 => 'book.var.php', + 1 => 'Variable handling', + ), +); +$PARENTS = array ( + 0 => + array ( + 0 => 'funcref.php', + 1 => 'Function Reference', + ), + 1 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/reserved.exceptions.inc b/public/manual/en/toc/reserved.exceptions.inc new file mode 100644 index 0000000000..8e477fcec5 --- /dev/null +++ b/public/manual/en/toc/reserved.exceptions.inc @@ -0,0 +1,25 @@ + + array ( + 0 => 'class.exception.php', + 1 => 'Exception', + ), + 1 => + array ( + 0 => 'class.errorexception.php', + 1 => 'ErrorException', + ), +); +$PARENTS = array ( + 0 => + array ( + 0 => 'langref.php', + 1 => 'Language Reference', + ), + 1 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/en/toc/security.inc b/public/manual/en/toc/security.inc new file mode 100644 index 0000000000..93655fb23b --- /dev/null +++ b/public/manual/en/toc/security.inc @@ -0,0 +1,72 @@ + + array ( + 0 => 'security.intro.php', + 1 => 'Introduction', + ), + 1 => + array ( + 0 => 'security.general.php', + 1 => 'General considerations', + ), + 2 => + array ( + 0 => 'security.cgi-bin.php', + 1 => 'Installed as CGI binary', + ), + 3 => + array ( + 0 => 'security.apache.php', + 1 => 'Installed as an Apache module', + ), + 4 => + array ( + 0 => 'security.filesystem.php', + 1 => 'Filesystem Security', + ), + 5 => + array ( + 0 => 'security.database.php', + 1 => 'Database Security', + ), + 6 => + array ( + 0 => 'security.errors.php', + 1 => 'Error Reporting', + ), + 7 => + array ( + 0 => 'security.globals.php', + 1 => 'Using Register Globals', + ), + 8 => + array ( + 0 => 'security.variables.php', + 1 => 'User Submitted Data', + ), + 9 => + array ( + 0 => 'security.magicquotes.php', + 1 => 'Magic Quotes', + ), + 10 => + array ( + 0 => 'security.hiding.php', + 1 => 'Hiding PHP', + ), + 11 => + array ( + 0 => 'security.current.php', + 1 => 'Keeping Current', + ), +); +$TOC_DEPRECATED = array ( +); +$PARENTS = array ( + 0 => + array ( + 0 => 'index.php', + 1 => 'PHP Manual', + ), +); diff --git a/public/manual/help-translate.php b/public/manual/help-translate.php new file mode 100644 index 0000000000..674e9e071e --- /dev/null +++ b/public/manual/help-translate.php @@ -0,0 +1,43 @@ + + +

    Looking for a translation?

    +

    +The PHP Manual has over 30 translations already setup, but due to inactivity many have been taken offline. The odds are high that your language has already started a translation, but for various reasons it's no longer being updated or shown at php.net. +

    + +

    How to help translate the PHP Manual

    +

    +If you're interested in helping translate a specific language, then please read the translation section of the Guide for Manual Contributors and contact the appropriate mailing list. Whether or not your language is shown below, you are very welcome to help translate the PHP Manual from English to another language. +

    + +

    Using outdated translations

    +

    +The following list of languages already contain SVN modules, and will show up on the documentation development server. Warning: These translations are considered outdated, so content within each may be completely wrong or insecure! +

    + +

    Inactive languages already in SVN

    +
      + $lang) { + $link = 'no archive'; + if (in_array($cc, $archived, true)) { + $link = 'archive'; + } + echo '
    • ', $lang, ': (', $link, ')
    • '; +} +?> +
    + + @@ -18,9 +17,9 @@
  • Debugger
  • Internals
  • -
    +
    -

    Introduction

    +

    Introduction

    The PHP 3 documentation was removed from the PHP Manual and placed here for @@ -30,12 +29,12 @@

    - See the PHP Museum for downloads, and + See the PHP Museum for downloads, and also read the history for further information about PHP 3.

    -

    Configuration Directives

    +

    Configuration Directives

    Most directives are prepended with php3_ instead of php_. These differences @@ -43,7 +42,7 @@

    -
    Changed
    +
    Changed

    FTP configure option changed from --with-ftp to --enable-ftp @@ -67,7 +66,7 @@

    -
    Removed
    +
    Removed

    --with-imsp[=DIR] includes IMSP support (DIR is IMSP's include dir and libimsp.a dir). @@ -75,13 +74,13 @@

    - --with-mck[=DIR] includes Cybercash MCK support. DIR is the cybercash mck build directory, + --with-mck[=DIR] includes Cybercash MCK support. DIR is the cybercash mck build directory, defaults to /usr/src/mck-3.2.0.3-linux

    - --with-mod-dav=DIR includes DAV support through Apache's mod_dav, DIR is mod_dav's + --with-mod-dav=DIR includes DAV support through Apache's mod_dav, DIR is mod_dav's installation directory (Apache module version only).

    @@ -94,10 +93,10 @@
    -

    Changed Behaviour

    +

    Changed Behaviour

    -
    Return values
    +
    Return values

    unset() returns 1. @@ -105,8 +104,8 @@

    - Multiple calls to setcookie() in the same script will be performed - in reverse order. And put the insert before the delete when trying + Multiple calls to setcookie() in the same script will be performed + in reverse order. And put the insert before the delete when trying to delete one cookie before inserting another.

    @@ -118,7 +117,7 @@
    -
    Function parameters
    +
    Function parameters

    gettype() has a 'user function' return value. @@ -142,7 +141,7 @@

    -
    Other
    +
    Other

    Variables are always assigned by value, as there are no references. @@ -180,7 +179,7 @@

    -

    Miscellaneous

    +

    Miscellaneous

    @@ -222,7 +221,7 @@

    The HTTP PUT method is allowed for saving files, which are handled similarly to POST method - file saves. $PHP_PUT_FILENAME holds the location of the temporary file created, which + file saves. $PHP_PUT_FILENAME holds the location of the temporary file created, which must be moved during the request else it will be deleted.

    @@ -253,25 +252,25 @@
    -

    Migration

    +

    Migration

    There are a few migration specific documents involving PHP 3 but due to their size and structure they were not added to this document.

    -

    Debugger

    +

    Debugger

    Information related to the debugger that comes standard with PHP 3 was not added to this document.

    -

    Internals

    +

    Internals

    Information related to the internal workings of PHP 3 that is commonly used to create extensions was not added to this document.

    - \ No newline at end of file + diff --git a/public/manual/php4.php b/public/manual/php4.php new file mode 100644 index 0000000000..228cf2d2b0 --- /dev/null +++ b/public/manual/php4.php @@ -0,0 +1,52 @@ + + +

    Documentation for PHP 4

    + +

    Introduction

    +

    + The PHP 4 documentation was removed from the PHP Manual in August 2014, + approximately six years after PHP 4 reached its end of life. However, we have + provided downloadable copies of the manual for anyone who would need it, as well + as a link to a hosted third-party version. +

    + +

    PHP 4 Manual

    +

    + An attempt has been made to preserve as much documentation related to PHP 4 as + possible. Despite this, we don't have a nice, separate manual covering only PHP 4. + The reason for this is how our documentation is structured. Even so, the linked copies + describe more aspects of PHP 4 than the actual manual described in August 2014 (e.g. + it covers more PHP 4 extensions). +

    + +
      +
    • + You can download a copy in the documentation archives. +
    • +
    • + You can also find the PHP 4 legacy manual + on the Zend site, which was created from the official archives. This version of the manual is + maintained by Zend and not the PHP Documentation Group. Any questions about its content should be reported + via the "Report a Bug" links on the appropriate pages. +
    • +
    + +

    + Please remember that these documentation versions should not + be used in everyday development, unless you are maintaining PHP 4 applications. + These versions lacks many topics connected with newer PHP versions and are not updated anymore. +

    + +

    Migrating to supported PHP version

    +

    + All users are strongly encouraged to upgrade their environments to newest PHP version. + Please read our guides for Migrating + from PHP 4 to PHP 5.0.x for more information. +

    + + + +

    Documentation for PHP 5

    + +

    Introduction

    +

    + The PHP 5 documentation was removed from the PHP Manual in September 2020, + approximately two years after PHP 5 reached its end of life. However, we have + provided downloadable copies of the manual for anyone who would need it, as well + as a link to a hosted third-party version. +

    + +

    PHP 5 Manual

    +

    + An attempt has been made to preserve as much documentation related to PHP 5 as + possible. Despite this, we don't have a nice, separate manual covering only PHP 5. + The reason for this is how our documentation is structured. Even so, the linked copies + describe more aspects of PHP 5 than the actual manual described in September 2020 (e.g. + it covers more PHP 5 extensions). +

    + +
      +
    • + You can download a copy in the documentation archives. +
    • +
    • + You can also find the PHP 5 legacy manual + on the Zend site, which was created from the official archives. This version of the manual is + maintained by Zend and not the PHP Documentation Group. Any questions about its content should be reported + via the "Report a Bug" links on the appropriate pages. +
    • +
    + +

    + Please remember that these documentation versions should not + be used in everyday development, unless you are maintaining PHP 5 applications. + These versions lacks many topics connected with newer PHP versions and are not updated anymore. +

    + +

    Migrating to supported PHP version

    +

    + All users are strongly encouraged to upgrade their environments to newest PHP version. + Please read our guides for Migrating + from PHP 5.6 to PHP 7.0 for more information. +

    + +

    PHP/FI Version 2.0

    @@ -54,10 +53,10 @@ data @@ -137,7 +136,7 @@
  • Notes for Code Hacks
  • -
    +

    Brief History

    @@ -196,13 +195,13 @@ source distribution. When I build the package without any access logging or access restriction support, I call my binary FI. When I build with these options, I call it PHP.

    -
    +

    Installation Instructions

    -
    Before You Begin
    +
    Before You Begin

    If you have absolutely no Unix experience, you may want to @@ -215,12 +214,12 @@ knows the particulars of the destination system well.

    -
    Things You Need To Know Before - Installing
    +
    Things You Need To Know Before + Installing

    - Can you run both get and post method cgi programs on - your server?
    + your server?
    This is not relevant if you installing the Apache module version. If not, you can not use this package. On many public ISP's CGI programs are either disallowed or severely @@ -263,12 +262,12 @@ will need to know the Apache src code directory location.

    -
    Installation Steps
    +
    Installation Steps

    Step 1.

    -

    Run the install program: ./install

    +

    Run the install program: ./install

    You will be asked a number of questions. If you do not understand what is being asked, simply hit return. The @@ -277,19 +276,19 @@ your configuration and log files however. Choose any directory to which the httpd (usually "nobody") has write privileges. You may create this directory manually somewhere - and simply chown nobody - directory.

    + and simply chown nobody + directory.

    Step 2.

    -

    Go into the src directory: cd src

    +

    Go into the src directory: cd src

    Have a look at the php.h file. There are a number of compile-time options that can be set here.

    Step 3.

    -

    type: make

    +

    type: make

    This will create the actual executable program file named php.cgi by default, or if you are installing the @@ -302,7 +301,7 @@ cgi-bin directory. If you do not have access to do this and wish to install it in your own personal directory, you may do so, but you should set the setuid bit on the executable with: - chmod u+s /path/php.cgi

    + chmod u+s /path/php.cgi

    If you do not make set the setuid bit on the binary then any files created by the binary will be owned by the user id @@ -310,7 +309,7 @@ you can safely leave the setuid bit off.

    Step 4. (if you are installing the Apache - module version)
    + module version)

    Change to your Apache src directory where the mod_php.c and mod_php.h files should have been copied to. If they weren't which usually happens because @@ -319,7 +318,7 @@ line which was produced at the end of Step 3. And add:

    -

    Module php_module mod_php.o

    +

    Module php_module mod_php.o

    to the very end of the file. Then type: ./Configure and then make @@ -328,8 +327,8 @@

    Next you need to edit your Apache conf/srm.conf file and add a line like:

    -

    AddType application/x-httpd-php - .phtml

    +

    AddType application/x-httpd-php + .phtml

    This defines a new MIME, application/x-httpd-php, which will trigger the PHP module to parse any file ending with the @@ -347,14 +346,14 @@ configuring the PHP Module.

    -
    Testing the software
    +
    Testing the software

    Once installed you can test to see if your executable works by entering a URL similar to the following in your browser:

    -

    http://your.site.domain/cgi-bin/php.cgi

    +

    http://your.site.domain/cgi-bin/php.cgi

    This should show you a page which contains the version number along with various other useful information.

    @@ -364,7 +363,7 @@ the file and see if it gets parsed.

    -
    Using the software
    +
    Using the software

    To actually use the software on an existing HTML file, you @@ -372,7 +371,7 @@ ie.

    - http://your.site.domain/cgi-bin/php.cgi/path/file.html

    + http://your.site.domain/cgi-bin/php.cgi/path/file.html

    You should have a look at the CGI Redirection section of this documentation. Running PHP/FI @@ -383,7 +382,7 @@

    This does not apply to Apace module users.

    -
    +

    So, what can I do with PHP/FI?

    @@ -404,17 +403,17 @@

    Suppose you have a form:

    -

    <FORM ACTION="/cgi-bin/php.cgi/~userid/display.html" - METHOD=POST>
    - <INPUT TYPE="text" name="name">
    - <INPUT TYPE="text" name="age">
    - <INPUT TYPE="submit">
    - </FORM>

    +

    <FORM ACTION="/cgi-bin/php.cgi/~userid/display.html" + METHOD=POST>
    + <INPUT TYPE="text" name="name">
    + <INPUT TYPE="text" name="age">
    + <INPUT TYPE="submit">
    + </FORM>

    Your display.html file could then contain something like:

    -

    <?echo "Hi $name, you are $age years - old!<p>">

    +

    <?echo "Hi $name, you are $age years + old!<p>">

    It's that simple! PHP/FI automatically creates a variable for each form input field in your form. You can then use these @@ -475,7 +474,7 @@ supports embedded SQL queries in your .HTML files. See the section on mysql Support for more information.

    -
    +

    CGI Redirection

    @@ -550,12 +549,12 @@ Configuration. The line to be added if you want to use the mod_actions module is:

    -

    Module action_module mod_actions.o

    +

    Module action_module mod_actions.o

    If you are using the mod_cgi_redirect.c module add this line:

    -

    Module cgi_redirect_module mod_cgi_redirect.o

    +

    Module cgi_redirect_module mod_cgi_redirect.o

    Then compile your httpd and install it. To configure the cgi redirection you need to either create a new mime type in @@ -564,19 +563,19 @@ file to add the mime type. The mime type to be added should be something like this:

    -

    application/x-httpd-php phtml

    +

    application/x-httpd-php phtml

    If you are using the mod_actions.c module you need to add the following line to your srm.conf file:

    -

    Action application/x-httpd-php - /cgi-bin/php.cgi

    +

    Action application/x-httpd-php + /cgi-bin/php.cgi

    If you are using mod_cgi_redirect.c you should add this line to srm.conf:

    -

    CgiRedirect application/x-httpd-php - /cgi-bin/php.cgi

    +

    CgiRedirect application/x-httpd-php + /cgi-bin/php.cgi

    Don't try to use both mod_actions.c and mod_cgi_redirect.c at the same time.

    @@ -614,7 +613,7 @@ "http://php.iquest.net/files/">PHP/FI file archives.

    -
    +

    Security Issues

    @@ -654,7 +653,7 @@

    For additional security options related to sites which provide shared access to PHP, see the Safe Mode section.

    -
    +

    Safe Mode

    @@ -711,13 +710,13 @@ password grabbing script which spoofs another authenticated page on the same server. -
    +

    Running PHP/FI from the command line

    If you build the CGI version of PHP/FI, you can use it from - the command line simply typing: php.cgi filename where + the command line simply typing: php.cgi filename where filename is the file you want to parse. You can also create standalone PHP/FI scripts by making the first line of your script look something like:

    @@ -725,7 +724,7 @@ #!/usr/local/bin/php.cgi -q The "-q" suppresses the printing of the HTTP headers. You can leave off this option if you like. -
    +

    HTTP Authentication

    @@ -779,7 +778,7 @@ in php.h can be undefined to make sure that these variables will never be set and thus disable anybody from using mod_php to try to steal passwords.

    -
    +

    Apache Request Variables

    @@ -804,7 +803,7 @@ Keep-Alive www.host.com -
    +

    Apache Module Notes

    @@ -986,7 +985,7 @@ function)after the actual PHP/FI file has been parsed, similar

    All of these directives are optional. If a directive is not specified anywhere, the compile-time default will be used.

    -
    +

    FastCGI Support

    @@ -1004,13 +1003,13 @@ function)after the actual PHP/FI file has been parsed, similar module, then recompile Apache.
  • Edit your srm.conf file and add lines similar - to:
    - AddType application/x-httpd-fcgi .fcgi
    + to:
    + AddType application/x-httpd-fcgi .fcgi
    AppClass /usr/local/etc/httpd/fcgi-bin/php.fcgi -processes - 4
    - AddType application/x-httpd-fphp .fhtml
    + 4
    + AddType application/x-httpd-fphp .fhtml
    Action application/x-httpd-fphp - /fcgi-bin/php.fcgi
  • + /fcgi-bin/php.fcgi
  • Copy your php.cgi binary to /usr/local/etc/httpd/fcgi-bin/php.fcgi
  • @@ -1025,7 +1024,7 @@ function)after the actual PHP/FI file has been parsed, similar but not identical. CGI Redirection mechanisms are available for NCSA and Netscape servers at the PHP/FI File Archive.

    -
    +

    Access Control

    @@ -1039,7 +1038,7 @@ function)after the actual PHP/FI file has been parsed, similar access control file. ie.

    - http://your.machine.domain/cgi-bin/php.cgi/path/file.html?config

    + http://your.machine.domain/cgi-bin/php.cgi/path/file.html?config

    Your configuration password will initially be set to your user id. If your user id does not work as your password, it probably @@ -1075,8 +1074,7 @@ function)after the actual PHP/FI file has been parsed, similar users coming from a ".edu" domain will not be granted access.

    -

    -

    +

    [Image of ?config screen]

    To edit a rule-set modify the fields until the desired configuration is reached within a rule-set and then hit the @@ -1090,7 +1088,7 @@ function)after the actual PHP/FI file has been parsed, similar

    Note that you need to enter a regular expression in the pattern field. See the section on regular expressions in this documentation for more details.

    -
    +

    Access Logging

    @@ -1152,12 +1150,12 @@ function)after the actual PHP/FI file has been parsed, similar to create two tables. The msqllog shell script in the scripts directory will do this for you. Simply type:

    -    msqllog <user id> 
    +    msqllog <user id>
     

    or for mysql, type:

    -    mysqllog <user id> 
    +    mysqllog <user id>
     

    and the script will create the appropriate tables. You may @@ -1173,10 +1171,10 @@ function)after the actual PHP/FI file has been parsed, similar

    Access logging stores information about each "hit" on a page. This information can then be summarized by examining these log files. An example log file summarizing script is included in the - package. It is the log.html file in the - examples directory. This is the dbm log file analyzer. - The mSQL log file analyzer is called mlog.html. And the - mysql log file analyzer is called mylog.html. To run it, + package. It is the log.html file in the + examples directory. This is the dbm log file analyzer. + The mSQL log file analyzer is called mlog.html. And the + mysql log file analyzer is called mylog.html. To run it, copy it and the other mlog.* files to a directory accessible from your web server and type:

    @@ -1199,8 +1197,8 @@ function)after the actual PHP/FI file has been parsed, similar
       "#access">?config section for the page, or by adding a tag
       like this to your page:

    -

    <?setshowinfo(0)>

    -
    +

    <?setshowinfo(0)>

    +

    Relative vs. Absolute URL's - or, Why do my Images Break?

    @@ -1224,22 +1222,22 @@ function)after the actual PHP/FI file has been parsed, similar ~rasmus/public_html/file.html
    -

    If within the file.html file I had the tag:

    +

    If within the file.html file I had the tag:

         <IMG SRC="pic.gif">
     

    when loaded normally this file gif file is expected to be in - ~rasmus/public_html/pic.gif. However, when loaded + ~rasmus/public_html/pic.gif. However, when loaded through a CGI wrapper with a URL like:

         http://my.machine/cgi-bin/php.cgi/~rasmus/file.html
     
    -

    then HTTPD sets the current directory to /cgi-bin (or +

    then HTTPD sets the current directory to /cgi-bin (or wherever the ScriptAlias might point) and subsequently when the - page is loaded the pic.gif file is expected to be in: - /cgi-bin/pic.gif which is usually not the desired + page is loaded the pic.gif file is expected to be in: + /cgi-bin/pic.gif which is usually not the desired effect.

    The quick way around this problem is to use absolute URL's. In @@ -1271,12 +1269,12 @@ function)after the actual PHP/FI file has been parsed, similar

         <IMG SRC="<?echo $PATH_DIR>/pic.gif">
     
    By using the above, you can move the file containing this tag -around, and the tag will always refer to a pic.gif file in +around, and the tag will always refer to a pic.gif file in the same directory as the source HTML file.

    Another way to handle this is to use the traditional <BASE HREF=...> in the HTML file.

    -
    +

    How PHP handles GET and POST method data

    @@ -1336,7 +1334,7 @@ function)after the actual PHP/FI file has been parsed, similar variables must be the last (or only) component of the GET method data for it to be valid.

    -

    SELECT MULTIPLE +

    SELECT MULTIPLE and PHP

    The SELECT MULTIPLE tag in an HTML construct allows users to @@ -1349,8 +1347,8 @@ function)after the actual PHP/FI file has been parsed, similar

    Each selected option will arrive at the action handler as:

    -

    var=option1
    - var=option2
    +

    var=option1
    + var=option2
    var=option3

    Each option will overwrite the contents of the previous $var @@ -1366,9 +1364,9 @@ function)after the actual PHP/FI file has been parsed, similar "#count">count() function can be used to determine how many options were selected, and the sort() function can be used to sort the option array if necessary.

    -
    - IMAGE - SUBMIT and PHP +
    + IMAGE + SUBMIT and PHP

    When submitting a form, it is possible to use an image instead of the standard submit button with a tag like:

    @@ -1383,7 +1381,7 @@ function can be used to sort the option array if necessary.

    may note that the actual variable names sent by the browser contains a period rather than an underscore, but PHP converts the period to an underscore automatically.

    -
    +

    GD (a graphics library for GIF creation) Support in PHP

    PHP supports the GD @@ -1403,7 +1401,7 @@ function can be used to sort the option array if necessary.

    GD 1.2 is copyright 1994, 1995 Quest Protein Database Center, Cold Springs Harbor Labs.

    -
    +

    PHP/FI and Virtual Hosts

    PHP works fine on virtual host setups supported by @@ -1419,7 +1417,7 @@ function can be used to sort the option array if necessary.

    will need to edit the php.h file and set the VIRTUAL_PATH #define to the path to your php.cgi binary relative to your top-level directory. -
    +

    File Upload Support

    @@ -1435,10 +1433,10 @@ function can be used to sort the option array if necessary.

    -    <FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>
    - <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000">
    - Send this file: <INPUT NAME="userfile" TYPE="file">
    - <INPUT TYPE="submit" VALUE="Send File">
    + <FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>
    + <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000">
    + Send this file: <INPUT NAME="userfile" TYPE="file">
    + <INPUT TYPE="submit" VALUE="Send File">
    </FORM>
    @@ -1501,7 +1499,7 @@ function can be used to sort the option array if necessary.

    starting at the first whitespace in the content-type mime header it gets from the client. As long as this is the case, CERN httpd will not support the file upload feature.

    -
    +

    Cookie Support

    @@ -1528,12 +1526,12 @@ function must be called before any output is sent to the browser. for a shopping cart application you may want to keep a counter and pass this along. ie.
    -    
    +
         $Count++;
         SetCookie("Count",$Count, time()+3600);
         SetCookie("Cart[$Count]",$item, time()+3600);
     
    -
    +

    mSQL Support

    @@ -1591,7 +1589,7 @@ function must be called before any output is sent to the browser. defined in the php.h file then these quotes will be automatically escaped making it easier to pass form data directly to msql queries.

    -
    +

    Postgres95/PostgreSQL Support

    @@ -1687,7 +1685,7 @@ function must be called before any output is sent to the browser. pg_Close($conn); > -
    +

    mysql Support

    @@ -1741,7 +1739,7 @@ function must be called before any output is sent to the browser. defined in the php.h file then these quotes will be automatically escaped making it easier to pass form data directly to mysql queries.

    -
    +

    Solid Support

    @@ -1811,7 +1809,7 @@ interface to PHP was developed by -
    +

    Sybase Support

    The supporting functions uses Sybase DB library @@ -1854,7 +1852,7 @@ interface to PHP was developed by For a complete example, see the example following the sybSQL_Result() function.

    -
    +

    Oracle Support

    The PHP/FI interface to Oracle uses the Oracle @@ -1950,12 +1948,12 @@ interface to PHP was developed by -
    +

    Informix Illustra Support

    @@ -2026,7 +2024,7 @@ interface to PHP was developed by -
    +

    Adabas Support

    @@ -2095,7 +2093,7 @@ interface to PHP was developed by -
    +

    Regular Expressions

    @@ -2121,51 +2119,51 @@ functions is a regular expression string. The EReg functions use
    -
    ereg("abc",$string);
    +
    ereg("abc",$string);
    Returns true if "abc" is found anywhere in $string.
    -
    ereg("^abc",$string);
    +
    ereg("^abc",$string);
    Returns true if "abc" is found at the beginning of $string.
    -
    ereg("abc$",$string);
    +
    ereg("abc$",$string);
    Returns true if "abc" is found at the end of $string.
    - eregi("(ozilla.[23]|MSIE.3)",$HTTP_USER_AGENT);
    + eregi("(ozilla.[23]|MSIE.3)",$HTTP_USER_AGENT);
    Returns true if client browser is Netscape 2, 3 or MSIE 3.
    -
    ereg("([[:alnum:]]+) ([[:alnum:]]+) - ([[:alnum:]]+)",$string,$regs);
    +
    ereg("([[:alnum:]]+) ([[:alnum:]]+) + ([[:alnum:]]+)",$string,$regs);
    Places three space separated words into $regs[1], $regs[2] and $regs[3].
    -
    ereg_replace("^","<BR>",$string)
    +
    ereg_replace("^","<BR>",$string)
    Put a <BR> tag at the beginning of $string.
    -
    ereg_replace("$","<BR>",$string)
    +
    ereg_replace("$","<BR>",$string)
    Put a <BR> tag at the end of $string.
    -
    ereg_replace(10,"",$string);
    +
    ereg_replace(10,"",$string);
    Get rid of any linefeed characters in $string.
    -
    ereg_replace(13,"<BR>",$string);
    +
    ereg_replace(13,"<BR>",$string);
    Replace all carriage returns with a <BR> tag in $string.
    -
    +

    Escape Characters

    @@ -2183,7 +2181,7 @@ functions is a regular expression string. The EReg functions use \xXX --> hex char -
    +

    Octal Notation of Unix file permissions

    @@ -2220,7 +2218,7 @@ functions that expect octal parameters are will simplyassume that 2: sgid bit (set group id) 1: sticky bit (on a directory, only the owner can delete a file) -
    +

    PHP/FI Script Language

    @@ -2275,7 +2273,7 @@ functions that expect octal parameters are will simplyassume that comments in the C language. /* starts a comment and */ ends a comment. Comments can be placed anywhere within the <? ... > block.

    -
    +

    Variables

    @@ -2344,7 +2342,7 @@ functions that expect octal parameters are will simplyassume that
         echo $a[0];
         echo $a[1];
    -        
    +
     

    Arrays can be copied by a simple assignment. If $b is an @@ -2391,7 +2389,7 @@ functions that expect octal parameters are will simplyassume that is placed in $a. This also leads to some caveats. You should read the section on overloaded operators to get a better understanding of how to deal with them.

    -
    +

    Associative Arrays

    @@ -2402,7 +2400,7 @@ functions that expect octal parameters are will simplyassume that associative arrays. These include, Next(), Prev(),Reset(),End(), and Key().

    -
    +

    Variable Variables

    @@ -2441,7 +2439,7 @@ functions that expect octal parameters are will simplyassume that

    ie. they both produce: hello world

    -
    +

    Language Constructs

    @@ -2494,7 +2492,7 @@ functions that expect octal parameters are will simplyassume that > -

    The above may also be written in standard C syntax:
    +

    The above may also be written in standard C syntax:
    In this case, there is no need for a semicolon after the closing curly brace.

    @@ -2521,7 +2519,7 @@ functions that expect octal parameters are will simplyassume that
     

    In this example it is easy to see why it is sometimes more - desirable to use the endif keyword as opposed to a + desirable to use the endif keyword as opposed to a closing brace. The above is much more readable than the following:

    @@ -2532,7 +2530,7 @@ functions that expect octal parameters are will simplyassume that
     
       

    Both version are valid and they will do exactly the same thing.

    -
    +

    User-Defined Functions

    @@ -2577,7 +2575,7 @@ functions that expect octal parameters are will simplyassume that and forth between the main code and functions, global variables can be used. This brings us to the section on the scope of variables.

    -
    +

    Scope of Variables

    @@ -2668,10 +2666,10 @@ function being called. You cannot create new global variables echo $count; if($count < 10) { Test(); - } + } );
    -
    +

    Mathematical Expressions

    @@ -2693,7 +2691,7 @@ function being called. You cannot create new global variables <?$a = (2+1)*3+6/3> -

    The C-like incremental operators += and -= +

    The C-like incremental operators += and -= are supported. ie.

         <? $a += $b>
    @@ -2704,15 +2702,15 @@ function being called. You cannot create new global variables
         <? $a = $a + $b>
     
    -

    The C-like bit-wise operators &=, |= and - ^= are supported. ie.

    +

    The C-like bit-wise operators &=, |= and + ^= are supported. ie.

         <? $a &= 4>
     
    This is equivalent to:
         <? $a = $a &  4>
     
    -
    +

    While Loops

    @@ -2723,8 +2721,8 @@ function being called. You cannot create new global variables $a=0; while($a<100) { $a++; - echo $list[$a]; - } + echo $list[$a]; + } > @@ -2740,7 +2738,7 @@ function being called. You cannot create new global variables

    As explained in the Language Constructs section above, the same can be obtained with while(); endwhile;.

    -
    +

    Switch Construct

    @@ -2759,7 +2757,7 @@ function being called. You cannot create new global variables default; echo "a is unknown"; break; - } + } > @@ -2777,7 +2775,7 @@ function being called. You cannot create new global variables inside each other just like C. The various files in the examples directory of the PHP distribution should provide a good starting point for learning the language.

    -
    +

    Secure Variables - Defeating GET method hacks

    @@ -2823,7 +2821,7 @@ function being called. You cannot create new global variables simply telnetting to the HTTP port on your system. You need to take appropriate security measures to stop people from doing this if in fact security is a concern.

    -
    +

    Overloaded Operators and dealing with variable types

    An overloaded operator is an @@ -2894,7 +2892,7 @@ function being called. You cannot create new global variables on.

    The GetType() function returns the type. - GetType($a) would return "double" in this case.

    + GetType($a) would return "double" in this case.

    Functions also exist to return the 3 various types without moving the type flag.

    @@ -2917,7 +2915,7 @@ function being called. You cannot create new global variables scripts will be rather simple and in most cases written by non-programmers who want a language with a basic logical syntax that doesn't have too high a learning curve.

    -
    +

    Suppressing Errors from function calls

    @@ -2950,7 +2948,7 @@ function. With this function error printing can be disabled for
         SetErrorReporting(1);
     
    -
    +

    Internal Functions

    @@ -2970,13 +2968,13 @@ function. For example:

    Alphabetical List of Functions

    -
    Abs(arg)
    +
    Abs(arg)

    Abs returns the absolute value of arg.

    -
    Ada_Close(connection_id)
    +
    Ada_Close(connection_id)

    Ada_Close will close down the connection to the Adabas @@ -2986,8 +2984,8 @@ function. For example:

    enabled in PHP.

    -
    $connection = Ada_Connect(data source name, username, - password)
    +
    $connection = Ada_Connect(data source name, username, + password)

    Ada_Connect opens a connection to a Adabas server. Each of @@ -3004,8 +3002,8 @@ function returns a connection_id. This identifier is needed enabled in PHP.

    -
    $result = - Ada_Exec(connection_id, query_string)
    +
    $result = + Ada_Exec(connection_id, query_string)

    Ada_Exec will send an SQL statement to the Adabas server @@ -3015,7 +3013,7 @@ function returns a connection_id. This identifier is needed ada_exec tries to establish or to use a connection with the parameters given with the configuration directives phpAdaDefDB, phpAdaUser and - phpAdaPW.
    + phpAdaPW.
    The return value of this function is an identifier to be used to access the results by other Adabas functions. This function will return 0 on error. It will @@ -3028,7 +3026,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_FetchRow(result_id [,row_number])
    +
    Ada_FetchRow(result_id [,row_number])

    Ada_FetchRow fetches a row of the data that was returned @@ -3050,7 +3048,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_FieldName(result_id, field_number)
    +
    Ada_FieldName(result_id, field_number)

    Ada_FieldName will return the name of the field occupying @@ -3061,7 +3059,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_FieldNum(result_id, field_name)
    +
    Ada_FieldNum(result_id, field_name)

    Ada_FieldNum will return the number of the column slot @@ -3073,8 +3071,8 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_FieldType(result_id, - field_name|field_number)
    +
    Ada_FieldType(result_id, + field_name|field_number)

    Ada_FieldType will return the SQL type of the field @@ -3085,7 +3083,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_FreeResult(result_id)
    +
    Ada_FreeResult(result_id)

    Ada_FreeResult only needs to be called if you are worried @@ -3100,7 +3098,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_NumFields(result_id)
    +
    Ada_NumFields(result_id)

    Ada_NumFields will return the number of fields (columns) @@ -3112,7 +3110,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_NumRows(result_id)
    +
    Ada_NumRows(result_id)

    Ada_NumRows will return the number of rows in a Adabas @@ -3126,7 +3124,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_Result(result_id, field name | index)
    +
    Ada_Result(result_id, field name | index)

    Ada_Result will return values from a result identifier @@ -3143,7 +3141,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    Ada_ResultAll(result_id [,format])
    +
    Ada_ResultAll(result_id [,format])

    Ada_ResultAll will print all rows from a result identifier @@ -3159,7 +3157,7 @@ function will return 0 on error. It will enabled in PHP.

    -
    AddSlashes(arg)
    +
    AddSlashes(arg)

    Escapes any $ \ or ' (if MAGIC_QUOTES is set) with a @@ -3167,7 +3165,7 @@ function will return 0 on error. It will "#stripslashes">StripSlashes().

    -
    ASort(array)
    +
    ASort(array)

    Sort is used to sort a PHP associative array in ascending @@ -3182,7 +3180,7 @@ function will return 0 on error. It will Sort() function.

    -
    BinDec(binary_string)
    +
    BinDec(binary_string)

    BinDec returns the decimal equivalent of the binary number @@ -3192,31 +3190,31 @@ function will return 0 on error. It will function.

    -
    Ceil(value)
    +
    Ceil(value)

    Ceil() rounds a floating point value up to the next integer. The return value is of type double (floating point) such that it can be used properly in complex equations. To - get an integer type back, use: $new = - IntVal(Ceil($value));
    + get an integer type back, use: $new = + IntVal(Ceil($value));
    See also Floor().

    -
    ChDir(dir)
    +
    ChDir(dir)

    ChDir changes the current working directory to the directory specified in the argument.

    -
    ChGrp(file,group)
    +
    ChGrp(file,group)

    ChGrp changes the group id of the specified file.

    -
    ChMod(file,perms)
    +
    ChMod(file,perms)

    ChMod changes the file permissions of the specified file. @@ -3224,7 +3222,7 @@ function.

    "#octal">octal notation. eg. ChMod($filename,0755)

    -
    ChOwn(file,owner)
    +
    ChOwn(file,owner)

    ChOwn changes the specified file to be owned by the @@ -3233,21 +3231,21 @@ function.

    idea).

    -
    Chop(string)
    +
    Chop(string)

    Chop removes all trailing whitespaces including new-lines, tabs and spaces and returns the new string.

    -
    Chr(arg)
    +
    Chr(arg)

    Chr returns the ASCII character represented by the integer argument.

    -
    ClearStack()
    +
    ClearStack()

    The ClearStack() function is a hack/workaround for a @@ -3267,8 +3265,8 @@ function within any sort of context. ie. you have to assign use this temporary variable in whatever context you need.

    -
    - ClearStatCache()
    +
    + ClearStatCache()

    The stat() system call is normally an expensive operation @@ -3283,16 +3281,16 @@ function within any sort of context. ie. you have to assign the cached stat() result.

    -
    - closeDir()
    +
    + closeDir()

    closeDir closes a directory opened using the openDir function.

    -
    - CloseLog()
    +
    + CloseLog()

    CloseLog() closes the descriptor Syslog() uses to write to @@ -3302,16 +3300,16 @@ function within any sort of context. ie. you have to assign "#initsyslog">InitSyslog().

    -
    - Cos(arg)
    +
    + Cos(arg)

    Cos returns the cosine of arg in radians. See also Sin() and Tan()

    -
    - Count(array)
    +
    + Count(array)

    Count returns the number of items in an array variable. If @@ -3321,8 +3319,8 @@ function within any sort of context. ie. you have to assign will be 0.

    -
    - Crypt(string,[salt])
    +
    + Crypt(string,[salt])

    Crypt will encrypt a string using the standard Unix DES @@ -3336,8 +3334,8 @@ function within any sort of context. ie. you have to assign non-US site.

    -
    - Date(format,time)
    +
    + Date(format,time)

    The Date function is used to display times and dates in @@ -3352,52 +3350,52 @@ function within any sort of context. ie. you have to assign verbosely:

      -
    • Y - Year eg. 1995
    • +
    • Y - Year eg. 1995
    • -
    • y - Year eg. 95
    • +
    • y - Year eg. 95
    • -
    • M - Month eg. Oct
    • +
    • M - Month eg. Oct
    • -
    • m - Month eg. 10
    • +
    • m - Month eg. 10
    • -
    • F - Month eg. October
    • +
    • F - Month eg. October
    • -
    • D - Day eg. Fri
    • +
    • D - Day eg. Fri
    • -
    • l - Day eg. Friday
    • +
    • l - Day eg. Friday
    • -
    • d - Day eg. 27
    • +
    • d - Day eg. 27
    • -
    • z - Day of the year eg. 299
    • +
    • z - Day of the year eg. 299
    • -
    • H - Hours in 24 hour format eg. 13
    • +
    • H - Hours in 24 hour format eg. 13
    • -
    • h - Hours in 12 hour format eg. 1
    • +
    • h - Hours in 12 hour format eg. 1
    • -
    • i - Minutes eg. 5
    • +
    • i - Minutes eg. 5
    • -
    • s - Seconds eg. 40
    • +
    • s - Seconds eg. 40
    • -
    • U - Seconds since epoch eg. 814807830
    • +
    • U - Seconds since epoch eg. 814807830
    • -
    • A - AM/PM
    • +
    • A - AM/PM
    • -
    • a - am/pm
    • +
    • a - am/pm

    See also the MkTime() function.

    -
    - dbList()
    +
    + dbList()

    dbList outputs information about the db support compiled into PHP.

    -
    - dbmClose(filename)
    +
    + dbmClose(filename)

    dbmClose simply closes the specified dbm file. It will @@ -3405,32 +3403,32 @@ function within any sort of context. ie. you have to assign dbm files that have been opened.

    -
    - dbmDelete(filename,key)
    +
    + dbmDelete(filename,key)

    dbmDelete will delete the key/content pair specified by the given key argument.

    -
    - dbmExists(filename,key)
    +
    + dbmExists(filename,key)

    dbmExists will return 1 if the key exists and 0 otherwise.

    -
    - dbmFetch(filename,key)
    +
    + dbmFetch(filename,key)

    dbmFetch will return the content string associated with the given key.

    -
    - dbmFirstKey(filename)
    +
    + dbmFirstKey(filename)

    dbmFirstKey returns the first key in the dbm file. Note @@ -3441,16 +3439,16 @@ function to sort arrays of data from the dbm file if necessary.

    -
    - dbmInsert(filename,key,content)
    +
    + dbmInsert(filename,key,content)

    dbmInsert inserts a new key/content data pair into a dbm file. If the key already exists, the insert will fail.

    -
    - dbmNextKey(filename,key)
    +
    + dbmNextKey(filename,key)

    dbmNextKey returns the next key after the specified key. @@ -3459,8 +3457,8 @@ function to sort arrays of data from the dbm file if possible to visit every key/content pair in the dbm file.

    -
    - dbmOpen(filename,mode)
    +
    + dbmOpen(filename,mode)

    dbmOpen() opens a dbm file. The first argument is the @@ -3481,8 +3479,8 @@ function to sort arrays of data from the dbm file if "ftp://prep.ai.mit.edu/pub/gnu">ftp://prep.ai.mit.edu/pub/gnu.

    -
    - dbmReplace(filename,key,content)
    +
    + dbmReplace(filename,key,content)

    dbmReplace is similar to the dbminsert() @@ -3491,8 +3489,8 @@ function, the only difference being that if the key already new.

    -
    - DecBin(number)
    +
    + DecBin(number)

    DecBin returns a string containing a binary representation @@ -3501,24 +3499,24 @@ function, the only difference being that if the key already the BinDec() function.

    -
    - DecHex(number)
    +
    + DecHex(number)

    DecHex converts a decimal number to a hexadecimal string. See also the HexDec() function.

    -
    - DecOct(number)
    +
    + DecOct(number)

    DecOct converts a decimal number to an octal number. See also OctDec().

    -
    - doubleval(variable)
    +
    + doubleval(variable)

    doubleval returns the double (floating point) value of the @@ -3526,9 +3524,9 @@ function, the only difference being that if the key already intval() functions.

    -
    Echo +
    Echo [format_string] expression [, expression - [,...]]
    + [,...]]

    Echo is not a function. ie. you do not put brackets around @@ -3632,7 +3630,7 @@ function. See the man page for printf for more for example, is a GNU extension).

    Most conversions will accept a field width and a - precision, as shown in the demo_echo.html file in + precision, as shown in the demo_echo.html file in the directory /examples. It is not necessary to specify any type modifiers, and, in fact, PHP will complain if the type modifier does not make sense (which is almost always the @@ -3643,8 +3641,8 @@ function. See the man page for printf for more

    -
    - End(variable)
    +
    + End(variable)

    End moves the internal array pointer for the given @@ -3669,14 +3667,14 @@ function. See the man page for printf for more

    -
    - ereg(expr,arg[,regs])
    +
    + ereg(expr,arg[,regs])

    ereg returns non-zero if the regular expression is matched in the argument string. For example, the condition, - <?if (ereg("^This.*", "This is an example - string")> would be true since the "^This.*" + <?if (ereg("^This.*", "This is an example + string")> would be true since the "^This.*" expression says to match the word This at the beginning of the string and then match any characters afterwards. If the regs argument is present, then @@ -3687,8 +3685,8 @@ function. See the man page for printf for more expression section of this document.

    -
    - eregi(expr,arg[,regs])
    +
    + eregi(expr,arg[,regs])

    eregi is identical to the ereg() @@ -3696,14 +3694,14 @@ function except for the fact that the regular expression is applied such that upper/lower case is ignored.

    -
    - ereg_replace(expr,replace,arg)
    +
    + ereg_replace(expr,replace,arg)

    ereg_Replace scans the entire argument string and replaces any portions of the string matched by the given expression with the replacement string. For example, in the string, - "This is an example string" we could very easily + "This is an example string" we could very easily replace every space with a dash with the command: ereg_replace(" ","-","This is an example string").For more information on regular @@ -3711,8 +3709,8 @@ function except for the fact that the regular expression is section of this document.

    -
    - eregi_replace(expr,replace,arg)
    +
    + eregi_replace(expr,replace,arg)

    eregi_replace is identical to the

    -
    - EscapeShellCmd(string)
    +
    + EscapeShellCmd(string)

    EscapeShellCmd escapes any characters in a string that @@ -3737,8 +3735,8 @@ function except for the fact that the regular expression is

    -
    - Eval(string)
    +
    + Eval(string)

    Eval takes the contents of the string argument and treats @@ -3759,9 +3757,9 @@ function except for the fact that the regular expression is

    -
    +
    Exec(command_string [, array - [,return_var]])
    + [,return_var]])

    Exec executes the given unix command, however it does not @@ -3786,24 +3784,24 @@ function, then you should be using the

    -
    - Exit
    +
    + Exit

    The Exit command is used to terminate parsing right away as soon as this tag is parsed.

    -
    - Exp(arg)
    +
    + Exp(arg)

    Exp returns e raised to the power of arg. See also pow()

    -
    - fclose($fd)
    +
    + fclose($fd)

    fclose() closes a file opened by returned by the fopen() call.

    -
    - feof($fd)
    +
    + feof($fd)

    Feof returns true if the file referred to by the file pointer index argument has hit end-of-file.

    -
    - fgets($fd,bytes)
    +
    + fgets($fd,bytes)

    fgets() reads a line from a file opened by also fputs().

    -
    - fgetss($fd,bytes)
    +
    + fgetss($fd,bytes)

    Identical to the fgets() function, except this one tries @@ -3840,8 +3838,8 @@ function.

    reading the file.

    -
    $array = - File(filename)
    +
    $array = + File(filename)

    File reads the entire file and returns an array with each @@ -3849,8 +3847,8 @@ function.

    array index 0.

    -
    - fileAtime(filename)
    +
    + fileAtime(filename)

    fileAtime returns the time of last data access. If the @@ -3862,8 +3860,8 @@ function.

    called before the call to the file* function.

    -
    - fileCtime(filename)
    +
    + fileCtime(filename)

    fileCtime returns the time of last status change. If the @@ -3875,8 +3873,8 @@ function.

    called before the call to the file* function.

    -
    - fileGroup(filename)
    +
    + fileGroup(filename)

    fileGroup returns the group id of the owner of the file. @@ -3888,8 +3886,8 @@ function.

    should be called before the call to the file* function.

    -
    - fileInode(filename)
    +
    + fileInode(filename)

    fileInode returns the file's inode. If the file does not @@ -3901,8 +3899,8 @@ function.

    before the call to the file* function.

    -
    - fileMtime(filename)
    +
    + fileMtime(filename)

    fileMtime returns the time of last data modification. If @@ -3914,8 +3912,8 @@ function.

    called before the call to the file* function.

    -
    - fileOwner(filename)
    +
    + fileOwner(filename)

    fileOwner returns the uid of the owner of the file. If the @@ -3927,8 +3925,8 @@ function.

    called before the call to the file* function.

    -
    - filePerms(filename)
    +
    + filePerms(filename)

    filePerms returns the permission bits of the file. This is @@ -3941,8 +3939,8 @@ function.

    called before the call to the file* function.

    -
    - fileSize(filename)
    +
    + fileSize(filename)

    fileSize returns the size of the file in bytes. If the @@ -3954,8 +3952,8 @@ function.

    called before the call to the file* function.

    -
    - fileType(filename)
    +
    + fileType(filename)

    fileType returns the type of the file. The return values @@ -3965,20 +3963,20 @@ function.

    respectively.

    -
    - Floor(value)
    +
    + Floor(value)

    Floor() rounds a floating point value down to the previous integer. The return value is of type double (floating point) such that it can be used properly in complex equations. To - get an integer type back, use: $new = - IntVal(Floor($value));
    + get an integer type back, use: $new = + IntVal(Floor($value));
    See also Ceil().

    -
    - Flush()
    +
    + Flush()

    The Flush() function is used to Flush the output buffer. @@ -3991,8 +3989,8 @@ function.

    alternatively, run the Apache module version of PHP.

    -
    $fp = - fopen(filename,mode)
    +
    $fp = + fopen(filename,mode)

    fopen() opens a file and returns a file pointer index. If @@ -4011,8 +4009,8 @@ function description.

    -
    - fputs(fp,string)
    +
    + fputs(fp,string)

    fputs() writes a line to a file opened by tabs respectively. See also fgets().

    -
    - FPassThru(fp)
    +
    + FPassThru(fp)

    FPassThru() outputs all remaining data on fp @@ -4037,8 +4035,8 @@ function description.

    number of bytes read and written.

    -
    - fseek(fp,pos)
    +
    + fseek(fp,pos)

    fseek() positions a file pointer identified by the $fd @@ -4049,8 +4047,8 @@ function description.

    "#ftell">ftell() and rewind().

    -
    fp = - fsockopen(hostname,port)
    +
    fp = + fsockopen(hostname,port)

    fsockopen() opens a socket connection and returns a file @@ -4066,8 +4064,8 @@ function description.

    operating system support Unix domain sockets.

    -
    pos = - ftell(fp)
    +
    pos = + ftell(fp)

    ftell() returns the position of a file pointer identified @@ -4077,8 +4075,8 @@ function description.

    and rewind().

    -
    - getAccDir()
    +
    + getAccDir()

    getAccDir returns the directory where PHP access @@ -4087,8 +4085,8 @@ function description.

    access configurations they represent.

    -
    - GetEnv(string)
    +
    + GetEnv(string)

    GetEnv returns the value of the environment value @@ -4107,16 +4105,16 @@ function description.

    whatever security mechanism you might have.

    -
    - getHostByName(domain_name)
    +
    + getHostByName(domain_name)

    getHostByName converts the given domain name into an IP address in nnn.nnn.nnn.nnn format.

    -
    - getHostByAddr(ip_address)
    +
    + getHostByAddr(ip_address)

    getHostByAddr converts the given IP address in @@ -4124,8 +4122,8 @@ function description.

    name.

    -
    - GetImageSize(filename)
    +
    + GetImageSize(filename)

    The GetImageSize() function takes either a full path @@ -4146,72 +4144,72 @@ function description.

    -
    - getLastAccess()
    +
    + getLastAccess()

    getLastAccess returns the date and time in unix time format of the last time the current page was access. This value can be passed to the Date() - function for formatting.
    + function for formatting.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getLastbrowser()
    +
    + getLastbrowser()

    getLastBrowser returns the identification string of - browser the last user to access the current page used.
    + browser the last user to access the current page used.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getLastEmail()
    +
    + getLastEmail()

    getLastEmail returns the E-Mail address of the last user - to access the current page.
    + to access the current page.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getLastHost()
    +
    + getLastHost()

    getLastHost returns the hostname of the last user to - access the current page.
    + access the current page.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getLastMod()
    +
    + getLastMod()

    getLastMod returns the date and time in unix time format of the last time the current page was modified. This value can be passed to the Date() function for - formatting.
    + formatting.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getLastref()
    +
    + getLastref()

    getLastRef returns the URL of the referring document of - the last user to access the current page.
    + the last user to access the current page.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getLogDir()
    +
    + getLogDir()

    getLogDir returns the top-level directory under which PHP @@ -4223,32 +4221,32 @@ function for formatting.
    represent as the primary component of the filename.

    -
    - getMyInode()
    +
    + getMyInode()

    getMyInode returns the numerical inode of the current HTML file.

    -
    - getMyPid()
    +
    + getMyPid()

    getMyPid() returns the current process id of the PHP parsing process.

    -
    - getMyUid()
    +
    + getMyUid()

    getMyUid returns the numerical user id of the owner of the current HTML file.

    -
    - getRandMax()
    +
    + getRandMax()

    getRandMax returns the maximum random number the file in the PHP distribution for more information.

    -
    - getStartLogging()
    +
    + getStartLogging()

    getStartLogging returns the time and date in Unix time @@ -4269,28 +4267,28 @@ function for formatting.
    created.

    -
    - getToday()
    +
    + getToday()

    getToday returns the total number of hits the current page - has had since 12 midnight local time.
    + has had since 12 midnight local time.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - getTotal()
    +
    + getTotal()

    getTotal returns the total number of hits the current page - has had since access logging was started on the page.
    + has had since access logging was started on the page.
    This function is only available if PHP was compiled with Access Logging enabled.

    -
    - GetType(variable)
    +
    + GetType(variable)

    GetType returns the type of the variable. The return value @@ -4299,8 +4297,8 @@ function for formatting.
    function

    -
    - gmDate(format,time)
    +
    + gmDate(format,time)

    gmDate is identical to the Date @@ -4308,8 +4306,8 @@ function except for the fact that it uses Greenwich Mean Time instead of the current local time.

    -
    - Header(header_string)
    +
    + Header(header_string)

    The Header command is used at the top of an HTML file to @@ -4318,13 +4316,13 @@ function except for the fact that it uses Greenwich Mean Time Specification for more information on raw http headers. Remember that the Header() command must be used before any actual output is sent either by normal HTML tags or by PHP - echo commands.
    + echo commands.
    Usage examples can be found in the HTTP Authentication section.

    -
    - HexDec(hex_string)
    +
    + HexDec(hex_string)

    HexDec converts a hexadecimal string to a decimal number. @@ -4332,7 +4330,7 @@ function except for the fact that it uses Greenwich Mean Time

    HtmlSpecialChars(string)
    + "htmlspecialchars">HtmlSpecialChars(string)

    HtmlSpecialChars converts any characters with ascii codes @@ -4342,8 +4340,8 @@ function except for the fact that it uses Greenwich Mean Time and " are also converted.

    -
    - ImageArc(im, cx, cy, w, h, s, e, col)
    +
    + ImageArc(im, cx, cy, w, h, s, e, col)

    ImageArc draws a partial ellipse centered at cx,cy (top @@ -4351,40 +4349,40 @@ function except for the fact that it uses Greenwich Mean Time "#imagecreate">im. w and h specifies the ellipse's width and height respectively while the start and end points are specified in degrees indicated by the s and e - arguments.
    + arguments.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageChar(im, size, x, y, c, col)
    +
    + ImageChar(im, size, x, y, c, col)

    ImageChar draws the character c in the image identified by im at coordinates x,y (top left is 0,0) in colour col. The size argument can be 1, 2, 3, 4 or 5 indicating the size of the font to be used. 1 is the smallest - and 5 is the largest.
    + and 5 is the largest.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageCharUp(im, size, x, y, c, col)
    +
    + ImageCharUp(im, size, x, y, c, col)

    ImageCharUp draws the character c vertically in the image identified by im at coordinates x,y (top left is 0,0) in colour col. The size argument can be 1, 2, 3, 4 or 5 indicating the size of the font to be used. 1 - is the smallest and 5 is the largest.
    + is the smallest and 5 is the largest.
    This function is only available if GD support has been enabled in PHP.

    col = - ImageColorAllocate(im, red, green, blue)
    + "imagecolorallocate">col = + ImageColorAllocate(im, red, green, blue)

    ImageColorAllocate returns a colour identifier @@ -4392,14 +4390,14 @@ function except for the fact that it uses Greenwich Mean Time The im argument is the return from the ImageCreate function. ImageColorAllocate must be called to create each colour that is to be used in - the image represented by im.
    + the image represented by im.
    This function is only available if GD support has been enabled in PHP.

    - ImageColorTransparent(im, col)
    + "imagecolortransparent"> + ImageColorTransparent(im, col)

    ImageColorTransparent sets the transparent colour in the @@ -4411,9 +4409,9 @@ function except for the fact that it uses Greenwich Mean Time

    ImageCopyResized(dst_im, + "imagecopyresized">ImageCopyResized(dst_im, src_im, dstX, dstY, srcX, srcY, dstW, dstH, srcW, srcH - )
    + )

    ImageCopyResized copies a rectangular portion of one image @@ -4425,35 +4423,35 @@ function except for the fact that it uses Greenwich Mean Time corner. This function can be used to copy regions within the same image (if dst_im is the same as src_im) but if the regions overlap the results will - be unpredictable.
    + be unpredictable.
    This function is only available if GD support has been enabled in PHP.

    -
    im = - ImageCreate(x_size, y_size)
    +
    im = + ImageCreate(x_size, y_size)

    ImageCreate returns an image identifier representing a - blank image of size x_size by y_size.
    + blank image of size x_size by y_size.
    This function is only available if GD support has been enabled in PHP.

    im = - ImageCreateFromGif(filename)
    + "imagecreatefromgif">im = + ImageCreateFromGif(filename)

    ImageCreateFromGif returns an image identifier representing the image obtained from the given - filename.
    + filename.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageDestroy(im)
    +
    + ImageDestroy(im)

    ImageDestroy frees any memory associated with image im. im @@ -4462,58 +4460,58 @@ function except for the fact that it uses Greenwich Mean Time only available if GD support has been enabled in PHP.

    -
    - ImageFill(im, x, y, col)
    +
    + ImageFill(im, x, y, col)

    ImageFill performs a flood fill starting at coordinate x,y - (top left is 0,0) with colour col in image im.
    + (top left is 0,0) with colour col in image im.
    This function is only available if GD support has been enabled in PHP.

    ImageFilledPolygon(im, - points, num_points, col)
    + "imagefilledpolygon">ImageFilledPolygon(im, + points, num_points, col)

    ImageFilledPolygon creates a filled polygon in image im. points is a PHP array containing the polygon's vertices. ie. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. - num_points is the total number of vertices.
    + num_points is the total number of vertices.
    This function is only available if GD support has been enabled in PHP.

    ImageFilledRectangle(im, - x1, y1, x2, y2, col)
    + "imagefilledrectangle">ImageFilledRectangle(im, + x1, y1, x2, y2, col)

    ImageFilledRectangle creates a filled rectangle of colour col in image im starting at upper left coordinate x1,y1 and ending at bottom right coordinate x2,y2. 0,0 is the top left - corner of the image.
    + corner of the image.
    This function is only available if GD support has been enabled in PHP.

    ImageFillToBorder(im, x, y, - border, col)
    + "imagefilltoborder">ImageFillToBorder(im, x, y, + border, col)

    ImageFillToBorder performs a flood fill whose border colour is defined by border. The starting point for the fill is x,y (top left is 0,0) and the region is filled with colour - col.
    + col.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageGif(im [,filename])
    +
    + ImageGif(im [,filename])

    ImageGif creates the GIF file in filename from the image @@ -4523,13 +4521,13 @@ function except for the fact that it uses Greenwich Mean Time will be returned directly. By sending an image/gif content-type using the Header() function, you can create a PHP/FI script which returns GIF - images directly using this function.
    + images directly using this function.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageInterlace(im, interlace)
    +
    + ImageInterlace(im, interlace)

    ImageInterlace turns the interlace bit on or off. If @@ -4539,97 +4537,97 @@ functions is only available if GD support has been enabled in PHP.

    -
    - ImageLine(im, x1, y1, x2, y2, col)
    +
    + ImageLine(im, x1, y1, x2, y2, col)

    ImageLine draws a line from x1,y1 to x2,y2 (top left is 0,0) in image im of colour - col.
    + col.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImagePolygon(im, points, num_points, col)
    +
    + ImagePolygon(im, points, num_points, col)

    ImagePolygon creates a polygon in image im. points is a PHP array containing the polygon's vertices. ie. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points is the total - number of vertices.
    + number of vertices.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageRectangle(im, x1, y1, x2, y2, col)
    +
    + ImageRectangle(im, x1, y1, x2, y2, col)

    ImageRectangle creates a rectangle of colour col in image im starting at upper left coordinate x1,y1 and ending at bottom right coordinate x2,y2. 0,0 is the top left corner of - the image.
    + the image.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageSetPixel(im, x, y, col)
    +
    + ImageSetPixel(im, x, y, col)

    ImageSetPixel draws a pixel at x,y (top left is 0,0) in image im of colour col.
    + "#imagecolorallocate">col.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageString(im, size, x, y, s, col)
    +
    + ImageString(im, size, x, y, s, col)

    ImageString draws the string s in the image identified by im at coordinates x,y (top left is 0,0) in colour col. The size argument can be 1, 2, 3, 4 or 5 indicating the size of the font to be used. 1 is the smallest - and 5 is the largest.
    + and 5 is the largest.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageStringUp(im, size, x, y, s, col)
    +
    + ImageStringUp(im, size, x, y, s, col)

    ImageStringUp draws the string s vertically in the image identified by im at coordinates x,y (top left is 0,0) in colour col. The size argument can be 1, 2, 3, 4 or 5 indicating the size of the font to be used. 1 - is the smallest and 5 is the largest.
    + is the smallest and 5 is the largest.
    This function is only available if GD support has been enabled in PHP.

    -
    - ImageSX(im)
    +
    + ImageSX(im)

    ImageSX returns the width of the image identified by im.

    -
    - ImageSY(im)
    +
    + ImageSY(im)

    ImageSY returns the height of the image identified by im.

    -
    - Include(filename)
    +
    + Include(filename)

    The Include command can be used to insert other files into @@ -4653,8 +4651,8 @@ functions is only available if GD support has been enabled in

    -
    - InitSyslog()
    +
    + InitSyslog()

    InitSyslog() defines some PHP variables that you need when @@ -4667,8 +4665,8 @@ functions is only available if GD support has been enabled in "#closelog">CloseLog().

    -
    - intval(variable)
    +
    + intval(variable)

    intval returns the long integer value of the variable. See @@ -4676,16 +4674,16 @@ functions is only available if GD support has been enabled in "#doubleval">doubleval() functions.

    -
    - IsSet(variable)
    +
    + IsSet(variable)

    The IsSet function returns 1 if the given variable is defined, and 0 if it isn't.

    -
    - Key(variable)
    +
    + Key(variable)

    Key returns the key of the current array item. The current @@ -4698,8 +4696,8 @@ functions is only available if GD support has been enabled in array, although it will work for normal array as well.

    -
    - Link(target,link)
    +
    + Link(target,link)

    Link() creates a hard link. See the LinkInfo functions.

    -
    - LinkInfo(path)
    +
    + LinkInfo(path)

    LinkInfo returns the st_dev field of the UNIX C stat @@ -4719,22 +4717,22 @@ functions is only available if GD support has been enabled in stat.h). Returns -1 in case of error.

    -
    - Log(arg)
    +
    + Log(arg)

    Log returns the natural logarithm of arg.

    -
    - Log10(arg)
    +
    + Log10(arg)

    Log10 returns the base-10 logarithm of arg.

    -
    - LogAs(filename)
    +
    + LogAs(filename)

    The LogAs() function will treat the hit on the current @@ -4742,8 +4740,8 @@ functions is only available if GD support has been enabled in filename.

    -
    - Mail(to,subject,message[,headers])
    +
    + Mail(to,subject,message[,headers])

    Mail automatically mails the message specified in the @@ -4753,8 +4751,8 @@ functions is only available if GD support has been enabled in

    eg.

    -   mail("rasmus@lerdorf.on.ca", 
    -        "My Subject", 
    +   mail("rasmus@lerdorf.on.ca",
    +        "My Subject",
             "Line 1\nLine 2\nLine 3");
     
    If a fourth string argument is passed, this string is inserted at the end of the header, example: @@ -4764,8 +4762,8 @@ functions is only available if GD support has been enabled in
    -
    - Max(array)
    +
    + Max(array)

    Max returns the maximum value of a PHP array. ie. it will @@ -4775,15 +4773,15 @@ functions is only available if GD support has been enabled in were sorted.

    -
    - Md5(message)
    +
    + Md5(message)

    Md5 returns the MD5 hash of a string value.

    -
    - mi_Close(connection_id)
    +
    + mi_Close(connection_id)

    mi_Close will close down the connection to an Illustra @@ -4793,9 +4791,9 @@ functions is only available if GD support has been enabled in been enabled in PHP.

    -
    +
    $connection = mi_Connect(database, username, - password)
    + password)

    mi_Connect opens a connection to an Illustra database. @@ -4811,8 +4809,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - mi_DBname(connection_id)
    +
    + mi_DBname(connection_id)

    mi_DBname will return the name of the database that the @@ -4822,8 +4820,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    $result = - mi_Exec(connection_id, query_string)
    +
    $result = + mi_Exec(connection_id, query_string)

    mi_Exec will send an SQL statement to the Illustra @@ -4837,9 +4835,9 @@ function will return -1 on error.

    been enabled in PHP.

    -
    +
    mi_FieldName(connection_id, result_id, - field_number)
    + field_number)

    mi_FieldName will return the name of the field occupying @@ -4853,9 +4851,9 @@ function will return -1 on error.

    been enabled in PHP.

    -
    +
    mi_FieldNum(connection_id, result_id, - field_name)
    + field_name)

    mi_FieldNum will return the number of the column slot that @@ -4867,8 +4865,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - mi_NumFields(connection_id, result_id)
    +
    + mi_NumFields(connection_id, result_id)

    mi_NumFields will return the number of fields (columns) in @@ -4880,8 +4878,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - mi_NumRows(connection_id, result_id)
    +
    + mi_NumRows(connection_id, result_id)

    mi_NumRows will return the number of rows in an Illustra @@ -4893,9 +4891,9 @@ function will return -1 on error.

    been enabled in PHP.

    -
    +
    mi_Result(connection_id, result_id, row_number, field - name/index)
    + name/index)

    mi_Result will return values from a result identifier @@ -4912,20 +4910,20 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - Microtime()
    +
    + Microtime()

    Microtime() returns a string "msec sec" where sec is number of seconds since 00:00 GMT, Jan 1, 1970, and msec is the microseconds part (as fraction of seconds). Ex - "0.87633900 825010464".
    + "0.87633900 825010464".
    This function is only available on operating systems that support the gettimeofday() system call.

    -
    - Min(array)
    +
    + Min(array)

    Min returns the minimum value of a PHP array. ie. it will @@ -4935,8 +4933,8 @@ function will return -1 on error.

    were sorted.

    -
    - MkDir(dir,mode)
    +
    + MkDir(dir,mode)

    MkDir creates a directory. The mode parameter @@ -4944,8 +4942,8 @@ function will return -1 on error.

    MkDir("DirName",0755);

    -
    - MkTime(hour,min,sec,mon,day,year)
    +
    + MkTime(hour,min,sec,mon,day,year)

    MkTime returns a time in Unix timestamp (long integer) @@ -4954,8 +4952,8 @@ function will return -1 on error.

    given component is set to the current value according to the current local time and date. These left out arguments may only be left out from right to left. ie. - MkTime(hour,min,sec) is valid, but - MkTime(mon,day,year) is not valid. Note that this + MkTime(hour,min,sec) is valid, but + MkTime(mon,day,year) is not valid. Note that this function can be very handy as a tool for doing both date arithmetic and date validation. You can feed it invalid parameters, such as a month greater than 12, or a day greater @@ -4976,13 +4974,13 @@ function can be very handy as a tool for doing both date
    -
    $result = - msql($database,$query)
    +
    $result = + msql($database,$query)

    msql sends an mSQL query. Arguments are the database name - and the query string. ie. <?msql("MyDatabase" - , "select * from table")>. The return value + and the query string. ie. <?msql("MyDatabase" + , "select * from table")>. The return value from this function is a result identifier to be used to access the results from the other msql_ functions. A result identifier is a positive integer. The function returns @@ -4996,13 +4994,13 @@ function was called as @msql() then this error string will also be printed out. For mSQL 2.0, the $result variable will contain the number of rows affected by the SQL command performed. If you want your application to be - portable to mSQL 1.0, do not rely on this.
    + portable to mSQL 1.0, do not rely on this.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_close()
    +
    + msql_close()

    msql_Close closes the socket connection to the msql @@ -5011,8 +5009,8 @@ function was called as @msql() then this function does not take an argument.

    -
    - msql_connect($hostname)
    +
    + msql_connect($hostname)

    msql_Connect specifies the host name or IP on which the @@ -5026,91 +5024,91 @@ function isn't called, a connection to the local host is made msql_connect() is made in a file, then the connection to the first host is automatically closed. To explicitly connect to the msql daemon on the local host, use: - <?msql_connect("localhost")>
    + <?msql_connect("localhost")>
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_CreateDB($database)
    +
    + msql_CreateDB($database)
    -

    msql_CreateDB creates the given database.
    +

    msql_CreateDB creates the given database.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_dbName($result,$i)
    +
    + msql_dbName($result,$i)

    msql_dbName returns the database name stored in position $i of the result pointer returned from the msql_ListDbs() function. The msql_NumRows() function can be used to - determine how many database names are available.
    + determine how many database names are available.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_DropDB($database)
    +
    + msql_DropDB($database)

    msql_DropDB deletes the given mSQL database. Use this with - caution as all data in the database will be lost.
    + caution as all data in the database will be lost.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_FieldFlags($result,$i)
    +
    + msql_FieldFlags($result,$i)

    msql_FieldFlags returns the field flags of the specified field. Currently this is either, "not null", "primary key", a - combination of the two or "" (an empty string).
    + combination of the two or "" (an empty string).
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_FieldLen($result,$i)
    +
    + msql_FieldLen($result,$i)

    msql_FieldLen returns the length of the specified - field.
    + field.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_FieldName($result,$i)
    +
    + msql_FieldName($result,$i)

    msql_FieldName returns the name of the specified field. Arguments to the function is the result identifier and the - field index. ie. msql_FieldName($result,2); will + field index. ie. msql_FieldName($result,2); will return the name of the second field in the result associated - with the result identifier.
    + with the result identifier.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_FieldType($result,$i)
    +
    + msql_FieldType($result,$i)

    msql_FieldType is similar to the msql_FieldName() function. The arguments are identical, but the field type is - returned. This will be one of "int", "char" or "real".
    + returned. This will be one of "int", "char" or "real".
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_FreeResult($result)
    +
    + msql_FreeResult($result)

    msql_FreeResult only needs to be called if you are worried @@ -5119,26 +5117,26 @@ function. The arguments are identical, but the field type is finished. But, if you are sure you are not going to need the result data anymore in a script, you may call msql_freeresult with the result identifier as an argument and the associated - result memory will be freed.
    + result memory will be freed.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - $result = msql_ListDBs()
    +
    + $result = msql_ListDBs()

    msql_ListDBs will return a result pointer containing the databases available from the current mSQL daemon. Use the msql_dbName() function to traverse - this result pointer.
    + this result pointer.
    This function is only available if mSQL support has been enabled in PHP.

    -
    +
    $result = - msql_Listfields($database,$tablename)
    + msql_Listfields($database,$tablename)

    msql_listfields retrieves information about the the given @@ -5149,60 +5147,60 @@ function. The arguments are identical, but the field type is The function returns -1 if a error occurs. A string describing the error will be placed in $phperrmsg, and unless the function was called as @msql() then this error string - will also be printed out.
    + will also be printed out.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - $result = msql_ListTables($database)
    +
    + $result = msql_ListTables($database)

    msql_ListTables takes a database name and result pointer much like the msql() function. The msql_TableName() function should be used to extract the actual table names from the - result pointer.
    + result pointer.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_NumFields($result)
    +
    + msql_NumFields($result)

    msql_NumFields returns the number of fields in a result. The argument is the result identifier returned by the msql() - function.
    + function.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_NumRows($result)
    +
    + msql_NumRows($result)

    msql_NumRows simply returns the number of rows in a result. The argument is the result identifier returned by the - msql() function.
    + msql() function.
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_RegCase(string)
    +
    + msql_RegCase(string)

    msql_RegCase takes a string argument and converts it to the regular expression needed to send to mSQL in order to get a case insensitive match. This turns a string like "abc" into - "[Aa][Bb][Cc]".
    + "[Aa][Bb][Cc]".
    This function is only available if mSQL support has been enabled in PHP.

    -
    - msql_Result($result,$i,field)
    +
    + msql_Result($result,$i,field)

    msql_Result displays a field from a returned record. @@ -5214,7 +5212,7 @@ function is perhaps best illustrated with a complete example:

         <?
    -      $name = "bob";  
    +      $name = "bob";
           $result = msql($database,"select * from table where firstname='$name'");
           $num = msql_numrows($result);
           echo "$num records found!<p>";
    @@ -5246,8 +5244,8 @@ function is perhaps best illustrated with a complete
           enabled in PHP.

    -
    - msql_TableName($result,$i)
    +
    + msql_TableName($result,$i)

    msql_TableName takes a result pointer returned by the @@ -5267,18 +5265,18 @@ function is perhaps best illustrated with a complete $i++; endwhile; > -
    +
    This function is only available if mSQL support has been enabled in PHP.

    -
    $result = - mysql($database,$query)
    +
    $result = + mysql($database,$query)

    mysql sends a mysql query. Arguments are the database name - and the query string. ie. <?mysql("MyDatabase" - , "select * from table")>. The return value + and the query string. ie. <?mysql("MyDatabase" + , "select * from table")>. The return value from this function is a result identifier to be used to access the results from the other mysql_ functions. A result identifier is a positive integer. The function returns @@ -5289,31 +5287,31 @@ function is perhaps best illustrated with a complete -1 if an error occurs. A string describing the error will be placed in $phperrmsg, and unless the function was called as @mysql() then this - error string will also be printed out.
    + error string will also be printed out.
    This function is only available if mysql support has been enabled in PHP.

    - mysql_affected_rows()
    + "mysql_affected_rows"> + mysql_affected_rows()

    mysql_affected_rows() returns number of rows affected by the last INSERT, UPDATE or DELETE query.

    -
    - mysql_close()
    +
    + mysql_close()

    mysql_Close closes the socket connection to the mysql daemon, if an open connection exists.

    -
    +
    mysql_connect($hostname [,username - [,password]])
    + [,password]])

    mysql_Connect specifies the host name or IP on which the @@ -5335,91 +5333,91 @@ function. And, there is no need for an mysql_close function

    To explicitly connect to the mysql daemon on the local host, use: - <?mysql_connect("localhost")>
    + <?mysql_connect("localhost")>
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_CreateDB($database)
    +
    + mysql_CreateDB($database)
    -

    mysql_CreateDB creates the given database.
    +

    mysql_CreateDB creates the given database.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_dbName($result,$i)
    +
    + mysql_dbName($result,$i)

    mysql_dbName returns the database name stored in position $i of the result pointer returned from the mysql_ListDbs() function. The mysql_NumRows() function can be used to - determine how many database names are available.
    + determine how many database names are available.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_DropDB($database)
    +
    + mysql_DropDB($database)

    mysql_DropDB deletes the given mysql database. Use this - with caution as all data in the database will be lost.
    + with caution as all data in the database will be lost.
    This function is only available if mysql support has been enabled in PHP.

    mysql_FieldFlags($result,$i)
    + "mysql_fieldflags">mysql_FieldFlags($result,$i)

    mysql_FieldFlags returns the field flags of the specified field. Currently this is either, "not null", "primary key", a - combination of the two or "" (an empty string).
    + combination of the two or "" (an empty string).
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_FieldLen($result,$i)
    +
    + mysql_FieldLen($result,$i)

    mysql_FieldLen returns the length of the specified - field.
    + field.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_FieldName($result,$i)
    +
    + mysql_FieldName($result,$i)

    mysql_FieldName returns the name of the specified field. Arguments to the function is the result identifier and the - field index. ie. mysql_FieldName($result,2); will + field index. ie. mysql_FieldName($result,2); will return the name of the second field in the result associated - with the result identifier.
    + with the result identifier.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_FieldType($result,$i)
    +
    + mysql_FieldType($result,$i)

    mysql_FieldType is similar to the mysql_FieldName() function. The arguments are identical, but the field type is - returned. This will be one of "int", "char" or "real".
    + returned. This will be one of "int", "char" or "real".
    This function is only available if mysql support has been enabled in PHP.

    mysql_FreeResult($result)
    + "mysql_freeresult">mysql_FreeResult($result)

    mysql_FreeResult only needs to be called if you are @@ -5429,13 +5427,13 @@ function. The arguments are identical, but the field type is going to need the result data anymore in a script, you may call mysql_freeresult with the result identifier as an argument and the associated result memory will be - freed.
    + freed.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_insert_id()
    +
    + mysql_insert_id()

    mysql_insert_id() returns the ID generated for an @@ -5444,21 +5442,21 @@ function. The arguments are identical, but the field type is query performed.

    -
    - $result = mysql_ListDBs()
    +
    + $result = mysql_ListDBs()

    mysql_ListDBs will return a result pointer containing the databases available from the current mysql daemon. Use the mysql_dbName() function to - traverse this result pointer.
    + traverse this result pointer.
    This function is only available if mysql support has been enabled in PHP.

    $result = - mysql_Listfields($database,$tablename)
    + "mysql_listfields">$result = + mysql_Listfields($database,$tablename)

    mysql_listfields retrieves information about the the given @@ -5469,49 +5467,49 @@ function. The arguments are identical, but the field type is The function returns -1 if a error occurs. A string describing the error will be placed in $phperrmsg, and unless the function was called as @mysql() then this error string - will also be printed out.
    + will also be printed out.
    This function is only available if mysql support has been enabled in PHP.

    $result = - mysql_ListTables($database)
    + "mysql_listtables">$result = + mysql_ListTables($database)

    mysql_ListTables takes a database name and result pointer much like the mysql() function. The mysql_TableName() function should be used to extract the actual table names from the - result pointer.
    + result pointer.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_NumFields($result)
    +
    + mysql_NumFields($result)

    mysql_NumFields returns the number of fields in a result. The argument is the result identifier returned by the mysql() - function.
    + function.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_NumRows($result)
    +
    + mysql_NumRows($result)

    mysql_NumRows simply returns the number of rows in a result. The argument is the result identifier returned by the - mysql() function.
    + mysql() function.
    This function is only available if mysql support has been enabled in PHP.

    -
    - mysql_Result($result,$i,field)
    +
    + mysql_Result($result,$i,field)

    mysql_Result displays a field from a returned record. @@ -5525,7 +5523,7 @@ functions that can act on the result data. These functions best illustrated with a complete example:

         <?
    -      $name = "bob";  
    +      $name = "bob";
           $result = mysql($database,"select * from table where firstname='$name'");
           $num = mysql_numrows($result);
           echo "$num records found!<p>";
    @@ -5561,8 +5559,8 @@ functions that can be applied to the result data, see your
           enabled in PHP.

    -
    - mysql_TableName($result,$i)
    +
    + mysql_TableName($result,$i)

    mysql_TableName takes a result pointer returned by the @@ -5582,13 +5580,13 @@ functions that can be applied to the result data, see your $i++; endwhile; > -
    +
    This function is only available if mysql support has been enabled in PHP.

    -
    +

    Next moves the internal array pointer to the next item in @@ -5612,16 +5610,16 @@ function returns the value of the new item. This function can

    -
    - OctDec(octal_number)
    +
    + OctDec(octal_number)

    OctDec converts an octal number to a decimal number. See also DecOct().

    -
    - openDir(directory)
    +
    + openDir(directory)

    openDir opens the specified directory and places an @@ -5631,8 +5629,8 @@ function, and an opened directory should be closed with the closeDir function.

    -
    - OpenLog(ident,options,facility)
    +
    + OpenLog(ident,options,facility)

    OpenLog() initializes the system for further Syslog() @@ -5642,34 +5640,34 @@ function, and an opened directory should be closed with the "#closelog">CloseLog().

    -
    +
    Ora_Bind(cursor_ind, php_variable_name, sql_variable_name, - size)
    + size)
    Ora_Bind() performs binding of PHP variables with Oracle - ones.
    -
    - Function parameters are:
    + ones.
    +
    + Function parameters are:
    cursor_id - oracle cursor id for _parsed_ SQL - query or PL/SQL block;
    + query or PL/SQL block;
    php_variable_name - variable name in PHP script - without leading '$'
    + without leading '$'
    sql_variable_name - variable name in SQL with - leading colon
    + leading colon
    size - maximal number of bytes to be taken into - account at binding
    -
    - Notes:
    + account at binding
    +
    + Notes:
    1) PHP variable SHOULD be initialised with at least size bytes length string even it is return-only - variable.
    + variable.
    2) Ora_Bind() SHOULD be used after Ora_Parse and before Ora_Exec. In case of re-parsing the SQL sentence, all - used variables have to be re-bound.
    -
    - Ora_Bind() returns 0 upon success, -1 upon failure.
    + used variables have to be re-bound.
    +
    + Ora_Bind() returns 0 upon success, -1 upon failure.

    There is an example of Ora_Bind() usage:

    @@ -5679,39 +5677,39 @@ function, and an opened directory should be closed with the
     
             /* This is the SQL query. */
             $query = "SELECT * FROM my_table where my_index = :indiana";
    -        
    +
             ........
     
             if (Ora_Parse($cursor, $query) < 0) {
                 echo("Parse failed!\n"
                 Ora_Logoff($conn);
                 exit;
    -        } 
    +        }
     
             if (Ora_Bind($cursor, "rc", ":indiana", strlen($rc)) < 0) {
                 echo("Binding failed!\n"
                 Ora_Logoff($conn);
                 exit;
    -        } 
    +        }
     
             /* Execute the SQL statement associated with $cursor and
             prepare storage for select-list items. */
             $ncols = Ora_Exec($cursor);
    -        
    +
             ......
     
     
    -
    - Ora_Close(conn_ind)
    +
    + Ora_Close(conn_ind)
    Ora_Close() closes the Oracle connection identified by conn_ind. Returns 0 upon success, -1 upon failure.
    -
    - Ora_Commit(conn_ind)
    +
    + Ora_Commit(conn_ind)
    Commits the current transaction on conn_ind. The current transaction starts from the -
    - Ora_CommitOff(conn_ind)
    +
    + Ora_CommitOff(conn_ind)
    Ora_CommitOff() turns off autocommit (automatic commit of every SQL data manipulation statement) on the Oracle connection conn_ind.
    -
    - Ora_CommitOn(conn_ind)
    +
    + Ora_CommitOn(conn_ind)
    Ora_CommitOff() turns on autocommit (automatic commit of every SQL data manipulation statement) on the Oracle connection conn_ind.
    -
    - Ora_Exec(cursor_ind)
    +
    + Ora_Exec(cursor_ind)
    Ora_Exec() executes the SQL statement associated with cursor_ind and prepares storage for select-list items. The return value is the number of columns for selects, or -1 on error.
    -
    - Ora_Fetch(cursor_ind)
    +
    + Ora_Fetch(cursor_ind)
    Ora_Fetch() retrieves a row from the database. Returns 1 if a column was retrieved, 0 if there are no more columns to retrieve or -1 on error.
    -
    - Ora_GetColumn(cursor_ind, column)
    +
    + Ora_GetColumn(cursor_ind, column)
    Ora_GetColumn() fetches data for a single column in a returned row. Ora_Fetch() must have been called prior to Ora_GetColumn().
    -
    - Ora_Logoff(conn_ind)
    +
    + Ora_Logoff(conn_ind)
    Ora_Logoff() disconnects the logon data area belonging to conn_ind and frees used Oracle resources.
    -
    - Ora_Logon(userid, password)
    +
    + Ora_Logon(userid, password)
    Ora_Logon() establishes a connection between PHP and an Oracle database with the given user id and password. Returns 0 on success and -1 on failure.
    -
    - Ora_Open(conn_ind)
    +
    + Ora_Open(conn_ind)
    Ora_Open() opens a cursor in Oracle that maintains state information about the processing of a SQL statement. Returns a cursor index or -1 on error.
    -
    +
    Ora_Parse(cursor_ind, sql_statement [, - defer])
    + defer])
    Ora_Parse() parses a SQL statement or PL/SQL block and associates it with a cursor. An optional third argument can be set to 1 to defer the parse. Returns 0 on success or -1 on error.
    -
    - Ora_Rollback(cursor_ind)
    +
    + Ora_Rollback(cursor_ind)
    Ora_Rollback() rolls back the current transaction. See Ora_Commit() for a definition of the current transaction.
    -
    - Ord(arg)
    +
    + Ord(arg)

    Ord returns the ASCII value of the first character of arg.

    -
    - Parse_Str(arg)
    +
    + Parse_Str(arg)

    Parse_str takes a string identical to a regular URL - encoded string and extracts variables and their values.
    + encoded string and extracts variables and their values.
    ex.

         <? parse_str("a[]=hello+world&a[]=second+variable");
    @@ -5822,8 +5820,8 @@ function, and an opened directory should be closed with the
     
    -
    - PassThru(command_string [,return_var])
    +
    + PassThru(command_string [,return_var])

    The PassThru() function is similar to the

    -
    - pclose(fp)
    +
    + pclose(fp)

    Pclose closes a pipe opened using the popen() function.

    -
    - pg_Close(connection_id)
    +
    + pg_Close(connection_id)

    pg_Close will close down the connection to a Postgres @@ -5859,9 +5857,9 @@ function, and an opened directory should be closed with the been enabled in PHP.

    -
    +
    $connection = pg_Connect(host, port, options, tty, - dbname)
    + dbname)

    pg_Connect opens a connection to a Postgres database. Each @@ -5876,8 +5874,8 @@ function, and an opened directory should be closed with the been enabled in PHP.

    -
    - pg_DBname(connection_id)
    +
    + pg_DBname(connection_id)

    pg_DBname will return the name of the database that the @@ -5887,8 +5885,8 @@ function, and an opened directory should be closed with the been enabled in PHP.

    -
    - pg_ErrorMessage(connection_id)
    +
    + pg_ErrorMessage(connection_id)

    If an error occured on the last database action for which @@ -5900,8 +5898,8 @@ function, and an opened directory should be closed with the been enabled in PHP.

    -
    $result = - pg_Exec(connection_id, query_string)
    +
    $result = + pg_Exec(connection_id, query_string)

    pg_Exec will send an SQL statement to the Postgres @@ -5919,8 +5917,8 @@ function will return 0 on error. It will been enabled in PHP.

    -
    - pg_FieldName(result_id, field_number)
    +
    + pg_FieldName(result_id, field_number)

    pg_FieldName will return the name of the field occupying @@ -5931,9 +5929,9 @@ function will return 0 on error. It will been enabled in PHP.

    -
    +
    pg_FieldPrtLen(result_id, row_number, - field_name)
    + field_name)

    pg_FieldPrtLen will return the actual printed length @@ -5945,8 +5943,8 @@ function will return 0 on error. It will been enabled in PHP.

    -
    - pg_FieldNum(result_id, field_name)
    +
    + pg_FieldNum(result_id, field_name)

    pg_FieldNum will return the number of the column slot that @@ -5958,8 +5956,8 @@ function will return 0 on error. It will been enabled in PHP.

    -
    - pg_FieldSize(result_id, field_name)
    +
    + pg_FieldSize(result_id, field_name)

    pg_FieldSize will return the internal storage size (in @@ -5971,8 +5969,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_FieldType(result_id, field_number)
    +
    + pg_FieldType(result_id, field_number)

    pg_FieldType will return a string containing the type name @@ -5983,8 +5981,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_FreeResult(result_id)
    +
    + pg_FreeResult(result_id)

    pg_FreeResult only needs to be called if you are worried @@ -5999,8 +5997,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_GetLastOid()
    +
    + pg_GetLastOid()

    pg_GetLastOid can be used to retrieve the Oid assigned to @@ -6014,8 +6012,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_Host(connection_id)
    +
    + pg_Host(connection_id)

    pg_Host will return the host name the the given Postgres @@ -6025,8 +6023,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_NumFields(result_id)
    +
    + pg_NumFields(result_id)

    pg_NumFields will return the number of fields (columns) in @@ -6038,8 +6036,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_NumRows(result_id)
    +
    + pg_NumRows(result_id)

    pg_NumRows will return the number of rows in a Postgres @@ -6051,8 +6049,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_Options(connection_id)
    +
    + pg_Options(connection_id)

    pg_Options will return a string containing the options @@ -6062,8 +6060,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_Port(connection_id)
    +
    + pg_Port(connection_id)

    pg_Port will return the port number that the given @@ -6073,9 +6071,9 @@ function will return -1 on error.

    been enabled in PHP.

    -
    +
    pg_Result(result_id, row_number, field - name/index)
    + name/index)

    pg_Result will return values from a result identifier @@ -6100,8 +6098,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - pg_tty(connection_id)
    +
    + pg_tty(connection_id)

    pg_tty will return the tty name that server side debugging @@ -6112,8 +6110,8 @@ function will return -1 on error.

    been enabled in PHP.

    -
    - phpInfo()
    +
    + phpInfo()

    phpInfo prints the same page you get when adding "?info" @@ -6123,16 +6121,16 @@ function will return -1 on error.

    internal data.

    -
    - phpVersion()
    +
    + phpVersion()

    phpVersion returns the version number of PHP/FI currently running.

    -
    fp = - popen(command,mode)
    +
    fp = + popen(command,mode)

    Popen opens a pipe to a command and returns a file pointer @@ -6145,8 +6143,8 @@ function will return -1 on error.

    the pclose() function.

    -
    - pos(var)
    +
    + pos(var)

    The Pos() function returns the numerical position of an @@ -6155,16 +6153,16 @@ function will return -1 on error.

    handy.

    -
    - pow(x,y)
    +
    + pow(x,y)

    Evaluates x raised to the power of y. See also Exp()

    -
    +

    Prev moves the internal array pointer for the given @@ -6177,8 +6175,8 @@ function is useful for traversing an associative array in "#next">Next().

    -
    - PutEnv(string)
    +
    + PutEnv(string)

    PutEnv puts the given string in the environment. Not @@ -6190,8 +6188,8 @@ function is useful for traversing an associative array in to switch back and forth between the different sockets.

    -
    - QuoteMeta(arg)
    +
    + QuoteMeta(arg)

    QuoteMeta returns a string composed of arg with any @@ -6199,8 +6197,8 @@ function is useful for traversing an associative array in backslash.

    -
    - Rand()
    +
    + Rand()

    Rand returns a random number between 0 and RANDMAX. @@ -6213,8 +6211,8 @@ function is useful for traversing an associative array in result.

    -
    - readDir()
    +
    + readDir()

    readDir reads the next entry from the currently open @@ -6225,8 +6223,8 @@ function is useful for traversing an associative array in directory before calling this function.

    -
    - ReadFile(filename)
    +
    + ReadFile(filename)

    $size = ReadFile(Filename) - Reads the file filename and @@ -6238,24 +6236,24 @@ function is useful for traversing an associative array in ReadFile is more efficient.

    -
    - ReadLink(path)
    +
    + ReadLink(path)
    ReadLink does the same as the readlink C function and returns the contents of the symbolic link path or -1 in case of error. See also LinkInfo.
    -
    - reg_Match(expr,arg[,regs])
    +
    + reg_Match(expr,arg[,regs])

    This function has been replaced by the ereg() function. It is however still available - for backwards compatibility.
    + for backwards compatibility.
    reg_Match returns non-zero if the regular expression is matched in the argument string. For example, the condition, - <?if (reg_match("^This.*", "This is an example - string")> would be true since the "^This.*" + <?if (reg_match("^This.*", "This is an example + string")> would be true since the "^This.*" expression says to match the word This at the beginning of the string and then match any characters afterwards. If the regs argument is present, then @@ -6266,17 +6264,17 @@ function is useful for traversing an associative array in expression section of this document.

    -
    - reg_replace(expr,replace,arg)
    +
    + reg_replace(expr,replace,arg)

    This function has been replaced by the ereg_replace() function. It is however - still available for backwards compatibility.
    + still available for backwards compatibility.
    reg_Replace scans the entire argument string and replaces any portions of the string matched by the given expression with - the replacement string. For example, in the string, "This - is an example string" we could very easily replace every + the replacement string. For example, in the string, "This + is an example string" we could very easily replace every space with a dash with the command: reg_replace(" ","-","This is an example string").For more information on regular expressions, see the

    -
    - reg_Search(expr,arg[,regs])
    +
    + reg_Search(expr,arg[,regs])

    This function has been replaced by the ereg() function. It is however still available - for backwards compatibility.
    + for backwards compatibility.
    reg_Search will scan the entire argument string for any matches to the given regular expression. If a match is found, it will return the portion of the string starting at where @@ -6303,16 +6301,16 @@ function is useful for traversing an associative array in expression section of this document.

    -
    - Rename(old,new)
    +
    + Rename(old,new)

    Rename filename old to new. Similar to the Unix C rename() function.

    -
    - Reset(variable)
    +
    + Reset(variable)

    Reset moves the internal array pointer for the given array @@ -6333,8 +6331,8 @@ function.

    -
    - return(value)
    +
    + return(value)

    Return exits the current function call and returns the @@ -6343,8 +6341,8 @@ function.

    information.

    -
    - rewind($fd)
    +
    + rewind($fd)

    rewind() resets a file pointer identified by the $fd @@ -6354,8 +6352,8 @@ function.

    "#ftell">ftell() and fseek().

    -
    - rewindDir()
    +
    + rewindDir()

    rewindDir moves the current directory pointer back to the @@ -6364,8 +6362,8 @@ function.

    calling this function.

    -
    - RmDir(dir)
    +
    + RmDir(dir)

    RmDir() removes the given directory. See the files.

    -
    - SetCookie(name,value,expire,path,domain,secure)
    +
    + SetCookie(name,value,expire,path,domain,secure)

    SetCookie() defines a cookie to be sent along with the @@ -6405,8 +6403,8 @@ function.

    - SetErrorReporting(arg)
    + "seterrorreporting"> + SetErrorReporting(arg)

    SetErrorReporting sets the current error reporting state @@ -6419,8 +6417,8 @@ functions with a '@' character. See the section on

    -
    - SetLogging(arg)
    +
    + SetLogging(arg)

    SetLogging() either enables or disables the logging of @@ -6428,8 +6426,8 @@ functions with a '@' character. See the section on

    -
    - SetShowInfo(arg)
    +
    + SetShowInfo(arg)

    SetShowInfo() either enables or disables the information @@ -6438,8 +6436,8 @@ functions with a '@' character. See the section on

    -
    - SetType(variable,type)
    +
    + SetType(variable,type)

    SetType sets the type of a variable. The type argument is @@ -6447,30 +6445,30 @@ functions with a '@' character. See the section on GetType() function.

    -
    - shl(n,b)
    +
    + shl(n,b)

    Shift the value n left b bits.

    -
    - shr(n,b)
    +
    + shr(n,b)

    Shift the value n right b bits.

    -
    - Sin(arg)
    +
    + Sin(arg)

    Sin returns the sine of arg in radians. See also Cos() and Tan()

    -
    - Sleep(secs)
    +
    + Sleep(secs)

    Sleep will delay for secs seconds. Similar to the Unix C @@ -6478,8 +6476,8 @@ functions with a '@' character. See the section on

    -
    - Solid_Close(connection_id)
    +
    + Solid_Close(connection_id)

    Solid_Close will close down the connection to the Solid @@ -6489,9 +6487,9 @@ function.

    enabled in PHP.

    -
    +
    $connection = Solid_Connect(data source name, username, - password)
    + password)

    Solid_Connect opens a connection to a Solid server. Each @@ -6507,9 +6505,9 @@ function.

    enabled in PHP.

    -
    +
    $result = Solid_Exec(connection_id, - query_string)
    + query_string)

    Solid_Exec will send an SQL statement to the Solid server @@ -6527,8 +6525,8 @@ function.

    enabled in PHP.

    -
    - Solid_FetchRow(result_id)
    +
    + Solid_FetchRow(result_id)

    Solid_FetchRow fetches a row of the data that was returned @@ -6545,8 +6543,8 @@ function.

    enabled in PHP.

    -
    - Solid_FieldName(result_id, field_number)
    +
    + Solid_FieldName(result_id, field_number)

    Solid_FieldName will return the name of the field @@ -6557,8 +6555,8 @@ function.

    enabled in PHP.

    -
    - Solid_FieldNum(result_id, field_name)
    +
    + Solid_FieldNum(result_id, field_name)

    Solid_FieldNum will return the number of the column slot @@ -6571,7 +6569,7 @@ function.

    Solid_FreeResult(result_id)
    + "solid_freeresult">Solid_FreeResult(result_id)

    Solid_FreeResult only needs to be called if you are @@ -6586,8 +6584,8 @@ function.

    enabled in PHP.

    -
    - Solid_NumFields(result_id)
    +
    + Solid_NumFields(result_id)

    Solid_NumFields will return the number of fields (columns) @@ -6599,8 +6597,8 @@ function.

    enabled in PHP.

    -
    - Solid_NumRows(result_id)
    +
    + Solid_NumRows(result_id)

    Solid_NumRows will return the number of rows in a Solid @@ -6640,8 +6638,8 @@ function.

    enabled in PHP.

    -
    - Solid_Result(result_id, field name/index)
    +
    + Solid_Result(result_id, field name/index)

    Solid_Result will return values from a result identifier @@ -6654,8 +6652,8 @@ function.

    enabled in PHP.

    -
    - Sort(array)
    +
    + Sort(array)

    Sort is used to sort a PHP array in ascending order. To @@ -6669,8 +6667,8 @@ function.

    "#asort">ASort() function.

    -
    - Soundex(string)
    +
    + Soundex(string)

    This function takes a string argument and returns the @@ -6679,10 +6677,10 @@ function.

    and can thus be used to simplify searches in databases where you know the pronunciation but not the spelling. This soundex function returns a string 4 characters long, starting with a - letter.
    + letter.
    This particular soundex function is one described by Donald Knuth in "The Art Of Computer Programming, vol. 3: Sorting - And Searching", Addison-Wesley (1973), pp. 391-392.
    + And Searching", Addison-Wesley (1973), pp. 391-392.
    Example:

        Euler and Ellery map to E460
    @@ -6691,12 +6689,12 @@ function returns a string 4 characters long, starting with a
        Knuth and Kant map to K530
        Lloyd and Ladd map to L300
        Lukasiewicz and Lissajous map to L222
    -     
    +
     
    -
    - Sprintf(format,arg [,arg,arg,arg,arg])
    +
    + Sprintf(format,arg [,arg,arg,arg,arg])

    Sprintf returns the string created by the formatted output @@ -6713,15 +6711,15 @@ function returns a string 4 characters long, starting with a in the format string.

    -
    - Sqrt(arg)
    +
    + Sqrt(arg)

    Sqrt returns the square root of arg.

    -
    - Srand(integer)
    +
    + Srand(integer)

    Srand seeds the random number generator. This function @@ -6736,8 +6734,8 @@ function does not return a value! This function simply

    -
    - strchr(string,arg)
    +
    + strchr(string,arg)

    strchr and strstr are actually @@ -6745,13 +6743,13 @@ function does not return a value! This function simply both are included for completeness sake. They will return the portion of the string argument starting at the point where the given sub-string is found. For example, in the string, - "This is an example string" above, the call: <?echo - strchr($string,"an ")> would return the string: - "an example string".

    + "This is an example string" above, the call: <?echo + strchr($string,"an ")> would return the string: + "an example string".

    -
    - strtr(input,set1,set2)
    +
    + strtr(input,set1,set2)
    strtr() translates each character of "string" that is in "set1" to the corresponding character in "set2". Characters not @@ -6761,23 +6759,23 @@ function does not return a value! This function simply one of "set1" or "set2" is longer, longer "set?" is truncated to length of shorter "set?".
    -
    - StripSlashes(arg)
    +
    + StripSlashes(arg)

    StripSlashes unescapes the string argument. See also AddSlashes().

    -
    - strlen(string)
    +
    + strlen(string)

    strlen returns the length of the string.

    -
    - strrchr(string,arg)
    +
    + strrchr(string,arg)

    strrchr will search for a single character starting at the @@ -6786,8 +6784,8 @@ function does not return a value! This function simply character was found and an empty string if it wasn't.

    -
    - strstr(string,arg)
    +
    + strstr(string,arg)

    strstr and strchr are actually @@ -6795,13 +6793,13 @@ function does not return a value! This function simply both are included for completeness sake. They will return the portion of the string argument starting at the point where the given sub-string is found. For example, in the string, - "This is an example string" above, the call: <?echo - strstr($string,"an ")> would return the string: - "an example string".

    + "This is an example string" above, the call: <?echo + strstr($string,"an ")> would return the string: + "an example string".

    -
    - strtok(string,arg)
    +
    + strtok(string,arg)

    strtok is used to tokenize a string. That is, if you have @@ -6830,24 +6828,24 @@ function does not return a value! This function simply characters in the argument are found.

    -
    - strtolower(string)
    +
    + strtolower(string)

    strtolower converts the string argument to all lower case characters.

    -
    - strtoupper(string)
    +
    + strtoupper(string)

    strtoupper converts the string argument to all upper case characters.

    -
    - strval(variable)
    +
    + strval(variable)

    strval returns the string value of the variable. See also @@ -6855,8 +6853,8 @@ function does not return a value! This function simply "#doubleval">doubleval() functions.

    -
    substr(string, - start, length)
    +
    substr(string, + start, length)

    substr returns a part of the given string. The start @@ -6867,16 +6865,16 @@ function does not return a value! This function simply

    - sybSQL_CheckConnect()
    + "sybsql_checkconnect"> + sybSQL_CheckConnect()

    This function returns 1 if the connection to the database has been established and 0 otherwise.

    -
    - sybSQL_DBuse(database)
    +
    + sybSQL_DBuse(database)

    This function issues a Sybase Transact-SQL use @@ -6887,8 +6885,8 @@ function is the name of the database to use. Example:

    The function returns 1 on success and 0 on failure.

    -
    - sybSQL_Connect()
    +
    + sybSQL_Connect()

    This function opens a network connection to the sybase @@ -6899,9 +6897,9 @@ function.

    The environment variables are:

    DSQUERY - the alias of the sybase server as defined - in the sybase interface file.
    + in the sybase interface file.
    DBUSER - connect to the sybase server as this - user.
    + user.
    DBPW - password of the user.

    These variables can be set in several ways. If php/fi is @@ -6917,8 +6915,8 @@ function.

    The function returns 1 on success and 0 on failure.

    -
    - sybSQL_Exit()
    +
    + sybSQL_Exit()

    This function forces a Sybase connection to be shut down. @@ -6928,7 +6926,7 @@ function is optional.

    sybSQL_Fieldname(index)
    + "sybsql_fieldname">sybSQL_Fieldname(index)

    This function returns the field name of a regular result @@ -6940,8 +6938,8 @@ function is optional.

    function returns an empty string ("").

    -
    - sybSQL_GetField(field)
    +
    + sybSQL_GetField(field)

    This function gets the value of a specific column of the @@ -6958,8 +6956,8 @@ function only reads the current row in the row buffer.

    string ("").

    -
    - sybSQL_IsRow()
    +
    + sybSQL_IsRow()

    This function indicates if the current SQL command @@ -6969,8 +6967,8 @@ function only reads the current row in the row buffer.

    rows and 0 if the command didn't return any rows.

    -
    - sybSQL_NextRow()
    +
    + sybSQL_NextRow()

    This function increments the row pointer to the next @@ -6982,7 +6980,7 @@ function only reads the current row in the row buffer.

    sybSQL_NumFields()
    + "sybsql_numfields">sybSQL_NumFields()

    This function returns the number of fields in a current @@ -6993,8 +6991,8 @@ function only reads the current row in the row buffer.

    0.

    -
    - sybSQL_NumRows()
    +
    + sybSQL_NumRows()

    This function returns the number of rows in the current @@ -7011,8 +7009,8 @@ function only reads the current row in the row buffer.

    will return 0.

    -
    - sybSQL_Query()
    +
    + sybSQL_Query()

    This function submits a Sybase SQL query request to the @@ -7024,8 +7022,8 @@ function only reads the current row in the row buffer.

    successfully and returns 0 if the request fails.

    -
    - sybSQL_Result(string)
    +
    + sybSQL_Result(string)

    This function prints specific fields of the current result @@ -7038,7 +7036,7 @@ function only reads the current row in the row buffer.

     <?
         /*
    -    ** assuming all the necessary variables for 
    +    ** assuming all the necessary variables for
         ** connection is already set. please note, NO error checking is
         ** done. You should always check return code of a function.
         */
    @@ -7075,8 +7073,8 @@ function only reads the current row in the row buffer.

    - sybSQL_Result_All()
    + "sybsql_result_all"> + sybSQL_Result_All()

    This function prints all rows in the current result @@ -7086,8 +7084,8 @@ function only reads the current row in the row buffer.

    there are any column headings in the output.

    -
    - sybSQL_Seek(row)
    +
    + sybSQL_Seek(row)

    This function sets the requested row number as the current @@ -7102,16 +7100,16 @@ function only reads the current row in the row buffer.

    function can be used for this purpose.

    -
    - Symlink(target,link)
    +
    + Symlink(target,link)

    Symlink() creates a symbolic link. See the Link() function to create hard links.

    -
    - Syslog(level,message)
    +
    + Syslog(level,message)

    Syslog() logs messages to the system using UNIX's @@ -7121,8 +7119,8 @@ function can be used for this purpose.

    "#closelog">CloseLog().

    -
    - System(command_string [,return_var])
    +
    + System(command_string [,return_var])

    System is just like the C system() command in @@ -7143,16 +7141,16 @@ function, then you should be using the Exec function.

    -
    - Tan(arg)
    +
    + Tan(arg)

    Sin returns the tangent of arg in radians. See also Sin() and Cos()

    -
    - TempNam(path, prefix)
    +
    + TempNam(path, prefix)

    TempNam returns a unique filename located in the directory @@ -7160,8 +7158,8 @@ function, then you should be using the

    -
    - Time()
    +
    + Time()

    Time simply returns the current local time in seconds @@ -7171,8 +7169,8 @@ function, then you should be using the Microtime function.

    -
    - Umask([mask])
    +
    + Umask([mask])

    Umask(mask) sets PHP's umask to mask & @@ -7184,8 +7182,8 @@ function, then you should be using the

    -
    - UniqId()
    +
    + UniqId()

    UniqId returns a prefixed unique identifier based on @@ -7196,8 +7194,8 @@ function, then you should be using the

    -
    - Unlink(filename)
    +
    + Unlink(filename)

    Unlink deletes the given filename. Similar to the Unix C @@ -7205,8 +7203,8 @@ function, then you should be using the

    -
    - UnSet($var)
    +
    + UnSet($var)

    UnSet undefines the given variable. In the case of an @@ -7214,8 +7212,8 @@ function for removing directories.

    may also be unset.

    -
    - UrlDecode(arg)
    +
    + UrlDecode(arg)

    UrlDecode decodes a string encoded with the included.

    -
    - UrlEncode(arg)
    +
    + UrlEncode(arg)

    UrlEncode encodes any characters from arg which are not @@ -7236,8 +7234,8 @@ function for removing directories.

    returned.

    -
    - USleep(microsecs)
    +
    + USleep(microsecs)

    Sleep will delay for the given number of microseconds. @@ -7245,8 +7243,8 @@ function for removing directories.

    Sleep() function.

    -
    - Virtual(filename)
    +
    + Virtual(filename)

    Virtual is an Apache-specific function which is equivalent @@ -7257,7 +7255,7 @@ function for removing directories.

    to use <?Include>.

    -
    +

    Adding your own internal functions to PHP/FI

    It may well be that the set of @@ -7322,9 +7320,9 @@ function to illustrate how to add a function.

    To do this, edit lex.c and find the hash table - near the top of the file. Look for the line, static - cmd_table_t cmd_table[22][30] = {, which defines the - beginning of the hash table. The [22][30] defines + near the top of the file. Look for the line, static + cmd_table_t cmd_table[22][30] = {, which defines the + beginning of the hash table. The [22][30] defines the size of the 2 dimensional array which holds the hash table. The 22 is one greater than the maximum function name length and the 30 refers to the maximum number of functions @@ -7388,7 +7386,7 @@ function to illustrate how to add a function.

    expression stack only accepts strings, so we sprintf the long integer into a string and push it onto the stack indicating that it is actually a long integer with the line: - Push(temp,LNUMBER);

    + Push(temp,LNUMBER);

    Step 4 - Add your function prototype to @@ -7493,7 +7491,7 @@ function in place of this NULL. The actual Crypt() function in Stack *s; char salt[8]; char *enc; - + salt[0] = '\0'; if(mode) { s = Pop(); @@ -7517,7 +7515,7 @@ function in place of this NULL. The actual Crypt() function in #if DEBUG Debug("Crypt returned [%s]\n",enc); #endif - Push(enc,STRING); + Push(enc,STRING); #else Error("No crypt support compiled into this version"); @@ -7574,7 +7572,7 @@ function in place of this NULL. The actual Crypt() function in

    The Debug() call in the Crypt() example shows how to add debugging output to your function. Debug() is a varags (variable argument list) function just like printf.

    -
    +

    Notes for Code-Hacks

    diff --git a/public/manual/spam_challenge.php b/public/manual/spam_challenge.php new file mode 100644 index 0000000000..15bf6a5dd7 --- /dev/null +++ b/public/manual/spam_challenge.php @@ -0,0 +1,66 @@ + $_REQUEST['id'], + "sect" => $_REQUEST['page'], + "vote" => $_REQUEST['vote'], + "ip" => $_SERVER['REMOTE_ADDR'], + ]; + if (($r = posttohost($master_url, $data)) === null || strpos($r,"failed to open socket to") !== false) { + $response["success"] = false; + $response["msg"] = "Could not process your request at this time. Please try again later..."; + } + else { + $r = json_decode($r); + if (isset($r->status, $r->votes) && $r->status) { + $response["success"] = true; + $response["update"] = (int)$r->votes; + } elseif (isset($r->status, $r->message) && !$r->status) { + $response["success"] = false; + $response["msg"] = $r->message; + } else { + $response["success"] = false; + $response["msg"] = "The server did not respond properly. Please try again later..."; + } + } + } + echo json_encode($response); + exit; + } + if (!empty($_REQUEST['id']) && !empty($_REQUEST['page']) && ($N = manual_notes_load($_REQUEST['page'])) && array_key_exists($_REQUEST['id'], $N) && !empty($_REQUEST['vote']) && ($_REQUEST['vote'] === 'up' || $_REQUEST['vote'] === 'down')) { + if (!empty($_POST['challenge']) && !empty($_POST['func']) || empty($_POST['arga']) || empty($_POST['argb'])) { + if (!test_answer($_POST['func'], $_POST['arga'], $_POST['argb'], $_POST['challenge'])) { + $error = "Incorrect answer! Please try again."; + } + else { + $hash = substr(md5($_REQUEST['page']), 0, 16); + $notes_file = ProjectGlobals::getBackendRoot(). "/notes/" . substr($hash, 0, 2) . "/$hash"; + if (file_exists($notes_file)) { + $data = [ + "noteid" => $_REQUEST['id'], + "sect" => $_REQUEST['page'], + "vote" => $_REQUEST['vote'], + "ip" => $_SERVER['REMOTE_ADDR'], + ]; + if (($r = posttohost($master_url, $data)) !== null && strpos($r,"failed to open socket to") === false) { + $r = json_decode($r); + if (isset($r->status, $r->votes) && $r->status) { + $thankyou = true; + } else { + $error = "Invalid request."; + } + } + else { + $error = "Invalid request."; + } + } + else { + $error = "Invalid request."; + } + } + } + else { + $error = "You did not answer the spam challenge question."; + } + } + else { + $error = "Invalid request."; + } +} +else { + // Site header + site_header("Vote On User Notes"); + $headerset = true; + + if (!empty($_REQUEST['id']) && !empty($_REQUEST['page']) && ($N = manual_notes_load($_REQUEST['page'])) && array_key_exists($_REQUEST['id'], $N) && !empty($_REQUEST['vote']) && ($_REQUEST['vote'] === 'up' || $_REQUEST['vote'] === 'down')) { +?> +
    +

    Voting

    +
    +
    +
    +

    : ?
    + (Example: nine)

    +

    +
    + + + +
    +
    +
    +

    The Note You're Voting On

    +
    + +
    + + +
    + +
    +

    + There was an error with your request! +

    +

    + $error +

    + +EOL; +if (!$headerset) { + site_header("Error - Voting"); + $headerset = true; +} +?> +
    +

    Voting

    +
    +
    +
    +

    : ?
    + (Example: nine)

    +

    +
    + + + +
    + +
    +
    + +

    The Note You're Voting On

    +
    + +
    + + +
    +

    Thanks for voting!

    +

    To go back to the user notes page click here.

    +
    + + +

    Menu

    + +

    Use the links below to browse the PHP.net website.

    + + + +More mirror sites +

    + Find more available mirrors on our mirror + sites page. +

    + +

    Mirroring PHP.net

    +

    + If you are interested in mirroring our website, you can + find more information and setup details on our + mirroring page. +

    +'; + +$MIRROR_IMAGE = ''; + +// Try to find a sponsor image in case this is an official mirror +if (is_official_mirror()) { + + // Iterate through possible mirror provider logo types in priority order + $types = ["gif", "jpg", "png"]; + foreach ($types as $ext) { + // Check if file exists for this type + if (file_exists("backend/mirror." . $ext)) { + + // Create image HTML code + $MIRROR_IMAGE = make_image( + 'mirror.' . $ext, + htmlspecialchars(mirror_provider()), + false, + false, + 'backend', + ); + + // Add size information depending on mirror type + if (is_primary_site()) { + $MIRROR_IMAGE = resize_image($MIRROR_IMAGE, 125, 125); + } else { + $MIRROR_IMAGE = resize_image($MIRROR_IMAGE, 120, 60); + } + + // We have found an image + break; + } + } +} +site_header("Information About This PHP Mirror Site", ["current" => "community"]); +?> + +

    Information About This PHP Mirror Site

    + +

    + Here you can get more information about this PHP Mirror site, as + well as some details about the provider. The information you find + here may be helpful in choosing your preferred mirror site for your + everyday work. Note that the PHP.net webmaster team is only capable + of tracking official mirror sites, and trying to ensure that those + provide the best service possible. +

    + +

    General Information

    + +
      +
    • This site is an official PHP.net mirror site
    • +
    • The mirror site's address is
    • +
    + + +

    Mirror Provider

    +
      +
    • +

      The provider of this mirror is

      + +

      + +
    • +
    + + +

    Mirror Services

    + +
      +
    • Default language is
    • +
    + +

    Mirror Status

    + +
      +
    • The site was last updated at
    • +
    + + diff --git a/public/mirroring-troubles.php b/public/mirroring-troubles.php new file mode 100644 index 0000000000..44128d505d --- /dev/null +++ b/public/mirroring-troubles.php @@ -0,0 +1,113 @@ +Other mirror information +

    + See also the instructions for setting up a mirror. +

    +'; + +site_header("The PHP mirrors problem and troubleshooting guide", ["current" => "help"]); +?> + +

    Common troubles that mirrors of PHP.net face

    +

    + Mirroring the PHP.net website requires a few specific settings and + considerations, and this document provides a list of problems with possible + solutions. The [?] link within each title may be used to + test this mirror. +

    + + +

    MultiViews are on [?]

    +

    + Because the 'Options' directive may be ignored in VirtualHost, a + solution is to move the MultiViews option into a specific + directory and disable it from there. For example: +

    +
    +  <VirtualHost *:80>
    +    <Directory /path/to/phpweb>
    +      Options -Indexes -MultiViews
    +    </Directory>
    +
    +    DocumentRoot /path/to/phpweb
    +    ServerName ....
    +    ....
    +  </VirtualHost>
    +
    +

    + The mirror settings example also + demonstrates this use. See also the Apache documentation that describes + + Content Negotiation. +

    + + +

    Improper Content-Type [?]

    +

    + Some pages are returning incorrect Content-Type headers. For example, + xx.php.net/manual/en/faq.html.php should be returning text/html + instead of application/x-httpd-php. See also the Apache + documentation describing + Content + Negotiation. This problem might be specific to + Russian Apache. +

    + + +

    Manual redirects [?]

    +

    + By default, Apache inserts an alias for /manual/ in the configuration + and this causes problems for mirrors. So for example if you find that + the manuals are listed on the documentation page but all of the links + open up a search page, you probably suffer from this problem and must + remove that alias. +

    + + +

    Broken manual shortcuts [?]

    +

    + If the shortcut features [e.g. xx.php.net/echo] are not working, be sure + the manual files are really under DOCUMENT_ROOT and that the English + manual files are present. Also make sure that you have a correct + ErrorDocument setting. +

    + + +

    Invalid data types [?]

    +

    + Invalid data is being received, and this is probably caused by improper error + handler settings. See the mirror guidelines + for how to setup the ErrorDocument. +

    + + +

    A misguided var handler [?]

    +

    + The mirroring guidelines mention that Apache2 + enables a 'var' handler by default and this may be disabled by using + RemoveHandler var in the configuration file. +

    + + +

    Mishandling of .msi files

    +

    + When improperly set, users are not given a "download this file" prompt + when attempting to download the PHP Installer (a .msi file). Your web + server configuration should be adjusted to force .msi files as + 'application/octet-stream'. In Apache this may be done by using: + AddType application/octet-stream .msi +

    + + +

    Unable to do external searches [?]

    +

    + Several searches require outbound connections to www.php.net, so this is + a test for that. The www.php.net box then connects to a third-party search engine. +

    + +Existing mirror sites +

    + Properly working mirror sites are listed on our + mirrors page. +

    +'; + +site_header( + 'Mirroring The PHP Website', + [ + 'current' => 'community', + 'layout_span' => 12, + ], +); + +?> +

    Mirroring The PHP Website

    + +

    + The PHP project does not have an official mirror program anymore, but you can + set up a mirror for your own network or company. +

    + +

    + You should not synchronize from our network more frequently + than once every six hours, or you may find your IP blocked. Also, please make + an effort to only mirror those parts of the site that you actually need. + (For example, exclude the manual in all languages that you + will not be using and exclude the distributions directory.) +

    + +

    Get Files With Rsync

    + +

    + First, you need to have a rsync + installed. + To synchronize your server with the appropriate rsync location, first view the coverage map + and identify which location your mirror should be using. Next, modify the + following code for use with your mirror. Replace YOUR_RRN_HOSTNAME + with your RRN's hostname as indicated by the coverage map and be sure to + change /your/local/path with the path to where your php.net + mirror will reside on the filesystem. +

    + +
    +    rsync -avzC --timeout=600 --delete --delete-after \
    +      --include='distributions/*.exe' \
    +      YOUR_RRN_HOSTNAME::phpweb /your/local/path
    +
    + + +

    + If you only want to mirror mirror one language of the manual? Add: +

    + +
    +    --include='manual/en/' --include='manual/en/**' --exclude='manual/**' --exclude='distributions/manual/**'
    +
    + +

    + after "--delete-after" in the command line above (substituting your + prefered language code in place of 'en'). You can also exclude the + whole distributions directory (and the related extra folder) by replacing + "--exclude='distributions/manual/**'" with + "--exclude='distributions/**' --exclude='extra/**'". +

    + +

    Add SQLite 3 Support

    + +

    + SQLite is an embedded + SQL database implementation that has very high performance for applications + with low write concurrency. PHP mirrors can currently employ SQLite for URL + shortcut lookups. +

    + +

    + There are a couple of SQLite 3 implementations in PHP. One is via the + PDO extension by using the SQLite driver (pdo_sqlite, which is required). + The other is via the SQLite3 extension. These extensions are both compiled + into PHP by default. Note: Some Linux distributions disable many extensions + in their package systems, including SQLite. Please make sure you install the + "php5-sqlite" (or similar) package if using such a system. +

    + +

    Setup Apache VirtualHost

    + +

    + Make sure your web server is set up to serve .php files as PHP + parsed files. If it isn't, add the MIME type to your config. +

    +

    + Please make sure you have turned off output compression for binary files. +

    + +

    + Create a VirtualHost entry, which looks something like: +

    + + +
    +<VirtualHost *-or-your-hostname-or-your-ip-here>
    +     <Directory /www/htdocs/phpweb>
    +          # Do not display directory listings if index is not present,
    +          # and do not try to match filenames if extension is omitted
    +          Options -Indexes -MultiViews
    +     </Directory>
    +
    +     ServerName mymirror.example.com
    +     ServerAdmin yourname@example.com
    +     UseCanonicalName On
    +
    +     # Webroot of PHP mirror site
    +     DocumentRoot /www/htdocs/phpweb
    +
    +     # Log server activity
    +     ErrorLog logs/error_log
    +     TransferLog logs/access_log
    +
    +     # Set directory index
    +     DirectoryIndex index.php index.html
    +
    +     # Handle errors with local error handler script
    +     ErrorDocument 401 /error.php
    +     ErrorDocument 403 /error.php
    +     ErrorDocument 404 /error.php
    +
    +     # Add types not specified by Apache by default
    +     AddType application/octet-stream .chm .bz2 .tgz .msi
    +     AddType application/x-pilot .prc .pdb
    +
    +     # Set mirror's preferred language here
    +     SetEnv MIRROR_LANGUAGE "en"
    +
    +     # Apache2 has 'AddHandler type-map var' enabled by default.
    +     # Remove the comment sign on the line below if you have it enabled.
    +     # RemoveHandler var
    +
    +     # Turn spelling support off (which would break URL shortcuts)
    +     <IfModule mod_speling.c>
    +       CheckSpelling Off
    +     </IfModule>
    +
    +     # A few recommended PHP directives
    +     php_flag display_errors off
    +
    +     # If you have Russian Apache with mod_charset installed,
    +     # do not forget to search for this line in your existing
    +     # configuration, and comment it out:
    +     # AddHandler strip-meta-http .htm .html
    +
    +</VirtualHost>
    +
    + +

    + When setting up the vhost, provide an asterisk, a hostname, or an IP + address in the VirtualHost container's header (depending on whether + you would like to make the vhost work for all IPs handled by Apache, + or just a specific hostname/IP address). Consult + the Apache + documentation for the differences of the two methods. +

    + +

    + Change the DocumentRoot setting as appropriate, + specify the mirror's preferred language, and provide settings according + to your stats setup, if your mirror is going to provide stats. For the + preferred language setting, choose one from those available as + manual translations. If you provide something else, your default + language will be English. After you restart Apache, your mirror + site should start working. +

    + +

    Setup Regular Updates

    + +

    + You must also set up a cron job that periodically does an rsync to + refresh your web directory. We prefer that all mirrors update from + the appropriate RRN from the coverage map not more than once an hour, to + speed up the distribution of updates to the site and available packages. + Something like: +

    + +
    +   5 * * * * rsync -avzC --timeout=600 --delete --delete-after --include='distributions/*.exe' YOUR_RRN_HOSTNAME::phpweb /your/local/path
    +
    + +

    + Remember to specify the same rsync parameters you used to get the + phpweb files as explained near the top of this page. + If you're unable to synchronize every five minutes, you may pick + your own update frequency, provided it does not exceed fifteen + minutes. +

    + +

    Mirror Setup Troubleshooting

    + +

    + The mirror troubleshooting guide + contains information about the common and potential problems discovered + when setting up and maintaining a mirror of PHP.net. Included are links that + can help demonstrate common configuration problems. +

    + + diff --git a/public/mirrors.php b/public/mirrors.php new file mode 100644 index 0000000000..c5a34f1456 --- /dev/null +++ b/public/mirrors.php @@ -0,0 +1,6 @@ + "community")); +site_header("Email confirmation", ["current" => "community"]); // Only run on main php.net box. -if ($MYSITE != "http://www.php.net/" && $MYSITE != 'http://php.net/') { +if (!is_primary_site()) { echo <<Email confirmation failed @@ -26,10 +24,10 @@ } // These sites are handled by automoderation -$sites = array("php.net", "lists.php.net"); +$sites = ["php.net", "lists.php.net"]; // Get data from the URL -list($none, $site, $token, $sender) = explode("/", $_SERVER["PATH_INFO"]); +[$none, $site, $token, $sender] = explode("/", $_SERVER["PATH_INFO"]); // Error in input data if ($sender == "" || strlen($token) < 32 || !isset($sites[$site])) { @@ -49,13 +47,13 @@ "confirm@" . $sites[$site], "confirm", "[confirm: $token $sender]", - "From: $sender" + "From: $sender", ); echo <<Email confirmation successful -

    +

    Thanks for confirming your email address. No further action is required on your part.

    diff --git a/public/my.php b/public/my.php new file mode 100644 index 0000000000..7568ddc1e8 --- /dev/null +++ b/public/my.php @@ -0,0 +1,189 @@ +languageCode = $_POST['my_lang']; + + // Add this as first option, selected + $options[] = '\n"; + + // Remove, so it is not listed two times + unset($langs[$_POST['my_lang']]); +} + +// We have received a cookie and it is an available language +elseif (isset($langs[$userPreferences->languageCode])) { + + // Add this as first option, selected + $options[] = '\n"; + + // Remove, so it is not listed two times + unset($langs[$userPreferences->languageCode]); +} + +// We have no cookie and no form submitted +else { + // Add this as first option, selected + $options[] = "\n"; +} + +// Add all other languages +foreach ($langs as $code => $name) { + $options[] = '\n"; +} + +// Assemble form from collected data +$langpref = "\n"; + +// Save URL shortcut fallback setting +if (isset($_POST['urlsearch'])) { + $userPreferences->setUrlSearchType($_POST['urlsearch']); +} + +if (isset($_POST["showug"])) { + $userPreferences->setIsUserGroupTipsEnabled($_POST["showug"] === "enable"); +} + +// Prepare mirror array +$mirror_sites = $MIRRORS; +$mirror_sites["NONE"] = [7 => MIRROR_OK]; + +$userPreferences->save(); + +site_header("My PHP.net", ["current" => "community"]); +?> + +
    +

    My PHP.net

    + +

    + This page allows you to customize the PHP.net site. +

    + + +

    + This is not an official PHP.net mirror site, and therefore the settings + you set and see here will not be effective on any + official PHP.net mirror site. The settings you specify here are only + going to be active for this URL, and only if you have cookies enabled. +

    + +

    + These settings are cookie-based and will work on all official PHP.net + mirror sites. +

    + + +

    Preferred language

    + +

    + If you use a shortcut or search for a function, the language used + is determined by checking for the following settings. The list is + in priority order, the first is the most important. Normally you don't + need to set your preferred language, as your browser's language preferences + are detected automatically using the Accept-Language header. +

    + +
    + +Your preferred language" => + $langpref, + + "Your Accept-Language browser setting" => + (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? htmlentities($_SERVER['HTTP_ACCEPT_LANGUAGE'], ENT_QUOTES | ENT_IGNORE, 'UTF-8') : "None"), + + "The mirror's default language" => + default_language(), + + "Default" => "en", +]; + +// Write a row for all settings +foreach ($langinfo as $lin => $lid) { + echo " \n \n"; + echo " \n \n"; +} + +?> +
    " . $lin . "" . $lid . "
    +
    + +

    + These settings are only overridden in case you have passed a language + setting URL parameter or POST data to a page or you are viewing a manual + page in a particular language. In these cases, the explicit specification + overrides the language selected from the above list. +

    + +

    + The language setting is honored when you use a + URL shortcut, when you start + a function list search on a non-manual page, when you visit + the manual download or + language selection pages, etc. +

    + +

    URL search fallback

    + +

    + When you try to access a PHP.net page via a URL shortcut, and + the site is unable to find that particular page, it falls back + to a documentation search, or a function list lookup, depending on + your choice. The default is a function list lookup, as most of + the URL shortcut users try to access function documentation pages. +

    + +
    + Your setting: searchType; +if ($type === UserPreferences::URL_NONE || $type === UserPreferences::URL_FUNC) { + echo ' checked="checked"'; +} +echo '> +> +
    + +
    +

    User Group tips

    + +

    +We are experimenting with listing nearby user groups. This feature is highly experimental +and will very likely change a lot and be broken at times. +

    + isUserGroupTipsEnabled ? "checked=checked" : "" ?>>
    + isUserGroupTipsEnabled ? "" : "checked=checked" ?>> + +

    + +

    +
    + + diff --git a/public/pear/index.php b/public/pear/index.php new file mode 100644 index 0000000000..e8cfc314b1 --- /dev/null +++ b/public/pear/index.php @@ -0,0 +1,6 @@ + diff --git a/public/pre-release-builds.php b/public/pre-release-builds.php new file mode 100644 index 0000000000..f168638a07 --- /dev/null +++ b/public/pre-release-builds.php @@ -0,0 +1,315 @@ + + Test Releases +
    + The downloads on this page are not meant to be run in production. They are + for testing only. +
    + +
    + If you find a problem when running your library or application with these + builds, please file a report on + GitHub Issues. +
    +
    + QA Releases API +
    +

    + The QA API is based on the query string. +

    +

    + Pass in the format parameter, with serialize or + json as value to obtain all information: +

    + +

    + To only try dev version numbers, add only=dev_versions: +

    + +
    + +'; + +site_header("Pre-Release Builds", [ + 'current' => 'downloads', +]); + +?> +

    Pre-Release Builds

    +

    +This page contains links to the Pre-release builds that the release +managers create before each actual release. These builds are meant for the +community to test whether no inadvertent changes have been made, and +whether no regressions have been introduced. +

    + +

    Source Builds

    + + 1 ? 's' : ''; + ?> + + $info) : ?> +

    + PHP +

    +
    + +
      + $file_info) : ?> +
    • + + + + + + + No checksum value available)  + + +
    • + +
    + + +

    There are no QA releases available at the moment to test.

    + + +

    Windows Builds

    += 2) { + $branchKey = $parts[0] . '.' . $parts[1]; + $allowedBranches[$branchKey] = true; + } + } + } + + $buildLabel = static function (string $key, array $entry): string { + $tool = 'VS'; + if (strpos($key, 'vs18') !== false) { + $tool .= '18'; + } elseif (strpos($key, 'vs17') !== false) { + $tool .= '17'; + } elseif (strpos($key, 'vs16') !== false) { + $tool .= '16'; + } elseif (strpos($key, 'vc15') !== false) { + $tool = 'VC15'; + } + + $arch = (strpos($key, 'x64') !== false) ? 'x64' : ((strpos($key, 'x86') !== false) ? 'x86' : ''); + $ts = (strpos($key, 'nts') !== false) ? 'Non Thread Safe' : 'Thread Safe'; + + if (strncmp($key, 'nts-', 4) === 0) { + $ts = 'Non Thread Safe'; + } elseif (strncmp($key, 'ts-', 3) === 0) { + $ts = 'Thread Safe'; + } + + return trim(($tool ? $tool . ' ' : '') . ($arch ? $arch . ' ' : '') . $ts); + }; + + $packageNames = [ + 'zip' => 'Zip', + 'debug_pack' => 'Debug Pack', + 'devel_pack' => 'Development package (SDK to develop PHP extensions)', + ]; + + $makeListItem = static function (string $label, array $fileInfo, ?string $mtime, bool $includeSha) use ($winQaBase): ?string { + $path = $fileInfo['path'] ?? ''; + if ($path === '') { + return null; + } + + $href = $winQaBase . ltrim($path, '/'); + $size = $fileInfo['size'] ?? ''; + $sha = $fileInfo['sha256'] ?? ''; + $hrefAttr = htmlspecialchars($href, ENT_QUOTES, 'UTF-8'); + $labelText = htmlspecialchars($label, ENT_QUOTES, 'UTF-8'); + + $parts = ['' . $labelText . '']; + if ($size !== '') { + $parts[] = '' . htmlspecialchars($size, ENT_QUOTES, 'UTF-8') . ''; + } + + if ($mtime) { + $timestamp = strtotime($mtime); + if ($timestamp) { + $parts[] = '' . gmdate('d M Y', $timestamp) . ''; + } + } + + if ($includeSha && $sha !== '') { + $parts[] = sha256_html($sha); + } + + return '
  • ' . implode(' ', $parts) . '
  • '; + }; + + foreach ($decoded as $branch => $info) { + if (!is_array($info) || empty($info['version'])) { + continue; + } + + if ($branch === 'comment') { + continue; + } + + if (!empty($allowedBranches) && empty($allowedBranches[$branch])) { + continue; + } + + $topItems = []; + if (!empty($info['source']) && is_array($info['source'])) { + $item = $makeListItem('Download source code', $info['source'], $info['source']['mtime'] ?? null, false); + if ($item !== null) { + $topItems[] = $item; + } + } + + if (!empty($info['test_pack']) && is_array($info['test_pack'])) { + $item = $makeListItem('Download tests package (phpt)', $info['test_pack'], $info['test_pack']['mtime'] ?? null, false); + if ($item !== null) { + $topItems[] = $item; + } + } + + $builds = []; + foreach ($info as $buildKey => $entry) { + if (!is_array($entry) || in_array($buildKey, ['version', 'source', 'test_pack'], true)) { + continue; + } + + $label = $buildLabel($buildKey, $entry); + if ($label === '') { + continue; + } + + $packageItems = []; + foreach ($packageNames as $pkgKey => $pkgLabel) { + if (empty($entry[$pkgKey]) || !is_array($entry[$pkgKey])) { + continue; + } + + $rendered = $makeListItem($pkgLabel, $entry[$pkgKey], $entry['mtime'] ?? null, true); + if ($rendered !== null) { + $packageItems[] = $rendered; + } + } + + if (empty($packageItems)) { + continue; + } + + $builds[] = [ + 'label' => $label, + 'items' => $packageItems, + ]; + } + + if (empty($topItems) && empty($builds)) { + continue; + } + + $winQaReleases[] = [ + 'version_label' => $info['version'], + 'top_items' => $topItems, + 'builds' => $builds, + ]; + } + if (!empty($winQaReleases)) { + usort($winQaReleases, static function ($a, $b) { + return version_compare($b['version_label'], $a['version_label']); + }); + } + } else { + $winQaMessage = 'Windows QA release index could not be parsed.'; + } +} else { + $winQaMessage = 'Windows QA release index is unavailable.'; +} + +if ($winQaMessage !== '') { + echo '

    ', htmlspecialchars($winQaMessage), '

    '; +} elseif (empty($winQaReleases)) { + echo "

    No Windows QA builds match the currently active QA releases.

    "; +} else { + foreach ($winQaReleases as $release) { + $versionLabel = $release['version_label']; + + echo '

    PHP ', htmlspecialchars($versionLabel), '

    '; + echo '
    '; + if (!empty($release['top_items'])) { + echo '
      '; + foreach ($release['top_items'] as $item) { + echo $item; + } + echo '
    '; + } + + foreach ($release['builds'] as $build) { + echo '
    ' . $build['label'] . '
    '; + echo '
      '; + foreach ($build['items'] as $item) { + echo $item; + } + echo '
    '; + } + echo '
    '; + } +} +?> + + $SIDEBAR_DATA]); diff --git a/public/privacy.php b/public/privacy.php new file mode 100644 index 0000000000..8acdc3b934 --- /dev/null +++ b/public/privacy.php @@ -0,0 +1,45 @@ + "footer"]); +?> + +

    Privacy Policy

    + +

    + This privacy policy covers php.net and its associated mirrors. +

    + +

    Email

    +

    + We will not give away your email address to anyone, who is not related to + the operations of php.net. We will also never ask you to send us any of + your passwords via email. +

    + + +

    Logfiles

    +

    + Most mirrors maintain standard logs of the requests that reach the web servers, + but we do only use those files for statistical purposes. +

    +

    + And to improve your search experience, we store anonymised search terms that + are submitted to the site. +

    + +

    Cookies

    +

    + php.net uses cookies to keep track of user preferences. Unless + you login on the site, the cookies will not be used to store personal information, and + we do not give away the information from the cookies. +

    +

    + We also use self-hosted analytics service to improve popular sections of the documentation, + and never share user data with third parties. + You may deactivate or restrict the transmission of cookies by changing the settings of your web browser. + Cookies that are already stored may be deleted at any time. +

    + +\n"; + echo "
      \n"; + // Prepare the data + if ($sort) { + asort($functions); + } + + // Print out all rows + foreach ($functions as $file => $name) { + echo "
    • $name
    • \n"; + } + echo "
    \n"; + echo "\n"; +} + +// Open directory, fall back to English, +// if there is no dir for that language +$dirh = @opendir(ProjectGlobals::getPublicRoot() . "/manual/$LANG"); +if (!$dirh) { + error_noservice(); +} + +$functions = $maybe = $temp = $parts = []; +$p = 0; + +// Get all file names from the directory +while (($entry = readdir($dirh)) !== false) { + + // Skip names starting with a dot + if (substr($entry, 0, 1) == ".") { continue; } + + // For function and class pages, get the name out + if (preg_match('!^(function|class)\.(.+)\.php$!', $entry, $parts)) { + $funcname = str_replace('-', '_', $parts[2]); + $functions[$entry] = $funcname; + + // Compute similarity of the name to the requested one + if (function_exists('similar_text') && !empty($notfound)) { + similar_text($funcname, $notfound, $p); + + // If $notfound is a substring of $funcname then overwrite the score + // similar_text() gave it. + if ($p < 70 && ($pos = strpos($funcname, $notfound)) !== false) { + $p = 90 - $pos; + } + $temp[$entry] = $p; + } + } +} +closedir($dirh); + +// We have found file names +if (count($temp) > 0) { + + // Sort names by percentage + arsort($temp); + + // Collect SHOW_CLOSE number of names from the top + foreach ($temp as $file => $p) { + + // Stop, if we found enough matches + if (count($maybe) >= 30) { break; } + + // If the two are more then 70% similar or $notfound is a substring + // of $funcname, then the match is a very similar one + if ($p >= 70 || (strpos($functions[$file], $notfound) !== false)) { + $maybe[$file] = '' . $functions[$file] . ''; + } + // Otherwise it is just similar + else { + $maybe[$file] = $functions[$file]; + } + } + unset($matches, $temp); +} + +// Do not index page if presented as a search result +if (count($maybe) > 0) { $head_options = ["noindex"]; } +else { $head_options = []; } + +site_header("Manual Quick Reference", $head_options + ["current" => "help"]); + +// Note: $notfound is defined (with htmlspecialchars) inside manual-lookup.php +$notfound_enc = urlencode($notfound); + +if ($snippet = is_known_snippet($notfound)) { + echo "

    Related snippet found for '{$notfound}'

    "; + echo "

    {$snippet}

    "; +} + +?> + +

    PHP Function List

    + + 0) { ?> + +

    + doesn't exist. Closest matches: +

    + + '

    Full website search', +]); +} diff --git a/releases/4_1_0.php b/public/releases/4_1_0.php similarity index 96% rename from releases/4_1_0.php rename to public/releases/4_1_0.php index db18a17809..56dbdf4974 100644 --- a/releases/4_1_0.php +++ b/public/releases/4_1_0.php @@ -1,14 +1,13 @@

    PHP 4.1.0 Release Announcement

    - After a lengthy QA process, PHP 4.1.0 is finally out!
    + After a lengthy QA process, PHP 4.1.0 is finally out!
    [ Version Française ]

    @@ -48,7 +47,7 @@ interface, and the broken binary compatibility of modules due to the changes in PHP 4.1.0, see the ChangeLog.

    -
    +

    SECURITY: NEW INPUT MECHANISM

    @@ -62,9 +61,9 @@ interface, and the broken binary compatibility of modules due to the

    Now that we have that behind us, let's move on :)

    - For various reasons, PHP setups which rely on register_globals - being on (i.e., on form, server and environment variables becoming - a part of the global namespace, automatically) are very often + For various reasons, PHP setups which rely on register_globals + being on (i.e., on form, server and environment variables becoming + a part of the global namespace, automatically) are very often exploitable to various degrees. For example, the piece of code:

    @@ -145,7 +144,7 @@ function example1() they should take advantage of the new features supplied in PHP 4.1.0 that make this transition much easier.

    - +

    As of the next semi-major version of PHP, new installations of PHP will default to having register_globals set to off. No worries! Existing diff --git a/releases/4_1_0_fr.php b/public/releases/4_1_0_fr.php similarity index 97% rename from releases/4_1_0_fr.php rename to public/releases/4_1_0_fr.php index 4b57e90669..e1699f5818 100644 --- a/releases/4_1_0_fr.php +++ b/public/releases/4_1_0_fr.php @@ -1,14 +1,13 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.1.0", ["lang" => "fr"]); ?>

    Annonce de publication de PHP 4.1.0

    - Après un long processus "QA", PHP 4.1.0 est enfin sorti!
    + Après un long processus "QA", PHP 4.1.0 est enfin sorti!
    [ English Version ]

    @@ -53,7 +52,7 @@ ChangeLog.

    -
    +

    SECURITE: NOUVEAU MECANISME D'ENTREE

    @@ -85,7 +84,7 @@ Peut être exploitable de la manière suivante, des utilisateurs distants peuvent simplement passer 'authenticated' comme variable d'un formulaire et même si authenticate_user() retourne false, - $authentiticated va actuellement contenir true. Ce"la semble etre un + $authentiticated va actuellement contenir true. Ce"la semble etre un exemple très simple, mais en réalité, bien des applications PHP sont exploitable par ce dysfonctionnement.

    @@ -145,7 +144,7 @@ function example1() durant la migration de vieux code vers le nouveau, et nous sommes sûrs que cela vous simplifiera l'écriture de nouveaux codes. Une autre astuce est que le fait de créer de nouvelles entrées dans - $_SESSION va automatiquement les enregistrer comme variables de session, + $_SESSION va automatiquement les enregistrer comme variables de session, comme si vous auriez appelé session_register(). Cette astuce est limitée uniquement au module de gestion de session - par exemple, créer de nouvelles entrés dans $_ENV ne va pas exécuter un put_env() @@ -161,7 +160,7 @@ function example1() qu'ils devraient profiter des nouvelles fonctionnalités fournies avec PHP 4.1.0 qui font que cette transition est plus aisée.

    - +

    Dans la prochaine version "semi majeure" de PHP, de nouvelles installations de PHP devrait avoir register_globals mis à Off par défaut. Ne vous en @@ -175,7 +174,7 @@ function example1()

    Note: Certains de ces tableaux ont d'anciens noms, exemple : $HTTP_GET_VARS. Ces noms fonctionnent toujours, mais nous encourageons les utilisateurs - de migrer vers le nouveaux noms, plus courts et qui sont des versions + de migrer vers le nouveaux noms, plus courts et qui sont des versions automatiquement globales.

    diff --git a/releases/4_1_1.php b/public/releases/4_1_1.php similarity index 96% rename from releases/4_1_1.php rename to public/releases/4_1_1.php index 9a97ae181d..9c97a7ef96 100644 --- a/releases/4_1_1.php +++ b/public/releases/4_1_1.php @@ -1,7 +1,6 @@ diff --git a/releases/4_1_2_win32.php b/public/releases/4_1_2_win32.php similarity index 89% rename from releases/4_1_2_win32.php rename to public/releases/4_1_2_win32.php index 2211d64bc4..01718e62ae 100644 --- a/releases/4_1_2_win32.php +++ b/public/releases/4_1_2_win32.php @@ -1,7 +1,6 @@ @@ -24,8 +23,8 @@

    The new settings are:

      -
    • cgi.force_redirect 0|1
    • -
    • cgi.redirect_status_env ENV_VAR_NAME
    • +
    • cgi.force_redirect 0|1
    • +
    • cgi.redirect_status_env ENV_VAR_NAME

    WebServers affected by this vulnerability

    @@ -49,7 +48,7 @@

    - More information can be found here + More information can be found here relating to the form upload exploit that caused the release of 4.1.2 initially.

    diff --git a/releases/4_2_0.php b/public/releases/4_2_0.php similarity index 92% rename from releases/4_2_0.php rename to public/releases/4_2_0.php index e53188ee5a..2e813883e2 100644 --- a/releases/4_2_0.php +++ b/public/releases/4_2_0.php @@ -1,14 +1,13 @@

    PHP 4.2.0 Release Announcement

    - After an orderly QA process, PHP 4.2.0 is out!
    + After an orderly QA process, PHP 4.2.0 is out!
    [ Version Française ]

    @@ -20,7 +19,7 @@ are no longer registered in the global scope by default.
    The preferred method of accessing these external variables is by using the new Superglobal arrays, introduced in PHP 4.1.0. More information about this change:

    - +
    • PHP Manual: Predefined variables
    • The PHP 4.1.0 release announcement
    • @@ -45,7 +44,7 @@ due to be released in August, 2002, will be the first PHP release to officially support Mac OS X. It, along with future Mac OS X and Apache releases, will enable full feature parity - with other PHP platforms. Update: + with other PHP platforms. Update: Instructions on overcoming these limitations

      @@ -62,7 +61,7 @@
    • Overhaul of the sockets extension
    • Highly improved performance with file uploads
    • - The satellite and mailparse extensions were moved to PECL and are no longer + The satellite and mailparse extensions were moved to PECL and are no longer bundled with the official PHP release
    • The posix extension has been cleaned up
    • @@ -78,7 +77,7 @@

      For a full list of changes in PHP 4.2.0, - see the ChangeLog. + see the ChangeLog.

      diff --git a/releases/4_2_0_fr.php b/public/releases/4_2_0_fr.php similarity index 95% rename from releases/4_2_0_fr.php rename to public/releases/4_2_0_fr.php index 1d78371e40..dc94f5bbe3 100644 --- a/releases/4_2_0_fr.php +++ b/public/releases/4_2_0_fr.php @@ -1,8 +1,7 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.2.0", ["lang" => "fr"]); ?>

      Annonce de publication de PHP 4.2.0

      @@ -47,7 +46,7 @@ supporté par le PHP group sur ces plates-formes. Spécifiquement, compiler PHP comme module Apache dynamiquement chargé n'est pas encore supporté. PHP 4.3.0, dont la publication est prévue pour - Août 2002, sera la première version qui supportera officiellement + Août 2002, sera la première version qui supportera officiellement Mac OS X. Cette version, aussi bien pour les futures versions de Mac OS X et Apache, sera totalement synchronisé avec les autres plates-formes PHP. diff --git a/releases/4_2_1.php b/public/releases/4_2_1.php similarity index 93% rename from releases/4_2_1.php rename to public/releases/4_2_1.php index 63ff27c1a1..c37d628b62 100644 --- a/releases/4_2_1.php +++ b/public/releases/4_2_1.php @@ -1,7 +1,6 @@ @@ -42,7 +41,7 @@

      PHP 4.2.1 also has improved (but still experimental) support for Apache version 2. We do not recommend that you use this in a production environment, - but feel free to test it and report bugs to the bug + but feel free to test it and report bugs to the bug system.

      diff --git a/releases/4_2_1_fr.php b/public/releases/4_2_1_fr.php similarity index 91% rename from releases/4_2_1_fr.php rename to public/releases/4_2_1_fr.php index ff88bd81f0..2614340b2d 100644 --- a/releases/4_2_1_fr.php +++ b/public/releases/4_2_1_fr.php @@ -1,8 +1,7 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.2.1", ["lang" => "fr"]); ?>

      Annonce de publication de PHP 4.2.1

      @@ -44,7 +43,7 @@

    - Pour une liste complète des modifications de PHP 4.2.1, voyez le fichier + Pour une liste complète des modifications de PHP 4.2.1, voyez le fichier ChangeLog.

    @@ -55,7 +54,7 @@ (mais toujours expérimentale) avec Apache 2. Nous ne recommandons pas son utilisation dans un environnement de production. Testez-le intensivement, et rapportez tous les bugs dans le - système. + système.

    Variables externes

    diff --git a/releases/4_2_2.php b/public/releases/4_2_2.php similarity index 96% rename from releases/4_2_2.php rename to public/releases/4_2_2.php index 6bbb53244d..332bd83bc2 100644 --- a/releases/4_2_2.php +++ b/public/releases/4_2_2.php @@ -1,7 +1,6 @@ @@ -36,7 +35,7 @@ sent by the user agent in a "multipart/form-data" request. This parser has insufficient input checking, leading to the vulnerability.

    - +

    The vulnerability is exploitable by anyone who can send HTTP POST requests to an affected web server. Both local and remote users, even @@ -70,7 +69,7 @@ POST input from user agents, it is often possible to deny POST requests on the web server.

    - +

    In the Apache web server, for example, this is possible with the following code included in the main configuration file or a top-level @@ -83,7 +82,7 @@ Deny from all </Limit> - +

    Note that an existing configuration and/or .htaccess file may have parameters contradicting the example given above. @@ -97,5 +96,5 @@ independent advisory, describing the vulnerability in more detail.

    - + diff --git a/releases/4_2_2_fr.php b/public/releases/4_2_2_fr.php similarity index 94% rename from releases/4_2_2_fr.php rename to public/releases/4_2_2_fr.php index 43e139e8ed..add65a15a3 100644 --- a/releases/4_2_2_fr.php +++ b/public/releases/4_2_2_fr.php @@ -1,8 +1,7 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.2.2", ["lang" => "fr"]); ?>

    @@ -39,7 +38,7 @@ les données d'entrée, ce qui conduit à une vulnérabilité.

    - +

    La vulnérabilité est exploitable par quiconque peut envoyer des requêtes HTTP POST à un serveur web utilisant PHP versions 4.2.0 et 4.2.1. Des @@ -76,21 +75,21 @@ affecté, il est possible de simplement interdire les requêtes POST sur le serveur.

    - +

    Sous Apache, par exemple, il est possible d'utiliser le code suivant dans le fichier de configuration principal, ou avec un fichier .htaccess placé suffisamment près de la racine :

    -
       
    +
     <Limit POST>
        Order deny,allow
        Deny from all
     </Limit>
     
    - -

    + +

    Notez qu'une autre configuration ou/et un autre fichier .htaccess avec certains paramètres, peuvent annuler l'effet de l'exemple ci-dessus.

    @@ -101,5 +100,5 @@ Le PHP Group remercie Stefan Esser de e-matters GmbH pour la découverte de cette vulnérabilité.

    - + diff --git a/releases/4_3_0.php b/public/releases/4_3_0.php similarity index 95% rename from releases/4_3_0.php rename to public/releases/4_3_0.php index d24ac82662..81db5914df 100644 --- a/releases/4_3_0.php +++ b/public/releases/4_3_0.php @@ -1,7 +1,6 @@ @@ -21,7 +20,7 @@

    This version finalizes the separate command line interface (CLI) that can be used for developing shell and desktop applications (with - PHP-GTK). The CLI is always built, but + PHP-GTK). The CLI is always built, but installed automatically only if CGI version is disabled via --disable-cgi switch during configuration. Alternatively, one can use make install-cli target. On Windows CLI can be found in diff --git a/releases/4_3_0_fr.php b/public/releases/4_3_0_fr.php similarity index 92% rename from releases/4_3_0_fr.php rename to public/releases/4_3_0_fr.php index 86cdb6ef5c..8898cced48 100644 --- a/releases/4_3_0_fr.php +++ b/public/releases/4_3_0_fr.php @@ -1,8 +1,7 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.3.0", ["lang" => "fr"]); ?>

    Annonce de publication de PHP 4.3.0

    @@ -24,10 +23,10 @@

    PHP 4.3.0 achève la séparation du mode d'utilisation en ligne de commande (dit CLI) qui permet de développer des - applications shell ou graphiques (avec PHP-GTK). + applications shell ou graphiques (avec PHP-GTK). La version CLI de PHP est toujours compilées, mais elle n'est installée que si la version CGI est désactivée - avec l'option --disable-cgi. De plus, vous pouvez utilisez la commande + avec l'option --disable-cgi. De plus, vous pouvez utilisez la commande make install-cli. Sous Windows, la version CLI est disponible dans le dossier cli.

    @@ -35,7 +34,7 @@

    CLI dispose de fonctionnalités différentes, par rappot à la version interfacée avec les serveurs web. Pour - plus de détails, reportez vous à + plus de détails, reportez vous à Utiliser PHP en ligne de commande

    @@ -87,7 +86,7 @@ fhttpd)
  • - Accélération des fonctions de traitement des + Accélération des fonctions de traitement des channes de caractères
  • diff --git a/releases/4_3_1.php b/public/releases/4_3_1.php similarity index 94% rename from releases/4_3_1.php rename to public/releases/4_3_1.php index 4d6bb8e1cd..556a3df468 100644 --- a/releases/4_3_1.php +++ b/public/releases/4_3_1.php @@ -1,7 +1,6 @@ @@ -19,7 +18,7 @@

    - The PHP Group has learned of a serious security vulnerability in + The PHP Group has learned of a serious security vulnerability in the CGI SAPI of PHP version 4.3.0.

    @@ -36,18 +35,18 @@ NOTE: This bug does NOT affect any of the other SAPI modules. (such as the Apache or ISAPI modules, etc.)

    - +

    Impact

    - Anyone with access to websites hosted on a web server which employs + Anyone with access to websites hosted on a web server which employs the CGI module may exploit this vulnerability to gain access to any file readable by the user under which the webserver runs.

    - A remote attacker could also trick PHP into executing arbitrary PHP code - if attacker is able to inject the code into files accessible by the CGI. + A remote attacker could also trick PHP into executing arbitrary PHP code + if attacker is able to inject the code into files accessible by the CGI. This could be for example the web server access-logs.

    @@ -70,8 +69,8 @@

    Credits

    - The PHP Group would like to thank Kosmas Skiadopoulos for discovering + The PHP Group would like to thank Kosmas Skiadopoulos for discovering this vulnerability.

    - + diff --git a/releases/4_3_10.php b/public/releases/4_3_10.php similarity index 84% rename from releases/4_3_10.php rename to public/releases/4_3_10.php index 49f648759a..c1cfac288f 100644 --- a/releases/4_3_10.php +++ b/public/releases/4_3_10.php @@ -1,30 +1,30 @@

    PHP 4.3.10 Release Announcement

    -

    [ Version Française ]

    +

    [ Version Française ]

    -PHP Development Team would like to announce the immediate release of PHP 4.3.10. This is a -maintenance release that in addition to over 30 non-critical bug fixes addresses several very -serious security issues. +PHP Development Team would like to announce the immediate release of PHP 4.3.10. This is a +maintenance release that in addition to over 30 non-critical bug fixes addresses several very +serious security issues.

    -

    +

    These include the following: -

    -CAN-2004-1018 - shmop_write() out of bounds memory write access.
    -CAN-2004-1018 - integer overflow/underflow in pack() and unpack() functions.
    -CAN-2004-1019 - possible information disclosure, double free and negative reference index array underflow in deserialization code.
    -CAN-2004-1020 - addslashes() not escaping \0 correctly.
    -CAN-2004-1063 - safe_mode execution directory bypass.
    -CAN-2004-1064 - arbitrary file access through path truncation.
    -CAN-2004-1065 - exif_read_data() overflow on long sectionname.
    +

    +

    +CAN-2004-1018 - shmop_write() out of bounds memory write access.
    +CAN-2004-1018 - integer overflow/underflow in pack() and unpack() functions.
    +CAN-2004-1019 - possible information disclosure, double free and negative reference index array underflow in deserialization code.
    +CAN-2004-1020 - addslashes() not escaping \0 correctly.
    +CAN-2004-1063 - safe_mode execution directory bypass.
    +CAN-2004-1064 - arbitrary file access through path truncation.
    +CAN-2004-1065 - exif_read_data() overflow on long sectionname.
    magic_quotes_gpc could lead to one level directory traversal with file uploads. -

    -All Users of PHP are strongly encouraged to upgrade to this release as soon as possible.

    +

    +

    All Users of PHP are strongly encouraged to upgrade to this release as soon as possible.

    Bugfix release

    diff --git a/releases/4_3_10_fr.php b/public/releases/4_3_10_fr.php similarity index 86% rename from releases/4_3_10_fr.php rename to public/releases/4_3_10_fr.php index 889b5b86cb..a25691528b 100644 --- a/releases/4_3_10_fr.php +++ b/public/releases/4_3_10_fr.php @@ -1,36 +1,36 @@

    Annonce de publication de PHP 4.3.10

    [ English Version ]

    -L'équipe de développement PHP a le plaisir de vous annoncer -la publication de PHP 4.3.10. C'est une version -de maintenance, destinée à corriger une trentaine de bogues +L'équipe de développement PHP a le plaisir de vous annoncer +la publication de PHP 4.3.10. C'est une version +de maintenance, destinée à corriger une trentaine de bogues non-critiques et ainsi que plusieurs problèmes de sécurité sérieux.

    -

    -Cela inclut notamment : -

    -CAN-2004-1018 - shmop_write() écrit hors des limites de la mémoire.
    -CAN-2004-1018 - dépassement de capacité avec pack() et unpack().
    -CAN-2004-1019 - publication possible d'informations, dépassement de capacité dans les index négatif lors de délinéarisation de données.
    -CAN-2004-1020 - addslashes() ne protège pas correctement \0.
    -CAN-2004-1063 - contournement de la directive de dossier d'exécution.
    -CAN-2004-1064 - accès arbitraire à un fichier via une troncature.
    -CAN-2004-1065 - dépassement de capacité avec exif_read_data() sur un long nom de section.
    +

    +Cela inclut notamment: +

    +

    +CAN-2004-1018 - shmop_write() écrit hors des limites de la mémoire.
    +CAN-2004-1018 - dépassement de capacité avec pack() et unpack().
    +CAN-2004-1019 - publication possible d'informations, dépassement de capacité dans les index négatif lors de délinéarisation de données.
    +CAN-2004-1020 - addslashes() ne protège pas correctement \0.
    +CAN-2004-1063 - contournement de la directive de dossier d'exécution.
    +CAN-2004-1064 - accès arbitraire à un fichier via une troncature.
    +CAN-2004-1065 - dépassement de capacité avec exif_read_data() sur un long nom de section.
    magic_quotes_gpc peut mener à la lecture d'un dossier via le téléchargement de fichiers. -

    -Tous les utilisateurs sont encouragés à utiliser cette version.

    +

    +

    Tous les utilisateurs sont encouragés à utiliser cette version.

    Version de correction de bogues

    -En plus des fonctionnalités ci-dessus, PHP 4.3.9 contient notamment les corrections, ajouts et améliorations suivantes : +En plus des fonctionnalités ci-dessus, PHP 4.3.9 contient notamment les corrections, ajouts et améliorations suivantes :

      diff --git a/releases/4_3_11.php b/public/releases/4_3_11.php similarity index 85% rename from releases/4_3_11.php rename to public/releases/4_3_11.php index 005fa5b022..8fc5cb813a 100644 --- a/releases/4_3_11.php +++ b/public/releases/4_3_11.php @@ -1,20 +1,19 @@

      PHP 4.3.11 Release Announcement

      [ Version Française ]

      -PHP Development Team is would like to announce the immediate release of PHP 4.3.11. -This is a maintenance release that in addition to over 70 non-critical bug fixes addresses several +PHP Development Team is would like to announce the immediate release of PHP 4.3.11. +This is a maintenance release that in addition to over 70 non-critical bug fixes addresses several security issues inside the exif and fbsql extensions as well as the unserialize(), swf_definepoly() and getimagesize() functions.

      -All Users of PHP are strongly encouraged to upgrade to this release.

      +

      All Users of PHP are strongly encouraged to upgrade to this release.

      Bugfix release

      diff --git a/releases/4_3_11_fr.php b/public/releases/4_3_11_fr.php similarity index 95% rename from releases/4_3_11_fr.php rename to public/releases/4_3_11_fr.php index ebbca621ce..72034e904b 100644 --- a/releases/4_3_11_fr.php +++ b/public/releases/4_3_11_fr.php @@ -1,7 +1,6 @@ @@ -12,7 +11,7 @@

      Tous les utilisateurs sont encouragés à utiliser cette version. -

      +

      Version de correction de bogues

        diff --git a/releases/4_3_2.php b/public/releases/4_3_2.php similarity index 93% rename from releases/4_3_2.php rename to public/releases/4_3_2.php index 34c0426acc..9e671215e8 100644 --- a/releases/4_3_2.php +++ b/public/releases/4_3_2.php @@ -1,7 +1,6 @@ @@ -10,7 +9,7 @@

        [ Version Française ]

        - After a lengthy QA process, PHP 4.3.2 is finally out!
        + After a lengthy QA process, PHP 4.3.2 is finally out!
        This maintenance release solves a lot of bugs found in earlier PHP versions and is a strongly recommended upgrade for all users of PHP.

        diff --git a/releases/4_3_2_fr.php b/public/releases/4_3_2_fr.php similarity index 90% rename from releases/4_3_2_fr.php rename to public/releases/4_3_2_fr.php index 501540715e..b452dffb0c 100644 --- a/releases/4_3_2_fr.php +++ b/public/releases/4_3_2_fr.php @@ -1,8 +1,7 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.3.2", ["lang" => "fr"]); ?>

        Annonce de publication de PHP 4.3.2

        @@ -11,9 +10,9 @@

        Après une longue étape de tests d'assurance Qualité, - PHP 4.3.2 est finalement disponible!
        + PHP 4.3.2 est finalement disponible!
        Cette version de maintenance résout un grand nombre de bugs trouvés dans - des versions plus anciennes de PHP, et il est recommandé + des versions plus anciennes de PHP, et il est recommandé de faire la mise à jour pour tous les utilisateurs PHP.

        @@ -22,7 +21,7 @@

        PHP 4.3.2 contient notamment les corrections, ajouts et améliorations suivantes :

        - +
        • Correction de plusieurs problèmes dangereux de dépassement de @@ -48,7 +47,7 @@
        -

        +

        Pour une liste complète des modifications de PHP 4.3.2, reportez-vous au fichier ChangeLog.

        diff --git a/releases/4_3_3.php b/public/releases/4_3_3.php similarity index 94% rename from releases/4_3_3.php rename to public/releases/4_3_3.php index 36f942a9d0..4e29a6fc22 100644 --- a/releases/4_3_3.php +++ b/public/releases/4_3_3.php @@ -1,7 +1,6 @@ @@ -10,7 +9,7 @@

        [ Version Française ]

        - After a lengthy QA process, PHP 4.3.3 is finally out!
        + After a lengthy QA process, PHP 4.3.3 is finally out!
        This maintenance release solves a fair number of bugs found in prior PHP versions and addresses several security issues. All users are strongly advised to upgrade to 4.3.3 as soon as possible. diff --git a/releases/4_3_3_fr.php b/public/releases/4_3_3_fr.php similarity index 94% rename from releases/4_3_3_fr.php rename to public/releases/4_3_3_fr.php index 4c7c32d637..ccafa556b1 100644 --- a/releases/4_3_3_fr.php +++ b/public/releases/4_3_3_fr.php @@ -1,7 +1,6 @@ @@ -10,7 +9,7 @@

        [ English version ]

        -Après avoir suivi un long processus qualité, PHP 4.3.3 est disponible!
        +Après avoir suivi un long processus qualité, PHP 4.3.3 est disponible!
        Cette version de maintenance résout un bon nombre de bugs découverts dans des versions antérieures de PHP. Elle corrige aussi plusieurs problèmes de sécurité. Il est vivement recommandé à tous les @@ -47,5 +46,3 @@

        - - diff --git a/releases/4_3_4.php b/public/releases/4_3_4.php similarity index 89% rename from releases/4_3_4.php rename to public/releases/4_3_4.php index 55cdd9a329..d483b750c4 100644 --- a/releases/4_3_4.php +++ b/public/releases/4_3_4.php @@ -1,7 +1,6 @@ @@ -10,8 +9,8 @@

        [ Version Française ]

        - After a lengthy QA process, PHP 4.3.4 is finally out!
        - This is a medium size maintenance release, with a fair number of bug fixes. All users + After a lengthy QA process, PHP 4.3.4 is finally out!
        + This is a medium size maintenance release, with a fair number of bug fixes. All users are encouraged to upgrade to 4.3.4.

        diff --git a/releases/4_3_4_fr.php b/public/releases/4_3_4_fr.php similarity index 78% rename from releases/4_3_4_fr.php rename to public/releases/4_3_4_fr.php index 632e6cd1e4..7e08a09e86 100644 --- a/releases/4_3_4_fr.php +++ b/public/releases/4_3_4_fr.php @@ -1,8 +1,7 @@ "fr")); +require_once __DIR__ . '/../../include/prepend.inc'; +site_header("Annonce de publication de PHP 4.3.4", ["lang" => "fr"]); ?>

        Annonce de publication de PHP 4.3.4

        @@ -10,8 +9,8 @@

        [ English version ]

        - Après un long processus d'assurance qualité, - PHP 4.3.4 est désormais disponible!
        + Après un long processus d'assurance qualité, + PHP 4.3.4 est désormais disponible!
        C'est une version mineure d'entretien, avec de nombreuses corrections de bogues. Tous les utilisateurs sont invités à passer à cette nouvelle version.

        @@ -19,8 +18,8 @@

        Version de correction de bogues

        - PHP 4.3.4 contient notamment les corrections, ajouts et - améliorations suivantes : + PHP 4.3.4 contient notamment les corrections, ajouts et + améliorations suivantes :

          diff --git a/releases/4_3_5.php b/public/releases/4_3_5.php similarity index 95% rename from releases/4_3_5.php rename to public/releases/4_3_5.php index 4b20ecdfc9..0c9c041542 100644 --- a/releases/4_3_5.php +++ b/public/releases/4_3_5.php @@ -1,7 +1,6 @@ @@ -12,7 +11,7 @@

          PHP Development Team is proud to announce the release of PHP 4.3.5. This is primarily a bug fix release, without any new features or additions. PHP 4.3.5 - is by far the most stable release of PHP to date and it is recommended that + is by far the most stable release of PHP to date and it is recommended that all users upgrade to this release whenever possible.

          diff --git a/releases/4_3_5_fr.php b/public/releases/4_3_5_fr.php similarity index 92% rename from releases/4_3_5_fr.php rename to public/releases/4_3_5_fr.php index 228259f0f4..dda8be9169 100644 --- a/releases/4_3_5_fr.php +++ b/public/releases/4_3_5_fr.php @@ -1,7 +1,6 @@ @@ -10,18 +9,18 @@

          [ English Version ]

          -L'équipe de développement PHP a le plaisir de vous annoncer -la publication de PHP 4.3.5. C'est une version -de maintenance, destinée à corriger des erreurs, et sans aucun -ajout de fonctionnalité. PHP 4.3.5 est, de loin, la version de PHP -la plus stable, et il est recommandé à tous les utilisateurs +L'équipe de développement PHP a le plaisir de vous annoncer +la publication de PHP 4.3.5. C'est une version +de maintenance, destinée à corriger des erreurs, et sans aucun +ajout de fonctionnalité. PHP 4.3.5 est, de loin, la version de PHP +la plus stable, et il est recommandé à tous les utilisateurs d'adopter cette version dès que possible.

          Version de correction de bogues

          - PHP 4.3.5 contient notamment les corrections, ajouts et améliorations suivantes : + PHP 4.3.5 contient notamment les corrections, ajouts et améliorations suivantes :

            diff --git a/releases/4_3_6.php b/public/releases/4_3_6.php similarity index 91% rename from releases/4_3_6.php rename to public/releases/4_3_6.php index ec7b2cf93f..68a5b6c2da 100644 --- a/releases/4_3_6.php +++ b/public/releases/4_3_6.php @@ -1,7 +1,6 @@ @@ -11,9 +10,9 @@

            PHP Development Team is proud to announce the release of PHP PHP 4.3.6. - This is is a bug fix release whose primary goal is to address two bugs which may - result in crashes in PHP builds with thread-safety enabled. All users of PHP - in a threaded environment (Windows) are strongly encouraged to upgrade to + This is is a bug fix release whose primary goal is to address two bugs which may + result in crashes in PHP builds with thread-safety enabled. All users of PHP + in a threaded environment (Windows) are strongly encouraged to upgrade to this release.

            @@ -32,7 +31,7 @@
          • Fixed a bug that prevented compilation of cURL extension against libcurl 7.11.1
          • Fixed a number of crashes inside domxml and mssql extensions.
          • -
          • All in all this release fixes approximately 25 bugs that have been discovered +
          • All in all this release fixes approximately 25 bugs that have been discovered since the 4.3.5 release.
          diff --git a/releases/4_3_6_fr.php b/public/releases/4_3_6_fr.php similarity index 93% rename from releases/4_3_6_fr.php rename to public/releases/4_3_6_fr.php index 4344825766..dabd40b99c 100644 --- a/releases/4_3_6_fr.php +++ b/public/releases/4_3_6_fr.php @@ -1,7 +1,6 @@ @@ -11,18 +10,18 @@

          [ English Version ]

          -L'équipe de développement PHP a le plaisir de vous annoncer -la publication de PHP 4.3.6. C'est une version +L'équipe de développement PHP a le plaisir de vous annoncer +la publication de PHP 4.3.6. C'est une version de maintenance, destinée à corriger deux bogues qui peuvent conduire à des crashs de PHP si la sécurité threads est activée. -Il est recommandé à tous les utilisateurs d'adopter cette +Il est recommandé à tous les utilisateurs d'adopter cette version dès que possible.

          Version de correction de bogues

          - PHP 4.3.6 contient notamment les corrections, ajouts et améliorations suivantes : + PHP 4.3.6 contient notamment les corrections, ajouts et améliorations suivantes :

            diff --git a/releases/4_3_7.php b/public/releases/4_3_7.php similarity index 95% rename from releases/4_3_7.php rename to public/releases/4_3_7.php index 37af6f331b..25fec760cb 100644 --- a/releases/4_3_7.php +++ b/public/releases/4_3_7.php @@ -1,7 +1,6 @@ diff --git a/releases/4_3_7_fr.php b/public/releases/4_3_7_fr.php similarity index 93% rename from releases/4_3_7_fr.php rename to public/releases/4_3_7_fr.php index d5c59c8f6d..1b49b35563 100644 --- a/releases/4_3_7_fr.php +++ b/public/releases/4_3_7_fr.php @@ -1,7 +1,6 @@ @@ -10,8 +9,8 @@

            [ English Version ]

            -L'équipe de développement PHP a le plaisir de vous annoncer -la publication de PHP 4.3.7. C'est une version +L'équipe de développement PHP a le plaisir de vous annoncer +la publication de PHP 4.3.7. C'est une version de maintenance, destinée à corriger des bogues non-critiques, corriger une vulnérabilité de validation dans les fonctions escapeshellcmd() et escapeshellarg() sur la plate-forme Windows. Les utilisateurs de PHP sont encouragés @@ -21,7 +20,7 @@

            Version de correction de bogues

            - PHP 4.3.7 contient notamment les corrections, ajouts et améliorations suivantes : + PHP 4.3.7 contient notamment les corrections, ajouts et améliorations suivantes :

              diff --git a/releases/4_3_8.php b/public/releases/4_3_8.php similarity index 91% rename from releases/4_3_8.php rename to public/releases/4_3_8.php index a60131b88c..b78b577728 100644 --- a/releases/4_3_8.php +++ b/public/releases/4_3_8.php @@ -1,7 +1,6 @@ diff --git a/releases/4_3_9.php b/public/releases/4_3_9.php similarity index 96% rename from releases/4_3_9.php rename to public/releases/4_3_9.php index 18f704f0c4..659fce6cf2 100644 --- a/releases/4_3_9.php +++ b/public/releases/4_3_9.php @@ -1,7 +1,6 @@ @@ -34,7 +33,7 @@
            • Fixed '\0' in Authenticate header passed via safe_mode.
            • Allow bundled GD to compile against freetype 2.1.2.
            • - +
            • All in all this release fixes over 50 bugs that have been discovered and resolved since the 4.3.8 release.
            diff --git a/releases/4_3_9_fr.php b/public/releases/4_3_9_fr.php similarity index 92% rename from releases/4_3_9_fr.php rename to public/releases/4_3_9_fr.php index 9b995b0a37..8f6dccf335 100644 --- a/releases/4_3_9_fr.php +++ b/public/releases/4_3_9_fr.php @@ -1,15 +1,14 @@

            Annonce de publication de PHP 4.3.9

            [ English Version ]

            -L'équipe de développement PHP a le plaisir de vous annoncer -la publication de PHP 4.3.9. C'est une version +L'équipe de développement PHP a le plaisir de vous annoncer +la publication de PHP 4.3.9. C'est une version de maintenance, destinée à corriger une cinquantaine de bogues non-critiques, et corriger le traitement des valeurs GPC. Cette version inclut aussi la possibilité d'écrire des images GIF via la bibliothèque GD interne. Tous les utilisateurs @@ -19,8 +18,8 @@

            Version de correction de bogues

            -En plus des fonctionnalités ci-dessus, PHP 4.3.9 contient notamment les corrections, -ajouts et améliorations suivantes : +En plus des fonctionnalités ci-dessus, PHP 4.3.9 contient notamment les corrections, +ajouts et améliorations suivantes :

              diff --git a/releases/4_4_0.php b/public/releases/4_4_0.php similarity index 96% rename from releases/4_4_0.php rename to public/releases/4_4_0.php index 3db03fa893..b7bbc43839 100644 --- a/releases/4_4_0.php +++ b/public/releases/4_4_0.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_1.php b/public/releases/4_4_1.php similarity index 95% rename from releases/4_4_1.php rename to public/releases/4_4_1.php index 4ddf28f930..c2b1c05b39 100644 --- a/releases/4_4_1.php +++ b/public/releases/4_4_1.php @@ -1,7 +1,6 @@ @@ -42,7 +41,7 @@

              This release also fixes 35 other defects, where the most important is the the fix that removes a notice when passing a by-reference result of a function -as a by-reference value to another function. (Bug #33558). +as a by-reference value to another function. (Bug #33558).

              For a full list of changes in PHP 4.4.1, see the diff --git a/releases/4_4_2.php b/public/releases/4_4_2.php similarity index 92% rename from releases/4_4_2.php rename to public/releases/4_4_2.php index 6b12581604..b491045267 100644 --- a/releases/4_4_2.php +++ b/public/releases/4_4_2.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_3.php b/public/releases/4_4_3.php similarity index 93% rename from releases/4_4_3.php rename to public/releases/4_4_3.php index 9129c77ff8..bf0d811390 100644 --- a/releases/4_4_3.php +++ b/public/releases/4_4_3.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_4.php b/public/releases/4_4_4.php similarity index 93% rename from releases/4_4_4.php rename to public/releases/4_4_4.php index 7292179598..f42b347aba 100644 --- a/releases/4_4_4.php +++ b/public/releases/4_4_4.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_5.php b/public/releases/4_4_5.php similarity index 96% rename from releases/4_4_5.php rename to public/releases/4_4_5.php index 7105bc4cdd..4e0100fc61 100644 --- a/releases/4_4_5.php +++ b/public/releases/4_4_5.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_6.php b/public/releases/4_4_6.php similarity index 89% rename from releases/4_4_6.php rename to public/releases/4_4_6.php index fb731c5546..bd72a6fafa 100644 --- a/releases/4_4_6.php +++ b/public/releases/4_4_6.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_7.php b/public/releases/4_4_7.php similarity index 96% rename from releases/4_4_7.php rename to public/releases/4_4_7.php index 293e44441c..51ed83d8b8 100644 --- a/releases/4_4_7.php +++ b/public/releases/4_4_7.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_8.php b/public/releases/4_4_8.php similarity index 95% rename from releases/4_4_8.php rename to public/releases/4_4_8.php index 7fc282ca9a..8f8b3a65d4 100644 --- a/releases/4_4_8.php +++ b/public/releases/4_4_8.php @@ -1,7 +1,6 @@ diff --git a/releases/4_4_9.php b/public/releases/4_4_9.php similarity index 93% rename from releases/4_4_9.php rename to public/releases/4_4_9.php index 37fe8cec52..8b05e44c39 100644 --- a/releases/4_4_9.php +++ b/public/releases/4_4_9.php @@ -1,7 +1,6 @@ diff --git a/releases/5_1_0.php b/public/releases/5_1_0.php similarity index 94% rename from releases/5_1_0.php rename to public/releases/5_1_0.php index e0983d81e8..3eac752562 100644 --- a/releases/5_1_0.php +++ b/public/releases/5_1_0.php @@ -1,13 +1,12 @@

              PHP 5.1.0. Release Announcement

              -The PHP development team is proud to announce the release of PHP PHP 5.1.0.
              +The PHP development team is proud to announce the release of PHP PHP 5.1.0.
              Some of the key features of PHP 5.1.0 include:

              @@ -58,7 +57,7 @@

              -All users of PHP 5.0 and early adopters of 5.1 betas are strongly advised to upgrade to 5.1 as soon as +All users of PHP 5.0 and early adopters of 5.1 betas are strongly advised to upgrade to 5.1 as soon as possible. Furthermore, 5.1 branch obsoletes the 5.0 PHP branch.

              diff --git a/releases/5_1_1.php b/public/releases/5_1_1.php similarity index 94% rename from releases/5_1_1.php rename to public/releases/5_1_1.php index e2aa773917..98bd9ef8b8 100644 --- a/releases/5_1_1.php +++ b/public/releases/5_1_1.php @@ -1,7 +1,6 @@ diff --git a/releases/5_1_2.php b/public/releases/5_1_2.php similarity index 96% rename from releases/5_1_2.php rename to public/releases/5_1_2.php index 33163912c3..358bd2c542 100644 --- a/releases/5_1_2.php +++ b/public/releases/5_1_2.php @@ -1,7 +1,6 @@ @@ -43,7 +42,7 @@ The release also includes over 85 bug fixes with a focus on:
              • Correction of the many regressions in the strtotime() function.
              • -
              • Fixes of several crashes, leaks and memory corruptions found in the +
              • Fixes of several crashes, leaks and memory corruptions found in the imap, pdo, gd, mysqli, mcrypt and soap extensions.
              • Corrected problems with the usage of SSI and virtual() in the Apache2 SAPI.
              • Build fixes for iconv and sybase_ct extensions.
              • diff --git a/releases/5_1_3.php b/public/releases/5_1_3.php similarity index 97% rename from releases/5_1_3.php rename to public/releases/5_1_3.php index 43c9971609..9d9de4defa 100644 --- a/releases/5_1_3.php +++ b/public/releases/5_1_3.php @@ -1,7 +1,6 @@ diff --git a/releases/5_1_4.php b/public/releases/5_1_4.php similarity index 92% rename from releases/5_1_4.php rename to public/releases/5_1_4.php index c866e47952..ef09104b3d 100644 --- a/releases/5_1_4.php +++ b/public/releases/5_1_4.php @@ -1,7 +1,6 @@ diff --git a/releases/5_1_5.php b/public/releases/5_1_5.php similarity index 94% rename from releases/5_1_5.php rename to public/releases/5_1_5.php index 99edec19de..503c6d9a00 100644 --- a/releases/5_1_5.php +++ b/public/releases/5_1_5.php @@ -1,7 +1,6 @@ diff --git a/releases/5_1_6.php b/public/releases/5_1_6.php similarity index 87% rename from releases/5_1_6.php rename to public/releases/5_1_6.php index 5ba0b93cc7..a498369679 100644 --- a/releases/5_1_6.php +++ b/public/releases/5_1_6.php @@ -1,7 +1,6 @@ diff --git a/releases/5_2_0.php b/public/releases/5_2_0.php similarity index 97% rename from releases/5_2_0.php rename to public/releases/5_2_0.php index 6dc66d74c3..3911d17b4d 100644 --- a/releases/5_2_0.php +++ b/public/releases/5_2_0.php @@ -1,7 +1,6 @@ @@ -51,7 +50,7 @@

                -For users upgrading from PHP 5.0 and PHP 5.1 there is an upgrading guide +For users upgrading from PHP 5.0 and PHP 5.1 there is an upgrading guide available here, detailing the changes between those releases and PHP 5.2.0.

                diff --git a/releases/5_2_1.php b/public/releases/5_2_1.php similarity index 95% rename from releases/5_2_1.php rename to public/releases/5_2_1.php index afa86095f1..f9284164c4 100644 --- a/releases/5_2_1.php +++ b/public/releases/5_2_1.php @@ -1,13 +1,12 @@

                PHP 5.2.1 Release Announcement

                -The PHP development team would like to announce the immediate availability of PHP 5.2.1. +The PHP development team would like to announce the immediate availability of PHP 5.2.1. This release is a major stability and security enhancement of the 5.X branch, and all users are strongly encouraged to upgrade to it as soon as possible.

                @@ -38,9 +37,9 @@

              -The majority of the security vulnerabilities discovered and resolved can in most cases be only abused by local users and cannot be triggered -remotely. However, some of the above issues can be triggered remotely in certain situations, or exploited by malicious local users on shared hosting setups -utilizing PHP as an Apache module. Therefore, we strongly advise all users of PHP, regardless of the version to upgrade to 5.2.1 release +The majority of the security vulnerabilities discovered and resolved can in most cases be only abused by local users and cannot be triggered +remotely. However, some of the above issues can be triggered remotely in certain situations, or exploited by malicious local users on shared hosting setups +utilizing PHP as an Apache module. Therefore, we strongly advise all users of PHP, regardless of the version to upgrade to 5.2.1 release as soon as possible. PHP 4.4.5 with equivalent security corrections is available as well.

              @@ -58,7 +57,7 @@

            -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.1.

            diff --git a/releases/5_2_10.php b/public/releases/5_2_10.php similarity index 95% rename from releases/5_2_10.php rename to public/releases/5_2_10.php index 575ce6b202..f3f394aaf8 100644 --- a/releases/5_2_10.php +++ b/public/releases/5_2_10.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

            The PHP development team would like to announce the immediate availability of PHP 5.2.10. This release focuses on improving the stability of -the PHP 5.2.x branch with over 100 bug fixes, one of which is security related. +the PHP 5.2.x branch with over 100 bug fixes, one of which is security related. All users of PHP are encouraged to upgrade to this release.

            @@ -39,7 +38,7 @@

          -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.10.

          diff --git a/releases/5_2_11.php b/public/releases/5_2_11.php similarity index 94% rename from releases/5_2_11.php rename to public/releases/5_2_11.php index 3dc5bde6ab..3a6d0374cd 100644 --- a/releases/5_2_11.php +++ b/public/releases/5_2_11.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

          The PHP development team would like to announce the immediate availability of PHP 5.2.11. This release focuses on improving the stability of -the PHP 5.2.x branch with over 75 bug fixes, some of which are security related. +the PHP 5.2.x branch with over 75 bug fixes, some of which are security related. All users of PHP 5.2 are encouraged to upgrade to this release.

          @@ -39,7 +38,7 @@

        -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.11.

        diff --git a/releases/5_2_12.php b/public/releases/5_2_12.php similarity index 96% rename from releases/5_2_12.php rename to public/releases/5_2_12.php index 850cdd73da..e6a8c7b646 100644 --- a/releases/5_2_12.php +++ b/public/releases/5_2_12.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

        The PHP development team would like to announce the immediate availability of PHP 5.2.12. This release focuses on improving the stability of -the PHP 5.2.x branch with over 60 bug fixes, some of which are security related. +the PHP 5.2.x branch with over 60 bug fixes, some of which are security related. All users of PHP 5.2 are encouraged to upgrade to this release.

        @@ -44,7 +43,7 @@

      -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.12.

      diff --git a/releases/5_2_13.php b/public/releases/5_2_13.php similarity index 94% rename from releases/5_2_13.php rename to public/releases/5_2_13.php index 9b3cf1befa..66ad671198 100644 --- a/releases/5_2_13.php +++ b/public/releases/5_2_13.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

      The PHP development team would like to announce the immediate availability of PHP 5.2.13. This release focuses on improving the stability of -the PHP 5.2.x branch with over 40 bug fixes, some of which are security related. +the PHP 5.2.x branch with over 40 bug fixes, some of which are security related. All users of PHP 5.2 are encouraged to upgrade to this release.

      @@ -37,7 +36,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.13.

    diff --git a/releases/5_2_14.php b/public/releases/5_2_14.php similarity index 97% rename from releases/5_2_14.php rename to public/releases/5_2_14.php index 868cc1ada4..00e7483069 100644 --- a/releases/5_2_14.php +++ b/public/releases/5_2_14.php @@ -1,7 +1,6 @@ diff --git a/releases/5_2_15.php b/public/releases/5_2_15.php similarity index 95% rename from releases/5_2_15.php rename to public/releases/5_2_15.php index bbae497808..6d8cb9ef6c 100644 --- a/releases/5_2_15.php +++ b/public/releases/5_2_15.php @@ -1,7 +1,6 @@ @@ -13,7 +12,7 @@

    -This release focuses on improving the security and stability of the +This release focuses on improving the security and stability of the PHP 5.2.x branch with a small number, of predominatly security fixes.

    diff --git a/releases/5_2_16.php b/public/releases/5_2_16.php similarity index 93% rename from releases/5_2_16.php rename to public/releases/5_2_16.php index aff962e2fe..ac4a67f0b1 100644 --- a/releases/5_2_16.php +++ b/public/releases/5_2_16.php @@ -1,7 +1,6 @@ diff --git a/releases/5_2_17.php b/public/releases/5_2_17.php similarity index 87% rename from releases/5_2_17.php rename to public/releases/5_2_17.php index 4dd17c25ae..6766ef13ca 100644 --- a/releases/5_2_17.php +++ b/public/releases/5_2_17.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

    The PHP development team would like to announce the immediate availability of PHP 5.2.17.

    - +

    This release resolves a critical issue, reported as PHP bug #53632, where conversions from string to double might cause the PHP interpreter to hang on systems using x87 FPU registers.

    diff --git a/releases/5_2_2.php b/public/releases/5_2_2.php similarity index 94% rename from releases/5_2_2.php rename to public/releases/5_2_2.php index f50d6104d7..b20f54f2e8 100644 --- a/releases/5_2_2.php +++ b/public/releases/5_2_2.php @@ -1,13 +1,12 @@

    PHP 5.2.2 Release Announcement

    -The PHP development team would like to announce the immediate availability of PHP 5.2.2. +The PHP development team would like to announce the immediate availability of PHP 5.2.2. This release continues to improve the security and the stability of the 5.X branch and all users are strongly encouraged to upgrade to it as soon as possible.

    @@ -34,7 +33,7 @@

    -While majority of the issues outlined above are local, in some circumstances given specific code paths they can be +While majority of the issues outlined above are local, in some circumstances given specific code paths they can be triggered externally. Therefor, we strongly recommend that if you use code utilizing the functions and extensions identified as having had vulnerabilities in them, you consider upgrading your PHP.

    @@ -50,7 +49,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.2.

    diff --git a/releases/5_2_3.php b/public/releases/5_2_3.php similarity index 96% rename from releases/5_2_3.php rename to public/releases/5_2_3.php index 009764b649..90989dd994 100644 --- a/releases/5_2_3.php +++ b/public/releases/5_2_3.php @@ -1,7 +1,6 @@ @@ -49,7 +48,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.3.

    diff --git a/releases/5_2_4.php b/public/releases/5_2_4.php similarity index 97% rename from releases/5_2_4.php rename to public/releases/5_2_4.php index acdeab3850..6adf717eee 100644 --- a/releases/5_2_4.php +++ b/public/releases/5_2_4.php @@ -1,7 +1,6 @@ @@ -49,7 +48,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.4.

    diff --git a/releases/5_2_5.php b/public/releases/5_2_5.php similarity index 95% rename from releases/5_2_5.php rename to public/releases/5_2_5.php index e548c84118..2edfa95409 100644 --- a/releases/5_2_5.php +++ b/public/releases/5_2_5.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

    The PHP development team would like to announce the immediate availability of PHP 5.2.5. This release focuses on improving the stability of -the PHP 5.2.x branch with over 60 bug fixes, several of which are security related. +the PHP 5.2.x branch with over 60 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

    @@ -41,7 +40,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.5.

    diff --git a/releases/5_2_6.php b/public/releases/5_2_6.php similarity index 95% rename from releases/5_2_6.php rename to public/releases/5_2_6.php index 5491a703aa..3073a5d3ec 100644 --- a/releases/5_2_6.php +++ b/public/releases/5_2_6.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

    The PHP development team would like to announce the immediate availability of PHP 5.2.6. This release focuses on improving the stability of -the PHP 5.2.x branch with over 120 bug fixes, several of which are security related. +the PHP 5.2.x branch with over 120 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

    @@ -44,7 +43,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.6.

    diff --git a/releases/5_2_7.php b/public/releases/5_2_7.php similarity index 93% rename from releases/5_2_7.php rename to public/releases/5_2_7.php index a13e178ce0..4173cadd4e 100644 --- a/releases/5_2_7.php +++ b/public/releases/5_2_7.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

    The PHP development team would like to announce the immediate availability of PHP 5.2.7. This release focuses on improving the stability of -the PHP 5.2.x branch with over 120 bug fixes, several of which are security related. +the PHP 5.2.x branch with over 120 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

    @@ -18,7 +17,7 @@

    • Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371)
    • -
    • Fixed missing initialization of BG(page_uid) and BG(page_gid), reported by Maksymilian Arciemowicz.
    • +
    • Fixed missing initialization of BG(page_uid) and BG(page_gid), reported by Maksymilian Arciemowicz.
    • Fixed incorrect php_value order for Apache configuration, reported by Maksymilian Arciemowicz.
    • Fixed a crash inside gd with invalid fonts (Fixes CVE-2008-3658).
    • Fixed a possible overflow inside memnstr (Fixes CVE-2008-3659).
    • @@ -42,7 +41,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.7.

    diff --git a/releases/5_2_8.php b/public/releases/5_2_8.php similarity index 91% rename from releases/5_2_8.php rename to public/releases/5_2_8.php index 13022e2adc..21afc7a875 100644 --- a/releases/5_2_8.php +++ b/public/releases/5_2_8.php @@ -1,7 +1,6 @@ @@ -16,7 +15,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.8.

    diff --git a/releases/5_2_9.php b/public/releases/5_2_9.php similarity index 95% rename from releases/5_2_9.php rename to public/releases/5_2_9.php index d99855db0a..9c9a029926 100644 --- a/releases/5_2_9.php +++ b/public/releases/5_2_9.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

    The PHP development team would like to announce the immediate availability of PHP 5.2.9. This release focuses on improving the stability of -the PHP 5.2.x branch with over 50 bug fixes, several of which are security related. +the PHP 5.2.x branch with over 50 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

    @@ -42,7 +41,7 @@

    -For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available +For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.9.

    diff --git a/releases/5_3_0.php b/public/releases/5_3_0.php similarity index 96% rename from releases/5_3_0.php rename to public/releases/5_3_0.php index ad3ce18990..a3df4e9385 100644 --- a/releases/5_3_0.php +++ b/public/releases/5_3_0.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_1.php b/public/releases/5_3_1.php similarity index 93% rename from releases/5_3_1.php rename to public/releases/5_3_1.php index 6466683581..71e848f355 100644 --- a/releases/5_3_1.php +++ b/public/releases/5_3_1.php @@ -1,7 +1,6 @@ @@ -21,7 +20,7 @@
  • Fixed a safe_mode bypass in tempnam().
  • Fixed a open_basedir bypass in posix_mkfifo().
  • Fixed bug #50063 (safe_mode_include_dir fails).
  • -
  • Fixed bug #44683 (popen crashes when an invalid mode is passed).
  • +
  • Fixed bug #44683 (popen crashes when an invalid mode is passed).
  • diff --git a/releases/5_3_10.php b/public/releases/5_3_10.php similarity index 85% rename from releases/5_3_10.php rename to public/releases/5_3_10.php index 6a5dca9a65..49f53dc377 100644 --- a/releases/5_3_10.php +++ b/public/releases/5_3_10.php @@ -1,7 +1,6 @@ @@ -14,7 +13,7 @@

    Security Fixes in PHP 5.3.10:

      -
    • Fixed arbitrary remote code execution vulnerability reported by Stefan +
    • Fixed arbitrary remote code execution vulnerability reported by Stefan Esser, CVE-2012-0830.
    diff --git a/releases/5_3_11.php b/public/releases/5_3_11.php similarity index 90% rename from releases/5_3_11.php rename to public/releases/5_3_11.php index d54250eed9..3e96f2e61c 100644 --- a/releases/5_3_11.php +++ b/public/releases/5_3_11.php @@ -1,7 +1,6 @@ @@ -16,7 +15,7 @@
    • Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831). Reported by Stefan Esser. (OndÅ™ej Surý)
    • -
    • Fixed bug #54374 (Insufficient validating of upload name leading to +
    • Fixed bug #54374 (Insufficient validating of upload name leading to corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at gmail dot com, Pierre)
    • Add open_basedir checks to readline_write_history and readline_read_history. @@ -30,7 +29,7 @@
    • Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones)
    -

    For a full list of changes in PHP 5.3.11, see the For a full list of changes in PHP 5.3.11, see the ChangeLog. For source downloads please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

    diff --git a/releases/5_3_12.php b/public/releases/5_3_12.php similarity index 97% rename from releases/5_3_12.php rename to public/releases/5_3_12.php index 8c7c81e89d..134de1159b 100644 --- a/releases/5_3_12.php +++ b/public/releases/5_3_12.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_13.php b/public/releases/5_3_13.php similarity index 92% rename from releases/5_3_13.php rename to public/releases/5_3_13.php index 8ea74397c2..8364704556 100644 --- a/releases/5_3_13.php +++ b/public/releases/5_3_13.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_14.php b/public/releases/5_3_14.php similarity index 92% rename from releases/5_3_14.php rename to public/releases/5_3_14.php index 1135d31be4..522902d3f9 100644 --- a/releases/5_3_14.php +++ b/public/releases/5_3_14.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_15.php b/public/releases/5_3_15.php similarity index 91% rename from releases/5_3_15.php rename to public/releases/5_3_15.php index 6a42fc3610..b097e08334 100644 --- a/releases/5_3_15.php +++ b/public/releases/5_3_15.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_16.php b/public/releases/5_3_16.php similarity index 90% rename from releases/5_3_16.php rename to public/releases/5_3_16.php index b1612fdc9f..169abc0cef 100644 --- a/releases/5_3_16.php +++ b/public/releases/5_3_16.php @@ -1,13 +1,12 @@

    PHP 5.3.16 Release Announcement

    -

    The PHP development team announces the immediate availability of PHP +

    The PHP development team announces the immediate availability of PHP 5.3.16. About 5 bugs were fixed. All users of PHP are encouraged to upgrade to PHP 5.4.6. Alternatively, PHP 5.3.16 is recommended for those wishing to remain on the 5.3 series.

    diff --git a/releases/5_3_17.php b/public/releases/5_3_17.php similarity index 90% rename from releases/5_3_17.php rename to public/releases/5_3_17.php index f49aa08451..77f5b48b86 100644 --- a/releases/5_3_17.php +++ b/public/releases/5_3_17.php @@ -1,13 +1,12 @@

    PHP 5.3.17 Release Announcement

    -

    The PHP development team announces the immediate availability of PHP +

    The PHP development team announces the immediate availability of PHP 5.3.17. About 5 bugs were fixed. All users of PHP are encouraged to upgrade to PHP 5.4.7. Alternatively, PHP 5.3.17 is recommended for those wishing to remain on the 5.3 series.

    diff --git a/releases/5_3_18.php b/public/releases/5_3_18.php similarity index 90% rename from releases/5_3_18.php rename to public/releases/5_3_18.php index 6ce0b4f8ad..57b94e1e29 100644 --- a/releases/5_3_18.php +++ b/public/releases/5_3_18.php @@ -1,13 +1,12 @@

    PHP 5.3.18 Release Announcement

    -

    The PHP development team announces the immediate availability of PHP +

    The PHP development team announces the immediate availability of PHP 5.3.18. About 10 bugs were fixed. All users of PHP are encouraged to upgrade to PHP 5.4.8. Alternatively, PHP 5.3.18 is recommended for those wishing to remain on the 5.3 series.

    diff --git a/releases/5_3_19.php b/public/releases/5_3_19.php similarity index 90% rename from releases/5_3_19.php rename to public/releases/5_3_19.php index 3301f2e33c..550e6ec512 100644 --- a/releases/5_3_19.php +++ b/public/releases/5_3_19.php @@ -1,13 +1,12 @@

    PHP 5.3.19 Release Announcement

    -

    The PHP development team announces the immediate availability of PHP +

    The PHP development team announces the immediate availability of PHP 5.3.19. About 10 bugs were fixed. All users of PHP are encouraged to upgrade to PHP 5.4.9. Alternatively, PHP 5.3.19 is recommended for those wishing to remain on the 5.3 series.

    diff --git a/releases/5_3_2.php b/public/releases/5_3_2.php similarity index 94% rename from releases/5_3_2.php rename to public/releases/5_3_2.php index 95d34c0a46..c092c0fd71 100644 --- a/releases/5_3_2.php +++ b/public/releases/5_3_2.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_20.php b/public/releases/5_3_20.php similarity index 91% rename from releases/5_3_20.php rename to public/releases/5_3_20.php index 24b26a6d11..a4920dea64 100644 --- a/releases/5_3_20.php +++ b/public/releases/5_3_20.php @@ -1,13 +1,12 @@

    PHP 5.3.20 Release Announcement

    -

    The PHP development team announces the immediate availability of PHP +

    The PHP development team announces the immediate availability of PHP 5.3.20. About 15 bugs were fixed. Please note that the PHP 5.3 series will enter an end of life cycle and receive only critical fixes as of March 2013. All users of PHP are encouraged to upgrade to PHP 5.4. PHP 5.3.20 is recommended for those wishing to remain on the 5.3 series.

    For source downloads of PHP 5.3.20 please visit our downloads page, diff --git a/releases/5_3_21.php b/public/releases/5_3_21.php similarity index 89% rename from releases/5_3_21.php rename to public/releases/5_3_21.php index fb6d489924..0614fc6aa5 100644 --- a/releases/5_3_21.php +++ b/public/releases/5_3_21.php @@ -1,13 +1,12 @@

    PHP 5.3.21 Release Announcement

    -

    The PHP development team announces the immediate availability of PHP +

    The PHP development team announces the immediate availability of PHP 5.3.21. About 5 bugs were fixed All users of PHP are encouraged to upgrade to PHP 5.4. PHP 5.3.21 is recommended for those wishing to remain on the 5.3 series.

    For source downloads of PHP 5.3.21 please visit our downloads page, diff --git a/releases/5_3_22.php b/public/releases/5_3_22.php similarity index 91% rename from releases/5_3_22.php rename to public/releases/5_3_22.php index bb01841a75..db053d4ea0 100644 --- a/releases/5_3_22.php +++ b/public/releases/5_3_22.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_23.php b/public/releases/5_3_23.php similarity index 91% rename from releases/5_3_23.php rename to public/releases/5_3_23.php index f9017b8e06..6b3b8b0131 100644 --- a/releases/5_3_23.php +++ b/public/releases/5_3_23.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_24.php b/public/releases/5_3_24.php similarity index 91% rename from releases/5_3_24.php rename to public/releases/5_3_24.php index 11dc9d97d7..c01b7ba618 100644 --- a/releases/5_3_24.php +++ b/public/releases/5_3_24.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_25.php b/public/releases/5_3_25.php similarity index 91% rename from releases/5_3_25.php rename to public/releases/5_3_25.php index be6b26a769..52f97b16e9 100644 --- a/releases/5_3_25.php +++ b/public/releases/5_3_25.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_26.php b/public/releases/5_3_26.php similarity index 91% rename from releases/5_3_26.php rename to public/releases/5_3_26.php index b6852a6771..b992d3110d 100644 --- a/releases/5_3_26.php +++ b/public/releases/5_3_26.php @@ -1,7 +1,6 @@ diff --git a/releases/5_3_27.php b/public/releases/5_3_27.php similarity index 92% rename from releases/5_3_27.php rename to public/releases/5_3_27.php index 8936611ff1..3db2b5bc16 100644 --- a/releases/5_3_27.php +++ b/public/releases/5_3_27.php @@ -1,7 +1,6 @@ diff --git a/public/releases/5_3_28.php b/public/releases/5_3_28.php new file mode 100644 index 0000000000..1612a26f25 --- /dev/null +++ b/public/releases/5_3_28.php @@ -0,0 +1,16 @@ + + +

    PHP 5.3.28 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 5.3.28. This release fixes two security issues in OpenSSL module in PHP 5.3 - CVE-2013-4073 and CVE-2013-6420. All PHP 5.3 users are encouraged to upgrade to PHP 5.3.28 or latest versions of PHP 5.4 or PHP 5.5.

    + +

    For source downloads of PHP 5.3.28 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + + diff --git a/public/releases/5_3_29.php b/public/releases/5_3_29.php new file mode 100644 index 0000000000..4319781854 --- /dev/null +++ b/public/releases/5_3_29.php @@ -0,0 +1,27 @@ + + +

    PHP 5.3.29 Release Announcement

    + +

    The PHP development team announces the immediate availability of + PHP 5.3.29. This release marks the end of life of the PHP 5.3 series. + Future releases of this series are not planned. All PHP 5.3 users are + encouraged to upgrade to the current stable version of PHP 5.5 or + previous stable version of PHP 5.4, which are supported till at least + 2016 and 2015 respectively.

    + +

    PHP 5.3.29 contains about 25 potentially security related fixes + backported from PHP 5.4 and 5.5.

    + +

    For source downloads of PHP 5.3.29, please visit our downloads page. Windows + binaries can be found on windows.php.net/download/. The list of changes is recorded in + the ChangeLog.

    + +

    For helping your migration to newer versions please refer to our migration + guides for updates from PHP 5.3 to + 5.4 and from PHP 5.4 to 5.5.

    + + diff --git a/releases/5_3_3.php b/public/releases/5_3_3.php similarity index 97% rename from releases/5_3_3.php rename to public/releases/5_3_3.php index 5ac85637dc..665fdb7200 100644 --- a/releases/5_3_3.php +++ b/public/releases/5_3_3.php @@ -1,14 +1,13 @@

    PHP 5.3.3 Release Announcement

    The PHP development team would like to announce the immediate -availability of PHP 5.3.3. This release focuses on improving the +availability of PHP 5.3.3. This release focuses on improving the stability and security of the PHP 5.3.x branch with over 100 bug fixes, some of which are security related. All users are encouraged to upgrade to this release. @@ -23,7 +22,7 @@ non-namespaced classes.

    '); - ?>

    + ?>

    There is no impact on migration from 5.2.x because namespaces were only introduced in PHP 5.3.

    diff --git a/releases/5_3_4.php b/public/releases/5_3_4.php similarity index 95% rename from releases/5_3_4.php rename to public/releases/5_3_4.php index 6a142d26f1..684153e361 100644 --- a/releases/5_3_4.php +++ b/public/releases/5_3_4.php @@ -1,7 +1,6 @@ @@ -18,7 +17,7 @@

    • Fixed crash in zip extract method (possible CWE-170).
    • Paths with NULL in them (foo\0bar.txt) are now considered as invalid (CVE-2006-7243).
    • -
    • Fixed a possible double free in imap extension (Identified by Mateusz +
    • Fixed a possible double free in imap extension (Identified by Mateusz Kocielski). (CVE-2010-4150).
    • Fixed NULL pointer dereference in ZipArchive::getArchiveComment. (CVE-2010-3709).
    • @@ -34,7 +33,7 @@

      • Added stat support for zip stream.
      • -
      • Added follow_location (enabled by default) option for the http stream +
      • Added follow_location (enabled by default) option for the http stream support.
      • Added a 3rd parameter to get_html_translation_table. It now takes a charset hint, like htmlentities et al.
      • Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect diff --git a/releases/5_3_5.php b/public/releases/5_3_5.php similarity index 93% rename from releases/5_3_5.php rename to public/releases/5_3_5.php index fd66e5592c..4ac707ac43 100644 --- a/releases/5_3_5.php +++ b/public/releases/5_3_5.php @@ -1,7 +1,6 @@ @@ -9,7 +8,7 @@

        The PHP development team would like to announce the immediate availability of PHP 5.3.5.

        - +

        This release resolves a critical issue, reported as PHP bug #53632, where conversions from string to double might cause the PHP interpreter to hang on systems using x87 FPU registers.

        diff --git a/releases/5_3_6.php b/public/releases/5_3_6.php similarity index 94% rename from releases/5_3_6.php rename to public/releases/5_3_6.php index 4c9f8f1301..05913c6dfb 100644 --- a/releases/5_3_6.php +++ b/public/releases/5_3_6.php @@ -1,7 +1,6 @@ @@ -35,19 +34,19 @@
      • Over 60 other bug fixes.
      -

      Windows users: please mind that we do no longer provide builds created -with Visual Studio C++ 6. It is impossible to maintain a high quality +

      Windows users: please mind that we do no longer provide builds created +with Visual Studio C++ 6. It is impossible to maintain a high quality and safe build of PHP for Windows using this unmaintained compiler.

      -

      For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual -Studio C++ 9 version of Apache. We recommend the Apache builds as provided -by ApacheLounge. For any other -SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable -server), everything works as before. Third party extension providers -must rebuild their extensions to make them compatible and loadable with +

      For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual +Studio C++ 9 version of Apache. We recommend the Apache builds as provided +by ApacheLounge. For any other +SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable +server), everything works as before. Third party extension providers +must rebuild their extensions to make them compatible and loadable with the Visual Studio C++9 builds that we now provide.

      -

      All PHP users should note that the PHP 5.2 series is NOT supported +

      All PHP users should note that the PHP 5.2 series is NOT supported anymore. All users are strongly encouraged to upgrade to PHP 5.3.6.

      diff --git a/releases/5_3_7.php b/public/releases/5_3_7.php similarity index 95% rename from releases/5_3_7.php rename to public/releases/5_3_7.php index 44acdc7a7a..f3840a5d83 100644 --- a/releases/5_3_7.php +++ b/public/releases/5_3_7.php @@ -1,7 +1,6 @@ @@ -49,19 +48,19 @@
    • Over 80 other bug fixes.
    -

    Windows users: please mind that we do no longer provide builds created -with Visual Studio C++ 6. It is impossible to maintain a high quality +

    Windows users: please mind that we do no longer provide builds created +with Visual Studio C++ 6. It is impossible to maintain a high quality and safe build of PHP for Windows using this unmaintained compiler.

    -

    For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual -Studio C++ 9 version of Apache. We recommend the Apache builds as provided -by ApacheLounge. For any other -SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable -server), everything works as before. Third party extension providers -must rebuild their extensions to make them compatible and loadable with +

    For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual +Studio C++ 9 version of Apache. We recommend the Apache builds as provided +by ApacheLounge. For any other +SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable +server), everything works as before. Third party extension providers +must rebuild their extensions to make them compatible and loadable with the Visual Studio C++9 builds that we now provide.

    -

    All PHP users should note that the PHP 5.2 series is NOT supported +

    All PHP users should note that the PHP 5.2 series is NOT supported anymore. All users are strongly encouraged to upgrade to PHP 5.3.7.

    diff --git a/releases/5_3_8.php b/public/releases/5_3_8.php similarity index 89% rename from releases/5_3_8.php rename to public/releases/5_3_8.php index 256dee072d..c058dfa640 100644 --- a/releases/5_3_8.php +++ b/public/releases/5_3_8.php @@ -1,7 +1,6 @@ @@ -17,7 +16,7 @@ which caused mysqlnd SSL connections to hang (Bug #55283). -

    All PHP users should note that the PHP 5.2 series is NOT supported +

    All PHP users should note that the PHP 5.2 series is NOT supported anymore. All users are strongly encouraged to upgrade to PHP 5.3.8.

    diff --git a/releases/5_3_9.php b/public/releases/5_3_9.php similarity index 93% rename from releases/5_3_9.php rename to public/releases/5_3_9.php index d8f2e32957..66d8ba7626 100644 --- a/releases/5_3_9.php +++ b/public/releases/5_3_9.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_0.php b/public/releases/5_4_0.php similarity index 89% rename from releases/5_4_0.php rename to public/releases/5_4_0.php index f58f687276..60dd6781d5 100644 --- a/releases/5_4_0.php +++ b/public/releases/5_4_0.php @@ -1,7 +1,6 @@ @@ -18,8 +17,8 @@

    -Extensions moved to PECL: +Extensions moved to PECL:

    • ext/sqlite (ext/sqlite3 and ext/pdo_sqlite are not affected)
    • diff --git a/releases/5_4_1.php b/public/releases/5_4_1.php similarity index 89% rename from releases/5_4_1.php rename to public/releases/5_4_1.php index bc7cea35d5..0bb70f731e 100644 --- a/releases/5_4_1.php +++ b/public/releases/5_4_1.php @@ -1,7 +1,6 @@ @@ -14,7 +13,7 @@

      Security Enhancements for PHP 5.4.1:

        -
      • Fixed bug #54374 (Insufficient validating of upload name leading to +
      • Fixed bug #54374 (Insufficient validating of upload name leading to corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at gmail dot com, Pierre)
      • Add open_basedir checks to readline_write_history and readline_read_history. @@ -28,7 +27,7 @@
      • Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones)
      -

      For a full list of changes in PHP 5.4.1, see the For a full list of changes in PHP 5.4.1, see the ChangeLog. For source downloads please visit our downloads page, Windows binaries can be found on windows.php.net/download/.

      diff --git a/releases/5_4_10.php b/public/releases/5_4_10.php similarity index 90% rename from releases/5_4_10.php rename to public/releases/5_4_10.php index 4ae9df044d..64d1a4055c 100644 --- a/releases/5_4_10.php +++ b/public/releases/5_4_10.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_11.php b/public/releases/5_4_11.php similarity index 90% rename from releases/5_4_11.php rename to public/releases/5_4_11.php index 794db3f535..7d8ec36808 100644 --- a/releases/5_4_11.php +++ b/public/releases/5_4_11.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_12.php b/public/releases/5_4_12.php similarity index 90% rename from releases/5_4_12.php rename to public/releases/5_4_12.php index 52818e241e..c449a8fb78 100644 --- a/releases/5_4_12.php +++ b/public/releases/5_4_12.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_13.php b/public/releases/5_4_13.php similarity index 91% rename from releases/5_4_13.php rename to public/releases/5_4_13.php index 27202d0c65..52b84e0ddf 100644 --- a/releases/5_4_13.php +++ b/public/releases/5_4_13.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_14.php b/public/releases/5_4_14.php similarity index 90% rename from releases/5_4_14.php rename to public/releases/5_4_14.php index f0fc8b3a8f..2ec284c0bd 100644 --- a/releases/5_4_14.php +++ b/public/releases/5_4_14.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_15.php b/public/releases/5_4_15.php similarity index 90% rename from releases/5_4_15.php rename to public/releases/5_4_15.php index 7ba92fa4c6..5ede1dd62c 100644 --- a/releases/5_4_15.php +++ b/public/releases/5_4_15.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_16.php b/public/releases/5_4_16.php similarity index 90% rename from releases/5_4_16.php rename to public/releases/5_4_16.php index 4a5049e004..ed55698aa3 100644 --- a/releases/5_4_16.php +++ b/public/releases/5_4_16.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_17.php b/public/releases/5_4_17.php similarity index 90% rename from releases/5_4_17.php rename to public/releases/5_4_17.php index ce0151be15..ccfaf5d4e7 100644 --- a/releases/5_4_17.php +++ b/public/releases/5_4_17.php @@ -1,7 +1,6 @@ diff --git a/public/releases/5_4_18.php b/public/releases/5_4_18.php new file mode 100644 index 0000000000..4a02580650 --- /dev/null +++ b/public/releases/5_4_18.php @@ -0,0 +1,21 @@ + + +

      PHP 5.4.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.18. About 30 bugs were fixed, including security issues CVE-2013-4113 and CVE-2013-4248. +

      + +

      NOTE: Please do not use this release, due to the bug in the fix for CVE-2013-4248. This bug is fixed in +PHP 5.4.19.

      + +

      For source downloads of PHP 5.4.18 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_19.php b/public/releases/5_4_19.php new file mode 100644 index 0000000000..e641a3ed13 --- /dev/null +++ b/public/releases/5_4_19.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.19. This release fixes a bug in the patch for CVE-2013-4248 in OpenSSL module and +compile failure with ZTS enabled.

      + +

      All PHP 5.4 users are encouraged to upgrade to this release.

      + +

      For source downloads of PHP 5.4.19 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/releases/5_4_2.php b/public/releases/5_4_2.php similarity index 97% rename from releases/5_4_2.php rename to public/releases/5_4_2.php index 2234e6991c..c38245c5c5 100644 --- a/releases/5_4_2.php +++ b/public/releases/5_4_2.php @@ -1,7 +1,6 @@ diff --git a/public/releases/5_4_20.php b/public/releases/5_4_20.php new file mode 100644 index 0000000000..7883d14ba9 --- /dev/null +++ b/public/releases/5_4_20.php @@ -0,0 +1,18 @@ + + +

      PHP 5.4.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.20. About 30 bugs were fixed. All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.20 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_21.php b/public/releases/5_4_21.php new file mode 100644 index 0000000000..1a38a8a5da --- /dev/null +++ b/public/releases/5_4_21.php @@ -0,0 +1,18 @@ + + +

      PHP 5.4.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.21. About 10 bugs were fixed. All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.21 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_22.php b/public/releases/5_4_22.php new file mode 100644 index 0000000000..9fd6025392 --- /dev/null +++ b/public/releases/5_4_22.php @@ -0,0 +1,18 @@ + + +

      PHP 5.4.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.22. About 10 bugs were fixed. All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.22 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_23.php b/public/releases/5_4_23.php new file mode 100644 index 0000000000..f1b259cdf1 --- /dev/null +++ b/public/releases/5_4_23.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.23. About 10 bugs were fixed, including a security issue in OpenSSL module (CVE-2013-6420). +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.23 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_24.php b/public/releases/5_4_24.php new file mode 100644 index 0000000000..ce36da5ac4 --- /dev/null +++ b/public/releases/5_4_24.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.24. About 14 bugs were fixed. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.24 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_25.php b/public/releases/5_4_25.php new file mode 100644 index 0000000000..0895be2b1e --- /dev/null +++ b/public/releases/5_4_25.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.25. 5 bugs were fixed in this release. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.25 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_26.php b/public/releases/5_4_26.php new file mode 100644 index 0000000000..60558581a9 --- /dev/null +++ b/public/releases/5_4_26.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.26. 5 bugs were fixed in this release, including CVE-2014-1943. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.26 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_27.php b/public/releases/5_4_27.php new file mode 100644 index 0000000000..a67ac926ec --- /dev/null +++ b/public/releases/5_4_27.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.27. 6 bugs were fixed in this release, including CVE-2013-7345. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.27 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_28.php b/public/releases/5_4_28.php new file mode 100644 index 0000000000..d78725e30e --- /dev/null +++ b/public/releases/5_4_28.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.28. 19 bugs were fixed in this release, including CVE-2014-0185. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.28 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_29.php b/public/releases/5_4_29.php new file mode 100644 index 0000000000..89fe4c3799 --- /dev/null +++ b/public/releases/5_4_29.php @@ -0,0 +1,19 @@ + + +

      PHP 5.4.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.29. 16 bugs were fixed in this release, including two security issues in fileinfo extension. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.29 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/releases/5_4_3.php b/public/releases/5_4_3.php similarity index 92% rename from releases/5_4_3.php rename to public/releases/5_4_3.php index 849306b851..66afe5c7a1 100644 --- a/releases/5_4_3.php +++ b/public/releases/5_4_3.php @@ -1,7 +1,6 @@ diff --git a/public/releases/5_4_30.php b/public/releases/5_4_30.php new file mode 100644 index 0000000000..5d702681bb --- /dev/null +++ b/public/releases/5_4_30.php @@ -0,0 +1,32 @@ + + +

      PHP 5.4.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.30. Over 20 bugs were fixed in this release, including the following security issues: +CVE-2014-3981, CVE-2014-0207, CVE-2014-3478, CVE-2014-3479, CVE-2014-3480, CVE-2014-3487, +CVE-2014-4049, CVE-2014-3515. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      Please, note that this release also fixes a backward compatibility issue that has been +detected in the PHP 5.4.29 release. Still, the fix in PHP 5.4.30 may break some very rare +situations. As this tiny compatibility break involves security, and as security is our primary +concern, we had to fix it. This concerns +bug 67072. For more information about +this bug and its actual resolution, please refer to our +upgrading guide, section 4a. +We apologize for any inconvenience you may have experienced with this behavior.

      + + +

      For source downloads of PHP 5.4.30 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_31.php b/public/releases/5_4_31.php new file mode 100644 index 0000000000..032bba8dee --- /dev/null +++ b/public/releases/5_4_31.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.31. Over 10 bugs were fixed in this release. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.31 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_32.php b/public/releases/5_4_32.php new file mode 100644 index 0000000000..947ba58c30 --- /dev/null +++ b/public/releases/5_4_32.php @@ -0,0 +1,21 @@ + + +

      PHP 5.4.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.32. 16 bugs were fixed in this release, including the following security-related issues: +CVE-2014-2497, CVE-2014-3538, CVE-2014-3587, CVE-2014-3597, CVE-2014-4670, CVE-2014-4698, CVE-2014-5120. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.32 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_33.php b/public/releases/5_4_33.php new file mode 100644 index 0000000000..55a1798d6d --- /dev/null +++ b/public/releases/5_4_33.php @@ -0,0 +1,26 @@ + + +

      PHP 5.4.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.33. 10 bugs were fixed in this release. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      +This release is the last planned release that contains regular bugfixes. All the consequent releases +will contain only security-relevant fixes, for the term of one year. +PHP 5.4 users that need further bugfixes are encouraged to upgrade to PHP 5.6 or PHP 5.5. +

      + +

      For source downloads of PHP 5.4.33 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_34.php b/public/releases/5_4_34.php new file mode 100644 index 0000000000..d5cae6c476 --- /dev/null +++ b/public/releases/5_4_34.php @@ -0,0 +1,22 @@ + + +

      PHP 5.4.34 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.34. 6 security-related bugs were fixed in this release, including fixes for +CVE-2014-3668, CVE-2014-3669 and CVE-2014-3670. Also, a fix for OpenSSL which +produced regressions was reverted. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.34 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_35.php b/public/releases/5_4_35.php new file mode 100644 index 0000000000..d75b3f3c27 --- /dev/null +++ b/public/releases/5_4_35.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.35 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.35. 4 security-related bugs were fixed in this release, including the fix for CVE-2014-3710. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.35 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_36.php b/public/releases/5_4_36.php new file mode 100644 index 0000000000..1c2c3901fc --- /dev/null +++ b/public/releases/5_4_36.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.36 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.36. Two security-related bugs were fixed in this release, including the fix for CVE-2014-8142. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.36 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_37.php b/public/releases/5_4_37.php new file mode 100644 index 0000000000..0b904f0ae9 --- /dev/null +++ b/public/releases/5_4_37.php @@ -0,0 +1,21 @@ + + +

      PHP 5.4.37 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.37. Six security-related bugs were fixed in this release, including CVE-2015-0231, CVE-2014-9427 +and CVE-2015-0232. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.37 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_38.php b/public/releases/5_4_38.php new file mode 100644 index 0000000000..79e6022110 --- /dev/null +++ b/public/releases/5_4_38.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.38 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.38. Seven security-related bugs were fixed in this release, including CVE-2015-0273 and mitigation for CVE-2015-0235. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.38 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_39.php b/public/releases/5_4_39.php new file mode 100644 index 0000000000..1dad676b9d --- /dev/null +++ b/public/releases/5_4_39.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.39 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.39. Six security-related bugs were fixed in this release, including CVE-2015-0231, CVE-2015-2305 and CVE-2015-2331. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.39 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/releases/5_4_4.php b/public/releases/5_4_4.php similarity index 92% rename from releases/5_4_4.php rename to public/releases/5_4_4.php index 296ac86ebe..6de72677ce 100644 --- a/releases/5_4_4.php +++ b/public/releases/5_4_4.php @@ -1,7 +1,6 @@ diff --git a/public/releases/5_4_40.php b/public/releases/5_4_40.php new file mode 100644 index 0000000000..6cfd8df917 --- /dev/null +++ b/public/releases/5_4_40.php @@ -0,0 +1,21 @@ + + +

      PHP 5.4.40 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.40. 14 security-related bugs were fixed in this release, including +CVE-2014-9709, CVE-2015-2301, CVE-2015-2783, CVE-2015-1352. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.40 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_41.php b/public/releases/5_4_41.php new file mode 100644 index 0000000000..b179abb314 --- /dev/null +++ b/public/releases/5_4_41.php @@ -0,0 +1,20 @@ + + +

      PHP 5.4.41 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.41. Seven security-related issues were fixed in this version. + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.41 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_42.php b/public/releases/5_4_42.php new file mode 100644 index 0000000000..bbff20bf60 --- /dev/null +++ b/public/releases/5_4_42.php @@ -0,0 +1,21 @@ + + +

      PHP 5.4.42 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.42. Six security-related issues in PHP were fixed in this release, +as well as several security issues in bundled sqlite library (CVE-2015-3414, CVE-2015-3415, CVE-2015-3416). + +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.42 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_4_43.php b/public/releases/5_4_43.php new file mode 100644 index 0000000000..5f5487726d --- /dev/null +++ b/public/releases/5_4_43.php @@ -0,0 +1,23 @@ + + +

      PHP 5.4.43 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.43. Five security-related issues in PHP were fixed in this release, including CVE-2015-3152. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.43 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      Please note that PHP 5.4 branch is nearing the end of its support timeframe. +If your PHP installations is based on PHP 5.4, it may be a good time to start making the plans for the upgrade. +

      + + diff --git a/public/releases/5_4_44.php b/public/releases/5_4_44.php new file mode 100644 index 0000000000..f84c1b60de --- /dev/null +++ b/public/releases/5_4_44.php @@ -0,0 +1,23 @@ + + +

      PHP 5.4.44 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.44. 11 security-related issues were fixed in this release. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.44 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      Please note that PHP 5.4 branch is nearing the end of its support timeframe. Either September or October release, depending on discovered issues, will be the last official release of PHP 5.4. +If your PHP installation is based on PHP 5.4, it may be a good time to start making the plans for the upgrade. +

      + + diff --git a/public/releases/5_4_45.php b/public/releases/5_4_45.php new file mode 100644 index 0000000000..bf93283a13 --- /dev/null +++ b/public/releases/5_4_45.php @@ -0,0 +1,25 @@ + + +

      PHP 5.4.45 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.4.45. Ten security-related issues were fixed in this release. +All PHP 5.4 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.4.45 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      Please note that according to the PHP version support timelines, +PHP 5.4.45 is the last scheduled release of PHP 5.4 branch. There may be additional release if we discover +important security issues that warrant it, otherwise this release will be the final one in the PHP 5.4 branch. +If your PHP installation is based on PHP 5.4, it may be a good time to start making the plans for the upgrade to PHP 5.5 or PHP 5.6. +

      + + diff --git a/releases/5_4_5.php b/public/releases/5_4_5.php similarity index 91% rename from releases/5_4_5.php rename to public/releases/5_4_5.php index 0d53a92140..e0909c5857 100644 --- a/releases/5_4_5.php +++ b/public/releases/5_4_5.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_6.php b/public/releases/5_4_6.php similarity index 90% rename from releases/5_4_6.php rename to public/releases/5_4_6.php index 6533e7309f..b9b132b7dd 100644 --- a/releases/5_4_6.php +++ b/public/releases/5_4_6.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_7.php b/public/releases/5_4_7.php similarity index 90% rename from releases/5_4_7.php rename to public/releases/5_4_7.php index 210f295a10..95a3d82498 100644 --- a/releases/5_4_7.php +++ b/public/releases/5_4_7.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_8.php b/public/releases/5_4_8.php similarity index 91% rename from releases/5_4_8.php rename to public/releases/5_4_8.php index 34839d6206..1338ea1abd 100644 --- a/releases/5_4_8.php +++ b/public/releases/5_4_8.php @@ -1,7 +1,6 @@ diff --git a/releases/5_4_9.php b/public/releases/5_4_9.php similarity index 90% rename from releases/5_4_9.php rename to public/releases/5_4_9.php index 2098f35f43..60cdc68c16 100644 --- a/releases/5_4_9.php +++ b/public/releases/5_4_9.php @@ -1,7 +1,6 @@ diff --git a/releases/5_5_0.php b/public/releases/5_5_0.php similarity index 95% rename from releases/5_5_0.php rename to public/releases/5_5_0.php index 56aed7a117..44d77880ce 100644 --- a/releases/5_5_0.php +++ b/public/releases/5_5_0.php @@ -1,7 +1,6 @@ diff --git a/releases/5_5_1.php b/public/releases/5_5_1.php similarity index 88% rename from releases/5_5_1.php rename to public/releases/5_5_1.php index b0dbd4ec9f..f431d08803 100644 --- a/releases/5_5_1.php +++ b/public/releases/5_5_1.php @@ -1,7 +1,6 @@ diff --git a/public/releases/5_5_10.php b/public/releases/5_5_10.php new file mode 100644 index 0000000000..c0eede66ab --- /dev/null +++ b/public/releases/5_5_10.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.10 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.10. +This release fixes several bugs against PHP 5.5.9, as well as CVE-2014-1943, CVE-2014-2270 +and CVE-2013-7327

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.10, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_11.php b/public/releases/5_5_11.php new file mode 100644 index 0000000000..6dae7e0750 --- /dev/null +++ b/public/releases/5_5_11.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.11 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.11. +This release fixes several bugs against PHP 5.5.10, as well as CVE-2013-7345 regarding Fileinfo

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.11, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_12.php b/public/releases/5_5_12.php new file mode 100644 index 0000000000..7d91729f9f --- /dev/null +++ b/public/releases/5_5_12.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.12 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.12. +This release fixes several bugs against PHP 5.5.11, as well as CVE-2014-0185 regarding PHP-FPM.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.12, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_13.php b/public/releases/5_5_13.php new file mode 100644 index 0000000000..ee3f9c7c02 --- /dev/null +++ b/public/releases/5_5_13.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.13 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.13. +This release fixes several bugs against PHP 5.5.12, and addresses several +CVEs in Fileinfo (CVE-2014-0238 and CVE-2014-0237).

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.13, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_14.php b/public/releases/5_5_14.php new file mode 100644 index 0000000000..2c0d73199c --- /dev/null +++ b/public/releases/5_5_14.php @@ -0,0 +1,30 @@ + + +

      PHP 5.5.14 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.14. +This release fixes several bugs against PHP 5.5.13. +Also, this release fixes a total of 8 CVEs, half of them concerning the FileInfo +extension.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      Please, note that this release also fixes a backward compatibility issue that has been +detected in the PHP 5.5.13 release. Still, the fix in PHP 5.5.14 may break some very rare +situations. As this tiny compatibility break involves security, and as security is our primary +concern, we had to fix it. This concerns +bug 67072. For more information about +this bug and its actual resolution, please visit our +upgrading guide. +We apologize for any inconvenience you may have experienced with this behavior.

      + +

      For source downloads of PHP 5.5.14, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_15.php b/public/releases/5_5_15.php new file mode 100644 index 0000000000..0a0ae853bf --- /dev/null +++ b/public/releases/5_5_15.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.15 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.15. +This release fixes several bugs against PHP 5.5.14. +

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.15, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_16.php b/public/releases/5_5_16.php new file mode 100644 index 0000000000..cc34722100 --- /dev/null +++ b/public/releases/5_5_16.php @@ -0,0 +1,21 @@ + + +

      PHP 5.5.16 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.16. +This release fixes several bugs against PHP 5.5.15 and resolves CVE-2014-3538, CVE-2014-3587, +CVE-2014-2497, CVE-2014-5120 and CVE-2014-3597. +

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.16, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_17.php b/public/releases/5_5_17.php new file mode 100644 index 0000000000..6b4cc9e963 --- /dev/null +++ b/public/releases/5_5_17.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.17 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.17. Several bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.17 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_18.php b/public/releases/5_5_18.php new file mode 100644 index 0000000000..7f24c4072a --- /dev/null +++ b/public/releases/5_5_18.php @@ -0,0 +1,22 @@ + + +

      PHP 5.5.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.18. Several bugs were fixed in this release. A regression in OpenSSL introduced in PHP 5.5.17 has + also been addressed in this release. + PHP 5.5.18 also fixes 4 CVEs in different components. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.18 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_19.php b/public/releases/5_5_19.php new file mode 100644 index 0000000000..b356b0ce65 --- /dev/null +++ b/public/releases/5_5_19.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.19. This release fixes several bugs and one CVE in the fileinfo extension. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.19 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_2.php b/public/releases/5_5_2.php new file mode 100644 index 0000000000..99e4312f77 --- /dev/null +++ b/public/releases/5_5_2.php @@ -0,0 +1,21 @@ + + +

      PHP 5.5.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.5.2. About 20 bugs were fixed, including security issue in OpenSSL module (CVE-2013-4248) and session fixation problem (CVE-2011-4718). +

      + +

      NOTE: Please do not use this release, due to the bug in the fix for CVE-2013-4248. This bug is fixed in +PHP 5.5.3.

      + +

      For source downloads of PHP 5.5.2 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_20.php b/public/releases/5_5_20.php new file mode 100644 index 0000000000..ffa58757ec --- /dev/null +++ b/public/releases/5_5_20.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.20. This release fixes several bugs and one CVE related to unserialization. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.20 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_21.php b/public/releases/5_5_21.php new file mode 100644 index 0000000000..18c67f50c7 --- /dev/null +++ b/public/releases/5_5_21.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.21. This release fixes several bugs as well as CVE-2015-0231, CVE-2014-9427 and CVE-2015-0232. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.21 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_22.php b/public/releases/5_5_22.php new file mode 100644 index 0000000000..bdc97c9688 --- /dev/null +++ b/public/releases/5_5_22.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.22. This release fixes several bugs and addresses CVE-2015-0235 and CVE-2015-0273. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.22 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_23.php b/public/releases/5_5_23.php new file mode 100644 index 0000000000..2b1a77e16a --- /dev/null +++ b/public/releases/5_5_23.php @@ -0,0 +1,20 @@ + + +

      PHP 5.5.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.23. Several bugs have been fixed as well as CVE-2015-0231, CVE-2015-2305 and CVE-2015-2331. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.23 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_24.php b/public/releases/5_5_24.php new file mode 100644 index 0000000000..75488b9797 --- /dev/null +++ b/public/releases/5_5_24.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.24. Several bugs have been fixed some of them beeing security related, like CVE-2015-1351 and CVE-2015-1352. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.24 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_25.php b/public/releases/5_5_25.php new file mode 100644 index 0000000000..bbe462e40a --- /dev/null +++ b/public/releases/5_5_25.php @@ -0,0 +1,18 @@ + +

      PHP 5.5.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.25. Several bugs have been fixed. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.25 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. + + diff --git a/public/releases/5_5_26.php b/public/releases/5_5_26.php new file mode 100644 index 0000000000..e4c1514cfc --- /dev/null +++ b/public/releases/5_5_26.php @@ -0,0 +1,20 @@ + +

      PHP 5.5.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.26. Several bugs have been fixed as well as several security issues into some + bundled librairies (CVE-2015-3414, CVE-2015-3415, CVE-2015-3416, CVE-2015-2325 and CVE-2015-2326). + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.26 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_27.php b/public/releases/5_5_27.php new file mode 100644 index 0000000000..af270775e9 --- /dev/null +++ b/public/releases/5_5_27.php @@ -0,0 +1,25 @@ + +

      PHP 5.5.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.27. Several bugs were fixed in this release as well as CVE-2015-3152. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      + According to our release calendar, this PHP 5.5 version + is the last planned release that contains regular bugfixes. All the consequent releases + will contain only security-relevant fixes, for the term of one year. + PHP 5.5 users that need further bugfixes are encouraged to upgrade to PHP 5.6. +

      + +

      For source downloads of PHP 5.5.27 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. + + diff --git a/public/releases/5_5_28.php b/public/releases/5_5_28.php new file mode 100644 index 0000000000..bb600b0420 --- /dev/null +++ b/public/releases/5_5_28.php @@ -0,0 +1,26 @@ + +

      PHP 5.5.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.28. 12 security-related issues were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      + According to our release calendar, this PHP 5.5 version + is the first security release of the PHP 5.5 branch. This and all the following releases of this branch + do not contain bugfixes that are not considered relevant for security. + PHP 5.5 users that need further bugfixes are encouraged to upgrade to PHP 5.6. +

      + +

      For source downloads of PHP 5.5.28 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_29.php b/public/releases/5_5_29.php new file mode 100644 index 0000000000..d4453db603 --- /dev/null +++ b/public/releases/5_5_29.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.29. This is a security release. Many security-related issues were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.29 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_3.php b/public/releases/5_5_3.php new file mode 100644 index 0000000000..fbf0d91862 --- /dev/null +++ b/public/releases/5_5_3.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 5.5.3. +This release fixes a bug in the patch for CVE-2013-4248 in OpenSSL module.

      + +

      All PHP users are encouraged to upgrade to this release.

      + +

      For source downloads of PHP 5.5.3 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_30.php b/public/releases/5_5_30.php new file mode 100644 index 0000000000..5703c0678c --- /dev/null +++ b/public/releases/5_5_30.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.30. This is a security release. Two security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.30 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_31.php b/public/releases/5_5_31.php new file mode 100644 index 0000000000..8dd17c96e6 --- /dev/null +++ b/public/releases/5_5_31.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.31. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.31 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_32.php b/public/releases/5_5_32.php new file mode 100644 index 0000000000..7745e44dcb --- /dev/null +++ b/public/releases/5_5_32.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.32. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.32 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_33.php b/public/releases/5_5_33.php new file mode 100644 index 0000000000..2a589cbeff --- /dev/null +++ b/public/releases/5_5_33.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.33. This is a security release. Two security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.33 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_34.php b/public/releases/5_5_34.php new file mode 100644 index 0000000000..c80cd23d91 --- /dev/null +++ b/public/releases/5_5_34.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.34 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.34. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.34 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_35.php b/public/releases/5_5_35.php new file mode 100644 index 0000000000..6a3bf2ec19 --- /dev/null +++ b/public/releases/5_5_35.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.35 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.35. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.35 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_36.php b/public/releases/5_5_36.php new file mode 100644 index 0000000000..66e8c764a5 --- /dev/null +++ b/public/releases/5_5_36.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.36 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.36. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.36 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_37.php b/public/releases/5_5_37.php new file mode 100644 index 0000000000..250f9954cd --- /dev/null +++ b/public/releases/5_5_37.php @@ -0,0 +1,19 @@ + +

      PHP 5.5.37 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.5.37. This is a security release, several security bugs were fixed. + + All PHP 5.5 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.5.37 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_38.php b/public/releases/5_5_38.php new file mode 100644 index 0000000000..c453c14809 --- /dev/null +++ b/public/releases/5_5_38.php @@ -0,0 +1,22 @@ + +

      PHP 5.5.38 Release Announcement

      + +

      + The PHP development team announces the immediate availability of PHP 5.5.38. This is a security release that fixes + some security related bugs. +

      + +

      All PHP 5.5 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 5.5.38 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.

      + +

      + Note that according to our release schedule, PHP 5.5.38 is the last release of the PHP 5.5 branch. + There may be additional release if we discover important security issues that warrant it, otherwise this release will be the final one in the PHP 5.5 branch. If your PHP installation is based on PHP 5.5, it may be a good time to start making the plans for the upgrade to PHP 5.6 or PHP 7.0. +

      + + diff --git a/public/releases/5_5_4.php b/public/releases/5_5_4.php new file mode 100644 index 0000000000..0c2053f85d --- /dev/null +++ b/public/releases/5_5_4.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 5.5.4. +This release fixes several bugs against PHP 5.5.3.

      + +

      All PHP users are encouraged to upgrade to this release.

      + +

      For source downloads of PHP 5.5.4 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_5.php b/public/releases/5_5_5.php new file mode 100644 index 0000000000..4c67e3a8f7 --- /dev/null +++ b/public/releases/5_5_5.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.5 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.5. +This release fixes about twenty bugs against PHP 5.5.4, some of them regarding the build system.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.5, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_6.php b/public/releases/5_5_6.php new file mode 100644 index 0000000000..59856b814c --- /dev/null +++ b/public/releases/5_5_6.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.6 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.6. +This release fixes some bugs against PHP 5.5.5, and adds some performance improvements.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.6, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_7.php b/public/releases/5_5_7.php new file mode 100644 index 0000000000..2729e4e57a --- /dev/null +++ b/public/releases/5_5_7.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.7 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.7. +This release fixes some bugs against PHP 5.5.6, and fixes CVE-2013-6420.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.7, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_8.php b/public/releases/5_5_8.php new file mode 100644 index 0000000000..de4e57bac0 --- /dev/null +++ b/public/releases/5_5_8.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.8 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.8. +This release fixes about 20 bugs against PHP 5.5.7.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.8, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_5_9.php b/public/releases/5_5_9.php new file mode 100644 index 0000000000..8fc8623963 --- /dev/null +++ b/public/releases/5_5_9.php @@ -0,0 +1,19 @@ + + +

      PHP 5.5.9 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.5.9. +This release fixes several bugs against PHP 5.5.8.

      + +

      All PHP users are encouraged to upgrade to this new version.

      + +

      For source downloads of PHP 5.5.9, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_0.php b/public/releases/5_6_0.php new file mode 100644 index 0000000000..63e298bc41 --- /dev/null +++ b/public/releases/5_6_0.php @@ -0,0 +1,48 @@ + + +

      PHP 5.6.0 Release Announcement

      + +

      The PHP Development Team announces the immediate availability of PHP 5.6.0. +This new version comes with new features, some backward incompatible changes and many improvements. +

      + +

      The main features of PHP 5.6.0 include:

      + + +

      For a full list of new features, you may read the new features chapter of the migration guide.

      + +

      +PHP 5.6.0 also introduces changes that affect compatibility: +

      + +
        +
      • Array keys won't be overwritten when defining an array as a property of a class via an array literal.
      • +
      • json_decode() is more strict in JSON syntax parsing.
      • +
      • Stream wrappers now verify peer certificates and host names by default when using SSL/TLS.
      • +
      • GMP resources are now objects.
      • +
      • Mcrypt functions now require valid keys and IVs.
      • +
      + +

      + For users upgrading from PHP 5.5, a full migration guide is available, detailing the changes between 5.5 and 5.6.0. +

      + +

      For source downloads of PHP 5.6.0, please visit our downloads page. +Windows binaries can be found on windows.php.net/download/. +The full list of changes is available in the ChangeLog. +

      + + diff --git a/public/releases/5_6_1.php b/public/releases/5_6_1.php new file mode 100644 index 0000000000..61808d6794 --- /dev/null +++ b/public/releases/5_6_1.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.1 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.1. Several bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.1 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_10.php b/public/releases/5_6_10.php new file mode 100644 index 0000000000..42602d667c --- /dev/null +++ b/public/releases/5_6_10.php @@ -0,0 +1,20 @@ + +

      PHP 5.6.10 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.10. Several bugs have been fixed as well as several security issues into some + bundled librairies (CVE-2015-3414, CVE-2015-3415, CVE-2015-3416, CVE-2015-2325 and CVE-2015-2326). + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.10 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_11.php b/public/releases/5_6_11.php new file mode 100644 index 0000000000..dc70264a36 --- /dev/null +++ b/public/releases/5_6_11.php @@ -0,0 +1,19 @@ + + +

      PHP 5.6.11 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +5.6.11. Five security-related issues in PHP were fixed in this release, including CVE-2015-3152. +All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.11 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_12.php b/public/releases/5_6_12.php new file mode 100644 index 0000000000..9ed0664296 --- /dev/null +++ b/public/releases/5_6_12.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.12 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.12. 12 security-related issues were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.12 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_13.php b/public/releases/5_6_13.php new file mode 100644 index 0000000000..9339c6a2e5 --- /dev/null +++ b/public/releases/5_6_13.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.13 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.13. 11 security-related issues were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.13 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_14.php b/public/releases/5_6_14.php new file mode 100644 index 0000000000..782472c854 --- /dev/null +++ b/public/releases/5_6_14.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.14 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.14. This is a security release. Two security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.14 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_15.php b/public/releases/5_6_15.php new file mode 100644 index 0000000000..c3f7d11e8d --- /dev/null +++ b/public/releases/5_6_15.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.15 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.15. Several bugs have been fixed. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.15 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_16.php b/public/releases/5_6_16.php new file mode 100644 index 0000000000..c38e0520d3 --- /dev/null +++ b/public/releases/5_6_16.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.16 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.16. Several bugs have been fixed. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.16 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_17.php b/public/releases/5_6_17.php new file mode 100644 index 0000000000..accad6993d --- /dev/null +++ b/public/releases/5_6_17.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.17 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.17. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.17 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_18.php b/public/releases/5_6_18.php new file mode 100644 index 0000000000..10dc2ac818 --- /dev/null +++ b/public/releases/5_6_18.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.18. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.18 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_19.php b/public/releases/5_6_19.php new file mode 100644 index 0000000000..3811bd31ad --- /dev/null +++ b/public/releases/5_6_19.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.19. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.19 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_2.php b/public/releases/5_6_2.php new file mode 100644 index 0000000000..a6a0f2c8f9 --- /dev/null +++ b/public/releases/5_6_2.php @@ -0,0 +1,19 @@ + + +

      PHP 5.6.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 5.6.2. +Four security-related bugs were fixed in this release, including fixes for CVE-2014-3668, CVE-2014-3669 and CVE-2014-3670. +All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.2 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_20.php b/public/releases/5_6_20.php new file mode 100644 index 0000000000..6d414ddf08 --- /dev/null +++ b/public/releases/5_6_20.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.20. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.20 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_21.php b/public/releases/5_6_21.php new file mode 100644 index 0000000000..fe55553380 --- /dev/null +++ b/public/releases/5_6_21.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.21. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.21 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_22.php b/public/releases/5_6_22.php new file mode 100644 index 0000000000..7e2d320f14 --- /dev/null +++ b/public/releases/5_6_22.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.22. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.22 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_23.php b/public/releases/5_6_23.php new file mode 100644 index 0000000000..8177802afc --- /dev/null +++ b/public/releases/5_6_23.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.23. Several bugs were fixed in this release, including security-related ones. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.23 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_24.php b/public/releases/5_6_24.php new file mode 100644 index 0000000000..9d5305da7c --- /dev/null +++ b/public/releases/5_6_24.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.24. This is a security release. Several security bugs were fixed in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.24 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_25.php b/public/releases/5_6_25.php new file mode 100644 index 0000000000..da3d893522 --- /dev/null +++ b/public/releases/5_6_25.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.25. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.25 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_26.php b/public/releases/5_6_26.php new file mode 100644 index 0000000000..97c5b7f1b6 --- /dev/null +++ b/public/releases/5_6_26.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.26. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.26 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_27.php b/public/releases/5_6_27.php new file mode 100644 index 0000000000..7a5df59e84 --- /dev/null +++ b/public/releases/5_6_27.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.27. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.27 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_28.php b/public/releases/5_6_28.php new file mode 100644 index 0000000000..0b87ad7404 --- /dev/null +++ b/public/releases/5_6_28.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.28. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.28 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_29.php b/public/releases/5_6_29.php new file mode 100644 index 0000000000..2d141ada07 --- /dev/null +++ b/public/releases/5_6_29.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.29. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.29 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_3.php b/public/releases/5_6_3.php new file mode 100644 index 0000000000..720be2171d --- /dev/null +++ b/public/releases/5_6_3.php @@ -0,0 +1,19 @@ + + +

      PHP 5.6.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 5.6.3. +This release fixes several bugs and one CVE in the fileinfo extension. +All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.3 please visit our downloads page, +Windows binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_30.php b/public/releases/5_6_30.php new file mode 100644 index 0000000000..d0b128e242 --- /dev/null +++ b/public/releases/5_6_30.php @@ -0,0 +1,28 @@ + + +

      PHP 5.6.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.30. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      + According to our release calendar, this PHP 5.6 version + is the last planned release that contains regular bugfixes. All the consequent releases + will contain only security-relevant fixes, for the term of two years. + PHP 5.6 users that need further bugfixes are encouraged to upgrade to PHP 7. +

      + +

      For source downloads of PHP 5.6.30 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_31.php b/public/releases/5_6_31.php new file mode 100644 index 0000000000..856bef23f5 --- /dev/null +++ b/public/releases/5_6_31.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.31. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.31 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_32.php b/public/releases/5_6_32.php new file mode 100644 index 0000000000..02b465f85f --- /dev/null +++ b/public/releases/5_6_32.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.32. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.32 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_33.php b/public/releases/5_6_33.php new file mode 100644 index 0000000000..4b73b16b84 --- /dev/null +++ b/public/releases/5_6_33.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.33. This is a security release. Several security bugs were fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.33 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_34.php b/public/releases/5_6_34.php new file mode 100644 index 0000000000..f801563326 --- /dev/null +++ b/public/releases/5_6_34.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.34 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.34. This is a security release. One security bug was fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.34 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_35.php b/public/releases/5_6_35.php new file mode 100644 index 0000000000..15bc6214ba --- /dev/null +++ b/public/releases/5_6_35.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.35 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.35. This is a security release. One security bug was fixed in + this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.35 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_36.php b/public/releases/5_6_36.php new file mode 100644 index 0000000000..790d59500f --- /dev/null +++ b/public/releases/5_6_36.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.36 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.36. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.36 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_37.php b/public/releases/5_6_37.php new file mode 100644 index 0000000000..62d32b751f --- /dev/null +++ b/public/releases/5_6_37.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.37 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.37. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.37 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_38.php b/public/releases/5_6_38.php new file mode 100644 index 0000000000..cb3467be6e --- /dev/null +++ b/public/releases/5_6_38.php @@ -0,0 +1,21 @@ + + +

      PHP 5.6.38 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.38. This is a security release. One security bug has been fixed + in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.38 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_39.php b/public/releases/5_6_39.php new file mode 100644 index 0000000000..b1b0d237d4 --- /dev/null +++ b/public/releases/5_6_39.php @@ -0,0 +1,32 @@ + + +

      PHP 5.6.39 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.39. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.39 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + +

      Please note that according to the PHP version +support timelines, + PHP 5.6.39 is the last scheduled release of PHP 5.6 branch. There may be additional release if we +discover + important security issues that warrant it, otherwise this release will be the final one in the PHP +5.6 branch. + If your PHP installation is based on PHP 5.6, it may be a good time to start making the plans for +the upgrade + to PHP 7.1, PHP 7.2 or PHP 7.3. +

      + + diff --git a/public/releases/5_6_4.php b/public/releases/5_6_4.php new file mode 100644 index 0000000000..bca6dfc67b --- /dev/null +++ b/public/releases/5_6_4.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.4. This release fixes several bugs and one CVE related to unserialization. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.4 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_40.php b/public/releases/5_6_40.php new file mode 100644 index 0000000000..ca3b194bcc --- /dev/null +++ b/public/releases/5_6_40.php @@ -0,0 +1,32 @@ + + +

      PHP 5.6.40 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.40. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.40 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + +

      Please note that according to the PHP version +support timelines, + PHP 5.6.40 is the last scheduled release of PHP 5.6 branch. There may be additional release if we +discover + important security issues that warrant it, otherwise this release will be the final one in the PHP +5.6 branch. + If your PHP installation is based on PHP 5.6, it may be a good time to start making the plans for +the upgrade + to PHP 7.1, PHP 7.2 or PHP 7.3. +

      + + diff --git a/public/releases/5_6_5.php b/public/releases/5_6_5.php new file mode 100644 index 0000000000..ffde298e31 --- /dev/null +++ b/public/releases/5_6_5.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.5 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.5. This release fixes several bugs as well as CVE-2015-0231, CVE-2014-9427 and CVE-2015-0232. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.5 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_6.php b/public/releases/5_6_6.php new file mode 100644 index 0000000000..77694bd9ab --- /dev/null +++ b/public/releases/5_6_6.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.6 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.6. This release fixes several bugs and addresses CVE-2015-0235 and CVE-2015-0273. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.6 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_7.php b/public/releases/5_6_7.php new file mode 100644 index 0000000000..2edf011f2b --- /dev/null +++ b/public/releases/5_6_7.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.7 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.7. Several bugs have been fixed as well as CVE-2015-0231, CVE-2015-2305 and CVE-2015-2331. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.7 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_8.php b/public/releases/5_6_8.php new file mode 100644 index 0000000000..fa4fe35faa --- /dev/null +++ b/public/releases/5_6_8.php @@ -0,0 +1,19 @@ + +

      PHP 5.6.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.8. Several bugs have been fixed some of them beeing security related, like CVE-2015-1351 and CVE-2015-1352. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.8 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/5_6_9.php b/public/releases/5_6_9.php new file mode 100644 index 0000000000..26391cad28 --- /dev/null +++ b/public/releases/5_6_9.php @@ -0,0 +1,20 @@ + + +

      PHP 5.6.9 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 5.6.9. Several bugs have been fixed. + + All PHP 5.6 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 5.6.9 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_0.php b/public/releases/7_0_0.php new file mode 100644 index 0000000000..5aa06e7460 --- /dev/null +++ b/public/releases/7_0_0.php @@ -0,0 +1,57 @@ + + +

      PHP 7.0.0 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.0. This release marks the start of the new major PHP 7 series. +

      +

      + PHP 7.0.0 comes with a new version of the Zend Engine, numerous improvements + and new features such as +

      +
        +
      • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
      • +
      • Significantly reduced memory usage
      • +
      • Abstract Syntax Tree
      • +
      • Consistent 64-bit support
      • +
      • Improved Exception hierarchy
      • +
      • Many fatal errors converted to Exceptions
      • +
      • Secure random number generator
      • +
      • Removed old and unsupported SAPIs and extensions
      • +
      • The null coalescing operator (??)
      • +
      • Return and Scalar Type Declarations
      • +
      • Anonymous Classes
      • +
      • Zero cost asserts
      • +
      + +

      For source downloads of PHP 7.0.0 please visit our downloads page, + Windows binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      +

      + The migration guide is available in the PHP Manual. Please consult + it for the detailed list of new features and backward incompatible changes. +

      + +

      + The inconvenience of the release lateness in several time zones is caused by the need to ensure the + compatibility with the latest OpenSSL 1.0.2e release. Thanks for the patience! +

      + +

      + It is not just a next major PHP version being released today. + The release being introduced is an outcome of the almost two years development + journey. It is a very special accomplishment of the core team. And, it is a + result of incredible efforts of many active community members. + Indeed, it is not just a final release being brought out today, it is the rise of + a new PHP generation with an enormous potential. +

      + +

      Congratulations everyone to this spectacular day for the PHP world!

      +

      Grateful thanks to all the contributors and supporters!

      + + diff --git a/public/releases/7_0_1.php b/public/releases/7_0_1.php new file mode 100644 index 0000000000..27b1417c65 --- /dev/null +++ b/public/releases/7_0_1.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.1 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.1. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.1 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_10.php b/public/releases/7_0_10.php new file mode 100644 index 0000000000..9efdfc7f59 --- /dev/null +++ b/public/releases/7_0_10.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.10 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.10. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.10 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_11.php b/public/releases/7_0_11.php new file mode 100644 index 0000000000..3a8e5f9a1a --- /dev/null +++ b/public/releases/7_0_11.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.11 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.11. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.11 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_12.php b/public/releases/7_0_12.php new file mode 100644 index 0000000000..8197c1bef6 --- /dev/null +++ b/public/releases/7_0_12.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.12 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.12. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.12 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_13.php b/public/releases/7_0_13.php new file mode 100644 index 0000000000..aebbeea31b --- /dev/null +++ b/public/releases/7_0_13.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.13 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.13. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.13 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_14.php b/public/releases/7_0_14.php new file mode 100644 index 0000000000..ece8127615 --- /dev/null +++ b/public/releases/7_0_14.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.14 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.14. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.14 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_15.php b/public/releases/7_0_15.php new file mode 100644 index 0000000000..31e465b946 --- /dev/null +++ b/public/releases/7_0_15.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.15 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.15. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.15 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_16.php b/public/releases/7_0_16.php new file mode 100644 index 0000000000..f41c0301ef --- /dev/null +++ b/public/releases/7_0_16.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.16 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.16. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.16 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_17.php b/public/releases/7_0_17.php new file mode 100644 index 0000000000..595fcd8732 --- /dev/null +++ b/public/releases/7_0_17.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.17 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.17. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.17 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_18.php b/public/releases/7_0_18.php new file mode 100644 index 0000000000..a636237eec --- /dev/null +++ b/public/releases/7_0_18.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.18. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.18 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_19.php b/public/releases/7_0_19.php new file mode 100644 index 0000000000..9d0b404605 --- /dev/null +++ b/public/releases/7_0_19.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.19. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.19 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_2.php b/public/releases/7_0_2.php new file mode 100644 index 0000000000..07649f1b7d --- /dev/null +++ b/public/releases/7_0_2.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.2. 31 reported bugs has been fixed, including 6 security related issues. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.2 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_20.php b/public/releases/7_0_20.php new file mode 100644 index 0000000000..561b5346ca --- /dev/null +++ b/public/releases/7_0_20.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.20. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.20 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_21.php b/public/releases/7_0_21.php new file mode 100644 index 0000000000..11b3fad328 --- /dev/null +++ b/public/releases/7_0_21.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.21. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.21 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_22.php b/public/releases/7_0_22.php new file mode 100644 index 0000000000..4539bbdf90 --- /dev/null +++ b/public/releases/7_0_22.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.22. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.22 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_23.php b/public/releases/7_0_23.php new file mode 100644 index 0000000000..8897e53e48 --- /dev/null +++ b/public/releases/7_0_23.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.23. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.23 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_24.php b/public/releases/7_0_24.php new file mode 100644 index 0000000000..aef5ead213 --- /dev/null +++ b/public/releases/7_0_24.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.24. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.24 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_25.php b/public/releases/7_0_25.php new file mode 100644 index 0000000000..b268e6a1f5 --- /dev/null +++ b/public/releases/7_0_25.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.25. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.25 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_26.php b/public/releases/7_0_26.php new file mode 100644 index 0000000000..a72687222b --- /dev/null +++ b/public/releases/7_0_26.php @@ -0,0 +1,20 @@ + + +

      PHP 7.0.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.26. Several bugs have been fixed. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.26 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_27.php b/public/releases/7_0_27.php new file mode 100644 index 0000000000..81450f6bbc --- /dev/null +++ b/public/releases/7_0_27.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.27. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.27 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_28.php b/public/releases/7_0_28.php new file mode 100644 index 0000000000..3a36ebb5c4 --- /dev/null +++ b/public/releases/7_0_28.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.28. This is a security release. One security bug was fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.28 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_29.php b/public/releases/7_0_29.php new file mode 100644 index 0000000000..478c8f1fd4 --- /dev/null +++ b/public/releases/7_0_29.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.29. This is a security release. One security bug was fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.29 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_3.php b/public/releases/7_0_3.php new file mode 100644 index 0000000000..0abb863452 --- /dev/null +++ b/public/releases/7_0_3.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.3. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.3 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_30.php b/public/releases/7_0_30.php new file mode 100644 index 0000000000..cdaa1b1ae5 --- /dev/null +++ b/public/releases/7_0_30.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.30. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.30 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_31.php b/public/releases/7_0_31.php new file mode 100644 index 0000000000..73dafa1270 --- /dev/null +++ b/public/releases/7_0_31.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.31. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.31 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_32.php b/public/releases/7_0_32.php new file mode 100644 index 0000000000..3c394b780c --- /dev/null +++ b/public/releases/7_0_32.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.32. This is a security release. One security bug has been fixed + in this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.32 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_33.php b/public/releases/7_0_33.php new file mode 100644 index 0000000000..87913765da --- /dev/null +++ b/public/releases/7_0_33.php @@ -0,0 +1,26 @@ + + +

      PHP 7.0.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +7.0.33. Five security-related issues were fixed in this release. +All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.33 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      Please note that according to the PHP version support timelines, +PHP 7.0.33 is the last scheduled release of PHP 7.0 branch. There may be additional release if we discover +important security issues that warrant it, otherwise this release will be the final one in the PHP 7.0 branch. +If your PHP installation is based on PHP 7.0, it may be a good time to start making the plans for the upgrade +to PHP 7.1, PHP 7.2 or PHP 7.3. +

      + + diff --git a/public/releases/7_0_4.php b/public/releases/7_0_4.php new file mode 100644 index 0000000000..875598215d --- /dev/null +++ b/public/releases/7_0_4.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.4. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.4 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_5.php b/public/releases/7_0_5.php new file mode 100644 index 0000000000..005ddd4da0 --- /dev/null +++ b/public/releases/7_0_5.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.5 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.5. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.5 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_6.php b/public/releases/7_0_6.php new file mode 100644 index 0000000000..15c17460f3 --- /dev/null +++ b/public/releases/7_0_6.php @@ -0,0 +1,25 @@ + + +

      PHP 7.0.6 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.6. This is a security release. Several security bugs were fixed in + this release, including

      +
        +
      • CVE-2016-3078
      • +
      • CVE-2016-3074
      • +
      +

      + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.6 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_7.php b/public/releases/7_0_7.php new file mode 100644 index 0000000000..fa7c1b5368 --- /dev/null +++ b/public/releases/7_0_7.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.7 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.7. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.7 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_8.php b/public/releases/7_0_8.php new file mode 100644 index 0000000000..81de384d92 --- /dev/null +++ b/public/releases/7_0_8.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.8. This is a security release. Several security bugs were fixed in + this release. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.8 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_0_9.php b/public/releases/7_0_9.php new file mode 100644 index 0000000000..3496b09ae0 --- /dev/null +++ b/public/releases/7_0_9.php @@ -0,0 +1,21 @@ + + +

      PHP 7.0.9 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.0.9. This is a security release. Several security bugs were fixed in + this release, including the HTTP_PROXY issue. + + All PHP 7.0 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.0.9 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_1_0.php b/public/releases/7_1_0.php new file mode 100644 index 0000000000..fe505405a8 --- /dev/null +++ b/public/releases/7_1_0.php @@ -0,0 +1,29 @@ + + +

      PHP 7.1.0 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.1.0. This release is the first point release in the 7.x series.

      + +

      PHP 7.1.0 comes with numerous improvements and new features such as

      + + + +

      For source downloads of PHP 7.1.0 please visit our downloads page, Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

      + +

      The migration guide is available in the PHP Manual. Please consult it for the detailed list of new features and backward incompatible changes.

      + +

      Many thanks to all the contributors and supporters!

      + + diff --git a/public/releases/7_1_1.php b/public/releases/7_1_1.php new file mode 100644 index 0000000000..491495d56f --- /dev/null +++ b/public/releases/7_1_1.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.1 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.1. Several bugs have been fixed. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.1 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_1_10.php b/public/releases/7_1_10.php new file mode 100644 index 0000000000..1b13553b44 --- /dev/null +++ b/public/releases/7_1_10.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.10 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.10. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.10 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_11.php b/public/releases/7_1_11.php new file mode 100644 index 0000000000..17d1e8eeef --- /dev/null +++ b/public/releases/7_1_11.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.11 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.11. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.11 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_12.php b/public/releases/7_1_12.php new file mode 100644 index 0000000000..e39bdce6c5 --- /dev/null +++ b/public/releases/7_1_12.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.12 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.12. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.12 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_13.php b/public/releases/7_1_13.php new file mode 100644 index 0000000000..6372b13724 --- /dev/null +++ b/public/releases/7_1_13.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.13 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.13. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.13 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_14.php b/public/releases/7_1_14.php new file mode 100644 index 0000000000..833ecc6602 --- /dev/null +++ b/public/releases/7_1_14.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.14 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.14. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.14 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_15.php b/public/releases/7_1_15.php new file mode 100644 index 0000000000..3f58b97a9a --- /dev/null +++ b/public/releases/7_1_15.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.15 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.15. This is a security fix release, containing one security fix and many bug fixes. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.15 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_16.php b/public/releases/7_1_16.php new file mode 100644 index 0000000000..dccb73c715 --- /dev/null +++ b/public/releases/7_1_16.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.16 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.16. This is a security fix release, containing one security fix and many bug fixes. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.16 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_17.php b/public/releases/7_1_17.php new file mode 100644 index 0000000000..55b8c12bd5 --- /dev/null +++ b/public/releases/7_1_17.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.17 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.17. This is a security fix release, containing many bugfixes. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.17 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_18.php b/public/releases/7_1_18.php new file mode 100644 index 0000000000..531015d366 --- /dev/null +++ b/public/releases/7_1_18.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.18. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.18 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_19.php b/public/releases/7_1_19.php new file mode 100644 index 0000000000..3cfabaebae --- /dev/null +++ b/public/releases/7_1_19.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.19. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.19 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_2.php b/public/releases/7_1_2.php new file mode 100644 index 0000000000..c28f723258 --- /dev/null +++ b/public/releases/7_1_2.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.2. Several bugs have been fixed. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.2 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_1_20.php b/public/releases/7_1_20.php new file mode 100644 index 0000000000..feea5b0443 --- /dev/null +++ b/public/releases/7_1_20.php @@ -0,0 +1,22 @@ + + +

      PHP 7.1.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.20. This is a security release. Several security bugs have been fixed + in this release. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.20 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_21.php b/public/releases/7_1_21.php new file mode 100644 index 0000000000..719efa363e --- /dev/null +++ b/public/releases/7_1_21.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.21. This is a bugfix release. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.21 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_22.php b/public/releases/7_1_22.php new file mode 100644 index 0000000000..0a8fc27b73 --- /dev/null +++ b/public/releases/7_1_22.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.22. This is a security release. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.22 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_23.php b/public/releases/7_1_23.php new file mode 100644 index 0000000000..2e4f6e79ae --- /dev/null +++ b/public/releases/7_1_23.php @@ -0,0 +1,17 @@ + +

      PHP 7.1.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.1.23. +This is a bugfix release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_1_24.php b/public/releases/7_1_24.php new file mode 100644 index 0000000000..b9c4a45d80 --- /dev/null +++ b/public/releases/7_1_24.php @@ -0,0 +1,17 @@ + +

      PHP 7.1.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.1.24. +This is a bugfix release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_1_25.php b/public/releases/7_1_25.php new file mode 100644 index 0000000000..1120b00f87 --- /dev/null +++ b/public/releases/7_1_25.php @@ -0,0 +1,17 @@ + +

      PHP 7.1.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.1.25. +This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_1_26.php b/public/releases/7_1_26.php new file mode 100644 index 0000000000..9fc8997f82 --- /dev/null +++ b/public/releases/7_1_26.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.26. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.26 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_27.php b/public/releases/7_1_27.php new file mode 100644 index 0000000000..19e1c4399b --- /dev/null +++ b/public/releases/7_1_27.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.27. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.27 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_28.php b/public/releases/7_1_28.php new file mode 100644 index 0000000000..6fc14e2427 --- /dev/null +++ b/public/releases/7_1_28.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.28. This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.28 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_29.php b/public/releases/7_1_29.php new file mode 100644 index 0000000000..7bb170bfbc --- /dev/null +++ b/public/releases/7_1_29.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.29. This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.29 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_3.php b/public/releases/7_1_3.php new file mode 100644 index 0000000000..a4e6582a3b --- /dev/null +++ b/public/releases/7_1_3.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.3. Several bugs have been fixed. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.3 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_1_30.php b/public/releases/7_1_30.php new file mode 100644 index 0000000000..e7f543bf05 --- /dev/null +++ b/public/releases/7_1_30.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.30. This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.30 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_31.php b/public/releases/7_1_31.php new file mode 100644 index 0000000000..059b5b1fab --- /dev/null +++ b/public/releases/7_1_31.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.31. This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.31 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_32.php b/public/releases/7_1_32.php new file mode 100644 index 0000000000..b3b19a3275 --- /dev/null +++ b/public/releases/7_1_32.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.32. This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.32 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_33.php b/public/releases/7_1_33.php new file mode 100644 index 0000000000..a858045c2f --- /dev/null +++ b/public/releases/7_1_33.php @@ -0,0 +1,20 @@ + + +

      PHP 7.1.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.33. This is a security release.

      + +

      All PHP 7.1 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.1.33 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_4.php b/public/releases/7_1_4.php new file mode 100644 index 0000000000..71b0541680 --- /dev/null +++ b/public/releases/7_1_4.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.4. Several bugs have been fixed. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.4 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_5.php b/public/releases/7_1_5.php new file mode 100644 index 0000000000..5b9c51a48d --- /dev/null +++ b/public/releases/7_1_5.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.5 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.5. Several bugs have been fixed. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.5 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_6.php b/public/releases/7_1_6.php new file mode 100644 index 0000000000..e15d4cc501 --- /dev/null +++ b/public/releases/7_1_6.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.6 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.6. Several bugs have been fixed. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.6 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_7.php b/public/releases/7_1_7.php new file mode 100644 index 0000000000..b6984ce192 --- /dev/null +++ b/public/releases/7_1_7.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.7 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.7. This is a security release with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.7 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_8.php b/public/releases/7_1_8.php new file mode 100644 index 0000000000..eeded6674f --- /dev/null +++ b/public/releases/7_1_8.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.8. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.8 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_1_9.php b/public/releases/7_1_9.php new file mode 100644 index 0000000000..ac4a9527a1 --- /dev/null +++ b/public/releases/7_1_9.php @@ -0,0 +1,21 @@ + + +

      PHP 7.1.9 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.1.9. This is a bugfix release, with several bug fixes included. + + All PHP 7.1 users are encouraged to upgrade to this version. +

      + +

      For source downloads of PHP 7.1.9 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_2_0.php b/public/releases/7_2_0.php new file mode 100644 index 0000000000..b8c0a8bcd4 --- /dev/null +++ b/public/releases/7_2_0.php @@ -0,0 +1,34 @@ + + +

      PHP 7.2.0 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.0. + This release marks the second feature update to the PHP 7 series.

      + +

      PHP 7.2.0 comes with numerous improvements and new features such as

      + + + +

      For source downloads of PHP 7.2.0 please visit our downloads page + Windows binaries can be found on the PHP for Windows site. + The list of changes is recorded in the ChangeLog.

      + +

      The migration guide is available in the PHP Manual. + Please consult it for the detailed list of new features and backward incompatible changes.

      + +

      Many thanks to all the contributors and supporters!

      + + diff --git a/public/releases/7_2_1.php b/public/releases/7_2_1.php new file mode 100644 index 0000000000..8e8d68a133 --- /dev/null +++ b/public/releases/7_2_1.php @@ -0,0 +1,20 @@ + + +

      PHP 7.2.1 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.2.1. This is a bugfix release, with several bug fixes included.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.1 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_2_10.php b/public/releases/7_2_10.php new file mode 100644 index 0000000000..9b2fda82c7 --- /dev/null +++ b/public/releases/7_2_10.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.10 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.10. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_11.php b/public/releases/7_2_11.php new file mode 100644 index 0000000000..3049bda01d --- /dev/null +++ b/public/releases/7_2_11.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.11 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.11. +This is a bugfix release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_12.php b/public/releases/7_2_12.php new file mode 100644 index 0000000000..47f750f1d5 --- /dev/null +++ b/public/releases/7_2_12.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.12 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.12. +This is a bugfix release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_13.php b/public/releases/7_2_13.php new file mode 100644 index 0000000000..93b46f6f8f --- /dev/null +++ b/public/releases/7_2_13.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.13 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.13. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_14.php b/public/releases/7_2_14.php new file mode 100644 index 0000000000..88fda7061c --- /dev/null +++ b/public/releases/7_2_14.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.14 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.14. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_15.php b/public/releases/7_2_15.php new file mode 100644 index 0000000000..e0b23f069b --- /dev/null +++ b/public/releases/7_2_15.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.15 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.15. +This is a bugfix release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_16.php b/public/releases/7_2_16.php new file mode 100644 index 0000000000..e240b50d6a --- /dev/null +++ b/public/releases/7_2_16.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.16 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.16. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.16 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_17.php b/public/releases/7_2_17.php new file mode 100644 index 0000000000..9e49bc2408 --- /dev/null +++ b/public/releases/7_2_17.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.17 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.17. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.17 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_18.php b/public/releases/7_2_18.php new file mode 100644 index 0000000000..c5db71268d --- /dev/null +++ b/public/releases/7_2_18.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.18. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.18 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_19.php b/public/releases/7_2_19.php new file mode 100644 index 0000000000..2de2541fa8 --- /dev/null +++ b/public/releases/7_2_19.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.19. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.19 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_2.php b/public/releases/7_2_2.php new file mode 100644 index 0000000000..ff860be141 --- /dev/null +++ b/public/releases/7_2_2.php @@ -0,0 +1,20 @@ + + +

      PHP 7.2.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.2.2. This is a bugfix release, with several bug fixes included.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.2 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_2_20.php b/public/releases/7_2_20.php new file mode 100644 index 0000000000..284aabae76 --- /dev/null +++ b/public/releases/7_2_20.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.20. +This is a bugfix release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_21.php b/public/releases/7_2_21.php new file mode 100644 index 0000000000..99a848cf8e --- /dev/null +++ b/public/releases/7_2_21.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.21. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_22.php b/public/releases/7_2_22.php new file mode 100644 index 0000000000..0213593749 --- /dev/null +++ b/public/releases/7_2_22.php @@ -0,0 +1,19 @@ + + +

      PHP 7.2.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.2.22. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.22 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_2_23.php b/public/releases/7_2_23.php new file mode 100644 index 0000000000..5c546d633e --- /dev/null +++ b/public/releases/7_2_23.php @@ -0,0 +1,17 @@ + + +

      PHP 7.2.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.2.23. This is a bugfix release.

      + +

      For source downloads of PHP 7.2.23 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_2_24.php b/public/releases/7_2_24.php new file mode 100644 index 0000000000..833908606d --- /dev/null +++ b/public/releases/7_2_24.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.24. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_25.php b/public/releases/7_2_25.php new file mode 100644 index 0000000000..b19329cb16 --- /dev/null +++ b/public/releases/7_2_25.php @@ -0,0 +1,19 @@ + + +

      PHP 7.2.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.2.25. This is a bug fix release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.25 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_2_26.php b/public/releases/7_2_26.php new file mode 100644 index 0000000000..f95e3c8893 --- /dev/null +++ b/public/releases/7_2_26.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.26. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_27.php b/public/releases/7_2_27.php new file mode 100644 index 0000000000..da1ce182c8 --- /dev/null +++ b/public/releases/7_2_27.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.27. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_28.php b/public/releases/7_2_28.php new file mode 100644 index 0000000000..412c9a6823 --- /dev/null +++ b/public/releases/7_2_28.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.28. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_29.php b/public/releases/7_2_29.php new file mode 100644 index 0000000000..27699478c4 --- /dev/null +++ b/public/releases/7_2_29.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.29. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.29 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_3.php b/public/releases/7_2_3.php new file mode 100644 index 0000000000..dd6f9a61f8 --- /dev/null +++ b/public/releases/7_2_3.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +7.2.3. This is a security release with also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.3 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_30.php b/public/releases/7_2_30.php new file mode 100644 index 0000000000..3c8dbeb960 --- /dev/null +++ b/public/releases/7_2_30.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.30. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.30 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_31.php b/public/releases/7_2_31.php new file mode 100644 index 0000000000..ae5d90eba5 --- /dev/null +++ b/public/releases/7_2_31.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.31. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.31 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_32.php b/public/releases/7_2_32.php new file mode 100644 index 0000000000..0536f0ec6d --- /dev/null +++ b/public/releases/7_2_32.php @@ -0,0 +1,30 @@ + +

      PHP 7.2.32 Release Announcement

      + +

      + The PHP development team announces the immediate availability of PHP 7.2.32. + This is a security release impacting the + official Windows builds of PHP. +

      + +

      + For windows users running an official build, this release contains a + patched version of libcurl addressing + CVE-2020-8169. +

      + +

      + For all other consumers of PHP, this release is functionally identical + to PHP 7.2.31 and no upgrade from that point release is necessary. +

      + +

      + For source downloads of PHP 7.2.32 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.2.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.33. +This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.33 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_34.php b/public/releases/7_2_34.php new file mode 100644 index 0000000000..dba971afa6 --- /dev/null +++ b/public/releases/7_2_34.php @@ -0,0 +1,16 @@ + +

      PHP 7.2.34 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.34. This is a security release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.34 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.2.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.4. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.4 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_5.php b/public/releases/7_2_5.php new file mode 100644 index 0000000000..9490ce210b --- /dev/null +++ b/public/releases/7_2_5.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.5 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.5. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.5 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_6.php b/public/releases/7_2_6.php new file mode 100644 index 0000000000..260671dea7 --- /dev/null +++ b/public/releases/7_2_6.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.6 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.6. +This is a primarily a bugfix release which includes a memory corruption fix for EXIF.

      + +

      PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_7.php b/public/releases/7_2_7.php new file mode 100644 index 0000000000..5a41eb2749 --- /dev/null +++ b/public/releases/7_2_7.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.7 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.7. +This is a primarily a bugfix release which includes a segfault fix for opcache.

      + +

      PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_8.php b/public/releases/7_2_8.php new file mode 100644 index 0000000000..bb1b4fb1da --- /dev/null +++ b/public/releases/7_2_8.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.8. +This is a security release which also contains several minor bug fixes.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_2_9.php b/public/releases/7_2_9.php new file mode 100644 index 0000000000..ea10cc1138 --- /dev/null +++ b/public/releases/7_2_9.php @@ -0,0 +1,17 @@ + +

      PHP 7.2.9 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.2.9. +This is a bugfix release.

      + +

      All PHP 7.2 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.2.9 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + diff --git a/public/releases/7_3_0.php b/public/releases/7_3_0.php new file mode 100644 index 0000000000..37725310b8 --- /dev/null +++ b/public/releases/7_3_0.php @@ -0,0 +1,34 @@ + + +

      PHP 7.3.0 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.0. + This release marks the third feature update to the PHP 7 series.

      + +

      PHP 7.3.0 comes with numerous improvements and new features such as

      + + + +

      For source downloads of PHP 7.3.0 please visit our downloads page + Windows binaries can be found on the PHP for Windows site. + The list of changes is recorded in the ChangeLog.

      + +

      The migration guide is available in the PHP Manual. + Please consult it for the detailed list of new features and backward incompatible changes.

      + +

      Many thanks to all the contributors and supporters!

      + + diff --git a/public/releases/7_3_1.php b/public/releases/7_3_1.php new file mode 100644 index 0000000000..abca6b4add --- /dev/null +++ b/public/releases/7_3_1.php @@ -0,0 +1,20 @@ + + +

      PHP 7.3.1 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.1. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.1 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_3_10.php b/public/releases/7_3_10.php new file mode 100644 index 0000000000..6463ca66da --- /dev/null +++ b/public/releases/7_3_10.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.10 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.10. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.10 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_11.php b/public/releases/7_3_11.php new file mode 100644 index 0000000000..4be649f73f --- /dev/null +++ b/public/releases/7_3_11.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.11 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.11. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.11 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_12.php b/public/releases/7_3_12.php new file mode 100644 index 0000000000..e98592cfa4 --- /dev/null +++ b/public/releases/7_3_12.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.12 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.12. This is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.12 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_13.php b/public/releases/7_3_13.php new file mode 100644 index 0000000000..873ae8f4a0 --- /dev/null +++ b/public/releases/7_3_13.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.13 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.13. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.13 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_14.php b/public/releases/7_3_14.php new file mode 100644 index 0000000000..5c2fe04186 --- /dev/null +++ b/public/releases/7_3_14.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.14 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.14. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.14 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_15.php b/public/releases/7_3_15.php new file mode 100644 index 0000000000..0a00fc8ae3 --- /dev/null +++ b/public/releases/7_3_15.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.15 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.15. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.15 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_16.php b/public/releases/7_3_16.php new file mode 100644 index 0000000000..eb12abfaf9 --- /dev/null +++ b/public/releases/7_3_16.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.16 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.16. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.16 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_17.php b/public/releases/7_3_17.php new file mode 100644 index 0000000000..8012b58873 --- /dev/null +++ b/public/releases/7_3_17.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.17 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.17 This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.17 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_18.php b/public/releases/7_3_18.php new file mode 100644 index 0000000000..860c2e07cb --- /dev/null +++ b/public/releases/7_3_18.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.18 This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.18 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_19.php b/public/releases/7_3_19.php new file mode 100644 index 0000000000..dcf8eb7c10 --- /dev/null +++ b/public/releases/7_3_19.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.19. This is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.19 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_2.php b/public/releases/7_3_2.php new file mode 100644 index 0000000000..a2b81987ca --- /dev/null +++ b/public/releases/7_3_2.php @@ -0,0 +1,20 @@ + + +

      PHP 7.3.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.2. This is a bugfix release, with several bug fixes included.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.2 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_3_20.php b/public/releases/7_3_20.php new file mode 100644 index 0000000000..673e180181 --- /dev/null +++ b/public/releases/7_3_20.php @@ -0,0 +1,23 @@ + +

      PHP 7.3.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.20. This is a security release impacting the +official Windows builds of PHP.

      + +

      For windows users running an official build, this release contains a +patched version of libcurl addressing +CVE-2020-8169.

      + +

      For all other consumers of PHP, this is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.21. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.22. This is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.22 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.23. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.24. This is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.25. This is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.26. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.27. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.28. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.29. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.29 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + +

      PHP 7.3.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.3. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.3 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_30.php b/public/releases/7_3_30.php new file mode 100644 index 0000000000..dc3f94d14c --- /dev/null +++ b/public/releases/7_3_30.php @@ -0,0 +1,16 @@ + +

      PHP 7.3.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.30. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.30 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.31 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.31. This is a security release fixing CVE-2021-21706.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.31 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.32. This is a security release.

      + +

      All PHP 7.3 FPM users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.32 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.3.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.3.33. This is a security release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.33 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + +

      PHP 7.3.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.4. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.4 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_5.php b/public/releases/7_3_5.php new file mode 100644 index 0000000000..deaa1ef45c --- /dev/null +++ b/public/releases/7_3_5.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.5 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.5. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.5 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_6.php b/public/releases/7_3_6.php new file mode 100644 index 0000000000..f6f07f9604 --- /dev/null +++ b/public/releases/7_3_6.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.6 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.6. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.6 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_7.php b/public/releases/7_3_7.php new file mode 100644 index 0000000000..745d671c1e --- /dev/null +++ b/public/releases/7_3_7.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.7 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.7. This is a bug fix release.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.7 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_8.php b/public/releases/7_3_8.php new file mode 100644 index 0000000000..98354b6671 --- /dev/null +++ b/public/releases/7_3_8.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.8. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.8 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_3_9.php b/public/releases/7_3_9.php new file mode 100644 index 0000000000..fe1d3abd3f --- /dev/null +++ b/public/releases/7_3_9.php @@ -0,0 +1,19 @@ + + +

      PHP 7.3.9 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.3.9. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.3 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.3.9 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_4_0.php b/public/releases/7_4_0.php new file mode 100644 index 0000000000..49601befdf --- /dev/null +++ b/public/releases/7_4_0.php @@ -0,0 +1,37 @@ + +

      PHP 7.4.0 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.0. +This release marks the fourth feature update to the PHP 7 series.

      + +

      PHP 7.4.0 comes with numerous improvements and new features such as:

      + + + +

      For source downloads of PHP 7.4.0 please visit our downloads page +Windows binaries can be found on the PHP for Windows site. +The list of changes is recorded in the ChangeLog.

      + +

      The migration guide is available in the PHP Manual. +Please consult it for the detailed list of new features and backward incompatible changes.

      + +

      Many thanks to all the contributors and supporters!

      + + diff --git a/public/releases/7_4_1.php b/public/releases/7_4_1.php new file mode 100644 index 0000000000..d291776ff2 --- /dev/null +++ b/public/releases/7_4_1.php @@ -0,0 +1,20 @@ + + +

      PHP 7.4.1 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.4.1. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.1 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_4_10.php b/public/releases/7_4_10.php new file mode 100644 index 0000000000..e5fe4006c0 --- /dev/null +++ b/public/releases/7_4_10.php @@ -0,0 +1,16 @@ + +

      PHP 7.4.10 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.10. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.11 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.11. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.12 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.12. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.13 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.13. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.14 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.14. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.15 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.15. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.16 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.16. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.16 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.18 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.18. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.18 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.19 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +7.4.19. This release reverts a bug related to PDO_pgsql that was +introduced in PHP 7.4.18.

      + +

      PHP 7.4 users that use PDO_pgsql are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.19 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.2 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.4.2. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.2 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_4_20.php b/public/releases/7_4_20.php new file mode 100644 index 0000000000..a05fa48d6a --- /dev/null +++ b/public/releases/7_4_20.php @@ -0,0 +1,16 @@ + +

      PHP 7.4.20 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.20. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.21 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.21. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.22 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.22. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.22 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.23 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.23. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.24 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.24. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.25 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.25. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.26 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.26. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.27 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.27. This is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.28 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.28. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.29 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.29. This is a security release for Windows users.

      + +

      This is primarily a release for Windows users due to necessarily +upgrades to the OpenSSL and zlib dependencies in which security issues +have been found. All PHP 7.4 on Windows users are encouraged to upgrade +to this version.

      + +

      For source downloads of PHP 7.4.29 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.3 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.4.3. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.3 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_4_30.php b/public/releases/7_4_30.php new file mode 100644 index 0000000000..0b049d7ab6 --- /dev/null +++ b/public/releases/7_4_30.php @@ -0,0 +1,16 @@ + +

      PHP 7.4.30 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.30. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.30 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.32 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.32. This is a security release.

      + +

      This release addresses an infinite recursion with specially +constructed phar files, and prevents a clash with variable name mangling for +the __Host/__Secure HTTP headers.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.32 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.33 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.33.

      + +

      This is security release that fixes an OOB read due to insufficient +input validation in imageloadfont(), and a buffer overflow in +hash_update() on long parameter.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.33 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.4 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP + 7.4.4. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.4 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

      + + + diff --git a/public/releases/7_4_5.php b/public/releases/7_4_5.php new file mode 100644 index 0000000000..dc6172d855 --- /dev/null +++ b/public/releases/7_4_5.php @@ -0,0 +1,18 @@ + +

      PHP 7.4.5 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +7.4.5. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.5 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_4_6.php b/public/releases/7_4_6.php new file mode 100644 index 0000000000..6b629c2869 --- /dev/null +++ b/public/releases/7_4_6.php @@ -0,0 +1,18 @@ + +

      PHP 7.4.6 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +7.4.6. This is a security release which also contains several bug fixes.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_4_7.php b/public/releases/7_4_7.php new file mode 100644 index 0000000000..adca550d2b --- /dev/null +++ b/public/releases/7_4_7.php @@ -0,0 +1,18 @@ + +

      PHP 7.4.7 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP +7.4.7. This release is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + + diff --git a/public/releases/7_4_8.php b/public/releases/7_4_8.php new file mode 100644 index 0000000000..583e9d1fc0 --- /dev/null +++ b/public/releases/7_4_8.php @@ -0,0 +1,24 @@ + +

      PHP 7.4.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.8. +This is a security release impacting the official Windows builds of PHP.

      + +

      For windows users running an official build, this release contains a +patched version of libcurl addressing +CVE-2020-8169.

      + +

      For all other consumers of PHP, this is a bug fix release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + +

      PHP 7.4.8 Release Announcement

      + +

      The PHP development team announces the immediate availability of PHP 7.4.9. This is a security release.

      + +

      All PHP 7.4 users are encouraged to upgrade to this version.

      + +

      For source downloads of PHP 7.4.9 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

      + 'English', + 'de' => 'Deutsch', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'ja' => '日本語', + 'nl' => 'Nederlands', + 'pt_BR' => 'Brazilian Portuguese', + 'ru' => 'РуÑÑкий', + 'tr' => 'Türkçe', + 'zh' => '简体中文', + 'ka' => 'ქáƒáƒ áƒ—ული', +]; + +function common_header(string $description): void { + global $MYSITE, $lang; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + $languages = []; + foreach (LANGUAGES as $code => $text) { + $languages[] = ['name' => $text, 'selected' => $lang === $code, 'url' => '/releases/8.0/' . $code . '.php']; + } + + \site_header("PHP 8.0 Release Announcement", [ + 'current' => 'php85', + 'css' => ['php85.css'], + 'language_switcher' => $languages, + 'theme_switcher' => true, + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function message($code, $language = 'en'): string +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + return $translation[$code] ?? $original[$code] ?? $code; +} diff --git a/public/releases/8.0/de.php b/public/releases/8.0/de.php new file mode 100644 index 0000000000..4601e2184d --- /dev/null +++ b/public/releases/8.0/de.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.0/$lang.php"); diff --git a/public/releases/8.0/it.php b/public/releases/8.0/it.php new file mode 100644 index 0000000000..42f6118428 --- /dev/null +++ b/public/releases/8.0/it.php @@ -0,0 +1,5 @@ + 'PHP 8.0 ist ein Major-Update der Sprache PHP. Es beinhaltet viele neue Funktionen und Optimierungen wie beispielsweise Named Arguments, Union Types, Attribute, Constructor Property Promotion, Match Ausdrücke, Nullsafe Operator, JIT und Verbesserungen des Typen-Systems, der Fehlerbehandlung und der Konsistenz.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 ist ein Major-Update der Sprache PHP.
      Es beinhaltet viele neue Funktionen und Optimierungen wie beispielsweise Named Arguments, Union Types, Attribute, Constructor Property Promotion, Match Ausdrücke, Nullsafe Operator, JIT und Verbesserungen des Typen-Systems, der Fehlerbehandlung und der Konsistenz.', + 'upgrade_now' => 'Wechsle jetzt zu PHP 8!', + + 'named_arguments_title' => 'Named Arguments', + 'named_arguments_description' => '
    • Gib nur notwendige Parameter an, überspringe optionale.
    • Parameter sind unabhängig von der Reihenfolge und selbstdokumentierend.
    • ', + 'attributes_title' => 'Attribute', + 'attributes_description' => 'Anstelle von PHPDoc Annotations kannst du nun strukturierte Meta-Daten in nativer PHP Syntax nutzen.', + 'constructor_promotion_title' => 'Constructor Property Promotion', + 'constructor_promotion_description' => 'Weniger Codewiederholungen für das Definieren und Initialisieren von Objektattributen.', + 'union_types_title' => 'Union Types', + 'union_types_description' => 'Anstelle von PHPDoc Annotations für kombinierte Typen kannst du native Union-Type-Deklarationen verwenden, welche zur Laufzeit validiert werden.', + 'match_expression_title' => 'Match Ausdruck', + 'match_expression_description' => '

      Der neue match Ausdruck ist ähnlich wie die switch Anweisung und bietet folgende Funktionen:

      +
        +
      • Da Match ein Ausdruck ist, kann sein Ergebnis in einer Variable gespeichert oder ausgegeben werden.
      • +
      • Match Zweige unterstützen nur einzeilige Ausdrücke und benötigen keinen break Ausdruck.
      • +
      • Match führt strikte Vergleiche durch.
      • +
      ', + + 'nullsafe_operator_title' => 'Nullsafe Operator', + 'nullsafe_operator_description' => 'Anstelle von Null-Checks kannst du Funktionsaufrufe nun direkt mit dem neuen Nullsafe Operator aneinanderreihen. Wenn ein Funktionsaufruf innerhalb der Kette Null zurückliefert, wird die weitere Ausführung abgebrochen und die gesamte Kette wird zu Null ausgewertet.', + 'saner_string_number_comparisons_title' => 'Vernünftige String-zu-Zahl Vergleiche', + 'saner_string_number_comparisons_description' => 'Wenn eine Zahl mit einem numerischen String verglichen wird, benutzt PHP 8 einen Zahlen-Vergleich. Andernfalls wird die Zahl zu einem String konvertiert und ein String-Vergleich durchgeführt.', + 'consistent_internal_function_type_errors_title' => 'Konsistente Typen-Fehler für interne Funktionen', + 'consistent_internal_function_type_errors_description' => 'Die meisten internen Funktionen erzeugen nun eine Error Exception wenn die Typenvalidierung der Parameter fehlschlägt.', + + 'jit_compilation_title' => 'Just-In-Time Compiler', + 'jit_compilation_description' => 'PHP 8 führt zwei JIT Compiler Engines ein. Tracing-JIT, der vielversprechendere der beiden, zeigt eine bis zu drei mal bessere Performance in synthetischen Benchmarks und eine 1,5 bis zweifache Verbesserung in einigen speziellen, langlaufenden Anwendungen. Die Performance einer typischen Anwendung ist auf dem Niveau von PHP 7.4.', + 'jit_performance_title' => 'Relativer Beitrag des JIT Compilers zur Performance von PHP 8', + + 'type_improvements_title' => 'Verbesserungen am Typen-System und an der Fehlerbehandlung', + 'arithmetic_operator_type_checks' => 'Striktere Typen-Checks für arithmetische/bitweise Operatoren', + 'abstract_trait_method_validation' => 'Validierung abstrakter Methoden in einem Trait', + 'magic_method_signatures' => 'Korrekte Signaturen magischer Funktionen', + 'engine_warnings' => 'Neue Klassifizierung von Engine-Warnings', + 'lsp_errors' => 'Inkompatiblen Methoden-Signaturen erzeugen einen Fatal Error', + 'at_operator_no_longer_silences_fatal_errors' => 'Der @ Operator unterdrückt keine Fatal Errors mehr.', + 'inheritance_private_methods' => 'Vererbung mit privaten Methoden', + 'mixed_type' => 'mixed Typ', + 'static_return_type' => 'static als Rückgabetyp', + 'internal_function_types' => 'Typen für interne Funktionen', + 'email_thread' => 'E-Mail-Thread', + 'opaque_objects_instead_of_resources' => 'Objekte ohne Methoden anstelle des resource Typs für + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, und + XML + Extension', + + 'other_improvements_title' => 'Weitere Syntax-Anpassungen und Verbesserungen', + 'allow_trailing_comma' => 'Erlauben eines abschließenden Kommas in Parameter-Listen RFC + und Closure Use Listen RFC.', + 'non_capturing_catches' => 'Catches ohne Exception-Variable', + 'variable_syntax_tweaks' => 'Anpassungen an der Syntax für Variablen', + 'namespaced_names_as_token' => 'Namespaces werden als ein Token ausgewertet', + 'throw_expression' => 'throw ist jetzt ein Ausdruck', + 'class_name_literal_on_object' => 'Nutzung von ::class auf Objekten', + + 'new_classes_title' => 'Neue Klassen, Interfaces, und Funktionen', + 'weak_map_class' => 'Weak Map Klasse', + 'stringable_interface' => 'Stringable Interface', + 'token_as_object' => 'token_get_all() mit einer Objekt-Implementierung', + 'new_dom_apis' => 'Neue APIs für DOM-Traversal and -Manipulation', + + 'footer_title' => 'Bessere Performance, bessere Syntax, optimierte Typsicherheit.', + 'footer_description' => '

      + Für den direkten Code-Download von PHP 8 schaue bitte auf der Downloads Seite vorbei. + Windows Pakete können auf der PHP für Windows Seite gefunden werden. + Die Liste der Änderungen ist im ChangeLog festgehalten. +

      +

      + Der Migration Guide ist im PHP Manual verfügbar. Lies dort + nach für detaillierte Informationen zu den neuen Funktionen und inkompatiblen Änderungen zu vorherigen PHP + Versionen. +

      ', +]; diff --git a/public/releases/8.0/languages/en.php b/public/releases/8.0/languages/en.php new file mode 100644 index 0000000000..a67b978de6 --- /dev/null +++ b/public/releases/8.0/languages/en.php @@ -0,0 +1,89 @@ + 'PHP 8.0 is a major update of the PHP language. It contains many new features and optimizations including named arguments, union types, attributes, constructor property promotion, match expression, nullsafe operator, JIT, and improvements in the type system, error handling, and consistency.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 is a major update of the PHP language.
      It contains many new features and optimizations including named arguments, union types, attributes, constructor property promotion, match expression, nullsafe operator, JIT, and improvements in the type system, error handling, and consistency.', + 'upgrade_now' => 'Upgrade to PHP 8 now!', + + 'named_arguments_title' => 'Named arguments', + 'named_arguments_description' => '
    • Specify only required parameters, skipping optional ones.
    • Arguments are order-independent and self-documented.
    • ', + 'attributes_title' => 'Attributes', + 'attributes_description' => 'Instead of PHPDoc annotations, you can now use structured metadata with PHP\'s native syntax.', + 'constructor_promotion_title' => 'Constructor property promotion', + 'constructor_promotion_description' => 'Less boilerplate code to define and initialize properties.', + 'union_types_title' => 'Union types', + 'union_types_description' => 'Instead of PHPDoc annotations for a combination of types, you can use native union type declarations that are validated at runtime.', + 'ok' => 'Ok', + 'oh_no' => 'Oh no!', + 'this_is_expected' => 'This is what I expected', + 'match_expression_title' => 'Match expression', + 'match_expression_description' => '

      The new match is similar to switch and has the following features:

      +
        +
      • Match is an expression, meaning its result can be stored in a variable or returned.
      • +
      • Match branches only support single-line expressions and do not need a break statement.
      • +
      • Match does strict comparisons.
      • +
      ', + + 'nullsafe_operator_title' => 'Nullsafe operator', + 'nullsafe_operator_description' => 'Instead of null check conditions, you can now use a chain of calls with the new nullsafe operator. When the evaluation of one element in the chain fails, the execution of the entire chain aborts and the entire chain evaluates to null.', + 'saner_string_number_comparisons_title' => 'Saner string to number comparisons', + 'saner_string_number_comparisons_description' => 'When comparing to a numeric string, PHP 8 uses a number comparison. Otherwise, it converts the number to a string and uses a string comparison.', + 'consistent_internal_function_type_errors_title' => 'Consistent type errors for internal functions', + 'consistent_internal_function_type_errors_description' => 'Most of the internal functions now throw an Error exception if the validation of the parameters fails.', + + 'jit_compilation_title' => 'Just-In-Time compilation', + 'jit_compilation_description' => 'PHP 8 introduces two JIT compilation engines. Tracing JIT, the most promising of the two, shows about 3 times better performance on synthetic benchmarks and 1.5–2 times improvement on some specific long-running applications. Typical application performance is on par with PHP 7.4.', + 'jit_performance_title' => 'Relative JIT contribution to PHP 8 performance', + + 'type_improvements_title' => 'Type system and error handling improvements', + 'arithmetic_operator_type_checks' => 'Stricter type checks for arithmetic/bitwise operators', + 'abstract_trait_method_validation' => 'Abstract trait method validation', + 'magic_method_signatures' => 'Correct signatures of magic methods', + 'engine_warnings' => 'Reclassified engine warnings', + 'lsp_errors' => 'Fatal error for incompatible method signatures', + 'at_operator_no_longer_silences_fatal_errors' => 'The @ operator no longer silences fatal errors.', + 'inheritance_private_methods' => 'Inheritance with private methods', + 'mixed_type' => 'mixed type', + 'static_return_type' => 'static return type', + 'internal_function_types' => 'Types for internal functions', + 'email_thread' => 'Email thread', + 'opaque_objects_instead_of_resources' => 'Opaque objects instead of resources for + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, and + XML + extensions', + + 'other_improvements_title' => 'Other syntax tweaks and improvements', + 'allow_trailing_comma' => 'Allow a trailing comma in parameter lists RFC + and closure use lists RFC', + 'non_capturing_catches' => 'Non-capturing catches', + 'variable_syntax_tweaks' => 'Variable Syntax Tweaks', + 'namespaced_names_as_token' => 'Treat namespaced names as single token', + 'throw_expression' => 'throw is now an expression', + 'class_name_literal_on_object' => 'Allow ::class on objects', + + 'new_classes_title' => 'New Classes, Interfaces, and Functions', + 'weak_map_class' => 'Weak Map class', + 'stringable_interface' => 'Stringable interface', + 'new_str_functions' => 'str_contains(), + str_starts_with(), + str_ends_with()', + 'token_as_object' => 'token_get_all() object implementation', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'Better performance, better syntax, improved type safety.', + 'footer_description' => '

      + For source downloads of PHP 8 please visit the downloads page. + Windows binaries can be found on the PHP for Windows site. + The list of changes is recorded in the ChangeLog. +

      +

      + The migration guide is available in the PHP Manual. Please + consult it for a detailed list of new features and backward-incompatible changes. +

      ', +]; diff --git a/public/releases/8.0/languages/es.php b/public/releases/8.0/languages/es.php new file mode 100644 index 0000000000..7947d4e5ac --- /dev/null +++ b/public/releases/8.0/languages/es.php @@ -0,0 +1,81 @@ + 'PHP 8.0 es una actualización importante del lenguaje php que contiene nuevos recursos y optimizaciones incluyendo argumentos nombrados, tipos de uniones, atributos, promoción de propiedades constructivas, expresiones de equivalencia, operador nullsafe, JIT (traducción dinámica) y también mejoras en el sistema de tipos, manejo de errores y consistencia en general.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 es una actualización importante del lenguaje PHP que contiene nuevos recursos y optimizaciones incluyendo argumentos nombrados, tipos de uniones, atributos, promoción de propiedades constructivas, expresiones match, operador nullsafe, JIT (traducción dinámica) y también mejoras en el sistema de tipos, manejo de errores y consistencia en general.', + 'upgrade_now' => 'Actualizate a PHP 8!', + + 'named_arguments_title' => 'Argumentos nombrados', + 'named_arguments_description' => '
    • Solamente especifica los parámetros requeridos, omite los opcionales.
    • Los argumentos son independientes del orden y se documentan automáticamente.
    • ', + 'attributes_title' => 'Atributos', + 'attributes_description' => 'En vez de anotaciones en PHPDoc, puedes usar metadatos estructurados con la sintaxis nativa de PHP.', + 'constructor_promotion_title' => 'Promoción de propiedades constructivas', + 'constructor_promotion_description' => 'Menos código repetitivo para definir e inicializar una propiedad.', + 'union_types_title' => 'Tipos de unión', + 'union_types_description' => 'En vez de anotaciones en PHPDoc para combinar tipos, puedes usar una declaración de tipo unión nativa que será validada en el momento de ejecución.', + 'match_expression_title' => 'Expresiones match', + 'match_expression_description' => '

      Las nuevas expresiones match son similares a switch y tienen las siguientes características:

      +
        +
      • Match es una expresión; esto quiere decir que pueden ser almacenadas como variables o devueltas.
      • +
      • Match soporta expresiones de una línea y no necesitan romper declarar un break.
      • +
      • Match hace comparaciones estrictas.
      • +
      ', + + 'nullsafe_operator_title' => 'Operador Nullsafe', + 'nullsafe_operator_description' => 'En vez de verificar condiciones nulas, tu puedes utilizar una cadena de llamadas con el nuevo operador nullsafe. Cuando la evaluación de un elemento falla, la ejecución de la entire cadena es abortada y la cadena entera es evaluada como null.', + 'saner_string_number_comparisons_title' => 'Comparaciones inteligentes entre “strings†y números', + 'saner_string_number_comparisons_description' => 'Cuando comparas con un “string†numérico, PHP8 usa comparación numérica o de otro caso convierte el número a un "string" y asi los compara.', + 'consistent_internal_function_type_errors_title' => 'Errores consistentes para funciones internas.', + 'consistent_internal_function_type_errors_description' => 'La mayoría de las funciones internas ahora proveen un Error de excepción si el parámetro no es validado.', + + 'jit_compilation_title' => 'JIT (traducciones dinámicas)', + 'jit_compilation_description' => 'PHP8 introduce 2 motores de compilación JIT. Transit JIT, es el más prometedor de los dos y performa 3 veces mejor en benchmarks sintéticos y 1.5-2 mejor en algunas aplicaciones específicas a largo plazo. Performancia de aplicaciones típicas es a la par de las de PHP7.4', + 'jit_performance_title' => 'JIT contribuciones al funcionamiento relativo de PHP8', + + 'type_improvements_title' => 'Mejorias en los tipos de sistemas y manejo de errores', + 'arithmetic_operator_type_checks' => 'Verificaciones estrictas de operadores aritméticos/bitwise.', + 'abstract_trait_method_validation' => 'Validación de métodos con características abstractas', + 'magic_method_signatures' => 'Firmas correctas de métodos mágicos', + 'engine_warnings' => 'Reclacificamiento de errores fatales', + 'lsp_errors' => 'Errores fatales incompatibles con el método de firma', + 'at_operator_no_longer_silences_fatal_errors' => 'El operador @ no omitirá errores fatales.', + 'inheritance_private_methods' => 'Herencia con métodos privados', + 'mixed_type' => 'Tipo mixed', + 'static_return_type' => 'Tipo retorno static', + 'internal_function_types' => 'Tipos para funciones internas', + 'email_thread' => 'Email thread', + 'opaque_objects_instead_of_resources' => 'Objetos opacos en ves de recursos para + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, + y XML extensiones', + + 'other_improvements_title' => 'Otros ajustes y mejoras del sintax', + 'allow_trailing_comma' => 'Permitir una coma al final de una lista de parámetros RFC + y lista de use en closures RFC', + 'non_capturing_catches' => 'Catches que no capturan', + 'variable_syntax_tweaks' => 'Ajustes al syntax variable', + 'namespaced_names_as_token' => 'Tratamiento de nombres de namespace como tokens únicos', + 'throw_expression' => 'throw es ahora una expresión', + 'class_name_literal_on_object' => 'Permitir ::class on objects', + + 'new_classes_title' => 'Nuevas clases, interfaces y funciones', + 'weak_map_class' => 'Weak Map clase', + 'token_as_object' => 'token_get_all() Implementación de objeto', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'Mejor performancia, mejor syntax, aumentada seguridad de tipos.', + 'footer_description' => '

      + Para bajar el código fuente de PHP8 visita la página downloads. + Código binario para windows lo puedes encontrar en la página PHP for Windows. + La lista de cambios está disponible en la página ChangeLog. +

      +

      + La guía de migración está disponible en el manual de PHP. + Por favor consultala para una lista detallada de alteraciones cambios y compatibilidad. +

      ', +]; diff --git a/public/releases/8.0/languages/fr.php b/public/releases/8.0/languages/fr.php new file mode 100644 index 0000000000..18adaaeb4a --- /dev/null +++ b/public/releases/8.0/languages/fr.php @@ -0,0 +1,82 @@ + "PHP 8.0 est une mise à jour majeure du langage PHP. Elle contient beaucoup de nouvelle fonctionnalités et d'optimisations, incluant les arguments nommés, les types d'union, attributs, promotion de propriétés de constructeur, l'expression match, l'opérateur nullsafe, JIT (Compilation à la Volée), et des améliorations dans le système de typage, la gestion d'erreur, et de cohérence.", + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 est une mise à jour majeure du langage PHP.
      Elle contient beaucoup de nouvelles fonctionnalités et d\'optimisations, incluant les arguments nommés, les types d\'union, attributs, promotion de propriété de constructeur, l\'expression match, l\'opérateur nullsafe, JIT (Compilation à la Volée), et des améliorations dans le système de typage, la gestion d\'erreur, et de cohérence.', + 'upgrade_now' => 'Migrez à PHP 8 maintenant!', + + 'named_arguments_title' => 'Arguments nommés', + 'named_arguments_description' => '
    • Spécifiez uniquement les paramètres requis, omettant ceux optionnels.
    • Les arguments sont indépendants de l\'ordre et auto-documentés.
    • ', + 'attributes_title' => 'Attributs', + 'attributes_description' => 'Au lieux d\'annotations PHPDoc, vous pouvez désormais utiliser les métadonnées structurés avec la syntaxe native de PHP.', + 'constructor_promotion_title' => 'Promotion de propriétés de constructeur', + 'constructor_promotion_description' => 'Moins de code redondant pour définir et initialiser les propriétés.', + 'union_types_title' => "Types d'union", + 'union_types_description' => "Au lieu d'annotation PHPDoc pour une combinaison de type, vous pouvez utiliser les déclarations de types d'union native qui sont validées lors de l'exécution.", + 'match_expression_title' => 'Expression match', + 'match_expression_description' => '

      La nouvelle instruction match est similaire à switch et a les fonctionnalités suivantes :

      +
        +
      • Match est une expression, signifiant que son résultat peut être enregistré dans une variable ou retourné.
      • +
      • Les branches de match supportent uniquement les expressions d\'une seule ligne, et n\'a pas besoin d\'une déclaration break.
      • +
      • Match fait des comparaisons strictes.
      • +
      ', + + 'nullsafe_operator_title' => 'Opérateur Nullsafe', + 'nullsafe_operator_description' => "Au lieu de faire des vérifications conditionnelles de null, vous pouvez utiliser une chaîne d'appel avec le nouvel opérateur nullsafe. Qui lorsque l'évaluation d'un élément de la chaîne échoue, l'exécution de la chaîne complète est terminée et la chaîne entière évalue à null.", + 'saner_string_number_comparisons_title' => 'Comparaisons entre les chaînes de caractères et les nombres plus saines', + 'saner_string_number_comparisons_description' => 'Lors de la comparaison avec une chaîne numérique, PHP 8 utilise une comparaison de nombre. Sinon, il convertit le nombre à une chaîne de caractères et utilise une comparaison de chaîne de caractères.', + 'consistent_internal_function_type_errors_title' => 'Erreurs de type cohérent pour les fonctions internes', + 'consistent_internal_function_type_errors_description' => 'La plupart des fonctions internes lancent désormais une exception Error si la validation du paramètre échoue.', + + 'jit_compilation_title' => 'Compilation Juste-à-Temps (JIT)', + 'jit_compilation_description' => "PHP 8 introduit deux moteurs de compilation JIT (juste à temps/compilation à la volée). Le Tracing JIT, le plus prometteur des deux, montre environ 3 fois plus de performances sur des benchmarks synthétiques et 1,5-2 fois plus de performances sur certaines applications à longue durée d'exécution. Généralement les performances des applications sont identiques à PHP 7.4.", + 'jit_performance_title' => 'Contribution relative du JIT à la performance de PHP 8', + + 'type_improvements_title' => "Amélioration du système de typage et de la gestion d'erreur", + 'arithmetic_operator_type_checks' => 'Vérification de type plus sévère pour les opérateurs arithmétiques et bit à bit', + 'abstract_trait_method_validation' => 'Validation de méthode abstraite des traits', + 'magic_method_signatures' => 'Signature valide des méthodes magiques', + 'engine_warnings' => 'Reclassifications des avertissements du moteur', + 'lsp_errors' => 'Erreur fatale pour des signatures de méthodes incompatibles', + 'at_operator_no_longer_silences_fatal_errors' => "L'opérateur @ ne silence plus les erreurs fatales.", + 'inheritance_private_methods' => 'Héritages avec les méthodes privées', + 'mixed_type' => 'Type mixed', + 'static_return_type' => 'Type de retour static', + 'internal_function_types' => 'Types pour les fonctions internes', + 'email_thread' => 'Discussion e-mail', + 'opaque_objects_instead_of_resources' => 'Objets opaques au lieu de ressources pour les extensions + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, et + XML', + + 'other_improvements_title' => 'Autres ajustements de syntaxe et améliorations', + 'allow_trailing_comma' => 'Autorisation des virgules trainantes dans les listes de paramètres RFC + et dans les listes des use d\'une fermeture RFC', + 'non_capturing_catches' => 'Les catchs non capturant', + 'variable_syntax_tweaks' => 'Ajustement de la Syntaxe des Variables', + 'namespaced_names_as_token' => 'Traite les noms des espaces de nom comme un seul token', + 'throw_expression' => 'throw est désormais une expression', + 'class_name_literal_on_object' => 'Autorisation de ::class sur les objets', + + 'new_classes_title' => 'Nouvelles Classes, Interfaces, et Fonctions', + 'weak_map_class' => 'Classe Weak Map', + 'stringable_interface' => 'Interface Stringable', + 'token_as_object' => 'Implémentation objet de token_get_all()', + 'new_dom_apis' => 'Nouvelles APIs pour traverser et manipuler le DOM', + + 'footer_title' => 'Meilleures performances, meilleure syntaxe, amélioration de la sécurité de type.', + 'footer_description' => '

      + Pour le téléchargement des sources de PHP 8 veuillez visiter la page de téléchargement. + Les binaires Windows peuvent être trouvés sur le site de PHP pour Windows. + La liste des changements est notée dans le ChangeLog. +

      +

      + Le guide de migration est disponible dans le manuel PHP. + Veuillez le consulter pour une liste détaillée des nouvelles fonctionnalités et changements non rétrocompatibles. +

      ', +]; diff --git a/public/releases/8.0/languages/it.php b/public/releases/8.0/languages/it.php new file mode 100644 index 0000000000..77d3420e46 --- /dev/null +++ b/public/releases/8.0/languages/it.php @@ -0,0 +1,82 @@ + 'PHP 8.0 è una nuova versione major del linguaggio PHP. Contiene molte nuove funzionalità ed ottimizzazioni quali i named arguments, la definizione di tipi unione, gli attributi, la promozione a proprietà degli argomenti del costruttore, l\'espressione match, l\'operatore nullsafe, la compilazione JIT e miglioramenti al sistema dei tipi, alla gestione degli errori e alla consistenza.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 è una nuova versione major del linguaggio PHP.
      Contiene molte nuove funzionalità ed ottimizzazioni quali i named arguments, la definizione di tipi unione, gli attributi, la promozione a proprietà degli argomenti del costruttore, l\'espressione match, l\'operatore nullsafe, la compilazione JIT e miglioramenti al sistema dei tipi, alla gestione degli errori e alla consistenza.', + 'upgrade_now' => 'Aggiorna a PHP 8!', + + 'named_arguments_title' => 'Named arguments', + 'named_arguments_description' => '
    • Indica solamente i parametri richiesti, saltando quelli opzionali.
    • Gli argomenti sono indipendenti dall\'ordine e auto-documentati.
    • ', + 'attributes_title' => 'Attributi', + 'attributes_description' => 'Invece delle annotazioni PHPDoc, ora puoi usare metadati strutturati nella sintassi nativa PHP.', + 'constructor_promotion_title' => 'Promozione a proprietà degli argomenti del costruttore', + 'constructor_promotion_description' => 'Meno ripetizioni di codice per definire ed inizializzare le proprietà.', + 'union_types_title' => 'Tipi unione', + 'union_types_description' => 'Invece di indicare una combinazione di tipi con le annotazioni PHPDoc, puoi usare una dichiarazione nativa di tipo unione che viene validato durante l\'esecuzione.', + 'match_expression_title' => 'Espressione match', + 'match_expression_description' => '

      La nuova espressione match è simile allo switch e ha le seguenti funzionalità:

      +
        +
      • Match è un\'espressione, ovvero il suo risultato può essere salvato in una variabile o ritornato.
      • +
      • I rami del match supportano solo espressioni a singola linea e non necessitano di un\'espressione break.
      • +
      • Match esegue comparazioni strict.
      • +
      ', + + 'nullsafe_operator_title' => 'Operatore nullsafe', + 'nullsafe_operator_description' => "Invece di controllare la presenza di un null, puoi ora usare una catena di chiamate con il nuovo operatore nullsafe. Quando la valutazione di un elemento della catena fallisce, l'esecuzione della catena si interrompe e l'intera catena restituisce il valore null.", + 'saner_string_number_comparisons_title' => 'Comparazioni più coerenti di stringhe e numeri', + 'saner_string_number_comparisons_description' => 'Nella comparazione di una stringa numerica, PHP 8 usa la comparazione numerica. Altrimenti, converte il numero in una stringa e usa la comparazione tra stringhe.', + 'consistent_internal_function_type_errors_title' => 'Tipi di errori consistenti per le funzioni native', + 'consistent_internal_function_type_errors_description' => 'La maggior parte delle funzioni native ora lanciano una eccezione Error se la validazione degli argomenti fallisce.', + + 'jit_compilation_title' => 'Compilazione Just-In-Time', + 'jit_compilation_description' => 'PHP 8 intrduce due motori di compilazione JIT. Tracing JIT, il più promettente dei due, mostra delle prestazioni 3 volte superiori nei benchmarks sintetici e 1.5–2 volte superiori per alcuni specifici processi applicativi a lunga esecuzione. Le prestazioni delle tipiche applicazioni web sono al pari con PHP 7.4.', + 'jit_performance_title' => 'Miglioramenti delle performance in PHP 8 grazie a JIT', + + 'type_improvements_title' => 'Sistema dei tipi e miglioramenti alla gestione degli errori', + 'arithmetic_operator_type_checks' => 'Controlli più stringenti per gli operatori aritmetici e bitwise', + 'abstract_trait_method_validation' => 'Validazione dei metodi astratti nei trait', + 'magic_method_signatures' => 'Firme corrette nei metodi magici', + 'engine_warnings' => 'Riclassificazione degli errori', + 'lsp_errors' => 'Errori fatali per firme di metodi non compatibili', + 'at_operator_no_longer_silences_fatal_errors' => "L'operatore @ non silenzia più gli errori fatali.", + 'inheritance_private_methods' => 'Ereditarietà e metodi privati', + 'mixed_type' => 'Tipo mixed', + 'static_return_type' => 'Tipo di ritorno static', + 'internal_function_types' => 'Tipi per le funzioni native', + 'email_thread' => 'Email thread', + 'opaque_objects_instead_of_resources' => 'Oggetti opachi invece che risorse per le estensioni + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, e + XML', + + 'other_improvements_title' => 'Altre ritocchi e migliorie di sintassi', + 'allow_trailing_comma' => 'Permessa una virgola finale nella lista dei parametri RFC + e nell\'espressione use per le closure RFC', + 'non_capturing_catches' => 'Catch senza argomento', + 'variable_syntax_tweaks' => 'Correzioni alla sintassi di variabile', + 'namespaced_names_as_token' => 'Trattamento dei nomi di namespace come un singolo token', + 'throw_expression' => "throw è ora un'espressione", + 'class_name_literal_on_object' => "Permesso l'utilizzo di ::class sugli oggetti", + + 'new_classes_title' => 'Nuove classi, interfacce e funzioni', + 'weak_map_class' => 'Classe Weak Map', + 'stringable_interface' => 'Interfaccia Stringable', + 'token_as_object' => 'Classe PhpToken come alternativa a token_get_all()', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'Performance migliorate, migliore sintassi, e migliore sicurezza dei tipi.', + 'footer_description' => '

      + Per scaricare il codice sorgente visita di PHP 8 visita la pagina di download. + I binari eseguibili per Windows possono essere trovati sul sito PHP for Windows. + Una lista dei cambiamenti è registrata nel ChangeLog. +

      +

      + La guida alla migrazione è disponibile nel manuale PHP. + Consultatelo per una lista completa delle nuove funzionalità e dei cambiamenti non retrocompatibili. +

      ', +]; diff --git a/public/releases/8.0/languages/ja.php b/public/releases/8.0/languages/ja.php new file mode 100644 index 0000000000..aab61bbe99 --- /dev/null +++ b/public/releases/8.0/languages/ja.php @@ -0,0 +1,83 @@ + 'PHP 8.0 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚ã“ã®ã‚¢ãƒƒãƒ—デートã«ã¯ã€ãŸãã•ã‚“ã®æ–°æ©Ÿèƒ½ã‚„最é©åŒ–ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ãŸã¨ãˆã°åå‰ä»˜ã引数ã€union åž‹ã€ã‚¢ãƒˆãƒªãƒ“ュートã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã§ã®ãƒ—ロパティã®ãƒ—ロモーションã€match å¼ã€ nullsafe 演算å­ã€JITã€åž‹ã‚·ã‚¹ãƒ†ãƒ ã®æ”¹å–„ã€ã‚¨ãƒ©ãƒ¼ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã€ä¸€è²«æ€§ã®å‘上ãªã©ã§ã™ã€‚', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚
      ã“ã®ã‚¢ãƒƒãƒ—デートã«ã¯ã€ãŸãã•ã‚“ã®æ–°æ©Ÿèƒ½ã‚„最é©åŒ–ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ãŸã¨ãˆã° åå‰ä»˜ã引数〠union åž‹ã€ã‚¢ãƒˆãƒªãƒ“ュートã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã§ã®ãƒ—ロパティã®ãƒ—ロモーションã€match å¼ã€nullsafe 演算å­ã€JITã€åž‹ã‚·ã‚¹ãƒ†ãƒ ã®æ”¹å–„ã€ã‚¨ãƒ©ãƒ¼ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã€ä¸€è²«æ€§ã®å‘上ãªã©ã§ã™ã€‚', + 'upgrade_now' => 'PHP 8 ã«ã‚¢ãƒƒãƒ—デートã—よã†!', + + 'named_arguments_title' => 'åå‰ä»˜ã引数', + 'named_arguments_description' => '
    • å¿…é ˆã®å¼•æ•°ã ã‘を指定ã—ã€ã‚ªãƒ—ションã®å¼•æ•°ã¯ã‚¹ã‚­ãƒƒãƒ—ã—ã¦ã„ã¾ã™ã€‚
    • 引数ã®é †ç•ªã«ä¾å­˜ã›ãšã€è‡ªå·±æ–‡æ›¸åŒ–(self-documented)ã•れã¦ã„ã¾ã™ã€‚
    • ', + 'attributes_title' => 'アトリビュート', + 'attributes_description' => 'PHPDoc ã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã®ä»£ã‚りã«ã€PHP ãƒã‚¤ãƒ†ã‚£ãƒ–ã®æ–‡æ³•ã§æ§‹é€ åŒ–ã•れãŸãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’扱ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'constructor_promotion_title' => 'コンストラクタã§ã®ã€ãƒ—ロパティã®ãƒ—ロモーション', + 'constructor_promotion_description' => 'ボイラープレートã®ã‚³ãƒ¼ãƒ‰ã‚’減らã™ãŸã‚ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã§ãƒ—ロパティを定義ã—ã€åˆæœŸåŒ–ã—ã¾ã™ã€‚', + 'union_types_title' => 'Union åž‹', + 'union_types_description' => 'PHPDoc ã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使ã£ã¦åž‹ã‚’組ã¿åˆã‚ã›ã‚‹ä»£ã‚りã«ã€å®Ÿè¡Œæ™‚ã«æ¤œè¨¼ãŒè¡Œã‚れる unionåž‹ ã‚’ãƒã‚¤ãƒ†ã‚£ãƒ–ã§ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'match_expression_title' => 'Match å¼', + 'match_expression_description' => '

      match 㯠switch æ–‡ã«ä¼¼ã¦ã„ã¾ã™ãŒã€ä»¥ä¸‹ã®æ©Ÿèƒ½ãŒã‚りã¾ã™:

      +
        +
      • match ã¯å¼ãªã®ã§ã€çµæžœã‚’è¿”ã—ãŸã‚Šã€å¤‰æ•°ã«ä¿å­˜ã—ãŸã‚Šã§ãã¾ã™ã€‚
      • +
      • match ã®åˆ†å²ã¯ä¸€è¡Œã®å¼ã ã‘をサãƒãƒ¼ãƒˆã—ã¦ãŠã‚Šã€break æ–‡ã¯ä¸è¦ã§ã™ã€‚
      • +
      • match ã¯ã€åž‹ã¨å€¤ã«ã¤ã„ã¦ã€åŽ³å¯†ãªæ¯”較を行ã„ã¾ã™ã€‚
      • +
      ', + + 'nullsafe_operator_title' => 'Nullsafe 演算å­', + 'nullsafe_operator_description' => 'null ãƒã‚§ãƒƒã‚¯ã®æ¡ä»¶ã‚’追加ã™ã‚‹ä»£ã‚りã«ã€nullsafeæ¼”ç®—å­ ã‚’ä½¿ã£ã¦å‘¼ã³å‡ºã—ã‚’ãƒã‚§ã‚¤ãƒ³ã•ã›ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚呼ã³å‡ºã—ãƒã‚§ã‚¤ãƒ³ã®ã²ã¨ã¤ãŒå¤±æ•—ã™ã‚‹ã¨ã€ãƒã‚§ã‚¤ãƒ³ã®å®Ÿè¡Œå…¨ä½“ãŒåœæ­¢ã—ã€null ã¨è©•価ã•れã¾ã™ã€‚', + 'saner_string_number_comparisons_title' => 'æ•°å€¤ã¨æ–‡å­—åˆ—ã®æ¯”較', + 'saner_string_number_comparisons_description' => '数値形å¼ã®æ–‡å­—åˆ—ã¨æ¯”較ã™ã‚‹å ´åˆã¯ã€PHP 8 ã¯æ•°å€¤ã¨ã—ã¦æ¯”較を行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€æ•°å€¤ã‚’文字列ã«å¤‰æ›ã—ã€æ–‡å­—列ã¨ã—ã¦æ¯”較を行ã„ã¾ã™ã€‚', + 'consistent_internal_function_type_errors_title' => '内部関数ã®åž‹ã«é–¢ã™ã‚‹ã‚¨ãƒ©ãƒ¼ãŒä¸€è²«ã—ãŸã‚‚ã®ã«', + 'consistent_internal_function_type_errors_description' => 'ã»ã¨ã‚“ã©ã®å†…部関数ã¯ã€å¼•æ•°ã®æ¤œè¨¼ã«å¤±æ•—ã™ã‚‹ã¨ Error 例外をスローã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + + 'jit_compilation_title' => 'JIT (ジャストインタイム) コンパイル', + 'jit_compilation_description' => 'PHP 8 㯠JITコンパイル ã®ã‚¨ãƒ³ã‚¸ãƒ³ã‚’ãµãŸã¤æ­è¼‰ã—ã¦ã„ã¾ã™ã€‚トレーシングJITã¯ã€ã‚‚ã£ã¨ã‚‚有望ãªãµãŸã¤ã®äººå·¥çš„ãªãƒ™ãƒ³ãƒãƒžãƒ¼ã‚¯ã§ã€ç´„3å€ã®ãƒ‘フォーマンスを示ã—ã¾ã—ãŸã€‚ã¾ãŸã€é•·æœŸé–“å‹•ã„ã¦ã„る特定ã®ã‚るアプリケーションã§ã¯ã€1.5-2å€ã®ãƒ‘フォーマンスå‘上ãŒè¦‹ã‚‰ã‚Œã¾ã—ãŸã€‚典型的ãªã‚¢ãƒ—リケーションã®ãƒ‘フォーマンスã¯ã€PHP 7.4 ã¨åŒç­‰ã§ã—ãŸã€‚', + 'jit_performance_title' => 'PHP 8 ã®ãƒ‘フォーマンスã«å¯¾ã™ã‚‹JITã®è²¢çŒ®', + + 'type_improvements_title' => '型システムã¨ã‚¨ãƒ©ãƒ¼ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã®æ”¹å–„', + 'arithmetic_operator_type_checks' => 'ç®—è¡“/ビット演算å­ã®ã‚ˆã‚Šå޳坆ãªåž‹ãƒã‚§ãƒƒã‚¯', + 'abstract_trait_method_validation' => 'ãƒˆãƒ¬ã‚¤ãƒˆã®æŠ½è±¡ãƒ¡ã‚½ãƒƒãƒ‰ã®æ¤œè¨¼', + 'magic_method_signatures' => 'マジックメソッドã®ã‚·ã‚°ãƒãƒãƒ£', + 'engine_warnings' => 'エンジンã®è­¦å‘Šã‚’æ•´ç†', + 'lsp_errors' => 'äº’æ›æ€§ã®ãªã„メソッドシグãƒãƒãƒ£ã¯ fatal error ã«ã€‚', + 'at_operator_no_longer_silences_fatal_errors' => '@ 演算å­ã¯ã€è‡´å‘½çš„ãªã‚¨ãƒ©ãƒ¼ã‚’éš ã•ãªããªã‚Šã¾ã—ãŸã€‚', + 'inheritance_private_methods' => 'private メソッドã®ç¶™æ‰¿æ™‚ã®ã‚·ã‚°ãƒãƒãƒ£ãƒã‚§ãƒƒã‚¯', + 'mixed_type' => 'mixed åž‹ã®ã‚µãƒãƒ¼ãƒˆ', + 'static_return_type' => '戻り値㧠static 型をサãƒãƒ¼ãƒˆ', + 'internal_function_types' => '内部関数ã«åž‹ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³', + 'email_thread' => 'Email thread', + 'opaque_objects_instead_of_resources' => 'ä¸€éƒ¨ã®æ‹¡å¼µæ©Ÿèƒ½ãŒã€ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰ã‚ªãƒ–ジェクトã«ç§»è¡Œ: + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, + XML', + + 'other_improvements_title' => 'ãã®ä»–文法ã®èª¿æ•´ã‚„改善', + 'allow_trailing_comma' => '引数やクロージャーã®useãƒªã‚¹ãƒˆã®æœ€å¾Œã«ã‚«ãƒ³ãƒžãŒã¤ã‘られるよã†ã« RFC + RFC', + 'non_capturing_catches' => 'catch ã§ä¾‹å¤–ã®ã‚­ãƒ£ãƒ—ãƒãƒ£ãŒä¸è¦ã«', + 'variable_syntax_tweaks' => 'å¤‰æ•°ã®æ–‡æ³•ã®èª¿æ•´', + 'namespaced_names_as_token' => 'åå‰ç©ºé–“ã®åå‰ã‚’å˜ä¸€ã®ãƒˆãƒ¼ã‚¯ãƒ³ã¨ã—ã¦æ‰±ã†', + 'throw_expression' => 'throw ã¯å¼ã«ãªã‚Šã¾ã—ãŸ', + 'class_name_literal_on_object' => 'オブジェクトã«å¯¾ã—㦠::class ãŒä½¿ãˆã‚‹ã‚ˆã†ã«', + + 'new_classes_title' => 'æ–°ã—ã„クラスã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã€é–¢æ•°', + 'weak_map_class' => 'Weak Map クラス', + 'stringable_interface' => 'Stringable インターフェイス', + 'token_as_object' => 'token_get_all() をオブジェクトベースã§å®Ÿè£…', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'パフォーマンスã®å‘上ã€ã‚ˆã‚Šè‰¯ã„文法ã€åž‹ã‚·ã‚¹ãƒ†ãƒ ã®æ”¹å–„', + 'footer_description' => '

      + PHP 8 ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯ã€ + downloads ã®ãƒšãƒ¼ã‚¸ã‚’ã©ã†ãžã€‚ + Windows 用ã®ãƒã‚¤ãƒŠãƒªã¯ PHP for Windows ã®ãƒšãƒ¼ã‚¸ã«ã‚りã¾ã™ã€‚ + 変更ã®ä¸€è¦§ã¯ ChangeLog ã«ã‚りã¾ã™ã€‚ +

      +

      + 移行ガイド ㌠PHP マニュアルã§åˆ©ç”¨ã§ãã¾ã™ã€‚ + 新機能や下ä½äº’æ›æ€§ã®ãªã„変更ã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ç§»è¡Œã‚¬ã‚¤ãƒ‰ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„。 +

      ', +]; diff --git a/public/releases/8.0/languages/ka.php b/public/releases/8.0/languages/ka.php new file mode 100644 index 0000000000..de0615c1da --- /dev/null +++ b/public/releases/8.0/languages/ka.php @@ -0,0 +1,84 @@ + 'PHP 8.0 — PHP ენის დიდი გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ. ის შეიცáƒáƒ•ს ბევრ áƒáƒ®áƒáƒš შესáƒáƒ«áƒšáƒ”ბლáƒáƒ‘áƒáƒ¡ დრáƒáƒžáƒ¢áƒ˜áƒ›áƒ˜áƒ–áƒáƒªáƒ˜áƒ”ბს, მáƒáƒ— შáƒáƒ áƒ˜áƒ¡ დáƒáƒ¡áƒáƒ®áƒ”ლებული áƒáƒ áƒ’უმენტები, union type, áƒáƒ¢áƒ áƒ˜áƒ‘უტები, თვისებების გáƒáƒ›áƒáƒ áƒ¢áƒ˜áƒ•ებული გáƒáƒœáƒ¡áƒáƒ–ღვრრკáƒáƒœáƒ¡áƒ¢áƒ áƒ£áƒ¥áƒ¢áƒáƒ áƒ¨áƒ˜, გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრmatch, áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜ nullsafe, JIT დრგáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებები ტიპის სისტემáƒáƒ¨áƒ˜, შეცდáƒáƒ›áƒ”ბის დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებრდრთáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრულáƒáƒ‘áƒ.', + 'documentation' => 'დáƒáƒ™áƒ£áƒ›áƒ”ნტáƒáƒªáƒ˜áƒ', + 'main_title' => 'რელიზი!', + 'main_subtitle' => 'PHP 8.0 — PHP ენის დიდი გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ.
      ის შეიცáƒáƒ•ს ბევრ áƒáƒ®áƒáƒš შესáƒáƒ«áƒšáƒ”ბლáƒáƒ‘áƒáƒ¡ დრáƒáƒžáƒ¢áƒ˜áƒ›áƒ˜áƒ–áƒáƒªáƒ˜áƒ”ბს, მáƒáƒ— შáƒáƒ áƒ˜áƒ¡ დáƒáƒ¡áƒáƒ®áƒ”ლებული áƒáƒ áƒ’უმენტები, union type, áƒáƒ¢áƒ áƒ˜áƒ‘უტები, თვისებების გáƒáƒ›áƒáƒ áƒ¢áƒ˜áƒ•ებული გáƒáƒœáƒ¡áƒáƒ–ღვრრკáƒáƒœáƒ¡áƒ¢áƒ áƒ£áƒ¥áƒ¢áƒáƒ áƒ¨áƒ˜, გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრmatch, áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜ nullsafe, JIT დრგáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებები ტიპის სისტემáƒáƒ¨áƒ˜, შეცდáƒáƒ›áƒ”ბის დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებრდრთáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრულáƒáƒ‘áƒ.', + 'upgrade_now' => 'გáƒáƒ“áƒáƒ“ით PHP 8-ზე!', + + 'named_arguments_title' => 'დáƒáƒ¡áƒáƒ®áƒ”ლებული áƒáƒ áƒ’უმენტები', + 'named_arguments_description' => '
    • მიუთითეთ მხáƒáƒšáƒáƒ“ სáƒáƒ­áƒ˜áƒ áƒ პáƒáƒ áƒáƒ›áƒ”ტრები, გáƒáƒ›áƒáƒ¢áƒáƒ•ეთ áƒáƒ áƒáƒ¡áƒáƒ•áƒáƒšáƒ“ებულáƒ.
    • áƒáƒ áƒ’უმენტების თáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრáƒáƒ‘რáƒáƒ  áƒáƒ áƒ˜áƒ¡ მნიშვნელáƒáƒ•áƒáƒœáƒ˜, áƒáƒ áƒ’უმენტები თვითდáƒáƒ™áƒ£áƒ›áƒ”ნტირებáƒáƒ“იáƒ.
    • ', + 'attributes_title' => 'Attributes', + 'attributes_description' => 'PHPDoc áƒáƒœáƒáƒ¢áƒáƒªáƒ˜áƒ”ბის ნáƒáƒªáƒ•ლáƒáƒ“, შეგიძლიáƒáƒ— გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნáƒáƒ— სტრუქტურული მეტáƒáƒ›áƒáƒœáƒáƒªáƒ”მები ნáƒáƒ¢áƒ˜áƒ£áƒ áƒ˜ PHP სინტáƒáƒ¥áƒ¡áƒ˜áƒ—.', + 'constructor_promotion_title' => 'თვისებების გáƒáƒœáƒáƒ®áƒšáƒ”ბრკáƒáƒœáƒ¡áƒ¢áƒ áƒ£áƒ¥áƒ¢áƒáƒ áƒ¨áƒ˜', + 'constructor_promotion_description' => 'ნáƒáƒ™áƒšáƒ”ბი შáƒáƒ‘ლáƒáƒœáƒ£áƒ áƒ˜ კáƒáƒ“ი თვისებების გáƒáƒœáƒ¡áƒáƒ–ღვრისრდრინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡áƒ—ვის.', + 'union_types_title' => 'Union types', + 'union_types_description' => 'PHPDoc áƒáƒœáƒáƒ¢áƒáƒªáƒ˜áƒ”ბის ნáƒáƒªáƒ•ლáƒáƒ“, გáƒáƒ”რთიáƒáƒœáƒ”ბული ტიპებისთვის შეგიძლიáƒáƒ— გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნáƒáƒ— გáƒáƒœáƒªáƒ®áƒáƒ“ებრunion type, რáƒáƒ›áƒšáƒ”ბიც მáƒáƒ¬áƒ›áƒ“ებრშესრულების დრáƒáƒ¡.', + 'ok' => 'შეცდáƒáƒ›áƒ”ბი áƒáƒ áƒáƒ', + 'oh_no' => 'áƒáƒáƒ áƒáƒ áƒ!', + 'this_is_expected' => 'ის, რáƒáƒ¡áƒáƒª მე ველáƒáƒ“ი', + 'match_expression_title' => 'გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრMatch', + 'match_expression_description' => '

      áƒáƒ®áƒáƒšáƒ˜ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრmatch, switch áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜áƒ¡ მსგáƒáƒ•სირშემდეგი მáƒáƒ®áƒáƒ¡áƒ˜áƒáƒ—ებლებით:

      +
        +
      • Match — ეს áƒáƒ áƒ˜áƒ¡ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბáƒ, მისი შედეგი შეიძლებრშენáƒáƒ®áƒ£áƒšáƒ˜ იყáƒáƒ¡ ცვლáƒáƒ“ში áƒáƒœ დáƒáƒ‘რუნდეს.
      • +
      • პირáƒáƒ‘რmatch მხáƒáƒ áƒ¡ უჭერერს მხáƒáƒšáƒáƒ“ ერთსტრიქáƒáƒœáƒ˜áƒáƒœ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბებს, რáƒáƒ›áƒšáƒ”ბიც áƒáƒ  სáƒáƒ­áƒ˜áƒ áƒáƒ”ბენ break კáƒáƒœáƒ¢áƒ áƒáƒšáƒ˜áƒ¡ კáƒáƒœáƒ¡áƒ¢áƒ áƒ£áƒ¥áƒªáƒ˜áƒáƒ¡.
      • +
      • გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრmatch იყენებს მკáƒáƒªáƒ  შედáƒáƒ áƒ”ბáƒáƒ¡.
      • +
      ', + + 'nullsafe_operator_title' => 'áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜ Nullsafe', + 'nullsafe_operator_description' => 'null-ის შემáƒáƒ¬áƒ›áƒ”ბის ნáƒáƒªáƒ•ლáƒáƒ“, შეგიძლიáƒáƒ— გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნáƒáƒ— გáƒáƒ›áƒáƒ«áƒáƒ®áƒ”ბის თáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრáƒáƒ‘რáƒáƒ®áƒáƒš Nullsafe áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜áƒ—. რáƒáƒ“ესáƒáƒª ერთ-ერთი ელემენტი თáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრáƒáƒ‘áƒáƒ¨áƒ˜ áƒáƒ‘რუნებს null-ს, შესრულებრჩერდებრდრმთელი თáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრáƒáƒ‘რáƒáƒ‘რუნებს null-ს.', + 'saner_string_number_comparisons_title' => 'სტრიქáƒáƒœáƒ”ბისრდრრიცხვების გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებული შედáƒáƒ áƒ”ბáƒ', + 'saner_string_number_comparisons_description' => 'PHP 8 რიცხვითი სტრიქáƒáƒœáƒ˜áƒ¡ შედáƒáƒ áƒ”ბისáƒáƒ¡ იყენებს რიცხვების შედáƒáƒ áƒ”ბáƒáƒ¡. წინáƒáƒáƒ¦áƒ›áƒ“ეგ შემთხვევáƒáƒ¨áƒ˜, რიცხვი გáƒáƒ áƒ“áƒáƒ˜áƒ¥áƒ›áƒœáƒ”ბრსტრიქáƒáƒœáƒáƒ“ დრგáƒáƒ›áƒáƒ˜áƒ§áƒ”ნებრსტრიქáƒáƒœáƒ”ბის შედáƒáƒ áƒ”ბáƒ.', + 'consistent_internal_function_type_errors_title' => 'ტიპების თáƒáƒœáƒ›áƒ˜áƒ›áƒ“ევრულáƒáƒ‘ის შეცდáƒáƒ›áƒ”ბი ჩáƒáƒ¨áƒ”ნებული ფუნქციებისთვის', + 'consistent_internal_function_type_errors_description' => 'შიდრფუნქციების უმეტესáƒáƒ‘რუკვე გáƒáƒ›áƒáƒ áƒ˜áƒªáƒ®áƒáƒ•ს Error გáƒáƒ›áƒáƒœáƒáƒ™áƒšáƒ˜áƒ¡áƒ¡, თუ შეცდáƒáƒ›áƒ მáƒáƒ®áƒ“რპáƒáƒ áƒáƒ›áƒ”ტრის შემáƒáƒ¬áƒ›áƒ”ბისáƒáƒ¡.', + + 'jit_compilation_title' => 'კáƒáƒ›áƒžáƒ˜áƒšáƒáƒªáƒ˜áƒ Just-In-Time', + 'jit_compilation_description' => 'PHP 8 წáƒáƒ áƒ›áƒáƒ’იდგენთ JIT-კáƒáƒ›áƒžáƒ˜áƒšáƒáƒªáƒ˜áƒ˜áƒ¡ áƒáƒ  მექáƒáƒœáƒ˜áƒ–მს. JIT ტრáƒáƒ¡áƒ˜áƒ áƒ”ბáƒ, მáƒáƒ—გáƒáƒœ ყველáƒáƒ–ე პერსპექტიულიáƒ, სინთეზურ ბენჩმáƒáƒ áƒ™áƒ–ე áƒáƒ©áƒ•ენებს მუშáƒáƒáƒ‘ის გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებáƒáƒ¡ დáƒáƒáƒ®áƒšáƒáƒ”ბით 3-ჯერ დრ1.5-2-ჯერ ზáƒáƒ’იერთ დიდ ხáƒáƒœáƒ¡ მáƒáƒ›áƒ£áƒ¨áƒáƒ•ე áƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ”ბში. áƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ˜áƒ¡ სტáƒáƒœáƒ“áƒáƒ áƒ¢áƒ£áƒšáƒ˜ წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘რერთ დრიგივე დáƒáƒœáƒ”ზერPHP 7.4-თáƒáƒœ.', + 'jit_performance_title' => 'JIT-ის შედáƒáƒ áƒ”ბითი წვლილი PHP 8-ის წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘áƒáƒ¨áƒ˜', + + 'type_improvements_title' => 'გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებები ტიპის სისტემáƒáƒ¨áƒ˜ დრშეცდáƒáƒ›áƒ”ბის დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებáƒ', + 'arithmetic_operator_type_checks' => 'ტიპის უფრრმკáƒáƒªáƒ áƒ˜ შემáƒáƒ¬áƒ›áƒ”ბრáƒáƒ áƒ˜áƒ—მეტიკული/ბიტიური áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ”ბისთვის', + 'abstract_trait_method_validation' => 'áƒáƒ‘სტრáƒáƒ¥áƒ¢áƒ£áƒšáƒ˜ თვისებების მეთáƒáƒ“ების შემáƒáƒ¬áƒ›áƒ”ბáƒ', + 'magic_method_signatures' => 'ჯáƒáƒ“áƒáƒ¡áƒœáƒ£áƒ áƒ˜ მეთáƒáƒ“ების სწáƒáƒ áƒ˜ სიგნáƒáƒ¢áƒ£áƒ áƒ”ბი', + 'engine_warnings' => 'ძრáƒáƒ•ის გáƒáƒ¤áƒ áƒ—ხილებების ხელáƒáƒ®áƒáƒšáƒ˜ კლáƒáƒ¡áƒ˜áƒ¤áƒ˜áƒ™áƒáƒªáƒ˜áƒ', + 'lsp_errors' => 'ფáƒáƒ¢áƒáƒšáƒ£áƒ áƒ˜ შეცდáƒáƒ›áƒ, რáƒáƒ“ესáƒáƒª მეთáƒáƒ“ის სიგნáƒáƒ¢áƒ£áƒ áƒ შეუთáƒáƒ•სებელიáƒ', + 'at_operator_no_longer_silences_fatal_errors' => '@ áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜ áƒáƒ¦áƒáƒ  áƒáƒ©áƒ£áƒ›áƒ”ბს ფáƒáƒ¢áƒáƒšáƒ£áƒ  შეცდáƒáƒ›áƒ”ბს.', + 'inheritance_private_methods' => 'მემკვიდრეáƒáƒ‘რprivate მეთáƒáƒ“ებთáƒáƒœ', + 'mixed_type' => 'áƒáƒ®áƒáƒšáƒ˜ ტიპი mixed', + 'static_return_type' => 'დáƒáƒ‘რუნების ტიპი static', + 'internal_function_types' => 'ტიპები სტáƒáƒœáƒ“áƒáƒ áƒ¢áƒ£áƒšáƒ˜ ფუნქციებისთვის', + 'email_thread' => 'Email თემáƒ', + 'opaque_objects_instead_of_resources' => 'გáƒáƒ£áƒ›áƒ­áƒ•ირვáƒáƒšáƒ” áƒáƒ‘იექტები რესურსების ნáƒáƒªáƒ•ლáƒáƒ“ + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, and + XML + გáƒáƒ¤áƒáƒ áƒ—áƒáƒ”ბებისთვის', + + 'other_improvements_title' => 'სინტáƒáƒ¥áƒ¡áƒ˜áƒ¡ სხვრგáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებáƒ', + 'allow_trailing_comma' => 'მძიმე დáƒáƒ¨áƒ•ებულირპáƒáƒ áƒáƒ›áƒ”ტრების სიის ბáƒáƒšáƒáƒ¡ RFC + დრuse დáƒáƒ›áƒáƒ™áƒšáƒ”ბის სიáƒáƒ¨áƒ˜ RFC', + 'non_capturing_catches' => 'ბლáƒáƒ™áƒ˜ catch ცვლáƒáƒ“ის მითითების გáƒáƒ áƒ”შე', + 'variable_syntax_tweaks' => 'ცვლáƒáƒ“ის სინტáƒáƒ¥áƒ¡áƒ˜áƒ¡ ცვლილებáƒ', + 'namespaced_names_as_token' => 'სáƒáƒ®áƒ”ლების სივრცეში სáƒáƒ®áƒ”ლები გáƒáƒœáƒ˜áƒ®áƒ˜áƒšáƒ”ბáƒ, რáƒáƒ’áƒáƒ áƒª ერთიáƒáƒ›áƒœáƒ˜ ტáƒáƒ™áƒ”ნი', + 'throw_expression' => 'გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბრthrow', + 'class_name_literal_on_object' => 'დáƒáƒ›áƒáƒ¢áƒ”ბრ::class áƒáƒ‘იექტებისთვის', + + 'new_classes_title' => 'áƒáƒ®áƒáƒšáƒ˜ კლáƒáƒ¡áƒ”ბი, ინტერფეისები დრფუნქციები', + 'token_as_object' => 'token_get_all() áƒáƒ‘იექტზე-áƒáƒ áƒ˜áƒ”ნტირებული ფუნქციáƒ', + 'new_dom_apis' => 'áƒáƒ®áƒáƒšáƒ˜ API-ები DOM-ის გáƒáƒ“áƒáƒ¡áƒáƒ¡áƒ•ლელáƒáƒ“ დრდáƒáƒ¡áƒáƒ›áƒ£áƒ¨áƒáƒ•ებლáƒáƒ“', + + 'footer_title' => 'უკეთესი წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘áƒ, უკეთესი სინტáƒáƒ¥áƒ¡áƒ˜, უფრრსáƒáƒ˜áƒ›áƒ”დრტიპების სისტემáƒ.', + 'footer_description' => '

      + PHP 8 წყáƒáƒ áƒáƒ¡ კáƒáƒ“ის ჩáƒáƒ›áƒáƒ¡áƒáƒ¢áƒ•ირთáƒáƒ“ ეწვიეთ ჩáƒáƒ›áƒáƒ¢áƒ•ირთვის გვერდს. + Windows-ის ბინáƒáƒ áƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბი გáƒáƒœáƒ—áƒáƒ•სებულირსáƒáƒ˜áƒ¢áƒ–ე PHP Windows-თვის. + ცვლილებების სირწáƒáƒ áƒ›áƒáƒ“გენილირChangeLog-ში. +

      +

      + მიგრáƒáƒªáƒ˜áƒ˜áƒ¡ გზáƒáƒ›áƒ™áƒ•ლევი ხელმისáƒáƒ¬áƒ•დáƒáƒ›áƒ˜áƒ დáƒáƒ™áƒ£áƒ›áƒ”ნტáƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒœáƒ§áƒáƒ¤áƒ˜áƒšáƒ”ბáƒáƒ¨áƒ˜. გთხáƒáƒ•თ, + შეისწáƒáƒ•ლáƒáƒ— იგი áƒáƒ®áƒáƒšáƒ˜ ფუნქციების დეტáƒáƒšáƒ£áƒ áƒ˜ ჩáƒáƒ›áƒáƒœáƒáƒ—ვáƒáƒšáƒ˜áƒ¡ მისáƒáƒ¦áƒ”ბáƒáƒ“ დრუკუ შეუთáƒáƒ•სებელი ცვლილებებისთვის. +

      ', +]; diff --git a/public/releases/8.0/languages/nl.php b/public/releases/8.0/languages/nl.php new file mode 100644 index 0000000000..af1630978e --- /dev/null +++ b/public/releases/8.0/languages/nl.php @@ -0,0 +1,81 @@ + 'PHP 8.0 is een omvangrijke update van de PHP programmeertaal. Het bevat veel nieuwe mogelijkheden en optimalisaties, waaronder argument naamgeving, unie types, attributen, promotie van constructor eigenschappen, expressie vergelijking, null-veilige operator, JIT, en verbeteringen aan het type systeem, foute afhandeling, en consistentie.', + 'documentation' => 'Doc', + 'main_title' => 'Beschikbaar!', + 'main_subtitle' => 'PHP 8.0 is een omvangrijke update van de PHP programmeertaal.
      Het bevat veel nieuwe mogelijkheden en optimalisaties, waaronder argument naamgeving, unie types, attributen, promotie van constructor eigenschappen, expressie vergelijking, null-veilige operator, JIT, en verbeteringen aan het type systeem, foute afhandeling, en consistentie.', + 'upgrade_now' => 'Update naar PHP 8!', + + 'named_arguments_title' => 'Argument naamgeving', + 'named_arguments_description' => '
    • Geef enkel vereiste parameters op, sla optionele parameters over.
    • Argumenten hebben een onafhankelijke volgorde en documenteren zichzelf.
    • ', + 'attributes_title' => 'Attributen', + 'attributes_description' => 'In plaats van met PHPDoc annotaties kan je nu gestructureerde metadata gebruiken in PHP\'s eigen syntaxis.', + 'constructor_promotion_title' => 'Promotie van constructor eigenschappen', + 'constructor_promotion_description' => 'Minder standaardcode nodig om eigenschappen te definiëren en initialiseren.', + 'union_types_title' => 'Unie types', + 'union_types_description' => 'In plaats van met PHPDoc annotaties kan je de mogelijke types via unie types declareren zodat deze ook gevalideerd worden tijdens de runtime.', + 'match_expression_title' => 'Expressie vergelijking', + 'match_expression_description' => '

      De nieuwe match is gelijkaardig aan switch en heeft volgende eigenschappen:

      +
        +
      • Match is een expressie, dit wil zeggen dat je het in een variabele kan bewaren of teruggeven.
      • +
      • Match aftakkingen zijn expressies van één enkele lijn en bevatten geen break statements.
      • +
      • Match vergelijkingen zijn strikt.
      • +
      ', + + 'nullsafe_operator_title' => 'Null-veilige operator', + 'nullsafe_operator_description' => 'In plaats van een controle op null uit te voeren kan je nu een ketting van oproepen vormen met de null-veilige operator. Wanneer één expressie in de ketting faalt, zal de rest van de ketting niet uitgevoerd worden en is het resultaat van de hele ketting null.', + 'saner_string_number_comparisons_title' => 'Verstandigere tekst met nummer vergelijkingen', + 'saner_string_number_comparisons_description' => 'Wanneer PHP 8 een vergelijking uitvoert tegen een numerieke tekst zal er een numerieke vergelijking uitgevoerd worden. Anders zal het nummer naar een tekst omgevormd worden en er een tekstuele vergelijking uitgevoerd worden.', + 'consistent_internal_function_type_errors_title' => 'Consistente type fouten voor interne functies', + 'consistent_internal_function_type_errors_description' => 'De meeste interne functies gooien nu een Error exception als de validatie van parameters faalt.', + + 'jit_compilation_title' => 'Just-In-Time compilatie', + 'jit_compilation_description' => 'PHP 8 introduceert twee systemen voor JIT compilatie. De tracerende JIT is veelbelovend en presteert ongeveer 3 keer beter bij synthetische metingen en kan sommige langlopende applicaties 1.5–2 keer verbeteren. Prestaties van typische web applicaties ligt in lijn met PHP 7.4.', + 'jit_performance_title' => 'Relatieve JIT bijdrage aan de prestaties van PHP 8', + + 'type_improvements_title' => 'Type systeem en verbeteringen van de fout afhandeling', + 'arithmetic_operator_type_checks' => 'Strikte type controles bij rekenkundige/bitsgewijze operatoren', + 'abstract_trait_method_validation' => 'Validatie voor abstracte trait methodes', + 'magic_method_signatures' => 'Correcte signatures bij magic methods', + 'engine_warnings' => 'Herindeling van de engine warnings', + 'lsp_errors' => 'Fatal error bij incompatibele method signatures', + 'at_operator_no_longer_silences_fatal_errors' => 'De @ operator werkt niet meer bij het onderdrukken van fatale fouten.', + 'inheritance_private_methods' => 'Overerving bij private methods', + 'mixed_type' => 'mixed type', + 'static_return_type' => 'static return type', + 'internal_function_types' => 'Types voor interne functies', + 'email_thread' => 'Email draadje', + 'opaque_objects_instead_of_resources' => 'Opaque objects in plaats van resources voor + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, and + XML + extensies', + + 'other_improvements_title' => 'Andere syntaxis aanpassingen en verbeteringen', + 'allow_trailing_comma' => 'Sta toe om een komma te plaatsen bij het laatste parameter in een lijst RFC + en bij de use in closures RFC', + 'non_capturing_catches' => 'Catches die niets vangen', + 'variable_syntax_tweaks' => 'Variabele Syntaxis Aanpassingen', + 'namespaced_names_as_token' => 'Namespaced namen worden als één enkel token afgehandeld', + 'throw_expression' => 'throw is nu een expressie', + 'class_name_literal_on_object' => '::class werkt bij objecten', + + 'new_classes_title' => 'Nieuwe Classes, Interfaces, en Functies', + 'token_as_object' => 'token_get_all() object implementatie', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'Betere prestaties, betere syntaxis, verbeterd type systeem.', + 'footer_description' => '

      + Ga naar de downloads pagina om de PHP 8 code te verkrijgen. + Uitvoerbare bestanden voor Windows kan je vinden op de PHP voor Windows website. + De volledige lijst met wijzigingen is vastgelegd in een ChangeLog. +

      +

      + De migratie gids is beschikbaar in de PHP Handleiding. Gebruik + deze om een gedetailleerde lijst te krijgen van nieuwe opties en neerwaarts incompatibele aanpassingen. +

      ', +]; diff --git a/public/releases/8.0/languages/pt_BR.php b/public/releases/8.0/languages/pt_BR.php new file mode 100644 index 0000000000..4af6ac2049 --- /dev/null +++ b/public/releases/8.0/languages/pt_BR.php @@ -0,0 +1,88 @@ + 'PHP 8.0 é uma atualização importante da linguagem PHP. Ela contém muitos novos recursos e otimizações, incluindo argumentos nomeados, união de tipos, atributos, promoção de propriedade do construtor, expressão match, operador nullsafe, JIT e melhorias no sistema de tipos, tratamento de erros e consistência.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.0 é uma atualização importante da linguagem PHP.
      Ela contém muitos novos recursos e otimizações, incluindo argumentos nomeados, união de tipos, atributos, promoção de propriedade do construtor, expressão match, operador nullsafe, JIT e melhorias no sistema de tipos, tratamento de erros e consistência.', + 'upgrade_now' => 'Atualize para o PHP 8!', + + 'named_arguments_title' => 'Argumentos nomeados', + 'named_arguments_description' => '
    • Especifique apenas os parâmetros obrigatórios, pulando os opcionais.
    • Os argumentos são independentes da ordem e autodocumentados.
    • ', + 'attributes_title' => 'Atributos', + 'attributes_description' => 'Em vez de anotações PHPDoc, agora você pode usar metadados estruturados com a sintaxe nativa do PHP.', + 'constructor_promotion_title' => 'Promoção de propriedade de construtor', + 'constructor_promotion_description' => 'Menos código boilerplate para definir e inicializar propriedades.', + 'union_types_title' => 'União de tipos', + 'union_types_description' => 'Em vez de anotações PHPDoc para uma combinação de tipos, você pode usar declarações de união de tipos nativa que são validados em tempo de execução', + 'match_expression_title' => 'Expressão match', + 'match_expression_description' => '

      A nova expressão match é semelhante ao switch e tem os seguintes recursos:

      +
        +
      • Match é uma expressão, o que significa que seu resultado pode ser armazenado em uma variável ou + retornado.
      • +
      • Match suporta apenas expressões de uma linha e não precisa de uma declaração break.
      • +
      • Match faz comparações estritas.
      • +
      ', + + 'nullsafe_operator_title' => 'Operador nullsafe', + 'nullsafe_operator_description' => 'Em vez de verificar condições nulas, agora você pode usar uma cadeia de chamadas com o novo operador nullsafe. Quando a avaliação de um elemento da cadeia falha, a execução de toda a cadeia é abortada e toda a cadeia é avaliada como nula.', + 'saner_string_number_comparisons_title' => 'Comparações mais inteligentes entre strings e números', + 'saner_string_number_comparisons_description' => 'Ao comparar com uma string numérica, o PHP 8 usa uma comparação numérica. Caso contrário, ele converte o número em uma string e usa uma comparação de string.', + 'consistent_internal_function_type_errors_title' => 'Erros consistentes para tipos de dados em funções internas', + 'consistent_internal_function_type_errors_description' => 'A maioria das funções internas agora lançam uma exceção Error se a validação do parâmetro falhar.', + + 'jit_compilation_title' => 'Compilação Just-In-Time', + 'jit_compilation_description' => 'PHP 8 apresenta dois motores de compilação JIT. Tracing JIT, o mais promissor dos dois, mostra desempenho cerca de 3 vezes melhor em benchmarks sintéticos e melhoria de 1,5 a 2 vezes em alguns aplicativos específicos de longa execução. O desempenho típico das aplicações está no mesmo nível do PHP 7.4.', + 'jit_performance_title' => 'Relative JIT contribution to PHP 8 performance', + + 'type_improvements_title' => 'Melhorias no sistema de tipo e tratamento de erros', + 'arithmetic_operator_type_checks' => 'Verificações de tipo mais rígidas para operadores aritméticos / bit a bit', + 'abstract_trait_method_validation' => 'Validação de método abstrato em traits', + 'magic_method_signatures' => 'Assinaturas corretas de métodos mágicos', + 'engine_warnings' => 'Avisos de motor reclassificados', + 'lsp_errors' => 'Erro fatal para assinaturas de método incompatíveis', + 'at_operator_no_longer_silences_fatal_errors' => 'O operador @ não silencia mais os erros fatais.', + 'inheritance_private_methods' => 'Herança com métodos privados', + 'mixed_type' => 'Tipo mixed', + 'static_return_type' => 'Tipo de retorno static', + 'internal_function_types' => 'Tipagem de funções internas', + 'email_thread' => 'Discussão por email', + 'opaque_objects_instead_of_resources' => 'Objetos opacos em vez de recursos para + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, e + XML + extensões', + + 'other_improvements_title' => 'Outros ajustes e melhorias de sintaxe', + 'allow_trailing_comma' => 'Permitir vírgula no final da lista de parâmetros RFC + e listas de uso em closures RFC', + 'non_capturing_catches' => 'Catches sem variável na captura de exceção', + 'variable_syntax_tweaks' => 'Ajustes de sintaxe para variáveis', + 'namespaced_names_as_token' => 'Tratamento de nomes de namespace como token único', + 'throw_expression' => 'throw como expressão', + 'class_name_literal_on_object' => 'Permitir ::class em objetos', + + 'new_classes_title' => 'Novas classes, interfaces e funções', + 'weak_map_class' => 'Classe Weak Map', + 'stringable_interface' => 'Interface Stringable', + 'token_as_object' => 'token_get_all() implementado com objetos', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'Obtenha melhoria de desempenho gratuita. + Obtenha melhor sintaxe.
      + Obtenha mais segurança de tipos.', + 'footer_description' => '

      + Para downloads do código-fonte do PHP 8, visite a página de + downloads. + Os binários do Windows podem ser encontrados na página PHP para + Windows. + A lista de mudanças é registrada no ChangeLog. +

      +

      + O guia de migração está disponível no Manual do PHP. + Consulte-o para obter uma lista detalhada de novos recursos e alterações incompatíveis com versões anteriores. +

      ', +]; diff --git a/public/releases/8.0/languages/ru.php b/public/releases/8.0/languages/ru.php new file mode 100644 index 0000000000..17acb1cd2d --- /dev/null +++ b/public/releases/8.0/languages/ru.php @@ -0,0 +1,86 @@ + 'PHP 8.0 — большое обновление Ñзыка PHP. Оно Ñодержит множеÑтво новых возможноÑтей и оптимизаций, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ аргументы, тип union, атрибуты, упрощённое определение ÑвойÑтв в конÑтрукторе, выражение match, оператор nullsafe, JIT и ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð² ÑиÑтеме типов, обработке ошибок и конÑиÑтентноÑти.', + 'documentation' => 'ДокументациÑ', + 'main_title' => 'доÑтупен!', + 'main_subtitle' => 'PHP 8.0 — большое обновление Ñзыка PHP.
      Оно Ñодержит множеÑтво новых возможноÑтей и оптимизаций, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ аргументы, union type, атрибуты, упрощённое определение ÑвойÑтв в конÑтрукторе, выражение match, оператор nullsafe, JIT и ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð² ÑиÑтеме типов, обработке ошибок и конÑиÑтентноÑти.', + 'upgrade_now' => 'Переходите на PHP 8!', + + 'named_arguments_title' => 'Именованные аргументы', + 'named_arguments_description' => '
    • Указывайте только необходимые параметры, пропуÑкайте необÑзательные.
    • ПорÑдок аргументов не важен, аргументы Ñамодокументируемы.
    • ', + 'attributes_title' => 'Ðтрибуты', + 'attributes_description' => 'ВмеÑто аннотаций PHPDoc вы можете иÑпользовать Ñтруктурные метаданные Ñ Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¼ ÑинтакÑиÑом PHP.', + 'constructor_promotion_title' => 'ОбъÑвление ÑвойÑтв в конÑтрукторе', + 'constructor_promotion_description' => 'Меньше шаблонного кода Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ инициализации ÑвойÑтв.', + 'union_types_title' => 'Тип Union', + 'union_types_description' => 'ВмеÑто аннотаций PHPDoc Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñ‘Ð½Ð½Ñ‹Ñ… типов вы можете иÑпользовать объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° union, которые проверÑÑŽÑ‚ÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ.', + 'ok' => 'Ðет ошибки', + 'oh_no' => 'О нет!', + 'this_is_expected' => 'То, что Ñ Ð¸ ожидал', + 'match_expression_title' => 'Выражение Match', + 'match_expression_description' => '

      Ðовое выражение match похоже на оператор switch Ñо Ñледующими оÑобенноÑÑ‚Ñми:

      +
        +
      • Match — Ñто выражение, его результат может быть Ñохранён в переменной или возвращён.
      • +
      • УÑÐ»Ð¾Ð²Ð¸Ñ match поддерживают только одноÑтрочные выражениÑ, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… не требуетÑÑ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÑÑŽÑ‰Ð°Ñ ÐºÐ¾Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ break.
      • +
      • Выражение match иÑпользует Ñтрогое Ñравнение.
      • +
      ', + + 'nullsafe_operator_title' => 'Оператор Nullsafe', + 'nullsafe_operator_description' => 'ВмеÑто проверки на null вы можете иÑпользовать поÑледовательноÑть вызовов Ñ Ð½Ð¾Ð²Ñ‹Ð¼ оператором Nullsafe. Когда один из Ñлементов в поÑледовательноÑти возвращает null, выполнение прерываетÑÑ Ð¸ вÑÑ Ð¿Ð¾ÑледовательноÑть возвращает null.', + 'saner_string_number_comparisons_title' => 'Улучшенное Ñравнение Ñтрок и чиÑел', + 'saner_string_number_comparisons_description' => 'При Ñравнении Ñ Ñ‡Ð¸Ñловой Ñтрокой PHP 8 иÑпользует Ñравнение чиÑел. Ð’ противном Ñлучае чиÑло преобразуетÑÑ Ð² Ñтроку и иÑпользуетÑÑ Ñравнение Ñтрок.', + 'consistent_internal_function_type_errors_title' => 'Ошибки ÑоглаÑованноÑти типов Ð´Ð»Ñ Ð²Ñтроенных функций', + 'consistent_internal_function_type_errors_description' => 'БольшинÑтво внутренних функций теперь выбраÑывают иÑключение Error, еÑли при проверке параметра возникает ошибка.', + + 'jit_compilation_title' => 'КомпилÑÑ†Ð¸Ñ Just-In-Time', + 'jit_compilation_description' => 'PHP 8 предÑтавлÑет два механизма JIT-компилÑции. ТраÑÑировка JIT, наиболее перÑÐ¿ÐµÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð¸Ð· них, на ÑинтетичеÑких бенчмарках показывает улучшение производительноÑти примерно в 3 раза и в 1,5–2 раза на некоторых долго работающих приложениÑÑ…. Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð½Ð° одном уровне Ñ PHP 7.4.', + 'jit_performance_title' => 'ОтноÑительный вклад JIT в производительноÑть PHP 8', + + 'type_improvements_title' => 'Ð£Ð»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð² ÑиÑтеме типов и обработке ошибок', + 'arithmetic_operator_type_checks' => 'Более Ñтрогие проверки типов Ð´Ð»Ñ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡ÐµÑких/побитовых операторов', + 'abstract_trait_method_validation' => 'Проверка методов абÑтрактных трейтов', + 'magic_method_signatures' => 'Правильные Ñигнатуры магичеÑких методов', + 'engine_warnings' => 'РеклаÑÑÐ¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ð¹ движка', + 'lsp_errors' => 'Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при неÑовмеÑтимоÑти Ñигнатур методов', + 'at_operator_no_longer_silences_fatal_errors' => 'Оператор @ больше не подавлÑет фатальные ошибки.', + 'inheritance_private_methods' => 'ÐаÑледование Ñ private методами', + 'mixed_type' => 'Ðовый тип mixed', + 'static_return_type' => 'Возвращаемый тип static', + 'internal_function_types' => 'Типы Ð´Ð»Ñ Ñтандартных функций', + 'email_thread' => 'E-mail Тема', + 'opaque_objects_instead_of_resources' => 'Ðепрозрачные объекты вмеÑто реÑурÑов Ð´Ð»Ñ + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter, e + XML + раÑширениÑ', + + 'other_improvements_title' => 'Прочие ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ ÑинтакÑиÑа', + 'allow_trailing_comma' => 'Разрешена запÑÑ‚Ð°Ñ Ð² конце ÑпиÑка параметров RFC + и в ÑпиÑке use замыканий RFC', + 'non_capturing_catches' => 'Блок catch без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹', + 'variable_syntax_tweaks' => 'Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑинтакÑиÑа переменных', + 'namespaced_names_as_token' => 'Имена в проÑтранÑтве имен раÑÑматриваютÑÑ ÐºÐ°Ðº единый токен', + 'throw_expression' => 'Выражение throw', + 'class_name_literal_on_object' => 'Добавление ::class Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð²', + + 'new_classes_title' => 'Ðовые клаÑÑÑ‹, интерфейÑÑ‹ и функции', + 'weak_map_class' => 'КлаÑÑ Weak Map', + 'stringable_interface' => 'Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Stringable', + 'token_as_object' => 'Объектно-Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ token_get_all()', + 'new_dom_apis' => 'Ðовые API Ð´Ð»Ñ Ð¾Ð±Ñ…Ð¾Ð´ÐµÐ½Ð¸Ñ Ð¸ обработки DOM', + + 'footer_title' => 'Выше производительноÑть, лучше ÑинтакÑиÑ, надежнее ÑиÑтема типов.', + 'footer_description' => '

      + Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ иÑходного кода PHP 8 поÑетите Ñтраницу downloads. + Бинарные файлы Windows находÑÑ‚ÑÑ Ð½Ð° Ñайте PHP Ð´Ð»Ñ Windows. + СпиÑок изменений предÑтавлен в ChangeLog. +

      +

      + РуководÑтво по миграции доÑтупно в разделе документации. ПожалуйÑта, + изучите его Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ð³Ð¾ ÑпиÑка новых возможноÑтей и обратно неÑовмеÑтимых изменений. +

      ', +]; diff --git a/public/releases/8.0/languages/tr.php b/public/releases/8.0/languages/tr.php new file mode 100644 index 0000000000..d6c67e9116 --- /dev/null +++ b/public/releases/8.0/languages/tr.php @@ -0,0 +1,85 @@ + 'PHP 8.0, PHP dili için önemli bir güncellemedir. Optimizasyonlar ve yeni özellikler: Adlandırılmış Değişkenler, Union Types, Attributes, Kurucularda Özellik Tanımı, Match İfadesi, Nullsafe Operatorü, JIT(Anında Derleme) yanında tip sistemi, hata işleme ve tutarlılıkta iyileştirmeler içerir.', + 'documentation' => 'Doc', + 'main_title' => 'Yayında!', + 'main_subtitle' => 'PHP 8.0, PHP dili için önemli bir güncellemedir.
      Optimizasyonlar ve yeni özellikler: Adlandırılmış Değişkenler, Union Types, Attributes, Kurucularda Özellik Tanımı, Match İfadesi, Nullsafe Operatorü, JIT(Anında Derleme) yanında tip sistemi, hata işleme ve tutarlılıkta iyileştirmeler içerir.', + 'upgrade_now' => "PHP 8'e geçiş yapın!", + + 'named_arguments_title' => 'Adlandırılmış Değişkenler', + 'named_arguments_description' => '
    • Opsiyonel parametreleri atlayabiliyor ve yalnızca zorunlu olanları belirtebiliyorsunuz.
    • Parametrelerin sırası önemli deÄŸil ve kendi kendilerini dokümante ediyorlar.
    • ', + 'attributes_title' => 'Attributes', + 'attributes_description' => 'PHPDoc yorum satırları yerine PHP sözdizimi ile yapılandırılmış metadata kullanılabiliyor.', + 'constructor_promotion_title' => 'Kurucularda Özellik Tanımı', + 'constructor_promotion_description' => 'Sınıfların özelliklerini tanımlamak için daha az kodlama yapılabiliyor.', + 'union_types_title' => 'Union types', + 'union_types_description' => 'DeÄŸiÅŸken türlerinin kombinasyonu için PHPDoc açıklamaları yerine çalışma zamanında doÄŸrulanan birleÅŸim türleri (union types) tanımlamaları kullanılabiliyor.', + 'match_expression_title' => 'Match İfadesi', + 'match_expression_description' => '

      Yeni match ifadesi switch\'e çok benzer ve aşağıdaki özelliklere sahiptir:

      +
        +
      • Match bir ifadedir, sonucu bir deÄŸiÅŸkende saklanabilir veya döndürülebilir.
      • +
      • Match\'in karşılıkları tek satır ifadeleri destekler ve break kullanılması gerekmez.
      • +
      • Match katı (strict) tip karşılaÅŸtırma yapar.
      • +
      ', + + 'nullsafe_operator_title' => 'Nullsafe Operatorü', + 'nullsafe_operator_description' => 'Null koşulları için kontroller yazmak yerine yeni Nullsafe operatörüyle çağrı zinciri oluşturabilirsiniz. Oluşturduğunuz zincirdeki herhangi bir parça hatalı değerlendirilirse tüm zincirin işlevi durur ve null olarak değerlendirilir.', + 'saner_string_number_comparisons_title' => 'Daha Akıllı String ve Sayı Karşılaştırmaları', + 'saner_string_number_comparisons_description' => 'Sayısal string karşılaştırılırken PHP 8 sayısal olarak karşılaştırır. Aksi halde sayı bir string\'e çevrilir ve string olarak karşılaştırılır.', + 'consistent_internal_function_type_errors_title' => 'Dahili İşlevler için Tutarlı Hata Türleri', + 'consistent_internal_function_type_errors_description' => 'Artık dahili işlevlere gönderilen parametreler doğrulanamazsa Error exception fırlatıyorlar.', + + 'jit_compilation_title' => 'Just-In-Time Derlemesi (JIT)', + 'jit_compilation_description' => 'PHP 8, iki JIT derleme motoru sunuyor. Tracing JIT, ikisi arasında en yetenekli olanı. Karşılaştırmalarda yaklaşık 3 kat daha iyi performans ve uzun süre işlem yapan bazı uygulamalarda 1,5–2 kat iyileşme gösteriyor. Normal uygulamalarda performansı PHP 7.4 ile aynı.', + 'jit_performance_title' => 'PHP 8 performasına JIT katkısının karşılaştırması', + + 'type_improvements_title' => 'Tip sistemi ve hata işlemede iyileştirmeler', + 'arithmetic_operator_type_checks' => 'Aritmetik/bitsel operatörler için daha katı tip denetimi', + 'abstract_trait_method_validation' => 'Soyut özellikli metodlar için doğrulama', + 'magic_method_signatures' => 'Sihirli metodlar için doğru işaretlemeler', + 'engine_warnings' => 'Yeniden sınıflandırılan motor hataları', + 'lsp_errors' => 'Uyumsuz metod işaretleri için fatal error', + 'at_operator_no_longer_silences_fatal_errors' => '@ operatörü artık önemli hataları susturmuyor', + 'inheritance_private_methods' => 'Private methodlarda kalıtımlar', + 'mixed_type' => 'mixed tipi', + 'static_return_type' => 'static return tipi', + 'internal_function_types' => 'Dahili işlevler için tip açıklamaları', + 'email_thread' => 'E-posta konusu', + 'opaque_objects_instead_of_resources' => 'Eklentiler için özkaynak türleri(resources) yerine opak nesneler: + Curl, + Gd, + Sockets, + OpenSSL, + XMLWriter ve + XML.', + + 'other_improvements_title' => 'Diğer PHP sözdizimi düzenlemeleri ve iyileştirmeleri', + 'allow_trailing_comma' => 'Parametre ve closure listelerinin sonunda virgül kullanılabilmesi RFC + RFC', + 'non_capturing_catches' => 'Değişken atamasına gerek olmayan hataların yakalanabilmesi', + 'variable_syntax_tweaks' => 'Değişken sözdizimlerinde iyileştirmeler', + 'namespaced_names_as_token' => 'İsim alanındaki tanımları tek bir belirteç olarak değerlendirme', + 'throw_expression' => 'throw deyimi artık bir ifade (expression)', + 'class_name_literal_on_object' => 'Nesnelerde ::class kullanılabilmesi', + + 'new_classes_title' => 'Yeni Sınıflar, Arayüzler ve Fonksiyonlar', + 'weak_map_class' => 'Weak Map sınıfı', + 'stringable_interface' => 'Stringable arayüzü', + 'new_str_functions' => 'str_contains(), + str_starts_with(), + str_ends_with() fonksiyonları', + 'token_as_object' => 'token_get_all() nesne implementasyonu', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => 'Daha iyi performans, daha iyi sözdizimi, geliştirilmiş tip desteği.', + 'footer_description' => '

      + PHP 8\'i indirmek için downloads sayfasını ziyaret edebilirsiniz. + Windows için derlenmiş sürümüne PHP for Windows sayfasından ulaşabilirsiniz. + Değişiklikler için ChangeLog\'a göz atabilirsiniz. +

      +

      + PHP Kılavuzundan PHP 8 için Göç Belgelerine ulaşabilirsiniz. + Yeni özellikler ve geriye dönük uyumluluğu etkileyecek değişikliklerin ayrıntılı listesi için göç belgesini inceleyiniz. +

      ', +]; diff --git a/public/releases/8.0/languages/zh.php b/public/releases/8.0/languages/zh.php new file mode 100644 index 0000000000..9fa1a8aa7d --- /dev/null +++ b/public/releases/8.0/languages/zh.php @@ -0,0 +1,86 @@ + 'PHP 8.0 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚它包å«äº†å¾ˆå¤šæ–°åŠŸèƒ½ä¸Žä¼˜åŒ–é¡¹ï¼ŒåŒ…æ‹¬å‘½å傿•°ã€è”åˆç±»åž‹ã€æ³¨è§£ã€æž„造器属性æå‡ã€match 表达å¼ã€Nullsafe è¿ç®—符ã€JIT,并改进了类型系统ã€é”™è¯¯å¤„ç†ã€è¯­æ³•一致性。', + 'documentation' => '文档', + 'main_title' => 'å·²å‘布ï¼', + 'main_subtitle' => 'PHP 8.0 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚
      它包å«äº†å¾ˆå¤šæ–°åŠŸèƒ½ä¸Žä¼˜åŒ–é¡¹ï¼ŒåŒ…æ‹¬å‘½å傿•°ã€è”åˆç±»åž‹ã€æ³¨è§£ã€æž„造器属性æå‡ã€match 表达å¼ã€nullsafe è¿ç®—符ã€JIT,并改进了类型系统ã€é”™è¯¯å¤„ç†ã€è¯­æ³•一致性。', + 'upgrade_now' => '更新到 PHP 8ï¼', + + 'named_arguments_title' => '命å傿•°', + 'named_arguments_description' => '
    • ä»…ä»…æŒ‡å®šå¿…å¡«å‚æ•°ï¼Œè·³è¿‡å¯é€‰å‚数。
    • 傿•°çš„é¡ºåºæ— å…³ã€è‡ªå·±å°±æ˜¯æ–‡æ¡£ï¼ˆself-documented)
    • ', + 'attributes_title' => '注解', + 'attributes_description' => '现在å¯ä»¥ç”¨ PHP 原生语法æ¥ä½¿ç”¨ç»“构化的元数æ®ï¼Œè€Œéž PHPDoc 声明。', + 'constructor_promotion_title' => '构造器属性æå‡', + 'constructor_promotion_description' => '更少的样æ¿ä»£ç æ¥å®šä¹‰å¹¶åˆå§‹åŒ–属性。', + 'union_types_title' => 'è”åˆç±»åž‹', + 'union_types_description' => '相较于以å‰çš„ PHPDoc 声明类型的组åˆï¼Œ 现在å¯ä»¥ç”¨åŽŸç”Ÿæ”¯æŒçš„è”åˆç±»åž‹å£°æ˜Žå–而代之,并在è¿è¡Œæ—¶å¾—到校验。', + 'match_expression_title' => 'Match 表达å¼', + 'match_expression_description' => '

      新的 match 类似于 switch,并具有以下功能:

      +
        +
      • Match 是一个表达å¼ï¼Œå®ƒå¯ä»¥å‚¨å­˜åˆ°å˜é‡ä¸­äº¦å¯ä»¥ç›´æŽ¥è¿”回。
      • +
      • Match 分支仅支æŒå•行,它ä¸éœ€è¦ä¸€ä¸ª break 语å¥ã€‚
      • +
      • Match 使用严格比较。
      • +
      ', + + 'nullsafe_operator_title' => 'Nullsafe è¿ç®—符', + 'nullsafe_operator_description' => '现在å¯ä»¥ç”¨æ–°çš„ nullsafe è¿ç®—符链å¼è°ƒç”¨ï¼Œè€Œä¸éœ€è¦æ¡ä»¶æ£€æŸ¥ null。 如果链æ¡ä¸­çš„一个元素失败了,整个链æ¡ä¼šä¸­æ­¢å¹¶è®¤å®šä¸º Null。', + 'saner_string_number_comparisons_title' => '字符串与数字的比较更符åˆé€»è¾‘', + 'saner_string_number_comparisons_description' => 'PHP 8 比较数字字符串(numeric stringï¼‰æ—¶ï¼Œä¼šæŒ‰æ•°å­—è¿›è¡Œæ¯”è¾ƒã€‚ä¸æ˜¯æ•°å­—字符串时,将数字转化为字符串,按字符串比较。', + 'consistent_internal_function_type_errors_title' => '内部函数类型错误的一致性。', + 'consistent_internal_function_type_errors_description' => 'çŽ°åœ¨å¤§å¤šæ•°å†…éƒ¨å‡½æ•°åœ¨å‚æ•°éªŒè¯å¤±è´¥æ—¶æŠ›å‡º Error 级异常。', + + 'jit_compilation_title' => '峿—¶ç¼–译', + 'jit_compilation_description' => 'PHP 8 å¼•å…¥äº†ä¸¤ä¸ªå³æ—¶ç¼–译引擎。 Tracing JIT 在两个中更有潜力,它在综åˆåŸºå‡†æµ‹è¯•中显示了三å€çš„æ€§èƒ½ï¼Œå¹¶åœ¨æŸäº›é•¿æ—¶é—´è¿è¡Œçš„程åºä¸­æ˜¾ç¤ºäº† 1.5-2 å€çš„æ€§èƒ½æ”¹è¿›ã€‚典型的应用性能则和 PHP 7.4 ä¸ç›¸ä¸Šä¸‹ã€‚', + 'jit_performance_title' => '关于 JIT 对 PHP 8 性能的贡献', + + 'type_improvements_title' => '类型系统与错误处ç†çš„æ”¹è¿›', + 'arithmetic_operator_type_checks' => '算术/ä½è¿ç®—符更严格的类型检测', + 'abstract_trait_method_validation' => 'Abstract trait 方法的验è¯', + 'magic_method_signatures' => 'ç¡®ä¿é­”æœ¯æ–¹æ³•ç­¾åæ­£ç¡®', + 'engine_warnings' => 'PHP 引擎 warning è­¦å‘Šçš„é‡æ–°åˆ†ç±»', + 'lsp_errors' => 'ä¸å…¼å®¹çš„æ–¹æ³•ç­¾å导致 Fatal 错误', + 'at_operator_no_longer_silences_fatal_errors' => 'æ“作符 @ ä¸å†æŠ‘制 fatal 错误。', + 'inheritance_private_methods' => 'ç§æœ‰æ–¹æ³•继承', + 'mixed_type' => 'mixed 类型', + 'static_return_type' => 'static 返回类型', + 'internal_function_types' => '内部函数的类型', + 'email_thread' => 'Email thread', + 'opaque_objects_instead_of_resources' => '扩展 + Curl〠+ Gd〠+ Sockets〠+ OpenSSL〠+ XMLWriter〠+ XML + 以 Opaque å¯¹è±¡æ›¿æ¢ resource。', + + 'other_improvements_title' => '其他语法调整和改进', + 'allow_trailing_comma' => 'å…è®¸å‚æ•°åˆ—è¡¨ä¸­çš„æœ«å°¾é€—å· RFC〠+ 闭包 use åˆ—è¡¨ä¸­çš„æœ«å°¾é€—å· RFC', + 'non_capturing_catches' => 'æ— å˜é‡æ•获的 catch', + 'variable_syntax_tweaks' => 'å˜é‡è¯­æ³•的调整', + 'namespaced_names_as_token' => 'Namespace å称作为å•个 token', + 'throw_expression' => '现在 throw 是一个表达å¼', + 'class_name_literal_on_object' => 'å…许对象的 ::class', + + 'new_classes_title' => 'æ–°çš„ç±»ã€æŽ¥å£ã€å‡½æ•°', + 'weak_map_class' => 'Weak Map ç±»', + 'stringable_interface' => 'Stringable 接å£', + 'new_str_functions' => 'str_contains()〠+ str_starts_with()〠+ str_ends_with()', + 'token_as_object' => 'token_get_all() 对象实现', + 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', + + 'footer_title' => '性能更好,语法更好,类型安全更完善', + 'footer_description' => '

      + 请访问 下载 页é¢ä¸‹è½½ PHP 8 æºä»£ç ã€‚ + 在 PHP for Windows ç«™ç‚¹ä¸­å¯æ‰¾åˆ° Windows 二进制文件。 + ChangeLog ä¸­æœ‰å˜æ›´åކå²è®°å½•清å•。 +

      +

      + PHP 手册中有 è¿ç§»æŒ‡å—。 + 请å‚考它æè¿°çš„æ–°åŠŸèƒ½è¯¦ç»†æ¸…å•ã€å‘åŽä¸å…¼å®¹çš„å˜åŒ–。 +

      ', +]; diff --git a/public/releases/8.0/nl.php b/public/releases/8.0/nl.php new file mode 100644 index 0000000000..bad08164a6 --- /dev/null +++ b/public/releases/8.0/nl.php @@ -0,0 +1,6 @@ +' . message('named_arguments_description', $lang) . '
    ', + links: [ + 'RFC|https://wiki.php.net/rfc/named_params', + message('documentation', $lang) . "|/manual/$documentation/functions.arguments.php#functions.named-arguments", + ], + before: <<<'PHP' + htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); + PHP, + after: <<<'PHP' + htmlspecialchars($string, double_encode: false); + PHP, + ), + new FeatureComparison( + id: 'attributes', + title: message('attributes_title', $lang), + description: '

    ' . message('attributes_description', $lang) . '

    ', + links: [ + 'RFC|https://wiki.php.net/rfc/attributes_v2', + message('documentation', $lang) . "|/manual/$documentation/language.attributes.php", + ], + before: <<<'PHP' + class PostsController + { + /** + * @Route("/api/posts/{id}", methods={"GET"}) + */ + public function get($id) { /* ... */ } + } + PHP, + after: <<<'PHP' + class PostsController + { + #[Route("/api/posts/{id}", methods: ["GET"])] + public function get($id) { /* ... */ } + } + PHP, + ), + new FeatureComparison( + id: 'constructor-property-promotion', + title: message('constructor_promotion_title', $lang), + description: '

    ' . message('constructor_promotion_description', $lang) . '

    ', + links: [ + 'RFC|https://wiki.php.net/rfc/constructor_promotion', + message('documentation', $lang) . "|/manual/$documentation/language.oop5.decon.php#language.oop5.decon.constructor.promotion", + ], + before: <<<'PHP' + class Point { + public float $x; + public float $y; + public float $z; + + public function __construct( + float $x = 0.0, + float $y = 0.0, + float $z = 0.0 + ) { + $this->x = $x; + $this->y = $y; + $this->z = $z; + } + } + PHP, + after: <<<'PHP' + class Point { + public function __construct( + public float $x = 0.0, + public float $y = 0.0, + public float $z = 0.0, + ) {} + } + PHP, + ), + new FeatureComparison( + id: 'union-types', + title: message('union_types_title', $lang), + description: '

    ' . message('union_types_description', $lang) . '

    ', + links: [ + 'RFC|https://wiki.php.net/rfc/union_types_v2', + message('documentation', $lang) . "|/manual/$documentation/language.types.declarations.php#language.types.declarations.union", + ], + before: <<<'PHP' + class Number { + /** @var int|float */ + private $number; + + /** + * @param float|int $number + */ + public function __construct($number) { + $this->number = $number; + } + } + + new Number('NaN'); // + PHP + . ' ' . message('ok', $lang), + after: <<<'PHP' + class Number { + public function __construct( + private int|float $number + ) {} + } + + new Number('NaN'); // TypeError + PHP, + ), + new FeatureComparison( + id: 'match-expression', + title: message('match_expression_title', $lang), + description: message('match_expression_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/match_expression_v2', + message('documentation', $lang) . "|/manual/$documentation/control-structures.match.php", + ], + before: << {$ohNoText} + PHP, + after: << "{$ohNoText}", + 8.0 => "{$expectedText}", + }; + //> {$expectedText} + PHP, + ), + new FeatureComparison( + id: 'nullsafe-operator', + title: message('nullsafe_operator_title', $lang), + description: '

    ' . message('nullsafe_operator_description', $lang) . '

    ', + links: ['RFC|https://wiki.php.net/rfc/nullsafe_operator'], + before: <<<'PHP' + $country = null; + + if ($session !== null) { + $user = $session->user; + + if ($user !== null) { + $address = $user->getAddress(); + + if ($address !== null) { + $country = $address->country; + } + } + } + PHP, + after: <<<'PHP' + $country = $session?->user?->getAddress()?->country; + PHP, + ), + new FeatureComparison( + id: 'saner-string-to-number-comparisons', + title: message('saner_string_number_comparisons_title', $lang), + description: '

    ' . message('saner_string_number_comparisons_description', $lang) . '

    ', + links: ['RFC|https://wiki.php.net/rfc/string_to_number_comparison'], + before: <<<'PHP' + 0 == 'foobar' // true + PHP, + after: <<<'PHP' + 0 == 'foobar' // false + PHP, + ), + new FeatureComparison( + id: 'consistent-type-errors-for-internal-functions', + title: message('consistent_internal_function_type_errors_title', $lang), + description: '

    ' . message('consistent_internal_function_type_errors_description', $lang) . '

    ', + links: ['RFC|https://wiki.php.net/rfc/consistent_type_errors'], + before: <<<'PHP' + strlen([]); // Warning: strlen() expects parameter 1 to be string, array given + + array_chunk([], -1); // Warning: array_chunk(): Size parameter expected to be greater than 0 + PHP, + after: <<<'PHP' + strlen([]); // TypeError: strlen(): Argument #1 ($str) must be of type string, array given + + array_chunk([], -1); // ValueError: array_chunk(): Argument #2 ($length) must be greater than 0 + PHP, + ), +]; + +echo ReleasePage::getHeroSection( + title: message('main_title', $lang), + subtitle: message('main_subtitle', $lang), + logoSvg: << + SVG, + upgradeNow: message('upgrade_now', $lang), +); + +echo ReleasePage::getFeatureComparisons($comparisons, 'PHP 8', 'PHP 7'); + +?> + +
    +
    +
    +
    +

    +

    +

    +
    + Just-In-Time compilation +
    +
    +
    +
    + +
    +
    +
    +

    + +
    +
    +

    + + +

    + +
    +
    +
    +
    + + false]); diff --git a/public/releases/8.0/ru.php b/public/releases/8.0/ru.php new file mode 100644 index 0000000000..55e44842ed --- /dev/null +++ b/public/releases/8.0/ru.php @@ -0,0 +1,5 @@ + 'English', + 'es' => 'Español', + 'de' => 'Deutsch', + 'pt_BR' => 'Brazilian Portuguese', + 'ru' => 'РуÑÑкий', + 'zh' => '简体中文', + 'ka' => 'ქáƒáƒ áƒ—ული', + 'ja' => '日本語', +]; + +function common_header(string $description): void { + global $MYSITE, $lang; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_1_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + $languages = []; + foreach (LANGUAGES as $code => $text) { + $languages[] = ['name' => $text, 'selected' => $lang === $code, 'url' => '/releases/8.1/' . $code . '.php']; + } + + \site_header("PHP 8.1.0 Release Announcement", [ + 'current' => 'php85', + 'css' => ['php85.css'], + 'language_switcher' => $languages, + 'theme_switcher' => true, + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function message($code, $language = 'en'): string +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + return $translation[$code] ?? $original[$code] ?? $code; +} diff --git a/public/releases/8.1/de.php b/public/releases/8.1/de.php new file mode 100644 index 0000000000..4601e2184d --- /dev/null +++ b/public/releases/8.1/de.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.1/$lang.php"); diff --git a/public/releases/8.1/ja.php b/public/releases/8.1/ja.php new file mode 100644 index 0000000000..7792525e5b --- /dev/null +++ b/public/releases/8.1/ja.php @@ -0,0 +1,5 @@ + 'PHP 8.1 ist ein Minor-Update der Sprache PHP und beinhaltet viele neue Features und Verbesserungen. Unter anderem Enumerations, Readonly-Properties, First-Class Callable Syntax, Fibers, Intersection-Types, Performance-Optimierungen.', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.1 ist ein Minor-Update der Sprache PHP.
    Es beinhaltet viele neue Features und Verbesserungen.
    Unter anderem Enumerations, Readonly-Properties, First-Class Callable Syntax, Fibers, Intersection-Types, Performance-Optimierungen.', + 'upgrade_now' => 'Wechsle jetzt zu PHP 8.1!', + 'documentation' => 'Doc', + + 'enumerations_title' => 'Enumerations', + 'enumerations_content' => '

    Du kannst nun Enums statt Konstanten für mehr Typensicherheit und direkter Validierung nutzen.

    ', + + 'readonly_properties_title' => 'Readonly-Properties', + 'readonly_properties_content' => '

    Readonly-Properties können nach einer Initialisierung nicht mehr verändert werden.
    Sie sind ein ideales Werkzeug um Value-Objekte und Data-Transfer-Objekte zu erstellen.

    ', + + 'first_class_callable_syntax_title' => 'First-Class Callable Syntax', + 'first_class_callable_syntax_content' => '

    Durch die sogenannte First-Class Callable Syntax kannst du eine Referenz zu jeder beliebigen Funktion erhalten.

    ', + + 'new_in_initializers_title' => 'New in Initialisierungen', + 'new_in_initializers_content' => '

    Objekte können nun als Default-Wert für Parameter, statische Variablen, Konstanten, so wie als Argument für Attribute genutzt werden.

    +

    Dies ermöglicht nun auch die Nutzung von verschachtelten Attributen.

    ', + + 'pure_intersection_types_title' => 'Pure-Intersection-Types', + 'pure_intersection_types_content' => '

    Nutze die Intersection-Types, wenn du sicherstellen möchtest, dass das übergebene Objekt mehrere Typen implementieren.

    +

    Es ist aktuell nicht möglich eine Kombination aus Intersection- und Union-Types zu nutzen, wie z.B. A&B|C.

    ', + + 'never_return_type_title' => 'Der Rückgabetyp Never', + 'never_return_type_content' => '

    Eine Funktion mit dem Rückgabetyp never gibt an, dass sie keinen Rückgabewert besitzt und die Funktion entweder eine Exception wirft oder das Script durch die(), exit(), trigger_error(), oder einer ähnlichen Funktion terminiert wird.

    ', + + 'final_class_constants_title' => 'Final Klassen Konstanten', + 'final_class_constants_content' => '

    Es ist nun möglich Klassen Konstanten als final zu definieren, sodass diese in einer Vererbung nicht überschrieben werden können.

    ', + + 'octal_numeral_notation_title' => 'Explizite Oktalsystem-Zahl Notation', + 'octal_numeral_notation_content' => '

    Du kannst nun Oktalsystem-Zahlen explizit durch einen 0o-Prefix angeben.

    ', + + 'fibers_title' => 'Fibers', + 'fibers_content' => '

    Fibers sind eine grundlegende Funktionalität zur Implementierung von verzahnten Abläufen. Sie sind dazu gedacht Code-Blöcke zu erstellen, die pausiert und wiederaufgenommen werden ähnlich wie die Generator-Implementierung, jedoch von überall aus. Fibers selbst stellen keine Nebenläufigkeit bereit und benötigen somit eine Event-Loop Implementierung. Aber sie ermöglichen die gemeinsame Nutzung einer API in einem blockierenden und nicht blockierenden Kontext.

    Fibers können dazu dienen, Funktionen wie z.B. Promise::then() oder Generator basierte Koroutinen zu ersetzen. Generell wird davon ausgegangen, dass Bibliotheken-Entwickler eine Abstraktion um die Fibers herum bauen werden, sodass man selten in Berührung mit den Fibers kommen wird.

    ', + + 'array_unpacking_title' => 'Entpacken von Arrays mit string-basierten Keys', + 'array_unpacking_content' => '

    PHP unterstützte bereits das Entpacken von Arrays mit int-basiertem Key in andere Arrays. Jetzt ist es auch möglich Arrays mit einem string-basiertem Key oder auch einer Kombination aus beiden Varianten zu entpacken.

    ', + + 'performance_title' => 'Performance-Optimierungen', + 'performance_chart' => 'Symfony Demo App Request Zeit
    + 25 aufeinanderfolgende Läufe, 250 Requests (sek)
    + (kleiner ist besser)
    ', + 'performance_results_title' => 'Das Ergebnis (Relativ zu PHP 8.0):', + 'performance_results_symfony' => '23.0% schnellere Symfony Demo', + 'performance_results_wordpress' => '3.5% schnelleres WordPress', + 'performance_related_functions_title' => 'Performance relevante Features in PHP 8.1:', + 'performance_jit_arm64' => 'JIT Backend für ARM64 (AArch64)', + 'performance_inheritance_cache' => 'Vererbungscache (verhindern das Relinken von Klassen in bei jedem Request)', + 'performance_fast_class_name_resolution' => 'Schnelleres auflösen von Klassennamen (verhindern von Kleinschreibungsumwandlung und Hash Lookups )', + 'performance_timelib_date_improvements' => 'timelib und ext/date Performance-Optimierungen', + 'performance_spl' => 'SPL Dateisystem Iteratoren-Optimierungen', + 'performance_serialize_unserialize' => 'Serialisierung- / Deserialisierung-Optimierungen', + 'performance_internal_functions' => 'Einige Optimierungen an internen Funktionen (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())', + 'performance_jit' => 'JIT Verbesserungen und Korrekturen', + + 'other_new_title' => 'Neue Klassen, Interfaces und Funktionen', + 'other_new_returntypewillchange' => 'Neues Attribut #[ReturnTypeWillChange].', + 'other_new_fsync_fdatasync' => 'Neue Funktionen fsync und fdatasync.', + 'other_new_array_is_list' => 'Neue Funktion array_is_list.', + 'other_new_sodium_xchacha20' => 'Neue Sodium XChaCha20 Funktionen.', + + 'bc_title' => 'Veraltete Funktionalität und inkompatible Änderungen zu vorherigen PHP Versionen', + 'bc_null_to_not_nullable' => 'Übergabe von null an nicht null-fähige interne Funktionsparameter ist veraltet.', + 'bc_return_types' => 'Interne PHP Klassen-Methoden besitzen nun Rückgabetypen', + 'bc_serializable_deprecated' => 'Das Serializable Interface ist nun veraltet.', + 'bc_html_entity_encode_decode' => 'HTML-Entitäten en/decode Funktionen verarbeiten und ersetzen einfache Anführungszeichen im Standard.', + 'bc_globals_restrictions' => 'Restriktionen an der $GLOBALS Variable.', + 'bc_mysqli_exceptions' => 'MySQLi: Der Standard Error-Modus wirft nun Exceptions.', + 'bc_float_to_int_conversion' => 'Implizite nicht kompatible Float zu Int Konvertierung ist veraltet.', + 'bc_finfo_objects' => 'finfo Erweiterung: file_info nutzt nun das finfo-Objekt statt einer resource.', + 'bc_imap_objects' => 'IMAP: imap nutzt nun das IMAP\Connection Objekt statt des resource-Typen.', + 'bc_ftp_objects' => 'FTP Erweiterung: Nutzt nun das FTP\Connection Objekt statt des resource-Typen.', + 'bc_gd_objects' => 'GD Erweiterung: Die Klasse GdFont ersetzt nun den zuvor genutzten resource-Typ.', + 'bc_ldap_objects' => 'LDAP: Die resource-Typen wurden auf LDAP\Connection, LDAP\Result und LDAP\ResultEntry umgestellt.', + 'bc_postgresql_objects' => 'PostgreSQL: Die resource-Typen wurden auf PgSql\Connection, PgSql\Result und PgSql\Lob umgestellt.', + 'bc_pspell_objects' => 'Pspell: Der resource-Typ von pspell und pspell config wurden auf PSpell\Dictionary und PSpell\Config umgestellt.', + + 'footer_title' => 'Bessere Performance, verbesserte Syntax und verbesserte Typensicherheit.', + 'footer_content' => '

    + Für den direkten Code-Download von PHP 8.1 schaue bitte auf der Downloads Seite vorbei. + Windows Pakete können auf der PHP für Windows Seite gefunden werden. + Die Liste der Änderungen ist im ChangeLog festgehalten. +

    +

    + Der Migration Guide ist im PHP Manual verfügbar. Lies dort + nach für detaillierte Informationen zu den neuen Funktionen und inkompatiblen Änderungen zu vorherigen PHP + Versionen. +

    ', +]; diff --git a/public/releases/8.1/languages/en.php b/public/releases/8.1/languages/en.php new file mode 100644 index 0000000000..8e14dc4712 --- /dev/null +++ b/public/releases/8.1/languages/en.php @@ -0,0 +1,91 @@ + 'PHP 8.1 is a major update of the PHP language. Enums, readonly properties, first-class callable syntax, fibers, intersection types, performance improvements and more.', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.1 is a major update of the PHP language.
    It contains many new features, including enums, readonly properties, first-class callable syntax, fibers, intersection types, performance improvements and more.', + 'upgrade_now' => 'Upgrade to PHP 8.1 now!', + 'documentation' => 'Doc', + + 'enumerations_title' => 'Enumerations', + 'enumerations_content' => 'Use an enum instead of a set of constants to get validation out of the box.', + + 'readonly_properties_title' => 'Readonly Properties', + 'readonly_properties_content' => '

    Readonly properties cannot be changed after initialization, i.e. after a value is assigned to them.
    They are a great way to model value objects and data-transfer objects.

    ', + + 'first_class_callable_syntax_title' => 'First-class Callable Syntax', + 'first_class_callable_syntax_content' => '

    It is now possible to get a reference to any function – this is called first-class callable syntax.

    ', + + 'new_in_initializers_title' => 'New in initializers', + 'new_in_initializers_content' => '

    Objects can now be used as default parameter values, static variables, and global constants, as well as in attribute arguments.

    +

    This effectively makes it possible to use nested attributes.

    ', + + 'pure_intersection_types_title' => 'Pure Intersection Types', + 'pure_intersection_types_content' => '

    Use intersection types when a value needs to satisfy multiple type constraints at the same time.

    +

    It is not currently possible to mix intersection and union types together such as A&B|C.

    ', + + 'never_return_type_title' => 'Never return type', + 'never_return_type_content' => '

    A function or method declared with the never type indicates that it will not return a value and will either throw an exception or end the script’s execution with a call of die(), exit(), trigger_error(), or something similar.

    ', + + 'final_class_constants_title' => 'Final class constants', + 'final_class_constants_content' => '

    It is possible to declare final class constants, so that they cannot be overridden in child classes.

    ', + + 'octal_numeral_notation_title' => 'Explicit Octal numeral notation', + 'octal_numeral_notation_content' => '

    It is now possible to write octal numbers with the explicit 0o prefix.

    ', + + 'fibers_title' => 'Fibers', + 'fibers_content' => '

    Fibers are primitives for implementing lightweight cooperative concurrency. They are a means of creating code blocks that can be paused and resumed like Generators, but from anywhere in the stack. Fibers themselves don\'t magically provide concurrency, there still needs to be an event loop. However, they allow blocking and non-blocking implementations to share the same API.

    Fibers allow getting rid of the boilerplate code previously seen with Promise::then() or Generator based coroutines. Libraries will generally build further abstractions around Fibers, so there\'s no need to interact with them directly.

    ', + + 'array_unpacking_title' => 'Array unpacking support for string-keyed arrays', + 'array_unpacking_content' => '

    PHP supported unpacking inside arrays through the spread operator before, but only if the arrays had integer keys. Now it is possible to unpack arrays with string keys too.

    ', + + 'performance_title' => 'Performance Improvements', + 'performance_chart' => 'Symfony Demo App request time
    + 25 consecutive runs, 250 requests (sec)
    + (less is better)
    ', + 'performance_results_title' => 'The result (relative to PHP 8.0):', + 'performance_results_symfony' => '23.0% Symfony Demo speedup', + 'performance_results_wordpress' => '3.5% WordPress speedup', + 'performance_related_functions_title' => 'Performance related features in PHP 8.1:', + 'performance_jit_arm64' => 'JIT backend for ARM64 (AArch64)', + 'performance_inheritance_cache' => 'Inheritance cache (avoid relinking classes in each request)', + 'performance_fast_class_name_resolution' => 'Fast class name resolution (avoid lowercasing and hash lookup)', + 'performance_timelib_date_improvements' => 'timelib and ext/date performance improvements', + 'performance_spl' => 'SPL file-system iterators improvements', + 'performance_serialize_unserialize' => 'serialize/unserialize optimizations', + 'performance_internal_functions' => 'Some internal functions optimization (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())', + 'performance_jit' => 'JIT improvements and fixes', + + 'other_new_title' => 'New Classes, Interfaces, and Functions', + 'other_new_returntypewillchange' => 'New #[ReturnTypeWillChange] attribute.', + 'other_new_fsync_fdatasync' => 'New fsync and fdatasync functions.', + 'other_new_array_is_list' => 'New array_is_list function.', + 'other_new_sodium_xchacha20' => 'New Sodium XChaCha20 functions.', + + 'bc_title' => 'Deprecations and backward compatibility breaks', + 'bc_null_to_not_nullable' => 'Passing null to non-nullable internal function parameters is deprecated.', + 'bc_return_types' => 'Tentative return types in PHP built-in class methods', + 'bc_serializable_deprecated' => 'Serializable interface deprecated.', + 'bc_html_entity_encode_decode' => 'HTML entity en/decode functions process single quotes and substitute by default.', + 'bc_globals_restrictions' => '$GLOBALS variable restrictions.', + 'bc_mysqli_exceptions' => 'MySQLi: Default error mode set to exceptions.', + 'bc_float_to_int_conversion' => 'Implicit incompatible float to int conversion is deprecated.', + 'bc_finfo_objects' => 'finfo Extension: file_info resources migrated to existing finfo objects.', + 'bc_imap_objects' => 'IMAP: imap resources migrated to IMAP\Connection class objects.', + 'bc_ftp_objects' => 'FTP Extension: Connection resources migrated to FTP\Connection class objects.', + 'bc_gd_objects' => 'GD Extension: Font identifiers migrated to GdFont class objects.', + 'bc_ldap_objects' => 'LDAP: resources migrated to LDAP\Connection, LDAP\Result, and LDAP\ResultEntry objects.', + 'bc_postgresql_objects' => 'PostgreSQL: resources migrated to PgSql\Connection, PgSql\Result, and PgSql\Lob objects.', + 'bc_pspell_objects' => 'Pspell: pspell, pspell config resources migrated to PSpell\Dictionary, PSpell\Config class objects.', + + 'footer_title' => 'Better performance, better syntax, improved type safety.', + 'footer_content' => '

    + For source downloads of PHP 8.1 please visit the downloads page. + Windows binaries can be found on the PHP for Windows site. + The list of changes is recorded in the ChangeLog. +

    +

    + The migration guide is available in the PHP Manual. Please + consult it for a detailed list of new features and backward-incompatible changes. +

    ', +]; diff --git a/public/releases/8.1/languages/es.php b/public/releases/8.1/languages/es.php new file mode 100644 index 0000000000..75485a3424 --- /dev/null +++ b/public/releases/8.1/languages/es.php @@ -0,0 +1,95 @@ + 'PHP 8.1 es una actualización importante del lenguaje PHP. Enumeraciones, propiedades de solo lectura, sintaxis first-class callable, fibers, tipos de intersección, mejoras de rendimiento y más.', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.1 es una actualización importante del lenguaje PHP.
    Contiene muchas características nuevas y mejoradas, incluyendo enumeraciones, propiedades de solo lectura, sintaxis first-class callable, fibers, tipos de intersección, mejoras de rendimiento y más.', + 'upgrade_now' => '¡Actualizar a PHP 8.1 ahora!', + 'documentation' => 'Doc', + + 'enumerations_title' => 'Enumeraciones', + 'enumerations_content' => 'Use enum en lugar de un conjunto de constantes y obtenga la validación lista para su uso.', + + 'readonly_properties_title' => 'Propiedades de solo lectura', + 'readonly_properties_content' => '

    Las propiedades de solo lectura no se pueden cambiar después de la inicialización, es decir, después de que se les asigne un valor. Son una excelente manera de modelar objetos de valor y objetos de transferencia de datos.

    ', + + 'first_class_callable_syntax_title' => 'Sintaxis First-class Callable', + 'first_class_callable_syntax_content' => '

    Ahora es posible obtener una referencia a cualquier función; esto se llama sintaxis First-class Callable.

    ', + + 'new_in_initializers_title' => 'Expresión New en constructor', + 'new_in_initializers_content' => '

    Los objetos instanciados pueden ahora se utilizados como parámetros por defecto, así como variables estáticas, constantes globales, así como argumentos de atributos.

    +

    Esto efectivamente permite usar atributos anidados.

    ', + + 'pure_intersection_types_title' => 'Tipos de intersección pura', + 'pure_intersection_types_content' => '

    Utilice tipos de intersección cuando un valor necesite resolver varias restricciones de tipado al mismo tiempo.

    +

    Actualmente no es posible mezclar tipos de intersección y unión como A&B|C.

    ', + + 'never_return_type_title' => 'Tipo de retorno Never', + 'never_return_type_content' => '

    Una función o método declarado con el tipo never indica que no devolverá un valor y producirá una excepción o finalizará la ejecución del script con una llamada de die(), exit(), trigger_error(), o similar.

    ', + + 'final_class_constants_title' => 'Constantes de clase final', + 'final_class_constants_content' => '

    Es posible declarar la constante final en la clase, para que no puedan ser sobreescrita en las clases heredadas.

    ', + + 'octal_numeral_notation_title' => 'Notación numérica octal explícita', + 'octal_numeral_notation_content' => '

    Ahora es posible escribir números octales con el prefijo explícito 0o.

    ', + + 'fibers_title' => 'Fibers', + 'fibers_content' => '

    Fibers es la forma primitiva para la implementación ligera de concurrencia. Son un medio para crear bloques de código que se puedan pausarse y reanudarse como generadores (Generators), pero desde cualquier lugar de la pila. Los Fibers en sí mismo, no proporcionan la concurrecia mágicamente, todavía se necesita tener un bucle de eventos. Sin embargo, permiten que las implementaciones de bloqueo y no-bloqueo compartan la misma API.

    Los Fibers permiten deshacerse del código repetitivo visto anteriormente con Promise::then() o las corutinas basadas en el generador (Generator). Las bibliotecas generalmente construirán más abstracciones alrededor de Fibers, por lo que no hay necesidad de interactuar con ellas directamente.

    ', + + 'array_unpacking_title' => 'Soporte de desestructuración de Arrays', + 'array_unpacking_content' => '

    PHP soportaba la desestructuración de Arrays, pero solo si el Array tenía keys de tipo integer. Ahora también es posible la desestructuración de Arrays con keys de tipo string.

    ', + + 'performance_title' => 'Mejoras de rendimiento', + 'performance_chart' => 'Aplicación de demostración de Symfony - tiempo de solicitudes
    + 25 ejecuciones consecutivas, 250 solicitudes (seg)
    + (menos es mejor)
    ', + 'performance_results_title' => 'El resultado (en relación con PHP 8.0):', + 'performance_results_symfony' => 'La aplicación de demostración de Symfony es 23.0% más rápida', + 'performance_results_wordpress' => 'Un sitio WordPress es 3.5% más rápido', + 'performance_related_functions_title' => 'Características relacionadas con el rendimiento en PHP 8.1:', + 'performance_jit_arm64' => 'JIT backend para ARM64 (AArch64)', + 'performance_inheritance_cache' => 'Caché heredado (Evite volver a vincular clases en cada solicitud)', + 'performance_fast_class_name_resolution' => 'Resolución rápida de nombres de clases (evita la resolución de nombres en minúscula y la búsqueda vía hash)', + 'performance_timelib_date_improvements' => 'Mejoras en el rendimiento de timelib and ext/date', + 'performance_spl' => 'Mejoras en los iteradores del sistema de archivos SPL', + 'performance_serialize_unserialize' => 'Optimización en serialize/unserialize', + 'performance_internal_functions' => 'Optimización de algunas funciones internas (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())', + 'performance_jit' => 'Mejoras y correcciones de JIT', + + 'other_new_title' => 'Nuevas clases, interfaces y funciones', + 'other_new_returntypewillchange' => 'Nuevo atributo #[ReturnTypeWillChange].', + 'other_new_fsync_fdatasync' => 'Nuevas funciones fsync y fdatasync.', + 'other_new_array_is_list' => 'Nueva función array_is_list.', + 'other_new_sodium_xchacha20' => 'Nuevas funciones para Sodium XChaCha20.', + + 'bc_title' => 'Obsolescencias y la falta de compatibilidad con versiones anteriores', + 'bc_null_to_not_nullable' => 'Pasar null como parámetro en funciones internas non-nullable queda obsoleto.', + 'bc_return_types' => 'Tipos de retorno en los métodos de clase integrados de PHP', + 'bc_serializable_deprecated' => 'Interfaz Serializable es obsoleta.', + 'bc_html_entity_encode_decode' => 'Las funciones de entidad HTML en/decode procesan comillas simples y son sustituidas por defecto.', + 'bc_globals_restrictions' => 'Restricciones en la variable $GLOBALS.', + 'bc_mysqli_exceptions' => 'MySQLi: Modo de error predeterminado establecido en excepciones.', + 'bc_float_to_int_conversion' => 'La conversión implícita incompatible de float a int es obsoleta.', + 'bc_finfo_objects' => 'Extensión finfo: recursos de file_info migrado a objetos finfo existentes.', + 'bc_imap_objects' => 'IMAP: imap resources migrated to IMAP\Connection class objects.', + 'bc_ftp_objects' => ' Extensión FTP: Recursos de conexión migrados a la clase FTP\Connection.', + 'bc_gd_objects' => 'Extensión GD: Los indetificadores de fuentes (Font) migrados a la clase GdFont.', + 'bc_ldap_objects' => 'LDAP: recursos migrados a las clases LDAP\Connection, LDAP\Result, y LDAP\ResultEntry.', + 'bc_postgresql_objects' => 'PostgreSQL: recursos migrados a las clases PgSql\Connection, PgSql\Result, y PgSql\Lob.', + 'bc_pspell_objects' => 'Pspell: los recursos de configuración de pspell y pspell han sido migrados a las clases PSpell\Dictionary, PSpell\Config.', + + 'footer_title' => 'Mejor rendimiento, mejor sintaxis, mejor seguridad de tipos.', + 'footer_content' => '

    + Para descargar el código fuente de PHP 8.1, visite la página de descargas. + Los binarios de Windows se encuentran en el sitio de PHP para Windows. + La lista de cambios se registra en el ChangeLog. +

    +

    + La guía de migración está disponible en el Manual de PHP. Por favor, + consúltelo para obtener una lista detallada de las nuevas características y los cambios incompatibles con versiones anteriores. +

    ', +]; diff --git a/public/releases/8.1/languages/ja.php b/public/releases/8.1/languages/ja.php new file mode 100644 index 0000000000..9c993e7dfb --- /dev/null +++ b/public/releases/8.1/languages/ja.php @@ -0,0 +1,94 @@ + 'PHP8.1ã¯ã€PHPã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚Enumã€èª­ã¿å–り専用プロパティã€callableã®æ–°ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã€Fiberã€äº¤å·®åž‹ã€ãƒ‘フォーマンスå‘上ãªã©æ•°ã€…ã®æ–°æ©Ÿèƒ½ãŒã‚りã¾ã™ã€‚', + 'main_title' => 'リリースï¼', + 'main_subtitle' => 'PHP8.1ã¯ã€PHPã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚
    Enumã€èª­ã¿å–り専用プロパティã€callableã®æ–°ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã€Fiberã€äº¤å·®åž‹ã€ãƒ‘フォーマンスå‘上ãªã©æ•°ã€…ã®æ–°æ©Ÿèƒ½ãŒã‚りã¾ã™ã€‚', + 'upgrade_now' => '今ã™ãアップデートã™ã‚‹ã€‚', + 'documentation' => 'ドキュメント', + + 'enumerations_title' => 'ENUMåž‹', + 'enumerations_content' => '

    定数ã®ã‹ã‚りã«ENUMを使ã†ã“ã¨ã§ã€ã™ã£ãã‚Šã¨æ›¸ã‘るよã†ã«ãªã‚Šã¾ã™ã€‚

    ', + + 'readonly_properties_title' => '読ã¿å–り専用プロパティ', + 'readonly_properties_content' => '

    読ã¿å–り専用プロパティã¯ã€ä¸€åº¦ã§ã‚‚値を割り当ã¦ã‚‹ã¨ã€ãã®å¾Œå¤‰æ›´ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
    ã“れã¯Value Objectã‚„Data Transfer Objectを実ç¾ã™ã‚‹ã®ã«æœ€é©ã§ã™ã€‚

    ', + + 'first_class_callable_syntax_title' => '第一級callable', + 'first_class_callable_syntax_content' => '

    ä»»æ„ã®é–¢æ•°ã¸ã®ãƒªãƒ•ァレンスをå–å¾—ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚第一級callableã¨å‘¼ã°ã‚Œã¾ã™ã€‚

    ', + + 'new_in_initializers_title' => '引数デフォルト値ã«New', + 'new_in_initializers_content' => '

    引数デフォルト値ã€ãŠã‚ˆã³static変数ã€ã‚°ãƒ­ãƒ¼ãƒãƒ«å®šæ•°ã€ã‚¢ãƒˆãƒªãƒ“ュート引数ã«newを書ã‘るよã†ã«ãªã‚Šã¾ã—ãŸã€‚

    +

    特ã«ã‚¢ãƒˆãƒªãƒ“ュートã®å…¥ã‚Œå­ã«ãŠã„ã¦å¨åŠ›ã‚’ç™ºæ®ã—ã¾ã™ã€‚

    ', + + 'pure_intersection_types_title' => '交差型', + 'pure_intersection_types_content' => '

    交差型ã¯ã€è¤‡æ•°ã®åž‹ã‚’å…¨ã¦æº€ãŸã™ã“ã¨ã‚’示ã™åž‹ã§ã™ã€‚

    +

    A&B|Cã®ã‚ˆã†ã«ã€äº¤å·®åž‹ã¨UNION型を混在ã•ã›ã‚‹ã“ã¨ã¯ä»Šã®ã¨ã“ã‚ã§ãã¾ã›ã‚“。

    ', + + 'never_return_type_title' => 'Neveråž‹', + 'never_return_type_content' => '

    値を返ã•ãªã„ã“ã¨ã‚’示ã™neveråž‹ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚die()ã€exit()ã€trigger_error()ç­‰ã€é–¢æ•°å†…ã§ã‚¹ã‚¯ãƒªãƒ—トãŒä¸­æ–­ã•れる場åˆã«ä½¿ã„ã¾ã™ã€‚

    ', + + 'final_class_constants_title' => 'Finalクラス定数', + 'final_class_constants_content' => '

    Finalクラス定数ã¯ã€å­ã‚¯ãƒ©ã‚¹ã§ä¸Šæ›¸ãã•れãªã„ã“ã¨ãŒä¿è¨¼ã•れるクラス定数ã§ã™ã€‚

    ', + + 'octal_numeral_notation_title' => '8進数表記', + 'octal_numeral_notation_content' => '

    8進数を0oã®ãƒ—ãƒ¬ãƒ•ã‚£ãƒƒã‚¯ã‚¹ã§æ›¸ãã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚

    ', + + 'fibers_title' => 'Fiber', + 'fibers_content' => '

    Fiberã¯åŒæ™‚実行を実ç¾ã™ã‚‹è»½é‡ãªæ©Ÿèƒ½ã§ã™ã€‚ジェãƒãƒ¬ãƒ¼ã‚¿ã®ã‚ˆã†ãªã€ã‚¹ã‚¿ãƒƒã‚¯ã®ã©ã“ã‹ã‚‰ã§ã‚‚ä¸€æ™‚åœæ­¢ã‚„å†é–‹ãŒå¯èƒ½ãªã‚³ãƒ¼ãƒ‰ã‚’作るã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã ã—Fiber自体ã¯å¿…è¦æœ€ä½Žé™ã®æ©Ÿèƒ½ã—ã‹æŒã£ã¦ã„ãªã„ãŸã‚ã€éžåŒæœŸå‡¦ç†ã‚’実ç¾ã™ã‚‹ãŸã‚ã«ã¯ã‚¤ãƒ™ãƒ³ãƒˆãƒ«ãƒ¼ãƒ—ç­‰ã®å®Ÿè£…ãŒå¿…è¦ã§ã™ã€‚

    ユーザãŒFiberを直接使用ã™ã‚‹ã“ã¨ã¯ã»ã¨ã‚“ã©ãªãã€ãƒ©ã‚¤ãƒ–ラリを経由ã—ã¦åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•れã¾ã™ã€‚

    ', + + 'array_unpacking_title' => '文字列キーé…列ã®ã‚¢ãƒ³ãƒ‘ック', + 'array_unpacking_content' => '

    ã“れã¾ã§PHPã¯ã€ã‚¹ãƒ—レッド演算å­ã«ã‚ˆã‚‹é…åˆ—å±•é–‹ã¯æ•°å€¤ã‚­ãƒ¼ã—ã‹å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚PHP8.1ã§ã¯æ–‡å­—列キーã®é…列ã«ã¤ã„ã¦ã‚‚アンパックã«å¯¾å¿œã—ã¾ã™ã€‚

    ', + + 'performance_title' => 'パフォーマンスå‘上', + 'performance_chart' => 'Symfonyデモ リクエスト時間
    + 秒間250リクエストを25回連続実行
    ', + 'performance_results_title' => 'PHP8.0ã«å¯¾ã—ã¦ï¼š', + 'performance_results_symfony' => 'Symfonyデモã§ã¯23.0%ã®é«˜é€ŸåŒ–ã‚’é”æˆã€‚', + 'performance_results_wordpress' => 'WordPressã§ã¯3.5%ã®é«˜é€ŸåŒ–ã‚’é”æˆã€‚', + 'performance_related_functions_title' => 'PHP8.1ã§ã®ãƒ‘フォーマンスå‘上技術:', + 'performance_jit_arm64' => 'ARM64 (AArch64)ã¸ã®JITãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰å¯¾å¿œã€‚', + 'performance_inheritance_cache' => 'リクエスト毎ã«ã‚¯ãƒ©ã‚¹ã‚’å†ãƒªãƒ³ã‚¯ã›ãšã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’継続ã™ã‚‹ã€‚', + 'performance_fast_class_name_resolution' => 'クラスåã®è§£æ±ºã®é«˜é€ŸåŒ–。', + 'performance_timelib_date_improvements' => 'timelibãŠã‚ˆã³ext/dateã®é«˜é€ŸåŒ–。', + 'performance_spl' => 'SPLã‚¤ãƒ†ãƒ¬ãƒ¼ã‚¿ã®æ”¹è‰¯ã€‚', + 'performance_serialize_unserialize' => 'serialize/unserializeã®æœ€é©åŒ–。', + 'performance_internal_functions' => 'ã„ãã¤ã‹ã®å†…部関数(get_declared_classes()・explode()・strtr()・strnatcmp()・dechex()ç­‰)ã®æœ€é©åŒ–。', + 'performance_jit' => 'JITã®æ”¹å–„。', + + 'other_new_title' => 'æ–°ã—ã„クラス・インターフェイス・関数', + 'other_new_returntypewillchange' => '#[ReturnTypeWillChange]アトリビュート。', + 'other_new_fsync_fdatasync' => 'fsync・fdatasync関数。', + 'other_new_array_is_list' => 'array_is_list関数。', + 'other_new_sodium_xchacha20' => 'SodiumãŒXChaCha20æš—å·åŒ–ã«å¯¾å¿œã€‚', + + 'bc_title' => 'äº’æ›æ€§ã®ãªã„変更点', + 'bc_null_to_not_nullable' => 'nullableã§ãªã„内部関数ã«nullを渡ã™ã“ã¨ã‚’éžæŽ¨å¥¨åŒ–ã€‚', + 'bc_return_types' => 'ビルトインクラスã®è¿”り値ã®åž‹åˆ¤å®šãŒåŽ³æ ¼ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_serializable_deprecated' => 'Serializableã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’éžæŽ¨å¥¨åŒ–ã€‚', + 'bc_html_entity_encode_decode' => 'HTMLエンコード関数ã¯ã€ãƒ‡ãƒ•ォルトã§ã‚·ãƒ³ã‚°ãƒ«ã‚¯ã‚©ãƒ¼ãƒˆã‚‚エスケープã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_globals_restrictions' => '$GLOBALSã®æ‰±ã„ãŒä»–ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã¨åŒã˜ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_mysqli_exceptions' => 'MySQLiã®ã‚¨ãƒ©ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã®ãƒ‡ãƒ•ォルトãŒä¾‹å¤–ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_float_to_int_conversion' => 'floatã‹ã‚‰intã¸æš—é»™ã®åž‹å¤‰æ›ã‚’éžæŽ¨å¥¨åŒ–ã€‚', + 'bc_finfo_objects' => 'file_infoãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰finfoオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_imap_objects' => 'imap関数ãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰IMAP\Connectionオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_ftp_objects' => 'FTP関数ãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰FTP\Connectionオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_gd_objects' => 'GDã®ãƒ•ォント関数ãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰GdFontオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_ldap_objects' => 'LDAP関数ãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰LDAP\Connection・LDAP\Result・LDAP\ResultEntryオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_postgresql_objects' => 'PostgreSQL関数ãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰PgSql\Connection・PgSql\Result・PgSql\Lobオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_pspell_objects' => 'Pspell関数ãŒè¿”ã™åž‹ã¯ãƒªã‚½ãƒ¼ã‚¹ã‹ã‚‰PSpell\Dictionary・PSpell\Configオブジェクトã«ãªã‚Šã¾ã—ãŸã€‚', + + 'footer_title' => 'より良ã„パフォーマンスã€ã‚ˆã‚Šè‰¯ã„シンタックスã€ã‚ˆã‚Šè‰¯ã„型安全性。', + 'footer_content' => '

    + PHP 8.1 ソースコードã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯ ã“ã¡ã‚‰ã‹ã‚‰ã€‚ + Windowsã®ãƒã‚¤ãƒŠãƒªã¯ã“ã¡ã‚‰ã‹ã‚‰ã€‚ + 変更点ã®ä¸€è¦§ã¯ã“ã¡ã‚‰ã«ã‚りã¾ã™ã€‚ +

    +

    + マニュアルã‹ã‚‰ãƒžã‚¤ã‚°ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚¬ã‚¤ãƒ‰ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚ + æ–°æ©Ÿèƒ½ã‚„äº’æ›æ€§ã®ãªã„変更ã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ãƒžã‚¤ã‚°ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚¬ã‚¤ãƒ‰ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 +

    ', +]; diff --git a/public/releases/8.1/languages/ka.php b/public/releases/8.1/languages/ka.php new file mode 100644 index 0000000000..f9af3d2248 --- /dev/null +++ b/public/releases/8.1/languages/ka.php @@ -0,0 +1,96 @@ + 'PHP 8.1 — PHP ენის დიდი გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ. ჩáƒáƒ›áƒáƒ—ვლები, readonly-თვისებები, callback-ფუნქციები რáƒáƒ’áƒáƒ áƒª პირველი კლáƒáƒ¡áƒ˜áƒ¡ áƒáƒ‘იექტები, ფáƒáƒ˜áƒ‘ერები, ტიპების კვეთáƒ, წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘ის გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებრდრსხვრმრáƒáƒ•áƒáƒšáƒ˜.', + 'main_title' => 'რელიზი!', + 'main_subtitle' => 'PHP 8.1 — PHP ენის დიდი გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ.
    ის შეიცáƒáƒ•ს ბევრ áƒáƒ®áƒáƒš შესáƒáƒ«áƒšáƒ”ბლáƒáƒ‘áƒáƒ¡, მáƒáƒ— შáƒáƒ áƒ˜áƒ¡ ჩáƒáƒ›áƒáƒ—ვლები, readonly-თვისებები, callback-ფუნქციები რáƒáƒ’áƒáƒ áƒª პირველი კლáƒáƒ¡áƒ˜áƒ¡ áƒáƒ‘იექტები, ფáƒáƒ˜áƒ‘ერები, ტიპების კვეთáƒ, წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘ის გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებრდრსხვრმრáƒáƒ•áƒáƒšáƒ˜.', + 'upgrade_now' => 'გáƒáƒ“áƒáƒ“ით PHP 8.1-ზე!!', + 'documentation' => 'დáƒáƒ™áƒ£áƒ›áƒ”ნტáƒáƒªáƒ˜áƒ', + + 'enumerations_title' => 'ჩáƒáƒ›áƒáƒ—ვლები', + 'enumerations_content' => 'გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ ჩáƒáƒ›áƒáƒ—ვლები კáƒáƒœáƒ¡áƒ¢áƒáƒœáƒ¢áƒ”ბის ნáƒáƒ™áƒ áƒ”ბის ნáƒáƒªáƒ•ლáƒáƒ“, კáƒáƒ“ის შესრულების დრáƒáƒ¡, მáƒáƒ—ი áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ áƒ˜ ვáƒáƒšáƒ˜áƒ“áƒáƒªáƒ˜áƒ˜áƒ¡áƒ—ვის.', + + 'readonly_properties_title' => 'Readonly-თვისებები', + 'readonly_properties_content' => '

    Readonly თვისებების შეცვლრშეუძლებელირინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ˜áƒ¡ შემდეგ (áƒáƒœáƒ£ მáƒáƒ¡ შემდეგ რáƒáƒª მáƒáƒ— მიენიჭებრმნიშვნელáƒáƒ‘áƒ).
    ისინი ძáƒáƒšáƒ˜áƒáƒœ სáƒáƒ¡áƒáƒ áƒ’ებლრიქნებრისეთი áƒáƒ‘იექტების გáƒáƒœáƒ®áƒáƒ áƒªáƒ˜áƒ”ლებისáƒáƒ¡, რáƒáƒ’áƒáƒ áƒ˜áƒªáƒáƒ VO დრDTO.

    ', + + 'first_class_callable_syntax_title' => 'Callback-ფუნქციები რáƒáƒ’áƒáƒ áƒª პირველი კლáƒáƒ¡áƒ˜áƒ¡ áƒáƒ‘იექტები', + 'first_class_callable_syntax_content' => '

    áƒáƒ®áƒáƒšáƒ˜ სინტáƒáƒ¥áƒ¡áƒ˜áƒ—, ნებისმიერ ფუნქციáƒáƒ¡ შეუძლირიმáƒáƒ¥áƒ›áƒ”დáƒáƒ¡ რáƒáƒ’áƒáƒ áƒª პირველი კლáƒáƒ¡áƒ˜áƒ¡ áƒáƒ‘იექტი. áƒáƒ›áƒ áƒ˜áƒ’áƒáƒ“, ის ჩáƒáƒ˜áƒ—ვლებრრáƒáƒ’áƒáƒ áƒª ჩვეულებრივი მნიშვნელáƒáƒ‘áƒ, რáƒáƒ›áƒ”ლიც შეიძლებáƒ, მáƒáƒ’áƒáƒšáƒ˜áƒ—áƒáƒ“, შევინáƒáƒ®áƒáƒ— ცვლáƒáƒ“ში.

    ', + + 'new_in_initializers_title' => 'áƒáƒ‘იექტის გáƒáƒ¤áƒáƒ áƒ—áƒáƒ”ბული ინიციáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ', + 'new_in_initializers_content' => '

    áƒáƒ®áƒšáƒ áƒáƒ‘იექტები შეიძლებრგáƒáƒ›áƒáƒ§áƒ”ნებულ იქნáƒáƒ¡ რáƒáƒ’áƒáƒ áƒª ნáƒáƒ’ულისხმევი პáƒáƒ áƒáƒ›áƒ”ტრის მნიშვნელáƒáƒ‘ები, სტáƒáƒ¢áƒ˜áƒ™áƒ£áƒ áƒ˜ ცვლáƒáƒ“ებისრდრგლáƒáƒ‘áƒáƒšáƒ£áƒ áƒ˜ კáƒáƒœáƒ¡áƒ¢áƒáƒœáƒ¢áƒ”ბში, დრáƒáƒ¡áƒ”ვე áƒáƒ¢áƒ áƒ˜áƒ‘უტების áƒáƒ áƒ’უმენტებში.

    +

    áƒáƒ›áƒ áƒ˜áƒ’áƒáƒ“, შესáƒáƒ«áƒšáƒ”ბელი გáƒáƒ®áƒ“რჩáƒáƒ¨áƒ”ნებული áƒáƒ áƒ’უმენტების გáƒáƒ›áƒáƒ§áƒ”ნებáƒ.

    ', + + 'pure_intersection_types_title' => 'ტიპების კვეთáƒ', + 'pure_intersection_types_content' => '

    გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ კვეთის ტიპები, რáƒáƒ“ესáƒáƒª მნიშვნელáƒáƒ‘áƒáƒ¡ სჭირდებრერთდრáƒáƒ£áƒšáƒáƒ“ მრáƒáƒ•áƒáƒšáƒ˜ ტიპის შეზღუდვის დáƒáƒ™áƒ›áƒáƒ§áƒáƒ¤áƒ˜áƒšáƒ”ბáƒ.

    +

    áƒáƒ› დრáƒáƒ˜áƒ¡áƒ—ვის, ტიპის კვეთრáƒáƒ  შეიძლებრგáƒáƒ›áƒáƒ§áƒ”ნებულ იქნáƒáƒ¡ გáƒáƒ”რთიáƒáƒœáƒ”ბულ ტიპებთáƒáƒœ ერთáƒáƒ“., მáƒáƒ’áƒáƒšáƒ˜áƒ—áƒáƒ“, A&B|C.

    ', + + 'never_return_type_title' => 'Never დáƒáƒ‘რუნების ტიპი', + 'never_return_type_content' => '

    ფუნქცირáƒáƒœ მეთáƒáƒ“ი, რáƒáƒ›áƒ”ლიც გáƒáƒ›áƒáƒªáƒ®áƒáƒ“ებულირnever ტიპთáƒáƒœ ერთáƒáƒ“, მიუთითებს იმáƒáƒ–ე, რáƒáƒ› ისინი áƒáƒ  დáƒáƒáƒ‘რუნებენ მნიშვნელáƒáƒ‘áƒáƒ¡ დრáƒáƒœ გáƒáƒ›áƒáƒ˜áƒ¢áƒáƒœáƒ¡ გáƒáƒ›áƒáƒœáƒáƒ™áƒšáƒ˜áƒ¡áƒ¡, áƒáƒœ დáƒáƒáƒ¡áƒ áƒ£áƒšáƒ”ბს სკრიპტის შესრულებáƒáƒ¡ ფუნქციის die(), exit(), trigger_error() გáƒáƒ›áƒáƒ«áƒáƒ®áƒ”ბით, áƒáƒœ რáƒáƒ˜áƒ›áƒ” მსგáƒáƒ•სით.

    ', + + 'final_class_constants_title' => 'კლáƒáƒ¡áƒ˜áƒ¡ სáƒáƒ‘áƒáƒšáƒáƒ კáƒáƒœáƒ¡áƒ¢áƒáƒœáƒ¢áƒ”ბი', + 'final_class_constants_content' => '

    უკვე, კლáƒáƒ¡áƒ˜áƒ¡ კáƒáƒœáƒ¡áƒ¢áƒáƒœáƒ¢áƒ”ბი შესáƒáƒ«áƒšáƒ”ბელირგáƒáƒ›áƒáƒªáƒ®áƒáƒ“დეს რáƒáƒ’áƒáƒ áƒª სáƒáƒ‘áƒáƒšáƒáƒ (final), რáƒáƒ—რმáƒáƒ—ი ხელáƒáƒ®áƒšáƒ გáƒáƒ›áƒáƒªáƒ®áƒáƒ“ებრáƒáƒ  მáƒáƒ®áƒ“ეს შვილ კლáƒáƒ¡áƒ”ბში.

    ', + + 'octal_numeral_notation_title' => 'áƒáƒ¨áƒ™áƒáƒ áƒ რვáƒáƒáƒ‘ითი რიცხვითი áƒáƒ¦áƒœáƒ˜áƒ¨áƒ•ნáƒ', + 'octal_numeral_notation_content' => '

    áƒáƒ®áƒšáƒ თქვენ შეგიძლიáƒáƒ— ჩáƒáƒ¬áƒ”რáƒáƒ— რვáƒáƒáƒ‘ითი რიცხვები áƒáƒ¨áƒ™áƒáƒ áƒ პრეფიქსით 0o prefix.

    ', + + 'fibers_title' => 'ფáƒáƒ˜áƒ‘ერები', + 'fibers_content' => '

    ფáƒáƒ˜áƒ‘ერები - ეს áƒáƒ áƒ˜áƒ¡ პრიმიტივები მსუბუქი სáƒáƒ”რთრკáƒáƒœáƒ™áƒ£áƒ áƒ”ნციის გáƒáƒœáƒ¡áƒáƒ®áƒáƒ áƒªáƒ˜áƒ”ლებლáƒáƒ“. ისინი წáƒáƒ áƒ›áƒáƒáƒ“გენენ კáƒáƒ“ის ბლáƒáƒ™áƒ”ბის შექმნის სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒáƒ¡, რáƒáƒ›áƒ”ლიც შეიძლებრშეჩერდეს დრგáƒáƒœáƒáƒ®áƒšáƒ“ეს, გენერáƒáƒ¢áƒáƒ áƒ”ბის მსგáƒáƒ•სáƒáƒ“, მáƒáƒ’რáƒáƒ› სტეკის ნებისმიერი წერტილიდáƒáƒœ. ფáƒáƒ˜áƒ‘ერები თáƒáƒ•ისთáƒáƒ•áƒáƒ“ áƒáƒ  იძლევრáƒáƒ›áƒáƒªáƒáƒœáƒ”ბის áƒáƒ¡áƒ˜áƒœáƒ¥áƒ áƒáƒœáƒ£áƒšáƒáƒ“ შესრულების შსáƒáƒ«áƒšáƒ”ბლáƒáƒ‘áƒáƒ¡, მáƒáƒ˜áƒœáƒª უნდრáƒáƒ áƒ¡áƒ”ბáƒáƒ‘დეს მáƒáƒ•ლენის მáƒáƒ áƒ—ვის ციკლი. თუმცáƒ, ისინი სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒáƒ¡ áƒáƒ«áƒšáƒ”ვენ მბლáƒáƒ™áƒáƒ• დრáƒáƒ áƒáƒ›áƒ‘ლáƒáƒ™áƒáƒ• რეáƒáƒšáƒ˜áƒ–áƒáƒªáƒ˜áƒ”ბრგáƒáƒ›áƒáƒ˜áƒ§áƒ”ნáƒáƒœ ერთი დრიგივე იგივე API.

    +

    ფáƒáƒ˜áƒ‘ერები სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒáƒ¡ გáƒáƒ«áƒšáƒ”ვთ თáƒáƒ•იდáƒáƒœ áƒáƒ˜áƒªáƒ˜áƒšáƒáƒ— შáƒáƒ‘ლáƒáƒœáƒ£áƒ áƒ˜ კáƒáƒ“ი, რáƒáƒ›áƒ”ლსáƒáƒª áƒáƒ“რე იყენებდნენ Promise::then() გáƒáƒ›áƒáƒ§áƒ”ნებით áƒáƒœ გენერáƒáƒ¢áƒáƒ áƒ–ე დáƒáƒ¤áƒ£áƒ«áƒœáƒ”ბული კáƒáƒ áƒ£áƒ¢áƒ˜áƒœáƒ”ბი. ბიბლიáƒáƒ—ეკები ჩვეულებრივ ქმნიáƒáƒœ დáƒáƒ›áƒáƒ¢áƒ”ბით áƒáƒ‘სტრáƒáƒ¥áƒªáƒ˜áƒ”ბს ფáƒáƒ˜áƒ‘ერების ირგვლივ, áƒáƒ›áƒ˜áƒ¢áƒáƒ› áƒáƒ  áƒáƒ áƒ˜áƒ¡ სáƒáƒ­áƒ˜áƒ áƒ მáƒáƒ—თáƒáƒœ უშუáƒáƒšáƒ ურთიერთáƒáƒ‘áƒ.

    ', + + 'array_unpacking_title' => 'მáƒáƒ¡áƒ˜áƒ•ების ჩáƒáƒ›áƒáƒ¥áƒáƒ¤áƒ”ბის მხáƒáƒ áƒ“áƒáƒ­áƒ”რრსტრიქáƒáƒœáƒ˜áƒáƒœáƒ˜ გáƒáƒ¡áƒáƒ¦áƒ”ბებით', + 'array_unpacking_content' => '

    PHP áƒáƒ“რე გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნებრმáƒáƒ¡áƒ˜áƒ•ების ჩáƒáƒ›áƒáƒ¥áƒáƒ¤áƒ”ბáƒáƒ¡ áƒáƒžáƒ”რáƒáƒ¢áƒáƒ áƒ˜áƒ¡ ... დáƒáƒ®áƒ›áƒáƒ áƒ”ბით, მáƒáƒ’რáƒáƒ› მხáƒáƒšáƒáƒ“ იმ შემთხვევáƒáƒ¨áƒ˜, თუ მáƒáƒ¡áƒ˜áƒ•ები იყრმთელი რიცხვების გáƒáƒ¡áƒáƒ¦áƒ”ბით. áƒáƒ®áƒšáƒ თქვენ áƒáƒ¡áƒ”ვე შეგიძლიáƒáƒ— ჩáƒáƒ›áƒáƒ¥áƒáƒ¤áƒáƒ— მáƒáƒ¡áƒ˜áƒ•ები სტრიქáƒáƒœáƒ˜áƒáƒœáƒ˜ გáƒáƒ¡áƒáƒ¦áƒ”ბებით.

    ', + + 'performance_title' => 'შესრულების გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებáƒ', + 'performance_chart' => 'Symfony-ის დემრáƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ˜áƒ¡ მáƒáƒ—ხáƒáƒ•ნის დრáƒ
    + 25 ზედიზედ გáƒáƒ¨áƒ•ებáƒ, 250 მáƒáƒ—ხáƒáƒ•ნრ(წმ)
    + (რáƒáƒª ნáƒáƒ™áƒšáƒ”ბი მით უკეთესი)
    ', + 'performance_results_title' => 'შედეგი (PHP 8.0-თáƒáƒœ შედáƒáƒ áƒ”ბით):', + 'performance_results_symfony' => 'Symfony დემრáƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ˜áƒ¡ დáƒáƒ©áƒ¥áƒáƒ áƒ”ბრ23.0%-ით', + 'performance_results_wordpress' => 'WordPress-ის 3.5%-ით დáƒáƒ©áƒ¥áƒáƒ áƒ”ბáƒ', + 'performance_related_functions_title' => 'ფუნქციáƒáƒœáƒáƒšáƒ£áƒ áƒáƒ‘რგáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებული შესრულებით PHP 8.1-ში:', + 'performance_jit_arm64' => 'JIT ბექენდი ARM64 (AArch64)-თვის', + 'performance_inheritance_cache' => 'მემკვიდრეáƒáƒ‘ითი ქეში (თáƒáƒ•იდáƒáƒœ áƒáƒ˜áƒ áƒ˜áƒ“ეთ კლáƒáƒ¡áƒ”ბის ხელáƒáƒ®áƒšáƒ დáƒáƒ™áƒáƒ•შირებრყველრმáƒáƒ—ხáƒáƒ•ნáƒáƒ¨áƒ˜)', + 'performance_fast_class_name_resolution' => 'კლáƒáƒ¡áƒ˜áƒ¡ სáƒáƒ®áƒ”ლის სწრáƒáƒ¤áƒ˜ გáƒáƒ áƒ©áƒ”ვáƒáƒ“áƒáƒ‘რ(მáƒáƒ”რიდეთ მცირე რეგისტრს დრჰეშში ძიებáƒáƒ¡)', + 'performance_timelib_date_improvements' => 'შესრულების გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებრtimelib დრext/date.', + 'performance_spl' => 'SPL ფáƒáƒ˜áƒšáƒ£áƒ áƒ˜ სისტემის იტერáƒáƒ¢áƒáƒ áƒ”ბის გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებáƒ.', + 'performance_serialize_unserialize' => 'serialize()/unserialize() ფუნქციების áƒáƒžáƒ¢áƒ˜áƒ›áƒ˜áƒ–áƒáƒªáƒ˜áƒ.', + 'performance_internal_functions' => 'ზáƒáƒ’იერთი შიდრფუნქციის áƒáƒžáƒ¢áƒ˜áƒ›áƒ˜áƒ–áƒáƒªáƒ˜áƒ (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())', + 'performance_jit' => 'JIT-ის გáƒáƒ£áƒ›áƒ¯áƒáƒ‘ესებრდრშესწáƒáƒ áƒ”ბები.', + + 'other_new_title' => 'áƒáƒ®áƒáƒšáƒ˜ კლáƒáƒ¡áƒ”ბი, ინტერფეისები დრფუნქციები', + 'other_new_returntypewillchange' => 'დáƒáƒ›áƒáƒ¢áƒ”ბულირáƒáƒ®áƒáƒšáƒ˜ áƒáƒ¢áƒ áƒ˜áƒ‘უტი #[ReturnTypeWillChange].', + 'other_new_fsync_fdatasync' => 'დáƒáƒ›áƒáƒ¢áƒ”ბულირფუნქციები fsync დრfdatasync.', + 'other_new_array_is_list' => 'დáƒáƒ›áƒáƒ¢áƒ”ბულირáƒáƒ®áƒáƒšáƒ˜ ფუნქცირarray_is_list.', + 'other_new_sodium_xchacha20' => 'áƒáƒ®áƒáƒšáƒ˜ ფუნქციები Sodium XChaCha20.', + + 'bc_title' => 'მáƒáƒ«áƒ•ელებული ფუნქციáƒáƒœáƒáƒšáƒáƒ‘რდრცვლილებები უკუ თáƒáƒ•სებáƒáƒ“áƒáƒ‘áƒáƒ¨áƒ˜', + 'bc_null_to_not_nullable' => 'NULL მნიშვნელáƒáƒ‘ების ჩáƒáƒ¨áƒ”ნებული ფუნქციის პáƒáƒ áƒáƒ›áƒ”ტრებზე გáƒáƒ“áƒáƒªáƒ”მáƒ, მáƒáƒ«áƒ•ელებულიáƒ.', + 'bc_return_types' => 'დáƒáƒ‘რუნების წინáƒáƒ¡áƒ¬áƒáƒ áƒ˜ ტიპები რáƒáƒ›áƒšáƒ”ბიც áƒáƒ‘რუნებს მნიშვნელáƒáƒ‘ებს PHP-ის ჩáƒáƒ¨áƒ”ნებული კლáƒáƒ¡áƒ˜áƒ¡ მეთáƒáƒ“ებში', + 'bc_serializable_deprecated' => 'Serializable ინტერფეისი მáƒáƒ«áƒ•ელებულიáƒ.', + 'bc_html_entity_encode_decode' => 'HTML ერთეულის კáƒáƒ“ირების/დეკáƒáƒ“ირების ფუნქციები გáƒáƒ áƒ“áƒáƒ¥áƒ›áƒœáƒ˜áƒ¡ ერთმáƒáƒ’ ბრჭყáƒáƒšáƒ”ბს დრცვლის áƒáƒ áƒáƒ¡áƒ¬áƒáƒ  სიმბáƒáƒšáƒáƒ”ბს იუნიკáƒáƒ“ის შემცვლელი სიმბáƒáƒšáƒáƒ—ი.', + 'bc_globals_restrictions' => '$GLOBALS ცვლáƒáƒ“ის გáƒáƒ›áƒáƒ§áƒ”ნების შეზღუდვები.', + 'bc_mysqli_exceptions' => 'MySQLi: ნáƒáƒ’ულისხმევი შეცდáƒáƒ›áƒ˜áƒ¡ რეჟიმი დáƒáƒ§áƒ”ნებულირგáƒáƒ›áƒáƒœáƒáƒ™áƒšáƒ˜áƒ¡áƒ”ბზე.', + 'bc_float_to_int_conversion' => 'იმპლიციტური შეუთáƒáƒ•სებელი რიცხვის მცáƒáƒªáƒáƒ•ი წერტილიდáƒáƒœ მთელ რიცხვáƒáƒ›áƒ“ე კáƒáƒœáƒ•ერტáƒáƒªáƒ˜áƒ მáƒáƒ«áƒ•ელებულიáƒ.', + 'bc_finfo_objects' => 'finfo მáƒáƒ“ული: file_info რესურსები áƒáƒ®áƒšáƒ წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª finfo áƒáƒ‘იექტი.', + 'bc_imap_objects' => 'IMAP: imap რესურსები áƒáƒ®áƒšáƒ წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª IMAP\Connection áƒáƒ‘იექტი.', + 'bc_ftp_objects' => 'FTP Extension: Connection რესურსები áƒáƒ®áƒšáƒ წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª FTP\Connection áƒáƒ‘იექტი.', + 'bc_gd_objects' => 'GD Extension: Font identifiers Ñ‚áƒáƒ®áƒšáƒ წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª GdFont áƒáƒ‘იექტი.', + 'bc_ldap_objects' => 'LDAP: რესურსები áƒáƒ®áƒšáƒ წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª áƒáƒ‘იექტი LDAP\Connection, LDAP\Result, დრLDAP\ResultEntry objects.', + 'bc_postgresql_objects' => 'PostgreSQL: რესურსები áƒáƒ®áƒšáƒ წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª áƒáƒ‘იექტი PgSql\Connection, PgSql\Result, დრPgSql\Lob.', + 'bc_pspell_objects' => 'Pspell: რესურსები pspell, pspell config წáƒáƒ áƒ›áƒáƒ“გენილირრáƒáƒ’áƒáƒ áƒª áƒáƒ‘იექტი PSpell\Dictionary, PSpell\Config', + + 'footer_title' => 'უკეთესი წáƒáƒ áƒ›áƒáƒ“áƒáƒ‘áƒ, უკეთესი სინტáƒáƒ¥áƒ¡áƒ˜, უფრრსáƒáƒ˜áƒ›áƒ”დრტიპების სისტემáƒ.', + 'footer_content' => '

    + PHP 8.1 წყáƒáƒ áƒáƒ¡ კáƒáƒ“ის ჩáƒáƒ›áƒáƒ¡áƒáƒ¢áƒ•ირთáƒáƒ“ ეწვიეთ გვერდს ჩáƒáƒ›áƒáƒ¢áƒ•ირთვáƒ. + Windows-ის ბინáƒáƒ áƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბი გáƒáƒœáƒ—áƒáƒ•სებულირსáƒáƒ˜áƒ¢áƒ–ე PHP Windows-თვის. + ცვლილებების სირწáƒáƒ áƒ›áƒáƒ“გენილირChangeLog-ში. +

    +

    + მიგრáƒáƒªáƒ˜áƒ˜áƒ¡ გზáƒáƒ›áƒ™áƒ•ლევი ხელმისáƒáƒ¬áƒ•დáƒáƒ›áƒ˜áƒ დáƒáƒ™áƒ£áƒ›áƒ”ნტáƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒœáƒ§áƒáƒ¤áƒ˜áƒšáƒ”ბáƒáƒ¨áƒ˜. + გთხáƒáƒ•თ, შეისწáƒáƒ•ლáƒáƒ— იგი áƒáƒ®áƒáƒšáƒ˜ ფუნქციების დეტáƒáƒšáƒ£áƒ áƒ˜ ჩáƒáƒ›áƒáƒœáƒáƒ—ვáƒáƒšáƒ˜áƒ¡ მისáƒáƒ¦áƒ”ბáƒáƒ“ დრუკუ შეუთáƒáƒ•სებელი ცვლილებებისთვის. +

    ', +]; diff --git a/public/releases/8.1/languages/pt_BR.php b/public/releases/8.1/languages/pt_BR.php new file mode 100644 index 0000000000..e1845b5aba --- /dev/null +++ b/public/releases/8.1/languages/pt_BR.php @@ -0,0 +1,95 @@ + 'PHP 8.1 é uma atualização importante da linguagem PHP. Enums, propriedades somente leitura, sintaxe de callables de primeira classe, fibras, tipos de interseção, melhorias de performance e mais.', + 'main_title' => 'Lançado!', + 'main_subtitle' => 'PHP 8.1 é uma atualização importante da linguagem PHP.
    Ela contem muitas funcionalidades novas, incluindo enums, propriedades somente leitura, sintaxe de chamáveis de primeira classe, fibras, tipos de interseção, melhorias de performance e mais.', + 'upgrade_now' => 'Atualize para o PHP 8.1 agora!', + 'documentation' => 'Doc', + + 'enumerations_title' => 'Enumerações', + 'enumerations_content' => 'Use enum em vez de um conjunto de constantes e obtenha validação de forma transparente.', + + 'readonly_properties_title' => 'Propriedades Somente Leitura', + 'readonly_properties_content' => '

    Propriedades somente leitura não podem ser alteradas após a inicialização, ou seja, após um valor ser atribuido a elas.
    Elas são uma ótima maneira de modelar objetos de valor (Value Objects) e objetos de transferência de dados (DTO).

    ', + + 'first_class_callable_syntax_title' => 'Sintaxe de Callabes de Primeira Classe', + 'first_class_callable_syntax_content' => '

    Agora é possível obter a referência de qualquer função – isso é chamado de sintaxe de callable de primeira classe.

    ', + + 'new_in_initializers_title' => 'New em inicializadores', + 'new_in_initializers_content' => '

    Objetos agora podem ser usados como valor padrão de parâmetros, variáveis estáticas, e constantes globais, bem como em argumentos de atributos.

    +

    Isso efetivamente torna possível usar atributos aninhados.

    ', + + 'pure_intersection_types_title' => 'Tipos de Interseção Puros', + 'pure_intersection_types_content' => '

    Use tipos de interseção quando um valor precisa satisfazer múltiplas restrições de tipo ao mesmo tempo.

    +

    Atualmente não é possível misturar tipos de interseção e união como A&B|C.

    ', + + 'never_return_type_title' => 'Tipo de retorno never', + 'never_return_type_content' => '

    Uma função ou método declarada com o tipo never indica que ela não irá retornar um valor e irá lançar uma exceção ou terminar a execução do script com uma chamada de die(), exit(), trigger_error(), ou algo similar.

    ', + + 'final_class_constants_title' => 'Constantes de classe finais', + 'final_class_constants_content' => '

    É possível declarar constantes de classe como final, de forma que elas não possam ser sobrescritas em classes filhas.

    ', + + 'octal_numeral_notation_title' => 'Notação explícita de numeral octal', + 'octal_numeral_notation_content' => '

    Agora é possível escrever números octais com o prefixo explícito 0o.

    ', + + 'fibers_title' => 'Fibras', + 'fibers_content' => '

    Fibras são primitivos para implementar concorrência cooperativa leve. Elas são meios de criar blocos de código que podem ser pausados e retomados como Geradores, mas de qualquer lugar da pilha de execução. Fibras em si não fornecem concorrência magicamente, um laço de eventos ainda é necessário. No entanto, elas permitem que implementações bloqueantes e não bloqueantes compartilhem a mesma API.

    Fibras permitem livrar-se de código boilerplate visto anteriormente com Promise::then() ou corrotinas baseadas em Geradores. Bibliotecas geralmente constróem abstrações adicionais em torno das Fibras, então não há necessidade de interagir com elas diretamente.

    ', + + 'array_unpacking_title' => 'Suporte a desempacotamento de array para arrays com chaves string', + 'array_unpacking_content' => '

    PHP já suportava o desempacotamento dentro de arrays através do operador de espalhamento, mas somente se o array tivesse chaves de inteiro. Agora também é possível desempacotar arrays com chaves string.

    ', + + 'performance_title' => 'Melhorias de Performance', + 'performance_chart' => 'Tempo de requisição do App Demo Symfony
    + 25 execuções consecutivas, 250 requisições (sec)
    + (menos é melhor)
    ', + 'performance_results_title' => 'O resultado (relativo ao PHP 8.0):', + 'performance_results_symfony' => '23.0% mais rápido no Demo Symfony', + 'performance_results_wordpress' => '3.5% mais rápido no WordPress', + 'performance_related_functions_title' => 'Funcionalidades relacionadas a performance no PHP 8.1:', + 'performance_jit_arm64' => 'Backend JIT para ARM64 (AArch64)', + 'performance_inheritance_cache' => 'Cache de herança (evita religamento de classes em cada requisição)', + 'performance_fast_class_name_resolution' => 'Resolução rápida de nome de classe (evita conversão em minúsculas e busca via hash)', + 'performance_timelib_date_improvements' => 'Melhorias de performance na timelib e ext/date', + 'performance_spl' => 'Melhorias em iteradores de sistema de arquivo SPL', + 'performance_serialize_unserialize' => 'Otimizações em serialize/unserialize', + 'performance_internal_functions' => 'Otimização de algumas funções internas (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())', + 'performance_jit' => 'Melhorias e correções no JIT', + + 'other_new_title' => 'Novas Classes, Interfaces e Funções', + 'other_new_returntypewillchange' => 'Novo atributo #[ReturnTypeWillChange].', + 'other_new_fsync_fdatasync' => 'Novas funções fsync e fdatasync.', + 'other_new_array_is_list' => 'Nova função array_is_list.', + 'other_new_sodium_xchacha20' => 'Novas funções Sodium XChaCha20.', + + 'bc_title' => 'Alterações obsoletas e incompatibilidades com versões anteriores', + 'bc_null_to_not_nullable' => 'Passagem de null para parâmetros não anuláveis em funções internas está depreciada.', + 'bc_return_types' => 'Tipos de retorno provisórios em métodos de classes embutidas do PHP.', + 'bc_serializable_deprecated' => 'Interface Serializable depreciada.', + 'bc_html_entity_encode_decode' => 'Funções de de/codificação de entidades HTML processam aspas simples e as substituem por padrão.', + 'bc_globals_restrictions' => 'Restrições da variável $GLOBALS.', + 'bc_mysqli_exceptions' => 'MySQLi: Modo de erro padrão definido para exceções.', + 'bc_float_to_int_conversion' => 'Conversão implícita incompatível de float para int está depreciada.', + 'bc_finfo_objects' => 'Extenção finfo: Recursos file_info migrados para objetos finfo existentes.', + 'bc_imap_objects' => 'IMAP: Recursos imap migrados para objetos da classe IMAP\Connection.', + 'bc_ftp_objects' => 'Extensão FTP: Recursos de conexão migrados para objetos da classe FTP\Connection.', + 'bc_gd_objects' => 'Extensão GD: Identificadores de fonte migrados para objetos da classe GdFont.', + 'bc_ldap_objects' => 'LDAP: Recursos migrados para objetos LDAP\Connection, LDAP\Result, e LDAP\ResultEntry.', + 'bc_postgresql_objects' => 'PostgreSQL: Recursos migrados para PgSql\Connection, PgSql\Result, e PgSql\Lob objects.', + 'bc_pspell_objects' => 'Pspell: Recursos de dicionário e configuração migrados para objetos de classe PSpell\Dictionary e PSpell\Config.', + + 'footer_title' => 'Mais performance, melhor sintaxe, segurança de tipos aperfeiçoada.', + 'footer_content' => '

    + Para downloads dos fontes do PHP 8.1, por favor visite a página de downloads. + Binarios para Windows podem ser encontrados no site PHP for Windows. + A lista de mudanças está registrada em ChangeLog. +

    +

    + O guia de migração está disponível no Manual do PHP. Por favor, + consulte-o para uma lista delhadada de novas funcionalidades e mudanças incompatíveis com versões anteriores. +

    ', +]; diff --git a/public/releases/8.1/languages/ru.php b/public/releases/8.1/languages/ru.php new file mode 100644 index 0000000000..077630db99 --- /dev/null +++ b/public/releases/8.1/languages/ru.php @@ -0,0 +1,97 @@ + 'PHP 8.1 — большое обновление Ñзыка PHP: перечиÑлениÑ, readonly-ÑвойÑтва, callback-функции как объекты первого клаÑÑа, файберы, переÑечение типов, ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти и многое другое.', + 'main_title' => 'доÑтупен!', + 'main_subtitle' => 'PHP 8.1 — большое обновление Ñзыка PHP.
    Оно Ñодержит множеÑтво новых возможноÑтей, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‡Ð¸ÑлениÑ, readonly-ÑвойÑтва, callback-функции как объекты первого клаÑÑа, файберы, переÑечение Ñ‚ипов, ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти и многое другое.', + 'upgrade_now' => 'Переходите на PHP 8.1!', + 'documentation' => 'ДокументациÑ', + + 'enumerations_title' => 'ПеречиÑлениÑ', + 'enumerations_content' => 'ИÑпользуйте перечиÑÐ»ÐµÐ½Ð¸Ñ Ð²Ð¼ÐµÑто набора конÑтант, чтобы валидировать их автоматичеÑки во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð°.', + + 'readonly_properties_title' => 'Readonly-ÑвойÑтва', + 'readonly_properties_content' => '

    Readonly-ÑвойÑтва Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ поÑле инициализации (Ñ‚.е. когда им было приÑвоено значение).
    Они будут крайне полезны при реализации объектов типа VO и DTO.

    ', + + 'first_class_callable_syntax_title' => 'Callback-функции как объекты первого клаÑÑа', + 'first_class_callable_syntax_content' => '

    С помощью нового ÑинтакÑиÑа Ð»ÑŽÐ±Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ выÑтупать в качеÑтве объекта первого клаÑÑа. Тем Ñамым она будет раÑÑматриватьÑÑ ÐºÐ°Ðº обычное значение, которое можно, например, Ñохранить в переменную.

    ', + + 'new_in_initializers_title' => 'РаÑÑˆÐ¸Ñ€ÐµÐ½Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² ', + 'new_in_initializers_content' => '

    Объекты теперь можно иÑпользовать в качеÑтве значений параметров по умолчанию, ÑтатичеÑких переменных и глобальных конÑтант, а также в аргументах атрибутов.

    +

    Таким образом поÑвилаÑÑŒ возможноÑть иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ñ… атрибутов.

    ', + + 'pure_intersection_types_title' => 'ПереÑечение типов', + 'pure_intersection_types_content' => '

    Теперь в объÑвлении типов параметров можно указать, что значение должно отноÑитьÑÑ Ðº неÑкольким типам одновременно.

    +

    Ð’ данный момент переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð² Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вмеÑте Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ типами, например, A&B|C.

    ', + + 'never_return_type_title' => 'Тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ never', + 'never_return_type_content' => '

    Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð»Ð¸ метод, объÑвленные Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ never, указывают на то, что они не вернут значение и либо выброÑÑÑ‚ иÑключение, либо завершат выполнение Ñкрипта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ вызова функции die(), exit(), trigger_error() или чем-то подобным.

    ', + + 'final_class_constants_title' => 'Окончательные конÑтанты клаÑÑа', + 'final_class_constants_content' => '

    Теперь конÑтанты клаÑÑа можно объÑвить как окончательные (final), чтобы их Ð½ÐµÐ»ÑŒÐ·Ñ Ð±Ñ‹Ð»Ð¾ переопределить в дочерних клаÑÑах.

    ', + + 'octal_numeral_notation_title' => 'Явное воÑьмеричное чиÑловое обозначение', + 'octal_numeral_notation_content' => '

    Теперь можно запиÑывать воÑьмеричные чиÑла Ñ Ñвным префикÑом 0o.

    ', + + 'fibers_title' => 'Файберы', + 'fibers_content' => '

    Файберы — Ñто примитивы Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ облегчённой невытеÑнÑющей конкурентноÑти. Они ÑвлÑÑŽÑ‚ÑÑ ÑредÑтвом ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² кода, которые можно приоÑтанавливать и возобновлÑть, как генераторы, но из любой точки Ñтека. Файберы Ñами по Ñебе не предоÑтавлÑÑŽÑ‚ возможноÑтей аÑинхронного Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡, вÑÑ‘ равно должен быть цикл обработки Ñобытий. Однако они позволÑÑŽÑ‚ блокирующим и неблокирующим реализациÑм иÑпользовать один и тот же API.

    +

    Файберы позволÑÑŽÑ‚ избавитьÑÑ Ð¾Ñ‚ шаблонного кода, который ранее иÑпользовалÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Promise::then() или корутин на оÑнове генератора. Библиотеки обычно Ñоздают дополнительные абÑтракции вокруг файберов, поÑтому нет необходимоÑти взаимодейÑтвовать Ñ Ð½Ð¸Ð¼Ð¸ напрÑмую.

    ', + + 'array_unpacking_title' => 'Поддержка раÑпаковки маÑÑивов Ñо Ñтроковыми ключами', + 'array_unpacking_content' => '

    PHP раньше поддерживал раÑпаковку маÑÑивов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ оператора ..., но только еÑли маÑÑивы были Ñ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленными ключами. Теперь можно также раÑпаковывать маÑÑивы Ñо Ñтроковыми ключами.

    ', + + 'performance_title' => 'Ð£Ð»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти', + 'performance_chart' => 'Ð’Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа демо-Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Symfony
    + 25 поÑледовательных запуÑков по 250 запроÑов (Ñек)
    + (чем меньше тем лучше)
    ', + 'performance_results_title' => 'Результат (отноÑительно PHP 8.0):', + 'performance_results_symfony' => 'УÑкорение демо-Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Symfony на 23,0%', + 'performance_results_wordpress' => 'УÑкорение WordPress на 3,5%', + 'performance_related_functions_title' => 'ФункциональноÑть Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð½Ð¾Ð¹ производительноÑтью в PHP 8.1:', + 'performance_jit_arm64' => 'БÑкенд JIT Ð´Ð»Ñ ARM64 (AArch64).', + 'performance_inheritance_cache' => 'Кеш наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ (не требуетÑÑ ÑвÑзывать клаÑÑÑ‹ при каждом запроÑе).', + 'performance_fast_class_name_resolution' => 'УÑкорено разрешение имени клаÑÑа (иÑключены преобразование региÑтра имени и поиÑк по хешу).', + 'performance_timelib_date_improvements' => 'Ð£Ð»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти timelib и ext/date.', + 'performance_spl' => 'Ð£Ð»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¸Ñ‚ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð² файловой ÑиÑтемы SPL.', + 'performance_serialize_unserialize' => 'ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ serialize()/unserialize().', + 'performance_internal_functions' => 'ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… внутренних функций (get_declared_classes(), explode(), + strtr(), strnatcmp(), dechex()).', + 'performance_jit' => 'Ð£Ð»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¸ иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ JIT.', + + 'other_new_title' => 'Ðовые клаÑÑÑ‹, интерфейÑÑ‹ и функции', + 'other_new_returntypewillchange' => 'Добавлен новый атрибут #[ReturnTypeWillChange].', + 'other_new_fsync_fdatasync' => 'Добавлены функции fsync и fdatasync.', + 'other_new_array_is_list' => 'Добавлена Ð½Ð¾Ð²Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ array_is_list.', + 'other_new_sodium_xchacha20' => 'Ðовые функции Sodium XChaCha20.', + + 'bc_title' => 'УÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² обратной ÑовмеÑтимоÑти', + 'bc_null_to_not_nullable' => 'Передача Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ NULL параметрам вÑтроенных функций, не допуÑкающим значение NULL, объÑвлена уÑтаревшей.', + 'bc_return_types' => 'Предварительные типы возвращаемых значений во вÑтроенных методах клаÑÑов PHP', + 'bc_serializable_deprecated' => 'Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Serializable объÑвлен уÑтаревшим.', + 'bc_html_entity_encode_decode' => 'Функции по кодированию/декодированию HTML-ÑущноÑтей по умолчанию преобразуют одинарные кавычки и заменÑÑŽÑ‚ недопуÑтимые Ñимволы на Ñимвол замены Юникода.', + 'bc_globals_restrictions' => 'Ограничены ÑпоÑобы иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ $GLOBALS.', + 'bc_mysqli_exceptions' => 'Модуль MySQLi: режим ошибок по умолчанию уÑтановлен на выбраÑывание иÑключениÑ.', + 'bc_float_to_int_conversion' => 'ÐеÑвное преобразование чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой к целому Ñ Ð¿Ð¾Ñ‚ÐµÑ€ÐµÐ¹ ненулевой дробной чаÑти объÑвлено уÑтаревшим.', + 'bc_finfo_objects' => 'Модуль finfo: реÑурÑÑ‹ file_info заменены на объекты finfo.', + 'bc_imap_objects' => 'Модуль IMAP: реÑурÑÑ‹ imap заменены на объекты IMAP\Connection.', + 'bc_ftp_objects' => 'Модуль FTP: реÑурÑÑ‹ Connection заменены на объекты FTP\Connection.', + 'bc_gd_objects' => 'Модуль GD: Font identifiers заменены на объекты GdFont.', + 'bc_ldap_objects' => 'Модуль LDAP: реÑурÑÑ‹ заменены на объекты LDAP\Connection, LDAP\Result и LDAP\ResultEntry.', + 'bc_postgresql_objects' => 'Модуль PostgreSQL: реÑурÑÑ‹ заменены на объекты PgSql\Connection, PgSql\Result и PgSql\Lob.', + 'bc_pspell_objects' => 'Модуль Pspell: реÑурÑÑ‹ pspell, pspell config заменены на объекты PSpell\Dictionary, PSpell\Config.', + + 'footer_title' => 'Выше производительноÑть, лучше ÑинтакÑиÑ, надёжнее ÑиÑтема типов.', + 'footer_content' => '

    + Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ иÑходного кода PHP 8.1 поÑетите Ñтраницу Downloads. + Бинарные файлы Windows находÑÑ‚ÑÑ Ð½Ð° Ñайте PHP for Windows. + СпиÑок изменений перечиÑлен на Ñтранице ChangeLog. +

    +

    + РуководÑтво по миграции доÑтупно в разделе документации. + ОзнакомьтеÑÑŒ Ñ Ð½Ð¸Ð¼, чтобы узнать обо вÑех новых возможноÑÑ‚ÑÑ… и изменений, затрагивающих обратную ÑовмеÑтимоÑть. +

    ', +]; diff --git a/public/releases/8.1/languages/zh.php b/public/releases/8.1/languages/zh.php new file mode 100644 index 0000000000..58a14f9732 --- /dev/null +++ b/public/releases/8.1/languages/zh.php @@ -0,0 +1,95 @@ + 'PHP 8.1 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚它包å«äº†è®¸å¤šæ–°åŠŸèƒ½ï¼ŒåŒ…æ‹¬æžšä¸¾ã€åªè¯»å±žæ€§ã€First-class å¯è°ƒç”¨è¯­æ³•ã€çº¤ç¨‹ã€äº¤é›†ç±»åž‹å’Œæ€§èƒ½æ”¹è¿›ç­‰ã€‚', + 'main_title' => 'å·²å‘布ï¼', + 'main_subtitle' => 'PHP 8.1 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚
    它包å«äº†è®¸å¤šæ–°åŠŸèƒ½ï¼ŒåŒ…æ‹¬æžšä¸¾ã€åªè¯»å±žæ€§ã€First-class å¯è°ƒç”¨è¯­æ³•ã€çº¤ç¨‹ã€äº¤é›†ç±»åž‹å’Œæ€§èƒ½æ”¹è¿›ç­‰ã€‚', + 'upgrade_now' => '更新到 PHP 8.1 ï¼', + 'documentation' => '文档', + + 'enumerations_title' => '枚举', + 'enumerations_content' => 'ä½¿ç”¨æžšä¸¾è€Œä¸æ˜¯ä¸€ç»„常é‡å¹¶ç«‹å³è¿›è¡ŒéªŒè¯ã€‚', + + 'readonly_properties_title' => 'åªè¯»å±žæ€§', + 'readonly_properties_content' => '

    åªè¯»å±žæ€§ä¸èƒ½åœ¨åˆå§‹åŒ–åŽæ›´æ”¹ï¼Œå³åœ¨ä¸ºå®ƒä»¬åˆ†é…值åŽã€‚它们å¯ä»¥ç”¨äºŽå¯¹å€¼å¯¹è±¡å’Œæ•°æ®ä¼ è¾“对象建模。

    ', + + 'first_class_callable_syntax_title' => 'First-class å¯è°ƒç”¨è¯­æ³•', + 'first_class_callable_syntax_content' => '

    现在å¯ä»¥èŽ·å¾—å¯¹ä»»ä½•å‡½æ•°çš„å¼•ç”¨ã€‚è¿™ç»Ÿç§°ä¸º First-class å¯è°ƒç”¨è¯­æ³•。

    ', + + 'new_in_initializers_title' => 'æ–°çš„åˆå§‹åŒ–器', + 'new_in_initializers_content' => '

    对象现在å¯ä»¥ç”¨ä½œé»˜è®¤å‚数值ã€é™æ€å˜é‡å’Œå…¨å±€å¸¸é‡ï¼Œä»¥åŠå±žæ€§å‚数。

    +

    这有效地使使用 嵌套属性 æˆä¸ºå¯èƒ½ã€‚

    ', + + 'pure_intersection_types_title' => '纯交集类型', + 'pure_intersection_types_content' => '

    当一个值需è¦åŒæ—¶æ»¡è¶³å¤šä¸ªç±»åž‹çº¦æŸæ—¶ï¼Œä½¿ç”¨äº¤é›†ç±»åž‹ã€‚

    +

    注æ„ï¼Œç›®å‰æ— æ³•将交集和è”åˆç±»åž‹æ··åˆåœ¨ä¸€èµ·ï¼Œä¾‹å¦‚ A&B|C。

    ', + + 'never_return_type_title' => 'Never 返回类型', + 'never_return_type_content' => '

    使用 never 类型声明的函数或方法表示它ä¸ä¼šè¿”回值,并且会抛出异常或通过调用 die()ã€exit()ã€trigger_error() 或类似的东西æ¥ç»“æŸè„šæœ¬çš„æ‰§è¡Œã€‚

    ', + + 'final_class_constants_title' => 'Final 类常é‡', + 'final_class_constants_content' => '

    å¯ä»¥å£°æ˜Ž final 类常é‡ï¼Œä»¥ç¦æ­¢å®ƒä»¬åœ¨å­ç±»ä¸­è¢«é‡å†™ã€‚

    ', + + 'octal_numeral_notation_title' => '显å¼å…«è¿›åˆ¶æ•°å­—表示法', + 'octal_numeral_notation_content' => '

    现在å¯ä»¥ä½¿ç”¨æ˜¾å¼ 0o å‰ç¼€è¡¨ç¤ºå…«è¿›åˆ¶æ•°ã€‚

    ', + + 'fibers_title' => '纤程', + 'fibers_content' => '

    Fibers 是用于实现轻é‡çº§å作并å‘的基础类型。它们是一ç§åˆ›å»ºå¯ä»¥åƒç”Ÿæˆå™¨ä¸€æ ·æš‚åœå’Œæ¢å¤çš„代ç å—的方法,但å¯ä»¥ä»Žå †æ ˆä¸­çš„任何ä½ç½®è¿›è¡Œã€‚Fibers 本身并没有æä¾›å¹¶å‘性,ä»ç„¶éœ€è¦ä¸€ä¸ªäº‹ä»¶å¾ªçŽ¯ã€‚ä½†æ˜¯ï¼Œå®ƒä»¬å…许通过阻塞和éžé˜»å¡žå®žçŽ°å…±äº«ç›¸åŒçš„ API。

    Fibers å…许摆脱以å‰åœ¨ Promise::then() 或基于生æˆå™¨çš„å程中看到的样æ¿ä»£ç ã€‚库通常会围绕 Fiber 构建进一步的抽象,因此无需直接与它们交互。

    ', + + 'array_unpacking_title' => '对字符串键控数组的数组解包支æŒ', + 'array_unpacking_content' => '

    PHP 以剿”¯æŒé€šè¿‡æ‰©å±•è¿ç®—ç¬¦åœ¨æ•°ç»„å†…éƒ¨è§£åŒ…ï¼Œä½†å‰ææ˜¯æ•°ç»„å…·æœ‰æ•´æ•°é”®ã€‚çŽ°åœ¨ä¹Ÿå¯ä»¥ä½¿ç”¨å­—符串键解包数组。

    ', + + 'performance_title' => '性能改进', + 'performance_chart' => 'Symfony Demo App 请求时间
    + 25 次连续è¿è¡Œï¼Œ250 次请求(秒)
    + (越少越好)
    ', + 'performance_results_title' => '结果(相对于 PHP 8.0):', + 'performance_results_symfony' => 'Symfony Demo 有 23.0% çš„æå‡', + 'performance_results_wordpress' => 'WordPress 有 3.5% çš„æå‡', + 'performance_related_functions_title' => 'PHP 8.1 中与性能相关的特性:', + 'performance_jit_arm64' => 'ARM64 çš„ JIT åŽç«¯ (AArch64)', + 'performance_inheritance_cache' => '继承缓存(é¿å…在æ¯ä¸ªè¯·æ±‚䏭釿–°é“¾æŽ¥ç±»ï¼‰', + 'performance_fast_class_name_resolution' => '快速解æžç±»å(é¿å…å°å†™å’Œå“ˆå¸ŒæŸ¥æ‰¾ï¼‰', + 'performance_timelib_date_improvements' => 'timelib å’Œ ext/date 性能改进', + 'performance_spl' => 'SPL 文件系统迭代器改进', + 'performance_serialize_unserialize' => 'serialize/unserialize 优化', + 'performance_internal_functions' => '一些内部函数优化(get_declared_classes()ã€explode()ã€strtr()ã€strnatcmp() å’Œ dechex())', + 'performance_jit' => 'JIT 的改进和修å¤', + + 'other_new_title' => 'æ–°çš„ç±»ã€æŽ¥å£å’Œå‡½æ•°', + 'other_new_returntypewillchange' => '#[ReturnTypeWillChange] 属性。', + 'other_new_fsync_fdatasync' => 'fsync å’Œ fdatasync 函数。', + 'other_new_array_is_list' => 'array_is_list 函数。', + 'other_new_sodium_xchacha20' => 'Sodium XChaCha20 函数。', + + 'bc_title' => '弃用和å‘åŽä¸å…¼å®¹', + 'bc_null_to_not_nullable' => 'å‘éžç©ºå€¼çš„å†…éƒ¨å‡½æ•°å‚æ•°ä¼ é€’ç©ºå€¼çš„åšæ³•已被弃用。', + 'bc_return_types' => 'PHP 内置类方法中的暂定返回类型', + 'bc_serializable_deprecated' => 'Serializable 接å£å·²å¼ƒç”¨ã€‚', + 'bc_html_entity_encode_decode' => 'html_entity_encode/html_entity_decode 函数默认处ç†å•引å·å’Œç”¨ Unicode 替æ¢å­—ç¬¦æ¥æ›¿æ¢æ— æ•ˆå­—符。', + 'bc_globals_restrictions' => '$GLOBALS å˜é‡é™åˆ¶ã€‚', + 'bc_mysqli_exceptions' => 'MySQLi:默认错误模å¼è®¾ç½®ä¸ºå¼‚常。', + 'bc_float_to_int_conversion' => 'éšå¼ä¸å…¼å®¹çš„ float 到 int 转æ¢å·²è¢«å¼ƒç”¨ã€‚', + 'bc_finfo_objects' => 'finfo 扩展:file_info 资æºè¿ç§»åˆ°çŽ°æœ‰çš„ finfo 对象。', + 'bc_imap_objects' => 'IMAP:imap 资æºè¿ç§»åˆ° IMAP\Connection 类对象。', + 'bc_ftp_objects' => 'FTP 扩展:连接资æºè¿ç§»åˆ° FTP\Connection 类对象。', + 'bc_gd_objects' => 'GD 扩展:字体标识符è¿ç§»åˆ° GdFont 类对象。', + 'bc_ldap_objects' => 'LDAP:资æºç±»åž‹è¿ç§»åˆ° LDAP\Connectionã€LDAP\Result å’Œ LDAP\ResultEntry 对象。', + 'bc_postgresql_objects' => 'PostgreSQL:资æºç±»åž‹è¿ç§»åˆ° PgSql\Connectionã€PgSql\Result å’Œ PgSql\Lob 对象。', + 'bc_pspell_objects' => 'Pspell:pspell å’Œ pspell config 资æºç±»åž‹è¿ç§»åˆ° PSpell\Dictionaryã€PSpell\Config 类对象。', + + 'footer_title' => 'æ›´å¥½çš„æ€§èƒ½ã€æ›´å¥½çš„è¯­æ³•ã€æ”¹è¿›ç±»åž‹å®‰å…¨ã€‚', + 'footer_content' => '

    + 请访问 下载 页é¢ä¸‹è½½ PHP 8.1 æºä»£ç ã€‚ + 在 PHP for Windows ç«™ç‚¹ä¸­å¯æ‰¾åˆ° Windows 二进制文件。 + ChangeLog ä¸­æœ‰å˜æ›´åކå²è®°å½•清å•。 +

    +

    + PHP 手册中有 è¿ç§»æŒ‡å—。 + 请å‚考它æè¿°çš„æ–°åŠŸèƒ½è¯¦ç»†æ¸…å•ã€å‘åŽä¸å…¼å®¹çš„å˜åŒ–。 +

    ', +]; diff --git a/public/releases/8.1/pt_BR.php b/public/releases/8.1/pt_BR.php new file mode 100644 index 0000000000..663ea85100 --- /dev/null +++ b/public/releases/8.1/pt_BR.php @@ -0,0 +1,5 @@ +status = $status; + } + + public function getStatus(): Status + { + return $this->status; + } + } + PHP, + after: <<<'PHP' + class BlogData + { + public readonly Status $status; + + public function __construct(Status $status) + { + $this->status = $status; + } + } + PHP, + ), + new FeatureComparison( + id: 'first_class_callable_syntax', + title: message('first_class_callable_syntax_title', $lang), + description: message('first_class_callable_syntax_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/first_class_callable_syntax', + message('documentation', $lang) . "|/manual/$documentation/functions.first_class_callable_syntax.php", + ], + before: <<<'PHP' + $foo = [$this, 'foo']; + + $fn = Closure::fromCallable('strlen'); + PHP, + after: <<<'PHP' + $foo = $this->foo(...); + + $fn = strlen(...); + PHP, + ), + new FeatureComparison( + id: 'new_in_initializers', + title: message('new_in_initializers_title', $lang), + description: message('new_in_initializers_content', $lang), + links: ['RFC|https://wiki.php.net/rfc/new_in_initializers'], + before: <<<'PHP' + class Service + { + private Logger $logger; + + public function __construct( + ?Logger $logger = null, + ) { + $this->logger = $logger ?? new NullLogger(); + } + } + PHP, + after: <<<'PHP' + class Service + { + private Logger $logger; + + public function __construct( + Logger $logger = new NullLogger(), + ) { + $this->logger = $logger; + } + } + PHP, + before2: <<<'PHP' + class User + { + /** + * @Assert\All({ + * @Assert\NotNull, + * @Assert\Length(min=5) + * }) + */ + public string $name = ''; + } + PHP, + after2: <<<'PHP' + class User + { + #[\Assert\All( + new \Assert\NotNull, + new \Assert\Length(min: 5)) + ] + public string $name = ''; + } + PHP, + ), + new FeatureComparison( + id: 'pure_intersection_types', + title: message('pure_intersection_types_title', $lang), + description: message('pure_intersection_types_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/pure-intersection-types', + message('documentation', $lang) . "|/manual/$documentation/language.types.declarations.php#language.types.declarations.composite.intersection", + ], + before: <<<'PHP' + function count_and_iterate(Iterator $value) { + if (!($value instanceof Countable)) { + throw new TypeError('value must be Countable'); + } + + foreach ($value as $val) { + echo $val; + } + + count($value); + } + PHP, + after: <<<'PHP' + function count_and_iterate(Iterator&Countable $value) { + foreach ($value as $val) { + echo $val; + } + + count($value); + } + PHP, + ), + new FeatureComparison( + id: 'never_return_type', + title: message('never_return_type_title', $lang), + description: message('never_return_type_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/noreturn_type', + message('documentation', $lang) . "|/manual/$documentation/language.types.declarations.php#language.types.declarations.never", + ], + before: <<<'PHP' + function redirect(string $uri) { + header('Location: ' . $uri); + exit(); + } + + function redirectToLoginPage() { + redirect('/login'); + echo 'Hello'; // <- dead code + } + PHP, + after: <<<'PHP' + function redirect(string $uri): never { + header('Location: ' . $uri); + exit(); + } + + function redirectToLoginPage(): never { + redirect('/login'); + echo 'Hello'; // <- dead code detected by static analysis + } + PHP, + ), + new FeatureComparison( + id: 'final_class_constants', + title: message('final_class_constants_title', $lang), + description: message('final_class_constants_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/final_class_const', + message('documentation', $lang) . "|/manual/$documentation/language.oop5.final.php#language.oop5.final.example.php81", + ], + before: <<<'PHP' + class Foo + { + public const XX = "foo"; + } + + class Bar extends Foo + { + public const XX = "bar"; // No error + } + PHP, + after: <<<'PHP' + class Foo + { + final public const XX = "foo"; + } + + class Bar extends Foo + { + public const XX = "bar"; // Fatal error + } + PHP, + ), + new FeatureComparison( + id: 'explicit_octal_numeral_notation', + title: message('octal_numeral_notation_title', $lang), + description: message('octal_numeral_notation_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/explicit_octal_notation', + message('documentation', $lang) . "|/manual/$documentation/migration81.new-features.php#migration81.new-features.core.octal-literal-prefix", + ], + before: <<<'PHP' + 016 === 16; // false because `016` is octal for `14` and it's confusing + 016 === 14; // true + PHP, + after: <<<'PHP' + 0o16 === 16; // false — not confusing with explicit notation + 0o16 === 14; // true + PHP, + ), + new FeatureComparison( + id: 'fibers', + title: message('fibers_title', $lang), + description: message('fibers_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/fibers', + message('documentation', $lang) . "|/manual/$documentation/language.fibers.php", + ], + before: <<<'PHP' + $httpClient->request('https://example.com/') + ->then(function (Response $response) { + return $response->getBody()->buffer(); + }) + ->then(function (string $responseBody) { + print json_decode($responseBody)['code']; + }); + PHP, + after: <<<'PHP' + $response = $httpClient->request('https://example.com/'); + print json_decode($response->getBody()->buffer())['code']; + PHP, + ), + new FeatureComparison( + id: 'array_unpacking_support_for_string_keyed_arrays', + title: message('array_unpacking_title', $lang), + description: message('array_unpacking_content', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/array_unpacking_string_keys', + message('documentation', $lang) . "|/manual/$documentation/language.types.array.php#language.types.array.unpacking", + ], + before: <<<'PHP' + $arrayA = ['a' => 1]; + $arrayB = ['b' => 2]; + + $result = array_merge(['a' => 0], $arrayA, $arrayB); + + // ['a' => 1, 'b' => 2] + PHP, + after: <<<'PHP' + $arrayA = ['a' => 1]; + $arrayB = ['b' => 2]; + + $result = ['a' => 0, ...$arrayA, ...$arrayB]; + + // ['a' => 1, 'b' => 2] + PHP, + ), +]; + +echo ReleasePage::getHeroSection( + title: message('main_title', $lang), + subtitle: message('main_subtitle', $lang), + logoSvg: << + SVG, + upgradeNow: message('upgrade_now', $lang), +); + +echo ReleasePage::getFeatureComparisons($comparisons, 'PHP 8.1', 'PHP < 8.1'); + +?> + +
    +
    +
    +
    +

    +
    + +
    + +
    +
    +

    +
      +
    • +
    • +
    + +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    + +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +
    +
    + + false]); diff --git a/public/releases/8.1/ru.php b/public/releases/8.1/ru.php new file mode 100644 index 0000000000..55e44842ed --- /dev/null +++ b/public/releases/8.1/ru.php @@ -0,0 +1,5 @@ + 'English', + 'es' => 'Español', + 'de' => 'Deutsch', + 'fr' => 'Français', + 'pt_BR' => 'Brazilian Portuguese', + 'ru' => 'РуÑÑкий', + 'ja' => '日本語', + 'zh' => '简体中文', +]; + +function common_header(string $description): void { + global $MYSITE, $lang; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_2_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + $languages = []; + foreach (LANGUAGES as $code => $text) { + $languages[] = ['name' => $text, 'selected' => $lang === $code, 'url' => '/releases/8.2/' . $code . '.php']; + } + + \site_header("PHP 8.2 Release Announcement", [ + 'current' => 'php85', + 'css' => ['php85.css'], + 'language_switcher' => $languages, + 'theme_switcher' => true, + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function message($code, $language = 'en'): string +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + return $translation[$code] ?? $original[$code] ?? $code; +} diff --git a/public/releases/8.2/de.php b/public/releases/8.2/de.php new file mode 100644 index 0000000000..4601e2184d --- /dev/null +++ b/public/releases/8.2/de.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.2/$lang.php"); diff --git a/public/releases/8.2/ja.php b/public/releases/8.2/ja.php new file mode 100644 index 0000000000..7792525e5b --- /dev/null +++ b/public/releases/8.2/ja.php @@ -0,0 +1,5 @@ + 'PHP 8.2 ist ein Minor-Update der Sprache PHP und beinhaltet viele neue Features und Verbesserungen. Unter anderem readonly Klassen, die Typen null, false und true und Performance-Optimierungen.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.2 ist ein Minor-Update der Sprache PHP und beinhaltet viele neue Features und Verbesserungen.
    Unter anderem readonly Klassen, die Typen null, false und true und Performance-Optimierungen.', + 'upgrade_now' => 'Wechsle jetzt zu PHP 8.2!', + 'readonly_classes_title' => 'Readonly Klassen', + 'dnf_types_title' => 'Disjunktive Normalform (DNF) Typen', + 'dnf_types_description' => 'DNF Typen erlauben die Nutzung von Verbund- und Intersektionstypen, durch das Befolgen von strikten Regeln: wenn Verbundstypen mit Intersektionstypen gleichzeitig genutzt werden müssen Intersektionstypen geklammert werden.', + 'null_false_true_types_title' => 'null, false, und true als eigene Typen', + 'random_title' => 'Neue "Random" Erweiterung', + 'random_description' => '

    Die "random" Erweiterungen stellt eine neue objektorientierte API bereit, um Zufallszahlen zu generieren. Statt auf den global Seed des "random number generator (RNG)" zu setzen, welcher den Mersenne Twister Algorithmus nutzt, stellt die objektorientierte API mehrere Klassen ("Engine"s) mit modernen Algorithmen zur Verfügung, welche jeweils ihren eigenen und somit unabhängigen Seed setzen können.

    +

    Die \Random\Randomizer Klasse stellt Funktionen bereit, um Zufallszahlen zu generieren, Arrays oder auch Strings zufällig zu mischen und viele mehr.

    ', + 'constants_in_traits_title' => 'Konstanten in Traits', + 'constants_in_traits_description' => 'Es kann nicht auf Konstanten eines Traits durch den Namen des Traits zugegriffen werden, jedoch über die implementierende Klasse.', + 'deprecate_dynamic_properties_title' => 'Missbilligung von Dynamische Properties', + 'deprecate_dynamic_properties_description' => '

    Das dynamische Erstellen / zuweisen von Properties wurden als veraltet markiert um Fehler zu vermeiden. Eine Klasse kann jedoch durch das Attribut #[\AllowDynamicProperties] weiterhin die Nutzung erlauben. Die stdClass erlaubt dynamische Properties weiterhin.

    +

    Die Nutzung von der magischen Methoden __get/__set sind nicht von dieser Änderung betroffen.

    ', + 'new_classes_title' => 'Neue Klassen, Interfaces, and Funktionen', + 'new_mysqli' => 'Neue mysqli_execute_query Funktion und neue mysqli::execute_query Methode.', + 'new_attributes' => 'Neue Attribute #[\AllowDynamicProperties] und #[\SensitiveParameter].', + 'new_zip' => 'Neue ZipArchive::getStreamIndex, ZipArchive::getStreamName, und ZipArchive::clearError Methoden.', + 'new_reflection' => 'Neue ReflectionFunction::isAnonymous und ReflectionMethod::hasPrototype Methoden.', + 'new_functions' => 'Neue curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length Funktionen.', + 'bc_title' => 'Veraltete Funktionalität und inkompatible Änderungen zu vorherigen PHP Versionen', + 'bc_string_interpolation' => 'Die Nutzung der String Interpolation ${} ist als veraltet markiert.', + 'bc_utf8' => 'Die Funktionen utf8_encode und utf8_decode sind als veraltet markiert.', + 'bc_datetime' => 'Die Methoden DateTime::createFromImmutable und DateTimeImmutable::createFromMutable haben nun den Rückgabetyp static.', + 'bc_odbc' => 'Die Erweiterungen ODBC und PDO_ODBC maskieren nun den Benutzernamen und das Passwort.', + 'bc_str_locale_sensitive' => 'Die Funktionen strtolower und strtoupper sind nicht mehr Locale-Sensitiv.', + 'bc_spl_enforces_signature' => 'Die Methoden SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc, und SplFileObject::fpassthru forcieren nun ihre Signatur.', + 'bc_spl_false' => 'Die Methode SplFileObject::hasChildren hat nun den Rückgabetypen false.', + 'bc_spl_null' => 'Die Methode SplFileObject::getChildren hat nun den Rückgabetypen null.', + 'bc_spl_deprecated' => 'Die interne Methode SplFileInfo::_bad_state_ex wurde als veraltet markiert.', + 'footer_title' => 'Bessere Performance, verbesserte Syntax und verbesserte Typensicherheit.', + 'footer_content' => '

    + Für den direkten Code-Download von PHP 8.2 schaue bitte auf der Downloads Seite vorbei. + Windows Pakete können auf der PHP für Windows Seite gefunden werden. + Die Liste der Änderungen ist im ChangeLog festgehalten. +

    +

    + Der Migration Guide ist im PHP Manual verfügbar. Lies dort + nach für detaillierte Informationen zu den neuen Funktionen und inkompatiblen Änderungen zu vorherigen PHP + Versionen. +

    ', +]; diff --git a/public/releases/8.2/languages/en.php b/public/releases/8.2/languages/en.php new file mode 100644 index 0000000000..dc3c4bd1fb --- /dev/null +++ b/public/releases/8.2/languages/en.php @@ -0,0 +1,40 @@ + 'PHP 8.2 is a major update of the PHP language. Readonly classes, null, false, and true as stand-alone types, deprecated dynamic properties, performance improvements and more', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.2 is a major update of the PHP language.
    It contains many new features, including readonly classes, null, false, and true as stand-alone types, deprecated dynamic properties, performance improvements and more.', + 'upgrade_now' => 'Upgrade to PHP 8.2 now!', + 'readonly_classes_title' => 'Readonly classes', + 'dnf_types_title' => 'Disjunctive Normal Form (DNF) Types', + 'dnf_types_description' => 'DNF types allow us to combine union and intersection types, following a strict rule: when combining union and intersection types, intersection types must be grouped with brackets.', + 'null_false_true_types_title' => 'Allow null, false, and true as stand-alone types', + 'random_title' => 'New "Random" extension', + 'random_description' => '

    The "random" extension provides a new object-oriented API to random number generation. Instead of relying on a globally seeded random number generator (RNG) using the Mersenne Twister algorithm the object-oriented API provides several classes ("Engine"s) providing access to modern algorithms that store their state within objects to allow for multiple independent seedable sequences.

    +

    The \Random\Randomizer class provides a high level interface to use the engine\'s randomness to generate a random integer, to shuffle an array or string, to select random array keys and more.

    ', + 'constants_in_traits_title' => 'Constants in traits', + 'constants_in_traits_description' => 'You cannot access the constant through the name of the trait, but, you can access the constant through the class that uses the trait.', + 'deprecate_dynamic_properties_title' => 'Deprecate dynamic properties', + 'deprecate_dynamic_properties_description' => '

    The creation of dynamic properties is deprecated to help avoid mistakes and typos, unless the class opts in by using the #[\AllowDynamicProperties] attribute. stdClass allows dynamic properties.

    +

    Usage of the __get/__set magic methods is not affected by this change.

    ', + 'new_classes_title' => 'New Classes, Interfaces, and Functions', + 'new_mysqli' => 'New mysqli_execute_query function and mysqli::execute_query method.', + 'new_attributes' => 'New #[\AllowDynamicProperties] and #[\SensitiveParameter] attributes.', + 'new_zip' => 'New ZipArchive::getStreamIndex, ZipArchive::getStreamName, and ZipArchive::clearError methods.', + 'new_reflection' => 'New ReflectionFunction::isAnonymous and ReflectionMethod::hasPrototype methods.', + 'new_functions' => 'New curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length functions.', + 'bc_title' => 'Deprecations and backward compatibility breaks', + 'bc_string_interpolation' => 'Deprecated ${} string interpolation.', + 'bc_utf8' => 'Deprecated utf8_encode and utf8_decode functions.', + 'bc_datetime' => 'Methods DateTime::createFromImmutable and DateTimeImmutable::createFromMutable has a tentative return type of static.', + 'bc_odbc' => 'Extensions ODBC and PDO_ODBC escapes the username and password.', + 'bc_str_locale_sensitive' => 'Functions strtolower and strtoupper are no longer locale-sensitive.', + 'bc_spl_enforces_signature' => 'Methods SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc, and SplFileObject::fpassthru enforces their signature.', + 'bc_spl_false' => 'Method SplFileObject::hasChildren has a tentative return type of false.', + 'bc_spl_null' => 'Method SplFileObject::getChildren has a tentative return type of null.', + 'bc_spl_deprecated' => 'The internal method SplFileInfo::_bad_state_ex has been deprecated.', + 'footer_title' => 'Better performance, better syntax, improved type safety.', + 'footer_description' => '

    For source downloads of PHP 8.2 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

    +

    The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.

    ', +]; diff --git a/public/releases/8.2/languages/es.php b/public/releases/8.2/languages/es.php new file mode 100644 index 0000000000..9f8a71fec9 --- /dev/null +++ b/public/releases/8.2/languages/es.php @@ -0,0 +1,40 @@ + 'PHP 8.2 es una actualización importante del lenguaje PHP. Clases de solo lectura, null, false y true como tipos independientes, propiedades dinámicas en desuso, mejoras de rendimiento y más', + 'documentation' => 'Doc', + 'main_title' => '¡Lanzado!', + 'main_subtitle' => 'PHP 8.2 es una actualización importante del lenguaje PHP.
    Contiene muchas características nuevas, incluidas clases de solo lectura, null, false y true como tipos independientes, propiedades dinámicas en desuso, mejoras de rendimiento y más.', + 'upgrade_now' => '¡Actualiza a PHP 8.2 ahora!', + 'readonly_classes_title' => 'Clases de solo lectura', + 'dnf_types_title' => 'Tipos de forma normal disyuntiva (DNF)', + 'dnf_types_description' => 'Los tipos DNF nos permiten combinar unión y intersección de tipos, siguiendo una regla estricta: al combinar tipos de unión e intersección, los tipos de intersección deben agruparse con corchetes.', + 'null_false_true_types_title' => 'Permitir null, false y true como tipos independientes', + 'random_title' => 'Nueva extensión "Random"', + 'random_description' => '

    La extensión "random" proporciona una nueva API orientada a objetos para la generación de números aleatorios. En lugar de depender de un generador de números aleatorios (RNG) globalmente sembrado utilizando el algoritmo Mersenne Twister, la API orientada a objetos proporciona varias clases ("Engine") que proporcionan acceso a algoritmos modernos que almacenan su estado dentro de objetos para permitir múltiples secuencias sembrables independientes.

    +

    La clase \Random\Randomizer proporciona una interfaz de alto nivel para utilizar la aleatoriedad del motor para generar un número entero aleatorio, para mezclar un array o cadena, para seleccionar claves de array aleatorias y más.

    ', + 'constants_in_traits_title' => 'Constantes en rasgos', + 'constants_in_traits_description' => 'No se puede acceder a la constante a través del nombre del rasgo, pero se puede acceder a la constante a través de la clase que utiliza el rasgo.', + 'deprecate_dynamic_properties_title' => 'Deprecar propiedades dinámicas', + 'deprecate_dynamic_properties_description' => '

    La creación de propiedades dinámicas está en desuso para ayudar a evitar errores y errores tipográficos, a menos que la clase opte por usar el atributo #[\AllowDynamicProperties]. stdClass permite propiedades dinámicas.

    +

    El uso de los métodos mágicos __get/__set no se ve afectado por este cambio.

    ', + 'new_classes_title' => 'Nuevas clases, interfaces y funciones', + 'new_mysqli' => 'Nueva función mysqli_execute_query y método mysqli::execute_query.', + 'new_attributes' => 'Nuevos atributos #[\AllowDynamicProperties] y #[\SensitiveParameter].', + 'new_zip' => 'Nuevos métodos ZipArchive::getStreamIndex, ZipArchive::getStreamName y ZipArchive::clearError.', + 'new_reflection' => 'Nuevos métodos ReflectionFunction::isAnonymous y ReflectionMethod::hasPrototype.', + 'new_functions' => 'Nuevas funciones curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length funciones.', + 'bc_title' => 'Deprecaciones y cambios de compatibilidad hacia atrás', + 'bc_string_interpolation' => 'Interpolación de cadena ${} en desuso.', + 'bc_utf8' => 'Funciones en desuso utf8_encode y utf8_decode.', + 'bc_datetime' => 'Los métodos DateTime::createFromImmutable y DateTimeImmutable::createFromMutable tienen un tipo de retorno tentativo de static.', + 'bc_odbc' => 'Las extensiones ODBC y PDO_ODBC escapan el nombre de usuario y la contraseña.', + 'bc_str_locale_sensitive' => 'Las funciones strtolower y strtoupper ya no son sensibles al entorno regional.', + 'bc_spl_enforces_signature' => 'Los métodos SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc y SplFileObject::fpassthru aplican su firma.', + 'bc_spl_false' => 'El método SplFileObject::hasChildren tiene un tipo de retorno tentativo de false.', + 'bc_spl_null' => 'El método SplFileObject::getChildren tiene un tipo de retorno tentativo de null.', + 'bc_spl_deprecated' => 'El método interno SplFileInfo::_bad_state_ex ha sido deprecado.', + 'footer_title' => 'Mejor rendimiento, mejor sintaxis, mayor seguridad en los tipos.', + 'footer_description' => '

    Para descargar el código fuente de PHP 8.2, por favor visite la página de descargas. Los binarios de Windows se pueden encontrar en el sitio de PHP para Windows. La lista de cambios está registrada en el ChangeLog.

    +

    La guía de migración está disponible en el Manual de PHP. Por favor, consulte la guía para obtener una lista detallada de las nuevas características y cambios incompatibles con versiones anteriores.

    ', +]; diff --git a/public/releases/8.2/languages/fr.php b/public/releases/8.2/languages/fr.php new file mode 100644 index 0000000000..fdd2a5de32 --- /dev/null +++ b/public/releases/8.2/languages/fr.php @@ -0,0 +1,40 @@ + 'PHP 8.2 est une mise à jour majeure du langage PHP. Classes en lecture seule, null, false, et true comme types "stand-alone", propriétés dynamiques désormais obsolètes, amélioration des performances et plus encore.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.2 est une mise à jour majeure du langage PHP.
    Elle contient beaucoup de nouvelles fonctionnalités et d\'optimisations, incluant les classes en lecture seule, les types "stand-alone" null, false, et true, les propriétés dynamiques désormais obsolètes, et plus encore.', + 'upgrade_now' => 'Migrer vers PHP 8.2 maintenant!', + 'readonly_classes_title' => 'Classes en lecture seule', + 'dnf_types_title' => 'Types FDN (forme normale disjonctive)', + 'dnf_types_description' => 'Les types FDN permettent de combiner des types union et intersection, en suivant une règle stricte: lorsque des types union et intersection sont combinés, les types intersection doivent être groupés entre parenthèses.', + 'null_false_true_types_title' => 'Permettre null, false, et true comme types stand-alone', + 'random_title' => 'Nouvelle extension "Random"', + 'random_description' => '

    L\'extension "random" fournit une nouvelle API orientée objet de génération de nombres aléatoires. Plutôt que de reposer sur un générateur de nombres aléatoires (utilisant l\'algorithme Mersenne Twister) globalement initialisé, l\'API orientée objet offre plusieurs classes permettant d\'accéder à des algorithmes modernes stockant leur état au sein des objets, afin de fournir des séquences d\'initialisations bien distinctes.

    +

    La classe \Random\Randomizer fournit une interface de haut niveau permettant, par exemple, de générer un entier aléatoire, mélanger un tableau ou une chaine de caractère, et plus encore.

    ', + 'constants_in_traits_title' => 'Constantes dans les traits', + 'constants_in_traits_description' => 'Il n\'est pas possible d\'accéder à une constante par le nom du trait, mais il est cependant possible d\'y accéder par la classe utilisant ce trait.', + 'deprecate_dynamic_properties_title' => 'Propriétés dynamiques désormais obsolètes', + 'deprecate_dynamic_properties_description' => '

    Afin d\'éviter des erreurs, la création des propriétés dynamiques est obsolète, sauf si la classe contient l\'attribut #[\AllowDynamicProperties]. stdClass autorise les propriétés dynamiques.

    +

    L\'utilisation des méthodes magiques __get/__set n\'est pas affectée par ce changement..

    ', + 'new_classes_title' => 'Nouvelles classes, interfaces, et fonctions', + 'new_mysqli' => 'Nouvelles fonction mysqli_execute_query et méthode mysqli::execute_query.', + 'new_attributes' => 'Nouveaux attributs #[\AllowDynamicProperties] et #[\SensitiveParameter].', + 'new_zip' => 'Nouvelles méthodes ZipArchive::getStreamIndex, ZipArchive::getStreamName, et ZipArchive::clearError.', + 'new_reflection' => 'Nouvelles méthodes ReflectionFunction::isAnonymous et ReflectionMethod::hasPrototype.', + 'new_functions' => 'Nouvelles fonctions curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length.', + 'bc_title' => 'Obsolescence et changements non retrocompatibles', + 'bc_string_interpolation' => 'L\'interpolation ${} est désormais obsolète.', + 'bc_utf8' => 'Les fonctions utf8_encode et utf8_decode sont désormais obsolètes.', + 'bc_datetime' => 'Les méthodes DateTime::createFromImmutable et DateTimeImmutable::createFromMutable ont comme type de retour provisoire static.', + 'bc_odbc' => 'Les extensions ODBC et PDO_ODBC échappent les noms d\'utilisateurs et mots de passe.', + 'bc_str_locale_sensitive' => 'Les fonctions strtolower et strtoupper ne sont plus sensibles à la locale.', + 'bc_spl_enforces_signature' => 'Les méthodes SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc, et SplFileObject::fpassthru renforcent leur signature.', + 'bc_spl_false' => 'La méthode SplFileObject::hasChildren a un type de retour provisoire false.', + 'bc_spl_null' => 'La méthode SplFileObject::getChildren a un type de retour provisoire null.', + 'bc_spl_deprecated' => 'La méthode interne SplFileInfo::_bad_state_ex est désormais obsolète.', + 'footer_title' => 'Meilleures performances, meilleure syntaxe et amélioration de la sureté du typage.', + 'footer_description' => '

    Pour le téléchargement des sources de PHP 8.2 veuillez visiter la page de téléchargement page. Les binaires Windows peuvent être trouvés sur le site de PHP Pour Windows. La liste des changements est disponible dans le ChangeLog.

    +

    Le guide de migration est disponible dans le manuel PHP. Veuillez le consulter pour une liste détaillée des nouvelles fonctionnalités et changements non rétrocompatibles.

    ', +]; diff --git a/public/releases/8.2/languages/ja.php b/public/releases/8.2/languages/ja.php new file mode 100644 index 0000000000..0b57afba1d --- /dev/null +++ b/public/releases/8.2/languages/ja.php @@ -0,0 +1,40 @@ + 'PHP 8.2 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚読ã¿å–り専用クラスã€ç‹¬ç«‹ã—ãŸåž‹ null, true, falseã€å‹•çš„ãªãƒ—ロパティã®éžæŽ¨å¥¨åŒ–ãªã©ã®æ©Ÿèƒ½ã‚„ã€ãƒ‘フォーマンスã®å‘上ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.2 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚
    ã“ã®ã‚¢ãƒƒãƒ—デートã«ã¯ã€ãŸãã•ã‚“ã®æ–°æ©Ÿèƒ½ã‚„最é©åŒ–ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚読ã¿å–り専用クラスã€ç‹¬ç«‹ã—ãŸåž‹ null, false, trueã€å‹•çš„ãªãƒ—ロパティã®éžæŽ¨å¥¨åŒ–ã‚„ã€ãƒ‘フォーマンスã®å‘上ãªã©ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚', + 'upgrade_now' => 'PHP 8.2 ã«ã‚¢ãƒƒãƒ—デートã—よã†!', + 'readonly_classes_title' => '読ã¿å–り専用クラス', + 'dnf_types_title' => 'DNF(Disjunctive Normal Form)åž‹', + 'dnf_types_description' => 'DNF 型を使ã†ã¨ã€union åž‹ 㨠交差型 を組ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れらを組ã¿åˆã‚ã›ã‚‹ã¨ãã¯ã€äº¤å·®åž‹ã¯æ‹¬å¼§ã§å›²ã¾ãªã‘れã°ã„ã‘ã¾ã›ã‚“。', + 'null_false_true_types_title' => 'null, false, true ãŒã€ç‹¬ç«‹ã—ãŸåž‹ã«', + 'random_title' => '"Random" 拡張モジュール', + 'random_description' => '

    "random" 拡張モジュールã¯ã€ä¹±æ•°ã‚’生æˆã™ã‚‹ãŸã‚ã®ã€æ–°ã—ã„オブジェクト指å‘ã® API ã‚’æä¾›ã—ã¾ã™ã€‚グローãƒãƒ«ãªã‚·ãƒ¼ãƒ‰ã«ä¾å­˜ã—ã¦ã„ãŸã€ãƒ¡ãƒ«ã‚»ãƒ³ãƒŒãƒ»ãƒ„イスターを使ã£ãŸä¹±æ•°ç”Ÿæˆå™¨(RNG) ã®ä»£ã‚りã«ã€ã‚ªãƒ–ジェクト志å‘ã® API ãŒè¤‡æ•°ã®("エンジン" ã®)クラスをæä¾›ã—ã¾ã™ã€‚ã“ã®ã‚¯ãƒ©ã‚¹ã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆã‚’オブジェクトã®å†…部ã«ä¿å­˜ã—ãŸçŠ¶æ…‹ã§ã€ãƒ¢ãƒ€ãƒ³ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æä¾›ã—ã¾ã™ã€‚ã“れã«ã‚ˆã£ã¦ã€è¤‡æ•°ã®ç‹¬ç«‹ã—ãŸã‚·ãƒ¼ãƒ‰ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’許容ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

    +

    \Random\Randomizer クラスã¯ã€ã‚¨ãƒ³ã‚¸ãƒ³ã®ãƒ©ãƒ³ãƒ€ãƒ ãªå€¤ã‚’使ã£ã¦é«˜ãƒ¬ãƒ™ãƒ«ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスをæä¾›ã—ã¾ã™ã€‚ã“れを使ã†ã¨ã€ãƒ©ãƒ³ãƒ€ãƒ ãªæ•°å­—を生æˆã—ãŸã‚Šã€é…列や文字列をシャッフルã—ãŸã‚Šã€é…列ã®ã‚­ãƒ¼ã‚’ランダムã«é¸æŠžã—ãŸã‚Šãªã©ãŒã§ãã¾ã™ã€‚

    ', + 'constants_in_traits_title' => 'トレイトã§å®šæ•°', + 'constants_in_traits_description' => 'トレイトã®åå‰çµŒç”±ã§å®šæ•°ã«ã¯ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“ãŒã€ãƒˆãƒ¬ã‚¤ãƒˆã‚’使ã†ã‚¯ãƒ©ã‚¹ã‚’通ã˜ã¦å®šæ•°ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚', + 'deprecate_dynamic_properties_title' => 'å‹•çš„ãªãƒ—ロパティãŒéžæŽ¨å¥¨ã«', + 'deprecate_dynamic_properties_description' => '

    クラスを #[\AllowDynamicProperties] ã§ãƒžãƒ¼ã‚¯ã—ãªã„é™ã‚Šã€å‹•çš„ãªãƒ—ロパティã®ä½œæˆã¯æŽ¨å¥¨ã•れãªããªã‚Šã¾ã—ãŸã€‚ã“れã¯ãƒŸã‚¹ã‚„ typo を防ãã®ã‚’助ã‘ã‚‹ãŸã‚ã§ã™ã€‚stdClass ã¯å‹•çš„ãªãƒ—ロパティを許å¯ã—ã¦ã„ã¾ã™ã€‚

    +

    マジックメソッド __get/__set を使ã†å ´åˆã¯ã€ã“ã®å¤‰æ›´ã®å½±éŸ¿ã‚’å—ã‘ã¾ã›ã‚“。

    ', + 'new_classes_title' => 'æ–°ã—ã„クラスã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã€é–¢æ•°', + 'new_mysqli' => 'mysqli_execute_query, mysqli::execute_query', + 'new_attributes' => 'æ–°ã—ã„アトリビュート #[\AllowDynamicProperties],#[\SensitiveParameter]', + 'new_zip' => 'ZipArchive::getStreamIndex, ZipArchive::getStreamName, ZipArchive::clearError', + 'new_reflection' => 'ReflectionFunction::isAnonymous, ReflectionMethod::hasPrototype', + 'new_functions' => 'curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length', + 'bc_title' => 'éžæŽ¨å¥¨ãŠã‚ˆã³ã€éžäº’æ›ã®å¤‰æ›´', + 'bc_string_interpolation' => '${} å½¢å¼ã®ã€æ–‡å­—列ã¸ã®å€¤ã®åŸ‹ã‚è¾¼ã¿ã¯ã€æŽ¨å¥¨ã•れãªããªã‚Šã¾ã—ãŸã€‚', + 'bc_utf8' => 'utf8_encode 㨠utf8_decode ã¯ã€æŽ¨å¥¨ã•れãªããªã‚Šã¾ã—ãŸã€‚', + 'bc_datetime' => 'DateTime::createFromImmutable 㨠DateTimeImmutable::createFromMutable ã¯ã€ä»®ã®æˆ»ã‚Šå€¤ã®åž‹ãŒ static ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_odbc' => '拡張モジュール ODBC 㨠PDO_ODBC ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¨ãƒ‘スワードをエスケープã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_str_locale_sensitive' => 'strtolower ã‚„ strtoupper ã¯ã€ãƒ­ã‚±ãƒ¼ãƒ«ã«ä¾å­˜ã—ãªããªã‚Šã¾ã—ãŸã€‚', + 'bc_spl_enforces_signature' => 'SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc, SplFileObject::fpassthru ã¯ã€ã‚·ã‚°ãƒãƒãƒ£ã‚’強制ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_spl_false' => 'SplFileObject::hasChildren ã¯ã€ä»®ã®æˆ»ã‚Šå€¤ã®åž‹ãŒ false ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_spl_null' => 'SplFileObject::getChildren ã¯ã€ä»®ã®æˆ»ã‚Šå€¤ã®åž‹ãŒ null ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_spl_deprecated' => '内部メソッド SplFileInfo::_bad_state_ex ã¯ã€æŽ¨å¥¨ã•れãªããªã‚Šã¾ã—ãŸã€‚', + 'footer_title' => 'パフォーマンスã®å‘上ã€ã‚ˆã‚Šè‰¯ã„文法ã€åž‹ã‚·ã‚¹ãƒ†ãƒ ã®æ”¹å–„', + 'footer_description' => '

    PHP 8.2 ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯ã€downloads ã®ãƒšãƒ¼ã‚¸ã‚’ã©ã†ãžã€‚ Windows 用ã®ãƒã‚¤ãƒŠãƒªã¯ PHP for Windows ã®ãƒšãƒ¼ã‚¸ã«ã‚りã¾ã™ã€‚変更ã®ä¸€è¦§ã¯ ChangeLog ã«ã‚りã¾ã™ã€‚

    +

    移行ガイド ㌠PHP マニュアルã§åˆ©ç”¨ã§ãã¾ã™ã€‚新機能や下ä½äº’æ›æ€§ã®ãªã„変更ã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ç§»è¡Œã‚¬ã‚¤ãƒ‰ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„。

    ', +]; diff --git a/public/releases/8.2/languages/pt_BR.php b/public/releases/8.2/languages/pt_BR.php new file mode 100644 index 0000000000..59a89fa690 --- /dev/null +++ b/public/releases/8.2/languages/pt_BR.php @@ -0,0 +1,41 @@ + 'PHP 8.2 é a grande atualização da linguagem PHP. Classe somente leitura, null, false e true como tipos stand alone, depreciação de propriedades dinâmicas, melhorias de desempenho e mais', + 'documentation' => 'Doc', + 'main_title' => 'Lançado!', + 'main_subtitle' => 'PHP 8.2 é a grande atualização da linguagem PHP.
    Esta atualização inclui muitos novos recursos e otimizações. Classe somente leitura, tipo independente, null, false e true como tipos stand alone, propriedades dinâmicas obsoletas, melhorias de desempenho e muito mais.', + 'upgrade_now' => 'Atualize para PHP 8.2 agora!', + 'readonly_classes_title' => 'Classes somente leitura', + 'dnf_types_title' => 'Tipos DNF (Disjunctive Normal Form)', + 'dnf_types_description' => 'Tipos DNF nos permite união e interseção de tipos, seguindo uma regra estrita: ao combinar tipos de união e interseção, os tipos de interseção devem ser agrupados com colchetes', + 'null_false_true_types_title' => 'Permite null, false e true como tipos stand alone', + 'random_title' => 'Nova extensão "Random"', + 'random_description' => '

    A extensão "random" fornece uma nova API orientada a objetos para geração de números aleatórios. Em vez de depender de um gerador de números aleatórios globalmente semeado (RNG) usando o algoritmo Mersenne Twister, a API orientada a objetos fornece várias classes ("Engine"s) que fornecem acesso a algoritmos modernos que armazenam seu estado em objetos para permitir várias sequências semeáveis ​​independentes .

    +

    A classe \Random\Randomizer fornece uma interface de alto nível para usar a aleatoriedade do mecanismo para gerar um número inteiro aleatório, embaralhar um array ou string, selecionar chaves de array aleatórias e muito mais.

    ', + 'constants_in_traits_title' => 'Constantes em Traits', + 'constants_in_traits_description' => 'Você não pode acessar a constante através do nome da Trait, mas você pode acessar a constante através da classe que usa a Trait.', + 'deprecate_dynamic_properties_title' => 'Propriedades dinâmicas obsoletas', + 'deprecate_dynamic_properties_description' => '

    A criação de propriedades dinâmicas está obsoleta para ajudar a evitar enganos e erros de digitação, a menos que a classe opte por usar o atributo de #[\AllowDynamicProperties]. stdClass permite propriedades dinâmicas.

    +

    O uso dos métodos mágicos __get/__set não é afetado por esta alteração.

    ', + 'new_classes_title' => 'Novas classes, Interfaces, e Funções', + 'new_mysqli' => 'Nova função mysqli_execute_query e método mysqli::execute_query .', + 'new_attributes' => 'Novos atributos #[\AllowDynamicProperties] e #[\SensitiveParameter].', + 'new_zip' => 'Novos métodos ZipArchive::getStreamIndex, ZipArchive::getStreamName, e ZipArchive::clearError.', + 'new_reflection' => 'Novo método ReflectionFunction::isAnonymous e ReflectionMethod::hasPrototype .', + 'new_functions' => 'Novas funçõescurl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length.', + 'bc_title' => 'Alterações obsoletas e incompatíveis', + 'bc_string_interpolation' => 'Interpolação de string obsoleta ${}.', + 'bc_utf8' => 'Funções obsoletasutf8_encode e utf8_decode .', + 'bc_datetime' => 'Métodos DateTime::createFromImmutable e DateTimeImmutable::createFromMutable tem um tipo de retorno provisório de static.', + 'bc_odbc' => 'Extensions ODBC e PDO_ODBC escapes the username e password.', + 'bc_str_locale_sensitive' => 'Funções strtolower e strtoupper não são mais sensíveis à localidade.', + 'bc_spl_enforces_signature' => 'Métodos SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc, e SplFileObject::fpassthru impõe a sua assinatura.', + 'bc_spl_false' => 'Método SplFileObject::hasChildren tem um tipo de retorno provisório de false.', + 'bc_spl_null' => 'Método SplFileObject::getChildren tem um tipo de retorno provisório de null.', + 'bc_spl_deprecated' => 'O método interno SplFileInfo::_bad_state_ex foi obsoleto.', + 'footer_title' => 'Melhor desempenho, melhor sintaxe, segurança de tipo aprimorada.', + 'footer_description' => '

    Para downloads dos fontes do PHP 8.2, visite a página downloads. Os binários do Windows podem ser encontrados no site PHP para Windows. A lista de mudanças está registrada no ChangeLog.

    +

    O guia de migração está disponível no Manual do PHP. Consulte-o para obter uma lista detalhada de novos recursos e alterações incompatíveis com versões anteriores.', +]; + diff --git a/public/releases/8.2/languages/ru.php b/public/releases/8.2/languages/ru.php new file mode 100644 index 0000000000..64b8100262 --- /dev/null +++ b/public/releases/8.2/languages/ru.php @@ -0,0 +1,40 @@ + 'PHP 8.2 — большое обновление Ñзыка PHP. Readonly-клаÑÑÑ‹, ÑамоÑтоÑтельные типы null, false и true, уÑтаревшие динамичеÑкие ÑвойÑтва, улучшение производительноÑти и многое другое.', + 'documentation' => 'ДокументациÑ', + 'main_title' => 'выпущен!', + 'main_subtitle' => 'PHP 8.2 — большое обновление Ñзыка PHP.
    Оно Ñодержит множеÑтво новых возможноÑтей, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ readonly-клаÑÑÑ‹, ÑамоÑтоÑтельные типы null, false и true, уÑтаревшие динамичеÑкие ÑвойÑтва, улучшение производительноÑти и многое другое.', + 'upgrade_now' => 'Переходите на PHP 8.2!', + 'readonly_classes_title' => 'Readonly-клаÑÑÑ‹', + 'dnf_types_title' => 'Типы в виде дизъюнктивной нормальной формы (ДÐФ)', + 'dnf_types_description' => 'ДÐФ позволÑет ÑовмеÑтить объединение и переÑечение типов, при Ñтом обÑзательно типы переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñледует Ñгруппировать Ñкобками.', + 'null_false_true_types_title' => 'СамоÑтоÑтельные типы null, false и true', + 'random_title' => 'Ðовый модуль "Random"', + 'random_description' => '

    Модуль "random" предлагает новый объектно-ориентированный API Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñлучайных чиÑел. ВмеÑто иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ генератора Ñлучайных чиÑел (ГСЧ) на базе алгоритма Ð²Ð¸Ñ…Ñ€Ñ ÐœÐµÑ€Ñенна, в объектно-ориентированном API доÑтупно неÑколько ГСЧ, предÑтавленных отдельными клаÑÑами (как реализации интерфейÑа Engine), которые хранÑÑ‚ внутреннее ÑоÑтоÑние, позволÑÑ Ñоздавать неÑколько незавиÑимых поÑледовательноÑтей Ñлучайных чиÑел.

    +

    КлаÑÑ \Random\Randomizer предÑтавлÑет выÑокоуровневый Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾ иÑпользованию движков Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñлучайного целого чиÑла, Ð¿ÐµÑ€ÐµÐ¼ÐµÑˆÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÑÑива или Ñтроки, выбора Ñлучайных ключей маÑÑива и многое другое.

    ', + 'constants_in_traits_title' => 'КонÑтанты в трейтах', + 'constants_in_traits_description' => 'ÐÐµÐ»ÑŒÐ·Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ доÑтуп к конÑтанте через Ð¸Ð¼Ñ Ñ‚Ñ€ÐµÐ¹Ñ‚Ð°, но можно через клаÑÑ, который иÑпользует Ñтот трейт.', + 'deprecate_dynamic_properties_title' => 'ДинамичеÑкие ÑвойÑтва объÑвлены уÑтаревшими', + 'deprecate_dynamic_properties_description' => '

    Чтобы помочь избежать ошибок и опечаток, больше не рекомендуетÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñть динамичеÑкие ÑвойÑтва, только еÑли Ñам клаÑÑ Ñвно не разрешит Ñто при помощи атрибута #[\AllowDynamicProperties]. Ð’ ÑкземплÑрах stdClass по-прежнему можно иÑпользовать динамичеÑкие ÑвойÑтва.

    +

    Это изменение не влиÑет на иÑпользование магичеÑких методов __get/__set.

    ', + 'new_classes_title' => 'Ðовые клаÑÑÑ‹, интерфейÑÑ‹ и функции', + 'new_mysqli' => 'ÐÐ¾Ð²Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ mysqli_execute_query и метод mysqli::execute_query.', + 'new_attributes' => 'Ðовые атрибуты #[\AllowDynamicProperties] и #[\SensitiveParameter].', + 'new_zip' => 'Ðовые методы ZipArchive::getStreamIndex, ZipArchive::getStreamName и ZipArchive::clearError.', + 'new_reflection' => 'Ðовые методы ReflectionFunction::isAnonymous и ReflectionMethod::hasPrototype.', + 'new_functions' => 'Ðовые функции curl_upkeep, memory_reset_peak_usage, ini_parse_quantity, libxml_get_external_entity_loader, sodium_crypto_stream_xchacha20_xor_ic, openssl_cipher_key_length.', + 'bc_title' => 'УÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² обратной ÑовмеÑтимоÑти', + 'bc_string_interpolation' => 'ИнтерполÑции Ñтрок вида ${} Ñледует избегать.', + 'bc_utf8' => 'Ðе рекомендуетÑÑ Ð¸Ñпользовать функции utf8_encode и utf8_decode.', + 'bc_datetime' => 'У методов DateTime::createFromImmutable и DateTimeImmutable::createFromMutable задан предварительный тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ static.', + 'bc_odbc' => 'Модули ODBC и PDO_ODBC Ñкранирует Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль.', + 'bc_str_locale_sensitive' => 'При работе функции strtolower и strtoupper теперь не учитывают локаль.', + 'bc_spl_enforces_signature' => 'Методы SplFileObject::getCsvControl, SplFileObject::fflush, SplFileObject::ftell, SplFileObject::fgetc и SplFileObject::fpassthru уÑиливают Ñвою Ñигнатуру.', + 'bc_spl_false' => 'У метода SplFileObject::hasChildren предварительный тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½ как false.', + 'bc_spl_null' => 'У метода SplFileObject::getChildren предварительный тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½ как null.', + 'bc_spl_deprecated' => 'Внутренний метод SplFileInfo::_bad_state_ex объÑвлен уÑтаревшим.', + 'footer_title' => 'Выше производительноÑть, лучше ÑинтакÑиÑ, надёжнее ÑиÑтема типов.', + 'footer_description' => '

    Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ иÑходного кода PHP 8.2 поÑетите Ñтраницу Downloads. Бинарные файлы Windows находÑÑ‚ÑÑ Ð½Ð° Ñайте PHP for Windows. СпиÑок изменений перечиÑлен на Ñтранице ChangeLog.

    +

    РуководÑтво по миграции доÑтупно в разделе документации. ОзнакомьтеÑÑŒ Ñ Ð½Ð¸Ð¼, чтобы узнать обо вÑех новых возможноÑÑ‚ÑÑ… и изменениÑÑ…, затрагивающих обратную ÑовмеÑтимоÑть.

    ', +]; diff --git a/public/releases/8.2/languages/zh.php b/public/releases/8.2/languages/zh.php new file mode 100644 index 0000000000..0454f5f66e --- /dev/null +++ b/public/releases/8.2/languages/zh.php @@ -0,0 +1,54 @@ + 'PHP 8.2 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚它包å«äº†åªè¯»ç±»ã€nullã€false å’Œ true 作为独立的类型ã€åºŸå¼ƒåЍæ€å±žæ€§ã€æ€§èƒ½æ”¹è¿›ç­‰ã€‚', + 'documentation' => '文档', + 'main_title' => 'å·²å‘布ï¼', + 'main_subtitle' => 'PHP 8.2 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚
    它包å«äº†åªè¯»ç±»ã€nullã€false å’Œ true 作为独立的类型ã€åºŸå¼ƒåЍæ€å±žæ€§ã€æ€§èƒ½æ”¹è¿›ç­‰ã€‚', + 'upgrade_now' => '更新到 PHP 8.2 ï¼', + 'readonly_classes_title' => 'åªè¯»ç±»', + 'dnf_types_title' => 'æžå–èŒƒå¼ ï¼ˆDNF)类型', + 'dnf_types_description' => 'DNF 类型å…è®¸æˆ‘ä»¬ç»„åˆ union å’Œ intersection类型,éµå¾ªä¸€ä¸ªä¸¥æ ¼è§„则:组åˆå¹¶é›†å’Œäº¤é›†ç±»åž‹æ—¶ï¼Œäº¤é›†ç±»åž‹å¿…须用括å·è¿›è¡Œåˆ†ç»„。', + 'null_false_true_types_title' => 'å…许 nullã€false å’Œ true 作为独立类型', + 'random_title' => 'æ–°çš„â€œéšæœºâ€æ‰©å±•', + 'random_description' => '

    â€œéšæœºâ€æ‰©å±•ä¸ºéšæœºæ•°ç”Ÿæˆæä¾›äº†ä¸€ä¸ªæ–°çš„é¢å‘对象的 API。这个é¢å‘对象的 API æä¾›äº†å‡ ä¸ªç±»ï¼ˆâ€œå¼•擎â€ï¼‰ï¼Œæä¾›å¯¹çŽ°ä»£ç®—æ³•çš„è®¿é—®ï¼Œè¿™äº›ç®—æ³•åœ¨å¯¹è±¡ä¸­å­˜å‚¨å…¶çŠ¶æ€ï¼Œä»¥å…è®¸å¤šä¸ªç‹¬ç«‹çš„å¯æ’­ç§åºåˆ—ï¼Œè€Œä¸æ˜¯ä¾èµ–于使用 Mersenne Twister 算法的全局ç§å­éšæœºæ•°å‘生器(RNG)。

    +

    \Random\Randomizer ç±»æä¾›äº†ä¸€ä¸ªé«˜çº§æŽ¥å£æ¥ä½¿ç”¨å¼•æ“Žçš„éšæœºæ€§æ¥ç”Ÿæˆéšæœºæ•´æ•°ã€éšæœºæŽ’åˆ—æ•°ç»„æˆ–å­—ç¬¦ä¸²ã€é€‰æ‹©éšæœºæ•°ç»„é”®ç­‰ã€‚

    ', + 'constants_in_traits_title' => 'Traits 中的常é‡', + 'constants_in_traits_description' => '您ä¸èƒ½é€šè¿‡ trait å称访问常é‡ï¼Œä½†æ˜¯æ‚¨å¯ä»¥é€šè¿‡ä½¿ç”¨ trait 的类访问常é‡ã€‚', + 'deprecate_dynamic_properties_title' => '弃用动æ€å±žæ€§', + 'deprecate_dynamic_properties_description' => '

    动æ€å±žæ€§çš„创建已被弃用,以帮助é¿å…错误和拼写错误,除éžè¯¥ç±»é€šè¿‡ä½¿ç”¨ #[\AllowDynamicProperties] 属性æ¥é€‰æ‹©ã€‚stdClass å…许动æ€å±žæ€§ã€‚

    +

    __get/__set 魔术方法的使用ä¸å—此更改的影å“。

    ', + + 'new_classes_title' => 'æ–°çš„ç±»ã€æŽ¥å£å’Œå‡½æ•°', + 'new_mysqli' => '新增 mysqli_execute_query 函数和 mysqli::execute_query 方法。', + 'new_attributes' => '新增 #[\AllowDynamicProperties] å’Œ #[\SensitiveParameter] 属性。', + 'new_zip' => '新增 ZipArchive::getStreamIndexã€ZipArchive::getStreamName å’Œ ZipArchive::clearError 方法。', + 'new_reflection' => '新增 ReflectionFunction::isAnonymous å’Œ ReflectionMethod::hasPrototype 方法。', + 'new_functions' => '新增 curl_upkeepã€memory_reset_peak_usageã€ini_parse_quantityã€libxml_get_external_entity_loaderã€sodium_crypto_stream_xchacha20_xor_ic å’Œ openssl_cipher_key_length 方法。', + + 'bc_title' => '弃用和å‘åŽä¸å…¼å®¹', + 'bc_string_interpolation' => '弃用 ${} 字符串æ’值。', + 'bc_utf8' => '弃用 utf8_encode å’Œ utf8_decode 函数。', + 'bc_datetime' => 'DateTime::createFromImmutable å’Œ DateTimeImmutable::createFromMutable 方法暂定返回类型为 static。', + 'bc_odbc' => 'ODBC å’Œ PDO_ODBC 扩展转义用户å和密ç ã€‚', + 'bc_str_locale_sensitive' => 'strtolower å’Œ strtoupper 函数ä¸å†å¯¹è¯­è¨€çŽ¯å¢ƒæ•æ„Ÿã€‚', + 'bc_spl_enforces_signature' => 'SplFileObject::getCsvControlã€SplFileObject::fflushã€SplFileObject::ftellã€SplFileObject::fgetc å’Œ SplFileObject::fpassthru 方法强制执行它们的签å。', + 'bc_spl_false' => 'SplFileObject::hasChildren 方法暂定返回类型为 false。', + 'bc_spl_null' => 'SplFileObject::getChildren 方法暂定返回类型为 null。', + 'bc_spl_deprecated' => '内置方法 SplFileInfo::_bad_state_ex 已被废弃。', + + 'footer_title' => 'æ›´å¥½çš„æ€§èƒ½ã€æ›´å¥½çš„è¯­æ³•ã€æ”¹è¿›ç±»åž‹å®‰å…¨ã€‚', + 'footer_description' => '

    + 请访问 下载 页é¢ä¸‹è½½ PHP 8.2 æºä»£ç ã€‚ + 在 PHP for Windows ç«™ç‚¹ä¸­å¯æ‰¾åˆ° Windows 二进制文件。 + ChangeLog ä¸­æœ‰å˜æ›´åކå²è®°å½•清å•。 +

    +

    + PHP 手册中有 è¿ç§»æŒ‡å—。 + 请å‚考它æè¿°çš„æ–°åŠŸèƒ½è¯¦ç»†æ¸…å•ã€å‘åŽä¸å…¼å®¹çš„å˜åŒ–。 +

    ', +]; diff --git a/public/releases/8.2/pt_BR.php b/public/releases/8.2/pt_BR.php new file mode 100644 index 0000000000..663ea85100 --- /dev/null +++ b/public/releases/8.2/pt_BR.php @@ -0,0 +1,5 @@ +title = $title; + $this->status = $status; + } + } + PHP, + after: <<<'PHP' + readonly class BlogData + { + public string $title; + + public Status $status; + + public function __construct(string $title, Status $status) + { + $this->title = $title; + $this->status = $status; + } + } + PHP, + ), + new FeatureComparison( + id: 'dnf_types', + title: message('dnf_types_title', $lang), + description: message('dnf_types_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/dnf_types', + message('documentation', $lang) . "|/manual/$lang/migration82.new-features.php#migration82.new-features.core.type-system", + ], + before: <<<'PHP' + class Foo { + public function bar(mixed $entity) { + if ((($entity instanceof A) && ($entity instanceof B)) || ($entity === null)) { + return $entity; + } + + throw new Exception('Invalid entity'); + } + } + PHP, + after: <<<'PHP' + class Foo { + public function bar((A&B)|null $entity) { + return $entity; + } + } + PHP, + ), + new FeatureComparison( + id: 'null_false_true_types', + title: message('null_false_true_types_title', $lang), + description: '', + links: [ + 'RFC|https://wiki.php.net/rfc/null-false-standalone-types', + 'RFC|https://wiki.php.net/rfc/true-type', + ], + before: <<<'PHP' + class Falsy + { + public function almostFalse(): bool { /* ... */ *} + + public function almostTrue(): bool { /* ... */ *} + + public function almostNull(): string|null { /* ... */ *} + } + PHP, + after: <<<'PHP' + class Falsy + { + public function alwaysFalse(): false { /* ... */ *} + + public function alwaysTrue(): true { /* ... */ *} + + public function alwaysNull(): null { /* ... */ *} + } + PHP, + ), + new FeatureComparison( + id: 'random_extension', + title: message('random_title', $lang), + description: message('random_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/rng_extension', + 'RFC|https://wiki.php.net/rfc/random_extension_improvement', + message('documentation', $lang) . "|/manual/$lang/book.random.php", + ], + before: '', + after: <<<'PHP' + use Random\Engine\Xoshiro256StarStar; + use Random\Randomizer; + + $blueprintRng = new Xoshiro256StarStar( + hash('sha256', "Example seed that is converted to a 256 Bit string via SHA-256", true) + ); + + $fibers = []; + for ($i = 0; $i < 8; $i++) { + $fiberRng = clone $blueprintRng; + // Xoshiro256**'s 'jump()' method moves the blueprint ahead 2**128 steps, as if calling + // 'generate()' 2**128 times, giving the Fiber 2**128 unique values without needing to reseed. + $blueprintRng->jump(); + + $fibers[] = new Fiber(function () use ($fiberRng, $i): void { + $randomizer = new Randomizer($fiberRng); + + echo "{$i}: " . $randomizer->getInt(0, 100), PHP_EOL; + }); + } + + // The randomizer will use a CSPRNG by default. + $randomizer = new Randomizer(); + + // Even though the fibers execute in a random order, they will print the same value + // each time, because each has its own unique instance of the RNG. + $fibers = $randomizer->shuffleArray($fibers); + foreach ($fibers as $fiber) { + $fiber->start(); + } + PHP, + ), + new FeatureComparison( + id: 'constants_in_traits', + title: message('constants_in_traits_title', $lang), + description: message('constants_in_traits_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/constants_in_traits', + message('documentation', $lang) . "|/manual/$lang/migration82.new-features.php#migration82.new-features.core.constant-in-traits", + ], + before: '', + after: <<<'PHP' + trait Foo + { + public const CONSTANT = 1; + } + + class Bar + { + use Foo; + } + + var_dump(Bar::CONSTANT); // 1 + var_dump(Foo::CONSTANT); // Error + PHP, + ), + new FeatureComparison( + id: 'deprecate_dynamic_properties', + title: message('deprecate_dynamic_properties_title', $lang), + description: message('deprecate_dynamic_properties_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/deprecate_dynamic_properties', + message('documentation', $lang) . "|/manual/$lang/migration82.deprecated.php#migration82.deprecated.core.dynamic-properties", + ], + before: <<<'PHP' + class User + { + public $name; + } + + $user = new User(); + $user->last_name = 'Doe'; + + $user = new stdClass(); + $user->last_name = 'Doe'; + PHP, + after: <<<'PHP' + class User + { + public $name; + } + + $user = new User(); + $user->last_name = 'Doe'; // Deprecated notice + + $user = new stdClass(); + $user->last_name = 'Doe'; // Still allowed + PHP, + ), +]; + +echo ReleasePage::getHeroSection( + title: message('main_title', $lang), + subtitle: message('main_subtitle', $lang), + logoSvg: << + SVG, + upgradeNow: message('upgrade_now', $lang), +); + +echo ReleasePage::getFeatureComparisons($comparisons, 'PHP 8.2', 'PHP < 8.2'); + +?> + +
    +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +
    +
    + + false]); diff --git a/public/releases/8.2/ru.php b/public/releases/8.2/ru.php new file mode 100644 index 0000000000..55e44842ed --- /dev/null +++ b/public/releases/8.2/ru.php @@ -0,0 +1,5 @@ + 'English', + 'es' => 'Español', + 'de' => 'Deutsch', + 'ru' => 'РуÑÑкий', + 'zh' => '简体中文', + 'pt_BR' => 'Brazilian Portuguese', + 'ja' => '日本語', + 'uk' => 'УкраїнÑька', +]; + +function common_header(string $description): void { + global $MYSITE, $lang; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_3_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + $languages = []; + foreach (LANGUAGES as $code => $text) { + $languages[] = ['name' => $text, 'selected' => $lang === $code, 'url' => '/releases/8.3/' . $code . '.php']; + } + + \site_header("PHP 8.3 Release Announcement", [ + 'current' => 'php85', + 'css' => ['php85.css'], + 'language_switcher' => $languages, + 'theme_switcher' => true, + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function message($code, $language = 'en'): string +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + return $translation[$code] ?? $original[$code] ?? $code; +} diff --git a/public/releases/8.3/de.php b/public/releases/8.3/de.php new file mode 100644 index 0000000000..4601e2184d --- /dev/null +++ b/public/releases/8.3/de.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.3/$lang.php"); diff --git a/public/releases/8.3/ja.php b/public/releases/8.3/ja.php new file mode 100644 index 0000000000..7792525e5b --- /dev/null +++ b/public/releases/8.3/ja.php @@ -0,0 +1,5 @@ + 'PHP 8.3 ist ein Major-Update der Sprache PHP. Es beinhaltet viele neue Features und Verbesserungen.
    Unter anderem die Typisierung von Klassen-Konstanten, tiefes Klonen von Readonly-Properties und Erweiterungen der Zufallsfunktionalität. Darüber hinaus sind wie üblich Performance-Optimierungen, Bug-Fixes und andere Aufräumarbeiten eingeflossen.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.3 ist ein Major-Update der Sprache PHP.
    Es beinhaltet viele neue Features und Verbesserungen.
    Unter anderem die Typisierung von Klassen-Konstanten, tiefes Klonen von Readonly-Properties und Erweiterungen der Zufallsfunktionalität. Darüber hinaus sind wie üblich Performance-Optimierungen, Bug-Fixes und andere Aufräumarbeiten eingeflossen.', + 'upgrade_now' => 'Wechsle jetzt zu PHP 8.3!', + + 'readonly_title' => 'Klonen von Readonly-Properties', + 'readonly_description' => 'readonly-Properties können nun innerhalb der magischen __clone Methode geändert werden.', + 'json_validate_title' => 'New json_validate() Funktion', + 'json_validate_description' => 'json_validate() erlaubt es einen String auf syntaktisch korrektes JSON auf eine effizientere Art und Weise als json_decode() zu prüfen.', + 'typed_class_constants_title' => 'Typisierung von Klassen-Konstanten', + 'override_title' => 'Das neue #[\Override]-Attribut', + 'override_description' => 'Durch das Nutzen des #[\Override]-Attributs bei einer Methode, wird PHP nun sicherstellen, dass diese Methode in einer Elternklasse oder einem implementierten Interface vorhanden ist. Die Angabe des Attributs macht deutlich, dass das Überschreiben der Method absichtlich erfolgt ist und erleichtert ein Refactoring, da das Entfernen der überschriebenen Methode in der Elternklasse dazu führt, dass ein Fehler geworfen wird.', + 'randomizer_getbytesfromstring_title' => 'Neue Methode Randomizer::getBytesFromString()', + 'randomizer_getbytesfromstring_description' => 'Die Random-Erweiterung, die in PHP 8.2 hinzugefügt wurde, wurde um eine neue Methode erweitert, die es erlaubt einen String zu generieren, der ausschließlich aus bestimmten Zeichen besteht. Diese Methode erlaubt es auf einfache Weise zufällige Bezeichner, wie beispielsweise Domainnamen, und numerische Strings beliebiger Länge zu erzeugen.', + 'randomizer_getfloat_nextfloat_title' => 'Neue Methoden Randomizer::getFloat() und Randomizer::nextFloat()', + 'randomizer_getfloat_nextfloat_description' => '

    Durch die limitierte Präzision und der impliziten Rundung von Gleitkommazahlen war das gleichverteilte Generieren von Gleitkommazahlen innerhalb eines vorgegebenen Bereichs nicht einfach. Gängige Userland-Lösungen führen zu einer ungleichmäßigen Verteilung und geben potentiell Zahlen außerhalb des gewünschten Bereichs zurück.

    Der Randomizer wurde daher um zwei Methoden erweitert, um zufällige Gleitkommazahlen mit einer Gleichverteilung zu generieren. Die Randomizer::getFloat()-Methode nutzt den γ-section-Algorithmus, welcher in Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022. veröffentlicht wurde.

    ', + 'dynamic_class_constant_fetch_title' => 'Dynamisches Abrufen von Klassen-Konstanten', + 'command_line_linter_title' => 'Kommandozeilen-Linter unterstützt mehrere Dateien', + 'command_line_linter_description' => '

    Der Kommandozeilen-Linter erlaubt nun die Prüfung mehrerer Dateien.

    ', + + 'new_classes_title' => 'Neue Klassen, Interfaces, und Funktionen', + 'new_dom' => 'Neue DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), und DOMParentNode::replaceChildren() Methoden.', + 'new_intl' => 'Neue IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate(), und IntlGregorianCalendar::createFromDateTime() Methoden.', + 'new_ldap' => 'Neue ldap_connect_wallet(), und ldap_exop_sync() Funktionen.', + 'new_mb_str_pad' => 'Neue mb_str_pad() Funktion.', + 'new_posix' => 'Neue posix_sysconf(), posix_pathconf(), posix_fpathconf(), und posix_eaccess() Funktionen.', + 'new_reflection' => 'Neue ReflectionMethod::createFromMethodName() Methode.', + 'new_socket' => 'Neue socket_atmark() Funktion.', + 'new_str' => 'Neue str_increment(), str_decrement(), und stream_context_set_options() Funktionen.', + 'new_ziparchive' => 'Neue ZipArchive::getArchiveFlag() Methode.', + 'new_openssl_ec' => 'Unterstützung der OpenSSL Erweiterung für das generieren von EC Schlüssel mit eigener Angabe von EC Parametern.', + 'new_ini' => 'Neue INI Einstellung zend.max_allowed_stack_size zum Angeben der maximal erlaubten Stack größe.', + 'ini_fallback' => 'Die php.ini Unterstützt nun die Fallback/Default-Wert Syntax.', + 'anonymous_readonly' => 'Anonymous Klassen können nun auch als readonly markiert werden.', + + 'bc_title' => 'Veraltete Funktionalität und inkompatible Änderungen zu vorherigen PHP Versionen', + 'bc_datetime' => 'Adäquatere Date/Time-Exceptions.', + 'bc_arrays' => 'Die Zuweisung eines Negativen-Index n bei einem leeren Array sorgt nun dafür, dass der nächste Index n + 1 statt 0 ist.', + 'bc_range' => 'Vänderungen an der range() Funktion.', + 'bc_traits' => 'Veränderungen an der erneuten Deklarierung von Properties durch Traits.', + 'bc_umultipledecimalseparators' => 'Die U_MULTIPLE_DECIMAL_SEPERATORS Konstante wurde als Veraltet markiert und wurde durch U_MULTIPLE_DECIMAL_SEPARATORS ersetzt.', + 'bc_mtrand' => 'Die MT_RAND_PHP Mt19937 Variante wurde als veraltet markiert.', + 'bc_reflection' => 'Der Rückgabewert von ReflectionClass::getStaticProperties() wurde von ?array zu array geändert.', + 'bc_ini' => 'Die INI Einstellungen assert.active, assert.bail, assert.callback, assert.exception, and assert.warning wurden als veraltet markiert.', + 'bc_standard' => 'Das Aufrufen der Funktionen get_class() und get_parent_class() ohne die Angabe von Parametern ist veraltet.', + 'bc_sqlite3' => 'SQLite3: Wirft nun im default Exceptions.', + + 'footer_title' => 'Bessere Performance, verbesserte Syntax und verbesserte Typensicherheit.', + 'footer_description' => '

    For source downloads of PHP 8.3 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

    +

    The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.

    ', +]; diff --git a/public/releases/8.3/languages/en.php b/public/releases/8.3/languages/en.php new file mode 100644 index 0000000000..6d3f0450ae --- /dev/null +++ b/public/releases/8.3/languages/en.php @@ -0,0 +1,55 @@ + 'PHP 8.3 is a major update of the PHP language. It contains many new features, such as explicit typing of class constants, deep-cloning of readonly properties and additions to the randomness functionality. As always it also includes performance improvements, bug fixes, and general cleanup.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.3 is a major update of the PHP language.
    It contains many new features, such as explicit typing of class constants, deep-cloning of readonly properties and additions to the randomness functionality. As always it also includes performance improvements, bug fixes, and general cleanup.', + 'upgrade_now' => 'Upgrade to PHP 8.3 now!', + + 'readonly_title' => 'Deep-cloning of readonly properties', + 'readonly_description' => 'readonly properties may now be modified once within the magic __clone method to enable deep-cloning of readonly properties.', + 'json_validate_title' => 'New json_validate() function', + 'json_validate_description' => 'json_validate() allows to check if a string is syntactically valid JSON, while being more efficient than json_decode().', + 'typed_class_constants_title' => 'Typed class constants', + 'override_title' => 'New #[\Override] attribute', + 'override_description' => 'By adding the #[\Override] attribute to a method, PHP will ensure that a method with the same name exists in a parent class or in an implemented interface. Adding the attribute makes it clear that overriding a parent method is intentional and simplifies refactoring, because the removal of an overridden parent method will be detected.', + 'randomizer_getbytesfromstring_title' => 'New Randomizer::getBytesFromString() method', + 'randomizer_getbytesfromstring_description' => 'The Random Extension that was added in PHP 8.2 was extended by a new method to generate random strings consisting of specific bytes only. This method allows the developer to easily generate random identifiers, such as domain names, and numeric strings of arbitrary length.', + 'randomizer_getfloat_nextfloat_title' => 'New Randomizer::getFloat() and Randomizer::nextFloat() methods', + 'randomizer_getfloat_nextfloat_description' => '

    Due to the limited precision and implicit rounding of floating point numbers, generating an unbiased float lying within a specific interval is non-trivial and the commonly used userland solutions may generate biased results or numbers outside the requested range.

    The Randomizer was also extended with two methods to generate random floats in an unbiased fashion. The Randomizer::getFloat() method uses the γ-section algorithm that was published in Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', + 'dynamic_class_constant_fetch_title' => 'Dynamic class constant fetch', + 'command_line_linter_title' => 'Command line linter supports multiple files', + 'command_line_linter_description' => '

    The command line linter now accepts variadic input for filenames to lint

    ', + + 'new_classes_title' => 'New Classes, Interfaces, and Functions', + 'new_dom' => 'New DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and DOMParentNode::replaceChildren() methods.', + 'new_intl' => 'New IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate(), and IntlGregorianCalendar::createFromDateTime() methods.', + 'new_ldap' => 'New ldap_connect_wallet(), and ldap_exop_sync() functions.', + 'new_mb_str_pad' => 'New mb_str_pad() function.', + 'new_posix' => 'New posix_sysconf(), posix_pathconf(), posix_fpathconf(), and posix_eaccess() functions.', + 'new_reflection' => 'New ReflectionMethod::createFromMethodName() method.', + 'new_socket' => 'New socket_atmark() function.', + 'new_str' => 'New str_increment(), str_decrement(), and stream_context_set_options() functions.', + 'new_ziparchive' => 'New ZipArchive::getArchiveFlag() method.', + 'new_openssl_ec' => 'Support for generation EC keys with custom EC parameters in OpenSSL extension.', + 'new_ini' => 'New INI setting zend.max_allowed_stack_size to set the maximum allowed stack size.', + 'ini_fallback' => 'php.ini now supports fallback/default value syntax.', + 'anonymous_readonly' => 'Anonymous classes can now be readonly.', + + 'bc_title' => 'Deprecations and backward compatibility breaks', + 'bc_datetime' => 'More Appropriate Date/Time Exceptions.', + 'bc_arrays' => 'Assigning a negative index n to an empty array will now make sure that the next index is n + 1 instead of 0.', + 'bc_range' => 'Changes to the range() function.', + 'bc_traits' => 'Changes in re-declaration of static properties in traits.', + 'bc_umultipledecimalseparators' => 'The U_MULTIPLE_DECIMAL_SEPERATORS constant is deprecated in favor of U_MULTIPLE_DECIMAL_SEPARATORS.', + 'bc_mtrand' => 'The MT_RAND_PHP Mt19937 variant is deprecated.', + 'bc_reflection' => 'ReflectionClass::getStaticProperties() is no longer nullable.', + 'bc_ini' => 'INI settings assert.active, assert.bail, assert.callback, assert.exception, and assert.warning have been deprecated.', + 'bc_standard' => 'Calling get_class() and get_parent_class() without arguments are deprecated.', + 'bc_sqlite3' => 'SQLite3: Default error mode set to exceptions.', + + 'footer_title' => 'Better performance, better syntax, improved type safety.', + 'footer_description' => '

    For source downloads of PHP 8.3 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

    +

    The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.

    ', +]; diff --git a/public/releases/8.3/languages/es.php b/public/releases/8.3/languages/es.php new file mode 100644 index 0000000000..56072c9470 --- /dev/null +++ b/public/releases/8.3/languages/es.php @@ -0,0 +1,56 @@ + 'PHP 8.3 es una actualización importante del lenguaje PHP. Contiene muchas características nuevas, como la tipificación explícita de constantes de clase, la clonación profunda de propiedades de solo lectura y adiciones a la funcionalidad de aleatoriedad. Como siempre, también incluye mejoras de rendimiento, correcciones de errores y limpieza general.', + 'documentation' => 'Documentación', + 'main_title' => '¡Lanzado!', + 'main_subtitle' => 'PHP 8.3 es una actualización importante del lenguaje PHP.
    Contiene muchas características nuevas, como la tipificación explícita de constantes de clase, la clonación profunda de propiedades de solo lectura y adiciones a la funcionalidad de aleatoriedad. Como siempre, también incluye mejoras de rendimiento, correcciones de errores y limpieza general.', + 'upgrade_now' => '¡Actualiza a PHP 8.3 ahora!', + + 'readonly_title' => 'Clonación profunda de propiedades de solo lectura', + 'readonly_description' => 'readonly las propiedades ahora pueden ser modificadas una vez dentro del método mágico __clone para permitir la clonación profunda de propiedades de solo lectura.', + 'json_validate_title' => 'Nueva función json_validate()', + 'json_validate_description' => 'json_validate() permite verificar si una cadena es JSON sintácticamente válido, siendo más eficiente que json_decode().', + 'typed_class_constants_title' => 'Constantes de clase tipificadas', + 'override_title' => 'Nuevo atributo #[\Override]', + 'override_description' => 'Al agregar el atributo #[\Override] a un método, PHP asegurará que un método con el mismo nombre exista en una clase padre o en una interfaz implementada. Agregar el atributo aclara que la sobreescritura de un método padre es intencional y simplifica la refactorización, porque la eliminación de un método padre sobreescrito será detectada.', + 'randomizer_getbytesfromstring_title' => 'Nuevo método Randomizer::getBytesFromString()', + 'randomizer_getbytesfromstring_description' => 'La Extensión Aleatoria que se agregó en PHP 8.2 se extendió con un nuevo método para generar cadenas aleatorias compuestas solo por bytes específicos. Este método permite al desarrollador generar fácilmente identificadores aleatorios, como nombres de dominio y cadenas numéricas de longitud arbitraria.', + 'randomizer_getfloat_nextfloat_title' => 'Nuevos métodos Randomizer::getFloat() y Randomizer::nextFloat()', + 'randomizer_getfloat_nextfloat_description' => '

    Debido a la precisión limitada y el redondeo implícito de los números de punto flotante, generar un flotante imparcial dentro de un intervalo específico no es trivial y las soluciones comunes de usuario pueden generar resultados sesgados o números fuera del rango solicitado.

    La Aleatorizadora también se extendió con dos métodos para generar flotantes aleatorios de manera imparcial. El método Randomizer::getFloat() usa el algoritmo de sección γ que se publicó en Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', + 'dynamic_class_constant_fetch_title' => 'Búsqueda dinámica de constantes de clase', + 'command_line_linter_title' => 'El linter de línea de comandos admite múltiples archivos', + 'command_line_linter_description' => '

    El linter de línea de comandos ahora acepta entrada variada para nombres de archivos a revisar

    ', + + 'new_classes_title' => 'Nuevas Clases, Interfaces y Funciones', + 'new_dom' => 'Nuevos métodos DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), y DOMParentNode::replaceChildren().', + 'new_intl' => 'Nuevos métodos IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate(), y IntlGregorianCalendar::createFromDateTime().', + 'new_ldap' => 'Nuevas funciones ldap_connect_wallet() y ldap_exop_sync().', + 'new_mb_str_pad' => 'Nueva función mb_str_pad().', + 'new_posix' => 'Nuevas funciones posix_sysconf(), posix_pathconf(), posix_fpathconf(), y posix_eaccess().', + 'new_reflection' => 'Nuevo método ReflectionMethod::createFromMethodName().', + 'new_socket' => 'Nueva función socket_atmark().', + 'new_str' => 'Nuevas funciones str_increment(), str_decrement(), y stream_context_set_options().', + 'new_ziparchive' => 'Nuevo método ZipArchive::getArchiveFlag().', + 'new_openssl_ec' => 'Soporte para la generación de claves EC con parámetros EC personalizados en la extensión OpenSSL.', + 'new_ini' => 'Nueva configuración INI zend.max_allowed_stack_size para establecer el tamaño máximo permitido de la pila.', + 'ini_fallback' => 'php.ini ahora soporta la sintaxis de valor predeterminado/de reserva.', + 'anonymous_readonly' => 'Las clases anónimas ahora pueden ser de solo lectura.', + + 'bc_title' => 'Deprecaciones y rupturas de compatibilidad hacia atrás', + 'bc_datetime' => 'Excepciones de Fecha/Hora más Apropiadas.', + 'bc_arrays' => 'Asignar un índice negativo n a un arreglo vacío ahora asegurará que el siguiente índice sea n + 1 en lugar de 0.', + 'bc_range' => 'Cambios en la función range().', + 'bc_traits' => 'Cambios en la re-declaración de propiedades estáticas en rasgos.', + 'bc_umultipledecimalseparators' => 'La constante U_MULTIPLE_DECIMAL_SEPERATORS está obsoleta en favor de U_MULTIPLE_DECIMAL_SEPARATORS.', + 'bc_mtrand' => 'La variante MT_RAND_PHP Mt19937 está obsoleta.', + 'bc_reflection' => 'ReflectionClass::getStaticProperties() ya no es nulo.', + 'bc_ini' => 'Las configuraciones INI assert.active, assert.bail, assert.callback, assert.exception, y assert.warning han sido obsoletas.', + 'bc_standard' => 'Llamar a get_class() y get_parent_class() sin argumentos está obsoleto.', + 'bc_sqlite3' => 'SQLite3: Modo de error predeterminado establecido en excepciones.', + + 'footer_title' => 'Mejor rendimiento, mejor sintaxis, mayor seguridad de tipos.', + 'footer_description' => '

    Para descargas de código fuente de PHP 8.3, por favor visita la página de descargas. Los binarios para Windows se pueden encontrar en el sitio de PHP para Windows. La lista de cambios está registrada en el Registro de Cambios.

    +

    La guía de migración está disponible en el Manual de PHP. Por favor, consúltala para obtener una lista detallada de las nuevas características y los cambios que no son compatibles con versiones anteriores.

    ', + +]; diff --git a/public/releases/8.3/languages/ja.php b/public/releases/8.3/languages/ja.php new file mode 100644 index 0000000000..3c76218cb9 --- /dev/null +++ b/public/releases/8.3/languages/ja.php @@ -0,0 +1,53 @@ + 'PHP8.3ã¯ã€PHP言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚クラス定数ã®åž‹ä»˜ã‘ã€èª­ã¿å–り専用プロパティã®ã‚¯ãƒ­ãƒ¼ãƒ³ã€ãƒ©ãƒ³ãƒ€ãƒ æ©Ÿèƒ½è¿½åŠ ãªã©ã€å¤šãã®æ–°æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ã•らã«ãƒ‘フォーマンスã®å‘上ã€ãƒã‚°ãƒ•ィックスã€ã‚³ãƒ¼ãƒ‰ã®ã‚¯ãƒªãƒ¼ãƒ³ãƒŠãƒƒãƒ—も行ã‚れã¾ã—ãŸã€‚', + 'documentation' => 'ドキュメント', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP8.3ã¯ã€PHP言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚
    クラス定数ã®åž‹ä»˜ã‘ã€èª­ã¿å–り専用プロパティã®ã‚¯ãƒ­ãƒ¼ãƒ³ã€ãƒ©ãƒ³ãƒ€ãƒ æ©Ÿèƒ½è¿½åŠ ãªã©ã€å¤šãã®æ–°æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ã•らã«ãƒ‘フォーマンスå‘上ã€ãƒã‚°ãƒ•ィックスã€ã‚³ãƒ¼ãƒ‰ã®ã‚¯ãƒªãƒ¼ãƒ³ãƒŠãƒƒãƒ—も行ã‚れã¾ã—ãŸã€‚', + 'upgrade_now' => 'PHP8.3ã¸ã®ã‚¢ãƒƒãƒ—デートã¯ã“ã¡ã‚‰ï¼', + 'readonly_title' => '読ã¿å–り専用プロパティã®ãƒ‡ã‚£ãƒ¼ãƒ—クローン', + 'readonly_description' => 'readonlyプロパティをクローンã™ã‚‹éš›ã€__cloneメソッド内ã§ä¸€åº¦ã ã‘プロパティを変更ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'json_validate_title' => '関数json_validate()ã®è¿½åŠ ', + 'json_validate_description' => '関数json_validate()ã¯ã€json_decode()よりも効率的ã«JSONãŒæ­£ã—ã„å½¢å¼ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚', + 'typed_class_constants_title' => 'クラス定数ã®åž‹ä»˜ã‘', + 'override_title' => 'アトリビュート#[\Override]ã®è¿½åŠ ', + 'override_description' => 'メソッドã«ã‚¢ãƒˆãƒªãƒ“ュート#[\Override]を追加ã™ã‚‹ã¨ã€è¦ªã‚¯ãƒ©ã‚¹ã‚‚ã—ãã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã«åŒã˜ãƒ¡ã‚½ãƒƒãƒ‰ãŒå®šç¾©ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æ„図的ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã‚‹ã¨æ˜Žç¤ºã™ã‚‹ã“ã¨ãŒã§ãã€ã¾ãŸè¦ªãƒ¡ã‚½ãƒƒãƒ‰ãŒå¤‰æ›´ã•れãŸã¨ãã«æ¤œå‡ºã§ãã¾ã™ã€‚', + 'randomizer_getbytesfromstring_title' => 'メソッドRandomizer::getBytesFromString()ã®è¿½åŠ ', + 'randomizer_getbytesfromstring_description' => 'PHP8.2ã§å®Ÿè£…ã•れãŸRandomエクステンションã«ã€ãƒ©ãƒ³ãƒ€ãƒ æ–‡å­—列を生æˆã™ã‚‹æ–°ãŸãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’追加ã—ã¾ã—ãŸã€‚ã“れã«ã‚ˆã‚Šã€ã‚µãƒ–ドメインåãªã©ã¡ã‚‡ã£ã¨ã—ãŸæ–‡å­—列や任æ„é•·ã®æ•°å€¤åž‹æ–‡å­—列ãªã©ã‚’容易ã«ç”Ÿæˆå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚', + 'randomizer_getfloat_nextfloat_title' => 'メソッドRandomizer::getFloat()ã¨Randomizer::nextFloat()ã®è¿½åŠ ', + 'randomizer_getfloat_nextfloat_description' => '

    æµ®å‹•å°æ•°ç‚¹æ¼”ç®—ã¯ãã®ç²¾åº¦ã‚„丸ã‚è¦ç´ ã«ã‚ˆã‚Šã€åりã®ãªã„乱数を生æˆã™ã‚‹ã“ã¨ã¯æ¯”較的高難度ã§ã‚りã€ã‚ˆã見られるユーザランド実装ã¯çµæžœãŒåã£ã¦ã„ãŸã‚Šç¯„囲外ã«ãªã£ã¦ã„ãŸã‚Šã™ã‚‹ã“ã¨ãŒã‚ˆãã‚りã¾ã™ã€‚

    Randomizerエクステンションã§ã¯æ™®éçš„ãªæµ®å‹•å°æ•°ä¹±æ•°ã‚’生æˆã™ã‚‹ãŸã‚ã«2ã¤ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒå®Ÿè£…ã•れã¾ã—ãŸã€‚Randomizer::getFloat()ã¯Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard・ACM Trans. Model. Comput. Simul.・32:3・2022.ã¨ã„ã†è«–æ–‡ã§ç´¹ä»‹ã•れãŸÎ³-sectionã¨ã„ã†ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ä¹±æ•°ã‚’生æˆã—ã¾ã™ã€‚

    ', + 'dynamic_class_constant_fetch_title' => 'ã‚¯ãƒ©ã‚¹å®šæ•°ã®æ–‡å­—列指定', + 'command_line_linter_title' => 'コマンドラインLinterã®è¤‡æ•°ãƒ•ァイル指定', + 'command_line_linter_description' => '

    コマンドラインLinterã«è¤‡æ•°ã®ãƒ•ァイルを渡ã›ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚

    ', + + 'new_classes_title' => 'æ–°ã—ã„クラス・インターフェイス・関数', + 'new_dom' => 'DOMã«DOMElement::getAttributeNames()・DOMElement::insertAdjacentElement()・DOMElement::insertAdjacentText()・DOMElement::toggleAttribute()・DOMNode::contains()・DOMNode::getRootNode()・DOMNode::isEqualNode()・DOMNameSpaceNode::contains()・DOMParentNode::replaceChildren()メソッドãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_intl' => 'Intlã«IntlCalendar::setDate()・IntlCalendar::setDateTime()・IntlGregorianCalendar::createFromDate()・IntlGregorianCalendar::createFromDateTime()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_ldap' => 'LDAPã«ldap_connect_wallet()・ldap_exop_sync()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_mb_str_pad' => 'マルãƒãƒã‚¤ãƒˆæ–‡å­—列関数ã«mb_str_pad()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_posix' => 'POSIX関数ã«posix_sysconf()・posix_pathconf()・posix_fpathconf()・posix_eaccess()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_reflection' => 'リフレクションã«ReflectionMethod::createFromMethodName()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_socket' => 'ソケットã«socket_atmark()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_str' => '文字列関数ã«str_increment()・str_decrement()・stream_context_set_options()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_ziparchive' => 'Zip関数ã«ZipArchive::getArchiveFlag()ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_openssl_ec' => 'OpenSSLエクステンションãŒEC parameterã«ã‚ˆã‚‹éµã®ç”Ÿæˆã«å¯¾å¿œã—ã¾ã—ãŸã€‚', + 'new_ini' => '最大スタックサイズを設定ã™ã‚‹INI設定zend.max_allowed_stack_sizeãŒè¿½åŠ ã•れã¾ã—ãŸ', + 'ini_fallback' => 'iniファイルãŒãƒ‡ãƒ•ォルト値を指定ã™ã‚‹æ§‹æ–‡ã«å¯¾å¿œã—ã¾ã—ãŸã€‚', + 'anonymous_readonly' => 'ç„¡åクラスをreadonlyã«ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚', + + 'bc_title' => 'éžæŽ¨å¥¨ã€ãŠã‚ˆã³äº’æ›æ€§ã®ãªã„変更', + 'bc_datetime' => 'Date/Timeã‚¨ã‚¯ã‚¹ãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã®æ”¹å–„。', + 'bc_arrays' => 'é…列を負数nã‹ã‚‰å§‹ã‚ãŸå ´åˆã€æ¬¡ã®è‡ªå‹•採番ã¯0ã§ã¯ãªãn + 1ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_range' => 'range()é–¢æ•°ã®æŒ™å‹•ãŒå¤‰æ›´ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_traits' => 'トレイトã¨staticプロパティã®åŒæ™‚ä½¿ç”¨æ™‚ã®æŒ™å‹•ãŒå¤‰æ›´ã•れã¾ã—ãŸã€‚', + 'bc_umultipledecimalseparators' => '定数U_MULTIPLE_DECIMAL_SEPERATORSã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚U_MULTIPLE_DECIMAL_SEPARATORSを使ã„ã¾ã—ょã†ã€‚', + 'bc_mtrand' => 'æ­£ã—ããªã„Mt19937実装ã§ã‚る定数MT_RAND_PHPã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_reflection' => 'メソッドReflectionClass::getStaticProperties()ã®è¿”り値ãŒnull許容型ã§ã¯ãªããªã‚Šã¾ã—ãŸã€‚', + 'bc_ini' => 'INI設定assert.active・assert.bail・assert.callback・assert.exception・assert.warningã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_standard' => '関数get_class()ã¨get_parent_class()ã¯å¼•æ•°ãŒå¿…é ˆã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_sqlite3' => 'SQLite3ã®ã‚¨ãƒ©ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã®ãƒ‡ãƒ•ォルトãŒä¾‹å¤–ã«ãªã‚Šã¾ã—ãŸã€‚', + + 'footer_title' => 'ã•らãªã‚‹æ€§èƒ½å‘上ã€ã‚ˆã‚Šã‚ˆã„æ§‹æ–‡ã€ã™ãれãŸåž‹å®‰å…¨æ€§ã€‚', + 'footer_description' => '

    PHP8.3ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯ã“ã¡ã‚‰ã€‚Windowsãƒã‚¤ãƒŠãƒªã¯PHP for Windowsã§è¦‹ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ChangeLogã¯ã“ã¡ã‚‰ã§ã™ã€‚

    マニュアルã«ã‚るマイグレーションガイドã§ã¯ã€æ–°æ©Ÿèƒ½ã‚„変更点ã«ã¤ã„ã¦ã®ã‚ˆã‚Šè©³ã—ã„æƒ…å ±ãŒè¨˜è¼‰ã•れã¦ã„ã¾ã™ã€‚

    ', +]; \ No newline at end of file diff --git a/public/releases/8.3/languages/pt_BR.php b/public/releases/8.3/languages/pt_BR.php new file mode 100644 index 0000000000..089dfe8b8e --- /dev/null +++ b/public/releases/8.3/languages/pt_BR.php @@ -0,0 +1,55 @@ + 'PHP 8.3 é uma atualização importante da linguagem PHP. Ela contém muitos recursos novos, como tipagem explícita de constantes de classe, clonagem profunda de propriedades somente leitura e adições à funcionalidade de aleatoriedade. Como sempre, também inclui melhorias de desempenho, correções de bugs e limpeza geral.', + 'documentation' => 'Doc', + 'main_title' => 'Lançado!', + 'main_subtitle' => 'PHP 8.3 é uma atualização importante da linguagem PHP.
    Ela contém muitos recursos novos, como tipagem explícita de constantes de classe, clonagem profunda de propriedades somente leitura e adições à funcionalidade de aleatoriedade. Como sempre, também inclui melhorias de desempenho, correções de bugs e limpeza geral.', + 'upgrade_now' => 'Atualize para PHP 8.3 agora!', + + 'readonly_title' => 'Clonagem profunda de propriedades somente leitura', + 'readonly_description' => 'Propriedades readonly agora podem ser modificadas uma vez dentro do método mágico __clone para permitir a clonagem profunda de propriedades somente leitura.', + 'json_validate_title' => 'Nova função json_validate()', + 'json_validate_description' => 'json_validate() permite verificar se uma string é sintaticamente válida em JSON, sendo mais eficiente do que json_decode().', + 'typed_class_constants_title' => 'Constantes de classe tipadas', + 'override_title' => 'Novo atributo #[\Override]', + 'override_description' => 'Ao adicionar o atributo #[\Override] a um método, o PHP garantirá que um método com o mesmo nome exista em uma classe pai ou em uma interface implementada. Adicionar o atributo torna claro que a sobreposição de um método pai é intencional e simplifica a refatoração, pois a remoção de um método pai sobreposto será detectada.', + 'randomizer_getbytesfromstring_title' => 'Novo método Randomizer::getBytesFromString()', + 'randomizer_getbytesfromstring_description' => 'A Extensão Random que foi adicionada no PHP 8.2 foi ampliada com um novo método para gerar strings aleatórias consistindo apenas de bytes específicos. Este método permite que o desenvolvedor gere facilmente identificadores aleatórios, como nomes de domínio e strings numéricas de comprimento arbitrário.', + 'randomizer_getfloat_nextfloat_title' => 'Novos métodos Randomizer::getFloat() e Randomizer::nextFloat()', + 'randomizer_getfloat_nextfloat_description' => '

    Devido à precisão limitada e ao arredondamento implícito de números de ponto flutuante, gerar um float imparcial dentro de um intervalo específico não é trivial, e as soluções comumente usadas no nível do usuário podem gerar resultados tendenciosos ou números fora do intervalo solicitado.

    O Randomizer também foi ampliado com dois métodos para gerar floats de maneira imparcial. O método Randomizer::getFloat() utiliza o algoritmo da seção γ que foi publicado em Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', + 'dynamic_class_constant_fetch_title' => 'Recuperação dinâmica de constantes de classe', + 'command_line_linter_title' => 'O linter de linha de comando suporta vários arquivos', + 'command_line_linter_description' => '

    O linter da linha de comando agora aceita vários nomes de arquivos para lint

    ', + + 'new_classes_title' => 'Novas classes, interfaces e funções', + 'new_dom' => 'Novos métodos DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() e DOMParentNode::replaceChildren().', + 'new_intl' => 'Novos métodos IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate() e IntlGregorianCalendar::createFromDateTime().', + 'new_ldap' => 'Novas funções ldap_connect_wallet() e ldap_exop_sync().', + 'new_mb_str_pad' => 'Nova função mb_str_pad().', + 'new_posix' => 'Novas funções posix_sysconf(), posix_pathconf(), posix_fpathconf() e posix_eaccess().', + 'new_reflection' => 'Novo método ReflectionMethod::createFromMethodName().', + 'new_socket' => 'Nova função socket_atmark().', + 'new_str' => 'Nova função str_increment(), str_decrement() e stream_context_set_options().', + 'new_ziparchive' => 'Novo método ZipArchive::getArchiveFlag().', + 'new_openssl_ec' => 'Suporte para geração de chaves EC com parâmetros EC personalizados na extensão OpenSSL.', + 'new_ini' => 'Nova configuração INI zend.max_allowed_stack_size para definir o tamanho máximo permitido da pilha.', + 'ini_fallback' => 'php.ini agora suporta sintaxe de valor substituto/padrão.', + 'anonymous_readonly' => 'Classes anônimas agora podem ser somente leitura.', + + 'bc_title' => 'Alterações obsoletas e incompatibilidades com versões anteriores', + 'bc_datetime' => 'Exceções de Date/Time mais apropriadas.', + 'bc_arrays' => 'Atribuir um índice negativo n a um array vazio agora garantirá que o próximo índice seja n + 1 em vez de 0.', + 'bc_range' => 'Alterações na função range().', + 'bc_traits' => 'Alterações na redeclaração de propriedades estáticas em traits.', + 'bc_umultipledecimalseparators' => 'A constante U_MULTIPLE_DECIMAL_SEPERATORS foi obsoleta em favor de U_MULTIPLE_DECIMAL_SEPARATORS.', + 'bc_mtrand' => 'A variante MT_RAND_PHP do Mt19937 está obsoleta.', + 'bc_reflection' => 'O tipo de retorno de ReflectionClass::getStaticProperties() não será mais nulo.', + 'bc_ini' => 'As configurações INI assert.active, assert.bail, assert.callback, assert.exception e assert.warning foram obsoletas.', + 'bc_standard' => 'Chamar get_class() e get_parent_class() sem argumentos está obsoleto.', + 'bc_sqlite3' => 'SQLite3: modo de erro padrão definido como exceções.', + + 'footer_title' => 'Melhorias de desempenho, sintaxe aprimorada e maior segurança de tipos.', + 'footer_description' => '

    Para downloads do código-fonte do PHP 8.3, visite a página de downloads. Binários para Windows podem ser encontrados no site PHP for Windows. A lista de alterações está registrada no ChangeLog.

    +

    O guia de migração está disponível no Manual do PHP. Consulte-o para obter uma lista detalhada de novos recursos e alterações incompatíveis com versões anteriores.

    ', +]; diff --git a/public/releases/8.3/languages/ru.php b/public/releases/8.3/languages/ru.php new file mode 100644 index 0000000000..a090db39d2 --- /dev/null +++ b/public/releases/8.3/languages/ru.php @@ -0,0 +1,55 @@ + 'PHP 8.3 — большое обновление Ñзыка PHP. Оно Ñодержит множеÑтво новых возможноÑтей, таких как ÑÐ²Ð½Ð°Ñ Ñ‚Ð¸Ð¿Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð½Ñтант клаÑÑов, глубокое клонирование readonly-ÑвойÑтв, а также ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑа Randomizer. Как вÑегда, в нём также улучшена производительноÑть, иÑправлены ошибки и многое другое.', + 'documentation' => 'ДокументациÑ', + 'main_title' => 'выпущен!', + 'main_subtitle' => 'PHP 8.3 — большое обновление Ñзыка PHP.
    Оно Ñодержит множеÑтво новых возможноÑтей, таких как ÑÐ²Ð½Ð°Ñ Ñ‚Ð¸Ð¿Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð½Ñтант клаÑÑов, глубокое клонирование readonly-ÑвойÑтв, а также ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑа Randomizer. Как вÑегда, в нём также улучшена производительноÑть, иÑправлены ошибки и многое другое.', + 'upgrade_now' => 'Переходите на PHP 8.3!', + + 'readonly_title' => 'Глубокое клонирование readonly-ÑвойÑтв', + 'readonly_description' => 'СвойÑтва, доÑтупные только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ (readonly) теперь могут быть изменены один раз Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ магичеÑкого метода __clone Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти глубокого ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ readonly-ÑвойÑтв.', + 'json_validate_title' => 'ÐÐ¾Ð²Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ json_validate()', + 'json_validate_description' => 'Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ json_validate() позволÑет проверить, ÑвлÑетÑÑ Ð»Ð¸ Ñтрока ÑинтакÑичеÑки корректным JSON, при Ñтом она более Ñффективна, чем Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ json_decode().', + 'typed_class_constants_title' => 'Типизированные конÑтанты клаÑÑов', + 'override_title' => 'Ðовый атрибут #[\Override]', + 'override_description' => 'ЕÑли добавить методу атрибут #[\Override], то PHP убедитÑÑ, что метод Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же именем ÑущеÑтвует в родительÑком клаÑÑе или в реализованном интерфейÑе. Добавление атрибута даёт понÑть, что переопределение родительÑкого метода ÑвлÑетÑÑ Ð½Ð°Ð¼ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼, а также упрощает рефакторинг, поÑкольку удаление переопределённого родительÑкого метода будет обнаружено.', + 'randomizer_getbytesfromstring_title' => 'Ðовый метод Randomizer::getBytesFromString()', + 'randomizer_getbytesfromstring_description' => 'Модуль Random, добавленный в PHP 8.2, был дополнен новым методом генерации Ñлучайных Ñтрок, ÑоÑтоÑщих только из определённых байтов. Этот метод позволÑет легко генерировать Ñлучайные идентификаторы, например, имена доменов и чиÑловые Ñтроки произвольной длины.', + 'randomizer_getfloat_nextfloat_title' => 'Ðовые методы Randomizer::getFloat() и Randomizer::nextFloat()', + 'randomizer_getfloat_nextfloat_description' => '

    Из-за ограниченной точноÑти и неÑвного Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñел Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½ÐµÑмещённого чиÑла, лежащего в определённом интервале, ÑвлÑетÑÑ Ð½ÐµÑ‚Ñ€Ð¸Ð²Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð¹ задачей, а пользовательÑкие Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ давать Ñмещённые результаты или чиÑла, выходÑщие за пределы требуемого диапазона.

    КлаÑÑ Randomizer был раÑширен Ð´Ð²ÑƒÐ¼Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð°Ð¼Ð¸, позволÑющими генерировать Ñлучайные чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой неÑмещённым образом. Метод Randomizer::getFloat() иÑпользует алгоритм γ-Ñекции, который был опубликован в Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', + 'dynamic_class_constant_fetch_title' => 'ДинамичеÑкое получение конÑтант клаÑÑа', + 'command_line_linter_title' => 'Линтер командной Ñтроки поддерживает неÑколько файлов', + 'command_line_linter_description' => '

    Линтер командной Ñтроки теперь принимает неÑколько имён файлов Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸.

    ', + + 'new_classes_title' => 'Ðовые клаÑÑÑ‹, интерфейÑÑ‹ и функции', + 'new_dom' => 'Ðовые методы DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() и DOMParentNode::replaceChildren().', + 'new_intl' => 'Ðовые методы IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate() и IntlGregorianCalendar::createFromDateTime().', + 'new_ldap' => 'Ðовые функции ldap_connect_wallet() и ldap_exop_sync().', + 'new_mb_str_pad' => 'ÐÐ¾Ð²Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ mb_str_pad().', + 'new_posix' => 'Ðовые функции posix_sysconf(), posix_pathconf(), posix_fpathconf() и posix_eaccess().', + 'new_reflection' => 'Ðовый метод ReflectionMethod::createFromMethodName().', + 'new_socket' => 'ÐÐ¾Ð²Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ socket_atmark().', + 'new_str' => 'Ðовые функции str_increment(), str_decrement() и stream_context_set_options().', + 'new_ziparchive' => 'Ðовый метод ZipArchive::getArchiveFlag().', + 'new_openssl_ec' => 'Поддержка генерации EC-ключей Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкими EC-параметрами в модуле OpenSSL.', + 'new_ini' => 'Ðовый параметр INI zend.max_allowed_stack_size Ð´Ð»Ñ ÑƒÑтановки макÑимально допуÑтимого размера Ñтека.', + 'ini_fallback' => 'php.ini теперь поддерживает ÑинтакÑÐ¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… значений/значений по умолчанию.', + 'anonymous_readonly' => 'Ðнонимные клаÑÑÑ‹ теперь доÑтупны только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ.', + + 'bc_title' => 'УÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² обратной ÑовмеÑтимоÑти', + 'bc_datetime' => 'Более подходÑщие иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² модуле Date/Time.', + 'bc_arrays' => 'ПриÑвоение отрицательного индекÑа n пуÑтому маÑÑиву теперь гарантирует, что Ñледующим индекÑом будет n + 1, а не 0.', + 'bc_range' => 'Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² функции range().', + 'bc_traits' => 'Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² повторном объÑвлении ÑтатичеÑких ÑвойÑтв в трейтах.', + 'bc_umultipledecimalseparators' => 'КонÑтанта U_MULTIPLE_DECIMAL_SEPERATORS объÑвлена уÑтаревшей, вмеÑто неё рекомендуетÑÑ Ð¸Ñпользовать конÑтанту U_MULTIPLE_DECIMAL_SEPARATORS.', + 'bc_mtrand' => 'Вариант Mt19937 MT_RAND_PHP объÑвлен уÑтаревшим.', + 'bc_reflection' => 'ReflectionClass::getStaticProperties() теперь не возвращает значение null.', + 'bc_ini' => 'Параметры INI assert.active, assert.bail, assert.callback, assert.exception и assert.warning объÑвлены уÑтаревшими.', + 'bc_standard' => 'Вызов функции get_class() и get_parent_class() без аргументов объÑвлен уÑтаревшим.', + 'bc_sqlite3' => 'SQLite3: режим ошибок по умолчанию уÑтановлен на иÑключениÑ.', + + 'footer_title' => 'Выше производительноÑть, лучше ÑинтакÑиÑ, надёжнее ÑиÑтема типов.', + 'footer_description' => '

    Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ иÑходного кода PHP 8.3 поÑетите Ñтраницу Downloads. Бинарные файлы Windows находÑÑ‚ÑÑ Ð½Ð° Ñайте PHP for Windows. СпиÑок изменений перечиÑлен на Ñтранице ChangeLog.

    +

    РуководÑтво по миграции доÑтупно в разделе документации. ОзнакомьтеÑÑŒ Ñ Ð½Ð¸Ð¼, чтобы узнать обо вÑех новых возможноÑÑ‚ÑÑ… и изменениÑÑ…, затрагивающих обратную ÑовмеÑтимоÑть.

    ', +]; diff --git a/public/releases/8.3/languages/uk.php b/public/releases/8.3/languages/uk.php new file mode 100644 index 0000000000..f382398bdc --- /dev/null +++ b/public/releases/8.3/languages/uk.php @@ -0,0 +1,55 @@ + 'PHP 8.3 — це значне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ PHP. Воно міÑтить багато нових можливоÑтей, таких Ñк Ñвна Ñ‚Ð¸Ð¿Ñ–Ð·Ð°Ñ†Ñ–Ñ ÐºÐ¾Ð½Ñтант клаÑів, глибоке ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ readonly-влаÑтивоÑтей Ñ– Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ функціоналу Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ñ… чиÑел. Як завжди, воно також включає Ð¿Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті, Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñ– загальний рефакторинг.', + 'documentation' => 'ДокументаціÑ', + 'main_title' => 'Випущено!', + 'main_subtitle' => 'PHP 8.3 — це значне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ PHP.
    Воно міÑтить багато нових можливоÑтей, таких Ñк Ñвна Ñ‚Ð¸Ð¿Ñ–Ð·Ð°Ñ†Ñ–Ñ ÐºÐ¾Ð½Ñтант клаÑів, глибоке ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ readonly-влаÑтивоÑтей Ñ– Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ функціоналу Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ñ… чиÑел. Як завжди, воно також включає Ð¿Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті, Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñ– загальний рефакторинг.', + 'upgrade_now' => 'ОновітьÑÑ Ð´Ð¾ PHP 8.3 прÑмо зараз!', + + 'readonly_title' => 'Глибоке ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ readonly-влаÑтивоÑтей', + 'readonly_description' => 'Щоб забезпечити можливіÑть глибокого ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей, доÑтупних лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ, readonly влаÑтивоÑті тепер можуть бути модифіковані один раз, за допомогою магічного методу __clone.', + 'json_validate_title' => 'Ðова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ json_validate()', + 'json_validate_description' => 'Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ json_validate() дозволÑÑ” перевірити, чи Ñ” Ñ€Ñдок ÑинтакÑично правильним JSON, при цьому Ñ” ефективнішою за функціюjson_decode().', + 'typed_class_constants_title' => 'Типізовані конÑтанти клаÑу', + 'override_title' => 'Ðовий атрибут #[\Override]', + 'override_description' => 'Додавши до методу атрибут #[\Override], PHP буде впевнюватиÑÑ, що метод із такою ж назвою Ñ–Ñнує у батьківÑькому клаÑÑ– або реалізованому інтерфейÑÑ–. Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ атрибута дає можливіÑть зрозуміти, що Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ð°Ñ‚ÑŒÐºÑ–Ð²Ñького методу Ñ” навмиÑним Ñ– Ñпрощує рефакторинг, оÑкільки Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ батьківÑького методу не залишитьÑÑ Ð½ÐµÐ¿Ð¾Ð¼Ñ–Ñ‡ÐµÐ½Ð¸Ð¼.', + 'randomizer_getbytesfromstring_title' => 'Ðовий метод Randomizer::getBytesFromString()', + 'randomizer_getbytesfromstring_description' => 'Модуль Random, що додано у PHP 8.2, було розширено новим методом Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ñ… Ñ€Ñдків, Ñкі ÑкладаютьÑÑ Ð»Ð¸ÑˆÐµ з певних байтів. Цей метод дозволÑÑ” розробнику легко генерувати випадкові ідентифікатори, такі Ñк імена доменів Ñ– чиÑлові Ñ€Ñдки довільної довжини.', + 'randomizer_getfloat_nextfloat_title' => 'Ðові методи Randomizer::getFloat() Ñ– Randomizer::nextFloat()', + 'randomizer_getfloat_nextfloat_description' => '

    Через обмежену точніÑть Ñ– неÑвне Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ñ‡Ð¸Ñел з рухомою комою, Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ·Ð¼Ñ–Ñ‰ÐµÐ½Ð¾Ð³Ð¾ чиÑла з рухомою комою, що лежить у межах певного інтервалу, Ñ” нетривіальним завданнÑм, а загальноприйнÑті кориÑтувацькі Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ генерувати зміщені результати або чиÑла, що виходÑть за межі заданого діапазону.

    ÐšÐ»Ð°Ñ Randomizer було розширено двома методами Ð´Ð»Ñ Ð½ÐµÑƒÐ¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ñ… чиÑел з рухомою комою. Метод Randomizer::getFloat() викориÑтовує алгоритм y-section, Ñкий було опубліковано у Ñтатті Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', + 'dynamic_class_constant_fetch_title' => 'Динамічна вибірка конÑтант клаÑу', + 'command_line_linter_title' => 'Лінтер командного Ñ€Ñдка підтримує можливіÑть перевірки декількох файлів', + 'command_line_linter_description' => '

    Лінтер командного Ñ€Ñдка тепер може приймати декілька імен файлів Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸

    ', + + 'new_classes_title' => 'Ðові клаÑи, інтерфейÑи та функції', + 'new_dom' => 'Ðові методи DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() Ñ– DOMParentNode::replaceChildren().', + 'new_intl' => 'Ðові методи IntlCalendar::setDate(), IntlCalendar::setDateTime(), IntlGregorianCalendar::createFromDate() Ñ– IntlGregorianCalendar::createFromDateTime().', + 'new_ldap' => 'Ðові функції ldap_connect_wallet() Ñ– ldap_exop_sync().', + 'new_mb_str_pad' => 'Ðова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ mb_str_pad().', + 'new_posix' => 'Ðові функції posix_sysconf(), posix_pathconf(), posix_fpathconf() Ñ– posix_eaccess().', + 'new_reflection' => 'Ðовий метод ReflectionMethod::createFromMethodName().', + 'new_socket' => 'Ðова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ socket_atmark().', + 'new_str' => 'Ðові функції str_increment(), str_decrement() Ñ– stream_context_set_options().', + 'new_ziparchive' => 'Ðовий метод ZipArchive::getArchiveFlag().', + 'new_openssl_ec' => 'Підтримка Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ EC-ключів із влаÑними EC-параметрами у модулі OpenSSL.', + 'new_ini' => 'Ðовий параметр INI zend.max_allowed_stack_size Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÐºÑимально дозволеного розміру Ñтека.', + 'ini_fallback' => 'php.ini тепер підтримує ÑинтакÑÐ¸Ñ Ð·Ð°Ð¿Ð°Ñних значень/значень за замовчуваннÑм.', + 'anonymous_readonly' => 'Ðнонімні клаÑи тепер доÑтупні лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ.', + + 'bc_title' => 'ЗаÑтаріла функціональніÑть Ñ– зміни у зворотній ÑуміÑноÑті', + 'bc_datetime' => 'Доречніші винÑтки у модулі Date/Time.', + 'bc_arrays' => 'ПриÑÐ²Ð¾Ñ”Ð½Ð½Ñ Ð²Ñ–Ð´\'ємного індекÑу n до порожнього маÑиву тепер гарантує, що наÑтупним індекÑом буде n + 1 заміÑть 0.', + 'bc_range' => 'ВнеÑено зміни до функціїrange().', + 'bc_traits' => 'Зміни у повторному оголошенні Ñтатичних влаÑтивоÑтей у трейтах.', + 'bc_umultipledecimalseparators' => 'КонÑтанту U_MULTIPLE_DECIMAL_SEPERATORS оголошено заÑтарілою, натоміÑть рекомендуєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати U_MULTIPLE_DECIMAL_SEPARATORS.', + 'bc_mtrand' => 'Механізм Mt19937 MT_RAND_PHP оголошено заÑтарілим.', + 'bc_reflection' => 'ReflectionClass::getStaticProperties() тепер не повертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ null.', + 'bc_ini' => 'Параметри INI assert.active, assert.bail, assert.callback, assert.exception Ñ– assert.warning оголошено заÑтарілими.', + 'bc_standard' => 'МожливіÑть виклику функції get_class() Ñ– get_parent_class() без аргументів оголошено заÑтарілою.', + 'bc_sqlite3' => 'SQLite3: Режим помилок за замовчуваннÑм вÑтановлено на винÑтки.', + + 'footer_title' => 'Краща продуктивніÑть, кращий ÑинтакÑиÑ, покращена безпека типів.', + 'footer_description' => '

    Ð”Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ коду PHP 8.3 відвідайте Ñторінку downloads. Двійкові файли Windows можна знайти на Ñайті PHP for Windows. Перелік змін опиÑано на Ñторінці ChangeLog.

    +

    ПоÑібник з міграції знаходитьÑÑ Ñƒ поÑібнику з PHP. Будь лаÑка, ознайомтеÑÑ Ð· ним, щоб отримати детальніший ÑпиÑок нових функцій Ñ– неÑуміÑних змін.

    ', +]; diff --git a/public/releases/8.3/languages/zh.php b/public/releases/8.3/languages/zh.php new file mode 100644 index 0000000000..115e51c3bf --- /dev/null +++ b/public/releases/8.3/languages/zh.php @@ -0,0 +1,66 @@ + 'PHP 8.3 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚它包å«äº†è®¸å¤šæ–°åŠŸèƒ½ï¼Œä¾‹å¦‚ï¼šç±»å¸¸é‡æ˜¾å¼ç±»åž‹ã€åªè¯»å±žæ€§æ·±æ‹·è´ï¼Œä»¥åŠå¯¹éšæœºæ€§åŠŸèƒ½çš„è¡¥å……ã€‚ä¸€å¦‚æ—¢å¾€ï¼Œå®ƒè¿˜åŒ…æ‹¬æ€§èƒ½æ”¹è¿›ã€é”™è¯¯ä¿®å¤å’Œå¸¸è§„清ç†ç­‰ã€‚', + 'documentation' => '文档', + 'main_title' => 'å·²å‘布ï¼', + 'main_subtitle' => 'PHP 8.3 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚
    它包å«äº†è®¸å¤šæ–°åŠŸèƒ½ï¼Œä¾‹å¦‚ï¼šç±»å¸¸é‡æ˜¾å¼ç±»åž‹ã€åªè¯»å±žæ€§æ·±æ‹·è´ï¼Œä»¥åŠå¯¹éšæœºæ€§åŠŸèƒ½çš„è¡¥å……ã€‚ä¸€å¦‚æ—¢å¾€ï¼Œå®ƒè¿˜åŒ…æ‹¬æ€§èƒ½æ”¹è¿›ã€é”™è¯¯ä¿®å¤å’Œå¸¸è§„清ç†ç­‰ã€‚', + 'upgrade_now' => '更新到 PHP 8.3 ï¼', + + 'readonly_title' => 'åªè¯»å±žæ€§æ·±æ‹·è´', + 'readonly_description' => 'readonly 属性现在å¯ä»¥åœ¨é­”术方法 __clone 中被修改一次,以此实现åªè¯»å±žæ€§çš„æ·±æ‹·è´', + 'json_validate_title' => '新增 json_validate() 函数', + 'json_validate_description' => 'json_validate() å¯ä»¥æ£€æŸ¥ä¸€ä¸ªå­—符串是å¦ä¸ºè¯­æ³•正确的 JSON,比 json_decode() 更有效。', + 'typed_class_constants_title' => '类型化类常é‡', + 'override_title' => '新增 #[\Override] 属性', + 'override_description' => '通过给方法添加 #[\Override] 属性,PHP 将确ä¿åœ¨çˆ¶ç±»æˆ–实现的接å£ä¸­å­˜åœ¨åŒå的方法。添加该属性表示明确说明覆盖父方法是有æ„ä¸ºä¹‹ï¼Œå¹¶ä¸”ç®€åŒ–äº†é‡æž„过程,因为删除被覆盖的父方法将被检测出æ¥ã€‚', + 'randomizer_getbytesfromstring_title' => '新增 Randomizer::getBytesFromString() 方法', + 'randomizer_getbytesfromstring_description' => '在 PHP 8.2 中新增的 Random 扩展 通过一个新方法生æˆç”±ç‰¹å®šå­—节组æˆçš„éšæœºå­—ç¬¦ä¸²ã€‚è¿™ç§æ–¹æ³•å¯ä»¥ä½¿å¼€å‘者更轻æ¾çš„生æˆéšæœºçš„æ ‡è¯†ç¬¦ï¼ˆå¦‚åŸŸå),以åŠä»»æ„长度的数字字符串。', + 'randomizer_getfloat_nextfloat_title' => '新增 Randomizer::getFloat() å’Œ Randomizer::nextFloat() 方法', + 'randomizer_getfloat_nextfloat_description' => '

    由于浮点数的精度和éšå¼å››èˆäº”入的é™åˆ¶ï¼Œåœ¨ç‰¹å®šåŒºé—´å†…ç”Ÿæˆæ— åå·®çš„æµ®ç‚¹æ•°å¹¶éžæ˜“事,常è§çš„用户解决方案å¯èƒ½ä¼šç”Ÿæˆæœ‰åå·®çš„ç»“æžœæˆ–è¶…å‡ºè¦æ±‚范围的数字。

    Randomizer æ‰©å±•äº†ä¸¤ç§æ–¹æ³•ï¼Œç”¨äºŽéšæœºç”Ÿæˆæ— å差的浮点数。Randomizer::getFloat() 方法使用的是 γ-section 算法,该算法å‘表于 Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', + 'dynamic_class_constant_fetch_title' => '动æ€èŽ·å–类常é‡', + 'command_line_linter_title' => '命令行 linter 支æŒå¤šä¸ªæ–‡ä»¶', + 'command_line_linter_description' => '

    命令行 linter çŽ°åœ¨æŽ¥å—æ–‡ä»¶åçš„å¯å˜è¾“入以进行 lint

    ', + + 'new_classes_title' => 'æ–°çš„ç±»ã€æŽ¥å£å’Œå‡½æ•°', + 'new_dom' => '新增 DOMElement::getAttributeNames()ã€DOMElement::insertAdjacentElement()ã€DOMElement::insertAdjacentText()ã€DOMElement::toggleAttribute()ã€DOMNode::contains()ã€DOMNode::getRootNode()ã€DOMNode::isEqualNode()ã€DOMNameSpaceNode::contains() å’Œ DOMParentNode::replaceChildren() 方法。', + 'new_intl' => '新增 IntlCalendar::setDate()ã€IntlCalendar::setDateTime()ã€IntlGregorianCalendar::createFromDate() å’Œ IntlGregorianCalendar::createFromDateTime() 方法。', + 'new_ldap' => '新增 ldap_connect_wallet() å’Œ ldap_exop_sync() 函数。', + 'new_mb_str_pad' => '新增 mb_str_pad() 函数。', + 'new_posix' => '新增 posix_sysconf()ã€posix_pathconf()ã€posix_fpathconf() å’Œ posix_eaccess() 函数。', + 'new_reflection' => '新增 ReflectionMethod::createFromMethodName() 方法', + 'new_socket' => '新增 socket_atmark() 函数。', + 'new_str' => '新增 str_increment()ã€str_decrement() å’Œ stream_context_set_options() 函数。', + 'new_ziparchive' => '新增 ZipArchive::getArchiveFlag() 方法。', + 'new_openssl_ec' => '支æŒåœ¨ OpenSSL 扩展中使用自定义 EC 傿•°ç”Ÿæˆ EC 密钥。', + 'new_ini' => '新增 INI 设置 zend.max_allowed_stack_size 用于设置å…许的最大堆栈大å°ã€‚', + 'ini_fallback' => 'php.ini 现在支æŒåŽå¤‡/默认值语法。', + 'anonymous_readonly' => '匿å类现在å¯ä»¥æ˜¯åªè¯»çš„。', + + 'bc_title' => '弃用和å‘åŽä¸å…¼å®¹', + 'bc_datetime' => 'æ›´åˆé€‚çš„ Date/Time 异常。', + 'bc_arrays' => '现在在空数组中获å–负索引 n 时,将确ä¿ä¸‹ä¸€ä¸ªç´¢å¼•是 n + 1 è€Œä¸æ˜¯ 0。', + 'bc_range' => '对 range() 函数的更改。', + 'bc_traits' => '在 traits 䏭釿–°å£°æ˜Žé™æ€å±žæ€§çš„æ›´æ”¹ã€‚', + 'bc_umultipledecimalseparators' => 'U_MULTIPLE_DECIMAL_SEPERATORS 常é‡å·²è¢«åºŸå¼ƒï¼Œæ”¹ä¸º U_MULTIPLE_DECIMAL_SEPARATORS。', + 'bc_mtrand' => 'MT_RAND_PHP Mt19937 å˜ä½“已被废弃。', + 'bc_reflection' => 'ReflectionClass::getStaticProperties() ä¸å†ä¸ºç©ºã€‚', + 'bc_ini' => 'INI é…ç½® assert.activeã€assert.bailã€assert.callbackã€assert.exception å’Œ assert.warning 已被废弃。', + 'bc_standard' => '调用 get_class() å’Œ get_parent_class() 时未æä¾›å‚数,已被废弃。', + 'bc_sqlite3' => 'SQLite3:默认错误模å¼è®¾ç½®ä¸ºå¼‚常。', + + 'footer_title' => 'æ›´å¥½çš„æ€§èƒ½ã€æ›´å¥½çš„è¯­æ³•ã€æ”¹è¿›ç±»åž‹å®‰å…¨ã€‚', + 'footer_description' => '

    + 请访问 下载 页é¢ä¸‹è½½ PHP 8.3 æºä»£ç ã€‚ + 在 PHP for Windows ç«™ç‚¹ä¸­å¯æ‰¾åˆ° Windows 二进制文件。 + ChangeLog ä¸­æœ‰å˜æ›´åކå²è®°å½•清å•。 +

    +

    + PHP 手册中有 è¿ç§»æŒ‡å—。 + 请å‚考它æè¿°çš„æ–°åŠŸèƒ½è¯¦ç»†æ¸…å•ã€å‘åŽä¸å…¼å®¹çš„å˜åŒ–。 +

    ', +]; diff --git a/public/releases/8.3/pt_BR.php b/public/releases/8.3/pt_BR.php new file mode 100644 index 0000000000..663ea85100 --- /dev/null +++ b/public/releases/8.3/pt_BR.php @@ -0,0 +1,5 @@ +logFile = fopen('/tmp/logfile', 'w'); + } + + protected function taerDown(): void { + fclose($this->logFile); + unlink('/tmp/logfile'); + } + } + + // The log file will never be removed, because the + // method name was mistyped (taerDown vs tearDown). + PHP, + after: <<<'PHP' + use PHPUnit\Framework\TestCase; + + final class MyTest extends TestCase { + protected $logFile; + + protected function setUp(): void { + $this->logFile = fopen('/tmp/logfile', 'w'); + } + + #[\Override] + protected function taerDown(): void { + fclose($this->logFile); + unlink('/tmp/logfile'); + } + } + + // Fatal error: MyTest::taerDown() has #[\Override] attribute, + // but no matching parent method exists + PHP, + ), + new FeatureComparison( + id: 'readonly_classes', + title: message('readonly_title', $lang), + description: message('readonly_description', $lang), + links: ['RFC|https://wiki.php.net/rfc/readonly_amendments'], + before: <<<'PHP' + class PHP { + public string $version = '8.2'; + } + + readonly class Foo { + public function __construct( + public PHP $php + ) {} + + public function __clone(): void { + $this->php = clone $this->php; + } + } + + $instance = new Foo(new PHP()); + $cloned = clone $instance; + + // Fatal error: Cannot modify readonly property Foo::$php + PHP, + after: <<<'PHP' + class PHP { + public string $version = '8.2'; + } + + readonly class Foo { + public function __construct( + public PHP $php + ) {} + + public function __clone(): void { + $this->php = clone $this->php; + } + } + + $instance = new Foo(new PHP()); + $cloned = clone $instance; + + $cloned->php->version = '8.3'; + PHP, + ), + new FeatureComparison( + id: 'json_validate', + title: message('json_validate_title', $lang), + description: message('json_validate_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/json_validate', + message('documentation', $lang) . "|/manual/$lang/function.json-validate.php", + ], + before: <<<'PHP' + function json_validate(string $string): bool { + json_decode($string); + + return json_last_error() === JSON_ERROR_NONE; + } + + var_dump(json_validate('{ "test": { "foo": "bar" } }')); // true + PHP, + after: <<<'PHP' + var_dump(json_validate('{ "test": { "foo": "bar" } }')); // true + PHP, + ), + new FeatureComparison( + id: 'randomizer_get_bytes_from_string', + title: message('randomizer_getbytesfromstring_title', $lang), + description: message('randomizer_getbytesfromstring_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/randomizer_additions#getbytesfromstring', + message('documentation', $lang) . "|/manual/$lang/random-randomizer.getbytesfromstring.php", + ], + before: <<<'PHP' + // This function needs to be manually implemented. + function getBytesFromString(string $string, int $length) { + $stringLength = strlen($string); + + $result = ''; + for ($i = 0; $i < $length; $i++) { + // random_int is not seedable for testing, but secure. + $result .= $string[random_int(0, $stringLength - 1)]; + } + + return $result; + } + + $randomDomain = sprintf( + "%s.example.com", + getBytesFromString( + 'abcdefghijklmnopqrstuvwxyz0123456789', + 16, + ), + ); + + echo $randomDomain; + PHP, + after: <<<'PHP' + // A \Random\Engine may be passed for seeding, + // the default is the secure engine. + $randomizer = new \Random\Randomizer(); + + $randomDomain = sprintf( + "%s.example.com", + $randomizer->getBytesFromString( + 'abcdefghijklmnopqrstuvwxyz0123456789', + 16, + ), + ); + + echo $randomDomain; + PHP, + ), + new FeatureComparison( + id: 'randomizer_get_float', + title: message('randomizer_getfloat_nextfloat_title', $lang), + description: message('randomizer_getfloat_nextfloat_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/randomizer_additions#getfloat', + message('documentation', $lang) . "|/manual/$lang/random-randomizer.getfloat.php", + ], + before: <<<'PHP' + // Returns a random float between $min and $max, both including. + function getFloat(float $min, float $max) { + // This algorithm is biased for specific inputs and may + // return values outside the given range. This is impossible + // to work around in userland. + $offset = random_int(0, PHP_INT_MAX) / PHP_INT_MAX; + + return $offset * ($max - $min) + $min; + } + + $temperature = getFloat(-89.2, 56.7); + + $chanceForTrue = 0.1; + // getFloat(0, 1) might return the upper bound, i.e. 1, + // introducing a small bias. + $myBoolean = getFloat(0, 1) < $chanceForTrue; + PHP, + after: <<<'PHP' + $randomizer = new \Random\Randomizer(); + + $temperature = $randomizer->getFloat( + -89.2, + 56.7, + \Random\IntervalBoundary::ClosedClosed, + ); + + $chanceForTrue = 0.1; + // Randomizer::nextFloat() is equivalent to + // Randomizer::getFloat(0, 1, \Random\IntervalBoundary::ClosedOpen). + // The upper bound, i.e. 1, will not be returned. + $myBoolean = $randomizer->nextFloat() < $chanceForTrue; + PHP, + ), + new FeatureComparison( + id: 'command_line_linter', + title: message('command_line_linter_title', $lang), + description: message('command_line_linter_description', $lang), + links: [ + 'PR|https://github.com/php/php-src/issues/10024', + message('documentation', $lang) . "|/manual/$lang/features.commandline.options.php", + ], + before: <<<'CODE' + php -l foo.php bar.php + No syntax errors detected in foo.php + CODE, + after: <<<'CODE' + php -l foo.php bar.php + No syntax errors detected in foo.php + No syntax errors detected in bar.php + CODE, + highlightCode: false, + ), +]; + +echo ReleasePage::getHeroSection( + title: message('main_title', $lang), + subtitle: message('main_subtitle', $lang), + logoSvg: << + SVG, + upgradeNow: message('upgrade_now', $lang), +); + +echo ReleasePage::getFeatureComparisons($comparisons, 'PHP 8.3', 'PHP < 8.3'); + +?> + +
    +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +
    +
    + + false]); diff --git a/public/releases/8.3/ru.php b/public/releases/8.3/ru.php new file mode 100644 index 0000000000..55e44842ed --- /dev/null +++ b/public/releases/8.3/ru.php @@ -0,0 +1,5 @@ + 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'ru' => 'РуÑÑкий', + 'pt_BR' => 'Brazilian Portuguese', + 'nl' => 'Nederlands', + 'tr' => 'Türkçe', + 'uk' => 'УкраїнÑька', + 'zh' => '简体中文', + 'ja' => '日本語', +]; + +function common_header(string $description): void { + global $MYSITE, $lang; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_4_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + $languages = []; + foreach (LANGUAGES as $code => $text) { + $languages[] = ['name' => $text, 'selected' => $lang === $code, 'url' => '/releases/8.4/' . $code . '.php']; + } + + \site_header("PHP 8.4 Release Announcement", [ + 'current' => 'php85', + 'css' => ['php85.css'], + 'language_switcher' => $languages, + 'theme_switcher' => true, + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function message($code, $language = 'en'): string +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + return $translation[$code] ?? $original[$code] ?? $code; +} diff --git a/public/releases/8.4/en.php b/public/releases/8.4/en.php new file mode 100644 index 0000000000..569ea7b5d0 --- /dev/null +++ b/public/releases/8.4/en.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.4/$lang.php"); diff --git a/public/releases/8.4/ja.php b/public/releases/8.4/ja.php new file mode 100644 index 0000000000..7792525e5b --- /dev/null +++ b/public/releases/8.4/ja.php @@ -0,0 +1,5 @@ + 'PHP 8.4 is a major update of the PHP language. It contains many new features, such as property hooks, asymmetric visibility, an updated DOM API, performance improvements, bug fixes, and general cleanup.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.4 is a major update of the PHP language.
    It contains many new features, such as property hooks, asymmetric visibility, an updated DOM API, performance improvements, bug fixes, and general cleanup.', + 'upgrade_now' => 'Upgrade to PHP 8.4 now!', + + 'property_hooks_title' => 'Property hooks', + 'property_hooks_description' => 'Property hooks provide support for computed properties that can natively be understood by IDEs and static analysis tools, without needing to write docblock comments that might go out of sync. Furthermore, they allow reliable pre- or post-processing of values, without needing to check whether a matching getter or setter exists in the class.', + 'asymmetric_visibility_title' => 'Asymmetric Visibility', + 'asymmetric_visibility_description' => 'The scope to write to a property may now be controlled independently from the scope to read the property, reducing the need for boilerplate getter methods to expose a property’s value without allowing modification from the outside of a class.', + 'deprecated_attribute_title' => '#[\Deprecated] Attribute', + 'deprecated_attribute_description' => 'The new #[\Deprecated] attribute makes PHP’s existing deprecation mechanism available to user-defined functions, methods, and class constants.', + 'dom_additions_html5_title' => 'New ext-dom features and HTML5 support', + 'dom_additions_html5_description' => '

    New DOM API that includes standards-compliant support for parsing HTML5 documents, fixes several long-standing compliance bugs in the behavior of the DOM functionality, and adds several functions to make working with documents more convenient.

    The new DOM API is available within the Dom namespace. Documents using the new DOM API can be created using the Dom\HTMLDocument and Dom\XMLDocument classes.

    ', + 'bcmath_title' => 'Object API for BCMath', + 'bcmath_description' => '

    New BcMath\Number object enables object-oriented usage and standard mathematical operators when working with arbitrary precision numbers.

    These objects are immutable and implement the Stringable interface, so they can be used in string contexts like echo $num.

    ', + 'new_array_find_title' => 'New array_*() functions', + 'new_array_find_description' => 'New functions array_find(), array_find_key(), array_any(), and array_all() are available.', + 'pdo_driver_specific_subclasses_title' => 'PDO driver specific subclasses', + 'pdo_driver_specific_subclasses_description' => 'New subclasses Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql, and Pdo\Sqlite of PDO are available.', + 'new_without_parentheses_title' => 'new MyClass()->method() without parentheses', + 'new_without_parentheses_description' => 'Properties and methods of a newly instantiated object can now be accessed without wrapping the new expression in parentheses.', + + 'new_classes_title' => 'New Classes, Interfaces, and Functions', + 'new_lazy_objects' => 'New Lazy Objects.', + 'new_jit_implementation' => 'New JIT implementation based on IR Framework.', + 'new_core_functions' => 'New request_parse_body() function.', + 'new_bcmath_functions' => 'New bcceil(), bcdivmod(), bcfloor(), and bcround() functions.', + 'new_round_modes' => 'New RoundingMode enum for round() with 4 new rounding modes TowardsZero, AwayFromZero, NegativeInfinity, and PositiveInfinity.', + 'new_date_functions' => 'New DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond(), and DateTimeImmutable::setMicrosecond() methods.', + 'new_mb_functions' => 'New mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), and mb_lcfirst() functions.', + 'new_pcntl_functions' => 'New pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), and pcntl_waitid() functions.', + 'new_reflection_functions' => 'New ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed(), and ReflectionProperty::isDynamic() methods.', + 'new_standard_functions' => 'New http_get_last_response_headers(), http_clear_last_response_headers(), and fpow() functions.', + 'new_xml_functions' => 'New XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri(), and XMLWriter::toMemory() methods.', + 'new_grapheme_function' => 'New grapheme_str_split() function.', + + 'bc_title' => 'Deprecations and backward compatibility breaks', + 'bc_pecl' => 'The IMAP, OCI8, PDO_OCI, and pspell extensions have been unbundled and moved to PECL.', + 'bc_nullable_parameter_types' => 'Implicitly nullable parameter types are now deprecated.', + 'bc_classname' => 'Using _ as a class name is now deprecated.', + 'bc_zero_raised_to_negative_number' => 'Raising zero to the power of a negative number is now deprecated.', + 'bc_gmp' => 'GMP class is now final.', + 'bc_round' => 'Passing invalid mode to round() throws ValueError.', + 'bc_typed_constants' => 'Class constants from extensions date, intl, pdo, reflection, spl, sqlite, xmlreader are typed now.', + 'bc_mysqli_constants' => 'MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE, and MYSQLI_TYPE_INTERVAL constants have been removed.', + 'bc_mysqli_functions' => 'mysqli_ping(), mysqli_kill(), mysqli_refresh() functions, mysqli::ping(), mysqli::kill(), mysqli::refresh() methods, and MYSQLI_REFRESH_* constants have been deprecated.', + 'bc_standard' => 'stream_bucket_make_writeable() and stream_bucket_new() now return an instance of StreamBucket instead of stdClass.', + 'bc_core' => 'exit() behavioral change.', + 'bc_warnings' => 'E_STRICT constant has been deprecated.', + 'bc_trigger_error' => 'Passing E_USER_ERROR to trigger_error() is now deprecated.', + + 'footer_title' => 'Better performance, better syntax, improved type safety.', + 'footer_description' => '

    For source downloads of PHP 8.4 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

    +

    The migration guide is available in the PHP Manual. Please consult it for a detailed list of new features and backward-incompatible changes.

    ', +]; diff --git a/public/releases/8.4/languages/es.php b/public/releases/8.4/languages/es.php new file mode 100644 index 0000000000..7dcaa8258b --- /dev/null +++ b/public/releases/8.4/languages/es.php @@ -0,0 +1,58 @@ + 'PHP 8.4 es una actualización importante del lenguaje PHP. Contiene muchas características nuevas, como hooks para propiedades, visibilidad asimétrica, una API DOM actualizada, mejoras de rendimiento, correcciones de errores y limpieza general.', + 'documentation' => 'Documentación', + 'main_title' => '¡Lanzado!', + 'main_subtitle' => 'PHP 8.4 es una actualización importante del lenguaje PHP.
    Contiene muchas características nuevas, como hooks para propiedades, visibilidad asimétrica, una API DOM actualizada, mejoras de rendimiento, correcciones de errores y limpieza general.', + 'upgrade_now' => '¡Actualiza a PHP 8.4 ahora!', + + 'property_hooks_title' => 'Hooks para Propiedades', + 'property_hooks_description' => 'Los hooks para propiedades proporcionan soporte para propiedades calculadas que pueden ser comprendidas nativamente por los IDE y las herramientas de análisis estático, sin necesidad de escribir comentarios docblock que podrían desincronizarse. Además, permiten un preprocesamiento o postprocesamiento fiable de los valores, sin necesidad de comprobar si existe un getter o setter coincidente en la clase.', + 'asymmetric_visibility_title' => 'Visibilidad asimétrica', + 'asymmetric_visibility_description' => 'El alcance para escribir en una propiedad ahora se puede controlar independientemente del alcance para leer la propiedad, lo que reduce la necesidad de métodos getter repetitivos para exponer el valor de una propiedad sin permitir modificaciones desde fuera de una clase.', + 'deprecated_attribute_title' => 'Atributo #[\Deprecated]', + 'deprecated_attribute_description' => 'El nuevo atributo #[\Deprecated] hace que el mecanismo de obsolescencia existente de PHP esté disponible para funciones, métodos y constantes de clase definidas por el usuario.', + 'dom_additions_html5_title' => 'Nuevas características de ext-dom y soporte para HTML5', + 'dom_additions_html5_description' => '

    Nueva API DOM que incluye soporte conforme a los estándares para el análisis de documentos HTML5, corrige varios errores de cumplimiento antiguos en el comportamiento de la funcionalidad DOM, y añade varias funciones para hacer más conveniente trabajar con documentos.

    La nueva API DOM está disponible dentro del espacio de nombres Dom. Los documentos que utilizan la nueva API DOM pueden ser creados utilizando las clases Dom\HTMLDocument y Dom\XMLDocument.', + 'bcmath_title' => 'API de objetos para BCMath', + 'bcmath_description' => '

    El nuevo objeto BcMath\Number permite el uso orientado a objetos y operadores matemáticos estándar cuando se trabaja con números de precisión arbitraria.

    Estos objetos son inmutables e implementan la interfaz Stringable, por lo que se pueden usar en contextos de cadena como echo $num.

    ', + 'new_array_find_title' => 'Nuevas funciones array_*()', + 'new_array_find_description' => 'Nuevas funciones disponibles: array_find(), array_find_key(), array_any() y array_all().', + 'pdo_driver_specific_subclasses_title' => 'Subclases específicas del driver PDO', + 'pdo_driver_specific_subclasses_description' => 'Las nuevas subclases Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql y Pdo\Sqlite de PDO ahora están disponibles.', + 'new_without_parentheses_title' => 'new MyClass()->method() sin paréntesis', + 'new_without_parentheses_description' => 'Las propiedades y métodos de un objeto recién instanciado ahora se pueden acceder sin envolver la expresión new entre paréntesis.', + + 'new_classes_title' => 'Nuevas Clases, Interfaces y Funciones', + 'new_lazy_objects' => 'Nuevos Objetos Lazy.', + 'new_jit_implementation' => 'Nueva implementación JIT basada en el marco IR.', + 'new_core_functions' => 'Nueva función request_parse_body().', + 'new_bcmath_functions' => 'Nuevas funciones: bcceil(), bcdivmod(), bcfloor() y bcround().', + 'new_round_modes' => 'Nuevo enum RoundingMode para round() con 4 nuevos modos de redondeo: TowardsZero, AwayFromZero, NegativeInfinity y PositiveInfinity.', + 'new_date_functions' => 'Nuevos métodos: DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond(), y DateTimeImmutable::setMicrosecond().', + 'new_mb_functions' => 'Nuevas funciones: mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), y mb_lcfirst().', + 'new_pcntl_functions' => 'Nuevas funciones: pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns() y pcntl_waitid().', + 'new_reflection_functions' => 'Nuevos métodos: ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed(), y ReflectionProperty::isDynamic().', + 'new_standard_functions' => 'Nuevas funciones: http_get_last_response_headers(), http_clear_last_response_headers() y fpow().', + 'new_xml_functions' => 'Nuevos métodos: XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri() y XMLWriter::toMemory().', + 'new_grapheme_function' => 'Nueva función grapheme_str_split().', + + 'bc_title' => 'Deprecaciones y cambios en compatibilidad retroactiva', + 'bc_pecl' => 'Las extensiones IMAP, OCI8, PDO_OCI y pspell han sido desagregadas y movidas a PECL.', + 'bc_nullable_parameter_types' => 'Los tipos de parámetros implícitamente nulos ahora están en desuso.', + 'bc_classname' => 'Usar _ como nombre de clase ahora está en desuso.', + 'bc_zero_raised_to_negative_number' => 'Elevar cero a la potencia de un número negativo ahora está en desuso.', + 'bc_gmp' => 'La clase GMP ahora es final.', + 'bc_round' => 'Pasar un modo inválido a round() lanza un ValueError.', + 'bc_typed_constants' => 'Las constantes de clase de las extensiones date, intl, pdo, reflection, spl, sqlite, xmlreader ahora tienen tipos.', + 'bc_mysqli_constants' => 'Los constantes MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE, y MYSQLI_TYPE_INTERVAL han sido eliminadas.', + 'bc_mysqli_functions' => 'Las funciones mysqli_ping(), mysqli_kill(), mysqli_refresh(), los métodos mysqli::ping(), mysqli::kill(), mysqli::refresh(), y los constantes MYSQLI_REFRESH_* están en desuso.', + 'bc_standard' => 'stream_bucket_make_writeable() y stream_bucket_new() ahora devuelven una instancia de StreamBucket en lugar de stdClass.', + 'bc_core' => 'Cambio en el comportamiento de exit().', + 'bc_warnings' => 'El constante E_STRICT está en desuso.', + + 'footer_title' => 'Mejor rendimiento, mejor sintaxis, mejor seguridad de tipos.', + 'footer_description' => '

    Para descargar el código fuente de PHP 8.4, por favor visita la página de descargas. Los binarios para Windows se encuentran en el sitio PHP para Windows. La lista de cambios está registrada en el ChangeLog.

    +

    La guía de migración está disponible en el Manual de PHP. Por favor, consúltala para una lista detallada de nuevas características y cambios incompatibles con versiones anteriores.

    ', +]; diff --git a/public/releases/8.4/languages/fr.php b/public/releases/8.4/languages/fr.php new file mode 100644 index 0000000000..fc6c3f238a --- /dev/null +++ b/public/releases/8.4/languages/fr.php @@ -0,0 +1,57 @@ + 'PHP 8.4 est une mise à jour majeure du langage PHP. Elle inclut de nombreuses nouvelles fonctionnalités, telles que les hooks de propriétés, la visibilité asymétrique, une API DOM mise à jour, des améliorations de performances, des corrections de bugs et un nettoyage général.', + 'documentation' => 'Doc', + 'main_title' => 'Released!', + 'main_subtitle' => 'PHP 8.4 est une mise à jour majeure du langage PHP.
    Elle introduit de nombreuses nouvelles fonctionnalités, telles que les hooks de propriétés, la visibilité asymétrique, une API DOM mise à jour, des améliorations de performances, des corrections de bugs et un nettoyage général.', + 'upgrade_now' => 'Migrer vers PHP 8.4 maintenant!', + + 'property_hooks_title' => 'Hooks de propriété', + 'property_hooks_description' => 'Les hooks de propriété offrent un support pour les propriétés calculées, compréhensibles nativement par les IDE et les outils d\'analyse statique, sans avoir besoin d\'écrire des commentaires docblock susceptibles de devenir obsolètes. De plus, ils permettent un pré- ou post-traitement fiable des valeurs, sans avoir à vérifier l\'existence d\'un getter ou d\'un setter correspondant dans la classe.', + 'asymmetric_visibility_title' => 'Visibilité asymétrique', + 'asymmetric_visibility_description' => 'La portée d\'écriture d\'une propriété peut désormais être contrôlée indépendamment de sa portée de lecture, réduisant ainsi le besoin de méthodes getter redondantes pour exposer la valeur d\'une propriété sans permettre sa modification depuis l\'extérieur d\'une classe.', + 'deprecated_attribute_title' => 'L\'attribut #[\Deprecated]', + 'deprecated_attribute_description' => 'Le nouvel attribut #[\Deprecated] rend le mécanisme d\'obsolescence existant de PHP disponible pour les fonctions, méthodes et constantes de classe définies par l\'utilisateur.', + 'dom_additions_html5_title' => 'Nouvelles fonctionnalités de l\'extension ext-dom et prise en charge de HTML5.', + 'dom_additions_html5_description' => '

    Nouvelle API DOM offrant une prise en charge conforme aux standards pour l\'analyse des documents HTML5, corrigeant plusieurs bogues de conformité de longue date dans le comportement des fonctionnalités DOM et ajoutant plusieurs fonctions pour faciliter la manipulation des documents.

    La nouvelle API DOM est disponible dans l\'espace de noms Dom. Les documents utilisant cette API peuvent être créés à l\'aide des classes Dom\HTMLDocument et Dom\XMLDocument.

    ', + 'bcmath_title' => 'API objet pour BCMath', + 'bcmath_description' => '

    BCMath vous permet de travailler avec des nombres flottants de précision arbitraire en PHP. Avec cette version, vous pouvez bénéficier du style orienté objet et de la surcharge des opérateurs pour utiliser les nombres BCMath.

    Cela signifie que vous pouvez désormais utiliser les opérateurs standard avec les objets BcMath\Number, ainsi que toutes les fonctions bc*.

    Ces objets sont immuables et implémentent l\'interface Stringable, afin d\'être utilisés dans des chaînes de caractères tels que echo $num.

    ', + 'new_array_find_title' => 'Nouvelles fonctions array_*()', + 'new_array_find_description' => 'Les nouvelles fonctions array_find(), array_find_key(), array_any() et array_all() sont désormais disponibles.', + 'pdo_driver_specific_subclasses_title' => 'Parseurs SQL spécifiques au pilote PDO', + 'pdo_driver_specific_subclasses_description' => 'De nouvelles sous-classes Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql et Pdo\Sqlite de PDO sont désormais disponibles.', + 'new_without_parentheses_title' => 'new MyClass()->method() sans parenthèses.', + 'new_without_parentheses_description' => 'Les propriétés et méthodes d\'un objet nouvellement instancié peuvent désormais être accessibles sans entourer l\'expression new entre parenthèses.', + + 'new_classes_title' => 'Nouvelles classes, interfaces et fonctions', + 'new_lazy_objects' => 'Nouveaux objets à initialisation différée.', + 'new_jit_implementation' => 'Nouvelle implémentation JIT basée sur le framework IR.', + 'new_core_functions' => 'Nouvelle fonction request_parse_body().', + 'new_bcmath_functions' => 'Nouvelles fonctions bcceil(), bcdivmod(), bcfloor(), et bcround().', + 'new_round_modes' => 'Nouvelle énumération RoundingMode pour round() avec 4 nouveaux modes d\'arrondi TowardsZero, AwayFromZero, NegativeInfinity, et PositiveInfinity.', + 'new_date_functions' => 'Nouvelle méthodes DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond(), et DateTimeImmutable::setMicrosecond().', + 'new_mb_functions' => 'Nouvelles fonctions mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), et mb_lcfirst().', + 'new_pcntl_functions' => 'Nouvelles fonctions pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), et pcntl_waitid().', + 'new_reflection_functions' => 'Nouvelles méthodes ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed(), et ReflectionProperty::isDynamic().', + 'new_standard_functions' => 'Nouvelles fonctions http_get_last_response_headers(), http_clear_last_response_headers(), et fpow().', + 'new_xml_functions' => 'Nouvelles méthodes XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri(), et XMLWriter::toMemory().', + 'new_grapheme_function' => 'Nouvelle fonction grapheme_str_split().', + + 'bc_title' => 'Obsolescence et changements non rétrocompatibles', + 'bc_pecl' => 'Les extensions IMAP, OCI8, PDO_OCI, et pspell ont été dissociées et transférées à PECL.', + 'bc_nullable_parameter_types' => 'Les types de paramètres implicitement nullables sont désormais obsolètes.', + 'bc_classname' => 'L\'utilisation de _ comme nom de classe est désormais obsolète.', + 'bc_zero_raised_to_negative_number' => 'L\'élévation de zéro à la puissance d\'un nombre négatif est désormais obsolète.', + 'bc_gmp' => 'La classe GMP est désormais final.', + 'bc_round' => 'Le passage d\'un mode invalide à round() déclenche une ValueError.', + 'bc_typed_constants' => 'Les constantes de classe des extensions date, intl, pdo, reflection, spl, sqlite, xmlreader sont désormais typées.', + 'bc_mysqli_constants' => 'Les constantes MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE, et MYSQLI_TYPE_INTERVAL ont été supprimées.', + 'bc_mysqli_functions' => 'Les fonctions mysqli_ping(), mysqli_kill(), mysqli_refresh(), méthodes mysqli::ping(), mysqli::kill(), mysqli::refresh(), et constantes MYSQLI_REFRESH_* sont désormais obsolètes.', + 'bc_standard' => 'stream_bucket_make_writeable() et stream_bucket_new() renvoient désormais une instance de StreamBucket au lieu de stdClass.', + 'bc_core' => 'Changement de comportement de la fonction exit().', + 'bc_warnings' => 'La constante E_STRICT est désormais obsolète.', + + 'footer_title' => 'Meilleures performances, meilleure syntaxe, sécurité des types améliorée.', + 'footer_description' => '

    Pour télécharger les sources de PHP 8.4, veuillez visiter la page des téléchargements. Les binaires pour Windows sont disponibles sur le site PHP for Windows. La liste des changements est enregistrée dans le ChangeLog.

    Le guide de migration est disponible dans le manuel PHP. Veuillez le consulter pour une liste détaillée des nouvelles fonctionnalités et des changements non compatibles avec les versions précédentes.

    ', +]; diff --git a/public/releases/8.4/languages/ja.php b/public/releases/8.4/languages/ja.php new file mode 100644 index 0000000000..50f745f88d --- /dev/null +++ b/public/releases/8.4/languages/ja.php @@ -0,0 +1,58 @@ + 'PHP 8.4 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚ プロパティフックã€éžå¯¾ç§°å¯è¦–性ã€DOM API ã®ã‚¢ãƒƒãƒ—デートãªã©ã®æ–°æ©Ÿèƒ½ã‚„ã€ãƒ‘フォーマンス改善ã€ãƒã‚°ä¿®æ­£ã‚„コードã®ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚', + 'documentation' => 'ドキュメント', + 'main_title' => 'リリースï¼', + 'main_subtitle' => 'PHP 8.4 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚
    プロパティフックã€éžå¯¾ç§°å¯è¦–æ€§ã€æ–°ã—ã„ DOM API ãªã©ã®æ–°æ©Ÿèƒ½ã‚„ã€ãƒ‘フォーマンス改善ã€ãƒã‚°ä¿®æ­£ã‚„コードã®ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚', + 'upgrade_now' => 'PHP 8.4 ã«ã‚¢ãƒƒãƒ—デートã—ã¾ã—ょã†ï¼', + + 'property_hooks_title' => 'プロパティフック', + 'property_hooks_description' => 'プロパティフックã¯ç®—å‡ºãƒ—ãƒ­ãƒ‘ãƒ†ã‚£ã®æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚実態ã¨ãšã‚Œã‚„ã™ã„ docblock コメントを書ã‹ãšã¨ã‚‚ã€IDEã‚„é™çš„è§£æžãƒ„ールãŒãƒã‚¤ãƒ†ã‚£ãƒ–ã«ç†è§£ã—ã¦ãれã¾ã™ã€‚ã•らã«ã€å¯¾å¿œã™ã‚‹ã‚²ãƒƒã‚¿ãƒ¼ã‚„セッターãŒãã®ã‚¯ãƒ©ã‚¹ã«å­˜åœ¨ã™ã‚‹ã‹ç¢ºèªã™ã‚‹ã“ã¨ãªãã€ç¢ºå®Ÿã«å€¤ã®å‰å‡¦ç†ãƒ»å¾Œå‡¦ç†ã‚’行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚', + 'asymmetric_visibility_title' => 'éžå¯¾ç§°å¯è¦–性', + 'asymmetric_visibility_description' => 'プロパティã¸ã®æ›¸ãè¾¼ã¿ã®ã‚¹ã‚³ãƒ¼ãƒ—ãŒã€èª­ã¿è¾¼ã¿ã®ã‚¹ã‚³ãƒ¼ãƒ—ã¨ç‹¬ç«‹ã—ã¦åˆ¶å¾¡ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“れã«ã‚ˆã£ã¦ã€ã‚¯ãƒ©ã‚¹å¤–ã‹ã‚‰ã®ãƒ—ロパティã®å¤‰æ›´ã‚’防ãŽå€¤ã®å–å¾—ã®ã¿ã‚’行ãˆã‚‹ã‚²ãƒƒã‚¿ãƒ¼ãƒ¡ã‚½ãƒƒãƒ‰ã®ãƒœã‚¤ãƒ©ãƒ¼ãƒ—レートを書ãå¿…è¦ãŒãªããªã‚Šã¾ã™ã€‚', + 'deprecated_attribute_title' => '#[\Deprecated] アトリビュート', + 'deprecated_attribute_description' => 'æ–°ã—ã„ #[\Deprecated] アトリビュートを使ã†ã¨ã€PHP ã®æ—¢å­˜ã®éžæŽ¨å¥¨æ©Ÿæ§‹ã‚’ユーザー定義ã®é–¢æ•°ã€ãƒ¡ã‚½ãƒƒãƒ‰ã€ã‚¯ãƒ©ã‚¹å®šæ•°ã§åˆ©ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + 'dom_additions_html5_title' => 'DOM æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ–°æ©Ÿèƒ½ã¨ HTML5 サãƒãƒ¼ãƒˆ', + 'dom_additions_html5_description' => '

    æ–°ã—ã„ DOM API ã§ã¯ã€æ¨™æº–ã«æ²¿ã£ãŸ HTML5 ドキュメントã®ãƒ‘ース機能ãŒè¿½åŠ ã•れã€å¤ãã‹ã‚‰ã‚ã‚‹æ¨™æº–ã«æº–æ‹ ã—ãªã„複数㮠DOM æ©Ÿèƒ½ã®æŒ¯ã‚‹èˆžã„ã«é–¢ã™ã‚‹ä¸å…·åˆãŒä¿®æ­£ã•れã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æ“作ãŒã‚ˆã‚Šä¾¿åˆ©ã«ãªã‚‹ã„ãã¤ã‹ã®é–¢æ•°ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚

    æ–°ã—ã„ DOM API 㯠Dom åå‰ç©ºé–“ã§åˆ©ç”¨ã§ãã¾ã™ã€‚æ–°ã—ã„ DOM API を利用ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯ Dom\HTMLDocument 㨠Dom\XMLDocument クラスを利用ã—ã¦ä½œæˆã§ãã¾ã™ã€‚

    ', + 'bcmath_title' => 'BCMath ã®ã‚ªãƒ–ジェクト API', + 'bcmath_description' => '

    æ–°ã—ã„ BcMath\Number オブジェクトを使ã†ã¨ã€ä»»æ„精度数値をオブジェクト指å‘ã§åˆ©ç”¨ã—ãŸã‚Šã€é€šå¸¸ã®ç®—術演算å­ã§è¨ˆç®—ã—ãŸã‚Šã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

    ã“ã®ã‚ªãƒ–ジェクトã¯ã‚¤ãƒŸãƒ¥ãƒ¼ã‚¿ãƒ–ルã§ã€ Stringable インターフェースを実装ã—ã¦ã„ã‚‹ã®ã§ echo $num ã®ã‚ˆã†ã«æ–‡å­—åˆ—ã®æ–‡è„ˆã§åˆ©ç”¨å¯èƒ½ã§ã™ã€‚

    ', + 'new_array_find_title' => 'æ–°ã—ã„ array_*() 関数', + 'new_array_find_description' => 'æ–°ã—ã„関数 array_find()ã€array_find_key()ã€array_any()ã€array_all() ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'pdo_driver_specific_subclasses_title' => 'PDO ドライãƒãƒ¼å›ºæœ‰ã®ã‚µãƒ–クラス', + 'pdo_driver_specific_subclasses_description' => 'æ–°ã—ã„ PDO ã®ã‚µãƒ–クラス Pdo\Dblibã€Pdo\Firebirdã€Pdo\MySqlã€Pdo\Odbcã€Pdo\Pgsqlã€Pdo\Sqlite ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_without_parentheses_title' => '括弧ãªã—ã® new MyClass()->method()', + 'new_without_parentheses_description' => 'æ–°ã—ãインスタンス化ã•れãŸã‚ªãƒ–ジェクトã®ãƒ—ロパティã¨ãƒ¡ã‚½ãƒƒãƒ‰ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒã€new å¼ã‚’括弧ã§å›²ã‚€ã“ã¨ãªãã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + + 'new_classes_title' => 'æ–°ã—ã„クラスã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã€é–¢æ•°', + 'new_lazy_objects' => 'レイジーオブジェクト', + 'new_jit_implementation' => 'IR ãƒ•ãƒ¬ãƒ¼ãƒ ãƒ¯ãƒ¼ã‚¯ãƒ™ãƒ¼ã‚¹ã®æ–°ã—ã„ JIT 実装', + 'new_core_functions' => 'request_parse_body() 関数', + 'new_bcmath_functions' => 'bcceil()ã€bcdivmod()ã€bcfloor()ã€bcround() 関数', + 'new_round_modes' => 'round() é–¢æ•°ã®æ–°ã—ã„4ã¤ã®ä¸¸ã‚モード TowardsZeroã€AwayFromZeroã€NegativeInfinityã€PositiveInfinity ã®ãŸã‚ã® RoundingMode 列挙型', + 'new_date_functions' => 'DateTime::createFromTimestamp()ã€DateTime::getMicrosecond()ã€DateTime::setMicrosecond()ã€DateTimeImmutable::createFromTimestamp()ã€DateTimeImmutable::getMicrosecond()ã€DateTimeImmutable::setMicrosecond() メソッド', + 'new_mb_functions' => 'mb_trim()ã€mb_ltrim()ã€mb_rtrim()ã€mb_ucfirst()ã€mb_lcfirst() 関数', + 'new_pcntl_functions' => 'pcntl_getcpu()ã€pcntl_getcpuaffinity()ã€pcntl_getqos_class()ã€pcntl_setns()ã€pcntl_waitid() 関数', + 'new_reflection_functions' => 'ReflectionClassConstant::isDeprecated()ã€ReflectionGenerator::isClosed()ã€ReflectionProperty::isDynamic() メソッド', + 'new_standard_functions' => 'http_get_last_response_headers()ã€http_clear_last_response_headers()ã€fpow() 関数', + 'new_xml_functions' => 'XMLReader::fromStream()ã€XMLReader::fromUri()ã€XMLReader::fromString()ã€XMLWriter::toStream()ã€XMLWriter::toUri()ã€XMLWriter::toMemory() メソッド', + 'new_grapheme_function' => 'grapheme_str_split() 関数', + + 'bc_title' => 'éžæŽ¨å¥¨ã€ãŠã‚ˆã³äº’æ›æ€§ã®ãªã„変更', + 'bc_pecl' => 'IMAPã€OCI8ã€PDO_OCIã€pspell 拡張モジュール㌠PHP 本体ã‹ã‚‰å‰Šé™¤ã•れã€PECL ã«ç§»å‹•ã•れã¾ã—ãŸã€‚', + 'bc_nullable_parameter_types' => '暗黙㮠nullable 型パラメータãŒéžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_classname' => 'クラスåã¨ã—㦠_ を使ã†ã“ã¨ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_zero_raised_to_negative_number' => 'ゼロã®è² ã®æ•°ã®ã¹ãä¹—ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_gmp' => 'GMP クラス㯠final ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_round' => 'round() ã«ç„¡åйãªãƒ¢ãƒ¼ãƒ‰ã‚’渡ã™ã¨ ValueError ãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚', + 'bc_typed_constants' => 'dateã€intlã€pdoã€reflectionã€splã€sqliteã€xmlreader 拡張モジュールã®ã‚¯ãƒ©ã‚¹å®šæ•°ã«åž‹å®£è¨€ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'bc_mysqli_constants' => '定数 MYSQLI_SET_CHARSET_DIRã€MYSQLI_STMT_ATTR_PREFETCH_ROWSã€MYSQLI_CURSOR_TYPE_FOR_UPDATEã€MYSQLI_CURSOR_TYPE_SCROLLABLEã€MYSQLI_TYPE_INTERVAL ãŒå‰Šé™¤ã•れã¾ã—ãŸã€‚', + 'bc_mysqli_functions' => 'mysqli_ping()ã€mysqli_kill()ã€mysqli_refresh() 関数ã€mysqli::ping()ã€mysqli::kill()ã€mysqli::refresh() メソッドã€MYSQLI_REFRESH_* 定数ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_standard' => 'stream_bucket_make_writeable() 㨠stream_bucket_new() ã®æˆ»ã‚Šå€¤ã¯ stdClass ã§ã¯ãªã StreamBucket ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_core' => 'exit() ã®æŒ™å‹•ãŒå¤‰æ›´ã•れã¾ã—ãŸã€‚', + 'bc_warnings' => 'E_STRICT 定数ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + + 'footer_title' => 'ã•らãªã‚‹æ€§èƒ½å‘上ã€ã‚ˆã‚Šã‚ˆã„æ§‹æ–‡ã€ã™ãれãŸåž‹å®‰å…¨æ€§ã€‚', + 'footer_description' => '

    PHP 8.4 ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯ã“ã¡ã‚‰ã‹ã‚‰ã€‚Windows ãƒã‚¤ãƒŠãƒªã¯ PHP for Windows ページã«ã‚りã¾ã™ã€‚変更ã®ä¸€è¦§ã¯ ChangeLog ã«ã‚りã¾ã™ã€‚

    +

    移行ガイド㌠PHP マニュアルã«ç”¨æ„ã•れã¦ã„ã¾ã™ã€‚æ–°æ©Ÿèƒ½ã‚„äº’æ›æ€§ã®ãªã„変更ã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€ç§»è¡Œã‚¬ã‚¤ãƒ‰ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    ', +]; diff --git a/public/releases/8.4/languages/nl.php b/public/releases/8.4/languages/nl.php new file mode 100644 index 0000000000..f2e488dced --- /dev/null +++ b/public/releases/8.4/languages/nl.php @@ -0,0 +1,57 @@ + 'PHP 8.4 is een omvangrijke update van de PHP programmeertaal. Het bevat veel nieuwe functionaliteit, zoals property hooks, asymmetrische zichtbaarheid, een bijgewerkte DOM API, prestatieverbeteringen, bugfixes en meer consistentie.', + 'documentation' => 'Documentatie', + 'main_title' => 'Beschikbaar!', + 'main_subtitle' => 'PHP 8.4 is een omvangrijke update van de PHP programmeertaal.
    Het bevat veel nieuwe functionaliteit, zoals property hooks, asymmetrische zichtbaarheid, een bijgewerkte DOM API, prestatieverbeteringen, bugfixes en meer consistentie.', + 'upgrade_now' => 'Upgrade nu naar PHP 8.4!', + + 'property_hooks_title' => 'Property hooks', + 'property_hooks_description' => 'Property hooks geven ondersteuning voor berekende eigenschappen. Deze worden rechtstreeks ondersteund door IDEs en statische analyseprogramma’s, zonder dat documentatie blokken nodig zijn. Bovendien laten ze toe om waarden voor- of achteraf te verwerken zonder gebruik te maken van een getter of setter in de klasse.', + 'asymmetric_visibility_title' => 'Asymmetrische zichtbaarheid', + 'asymmetric_visibility_description' => 'De scope voor het schrijven naar een eigenschap kan nu onafhankelijk gecontroleerd worden ten opzichte van de scope om de eigenschap te lezen. Dit reduceert de nood voor repetitieve getter en setter methoden om de eigenschap bloot te stellen zonder aanpassing toe te laten buiten de klasse.', + 'deprecated_attribute_title' => '#[\Deprecated] attribuut', + 'deprecated_attribute_description' => 'Het nieuwe #[\Deprecated] attribuut maakt PHP’s bestaand uitfaseringsmechanisme beschikbaar voor gebruiker gedefinieerde functies, methoden en klasseconstanten.', + 'dom_additions_html5_title' => 'Nieuwe ext-dom functies en HTML5 ondersteuning', + 'dom_additions_html5_description' => '

    Nieuwe DOM API met correcte ondersteuning voor de HTML 5 standaard, oplossingen voor verschillende lang bestaande compliance bugs in the DOM functionaliteit, en verschillende nieuwe functies om het werken met documenten eenvoudiger te maken.

    De nieuwe DOM API is beschikbaar via de Dom namespace. Documenten die de nieuwe API willen gebruiken, kunnen aangemaakt worden via de Dom\HTMLDocument en Dom\XMLDocument klassen.

    ', + 'bcmath_title' => 'Object API voor BCMath', + 'bcmath_description' => '

    De nieuwe BcMath\Number klasse laat toe om op object-georiënteerde wijze, met standaard wiskundige operaties, te werken met arbitraire precisie getallen.

    Deze objecten zijn niet muteerbaar en implementeren de Stringable interface, waardoor ze gebruikt kunnen worden in string contexten zoals echo $num.

    ', + 'new_array_find_title' => 'Nieuwe array_*() functies', + 'new_array_find_description' => 'Nieuwe functies array_find(), array_find_key(), array_any(), en array_all() zijn nu beschikbaar.', + 'pdo_driver_specific_subclasses_title' => 'PDO driver specifieke SQL parsers', + 'pdo_driver_specific_subclasses_description' => 'Nieuwe subklassen Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql, Pdo\Sqlite van PDO zijn nu beschikbaar.', + 'new_without_parentheses_title' => 'new MyClass()->method() zonder haakjes', + 'new_without_parentheses_description' => 'Eigenschappen en methoden van een nieuw geïnstantieerd object kunnen nu opgevraagd worden zonder de new expressie tussen haakjes te zetten.', + + 'new_classes_title' => 'Nieuwe klassen, interfaces en functies', + 'new_jit_implementation' => 'Nieuwe JIT implementation gebaseerd op IR Framework.', + 'new_core_functions' => 'Nieuwe request_parse_body() functie.', + 'new_bcmath_functions' => 'Nieuwe bcceil(), bcdivmod(), bcfloor(), en bcround() functies.', + 'new_round_modes' => 'Nieuwe RoundingMode enum voor round() met 4 nieuwe afrondingsmodi TowardsZero, AwayFromZero, NegativeInfinity, en PositiveInfinity.', + 'new_date_functions' => 'Nieuwe DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond(), en DateTimeImmutable::setMicrosecond() methoden.', + 'new_mb_functions' => 'Nieuwe mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), en mb_lcfirst() functies.', + 'new_pcntl_functions' => 'Nieuwe pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), en pcntl_waitid() functies.', + 'new_reflection_functions' => 'Nieuwe ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed(), en ReflectionProperty::isDynamic() methoden.', + 'new_standard_functions' => 'Nieuwe http_get_last_response_headers(), http_clear_last_response_headers(), en fpow() functies.', + 'new_xml_functions' => 'Nieuwe XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri(), en XMLWriter::toMemory() methoden.', + 'new_grapheme_function' => 'Nieuwe grapheme_str_split() functie.', + + 'bc_title' => 'Uitfaseringen en neerwaarts incompatibele aanpassingen', + 'bc_pecl' => 'De IMAP, OCI8, PDO_OCI en pspell-extensies zijn ontbundeld en verplaatst naar PECL.', + 'bc_nullable_parameter_types' => 'Impliciet parameters als null definiëren is nu uitgefaseerd.', + 'bc_classname' => 'Gebruik van _ als een klassenaam is nu uitgefaseerd.', + 'bc_zero_raised_to_negative_number' => 'Nul verheffen tot een negatieve macht is nu uitgefaseerd.', + 'bc_gmp' => 'GMP klasse is nu final.', + 'bc_round' => 'Ongeldige modus doorgeven aan round() resulteert in een ValueError.', + 'bc_typed_constants' => 'Klasseconstanten van extensies date, intl, pdo, reflection, spl, sqlite, xmlreader hebben nu types.', + 'bc_mysqli_constants' => 'MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE, en MYSQLI_TYPE_INTERVAL constanten zijn verwijderd.', + 'bc_mysqli_functions' => 'mysqli_ping(), mysqli_kill(), mysqli_refresh() functies, mysqli::ping(), mysqli::kill(), mysqli::refresh() methoden, en MYSQLI_REFRESH_* constanten zijn uitgefaseerd.', + 'bc_standard' => 'stream_bucket_make_writeable() en stream_bucket_new() geven nu een instantie van StreamBucket terug in plaats van stdClass.', + 'bc_core' => 'exit() heeft ander gedrag.', + 'bc_warnings' => 'E_STRICT constante is uitgefaseerd.', + + 'footer_title' => 'Betere prestaties, betere syntaxis, verbeterd type systeem.', + 'footer_description' => '

    Ga naar de downloads pagina om de PHP 8.4 code te verkrijgen. Uitvoerbare bestanden voor Windows kan je vinden op de PHP voor Windows website. De volledige lijst met wijzigingen is vastgelegd in een ChangeLog.

    +

    De migratie gids is beschikbaar in de PHP Handleiding. Gebruik deze om een gedetailleerde lijst te krijgen van nieuwe opties en neerwaarts incompatibele aanpassingen.

    ', +]; diff --git a/public/releases/8.4/languages/pt_BR.php b/public/releases/8.4/languages/pt_BR.php new file mode 100644 index 0000000000..42f3453f74 --- /dev/null +++ b/public/releases/8.4/languages/pt_BR.php @@ -0,0 +1,58 @@ + 'PHP 8.4 é uma atualização importante da linguagem PHP. Ela contém muitos novos recursos, como hooks de propriedade, visibilidade assimétrica, uma API DOM atualizada, melhorias de desempenho, correções de bugs e uma limpeza geral.', + 'documentation' => 'Doc', + 'main_title' => 'Lançado!', + 'main_subtitle' => 'PHP 8.4 é uma atualização importante da linguagem PHP.
    Ela contém muitos novos recursos, como hooks de propriedade, visibilidade assimétrica, uma API DOM atualizada, melhorias de desempenho, correções de bugs e uma limpeza geral.', + 'upgrade_now' => 'Atualize para PHP 8.4 agora!', + + 'property_hooks_title' => 'Hooks de Propriedade', + 'property_hooks_description' => 'Hooks de Propriedade oferecem suporte para propriedades computadas que podem ser interpretadas nativamente por IDEs e ferramentas de análise estática, sem a necessidade de escrever comentários em docblocks que podem ficar desatualizados. Além disso, eles permitem o pré-processamento ou pós-processamento confiável de valores, sem precisar verificar se um getter ou setter correspondente existe na classe.', + 'asymmetric_visibility_title' => 'Visibilidade Assimétrica', + 'asymmetric_visibility_description' => 'O escopo para escrita em uma propriedade agora pode ser controlado independentemente do escopo para leitura da propriedade, reduzindo a necessidade de métodos getter redundantes para expor o valor de uma propriedade sem permitir sua modificação fora da classe.', + 'deprecated_attribute_title' => '#[\Deprecated] Atributo', + 'deprecated_attribute_description' => 'O novo atributo #[\Deprecated] torna o mecanismo de descontinuação existente no PHP disponível para funções, métodos e constantes de classe definidas pelo usuário.', + 'dom_additions_html5_title' => 'Novos recursos ext-dom e suporte a HTML5', + 'dom_additions_html5_description' => 'Novas classes Dom\HTMLDocument, Dom\XMLDocument e métodos DOMNode::compareDocumentPosition(), DOMXPath::registerPhpFunctionNS(), DOMXPath::quote(), XSLTProcessor::registerPHPFunctionNS() estão disponíveis.', + 'bcmath_title' => 'API de Objetos para BCMath', + 'bcmath_description' => '

    O novo objeto BcMath\Number permite o uso orientado a objetos e operadores matemáticos padrão ao trabalhar com números de precisão arbitrária.

    Esses objetos são imutáveis e implementam a interface Stringable, então podem ser usados em contextos de string como echo $num.

    ', + 'new_array_find_title' => 'Novas funções array_*()', + 'new_array_find_description' => 'Novas funções array_find(), array_find_key(), array_any() e array_all() estão disponíveis.', + 'pdo_driver_specific_subclasses_title' => 'Parsers SQL específicos para drivers PDO', + 'pdo_driver_specific_subclasses_description' => 'Novas subclasses Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql, Pdo\Sqlite de PDO estão disponíveis.', + 'new_without_parentheses_title' => 'new MyClass()->method() sem parênteses', + 'new_without_parentheses_description' => 'Propriedades e métodos de um objeto recém-instanciado agora podem ser acessados sem a necessidade de envolver a expressão new entre parênteses.', + + 'new_classes_title' => 'Novas classes, interfaces e funções', + 'new_lazy_objects' => 'Novos Objetos de Inicialização Lenta.', + 'new_jit_implementation' => 'Nova implementação JIT baseada no Framework IR.', + 'new_core_functions' => 'Nova função request_parse_body().', + 'new_bcmath_functions' => 'Novas funções bcceil(), bcdivmod(), bcfloor() e bcround().', + 'new_round_modes' => 'Novo Enum RoundingMode para round() com 4 novos modos de arredondamento: TowardsZero, AwayFromZero, NegativeInfinity e PositiveInfinity.', + 'new_date_functions' => 'Novos métodos DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond() e DateTimeImmutable::setMicrosecond().', + 'new_mb_functions' => 'Novas funções mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst() e mb_lcfirst().', + 'new_pcntl_functions' => 'Novas funções pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns() e pcntl_waitid().', + 'new_reflection_functions' => 'Novos métodos ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed() e ReflectionProperty::isDynamic().', + 'new_standard_functions' => 'Novas funções http_get_last_response_headers(), http_clear_last_response_headers() e fpow().', + 'new_xml_functions' => 'Novos métodos XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri() e XMLWriter::toMemory().', + 'new_grapheme_function' => 'Nova função grapheme_str_split().', + + 'bc_title' => 'Alterações obsoletas e incompatibilidades com versões anteriores', + 'bc_pecl' => 'As extensões IMAP, OCI8, PDO_OCI e pspell foram separadas e movidas para o PECL.', + 'bc_nullable_parameter_types' => 'Tipos de parâmetros implicitamente anuláveis agora estão obsoletos.', + 'bc_classname' => 'O uso de _ no nome da classe agora está obsoleto.', + 'bc_zero_raised_to_negative_number' => 'Elevar zero a um número negativo agora está obsoleto.', + 'bc_gmp' => 'A classe GMP agora é final.', + 'bc_round' => 'Passar um modo inválido para round() agora lança um ValueError.', + 'bc_typed_constants' => 'As constantes de classe das extensões date, intl, pdo, reflection, spl, sqlite, xmlreader agora são tipadas.', + 'bc_mysqli_constants' => 'As constantes MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE e MYSQLI_TYPE_INTERVAL foram removidas.', + 'bc_mysqli_functions' => 'As funções mysqli_ping(), mysqli_kill(), mysqli_refresh(), os métodos mysqli::ping(), mysqli::kill(), mysqli::refresh() e as constantes MYSQLI_REFRESH_* estão obsoletas.', + 'bc_standard' => 'stream_bucket_make_writeable() e stream_bucket_new() agora retornam uma instância de StreamBucket em vez de stdClass.', + 'bc_core' => 'Alteração de comportamento no uso de exit().', + 'bc_warnings' => 'A constante E_STRICT está obsoleta.', + + 'footer_title' => 'Melhor desempenho, sintaxe aprimorada e maior segurança de tipos.', + 'footer_description' => '

    Para baixar o código-fonte do PHP 8.4, visite a página de downloads. Os binários para Windows podem ser encontrados no site PHP for Windows. A lista de alterações está registrada no ChangeLog.

    +

    O guia de migração está disponível no Manual do PHP. Consulte-o para uma lista detalhada de novos recursos e mudanças incompatíveis com versões anteriores.

    ', +]; diff --git a/public/releases/8.4/languages/ru.php b/public/releases/8.4/languages/ru.php new file mode 100644 index 0000000000..921501ccc7 --- /dev/null +++ b/public/releases/8.4/languages/ru.php @@ -0,0 +1,58 @@ + 'PHP 8.4 — большое обновление Ñзыка PHP. Оно Ñодержит множеÑтво новых возможноÑтей, таких как хуки ÑвойÑтв, аÑÐ¸Ð¼Ð¼ÐµÑ‚Ñ€Ð¸Ñ‡Ð½Ð°Ñ Ð¾Ð±Ð»Ð°Ñть видимоÑти ÑвойÑтв, обновление DOM API, улучшена производительноÑть, иÑправлены ошибки и многое другое.', + 'documentation' => 'ДокументациÑ', + 'main_title' => 'выпущен!', + 'main_subtitle' => 'PHP 8.4 — большое обновление Ñзыка PHP.
    Оно Ñодержит множеÑтво новых возможноÑтей, таких как хуки ÑвойÑтв, аÑÐ¸Ð¼Ð¼ÐµÑ‚Ñ€Ð¸Ñ‡Ð½Ð°Ñ Ð¾Ð±Ð»Ð°Ñть видимоÑти ÑвойÑтв, обновление DOM API, улучшена производительноÑть, иÑправлены ошибки и многое другое.', + 'upgrade_now' => 'Переходите на PHP 8.4!', + + 'property_hooks_title' => 'Хуки ÑвойÑтв', + 'property_hooks_description' => 'Хуки ÑвойÑтв обеÑпечивают поддержку вычиÑлÑемых ÑвойÑтв, которые могут быть понÑтны IDE и инÑтрументам ÑтатичеÑкого анализа, без необходимоÑти пиÑать DocBlock-комментарии, которые могут не Ñовпадать. Кроме того, они позволÑÑŽÑ‚ выполнÑть надёжную предварительную или поÑледующую обработку значений, без необходимоÑти проверÑть, ÑущеÑтвует ли в клаÑÑе ÑоответÑтвующий геттер или Ñеттер.', + 'asymmetric_visibility_title' => 'ÐÑÐ¸Ð¼Ð¼ÐµÑ‚Ñ€Ð¸Ñ‡Ð½Ð°Ñ Ð¾Ð±Ð»Ð°Ñть видимоÑти ÑвойÑтв', + 'asymmetric_visibility_description' => 'ОблаÑть видимоÑти запиÑи ÑвойÑтва теперь может контролироватьÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо от облаÑти видимоÑти Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÑвойÑтва, что уменьшает необходимоÑть иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ñ‹Ñ… методов-геттеров Ð´Ð»Ñ Ñ€Ð°ÑÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑвойÑтва без возможноÑти его Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð²Ð½Ðµ клаÑÑа.', + 'deprecated_attribute_title' => 'Ðтрибут #[\Deprecated]', + 'deprecated_attribute_description' => 'Ðовый атрибут #[\Deprecated] раÑширÑет ÑущеÑтвующий механизм объÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑущноÑти уÑтаревшей Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких функций, методов и конÑтант клаÑÑов.', + 'dom_additions_html5_title' => 'Ðовые возможноÑти ext-dom и поддержка HTML5', + 'dom_additions_html5_description' => '

    Ðовый DOM API, который поддерживает разбор HTML5-документов в ÑоответÑтвии Ñо Ñтандартами, иÑправлÑет неÑколько давних ошибок в поведении DOM и добавлÑет неÑколько функций, делающих работу Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ более удобной.

    Ðовый DOM API доÑтупен в проÑтранÑтве имён Dom. Документы, иÑпользующие новый DOM API, могут быть Ñозданы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ клаÑÑов Dom\HTMLDocument и Dom\XMLDocument.

    ', + 'bcmath_title' => 'Объектно-ориентированный API Ð´Ð»Ñ BCMath', + 'bcmath_description' => '

    Ðовый объект BcMath\Number позволÑет иÑпользовать объектно-ориентированный Ñтиль и Ñтандартные математичеÑкие операторы при работе Ñ Ñ‡Ð¸Ñлами произвольной точноÑти.

    Эти объекты неизменÑемы и реализуют Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Stringable, поÑтому их можно иÑпользовать в Ñтроковых контекÑтах, например, echo $num.

    ', + 'new_array_find_title' => 'Ðовые функции array_*()', + 'new_array_find_description' => 'Добавлены функции array_find(), array_find_key(), array_any() и array_all().', + 'pdo_driver_specific_subclasses_title' => 'SQL-парÑеры, Ñпецифичные Ð´Ð»Ñ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð¾Ð² PDO', + 'pdo_driver_specific_subclasses_description' => 'Добавлены дочерние клаÑÑÑ‹ Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql, Pdo\Sqlite драйверов, наÑледующие PDO.', + 'new_without_parentheses_title' => 'new MyClass()->method() без Ñкобок', + 'new_without_parentheses_description' => 'К ÑвойÑтвам и методам только что инициализированного объекта теперь можно обращатьÑÑ, не Ð¾Ð±Ð¾Ñ€Ð°Ñ‡Ð¸Ð²Ð°Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ new в круглые Ñкобки.', + + 'new_classes_title' => 'Ðовые клаÑÑÑ‹, интерфейÑÑ‹ и функции', + 'new_lazy_objects' => 'Добавлены ленивые объекты.', + 'new_jit_implementation' => 'ÐÐ¾Ð²Ð°Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ JIT на оÑнове IR Framework.', + 'new_core_functions' => 'Добавлена Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ request_parse_body().', + 'new_bcmath_functions' => 'Добавлены функции bcceil(), bcdivmod(), bcfloor() и bcround().', + 'new_round_modes' => 'Добавлено перечиÑление RoundingMode Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ round() Ñ 4 режимами: TowardsZero, AwayFromZero, NegativeInfinity и PositiveInfinity.', + 'new_date_functions' => 'Добавлены методы DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond() и DateTimeImmutable::setMicrosecond().', + 'new_mb_functions' => 'Добавлены функции mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst() и mb_lcfirst().', + 'new_pcntl_functions' => 'Добавлены функции pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns() и pcntl_waitid().', + 'new_reflection_functions' => 'Добавлены методы ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed() и ReflectionProperty::isDynamic().', + 'new_standard_functions' => 'Добавлены функции http_get_last_response_headers(), http_clear_last_response_headers(), fpow().', + 'new_xml_functions' => 'Добавлены методы XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri() и XMLWriter::toMemory().', + 'new_grapheme_function' => 'Добавлена Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ grapheme_str_split().', + + 'bc_title' => 'УÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² обратной ÑовмеÑтимоÑти', + 'bc_pecl' => 'Модули IMAP, OCI8, PDO_OCI и pspell перенеÑены из Ñдра в PECL.', + 'bc_nullable_parameter_types' => 'Типы параметров, неÑвно допуÑкающие значение null объÑвлены уÑтаревшими.', + 'bc_classname' => 'ИÑпользование _ в качеÑтве имени клаÑÑа объÑвлено уÑтаревшим.', + 'bc_zero_raised_to_negative_number' => 'Возведение Ð½ÑƒÐ»Ñ Ð² Ñтепень отрицательного чиÑла объÑвлено уÑтаревшим.', + 'bc_gmp' => 'КлаÑÑ GMP теперь ÑвлÑетÑÑ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼.', + 'bc_round' => 'Передача некорректного режима в функцию round() выбраÑывает ошибку ValueError.', + 'bc_typed_constants' => 'КонÑтанты клаÑÑов модулей date, intl, pdo, reflection, spl, sqlite и xmlreader типизированы.', + 'bc_mysqli_constants' => 'Удалены конÑтанты MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE и MYSQLI_TYPE_INTERVAL.', + 'bc_mysqli_functions' => 'Функции mysqli_ping(), mysqli_kill(), mysqli_refresh(), методы mysqli::ping(), mysqli::kill(), mysqli::refresh() и конÑтанты MYSQLI_REFRESH_* объÑвлены уÑтаревшими.', + 'bc_standard' => 'Функции stream_bucket_make_writeable() и stream_bucket_new() теперь возвращают ÑкземплÑÑ€ клаÑÑа StreamBucket вмеÑто stdClass.', + 'bc_core' => 'Изменение Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñзыковой конÑтрукции exit().', + 'bc_warnings' => 'КонÑтанта E_STRICT объÑвлена уÑтаревшей.', + + 'footer_title' => 'Выше производительноÑть, лучше ÑинтакÑиÑ, надёжнее ÑиÑтема типов.', + 'footer_description' => '

    Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ иÑходного кода PHP 8.4 поÑетите Ñтраницу Downloads. Бинарные файлы Windows находÑÑ‚ÑÑ Ð½Ð° Ñайте PHP for Windows. СпиÑок изменений перечиÑлен на Ñтранице ChangeLog.

    +

    РуководÑтво по миграции доÑтупно в разделе документации. ОзнакомьтеÑÑŒ Ñ Ð½Ð¸Ð¼, чтобы узнать обо вÑех новых возможноÑÑ‚ÑÑ… и изменениÑÑ…, затрагивающих обратную ÑовмеÑтимоÑть.

    ', +]; diff --git a/public/releases/8.4/languages/tr.php b/public/releases/8.4/languages/tr.php new file mode 100644 index 0000000000..4630a4b3f5 --- /dev/null +++ b/public/releases/8.4/languages/tr.php @@ -0,0 +1,57 @@ + 'PHP 8.4, PHP dilinin büyük bir güncellemesidir. Özellik kancaları, asimetrik görünürlük, güncellenmiş bir DOM API’si, performans iyileştirmeleri, hata düzeltmeleri ve genel temizlik gibi birçok yeni özellik içerir.', + 'documentation' => 'Dokümantasyon', + 'main_title' => 'Yayımlandı!', + 'main_subtitle' => 'PHP 8.4, PHP dilinin büyük bir güncellemesidir.
    Özellik kancaları, asimetrik görünürlük, güncellenmiş bir DOM API’si, performans iyileştirmeleri, hata düzeltmeleri ve genel temizlik gibi birçok yeni özellik içerir.', + 'upgrade_now' => 'PHP 8.4’e şimdi geçiş yapın!', + + 'property_hooks_title' => 'Özellik Kancaları', + 'property_hooks_description' => 'Özellik kancaları, hesaplanmış özelliklerin (computed properties) IDE’ler ve statik analiz araçları tarafından doğal bir şekilde anlaşılmasını sağlar, böylece zamanla geçersiz hale gelebilecek doküman açıklamaları yazmaya gerek kalmaz. Bunun yanı sıra, sınıf içinde eşleşen bir getter ya da setter kontrolüne ihtiyaç duymadan, değerlerin güvenilir bir şekilde işlenmesini (öncesinde veya sonrasında) mümkün hale getirir.', + 'asymmetric_visibility_title' => 'Asimetrik Görünürlük', + 'asymmetric_visibility_description' => 'Artık bir özelliği yazma yetkisi, o özelliği okuma yetkisinden bağımsız olarak kontrol edilebilir. Bu sayede, bir özelliğin dışarıdan değiştirilmesini engelleyerek sadece okunabilir hale getirmek için gereksiz ve tekrarlayan getter metotları yazma ihtiyacı ortadan kalkar.', + 'deprecated_attribute_title' => '#[\Deprecated] Özelliği', + 'deprecated_attribute_description' => 'Yeni #[\Deprecated] özelliği, PHP’nin mevcut kullanımdan kaldırma mekanizmasını kullanıcı tanımlı fonksiyonlar, metotlar ve sınıf sabitleri için kullanılabilir hale getirir.', + 'dom_additions_html5_title' => 'Yeni ext-dom Özellikleri ve HTML5 Desteği', + 'dom_additions_html5_description' => '

    Yeni DOM API, HTML5 dokümanlarını standartlara uygun şekilde işlemenize olanak tanır, DOM işlevselliğindeki uzun süredir devam eden uyumluluk hatalarını giderir ve dokümanlarla çalışmayı daha kolay hale getiren bir dizi yeni fonksiyon ekler.

    Yeni DOM API, Dom isim alanı içerisinde kullanılabilir. Bu API ile çalışmak için HTML ve XML içerikleri, Dom\HTMLDocument ve Dom\XMLDocument sınıfları kullanılarak oluşturulabilir.

    ', 'bcmath_title' => 'BCMath için Nesne API’si', + 'bcmath_description' => '

    Yeni BcMath\Number nesnesi, yüksek doğruluk gerektiren sayılarla çalışırken nesne yönelimli kullanım ve standart matematiksel operatörlerin desteklenmesini sağlar.

    Bu nesneler değişmezdir ve Stringable arayüzünü uygular, böylece echo $num gibi metin bağlamlarında kullanılabilirler.

    ', + 'new_array_find_title' => 'Yeni array_*() Fonksiyonları', + 'new_array_find_description' => 'Yeni fonksiyonlar: array_find(), array_find_key(), array_any() ve array_all() kullanılabilir.', + 'pdo_driver_specific_subclasses_title' => 'PDO Sürücüsüne Özel Alt Sınıflar', + 'pdo_driver_specific_subclasses_description' => 'PDO için yeni alt sınıflar: Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql ve Pdo\Sqlite mevcut.', + 'new_without_parentheses_title' => 'new MyClass()->method() Parantezsiz Kullanım', + 'new_without_parentheses_description' => 'Yeni oluşturulan bir nesnenin özelliklerine ve metotlarına, new ifadesini parantez içine almadan doğrudan erişilebilir.', + + 'new_classes_title' => 'Yeni Sınıflar, Arayüzler ve Fonksiyonlar', + 'new_lazy_objects' => 'Yeni Lazy Objects.', + 'new_jit_implementation' => 'IR Framework tabanlı yeni JIT uygulaması.', + 'new_core_functions' => 'Yeni request_parse_body() fonksiyonu.', + 'new_bcmath_functions' => 'Yeni bcceil(), bcdivmod(), bcfloor() ve bcround() fonksiyonları.', + 'new_round_modes' => 'round() için 4 yeni yuvarlama modu içeren RoundingMode enumu: TowardsZero, AwayFromZero, NegativeInfinity ve PositiveInfinity.', + 'new_date_functions' => 'Yeni metotlar: DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond() ve DateTimeImmutable::setMicrosecond().', + 'new_mb_functions' => 'Yeni fonksiyonlar: mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst() ve mb_lcfirst().', + 'new_pcntl_functions' => 'Yeni fonksiyonlar: pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns() ve pcntl_waitid().', + 'new_reflection_functions' => 'Yeni metotlar: ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed() ve ReflectionProperty::isDynamic().', + 'new_standard_functions' => 'Yeni fonksiyonlar: http_get_last_response_headers(), http_clear_last_response_headers() ve fpow().', + 'new_xml_functions' => 'Yeni metotlar: XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri() ve XMLWriter::toMemory().', + 'new_grapheme_function' => 'Yeni grapheme_str_split() fonksiyonu.', + + 'bc_title' => 'Kullanımdan Kaldırmalar ve Geriye Dönük Uyumluluk Kırılmaları', + 'bc_pecl' => 'IMAP, OCI8, PDO_OCI ve pspell uzantıları ayrılmış ve PECL’e taşınmıştır.', + 'bc_nullable_parameter_types' => 'Varsayılan olarak nullable olan parametre türleri artık desteklenmiyor.', + 'bc_classname' => 'Bir sınıf adı olarak _ kullanımı artık desteklenmiyor.', + 'bc_zero_raised_to_negative_number' => 'Sıfırın negatif bir sayıya üssü artık desteklenmemektedir.', + 'bc_gmp' => 'GMP sınıfı artık final olarak tanımlanmıştır.', + 'bc_round' => 'round() fonksiyonuna geçersiz bir mod gönderildiğinde artık ValueError fırlatır.', + 'bc_typed_constants' => 'date, intl, pdo, reflection, spl, sqlite ve xmlreader uzantılarındaki sınıf sabitleri artık türlendirilmiş durumda.', + 'bc_mysqli_constants' => 'MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE gibi sabitler artık kaldırılmıştır.', + 'bc_mysqli_functions' => 'mysqli_ping(), mysqli_kill(), mysqli_refresh() fonksiyonları, mysqli::ping(), mysqli::kill(), mysqli::refresh() metotları ve MYSQLI_REFRESH_* sabitleri artık kullanımdan kaldırıldı.', + 'bc_standard' => 'stream_bucket_make_writeable() ve stream_bucket_new() artık stdClass yerine bir StreamBucket objesi döndürüyor.', + 'bc_core' => 'exit() davranış değişikliği.', + 'bc_warnings' => 'E_STRICT sabiti artık kullanımdan kaldırılmıştır.', + + 'footer_title' => 'Daha iyi performans, daha temiz sözdizimi, gelişmiş tür güvenliği.', + 'footer_description' => '

    PHP 8.4 kaynak dosyalarını indirmek için indirme sayfasını ziyaret edin. Windows için çalıştırılabilir dosyaları PHP for Windows sitesinden indirebilirsiniz. Tüm değişikliklerin listesi ChangeLog içinde kayıtlıdır.

    +

    Detaylı bilgi için göç rehberine göz atabilirsiniz.

    ', +]; \ No newline at end of file diff --git a/public/releases/8.4/languages/uk.php b/public/releases/8.4/languages/uk.php new file mode 100644 index 0000000000..2fea0f7a74 --- /dev/null +++ b/public/releases/8.4/languages/uk.php @@ -0,0 +1,58 @@ + 'PHP 8.4 — це значне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ PHP. Воно міÑтить багато нових можливоÑтей, таких Ñк хуки влаÑтивоÑтей, аÑиметричну облаÑть видимоÑті, оновлений DOM API, Ð¿Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті, Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñ– загальний рефакторинг.', + 'documentation' => 'ДокументаціÑ', + 'main_title' => 'Випущено!', + 'main_subtitle' => 'PHP 8.4 — це значне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ PHP.
    Воно міÑтить багато нових можливоÑтей, таких Ñк хуки влаÑтивоÑтей, аÑиметричну облаÑть видимоÑті, оновлений DOM API, Ð¿Ð¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті, Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñ– загальний рефакторинг.', + 'upgrade_now' => 'ОновітьÑÑ Ð´Ð¾ PHP 8.4 прÑмо зараз!', + + 'property_hooks_title' => 'Хуки влаÑтивоÑтей', + 'property_hooks_description' => 'Хуки влаÑтивоÑтей забезпечують підтримку обчиÑлюваних влаÑтивоÑтей, що можуть бути зрозумілі IDE та інÑтрументам Ñтатичного аналізу, без необхідноÑті Ð·Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ DocBlock-коментарів, Ñкі можуть міÑтити невідповідноÑті. Крім того, вони дозволÑють надійно виконувати попередню або піÑлÑобробку значень, без необхідноÑті перевірÑти, чи Ñ–Ñнує у клаÑÑ– відповідний геттер або Ñеттер.', + 'asymmetric_visibility_title' => 'ÐÑиметрична облаÑть видимоÑті влаÑтивоÑтей', + 'asymmetric_visibility_description' => 'ОблаÑть видимоÑті Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу до влаÑтивоÑті тепер може контролюватиÑÑ Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¾ від облаÑті видимоÑті Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ, що зменшує потребу у шаблонних методах Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð»Ð°ÑтивоÑті, не дозволÑючи змінювати Ñ—Ñ— ззовні клаÑу.', + 'deprecated_attribute_title' => 'Ðтрибут #[\Deprecated]', + 'deprecated_attribute_description' => 'Ðовий атрибут #[\Deprecated] дозволÑÑ” викориÑтовувати Ñ–Ñнуючий механізм Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñті PHP заÑтарілою Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹, методів Ñ– конÑтант клаÑів, визначених кориÑтувачем.', + 'dom_additions_html5_title' => 'Ðові можливоÑті Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ ext-dom Ñ– підтримка HTML5', + 'dom_additions_html5_description' => '

    Ðовий DOM API, Ñкий включає підтримку Ñтандартів Ð´Ð»Ñ ÑинтакÑичного аналізу HTML5-документів, виправлÑÑ” кілька давніх помилок ÑуміÑноÑті у поведінці DOM та додає кілька нових функцій Ð´Ð»Ñ Ð·Ñ€ÑƒÑ‡Ð½Ñ–ÑˆÐ¾Ñ— роботи з документами.

    Ðовий DOM API доÑтупний у проÑторі імен Dom. Документи, що викориÑтовують новий DOM API, можна Ñтворювати за допомогою клаÑів Dom\HTMLDocument Ñ– Dom\XMLDocument.

    ', + 'bcmath_title' => 'Об\'єктний API Ð´Ð»Ñ BCMath', + 'bcmath_description' => '

    Ðовий об\'єкт BcMath\Number дозволÑÑ” викориÑтовувати об\'єктно-орієнтовану модель Ñ– Ñтандартні математичні оператори під Ñ‡Ð°Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з чиÑлами довільної точноÑті.

    Ці об\'єкти Ñ” незмінними Ñ– реалізують Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Stringable, тому Ñ—Ñ… можна викориÑтовувати у контекÑтах Ñ€Ñдків, наприклад, у виразі echo $num.

    ', + 'new_array_find_title' => 'Ðові функції array_*()', + 'new_array_find_description' => 'Ðові функції array_find(), array_find_key(), array_any() Ñ– array_all().', + 'pdo_driver_specific_subclasses_title' => 'Специфічні аналізатори ÑинтакÑиÑу SQL Ð´Ð»Ñ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ñ–Ð² PDO', + 'pdo_driver_specific_subclasses_description' => 'Ðові підклаÑи Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql Ñ– Pdo\Sqlite Ð´Ð»Ñ PDO.', + 'new_without_parentheses_title' => 'new MyClass()->method() без дужок', + 'new_without_parentheses_description' => 'До влаÑтивоÑтей Ñ– методів нового екземплÑра об\'єкта тепер можна звертатиÑÑ, не беручи вираз new у круглі дужки.', + + 'new_classes_title' => 'Ðові клаÑи, інтерфейÑи та функції', + 'new_lazy_objects' => 'Ðові ліниві об\'єкти.', + 'new_jit_implementation' => 'Ðова Ñ€ÐµÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ JIT на оÑнові IR Framework.', + 'new_core_functions' => 'Ðова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ request_parse_body().', + 'new_bcmath_functions' => 'Ðові функції bcceil(), bcdivmod(), bcfloor() Ñ– bcround().', + 'new_round_modes' => 'Ðове Ð¿ÐµÑ€ÐµÑ€Ð°Ñ…ÑƒÐ²Ð°Ð½Ð½Ñ RoundingMode Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— round(), що міÑтить 4 нових режими Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ TowardsZero, AwayFromZero, NegativeInfinity Ñ– PositiveInfinity.', + 'new_date_functions' => 'Ðові методи DateTime::createFromTimestamp(), DateTime::getMicrosecond(), DateTime::setMicrosecond(), DateTimeImmutable::createFromTimestamp(), DateTimeImmutable::getMicrosecond() Ñ– DateTimeImmutable::setMicrosecond().', + 'new_mb_functions' => 'Ðові функції mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst() Ñ– mb_lcfirst().', + 'new_pcntl_functions' => 'Ðові функції pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns() Ñ– pcntl_waitid().', + 'new_reflection_functions' => 'Ðові методи ReflectionClassConstant::isDeprecated(), ReflectionGenerator::isClosed() Ñ– ReflectionProperty::isDynamic().', + 'new_standard_functions' => 'Ðові функції http_get_last_response_headers(), http_clear_last_response_headers() Ñ– fpow().', + 'new_xml_functions' => 'Ðові методи XMLReader::fromStream(), XMLReader::fromUri(), XMLReader::fromString(), XMLWriter::toStream(), XMLWriter::toUri() Ñ– XMLWriter::toMemory().', + 'new_grapheme_function' => 'Ðова Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ grapheme_str_split().', + + 'bc_title' => 'ЗаÑтаріла функціональніÑть Ñ– зміни у зворотній ÑуміÑноÑті', + 'bc_pecl' => 'Ð Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ IMAP, OCI8, PDO_OCI та pspell вилучено Ñ– перенеÑено до PECL.', + 'bc_nullable_parameter_types' => 'Типи параметрів, що неÑвно допуÑкають Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ null, оголошено заÑтарілими.', + 'bc_classname' => 'МожливіÑть викориÑÑ‚Ð°Ð½Ð½Ñ Ñимволу _ у ÑкоÑті імені клаÑу оголошено заÑтарілою.', + 'bc_zero_raised_to_negative_number' => 'МожливіÑть піднеÑÐµÐ½Ð½Ñ Ð½ÑƒÐ»Ñ Ð´Ð¾ від\'ємного показника ÑÑ‚ÐµÐ¿ÐµÐ½Ñ Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð¾ заÑтарілою.', + 'bc_gmp' => 'ÐšÐ»Ð°Ñ GMP оголошено фінальним.', + 'bc_round' => 'Передача недійÑного режиму до функції round() тепер викликає ValueError.', + 'bc_typed_constants' => 'Типізовано конÑтанти клаÑів розширень date, intl, pdo, reflection, spl, sqlite, xmlreader.', + 'bc_mysqli_constants' => 'КонÑтанти MYSQLI_SET_CHARSET_DIR, MYSQLI_STMT_ATTR_PREFETCH_ROWS, MYSQLI_CURSOR_TYPE_FOR_UPDATE, MYSQLI_CURSOR_TYPE_SCROLLABLE Ñ– MYSQLI_TYPE_INTERVAL оголошено заÑтарілими.', + 'bc_mysqli_functions' => 'Функції mysqli_ping(), mysqli_kill(), mysqli_refresh(), методи mysqli::ping(), mysqli::kill(), mysqli::refresh() Ñ– конÑтанту MYSQLI_REFRESH_* оголошено заÑтарілими.', + 'bc_standard' => 'Функції stream_bucket_make_writeable() Ñ– stream_bucket_new() тепер повертають екземплÑÑ€ клаÑу StreamBucket заміÑть stdClass.', + 'bc_core' => 'Змінено поведінку конÑтрукції exit().', + 'bc_warnings' => 'КонÑтанту E_STRICT оголошено заÑтарілою.', + + 'footer_title' => 'Краща продуктивніÑть, кращий ÑинтакÑиÑ, покращена безпека типів.', + 'footer_description' => '

    Ð”Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ коду PHP 8.4 відвідайте Ñторінку downloads. Двійкові файли Windows можна знайти на Ñайті PHP for Windows Перелік змін опиÑано на Ñторінці ChangeLog.

    +

    ПоÑібник з міграції знаходитьÑÑ Ñƒ поÑібнику з PHP. Будь лаÑка, ознайомтеÑÑ Ð· ним, щоб отримати детальніший ÑпиÑок нових функцій Ñ– неÑуміÑних змін.

    ', +]; diff --git a/public/releases/8.4/languages/zh.php b/public/releases/8.4/languages/zh.php new file mode 100644 index 0000000000..8200312c47 --- /dev/null +++ b/public/releases/8.4/languages/zh.php @@ -0,0 +1,65 @@ + 'PHP 8.4 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚它包å«äº†è®¸å¤šæ–°åŠŸèƒ½ï¼Œä¾‹å¦‚å±žæ€§é’©å­ã€ä¸å¯¹ç§°å¯è§æ€§ã€æ›´æ–°çš„ DOM APIã€æ€§èƒ½æ”¹è¿›ã€é”™è¯¯ä¿®å¤å’Œå¸¸è§„清ç†ç­‰ã€‚', + 'documentation' => '文档', + 'main_title' => 'å·²å‘布ï¼', + 'main_subtitle' => 'PHP 8.4 是 PHP 语言的一次é‡å¤§æ›´æ–°ã€‚
    它包å«è®¸å¤šæ–°åŠŸèƒ½ï¼Œä¾‹å¦‚å±žæ€§é’©å­ã€ä¸å¯¹ç§°å¯è§æ€§ã€æ›´æ–°çš„ DOM APIã€æ€§èƒ½æ”¹è¿›ã€é”™è¯¯ä¿®å¤å’Œå¸¸è§„清ç†ç­‰ã€‚', + 'upgrade_now' => '更新到 PHP 8.4 ï¼', + + 'property_hooks_title' => '属性钩å­', + 'property_hooks_description' => 'å±žæ€§é’©å­æä¾›å¯¹è®¡ç®—å±žæ€§çš„æ”¯æŒï¼Œè¿™äº›å±žæ€§å¯ä»¥è¢« IDE å’Œé™æ€åˆ†æžå·¥å…·ç›´æŽ¥ç†è§£ï¼Œè€Œæ— éœ€ç¼–写å¯èƒ½ä¼šå¤±æ•ˆçš„ docblock 注释。此外,它们å…许å¯é åœ°é¢„å¤„ç†æˆ–åŽå¤„ç†å€¼ï¼Œè€Œæ— éœ€æ£€æŸ¥ç±»ä¸­æ˜¯å¦å­˜åœ¨åŒ¹é…çš„ getter 或 setter。', + 'asymmetric_visibility_title' => 'ä¸å¯¹ç§°å¯è§æ€§', + 'asymmetric_visibility_description' => '现在å¯ä»¥ç‹¬ç«‹åœ°æŽ§åˆ¶å†™å…¥å±žæ€§çš„作用域和读å–属性的作用域,å‡å°‘了需è¦ç¼–写ç¹ççš„ getter 方法æ¥å…¬å¼€å±žæ€§å€¼è€Œä¸å…许从类外部修改属性的需求。', + 'deprecated_attribute_title' => '#[\Deprecated] 属性', + 'deprecated_attribute_description' => 'æ–°çš„ #[\Deprecated] 属性使 PHP 的现有弃用机制å¯ç”¨äºŽç”¨æˆ·å®šä¹‰çš„å‡½æ•°ã€æ–¹æ³•和类常é‡ã€‚', + 'dom_additions_html5_title' => 'æ–°çš„ ext-dom 功能和 HTML5 支æŒ', + 'dom_additions_html5_description' => '

    æ–°çš„ DOM API åŒ…æ‹¬ç¬¦åˆæ ‡å‡†çš„æ”¯æŒï¼Œç”¨äºŽè§£æž HTML5 文档,修å¤äº† DOM åŠŸèƒ½è¡Œä¸ºä¸­çš„å‡ ä¸ªé•¿æœŸå­˜åœ¨çš„è§„èŒƒæ€§é”™è¯¯ï¼Œå¹¶æ·»åŠ äº†å‡ ä¸ªå‡½æ•°ï¼Œä½¿å¤„ç†æ–‡æ¡£æ›´åŠ æ–¹ä¾¿ã€‚

    æ–°çš„ DOM API å¯ä»¥åœ¨ Dom 命å空间中使用。使用新的 DOM API å¯ä»¥ä½¿ç”¨ Dom\HTMLDocument å’Œ Dom\XMLDocument 类创建文档。

    ', + 'bcmath_title' => 'BCMath 的对象 API', + 'bcmath_description' => '

    æ–°çš„ BcMath\Number 对象使在处ç†ä»»æ„精度数字时å¯ä»¥ä½¿ç”¨é¢å‘对象的方å¼å’Œæ ‡å‡†çš„æ•°å­¦è¿ç®—符。

    这些对象是ä¸å¯å˜çš„,并实现了 Stringable 接å£ï¼Œå› æ­¤å¯ä»¥åœ¨å­—符串上下文中使用,如 echo $num。

    ', + 'new_array_find_title' => 'æ–°çš„ array_*() 函数', + 'new_array_find_description' => '新增函数 array_find()ã€array_find_key()ã€array_any() å’Œ array_all()。', + 'pdo_driver_specific_subclasses_title' => 'PDO 驱动程åºç‰¹å®šå­ç±»', + 'pdo_driver_specific_subclasses_description' => 'æ–°çš„ Pdo\Dblibã€Pdo\Firebirdã€Pdo\MySqlã€Pdo\Odbcã€Pdo\Pgsql å’Œ Pdo\Sqlite çš„å­ç±»å¯ç”¨ã€‚', + 'new_without_parentheses_title' => 'new MyClass()->method() ä¸éœ€è¦æ‹¬å·', + 'new_without_parentheses_description' => '现在å¯ä»¥åœ¨ä¸ä½¿ç”¨æ‹¬å·åŒ…裹 new 表达å¼çš„æƒ…况下访问新实例化对象的属性和方法。', + + 'new_classes_title' => 'æ–°çš„ç±»ã€æŽ¥å£å’Œå‡½æ•°', + 'new_lazy_objects' => 'æ–°çš„ 延迟对象。', + 'new_jit_implementation' => '基于 IR 框架的新 JIT 实现。', + 'new_core_functions' => '新增 request_parse_body() 函数。', + 'new_bcmath_functions' => '新增 bcceil()ã€bcdivmod()ã€bcfloor() å’Œ bcround() 函数。', + 'new_round_modes' => '新增 RoundingMode 枚举用于 round(),包括 4 个新的èˆå…¥æ¨¡å¼ TowardsZeroã€AwayFromZeroã€NegativeInfinity å’Œ PositiveInfinity。', + 'new_date_functions' => '新增 DateTime::createFromTimestamp()ã€DateTime::getMicrosecond()ã€DateTime::setMicrosecond()ã€DateTimeImmutable::createFromTimestamp()ã€DateTimeImmutable::getMicrosecond() å’Œ DateTimeImmutable::setMicrosecond() 方法。', + 'new_mb_functions' => '新增 mb_trim()ã€mb_ltrim()ã€mb_rtrim()ã€mb_ucfirst() å’Œ mb_lcfirst() 函数。', + 'new_pcntl_functions' => '新增 pcntl_getcpu()ã€pcntl_getcpuaffinity()ã€pcntl_getqos_class()ã€pcntl_setns() å’Œ pcntl_waitid() 函数。', + 'new_reflection_functions' => '新增 ReflectionClassConstant::isDeprecated()ã€ReflectionGenerator::isClosed() å’Œ ReflectionProperty::isDynamic() 方法。', + 'new_standard_functions' => '新增 http_get_last_response_headers()ã€http_clear_last_response_headers() å’Œ fpow() 函数。', + 'new_xml_functions' => '新增 XMLReader::fromStream()ã€XMLReader::fromUri()ã€XMLReader::fromString()ã€XMLWriter::toStream()ã€XMLWriter::toUri() å’Œ XMLWriter::toMemory() 方法。', + 'new_grapheme_function' => '新增 grapheme_str_split() 函数。', + + 'bc_title' => '弃用和å‘åŽä¸å…¼å®¹', + 'bc_pecl' => 'IMAPã€OCI8ã€PDO_OCI å’Œ pspell 扩展已从 PHP 中分离并移至 PECL。', + 'bc_nullable_parameter_types' => 'éšå¼å¯ç©ºå‚数类型现已弃用。', + 'bc_classname' => '使用 _ 作为类å现已弃用。', + 'bc_zero_raised_to_negative_number' => '将零的负数次幂现已弃用。', + 'bc_gmp' => 'GMP 类现已是 final 类。', + 'bc_round' => 'å‘ round() 传递无效模å¼å°†æŠ›å‡º ValueError。', + 'bc_typed_constants' => 'æ¥è‡ªæ‰©å±• dateã€intlã€pdoã€reflectionã€splã€sqliteã€xmlreader 的类常é‡çŽ°åœ¨æ˜¯æœ‰ç±»åž‹çš„ã€‚', + 'bc_mysqli_constants' => '已删除 MYSQLI_SET_CHARSET_DIRã€MYSQLI_STMT_ATTR_PREFETCH_ROWSã€MYSQLI_CURSOR_TYPE_FOR_UPDATEã€MYSQLI_CURSOR_TYPE_SCROLLABLE å’Œ MYSQLI_TYPE_INTERVAL 常é‡ã€‚', + 'bc_mysqli_functions' => '已弃用 mysqli_ping()ã€mysqli_kill()ã€mysqli_refresh() 函数,mysqli::ping()ã€mysqli::kill()ã€mysqli::refresh() æ–¹æ³•ï¼Œä»¥åŠ MYSQLI_REFRESH_* 常é‡ã€‚', + 'bc_standard' => 'stream_bucket_make_writeable() å’Œ stream_bucket_new() 现在返回 StreamBucket å®žä¾‹è€Œä¸æ˜¯ stdClass。', + 'bc_core' => 'exit() è¡Œä¸ºå˜æ›´ã€‚', + 'bc_warnings' => 'E_STRICT 常é‡å·²å¼ƒç”¨ã€‚', + + 'footer_title' => 'æ›´å¥½çš„æ€§èƒ½ã€æ›´å¥½çš„è¯­æ³•ã€æ”¹è¿›ç±»åž‹å®‰å…¨ã€‚', + 'footer_description' => '

    请访问 下载 页é¢ä¸‹è½½ PHP 8.4 æºä»£ç ã€‚ + 在 PHP for Windows ç«™ç‚¹ä¸­å¯æ‰¾åˆ° Windows 二进制文件。 + ChangeLog ä¸­æœ‰å˜æ›´åކå²è®°å½•清å•。

    +

    PHP 手册中有 è¿ç§»æŒ‡å—。 + 请å‚考它æè¿°çš„æ–°åŠŸèƒ½è¯¦ç»†æ¸…å•ã€å‘åŽä¸å…¼å®¹çš„å˜åŒ–。

    ', +]; diff --git a/public/releases/8.4/nl.php b/public/releases/8.4/nl.php new file mode 100644 index 0000000000..bad08164a6 --- /dev/null +++ b/public/releases/8.4/nl.php @@ -0,0 +1,6 @@ +setLanguageCode($languageCode); + $this->setCountryCode($countryCode); + } + + public function getLanguageCode(): string + { + return $this->languageCode; + } + + public function setLanguageCode(string $languageCode): void + { + $this->languageCode = $languageCode; + } + + public function getCountryCode(): string + { + return $this->countryCode; + } + + public function setCountryCode(string $countryCode): void + { + $this->countryCode = strtoupper($countryCode); + } + + public function setCombinedCode(string $combinedCode): void + { + [$languageCode, $countryCode] = explode('_', $combinedCode, 2); + + $this->setLanguageCode($languageCode); + $this->setCountryCode($countryCode); + } + + public function getCombinedCode(): string + { + return \sprintf("%s_%s", $this->languageCode, $this->countryCode); + } + } + + $brazilianPortuguese = new Locale('pt', 'br'); + var_dump($brazilianPortuguese->getCountryCode()); // BR + var_dump($brazilianPortuguese->getCombinedCode()); // pt_BR + PHP, + after: <<<'PHP' + class Locale + { + public string $languageCode; + + public string $countryCode + { + set (string $countryCode) { + $this->countryCode = strtoupper($countryCode); + } + } + + public string $combinedCode + { + get => \sprintf("%s_%s", $this->languageCode, $this->countryCode); + set (string $value) { + [$this->languageCode, $this->countryCode] = explode('_', $value, 2); + } + } + + public function __construct(string $languageCode, string $countryCode) + { + $this->languageCode = $languageCode; + $this->countryCode = $countryCode; + } + } + + $brazilianPortuguese = new Locale('pt', 'br'); + var_dump($brazilianPortuguese->countryCode); // BR + var_dump($brazilianPortuguese->combinedCode); // pt_BR + PHP, + ), + new FeatureComparison( + id: 'asymmetric_visibility', + title: message('asymmetric_visibility_title', $lang), + description: message('asymmetric_visibility_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/asymmetric-visibility-v2', + message('documentation', $lang) . "|/manual/$documentation/language.oop5.visibility.php#language.oop5.visibility-members-aviz", + ], + before: <<<'PHP' + class PhpVersion + { + private string $version = '8.3'; + + public function getVersion(): string + { + return $this->version; + } + + public function increment(): void + { + [$major, $minor] = explode('.', $this->version); + $minor++; + $this->version = "{$major}.{$minor}"; + } + } + PHP, + after: <<<'PHP' + class PhpVersion + { + public private(set) string $version = '8.4'; + + public function increment(): void + { + [$major, $minor] = explode('.', $this->version); + $minor++; + $this->version = "{$major}.{$minor}"; + } + } + PHP, + ), + new FeatureComparison( + id: 'deprecated_attribute', + title: message('deprecated_attribute_title', $lang), + description: message('deprecated_attribute_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/deprecated_attribute', + message('documentation', $lang) . "|/manual/$documentation/class.deprecated.php", + ], + before: <<<'PHP' + class PhpVersion + { + /** + * @deprecated 8.3 use PhpVersion::getVersion() instead + */ + public function getPhpVersion(): string + { + return $this->getVersion(); + } + + public function getVersion(): string + { + return '8.3'; + } + } + + $phpVersion = new PhpVersion(); + // No indication that the method is deprecated. + echo $phpVersion->getPhpVersion(); + PHP, + after: <<<'PHP' + class PhpVersion + { + #[\Deprecated( + message: "use PhpVersion::getVersion() instead", + since: "8.4", + )] + public function getPhpVersion(): string + { + return $this->getVersion(); + } + + public function getVersion(): string + { + return '8.4'; + } + } + + $phpVersion = new PhpVersion(); + // Deprecated: Method PhpVersion::getPhpVersion() is deprecated since 8.4, use PhpVersion::getVersion() instead + echo $phpVersion->getPhpVersion(); + PHP, + ), + new FeatureComparison( + id: 'dom_additions_html5', + title: message('dom_additions_html5_title', $lang), + description: message('dom_additions_html5_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/dom_additions_84', + 'RFC|https://wiki.php.net/rfc/domdocument_html5_parser', + message('documentation', $lang) . "|/manual/$documentation/migration84.new-features.php#migration84.new-features.dom", + ], + before: <<<'PHP' + $dom = new DOMDocument(); + $dom->loadHTML( + <<<'HTML' +
    +
    PHP 8.4 is a feature-rich release!
    + +
    + HTML, + LIBXML_NOERROR, + ); + + $xpath = new DOMXPath($dom); + $node = $xpath->query(".//main/article[not(following-sibling::*)]")[0]; + $classes = explode(" ", $node->className); // Simplified + var_dump(in_array("featured", $classes)); // bool(true) + PHP, + after: <<<'PHP' + $dom = Dom\HTMLDocument::createFromString( + <<<'HTML' +
    +
    PHP 8.4 is a feature-rich release!
    + +
    + HTML, + LIBXML_NOERROR, + ); + + $node = $dom->querySelector('main > article:last-child'); + var_dump($node->classList->contains("featured")); // bool(true) + PHP, + ), + new FeatureComparison( + id: 'bcmath', + title: message('bcmath_title', $lang), + description: message('bcmath_description', $lang), + links: ['RFC|https://wiki.php.net/rfc/support_object_type_in_bcmath'], + before: <<<'PHP' + $num1 = '0.12345'; + $num2 = '2'; + $result = bcadd($num1, $num2, 5); + + echo $result; // '2.12345' + var_dump(bccomp($num1, $num2) > 0); // false + PHP, + after: <<<'PHP' + use BcMath\Number; + + $num1 = new Number('0.12345'); + $num2 = new Number('2'); + $result = $num1 + $num2; + + echo $result; // '2.12345' + var_dump($num1 > $num2); // false + PHP, + ), + new FeatureComparison( + id: 'new_array_find', + title: message('new_array_find_title', $lang), + description: message('new_array_find_description', $lang), + links: ['RFC|https://wiki.php.net/rfc/array_find'], + before: <<<'PHP' + $animal = null; + foreach (['dog', 'cat', 'cow', 'duck', 'goose'] as $value) { + if (str_starts_with($value, 'c')) { + $animal = $value; + break; + } + } + + var_dump($animal); // string(3) "cat" + PHP, + after: <<<'PHP' + $animal = array_find( + ['dog', 'cat', 'cow', 'duck', 'goose'], + static fn(string $value): bool => str_starts_with($value, 'c'), + ); + + var_dump($animal); // string(3) "cat" + PHP, + ), + new FeatureComparison( + id: 'pdo_driver_specific_subclasses', + title: message('pdo_driver_specific_subclasses_title', $lang), + description: message('pdo_driver_specific_subclasses_description', $lang), + links: ['RFC|https://wiki.php.net/rfc/pdo_driver_specific_subclasses'], + before: <<<'PHP' + $connection = new PDO( + 'sqlite:foo.db', + $username, + $password, + ); // object(PDO) + + $connection->sqliteCreateFunction( + 'prepend_php', + static fn($string) => "PHP {$string}", + ); + + $connection->query('SELECT prepend_php(version) FROM php'); + PHP, + after: <<<'PHP' + $connection = PDO::connect( + 'sqlite:foo.db', + $username, + $password, + ); // object(Pdo\Sqlite) + + $connection->createFunction( + 'prepend_php', + static fn($string) => "PHP {$string}", + ); // Does not exist on a mismatching driver. + + $connection->query('SELECT prepend_php(version) FROM php'); + PHP, + ), + new FeatureComparison( + id: 'new_without_parentheses', + title: message('new_without_parentheses_title', $lang), + description: message('new_without_parentheses_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/new_without_parentheses', + message('documentation', $lang) . "|/manual/$documentation/migration84.new-features.php#migration84.new-features.core.new-chaining", + ], + before: <<<'PHP' + class PhpVersion + { + public function getVersion(): string + { + return 'PHP 8.3'; + } + } + + var_dump((new PhpVersion())->getVersion()); + PHP, + after: <<<'PHP' + class PhpVersion + { + public function getVersion(): string + { + return 'PHP 8.4'; + } + } + + var_dump(new PhpVersion()->getVersion()); + PHP, + ), +]; + +echo ReleasePage::getHeroSection( + title: message('main_title', $lang), + subtitle: message('main_subtitle', $lang), + logoSvg: << + SVG, + upgradeNow: message('upgrade_now', $lang), +); + +echo ReleasePage::getFeatureComparisons($comparisons, 'PHP 8.4', 'PHP < 8.4'); + +?> + +
    +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +

    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +
    +
    + + false]); diff --git a/public/releases/8.4/ru.php b/public/releases/8.4/ru.php new file mode 100644 index 0000000000..55e44842ed --- /dev/null +++ b/public/releases/8.4/ru.php @@ -0,0 +1,5 @@ + 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'ja' => '日本語', + 'pt_BR' => 'Brazilian Portuguese', + 'ru' => 'РуÑÑкий', + 'tr' => 'Türkçe', + 'uk' => 'УкраїнÑька', + 'zh' => '简体中文', + 'vi' => 'Tiếng Việt', +]; + +function common_header(string $description): void { + global $MYSITE, $lang; + + $meta_image_path = \htmlspecialchars( + \filter_var($MYSITE . 'images/php8/php_8_5_released.png', \FILTER_VALIDATE_URL)); + $meta_description = \htmlspecialchars($description); + + $languages = []; + foreach (LANGUAGES as $code => $text) { + $languages[] = ['name' => $text, 'selected' => $lang === $code, 'url' => '/releases/8.5/' . $code . '.php']; + } + + \site_header("PHP 8.5 Release Announcement", [ + 'current' => 'php85', + 'css' => ['php85.css'], + 'language_switcher' => $languages, + 'theme_switcher' => true, + 'meta_tags' => << + + + + + + + + + + + + +META + ]); +} + +function message($code, $language = 'en', array $interpolations = []): string +{ + $original = require __DIR__ . '/languages/en.php'; + if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { + $translation = require __DIR__ . '/languages/' . $language . '.php'; + } + + $message = $translation[$code] ?? $original[$code] ?? $code; + + foreach ($interpolations as $name => $value) { + $message = str_replace("{{$name}}", $value, $message); + } + + return $message; +} diff --git a/public/releases/8.5/en.php b/public/releases/8.5/en.php new file mode 100644 index 0000000000..569ea7b5d0 --- /dev/null +++ b/public/releases/8.5/en.php @@ -0,0 +1,5 @@ +chooseCode("", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']); + +mirror_redirect("/releases/8.5/$lang.php"); diff --git a/public/releases/8.5/ja.php b/public/releases/8.5/ja.php new file mode 100644 index 0000000000..7792525e5b --- /dev/null +++ b/public/releases/8.5/ja.php @@ -0,0 +1,5 @@ + 'PHP 8.5 is a major update of the PHP language, with new features including the URI Extension, Pipe Operator, and support for modifying properties while cloning.', + 'main_title' => 'Smarter, Faster, Built for Tomorrow.', + 'main_subtitle' => '

    PHP 8.5 is a major update of the PHP language, with new features including the URI extension, Pipe operator, and support for modifying properties while cloning.

    ', + + 'whats_new' => 'What\'s new in 8.5', + 'upgrade_now' => 'Upgrade to PHP 8.5', + 'old_version' => 'PHP 8.4 and older', + 'badge_new' => 'NEW', + 'documentation' => 'Doc', + 'released' => 'Released Nov 20, 2025', + 'key_features' => 'Key Features in PHP 8.5', + 'key_features_description' => '

    Faster, cleaner, and built for developers.

    ', + + 'features_pipe_operator_description' => '

    The |> operator enables chaining callables left-to-right, passing values smoothly through multiple functions without intermediary variables.

    ', + 'features_persistent_curl_share_handles_description' => '

    Handles can now be persisted across multiple PHP requests, avoiding the cost of repeated connection initialization to the same hosts.

    ', + 'features_clone_with_description' => '

    Clone objects and update properties with the new clone() syntax, making the "with-er" pattern simple for readonly classes.

    ', + 'features_uri_extension_description' => '

    PHP 8.5 adds a built-in URI extension to parse, normalize, and handle URLs following RFC 3986 and WHATWG URL standards.

    ', + 'features_no_discard_description' => '

    The #[\NoDiscard] attribute warns when a return value isn’t used, helping prevent mistakes and improving overall API safety.

    ', + 'features_fcc_in_const_expr_description' => '

    Static closures and first-class callables can now be used in constant expressions, such as attribute parameters.

    ', + + 'pipe_operator_title' => 'Pipe Operator', + 'pipe_operator_description' => '

    The pipe operator allows chaining function calls together without dealing with intermediary variables. This enables replacing many "nested calls" with a chain that can be read forwards, rather than inside-out.

    Learn more about the backstory of this feature in The PHP Foundation’s blog.

    ', + + 'array_first_last_title' => 'array_first() and array_last() functions', + 'array_first_last_description' => '

    The array_first() and array_last() functions return the first or last value of an array, respectively. If the array is empty, null is returned (making it easy to compose with the ?? operator).

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    It is now possible to update properties during object cloning by passing an associative array to the clone() function. This enables straightforward support of the "with-er" pattern for readonly classes.

    ', + + 'uri_extension_title' => 'URI Extension', + 'uri_extension_description' => '

    The new always-available URI extension provides APIs to securely parse and modify URIs and URLs according to the RFC 3986 and the WHATWG URL standards.

    Powered by the uriparser (RFC 3986) and Lexbor (WHATWG URL) libraries.

    Learn more about the backstory of this feature in The PHP Foundation’s blog.

    ', + + 'no_discard_title' => '#[\NoDiscard] Attribute', + 'no_discard_description' => '

    By adding the #[\NoDiscard] attribute to a function, PHP will check whether the returned value is consumed and emit a warning if it is not. This allows improving the safety of APIs where the returned value is important, but it\'s easy to forget using the return value by accident.

    The associated (void) cast can be used to indicate that a value is intentionally unused.

    ', + + 'persistent_curl_share_handles_title' => 'Persistent cURL Share Handles', + 'persistent_curl_share_handles_description' => '

    Unlike curl_share_init(), handles created by curl_share_init_persistent() will not be destroyed at the end of the PHP request. If a persistent share handle with the same set of share options is found, it will be reused, avoiding the cost of initializing cURL handles each time.

    ', + + 'fcc_in_const_expr_title' => 'Closures and First-Class Callables in Constant Expressions', + 'fcc_in_const_expr_description' => '

    Static closures and first-class callables can now be used in constant expressions. This includes attribute parameters, default values of properties and parameters, and constants.

    ', + + 'new_classes_title' => 'Additional features and improvements', + 'fatal_error_backtrace' => 'Fatal Errors (such as an exceeded maximum execution time) now include a backtrace.', + 'const_attribute_target' => 'Attributes can now target constants.', + 'override_attr_properties' => '{0} attribute can now be applied to properties.', + 'deprecated_traits_constants' => '{0} attribute can be used on traits and constants.', + 'asymmetric_static_properties' => 'Static properties now support asymmetric visibility.', + 'final_promoted_properties' => 'Properties can be marked as final using constructor property promotion.', + 'closure_getCurrent' => 'Added Closure::getCurrent() method to simplify recursion in anonymous functions.', + 'partitioned_cookies' => 'The {0} and {1} functions now support the "partitioned" key.', + 'get_set_error_handler' => 'New {0} and {1} functions are available.', + 'new_dom_element_methods' => 'New {0} and {1} methods are available.', + 'grapheme_levenshtein' => 'Added {0} function.', + 'delayed_target_validation' => 'New {0} attribute can be used to suppress compile-time errors from core and extension attributes that are used on invalid targets.', + + 'bc_title' => 'Deprecations and backward compatibility breaks', + 'bc_backtick_operator' => 'The backtick operator as an alias for {0} has been deprecated.', + 'bc_non_canonical_cast_names' => 'Non-canonical cast names (boolean), (integer), (double), and (binary) have been deprecated. Use (bool), (int), (float), and (string) instead, respectively.', + 'bc_disable_classes' => 'The {0} INI setting has been removed as it causes various engine assumptions to be broken.', + 'bc_semicolon_after_case' => 'Terminating case statements with a semicolon instead of a colon has been deprecated.', + 'bc_null_array_offset' => 'Using null as an array offset or when calling {0} is now deprecated. Use an empty string instead.', + 'bc_class_alias_names' => 'It is no longer possible to use "array" and "callable" as class alias names in {0}.', + 'bc_sleep_wakeup' => 'The {0} and {1} magic methods have been soft-deprecated. The {2} and {3} magic methods should be used instead.', + 'bc_casting_nan' => 'A warning is now emitted when casting {0} to other types.', + 'bc_non_array_destructuring' => 'Destructuring non-array values (other than null) using {0} or {1} now emits a warning.', + 'bc_casting_non_int_floats' => 'A warning is now emitted when casting floats (or strings that look like floats) to int if they cannot be represented as one.', + + 'footer_title' => 'Better syntax, improved performance and type safety.', + 'footer_description' => '

    The full list of changes is recorded in the ChangeLog.

    Please consult the migration guide for a detailed list of new features and backward-incompatible changes.

    ', +]; diff --git a/public/releases/8.5/languages/es.php b/public/releases/8.5/languages/es.php new file mode 100644 index 0000000000..f5a0ab9f22 --- /dev/null +++ b/public/releases/8.5/languages/es.php @@ -0,0 +1,73 @@ + 'PHP 8.5 es una actualización importante del lenguaje PHP, con nuevas características que incluyen la Extensión URI, el Operador Pipe y soporte para modificar propiedades al clonar.', + 'main_title' => 'Más inteligente, más rápido, construido para el mañana.', + 'main_subtitle' => '

    PHP 8.5 es una actualización importante del lenguaje PHP, con nuevas características que incluyen la extensión URI, el operador Pipe y soporte para modificar propiedades al clonar.

    ', + + 'whats_new' => 'Novedades en 8.5', + 'upgrade_now' => 'Actualizar a PHP 8.5', + 'old_version' => 'PHP 8.4 y anteriores', + 'badge_new' => 'NUEVO', + 'documentation' => 'Doc', + 'released' => 'Lanzado el 20 de noviembre de 2025', + 'key_features' => 'Características clave en PHP 8.5', + 'key_features_description' => '

    Más rápido, limpio y construido para desarrolladores.

    ', + + 'features_pipe_operator_description' => '

    El operador |> permite encadenar callables de izquierda a derecha, pasando valores suavemente a través de múltiples funciones sin variables intermedias.

    ', + 'features_persistent_curl_share_handles_description' => '

    Los handles ahora pueden persistir a través de múltiples peticiones PHP, evitando el costo de inicialización repetida de conexiones a los mismos hosts.

    ', + 'features_clone_with_description' => '

    Clona objetos y actualiza propiedades con la nueva sintaxis clone(), simplificando el patrón en clases readonly.

    ', + 'features_uri_extension_description' => '

    PHP 8.5 añade una extensión URI integrada para analizar, normalizar y manejar URLs siguiendo los estándares RFC 3986 y WHATWG URL.

    ', + 'features_no_discard_description' => '

    El atributo #[\NoDiscard] advierte cuando un valor de retorno no se usa, ayudando a prevenir errores y mejorando la seguridad.

    ', + 'features_fcc_in_const_expr_description' => '

    Los closures estáticos y callables de primera clase ahora pueden usarse en expresiones constantes, como parámetros de atributos.

    ', + + 'pipe_operator_title' => 'Operador Pipe', + 'pipe_operator_description' => '

    El operador pipe permite encadenar llamadas a funciones sin tener que lidiar con variables intermedias. Esto permite reemplazar muchas "llamadas anidadas" con una cadena que se puede leer hacia adelante, en lugar de hacerlo de adentro hacia afuera.

    Aprende más sobre esta característica en el artículo de The PHP Foundation.

    ', + + 'array_first_last_title' => 'Funciones array_first() y array_last()', + 'array_first_last_description' => '

    Las funciones array_first() y array_last() devuelven el primer o último valor de un array, respectivamente. Si el array está vacío, se devuelve null (facilitando su usabilidad con el operador ??).

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    Ahora es posible actualizar propiedades durante la clonación de objetos pasando un array asociativo a la función clone(). Esto permite un soporte directo en las clases readonly.

    ', + + 'uri_extension_title' => 'Extensión URI', + 'uri_extension_description' => '

    La nueva extensión URI proporciona APIs para analizar y modificar de forma segura URIs y URLs de acuerdo con los estándares RFC 3986 y WHATWG URL.

    Desarrollado por las librerías uriparser (RFC 3986) y Lexbor (WHATWG URL).

    Aprende más sobre esta característica en el artículo de The PHP Foundation.

    ', + + 'no_discard_title' => 'Atributo #[\NoDiscard]', + 'no_discard_description' => '

    Al agregar el atributo #[\NoDiscard] a una función, PHP verificará si el valor devuelto se consume y emitirá una advertencia si no lo es. Esto permite mejorar la seguridad de APIs donde el valor devuelto es importante, pero se podría olvidar usar el valor de retorno por accidente.

    El cast (void) puede usarse para indicar que un valor no se usa intencionalmente.

    ', + + 'persistent_curl_share_handles_title' => 'Handles cURL Persistentes Compartidos', + 'persistent_curl_share_handles_description' => '

    A diferencia de curl_share_init(), los handles creados por curl_share_init_persistent() no serán destruidos al final de la petición PHP. Si se encuentra un handle persistente compartido con el mismo conjunto de opciones compartidas, será reutilizado, evitando el costo de inicializar handles cURL de nuevo.

    ', + + 'fcc_in_const_expr_title' => 'Closures y Callables de Primera Clase en Expresiones Constantes', + 'fcc_in_const_expr_description' => '

    Los closures estáticos y callables de primera clase ahora pueden usarse en expresiones constantes. Esto incluye parámetros de atributos, valores predeterminados de propiedades y parámetros, y constantes.

    ', + + 'new_classes_title' => 'Características y mejoras adicionales', + 'fatal_error_backtrace' => 'Los errores fatales (como el tiempo máximo de ejecución excedido) ahora incluyen un backtrace.', + 'const_attribute_target' => 'Los atributos ahora pueden apuntar a constantes.', + 'override_attr_properties' => 'El atributo {0} ahora puede aplicarse a propiedades.', + 'deprecated_traits_constants' => 'El atributo {0} puede usarse en traits y constantes.', + 'asymmetric_static_properties' => 'Las propiedades estáticas ahora soportan visibilidad asimétrica.', + 'final_promoted_properties' => 'Las propiedades pueden marcarse como final usando la promoción de propiedades en constructores.', + 'closure_getCurrent' => 'Se agregó el método Closure::getCurrent() para simplificar la recursión en funciones anónimas.', + 'partitioned_cookies' => 'Las funciones {0} y {1} ahora soportan la clave "partitioned".', + 'get_set_error_handler' => 'Las nuevas funciones {0} y {1} están disponibles.', + 'new_dom_element_methods' => 'Los nuevos métodos {0} y {1} están disponibles.', + 'grapheme_levenshtein' => 'Se agregó la función {0}.', + 'delayed_target_validation' => 'El nuevo atributo {0} puede usarse para suprimir errores en tiempo de compilación de atributos del núcleo y extensiones que se usan en destinos inválidos.', + + 'bc_title' => 'Deprecaciones y cambios de compatibilidad hacia atrás', + 'bc_backtick_operator' => 'El operador backtick como alias de {0} ha sido deprecado.', + 'bc_non_canonical_cast_names' => 'Los nombres de cast no canónicos (boolean), (integer), (double) y (binary) han sido deprecados. Use (bool), (int), (float) y (string) en su lugar, respectivamente.', + 'bc_disable_classes' => 'La configuración INI {0} ha sido eliminada ya que causa que se rompan varias suposiciones del motor.', + 'bc_semicolon_after_case' => 'Terminar sentencias case con punto y coma en lugar de dos puntos ha sido deprecado.', + 'bc_null_array_offset' => 'Usar null como offset en un array o al llamar {0} ahora está deprecado. Use una cadena vacía en su lugar.', + 'bc_class_alias_names' => 'Ya no es posible usar "array" y "callable" como nombres de alias de clase en {0}.', + 'bc_sleep_wakeup' => 'Los métodos mágicos {0} y {1} han sido deprecados. Los métodos mágicos {2} y {3} deben usarse en su lugar.', + 'bc_casting_nan' => 'Una advertencia es emitida al convertir {0} a otros tipos.', + 'bc_non_array_destructuring' => 'La desestructuración de valores no-array (distintos de null) usando {0} o {1} ahora emite una advertencia.', + 'bc_casting_non_int_floats' => 'Una advertencia es emitida al convertir floats (o cadenas que parecen floats) a int si no pueden representarse como uno.', + + 'footer_title' => 'Mejor sintaxis, rendimiento mejorado y seguridad de tipos.', + 'footer_description' => '

    La lista completa de cambios está registrada en el ChangeLog.

    Por favor consulte la guía de migración para una lista detallada de nuevas características y cambios incompatibles hacia atrás.

    ', +]; diff --git a/public/releases/8.5/languages/fr.php b/public/releases/8.5/languages/fr.php new file mode 100644 index 0000000000..9bb108811b --- /dev/null +++ b/public/releases/8.5/languages/fr.php @@ -0,0 +1,73 @@ + 'PHP 8.5 est une mise à jour majeure du langage PHP, avec de nouvelles fonctionnalités incluant l\'extension URI, l\'opérateur Pipe et la prise en charge de la modification des propriétés lors du clonage.', + 'main_title' => 'Plus intelligent, plus rapide, conçu pour le futur.', + 'main_subtitle' => '

    PHP 8.5 est une mise à jour majeure du langage PHP, avec de nouvelles fonctionnalités incluant l\'extension URI, l\'opérateur Pipe et la prise en charge de la modification des propriétés lors du clonage.

    ', + + 'whats_new' => 'Nouveautés de la version 8.5', + 'upgrade_now' => 'Passer à PHP 8.5', + 'old_version' => 'PHP 8.4 et versions antérieures', + 'badge_new' => 'NOUVEAU', + 'documentation' => 'Doc', + 'released' => 'Publié le 20 nov. 2025', + 'key_features' => 'Fonctionnalités clés de PHP 8.5', + 'key_features_description' => '

    Plus rapide, plus propre et conçu pour les développeurs.

    ', + + 'features_pipe_operator_description' => '

    L\'opérateur |> permet d\'enchaîner des callables de gauche à droite, en transmettant les valeurs fluidement à travers plusieurs fonctions sans variables intermédiaires.

    ', + 'features_persistent_curl_share_handles_description' => '

    Les handles peuvent désormais être conservés entre plusieurs requêtes PHP, évitant le coût de l\'initialisation répétée des connexions vers les mêmes hôtes.

    ', + 'features_clone_with_description' => '

    Clonez des objets et mettez à jour leurs propriétés grâce à la nouvelle syntaxe clone(), simplifiant le pattern « with-er » pour les classes readonly.

    ', + 'features_uri_extension_description' => '

    PHP 8.5 ajoute une extension URI native pour analyser, normaliser et gérer les URL conformément aux standards RFC 3986 et WHATWG URL.

    ', + 'features_no_discard_description' => '

    L\'attribut #[\NoDiscard] émet un avertissement lorsqu\'une valeur de retour n\'est pas utilisée, aidant à prévenir les erreurs et à améliorer la sécurité globale des API.

    ', + 'features_fcc_in_const_expr_description' => '

    Les closures statiques et les callables de première classe peuvent désormais être utilisés dans les expressions constantes, comme les paramètres d\'attributs.

    ', + + 'pipe_operator_title' => 'Opérateur Pipe', + 'pipe_operator_description' => '

    L\'opérateur pipe permet d\'enchaîner des appels de fonctions sans avoir recours à des variables intermédiaires. Il permet de remplacer de nombreux « appels imbriqués » par une chaîne qui se lit de gauche à droite, plutôt que de l\'intérieur vers l\'extérieur.

    Pour en savoir plus sur l\'histoire de cette fonctionnalité, consultez le blog de la PHP Foundation.

    ', + + 'array_first_last_title' => 'Fonctions array_first() et array_last()', + 'array_first_last_description' => '

    Les fonctions array_first() et array_last() retournent respectivement la première ou la dernière valeur d\'un tableau. Si le tableau est vide, null est retourné (ce qui facilite la composition avec l\'opérateur ??).

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    Il est désormais possible de mettre à jour des propriétés lors du clonage d\'un objet en passant un tableau associatif à la fonction clone(). Cela permet une prise en charge simple du pattern « with-er » pour les classes readonly.

    ', + + 'uri_extension_title' => 'Extension URI', + 'uri_extension_description' => '

    La nouvelle extension URI, toujours disponible, fournit des API pour analyser et modifier de manière sécurisée les URI et URL selon les standards RFC 3986 et WHATWG URL.

    Propulsée par les bibliothèques uriparser (RFC 3986) et Lexbor (WHATWG URL).

    Pour en savoir plus sur l\'histoire de cette fonctionnalité, consultez le blog de la PHP Foundation.

    ', + + 'no_discard_title' => 'Attribut #[\NoDiscard]', + 'no_discard_description' => '

    En ajoutant l\'attribut #[\NoDiscard] à une fonction, PHP vérifie si la valeur retournée est consommée et émet un avertissement dans le cas contraire. Cela permet d\'améliorer la sécurité des API pour lesquelles la valeur de retour est importante, mais peut facilement être oubliée par inadvertance.

    Le cast associé (void) peut être utilisé pour indiquer qu\'une valeur est intentionnellement ignorée.

    ', + + 'persistent_curl_share_handles_title' => 'Handles cURL partagés persistants', + 'persistent_curl_share_handles_description' => '

    Contrairement à curl_share_init(), les handles créés par curl_share_init_persistent() ne seront pas détruits à la fin de la requête PHP. Si un handle partagé persistant avec le même ensemble d\'options de partage est trouvé, il sera réutilisé, évitant ainsi le coût d\'initialisation des handles cURL à chaque fois.

    ', + + 'fcc_in_const_expr_title' => 'Closures et callables de première classe dans les expressions constantes', + 'fcc_in_const_expr_description' => '

    Les closures statiques et les callables de première classe peuvent désormais être utilisés dans les expressions constantes. Cela inclut les paramètres d\'attributs, les valeurs par défaut des propriétés et des paramètres, ainsi que les constantes.

    ', + + 'new_classes_title' => 'Fonctionnalités supplémentaires et améliorations', + 'fatal_error_backtrace' => 'Les erreurs fatales (comme le dépassement du temps d\'exécution maximum) incluent désormais une trace d\'appels.', + 'const_attribute_target' => 'Les attributs peuvent désormais cibler les constantes.', + 'override_attr_properties' => 'L\'attribut {0} peut désormais être appliqué aux propriétés.', + 'deprecated_traits_constants' => 'L\'attribut {0} peut être utilisé sur les traits et les constantes.', + 'asymmetric_static_properties' => 'Les propriétés statiques prennent désormais en charge la visibilité asymétrique.', + 'final_promoted_properties' => 'Les propriétés peuvent être marquées comme final via la promotion de propriétés dans le constructeur.', + 'closure_getCurrent' => 'Ajout de la méthode Closure::getCurrent() pour simplifier la récursion dans les fonctions anonymes.', + 'partitioned_cookies' => 'Les fonctions {0} et {1} prennent désormais en charge la clé « partitioned ».', + 'get_set_error_handler' => 'Les nouvelles fonctions {0} et {1} sont disponibles.', + 'new_dom_element_methods' => 'Les nouvelles méthodes {0} et {1} sont disponibles.', + 'grapheme_levenshtein' => 'Ajout de la fonction {0}.', + 'delayed_target_validation' => 'Le nouvel attribut {0} peut être utilisé pour supprimer les erreurs à la compilation provenant des attributs du noyau et des extensions utilisés sur des cibles invalides.', + + 'bc_title' => 'Dépréciations et ruptures de compatibilité ascendante', + 'bc_backtick_operator' => 'L\'opérateur backtick en tant qu\'alias de {0} a été déprécié.', + 'bc_non_canonical_cast_names' => 'Les noms de cast non canoniques (boolean), (integer), (double) et (binary) ont été dépréciés. Utilisez respectivement (bool), (int), (float) et (string) à la place.', + 'bc_disable_classes' => 'Le paramètre INI {0} a été supprimé car il entraîne des ruptures dans diverses hypothèses du moteur.', + 'bc_semicolon_after_case' => 'La terminaison des instructions case par un point-virgule au lieu d\'un deux-points a été dépréciée.', + 'bc_null_array_offset' => 'L\'utilisation de null comme décalage de tableau ou lors de l\'appel de {0} est désormais dépréciée. Utilisez une chaîne vide à la place.', + 'bc_class_alias_names' => 'Il n\'est plus possible d\'utiliser « array » et « callable » comme noms d\'alias de classe dans {0}.', + 'bc_sleep_wakeup' => 'Les méthodes magiques {0} et {1} ont été légèrement dépréciées. Les méthodes magiques {2} et {3} devraient être utilisées à la place.', + 'bc_casting_nan' => 'Un avertissement est désormais émis lors du cast de {0} vers d\'autres types.', + 'bc_non_array_destructuring' => 'La déstructuration de valeurs non-tableau (autres que null) avec {0} ou {1} émet désormais un avertissement.', + 'bc_casting_non_int_floats' => 'Un avertissement est désormais émis lors du cast de nombres flottants (ou de chaînes ressemblant à des flottants) en int s\'ils ne peuvent pas être représentés comme tels.', + + 'footer_title' => 'Une syntaxe améliorée, de meilleures performances et une sécurité de typage renforcée.', + 'footer_description' => '

    La liste complète des modifications est consignée dans le journal des modifications.

    Veuillez consulter le guide de migration pour une liste détaillée des nouvelles fonctionnalités et des changements incompatibles avec les versions précédentes.

    ', +]; diff --git a/public/releases/8.5/languages/ja.php b/public/releases/8.5/languages/ja.php new file mode 100644 index 0000000000..00fb9a6c07 --- /dev/null +++ b/public/releases/8.5/languages/ja.php @@ -0,0 +1,73 @@ + 'PHP 8.5 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚URI 拡張モジュールã€ãƒ‘イプ演算å­ã€ã‚¯ãƒ­ãƒ¼ãƒ³æ™‚ã®ãƒ—ロパティ変更機能ãªã©ã®æ–°æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚', + 'main_title' => 'より賢ãã€ã‚ˆã‚Šé€Ÿã。未æ¥ã¸å‘ã‘ã¦ã€‚', + 'main_subtitle' => '

    PHP 8.5 ã¯ã€PHP 言語ã®ãƒ¡ã‚¸ãƒ£ãƒ¼ã‚¢ãƒƒãƒ—デートã§ã™ã€‚URI 拡張モジュールã€ãƒ‘イプ演算å­ã€ã‚¯ãƒ­ãƒ¼ãƒ³æ™‚ã®ãƒ—ロパティ変更機能ãªã©ã®æ–°æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚

    ', + + 'whats_new' => '8.5 ã®æ–°æ©Ÿèƒ½', + 'upgrade_now' => 'PHP 8.5 ã«ã‚¢ãƒƒãƒ—グレード', + 'old_version' => 'PHP 8.4 以å‰', + 'badge_new' => 'NEW', + 'documentation' => 'Doc', + 'released' => '2025/11/20 リリース', + 'key_features' => 'PHP 8.5 ã®ä¸»ãªæ©Ÿèƒ½', + 'key_features_description' => '

    より速ãã€ã‚ˆã‚Šã‚¯ãƒªãƒ¼ãƒ³ã«ã€‚ãã—ã¦é–‹ç™ºè€…ã®ãŸã‚ã«ã€‚

    ', + + 'features_pipe_operator_description' => '

    |> 演算å­ã‚’使ã†ã¨ callable ã‚’å·¦ã‹ã‚‰å³ã«ãƒã‚§ã‚¤ãƒ³ã•ã›ã€ä¸­é–“変数を使ã‚ãšã«å€¤ã‚’複数ã®é–¢æ•°ã«ã‚¹ãƒ ãƒ¼ã‚ºã«å—ã‘æ¸¡ã›ã¾ã™ã€‚

    ', + 'features_persistent_curl_share_handles_description' => '

    ãƒãƒ³ãƒ‰ãƒ«ã‚’複数㮠PHP リクエストã«ã¾ãŸãŒã£ã¦æŒç¶šã•ã›ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚åŒã˜ãƒ›ã‚¹ãƒˆã¸ã®æŽ¥ç¶šåˆæœŸåŒ–を繰り返ã™ã‚³ã‚¹ãƒˆã‚’é¿ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

    ', + 'features_clone_with_description' => '

    æ–°ã—ã„ clone() æ§‹æ–‡ã§ã‚ªãƒ–ジェクトを clone ã—ã¦ãƒ—ロパティを更新ã—ã¾ã™ã€‚readonly クラス㮠"with-er" パターンãŒç°¡æ½”ã«ãªã‚Šã¾ã™ã€‚

    ', + 'features_uri_extension_description' => '

    URL ã®ãƒ‘ãƒ¼ã‚¹ã€æ­£è¦åŒ–ã€å‡¦ç†ã‚’è¡Œã†æ–°ã—ã„組ã¿è¾¼ã¿ã® URI 拡張モジュール㌠PHP 8.5 ã§è¿½åŠ ã•れã¾ã—ãŸã€‚

    ', + 'features_no_discard_description' => '

    #[\NoDiscard] アトリビュートを使ã†ã¨ã€æˆ»ã‚Šå€¤ãŒåˆ©ç”¨ã•れã¦ã„ãªã„å ´åˆã«è­¦å‘Šã‚’出ã—ã¾ã™ã€‚ミスを防ãŽå…¨ä½“ã® API 安全性をå‘上ã™ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚

    ', + 'features_fcc_in_const_expr_description' => '

    static ãªã‚¯ãƒ­ãƒ¼ã‚¸ãƒ£ã¨ç¬¬ä¸€ç´š callable ãŒã€ã‚¢ãƒˆãƒªãƒ“ュートã®å¼•æ•°ãªã©ã®å®šæ•°å¼ã§ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

    ', + + 'pipe_operator_title' => 'パイプ演算å­', + 'pipe_operator_description' => '

    パイプ演算å­ã‚’使ã†ã¨ã€ä¸­é–“変数を扱ã†ã“ã¨ãªã複数ã®é–¢æ•°å‘¼ã³å‡ºã—を繋ã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã«ã‚ˆã£ã¦ãŸãã•ã‚“ã®ã€Œå…¥ã‚Œå­å‘¼ã³å‡ºã—ã€ã‚’ç½®ãæ›ãˆã€ä¸­ã‹ã‚‰å¤–ã§ã¯ãªãå…ˆã«å‘ã‹ã£ã¦èª­ã‚€ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

    ã“ã®æ©Ÿèƒ½ã®èƒŒæ™¯ã«ã¤ã„ã¦è©³ã—ã㯠PHP Foundation ã®ãƒ–ログをãŠèª­ã¿ãã ã•ã„。

    ', + + 'array_first_last_title' => 'array_first() ・ array_last() 関数', + 'array_first_last_description' => '

    array_first()ã€array_last() 関数ã¯ã€ãれãžã‚Œé…åˆ—ã®æœ€åˆã¨æœ€å¾Œã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚空é…列ã®å ´åˆã¯ null ã‚’è¿”ã—ã¾ã™ï¼ˆãã®ãŸã‚ ?? 演算å­ã¨çµ„ã¿åˆã‚ã›ã‚„ã™ã„ã§ã™ï¼‰ã€‚

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    clone() 関数ã«é€£æƒ³é…列を渡ã™ã“ã¨ã§ã€ã‚ªãƒ–ジェクトã®ã‚¯ãƒ­ãƒ¼ãƒ³æ™‚ã«ãƒ—ロパティを更新ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“れã«ã‚ˆã£ã¦ã€readonly クラス㮠"with-er" パターンを簡å˜ã«å®Ÿè£…ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

    ', + + 'uri_extension_title' => 'URI 拡張モジュール', + 'uri_extension_description' => '

    å¸¸ã«æœ‰åŠ¹ãªæ–°ã—ã„ URI 拡張モジュールã¯ã€RFC 3986 㨠WHATWG URL 標準ã«ã—ãŸãŒã£ã¦ URI ã‚„ URL を安全ã«ãƒ‘ース・編集ã§ãã‚‹ API ã‚’æä¾›ã—ã¾ã™ã€‚

    uriparser (RFC 3986) 㨠Lexbor (WHATWG URL) ライブラリを利用ã—ã¦ã„ã¾ã™ã€‚

    ã“ã®æ©Ÿèƒ½ã®èƒŒæ™¯ã¯ PHP Foundation ã®ãƒ–ログをãŠèª­ã¿ãã ã•ã„。

    ', + + 'no_discard_title' => '#[\NoDiscard] アトリビュート', + 'no_discard_description' => '

    #[\NoDiscard] アトリビュートを関数ã«è¿½åŠ ã™ã‚‹ã¨ã€æˆ»ã‚Šå€¤ãŒåˆ©ç”¨ã•れãŸã‹ã‚’ PHP ãŒãƒã‚§ãƒƒã‚¯ã—ã€ã•れã¦ã„ãªã‘れã°è­¦å‘Šã‚’出ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€æˆ»ã‚Šå€¤ãŒé‡è¦ãªã®ã«ãれを利用ã™ã‚‹ã“ã¨ã‚’ã†ã£ã‹ã‚Šå¿˜ã‚Œã‚„ã™ã„ API ã®å®‰å…¨æ€§ã‚’高ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

    関連ã™ã‚‹ (void) キャストを使ã†ã¨ã€æˆ»ã‚Šå€¤ã‚’使ã£ã¦ã„ãªã„ã®ãŒæ„図的ã§ã‚ã‚‹ã“ã¨ã‚’明示ã§ãã¾ã™ã€‚

    ', + + 'persistent_curl_share_handles_title' => 'æŒç¶šçš„㪠cURL 共有ãƒãƒ³ãƒ‰ãƒ«', + 'persistent_curl_share_handles_description' => '

    curl_share_init() ã¨é•ã„ã€curl_share_init_persistent() ã§ä½œã‚‰ã‚ŒãŸãƒãƒ³ãƒ‰ãƒ«ã¯ PHP ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆçµ‚了時ã«ç ´æ£„ã•れã¾ã›ã‚“。もã—åŒã˜ã‚ªãƒ—ションãŒè¨­å®šã•ã‚ŒãŸæŒç¶šçš„ãªå…±æœ‰ãƒãƒ³ãƒ‰ãƒ«ãŒå­˜åœ¨ã™ã‚Œã°ãれãŒå†åˆ©ç”¨ã•れるãŸã‚ã€cURL ãƒãƒ³ãƒ‰ãƒ«ã‚’æ¯Žå›žåˆæœŸåŒ–ã™ã‚‹ã‚³ã‚¹ãƒˆã‚’é¿ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

    ', + + 'fcc_in_const_expr_title' => '定数å¼ã§ã®ã‚¯ãƒ­ãƒ¼ã‚¸ãƒ£ã¨ç¬¬ä¸€ç´š callable', + 'fcc_in_const_expr_description' => '

    static ãªã‚¯ãƒ­ãƒ¼ã‚¸ãƒ£ã¨ç¬¬ä¸€ç´š callable ãŒå®šæ•°å¼ã§åˆ©ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã“れã¯ã‚¢ãƒˆãƒªãƒ“ュートã®å¼•æ•°ã€ãƒ—ロパティやパラメータã®ãƒ‡ãƒ•ォルト値ã€å®šæ•°ã‚’å«ã¿ã¾ã™ã€‚

    ', + + 'new_classes_title' => 'ãã®ä»–ã®æ–°æ©Ÿèƒ½ãƒ»æ”¹å–„', + 'fatal_error_backtrace' => 'Fatal ã‚¨ãƒ©ãƒ¼ï¼ˆå®Ÿè¡Œæ™‚é–“ã®æœ€å¤§å€¤ã®è¶…éŽãªã©ï¼‰ã«ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ãŒå«ã¾ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚', + 'const_attribute_target' => 'アトリビュートãŒå®šæ•°ã‚’対象ã«ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + 'override_attr_properties' => '{0} アトリビュートをプロパティã«é©ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + 'deprecated_traits_constants' => '{0} アトリビュートをトレイトã¨å®šæ•°ã«ä½¿ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + 'asymmetric_static_properties' => 'static プロパティã§éžå¯¾ç§°å¯è¦–性を利用ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + 'final_promoted_properties' => 'コンストラクタã®ãƒ—ロモーションã§ã€ãƒ—ロパティを final ã«ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚', + 'closure_getCurrent' => 'ç„¡å関数ã®å†å¸°ã‚’ç°¡å˜ã«è¡Œã†ãŸã‚ã® Closure::getCurrent() メソッドãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'partitioned_cookies' => '関数 {0} 㨠{1} ã§ "partitioned" キーãŒåˆ©ç”¨ã§ãã¾ã™ã€‚', + 'get_set_error_handler' => '{0} 㨠{1} 関数ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'new_dom_element_methods' => '{0} 㨠{1} メソッドãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'grapheme_levenshtein' => '{0} 関数ãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + 'delayed_target_validation' => 'PHP ã‚³ã‚¢ã¨æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ã‚¢ãƒˆãƒªãƒ“ãƒ¥ãƒ¼ãƒˆã‚’ä¸æ­£ãªã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«åˆ©ç”¨ã—ãŸã¨ãã«ç™ºç”Ÿã™ã‚‹ã‚³ãƒ³ãƒ‘イル時エラーを抑制ã™ã‚‹ {0} アトリビュートãŒè¿½åŠ ã•れã¾ã—ãŸã€‚', + + 'bc_title' => '推奨ã•れãªããªã‚‹æ©Ÿèƒ½ãƒ»ä¸‹ä½äº’æ›æ€§ã®ãªã„変更', + 'bc_backtick_operator' => '{0} ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã¨ã—ã¦ä½¿ã‚れã¦ã„ã‚‹ãƒãƒƒã‚¯ã‚¯ã‚©ãƒ¼ãƒˆæ¼”ç®—å­ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_non_canonical_cast_names' => 'æ­£è¦åŒ–ã•れã¦ã„ãªã„åž‹å (boolean), (integer), (double), (binary) ã§ã®ã‚­ãƒ£ã‚¹ãƒˆã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚ 代ã‚りã«ãれãžã‚Œ (bool), (int), (float), (string) を使ã£ã¦ãã ã•ã„。', + 'bc_disable_classes' => 'ã•ã¾ã–ã¾ãª PHP ã‚¨ãƒ³ã‚¸ãƒ³ã®æƒ³å®šã‚’壊ã—ã¦ã—ã¾ã†ãŸã‚ã€{0} INI ディレクティブã¯å‰Šé™¤ã•れã¾ã—ãŸã€‚', + 'bc_semicolon_after_case' => 'case æ–‡ã®æœ«å°¾ã«ã‚³ãƒ­ãƒ³ã§ã¯ãªãセミコロンを使ã†ã“ã¨ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_null_array_offset' => 'é…列ã®ã‚ªãƒ•セットや {0} ã®å¼•æ•°ã« null を使ã†ã“ã¨ã¯æŽ¨å¥¨ã•れãªããªã‚Šã¾ã—ãŸã€‚代ã‚りã«ç©ºæ–‡å­—列を使ã£ã¦ãã ã•ã„。', + 'bc_class_alias_names' => '{0} ã§ã‚¯ãƒ©ã‚¹åã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã« "array" 㨠"callable" を使ã†ã“ã¨ã¯ã§ããªããªã‚Šã¾ã—ãŸã€‚', + 'bc_sleep_wakeup' => 'マジックメソッド {0} 㨠{1} 㯠soft-deprecated ã«ãªã‚Šã¾ã—ãŸã€‚代ã‚り㫠{2} 㨠{3} を使ã£ã¦ãã ã•ã„。', + 'bc_casting_nan' => '{0} ã‚’ä»–ã®åž‹ã«ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹ã¨è­¦å‘ŠãŒå‡ºã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_non_array_destructuring' => 'é…列ã§ã¯ãªã„値(null を除ã)を {0} ã‚„ {1} ã§åˆ†è§£ã™ã‚‹ã¨è­¦å‘ŠãŒå‡ºã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + 'bc_casting_non_int_floats' => 'float(ã¾ãŸã¯æ•°å€¤å½¢å¼ã®æ–‡å­—列)を int ã«ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹éš›ã€ãã®å€¤ã‚’ int ã¨ã—ã¦è¡¨ç¾ã§ããªã„å ´åˆã«è­¦å‘ŠãŒå‡ºã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚', + + 'footer_title' => 'ã‚ˆã‚Šè‰¯ã„æ§‹æ–‡ã€é€²åŒ–ã—ãŸãƒ‘フォーマンスã¨åž‹å®‰å…¨æ€§ã€‚', + 'footer_description' => '

    変更点ã®å®Œå…¨ãªä¸€è¦§ã¯ChangeLogã‚’ã”覧ãã ã•ã„。

    新機能や下ä½äº’æ›æ€§ã®ãªã„変更ã®è©³ç´°ã«ã¤ã„ã¦ã¯ 移行ガイド ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    ', +]; diff --git a/public/releases/8.5/languages/pt_BR.php b/public/releases/8.5/languages/pt_BR.php new file mode 100644 index 0000000000..eddef93304 --- /dev/null +++ b/public/releases/8.5/languages/pt_BR.php @@ -0,0 +1,73 @@ + 'PHP 8.5 é uma atualização importante da linguagem PHP, trazendo novos recursos como a extensão URI, o operador Pipe e suporte para modificar propriedades durante a clonagem.', + 'main_title' => 'Mais inteligente, mais rápido, preparado para o futuro.', + 'main_subtitle' => '

    PHP 8.5 é uma atualização importante da linguagem PHP, com novos recursos como a extensão URI, o operador Pipe e suporte para modificar propriedades durante a clonagem.

    ', + + 'whats_new' => 'Novidades no 8.5', + 'upgrade_now' => 'Atualize para PHP 8.5', + 'old_version' => 'PHP 8.4 e anteriores', + 'badge_new' => 'NOVO', + 'documentation' => 'Doc', + 'released' => 'Lançado em 20 de Novembro de 2025', + 'key_features' => 'Principais recursos do PHP 8.5', + 'key_features_description' => '

    Mais rápido, mais limpo e feito para desenvolvedores.

    ', + + 'features_pipe_operator_description' => '

    O operador |> permite encadear funções da esquerda para a direita, passando valores entre múltiplas chamadas sem variáveis intermediárias.

    ', + 'features_persistent_curl_share_handles_description' => '

    Agora é possível manter handles compartilhados entre várias requisições PHP, evitando o custo de inicializar conexões repetidas para os mesmos hosts.

    ', + 'features_clone_with_description' => '

    Clone objetos e atualize propriedades usando a nova sintaxe clone(), facilitando o padrão “with-er†para classes readonly.

    ', + 'features_uri_extension_description' => '

    O PHP 8.5 adiciona uma extensão nativa para analisar, normalizar e manipular URLs seguindo os padrões RFC 3986 e WHATWG URL.

    ', + 'features_no_discard_description' => '

    O atributo #[\NoDiscard] emite um aviso quando o valor de retorno não é usado, ajudando a evitar erros e aumentando a segurança de APIs.

    ', + 'features_fcc_in_const_expr_description' => '

    Closures estáticas e first-class callables agora podem ser usadas em expressões constantes, como parâmetros de atributos.

    ', + + 'pipe_operator_title' => 'Operador Pipe', + 'pipe_operator_description' => '

    O operador pipe permite encadear chamadas de função sem lidar com variáveis intermediárias. Isso substitui chamadas aninhadas por um fluxo mais legível de cima para baixo.

    Saiba mais sobre os bastidores desse recurso no blog da The PHP Foundation.

    ', + + 'array_first_last_title' => 'Funções array_first() e array_last()', + 'array_first_last_description' => '

    As funções array_first() e array_last() retornam, respectivamente, o primeiro ou o último valor de um array. Se o array estiver vazio, retornam null, o que facilita o uso com o operador ??.

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    Agora é possível modificar propriedades durante a clonagem passando um array associativo para a função clone(). Isso simplifica o padrão “with-er†para classes readonly.

    ', + + 'uri_extension_title' => 'Extensão URI', + 'uri_extension_description' => '

    A nova extensão URI, sempre disponível, fornece APIs para analisar e modificar URIs e URLs seguindo os padrões RFC 3986 e WHATWG URL.

    Baseada nas bibliotecas uriparser (RFC 3986) e Lexbor (WHATWG URL).

    Saiba mais sobre esse recurso no blog da The PHP Foundation.

    ', + + 'no_discard_title' => 'Atributo #[\NoDiscard]', + 'no_discard_description' => '

    Ao marcar uma função com #[\NoDiscard], o PHP verificará se o valor retornado foi usado e emitirá um aviso caso não seja. Isso aumenta a segurança de APIs em que o retorno é importante, mas pode ser facilmente ignorado.

    O cast (void) pode ser usado para indicar que o valor está sendo descartado intencionalmente.

    ', + + 'persistent_curl_share_handles_title' => 'cURL Share Handles Persistentes', + 'persistent_curl_share_handles_description' => '

    Diferente de curl_share_init(), handles criados com curl_share_init_persistent() não são destruídos ao final da requisição PHP. Se um handle persistente com o mesmo conjunto de opções for encontrado, ele será reutilizado, evitando o custo de inicializar o cURL a cada requisição.

    ', + + 'fcc_in_const_expr_title' => 'Closures e First-Class Callables em Expressões Constantes', + 'fcc_in_const_expr_description' => '

    Closures estáticas e first-class callables agora podem ser usadas em expressões constantes, incluindo parâmetros de atributos, valores padrão de propriedades e parâmetros, além de constantes.

    ', + + 'new_classes_title' => 'Recursos e melhorias adicionais', + 'fatal_error_backtrace' => 'Erros fatais (como tempo máximo de execução excedido) agora exibem um backtrace.', + 'const_attribute_target' => 'Atributos agora podem ter como alvo constantes.', + 'override_attr_properties' => 'Atributo {0} agora pode ser aplicado a propriedades.', + 'deprecated_traits_constants' => 'O atributo {0} pode ser usado em traits e constantes.', + 'asymmetric_static_properties' => 'Propriedades estáticas agora suportam visibilidade assimétrica.', + 'final_promoted_properties' => 'Propriedades promovidas no construtor podem ser marcadas como final.', + 'closure_getCurrent' => 'Adicionado o método Closure::getCurrent() para simplificar recursão em funções anônimas.', + 'partitioned_cookies' => 'As funções {0} e {1} agora suportam a chave "partitioned".', + 'get_set_error_handler' => 'Novas funções {0} e {1} estão disponíveis.', + 'new_dom_element_methods' => 'Novos métodos {0} e {1} estão disponíveis.', + 'grapheme_levenshtein' => 'Nova função {0}.', + 'delayed_target_validation' => 'O novo atributo {0} pode ser usado para suprimir erros de compilação de atributos do core e de extensões aplicados a alvos inválidos.', + + 'bc_title' => 'Descontinuações e quebras de compatibilidade', + 'bc_backtick_operator' => 'O operador backtick como alias de {0} foi descontinuado.', + 'bc_non_canonical_cast_names' => 'Casts não canônicos (boolean), (integer), (double) e (binary) foram descontinuados. Use (bool), (int), (float) e (string).', + 'bc_disable_classes' => 'A diretiva INI {0} foi removida por quebrar várias garantias internas do engine.', + 'bc_semicolon_after_case' => 'Finalizar declarações case com ponto e vírgula, ao invés de dois pontos, foi descontinuado.', + 'bc_null_array_offset' => 'Usar null como índice de array ou ao chamar {0} agora é descontinuado. Use string vazia.', + 'bc_class_alias_names' => 'Não é mais possível usar "array" e "callable" como nomes de alias de classe em {0}.', + 'bc_sleep_wakeup' => 'Os métodos mágicos {0} e {1} foram suavemente descontinuados. Use {2} e {3}.', + 'bc_casting_nan' => 'Agora um aviso é emitido ao converter {0} para outros tipos.', + 'bc_non_array_destructuring' => 'Desestruturar valores que não sejam arrays (exceto null) usando {0} ou {1} agora emite um aviso.', + 'bc_casting_non_int_floats' => 'Agora um aviso é emitido ao converter floats (ou strings que parecem floats) para int quando o valor não pode ser representado como inteiro.', + + 'footer_title' => 'Melhor desempenho, sintaxe aprimorada e maior segurança de tipos.', + 'footer_description' => '

    A lista completa de mudanças está registrada no ChangeLog.

    Consulte o guia de migração para uma lista detalhada de novos recursos e alterações incompatíveis.

    ', +]; diff --git a/public/releases/8.5/languages/ru.php b/public/releases/8.5/languages/ru.php new file mode 100644 index 0000000000..8fa163b91a --- /dev/null +++ b/public/releases/8.5/languages/ru.php @@ -0,0 +1,73 @@ + 'PHP 8.5 — большое обновление Ñзыка PHP Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ URI, оператор Pipe и поддержку Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑвойÑтв при клонировании.', + 'main_title' => 'Лучше, быÑтрее, надолго.', + 'main_subtitle' => '

    PHP 8.5 — большое обновление Ñзыка PHP. Оно Ñодержит множеÑтво новых возможноÑтей, таких как модуль URI, оператор Pipe, поддержка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑвойÑтв при клонировании и многое другое.

    ', + + 'whats_new' => 'Что нового в 8.5', + 'upgrade_now' => 'Переходите на PHP 8.5!', + 'old_version' => 'PHP 8.4 и ранее', + 'badge_new' => 'Ðовинка', + 'documentation' => 'ДокументациÑ', + 'released' => 'Выпущен 20 ноÑÐ±Ñ€Ñ 2025', + 'key_features' => 'ОÑновные функции PHP 8.5', + 'key_features_description' => '

    БыÑтрее, лучше, доÑтупнее Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð².

    ', + + 'features_pipe_operator_description' => '

    Оператор |> позволÑет ÑвÑзывать вызываемые объекты Ñлева направо, Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· неÑколько функций без промежуточных переменных.

    ', + 'features_persistent_curl_share_handles_description' => '

    Теперь деÑкрипторы могут ÑохранÑтьÑÑ Ð¼ÐµÐ¶Ð´Ñƒ неÑколькими запроÑами PHP, что позволÑет избежать затрат на повторную инициализацию ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð¾Ð´Ð½Ð¸Ð¼Ð¸ и теми же хоÑтами.

    ', + 'features_clone_with_description' => '

    Клонируйте объекты и обновлÑйте ÑвойÑтва Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ нового ÑинтакÑиÑа clone(), который упрощает иÑпользование шаблона «with-er» Ð´Ð»Ñ ÐºÐ»Ð°ÑÑов readonly.

    ', + 'features_uri_extension_description' => '

    Ð’ PHP 8.5 добавлен модуль URI Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°, нормализации и обработки URL-адреÑов в ÑоответÑтвии Ñо Ñтандартами RFC 3986 и WHATWG URL.

    ', + 'features_no_discard_description' => '

    Ðтрибут #[\NoDiscard] выдаёт предупреждение, еÑли возвращаемое значение не иÑпользуетÑÑ, что помогает предотвратить ошибки и повыÑить общую безопаÑноÑть API.

    ', + 'features_fcc_in_const_expr_description' => '

    СтатичеÑкие Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ Ð¸ вызываемые объекты первого клаÑÑа теперь могут иÑпользоватьÑÑ Ð² конÑтантных выражениÑÑ…, таких как параметры атрибутов.

    ', + + 'pipe_operator_title' => 'Оператор Pipe', + 'pipe_operator_description' => '

    Оператор Pipe позволÑет ÑвÑзывать вызовы функций в цепочку без иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ñ‹Ñ… переменных. ПозволÑет заменить множеÑтво «вложенных вызовов» цепочкой.

    Узнайте больше об Ñтой функции в блоге PHP Foundation.

    ', + + 'array_first_last_title' => 'Функции array_first() и array_last()', + 'array_first_last_description' => '

    Функции array_first() и array_last() возвращают первое или поÑледнее значение маÑÑива, ÑоответÑтвенно. ЕÑли маÑÑив пуÑтой, возвращаетÑÑ null (что упрощает работу Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ??).

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    Теперь можно обновлÑть ÑвойÑтва во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð², Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ñ Ð°ÑÑоциативный маÑÑив в функцию clone(). Это позволит напрÑмую поддерживать паттерн «with-er» Ð´Ð»Ñ ÐºÐ»Ð°ÑÑов readonly.

    ', + + 'uri_extension_title' => 'Модуль URI', + 'uri_extension_description' => '

    Ð’Ñтроенный модуль URI предоÑтавлÑет API Ð´Ð»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñного анализа и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ URI и URL в ÑоответÑтвии Ñо Ñтандартами RFC 3986 и WHATWG URL.

    Работает на базе библиотек uriparser (RFC 3986) и Lexbor (WHATWG URL).

    Узнайте больше об Ñтой функции в блоге PHP Foundation.

    ', + + 'no_discard_title' => 'Ðтрибут #[\NoDiscard]', + 'no_discard_description' => '

    Добавив атрибут #[\NoDiscard] к функции, PHP будет проверÑть, иÑпользуетÑÑ Ð»Ð¸ возвращаемое значение, и выдавать предупреждение, еÑли Ñто не так. ПозволÑет повыÑить безопаÑноÑть API, где возвращаемое значение важно, но про него можно легко забыть.

    СвÑзанное приведение типов (void) может иÑпользоватьÑÑ Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ, что значение намеренно не иÑпользуетÑÑ.

    ', + + 'persistent_curl_share_handles_title' => 'ПоÑтоÑнные деÑкрипторы cURL Share', + 'persistent_curl_share_handles_description' => '

    Ð’ отличие от curl_share_init(), деÑкрипторы, Ñозданные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ curl_share_init_persistent(), не будут уничтожены в конце запроÑа PHP. ЕÑли найден поÑтоÑнный деÑкриптор Ñ Ñ‚ÐµÐ¼ же набором параметров, он будет иÑпользован повторно, что позволит избежать затрат на повторную инициализацию деÑкрипторов cURL при каждом запроÑе.', + + 'fcc_in_const_expr_title' => 'Ð—Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ Ð¸ вызовы первого клаÑÑа в конÑтантных выражениÑÑ…', + 'fcc_in_const_expr_description' => '

    СтатичеÑкие Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ Ð¸ вызываемые объекты первого клаÑÑа теперь могут иÑпользоватьÑÑ Ð² конÑтантных выражениÑÑ…. Сюда входÑÑ‚ параметры атрибутов, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию ÑвойÑтв и параметров, а также конÑтанты.

    ', + + 'new_classes_title' => 'Дополнительные функции и улучшениÑ', + 'fatal_error_backtrace' => 'Фатальные ошибки (такие как превышение макÑимального времени выполнениÑ) теперь Ñодержат обратную траÑÑировку.', + 'const_attribute_target' => 'Ðтрибуты теперь можно иÑпользовать Ñ ÐºÐ¾Ð½Ñтантами.', + 'override_attr_properties' => 'Ðтрибут {0} теперь может иÑпользоватьÑÑ Ñо ÑвойÑтвами.', + 'deprecated_traits_constants' => 'Ðтрибут {0} теперь может иÑпользоватьÑÑ Ñ Ñ‚Ñ€ÐµÐ¹Ñ‚Ð°Ð¼Ð¸ и конÑтантами.', + 'asymmetric_static_properties' => 'СтатичеÑкие ÑвойÑтва теперь поддерживают аÑимметричную видимоÑть.', + 'final_promoted_properties' => 'СвойÑтва могут быть помечены окончательными (final) Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑвойÑтв в конÑтрукторе.', + 'closure_getCurrent' => 'Добавлен метод Closure::getCurrent() Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ Ñ€ÐµÐºÑƒÑ€Ñии в анонимных функциÑÑ….', + 'partitioned_cookies' => 'Функции {0} и {1} теперь поддерживают ключ "partitioned".', + 'get_set_error_handler' => 'Добавлены функции {0} и {1}.', + 'new_dom_element_methods' => 'Добавлены методы {0} и {1}.', + 'grapheme_levenshtein' => 'Добавлена Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ {0}.', + 'delayed_target_validation' => 'Добавлен атрибут {0}, который можно иÑпользовать Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº компилÑции атрибутов Ñдра и модулей, которые иÑпользуютÑÑ Ð½Ð° недопуÑтимых целÑÑ….', + + 'bc_title' => 'УÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² обратной ÑовмеÑтимоÑти', + 'bc_backtick_operator' => 'Обратный апоÑтроф (`) как пÑевдоним Ð´Ð»Ñ {0} больше не поддерживаетÑÑ.', + 'bc_non_canonical_cast_names' => 'ÐеканоничеÑкие имена типов (boolean), (integer), (double) и (binary) больше не поддерживаютÑÑ. ВмеÑто них иÑпользуйте ÑоответÑтвенно (bool), (int), (float) и (string).', + 'bc_disable_classes' => 'INI-наÑтройка {0} была удалена, так как она приводила к нарушению различных допущений движка.', + 'bc_semicolon_after_case' => 'Завершение операторов case точкой Ñ Ð·Ð°Ð¿Ñтой вмеÑто Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ не поддерживаетÑÑ.', + 'bc_null_array_offset' => 'ИÑпользование null в качеÑтве ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑива или при вызове {0} объÑвлено уÑтаревшим. ВмеÑто Ñтого иÑпользуйте пуÑтую Ñтроку.', + 'bc_class_alias_names' => 'Ð’ {0} больше Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать маÑÑивы и Ð·Ð°Ð¼Ñ‹ÐºÐ°Ð½Ð¸Ñ Ð² качеÑтве пÑевдонимов клаÑÑов.', + 'bc_sleep_wakeup' => 'МагичеÑкие методы {0} и {1} были мÑгко объÑвлены уÑтаревшими. ВмеÑто них Ñледует иÑпользовать магичеÑкие методы {2} и {3}.', + 'bc_casting_nan' => 'Теперь при преобразовании {0} в другие типы выдаётÑÑ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ.', + 'bc_non_array_destructuring' => 'ДеÑÑ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹, не ÑвлÑющихÑÑ Ð¼Ð°ÑÑивами (кроме null), Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ {0} или {1} теперь выдаёт предупреждение.', + 'bc_casting_non_int_floats' => 'Теперь выдаётÑÑ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ при преобразовании чиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой (или Ñтрок, похожих на чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой) в целые чиÑла (int), еÑли они не могут быть предÑтавлены в виде целого чиÑла.', + + 'footer_title' => 'Выше производительноÑть, лучше ÑинтакÑиÑ, надёжнее ÑиÑтема типов.', + 'footer_description' => '

    СпиÑок изменений перечиÑлен на Ñтранице ChangeLog.

    РуководÑтво по миграции доÑтупно в разделе документации. ОзнакомьтеÑÑŒ Ñ Ð½Ð¸Ð¼, чтобы узнать обо вÑех новых возможноÑÑ‚ÑÑ… и изменениÑÑ…, затрагивающих обратную ÑовмеÑтимоÑть.

    ', +]; diff --git a/public/releases/8.5/languages/tr.php b/public/releases/8.5/languages/tr.php new file mode 100644 index 0000000000..1f0a6ca766 --- /dev/null +++ b/public/releases/8.5/languages/tr.php @@ -0,0 +1,73 @@ + 'PHP 8.5, PHP dilinin büyük bir güncellemesidir ve URI Uzantısı, Pipe Operatörü ve nesne klonlama sırasında özellikleri değiştirme desteği gibi yeni özellikler içerir.', + 'main_title' => 'Daha Akıllı, Daha Hızlı, Yarına Hazır.', + 'main_subtitle' => '

    PHP 8.5, PHP dilinin büyük bir güncellemesidir, URI uzantısı, Pipe operatörü ve klonlama sırasında özellikleri değiştirme desteği gibi yeni özellikler içerir.

    ', + + 'whats_new' => '8.5\'te Neler Yeni', + 'upgrade_now' => 'PHP 8.5\'e Yükseltin', + 'old_version' => 'PHP 8.4 ve öncesi', + 'badge_new' => 'YENİ', + 'documentation' => 'Doküman', + 'released' => 'Yayınlanma: 20 Kasım 2025', + 'key_features' => 'PHP 8.5’in Temel Özellikleri', + 'key_features_description' => '

    Daha hızlı, daha temiz ve geliştiriciler için tasarlanmış.

    ', + + 'features_pipe_operator_description' => '

    |> operatörü, fonksiyonları soldan sağa zincirlemenizi sağlar ve değerleri ara değişken kullanmadan sorunsuz şekilde birden fazla fonksiyona geçirir.

    ', + 'features_persistent_curl_share_handles_description' => '

    Handle’lar artık birden fazla PHP isteği boyunca kalıcı olabilir, aynı hostlara tekrar bağlantı başlatma maliyetini ortadan kaldırır.

    ', + 'features_clone_with_description' => '

    Nesneleri klonlarken özellikleri yeni clone() sözdizimi ile güncellemek mümkündür, bu da readonly sınıflar için "with-er" desenini basitleştirir.

    ', + 'features_uri_extension_description' => '

    PHP 8.5, RFC 3986 ve WHATWG URL standartlarına uygun URL’leri ayrıştırmak, normalize etmek ve yönetmek için yerleşik bir URI uzantısı ekler.

    ', + 'features_no_discard_description' => '

    #[\NoDiscard] özelliği, döndürülen değer kullanılmadığında uyarı verir, böylece hataları önler ve API güvenliğini artırır.

    ', + 'features_fcc_in_const_expr_description' => '

    Artık statik closure’lar ve birinci sınıf callable’lar sabit ifadelerde kullanılabilir, örneğin attribute parametrelerinde.

    ', + + 'pipe_operator_title' => 'Pipe Operatörü', + 'pipe_operator_description' => '

    Pipe operatörü, fonksiyon çağrılarını ara değişkenlerle uğraşmadan zincirlemenizi sağlar. Bu, iç içe geçmiş birçok çağrıyı ileri doğru okunabilecek bir zincir ile değiştirmenize olanak tanır.

    Bu özelliğin arka planını öğrenmek için PHP Foundation blogu’na bakabilirsiniz.

    ', + + 'array_first_last_title' => 'array_first() ve array_last() fonksiyonları', + 'array_first_last_description' => '

    array_first() ve array_last() fonksiyonları sırasıyla bir dizinin ilk veya son değerini döndürür. Eğer dizi boşsa null döner (bu, ?? operatörü ile kullanımı kolaylaştırır).

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    Artık nesne klonlama sırasında clone() fonksiyonuna bir ilişkisel dizi vererek özellikleri güncellemek mümkündür. Bu, readonly sınıflar için "with-er" desenini basitleştirir.

    ', + + 'uri_extension_title' => 'URI Uzantısı', + 'uri_extension_description' => '

    Yeni her zaman kullanılabilir URI uzantısı, URI ve URL’leri güvenli bir şekilde ayrıştırmak ve düzenlemek için API sağlar. RFC 3986 ve WHATWG URL standartlarına uygundur.

    uriparser (RFC 3986) ve Lexbor (WHATWG URL) kütüphaneleri tarafından desteklenmektedir.

    Bu özelliğin arka planını öğrenmek için PHP Foundation blogu’na bakabilirsiniz.

    ', + + 'no_discard_title' => '#[\NoDiscard] Özelliği', + 'no_discard_description' => '

    Bir fonksiyona #[\NoDiscard] ekleyerek PHP, döndürülen değerin kullanılıp kullanılmadığını kontrol eder ve kullanılmadığında uyarı verir. Bu, döndürülen değerin önemli olduğu API’lerde hataları önler.

    ', + + 'persistent_curl_share_handles_title' => 'Kalıcı cURL Paylaşılan Handle’lar', + 'persistent_curl_share_handles_description' => '

    curl_share_init() ile farklı olarak, curl_share_init_persistent() ile oluşturulan handle’lar PHP isteği sonunda yok edilmez. Eğer aynı paylaşılan ayarlara sahip bir persistent handle bulunursa tekrar kullanılır, cURL handle’larının her seferinde başlatılma maliyeti ortadan kalkar.

    ', + + 'fcc_in_const_expr_title' => 'Sabit İfadelerde Closure’lar ve Birinci Sınıf Callable’lar', + 'fcc_in_const_expr_description' => '

    Artık statik closure’lar ve birinci sınıf callable’lar sabit ifadelerde kullanılabilir. Bu, attribute parametreleri, özelliklerin ve parametrelerin varsayılan değerleri ve sabitler için geçerlidir.

    ', + + 'new_classes_title' => 'Ek özellikler ve iyileştirmeler', + 'fatal_error_backtrace' => 'Önemli Hatalar (ör. maksimum yürütme süresini aşmak) artık bir geri izleme içerir.', + 'const_attribute_target' => 'Öznitelikler artık sabitleri hedefleyebilir.', + 'override_attr_properties' => '{0} özniteliği artık özelliklere uygulanabilir.', + 'deprecated_traits_constants' => '{0} özniteliği trait’lerde ve sabitlerde kullanılabilir.', + 'asymmetric_static_properties' => 'Statik özellikler artık asimetrik görünürlüğü destekler.', + 'final_promoted_properties' => 'Özellikler, constructor property promotion ile final olarak işaretlenebilir.', + 'closure_getCurrent' => 'Anonim fonksiyonlarda özyinelemeyi basitleştirmek için Closure::getCurrent() metodu eklendi.', + 'partitioned_cookies' => 'Fonksiyonlar {0} ve {1} artık "partitioned" anahtarını destekliyor.', + 'get_set_error_handler' => 'Yeni {0} ve {1} fonksiyonları mevcut.', + 'new_dom_element_methods' => 'Yeni {0} ve {1} metodları mevcut.', + 'grapheme_levenshtein' => '{0} fonksiyon eklendi.', + 'delayed_target_validation' => 'Yeni {0} özniteliği, geçersiz hedefler üzerinde core ve extension özniteliklerinin derleme zamanında hata vermesini engellemek için kullanılabilir.', + + 'bc_title' => 'Kaldırılan ve geriye uyumluluk kıran değişiklikler', + 'bc_backtick_operator' => '{0} için alias olarak kullanılan backtick operatörü kaldırıldı.', + 'bc_non_canonical_cast_names' => 'Canonical olmayan cast isimleri (boolean), (integer), (double) ve (binary) artık kullanımdan kaldırıldı. Yerine sırasıyla (bool), (int), (float) ve (string) kullanılmalıdır.', + 'bc_disable_classes' => '{0} INI ayarı kaldırıldı çünkü çeşitli motor varsayımları bozulmasına neden olur.', + 'bc_semicolon_after_case' => 'case ifadelerinin noktalı virgül ile bitirilmesi artık önerilmez.', + 'bc_null_array_offset' => '{0} çağırılırken veya array offset olarak null kullanımı artık önerilmez. Bunun yerine boş string kullanın.', + 'bc_class_alias_names' => '{0} içinde "array" ve "callable" alias isimlerini artık kullanmak mümkün değil.', + 'bc_sleep_wakeup' => '{0} ve {1} sihirli metodları artık soft-deprecated. {2} ve {3} metodları yerine kullanılmalıdır.', + 'bc_casting_nan' => '{0} tür dönüşümü sırasında artık uyarı verilir.', + 'bc_non_array_destructuring' => 'Array olmayan değerleri (sadece null dışında) {0} veya {1} kullanarak ayırmak artık uyarı verir.', + 'bc_casting_non_int_floats' => 'Float’ları (veya float gibi görünen string’leri) int’e dönüştürürken artık uyarı verilir.', + + 'footer_title' => 'Daha iyi sözdizimi, geliştirilmiş performans ve tip güvenliği.', + 'footer_description' => '

    Tüm değişikliklerin tam listesi ChangeLog’da kayıtlıdır.

    Yeni özellikler ve geriye uyumsuz değişiklikler için ayrıntılı listeye göç rehberinden bakabilirsiniz.

    ', +]; diff --git a/public/releases/8.5/languages/uk.php b/public/releases/8.5/languages/uk.php new file mode 100644 index 0000000000..8cc6d13257 --- /dev/null +++ b/public/releases/8.5/languages/uk.php @@ -0,0 +1,73 @@ + 'PHP 8.5 — це значне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ PHP, Ñке міÑтить нові можливоÑті, зокрема Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ URI, оператор Pipe та підтримку модифікації влаÑтивоÑтей під Ñ‡Ð°Ñ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ.', + 'main_title' => 'Розумніший, швидший, Ñтворений Ð´Ð»Ñ Ð¼Ð°Ð¹Ð±ÑƒÑ‚Ð½ÑŒÐ¾Ð³Ð¾.', + 'main_subtitle' => '

    PHP 8.5 — це значне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ PHP, Ñке міÑтить нові можливоÑті, зокрема Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ URI, оператор Pipe та підтримку модифікації влаÑтивоÑтей під Ñ‡Ð°Ñ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ.

    ', + + 'whats_new' => 'Що нового у верÑÑ–Ñ— 8.5', + 'upgrade_now' => 'ОновітьÑÑ Ð´Ð¾ PHP 8.5', + 'old_version' => 'PHP 8.4 Ñ– попередні верÑÑ–Ñ—', + 'badge_new' => 'Ðовинка', + 'documentation' => 'ДокументаціÑ', + 'released' => 'Випущено 20 лиÑтопада 2025 Ñ€.', + 'key_features' => 'Ключові можливоÑті PHP 8.5', + 'key_features_description' => '

    Швидший, зрозуміліший, Ñтворений Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ€Ð¾Ð±Ð½Ð¸ÐºÑ–Ð².

    ', + + 'features_pipe_operator_description' => '

    Оператор |> дозволÑÑ” об\'єднувати виклики у ланцюжок зліва направо, плавно передаючи Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· кілька функцій без проміжних змінних.

    ', + 'features_persistent_curl_share_handles_description' => '

    ДеÑкриптори тепер можуть зберігатиÑÑ Ð¼Ñ–Ð¶ декількома PHP-запитами, що дозволÑÑ” уникнути витрат на повторну ініціалізацію з\'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· тими Ñамими хоÑтами.

    ', + 'features_clone_with_description' => '

    Клонуйте об\'єкти та оновлюйте влаÑтивоÑті за допомогою нової ÑинтакÑичної конÑтрукції clone(), Ñка Ñпрощує викориÑÑ‚Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ «with-er» Ð´Ð»Ñ readonly клаÑів.

    ', + 'features_uri_extension_description' => '

    У PHP 8.5 додано Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ URI Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ, нормалізації та обробки URL-Ð°Ð´Ñ€ÐµÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до Ñтандартів RFC 3986 Ñ– WHATWG URL.

    ', + 'features_no_discard_description' => '

    Ðтрибут #[\NoDiscard] попереджає, коли повернене Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ викориÑтовуєтьÑÑ, допомагаючи запобігти помилкам Ñ– підвищити загальну безпеку API.

    ', + 'features_fcc_in_const_expr_description' => '

    Статичні Ð·Ð°Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ‚Ð° callable-вирази першого клаÑу тепер можна викориÑтовувати в конÑтантних виразах, таких Ñк параметри атрибутів.

    ', + + 'pipe_operator_title' => 'Оператор Pipe', + 'pipe_operator_description' => '

    Оператор Pipe дозволÑÑ” об\'єднувати виклики функцій у ланцюжок без викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶Ð½Ð¸Ñ… змінних. Це дозволÑÑ” замінити багато «вкладених викликів» ланцюжком, Ñкий можна читати вперед, а не зÑередини назовні.

    ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про Ñ–Ñторію ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— функції у блозі PHP Foundation.

    ', + + 'array_first_last_title' => 'Функції array_first() і array_last()', + 'array_first_last_description' => '

    Функції array_first() Ñ– array_last() повертають перше або оÑтаннє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñиву відповідно. Якщо маÑив порожній, повертаєтьÑÑ null (що полегшує ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· оператором ??).

    ', + + 'clone_with_title' => 'КонÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Clone With', + 'clone_with_description' => '

    Тепер можна оновлювати влаÑтивоÑті під Ñ‡Ð°Ñ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±\'єктів, передаючи аÑоціативний маÑив до функції clone(). Це забезпечує прÑму підтримку шаблону «with-er» Ð´Ð»Ñ readonly клаÑів.

    ', + + 'uri_extension_title' => 'Ð Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ URI', + 'uri_extension_description' => '

    Ðове вбудоване Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ URI надає API Ð´Ð»Ñ Ð±ÐµÐ·Ð¿ÐµÑ‡Ð½Ð¾Ð³Ð¾ аналізу та зміни URI та URL згідно зі Ñтандартами RFC 3986 Ñ– WHATWG URL.

    Працює на оÑнові бібліотек uriparser (RFC 3986) Ñ– Lexbor (WHATWG URL).

    ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про Ñ–Ñторію ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— функції у блозі PHP Foundation.

    ', + + 'no_discard_title' => 'Ðтрибут #[\NoDiscard]', + 'no_discard_description' => '

    ПіÑÐ»Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ #[\NoDiscard] до функції PHP перевірÑтиме, чи викориÑтовуєтьÑÑ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ðµ значеннÑ, Ñ– викликатиме попередженнÑ, Ñкщо ні. Це дозволÑÑ” підвищити безпеку API, де повернене Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” важливим, але його можна випадково проігнорувати.

    Відповідне Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ (void) може викориÑтовуватиÑÑ Ñк вказівка, що Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ викориÑтовуєтьÑÑ Ð½Ð°Ð²Ð¼Ð¸Ñно.

    ', + + 'persistent_curl_share_handles_title' => 'ПоÑтійні cURL-деÑкриптори', + 'persistent_curl_share_handles_description' => '

    Ðа відміну від curl_share_init(), деÑкриптори, Ñтворені функцією curl_share_init_persistent(), не будуть знищуватиÑÑ Ð¿Ñ–ÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ PHP-запиту. Якщо буде знайдено поÑтійний деÑкриптор з тим Ñамим набором опцій, його буде викориÑтано повторно, що дозволить уникнути витрат на ініціалізацію cURL-деÑкрипторів.

    ', + + 'fcc_in_const_expr_title' => 'Ð—Ð°Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ‚Ð° callable-вирази першого клаÑу в конÑтантних виразах', + 'fcc_in_const_expr_description' => '

    Статичні Ð·Ð°Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ‚Ð° callable-вирази першого клаÑу тепер можна викориÑтовувати в конÑтантних виразах. Це ÑтоÑуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² атрибутів, значень за замовчуваннÑм Ð´Ð»Ñ Ð²Ð»Ð°ÑтивоÑтей Ñ– параметрів, а також конÑтант.

    ', + + 'new_classes_title' => 'Додаткові можливоÑті та покращеннÑ', + 'fatal_error_backtrace' => 'Фатальні помилки (наприклад, Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¼Ð°ÐºÑимального чаÑу виконаннÑ) тепер міÑÑ‚Ñть зворотне траÑуваннÑ.', + 'const_attribute_target' => 'Ðтрибути тепер можна заÑтоÑовувати до конÑтант.', + 'override_attr_properties' => 'Ðтрибут {0} тепер можна заÑтоÑовувати до влаÑтивоÑтей.', + 'deprecated_traits_constants' => 'Ðтрибут {0} тепер можна заÑтоÑовувати до трейтів Ñ– конÑтант.', + 'asymmetric_static_properties' => 'Статичні влаÑтивоÑті тепер підтримують аÑиметричну облаÑть видимоÑті.', + 'final_promoted_properties' => 'ВлаÑтивоÑті тепер можна позначати Ñк final, оголошуючи Ñ—Ñ… за допомогою конÑтруктора.', + 'closure_getCurrent' => 'Додано метод Closure::getCurrent(), Ñкий Ñпрощує викориÑÑ‚Ð°Ð½Ð½Ñ Ñ€ÐµÐºÑƒÑ€ÑÑ–Ñ— в анонімних функціÑÑ….', + 'partitioned_cookies' => 'Функції {0} та {1} тепер підтримують ключ "partitioned".', + 'get_set_error_handler' => 'ДоÑтупні нові функції {0} Ñ– {1}.', + 'new_dom_element_methods' => 'ДоÑтупні нові методи {0} Ñ– {1}.', + 'grapheme_levenshtein' => 'Додано функцію {0}.', + 'delayed_target_validation' => 'Ðовий атрибут {0} дозволÑÑ” уÑунути помилки компілÑції, що Ñпричинені заÑтоÑуваннÑм атрибутів Ñдра та розширень Ð´Ð»Ñ Ñ†Ñ–Ð»ÐµÐ¹, Ð´Ð»Ñ Ñких вони не призначені.', + + 'bc_title' => 'ЗаÑтаріла функціональніÑть Ñ– зміни у зворотній ÑуміÑноÑті', + 'bc_backtick_operator' => 'МожливіÑть викориÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¾Ð³Ð¾ апоÑтрофу Ñк пÑевдоніма функції {0} оголошено заÑтарілою.', + 'bc_non_canonical_cast_names' => 'Ðеканонічні імена типів (boolean), (integer), (double) та (binary) оголошено заÑтарілими. ЗаміÑть них викориÑтовуйте відповідно (bool), (int), (float) Ñ– (string).', + 'bc_disable_classes' => 'ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ INI {0} вилучено, оÑкільки його викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð·Ð²Ð¾Ð´Ð¸Ð»Ð¾ до неÑтабільної роботи рушіÑ.', + 'bc_semicolon_after_case' => 'МожливіÑть викориÑÑ‚Ð°Ð½Ð½Ñ ÐºÑ€Ð°Ð¿ÐºÐ¸ з комою Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² case заміÑть двокрапки оголошено заÑтарілою.', + 'bc_null_array_offset' => 'МожливіÑть викориÑÑ‚Ð°Ð½Ð½Ñ null у ÑкоÑті ключа маÑиву чи аргументу функції {0} оголошено заÑтарілою. ÐатоміÑть викориÑтовуйте порожній Ñ€Ñдок.', + 'bc_class_alias_names' => 'Ключові Ñлова «array» Ñ– «callable» більше не можна викориÑтовувати Ñк пÑевдоніми клаÑів у функції {0}.', + 'bc_sleep_wakeup' => 'Магічні методи {0} Ñ– {1} оголошено нерекомендованими. ÐатоміÑть викориÑтувуйте магічні методи {2} та {3}.', + 'bc_casting_nan' => 'ÐŸÑ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ {0} до інших типів тепер викликає попередженнÑ.', + 'bc_non_array_destructuring' => 'ДеÑÑ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ, що не Ñ” маÑивами (крім null), за допомогою {0} або {1} тепер викликає попередженнÑ.', + 'bc_casting_non_int_floats' => 'ÐŸÑ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‡Ð¸Ñел з плаваючою крапкою (або Ñ€Ñдків, що Ñ—Ñ… предÑтавлÑють) до цілого типу тепер викликає попередженнÑ, Ñкщо Ñ—Ñ… неможливо предÑтавити Ñк ціле чиÑло.', + + 'footer_title' => 'Кращий ÑинтакÑиÑ, покращена продуктивніÑть Ñ– безпека типів.', + 'footer_description' => '

    Повний перелік змін опиÑано на Ñторінці ChangeLog.

    Будь лаÑка, ознайомтеÑÑ Ð· поÑібником з міграції, щоб отримати детальніший ÑпиÑок нових функцій Ñ– неÑуміÑних змін.

    ', +]; diff --git a/public/releases/8.5/languages/vi.php b/public/releases/8.5/languages/vi.php new file mode 100644 index 0000000000..a9bedcdfc3 --- /dev/null +++ b/public/releases/8.5/languages/vi.php @@ -0,0 +1,73 @@ + 'PHP 8.5 là bản cập nhật lớn của ngôn ngữ PHP, mang đến các tính năng mới bao gồm URI Extension, toán tử Pipe, và hỗ trợ chỉnh sửa thuộc tính khi cloning.', + 'main_title' => 'Thông minh hơn, Nhanh hơn, Sẵn sàng cho tương lai.', + 'main_subtitle' => '

    PHP 8.5 là một bản cập nhật lớn của ngôn ngữ PHP, với các tính năng mới bao gồm URI extension, toán tử Pipe, và hỗ trợ chỉnh sửa các thuộc tính trong khi cloning.

    ', + + 'whats_new' => 'Những điểm mới trong bản 8.5', + 'upgrade_now' => 'Nâng cấp lên PHP 8.5', + 'old_version' => 'PHP 8.4 và cũ hơn', + 'badge_new' => 'MỚI', + 'documentation' => 'Tài liệu', + 'released' => 'Phát hành ngày 20/11/2025', + 'key_features' => 'Các tính năng chính trong PHP 8.5', + 'key_features_description' => '

    Nhanh hơn, sạch hơn, và được tối ưu cho lập trình viên.

    ', + + 'features_pipe_operator_description' => '

    Toán tá»­ |> cho phép chuá»—i hóa các lệnh gá»i từ trái sang phải, truyá»n giá trị mượt mà qua nhiá»u hàm mà không cần biến trung gian.

    ', + 'features_persistent_curl_share_handles_description' => '

    Các Handle hiện có thể duy trì qua nhiá»u request PHP, giúp tránh chi phí khởi tạo kết nối lặp lại tá»›i cùng má»™t host.

    ', + 'features_clone_with_description' => '

    Sao chép đối tượng và cập nhật thuộc tính với cú pháp clone() mới, giúp triển khai mô hình "with-er" đơn giản hơn cho các lớp readonly.

    ', + 'features_uri_extension_description' => '

    PHP 8.5 bổ sung một extension URI tích hợp để phân tích, chuẩn hóa và xử lý URL theo các tiêu chuẩn RFC 3986 và WHATWG URL.

    ', + 'features_no_discard_description' => '

    Attribute #[\NoDiscard] sẽ đưa ra cảnh báo khi giá trị trả vỠkhông được sử dụng, giúp ngăn ngừa sai sót và cải thiện tính an toàn của API.

    ', + 'features_fcc_in_const_expr_description' => '

    Các Static closure và first-class callable hiện có thể được dùng trong các biểu thức hằng số, chẳng hạn như tham số của attribute.

    ', + + 'pipe_operator_title' => 'Toán tử Pipe', + 'pipe_operator_description' => '

    Toán tá»­ pipe cho phép kết nối các lệnh gá»i hàm vá»›i nhau mà không cần xá»­ lý biến trung gian. Äiá»u này giúp thay thế các "lệnh gá»i lồng nhau" bằng má»™t chuá»—i có thể Ä‘á»c từ trước ra sau, thay vì từ trong ra ngoài.

    Tìm hiểu thêm vỠlịch sử tính năng này tại Blog của PHP Foundation.

    ', + + 'array_first_last_title' => 'Hàm array_first() và array_last()', + 'array_first_last_description' => '

    Các hàm array_first() và array_last() trả vỠgiá trị đầu tiên hoặc cuối cùng của một mảng. Nếu mảng trống, giá trị null sẽ được trả vỠ(giúp dễ dàng kết hợp với toán tử ??).

    ', + + 'clone_with_title' => 'Clone With (Sao chép kèm sửa đổi)', + 'clone_with_description' => '

    Hiện tại bạn đã có thể cập nhật các thuá»™c tính trong quá trình sao chép đối tượng bằng cách truyá»n má»™t mảng liên hợp vào hàm clone(). Äiá»u này há»— trợ trá»±c tiếp mô hình "with-er" cho các lá»›p readonly.

    ', + + 'uri_extension_title' => 'URI Extension', + 'uri_extension_description' => '

    Extension URI mới (luôn sẵn có) cung cấp các API để phân tích và chỉnh sửa URI/URL một cách an toàn theo tiêu chuẩn RFC 3986 và WHATWG URL.

    ÄÆ°á»£c vận hành bởi các thư viện uriparser (RFC 3986) và Lexbor (WHATWG URL).

    ', + + 'no_discard_title' => 'Attribute #[\NoDiscard]', + 'no_discard_description' => '

    Bằng cách thêm attribute #[\NoDiscard] vào má»™t hàm, PHP sẽ kiểm tra xem giá trị trả vá» có được tiêu thụ hay không và phát cảnh báo nếu không. Äiá»u này giúp tăng độ an toàn cho API khi giá trị trả vá» là quan trá»ng nhưng dá»… bị bá» quên.

    Ép kiểu (void) có thể được dùng để chỉ thị rằng giá trị đó cố tình không được sử dụng.

    ', + + 'persistent_curl_share_handles_title' => 'Persistent cURL Share Handles', + 'persistent_curl_share_handles_description' => '

    Khác với curl_share_init(), các handle được tạo bởi curl_share_init_persistent() sẽ không bị hủy khi kết thúc request PHP. Nếu một persistent share handle có cùng cấu hình được tìm thấy, nó sẽ được tái sử dụng để tiết kiệm chi phí khởi tạo.

    ', + + 'fcc_in_const_expr_title' => 'Closures và First-Class Callables trong biểu thức hằng số', + 'fcc_in_const_expr_description' => '

    Static closures và first-class callables hiện có thể được dùng trong các biểu thức hằng số. Äiá»u này bao gồm tham số attribute, giá trị mặc định cá»§a thuá»™c tính/tham số và các hằng số.

    ', + + 'new_classes_title' => 'Các tính năng và cải tiến bổ sung', + 'fatal_error_backtrace' => 'Lá»—i nghiêm trá»ng (Fatal Errors - như vượt quá thá»i gian thá»±c thi tối Ä‘a) hiện đã bao gồm backtrace.', + 'const_attribute_target' => 'Attributes hiện có thể nhắm mục tiêu vào các hằng số (constants).', + 'override_attr_properties' => 'Attribute {0} hiện có thể áp dụng cho các thuá»™c tính.', + 'deprecated_traits_constants' => 'Attribute {0} có thể dùng cho trait và hằng số.', + 'asymmetric_static_properties' => 'Các thuá»™c tính tÄ©nh (Static properties) hiện há»— trợ tính hiển thị bất đối xứng (asymmetric visibility).', + 'final_promoted_properties' => 'Các thuá»™c tính có thể được đánh dấu là final khi sá»­ dụng constructor property promotion.', + 'closure_getCurrent' => 'Bổ sung phương thức Closure::getCurrent() để đơn giản hóa việc đệ quy trong các hàm ẩn danh.', + 'partitioned_cookies' => 'Các hàm {0} và {1} hiện há»— trợ khóa "partitioned".', + 'get_set_error_handler' => 'Äã có các hàm {0} và {1} má»›i.', + 'new_dom_element_methods' => 'Äã có các phương thức {0} và {1} má»›i.', + 'grapheme_levenshtein' => 'Bổ sung hàm {0}.', + 'delayed_target_validation' => 'Attribute {0} má»›i có thể dùng để ẩn các lá»—i biên dịch từ core và extension attribute khi chúng được dùng trên các mục tiêu không hợp lệ.', + + 'bc_title' => 'Các thay đổi vá» tính tương thích ngược và tính năng bị loại bá»', + 'bc_backtick_operator' => 'Toán tá»­ backtick (dấu phẩy ngược) như má»™t bí danh cho {0} đã bị ngừng há»— trợ (deprecated).', + 'bc_non_canonical_cast_names' => 'Các tên ép kiểu không chính quy như (boolean), (integer), (double), và (binary) đã bị ngừng há»— trợ. Hãy sá»­ dụng lần lượt (bool), (int), (float), và (string).', + 'bc_disable_classes' => 'Cài đặt INI {0} đã bị gỡ bá» vì nó gây lá»—i cho má»™t số giả định cá»§a engine.', + 'bc_semicolon_after_case' => 'Việc kết thúc câu lệnh case bằng dấu chấm phẩy thay vì dấu hai chấm đã bị ngừng há»— trợ.', + 'bc_null_array_offset' => 'Sá»­ dụng null làm chỉ số mảng hoặc khi gá»i {0} hiện đã bị ngừng há»— trợ. Hãy sá»­ dụng chuá»—i trống để thay thế.', + 'bc_class_alias_names' => 'Không còn khả năng sá»­ dụng "array" và "callable" làm tên bí danh lá»›p trong {0}.', + 'bc_sleep_wakeup' => 'Các phương thức ma thuật {0} và {1} đã bị ngừng há»— trợ nhẹ. Nên sá»­ dụng {2} và {3} để thay thế.', + 'bc_casting_nan' => 'Má»™t cảnh báo sẽ được đưa ra khi ép kiểu {0} sang các kiểu dữ liệu khác.', + 'bc_non_array_destructuring' => 'Việc phân tách các giá trị không phải mảng (khác vá»›i null) bằng {0} hoặc {1} hiện sẽ đưa ra cảnh báo.', + 'bc_casting_non_int_floats' => 'Cảnh báo sẽ xuất hiện khi ép kiểu float (hoặc chuá»—i trông giống float) sang int nếu chúng không thể biểu diá»…n dưới dạng số nguyên.', + + 'footer_title' => 'Cú pháp tốt hÆ¡n, hiệu suất cao hÆ¡n và an toàn vá» kiểu dữ liệu.', + 'footer_description' => '

    Danh sách đầy đủ các thay đổi được ghi lại trong ChangeLog.

    Vui lòng tham khảo hướng dẫn di chuyển để biết danh sách chi tiết các tính năng mới và các thay đổi không tương thích ngược.

    ', +]; diff --git a/public/releases/8.5/languages/zh.php b/public/releases/8.5/languages/zh.php new file mode 100644 index 0000000000..be10f394fa --- /dev/null +++ b/public/releases/8.5/languages/zh.php @@ -0,0 +1,77 @@ + 'PHP 8.5 是一次 PHP 语言的é‡è¦æ›´æ–°ï¼Œå¸¦æ¥äº† URI 扩展ã€ç®¡é“æ“ä½œç¬¦ï¼Œä»¥åŠæ”¯æŒåœ¨å…‹éš†å¯¹è±¡æ—¶ä¿®æ”¹å±žæ€§ç­‰æ–°åŠŸèƒ½ã€‚', + 'main_title' => 'æ›´æ™ºèƒ½ã€æ›´å¿«é€Ÿï¼Œä¸ºæœªæ¥è€Œç”Ÿã€‚', + 'main_subtitle' => '

    PHP 8.5 是 PHP 语言的一次é‡å¤§æ›´æ–°ï¼Œæ–°å¢žäº† URI 扩展ã€ç®¡é“æ“作符,以åŠå¯¹å…‹éš†æ—¶ä¿®æ”¹å±žæ€§çš„æ”¯æŒã€‚

    ', + + 'whats_new' => '8.5 中的新特性', + 'upgrade_now' => 'å‡çº§åˆ° PHP 8.5', + 'old_version' => 'PHP 8.4 åŠæ›´æ—©ç‰ˆæœ¬', + 'badge_new' => 'NEW', + 'documentation' => '文档', + 'released' => 'å‘布于 2025 å¹´ 11 月 20 æ—¥', + 'key_features' => 'PHP 8.5 的主è¦ç‰¹æ€§', + 'key_features_description' => '

    æ›´å¿«ã€æ›´ç®€æ´ã€ä¸ºå¼€å‘者而生。

    ', + + 'features_pipe_operator_description' => '

    |> æ“作符å…许从左到å³è¿žæŽ¥å¯è°ƒç”¨é¡¹ï¼Œè®©æ•°å€¼åœ¨å¤šä¸ªå‡½æ•°é—´é¡ºç•…传递,无需中间å˜é‡ã€‚

    ', + 'features_persistent_curl_share_handles_description' => '

    奿Ÿ„现在å¯ä»¥åœ¨å¤šä¸ª PHP è¯·æ±‚ä¹‹é—´ä¿æŒï¼Œä¸å†éœ€è¦é‡å¤åˆå§‹åŒ–到åŒä¸€ä¸»æœºçš„连接。

    ', + 'features_clone_with_description' => '

    使用新的 clone() 语法å¯ä»¥å…‹éš†å¯¹è±¡å¹¶æ›´æ–°å±žæ€§ï¼Œè®© readonly 类的 "with-er" 模å¼å˜å¾—简å•。

    ', + 'features_uri_extension_description' => '

    PHP 8.5 增加了内置的 URI 扩展,用于按照 RFC 3986 å’Œ WHATWG URL 标准解æžã€è§„èŒƒåŒ–å’Œå¤„ç† URL。

    ', + 'features_no_discard_description' => '

    #[\NoDiscard] 属性会在返回值未被使用时å‘出警告,有助于é¿å…错误,æé«˜ API 安全性。

    ', + 'features_fcc_in_const_expr_description' => '

    陿€é—­åŒ…å’Œ First-class å¯è°ƒç”¨çŽ°åœ¨å¯ä»¥ç”¨äºŽå¸¸é‡è¡¨è¾¾å¼ï¼Œä¾‹å¦‚å±žæ€§å‚æ•°ã€‚

    ', + + 'pipe_operator_title' => 'ç®¡é“æ“作符', + 'pipe_operator_description' => '

    ç®¡é“æ“作符å…许将多个函数调用串è”èµ·æ¥ï¼Œè€Œæ— éœ€å¤„ç†ä¸­é—´å˜é‡ã€‚它å¯ä»¥å°†è®¸å¤šâ€œåµŒå¥—è°ƒç”¨â€æ›¿æ¢æˆä»Žå·¦åˆ°å³å¯è¯»çš„链å¼ç»“构。

    在 The PHP Foundation çš„åšå®¢ä¸­äº†è§£è¯¥ç‰¹æ€§çš„æ›´å¤šèƒŒæ™¯ã€‚

    ', + + 'array_first_last_title' => 'array_first() 与 array_last() 函数', + 'array_first_last_description' => '

    array_first() 与 array_last() 分别返回数组的第一个或最åŽä¸€ä¸ªå€¼ã€‚若数组为空,则返回 null(方便与 ?? æ“作符组åˆï¼‰ã€‚

    ', + + 'clone_with_title' => 'Clone With', + 'clone_with_description' => '

    现在å¯ä»¥åœ¨å¯¹è±¡å…‹éš†æ—¶é€šè¿‡å‘ clone() ä¼ é€’å…³è”æ•°ç»„æ¥æ›´æ–°å±žæ€§ã€‚这让 readonly 类的 with-er 模å¼å˜å¾—ç®€å•æ˜Žäº†ã€‚

    ', + + 'uri_extension_title' => 'URI 扩展', + 'uri_extension_description' => '

    全新的ã€å§‹ç»ˆå¯ç”¨çš„ URI 扩展æä¾›äº†ä¸€ç»„ APIï¼Œå¯æ ¹æ® RFC 3986 å’Œ WHATWG URL 标准安全地解æžå’Œä¿®æ”¹ URI 与 URL。

    由 uriparser(RFC 3986)和 Lexbor(WHATWG URL)库驱动。

    在 The PHP Foundation çš„åšå®¢ä¸­äº†è§£æ›´å¤šèƒŒæ™¯ã€‚

    ', + + 'no_discard_title' => '#[\NoDiscard] 属性', + 'no_discard_description' => '

    为函数添加 #[\NoDiscard] 属性åŽï¼ŒPHP 会检查返回值是å¦è¢«ä½¿ç”¨ï¼Œè‹¥æœªä½¿ç”¨åˆ™å‘出警告。这样å¯ä»¥æé«˜ API 的安全性,é¿å…关键返回值被忽略。

    å¯ä»¥ä½¿ç”¨ (void) æ¥æ˜¾å¼è¡¨ç¤ºâ€œæˆ‘就是ä¸ä½¿ç”¨è¿™ä¸ªç»“æžœâ€ã€‚

    ', + + 'persistent_curl_share_handles_title' => 'æŒä¹…化 cURL Share 奿Ÿ„', + 'persistent_curl_share_handles_description' => '

    与 curl_share_init() ä¸åŒï¼Œç”± curl_share_init_persistent() åˆ›å»ºçš„å¥æŸ„åœ¨è¯·æ±‚ç»“æŸæ—¶ä¸ä¼šé”€æ¯ã€‚如果å‘现具有相åŒå…±äº«é€‰é¡¹çš„æŒä¹…åŒ–å¥æŸ„,将会å¤ç”¨ï¼Œä»Žè€Œé¿å…æ¯æ¬¡åˆå§‹åŒ– cURL 奿Ÿ„的开销。

    ', + + 'fcc_in_const_expr_title' => '常é‡è¡¨è¾¾å¼ä¸­çš„闭包和 First-class å¯è°ƒç”¨', + 'fcc_in_const_expr_description' => '

    陿€é—­åŒ…å’Œ First-class å¯è°ƒç”¨çŽ°åœ¨å¯ä»¥ç”¨äºŽå¸¸é‡è¡¨è¾¾å¼ï¼ŒåŒ…æ‹¬å±žæ€§å‚æ•°ã€å±žæ€§å’Œå‚数默认值以åŠå¸¸é‡ç­‰ã€‚

    ', + + 'new_classes_title' => '更多特性与改进', + 'fatal_error_backtrace' => '致命错误(如超出最大执行时间)现在会包å«å›žæº¯ä¿¡æ¯ã€‚', + 'const_attribute_target' => '属性现在å¯ä»¥ä½œç”¨äºŽå¸¸é‡ã€‚', + 'override_attr_properties' => '{0} 属性现在å¯ä»¥ç”¨äºŽç±»å±žæ€§ã€‚', + 'deprecated_traits_constants' => '{0} 属性现在å¯ä»¥ç”¨äºŽ traits 和常é‡ã€‚', + 'asymmetric_static_properties' => '陿€å±žæ€§çŽ°åœ¨æ”¯æŒä¸å¯¹ç§°å¯è§æ€§ã€‚', + 'final_promoted_properties' => '属性在构造器属性æå‡ä¸­å¯ä»¥è¢«æ ‡è®°ä¸º final。', + 'closure_getCurrent' => '新增 Closure::getCurrent() 方法,简化匿å函数的递归。', + 'partitioned_cookies' => '函数 {0} å’Œ {1} çŽ°åœ¨æ”¯æŒ "partitioned" 键。', + 'get_set_error_handler' => '新增 {0} 与 {1} 函数。', + 'new_dom_element_methods' => '新增 {0} 与 {1} 方法。', + 'grapheme_levenshtein' => '新增 {0} 函数。', + 'delayed_target_validation' => '新增 {0} 属性,å¯ç”¨äºŽæŠ‘制在无效目标上使用核心/扩展属性时的编译期错误。', + + 'bc_title' => '弃用和å‘åŽä¸å…¼å®¹', + 'bc_backtick_operator' => '作为 {0} 别åçš„å引巿“作符已被弃用。', + 'bc_non_canonical_cast_names' => 'éžæ ‡å‡†å¼ºåˆ¶è½¬æ¢åç§° (boolean)ã€(integer)ã€(double) å’Œ (binary) 已弃用,请改用 (bool)ã€(int)ã€(float) å’Œ (string)。', + 'bc_disable_classes' => '{0} INI 选项已被移除,因为它会破å引擎的一些基本å‡è®¾ã€‚', + 'bc_semicolon_after_case' => '以分å·è€Œéžå†’å·ç»“æŸ case 语å¥å·²è¢«å¼ƒç”¨ã€‚', + 'bc_null_array_offset' => '使用 null 作为数组åç§»é‡æˆ–调用 {0} 时已被弃用,请改用空字符串。', + 'bc_class_alias_names' => '在 {0} 中ä¸å†å…许将 "array" å’Œ "callable" 用作类别å。', + 'bc_sleep_wakeup' => '{0} 与 {1} 魔术方法已被软弃用,请改用 {2} 与 {3}。', + 'bc_casting_nan' => 'å°† {0} 转æ¢ä¸ºå…¶ä»–类型时现在会å‘出警告。', + 'bc_non_array_destructuring' => 'å¯¹éžæ•°ç»„值(除 null)使用 {0} 或 {1} 进行解构现在会触å‘警告。', + 'bc_casting_non_int_floats' => '当浮点数(或看起æ¥åƒæµ®ç‚¹æ•°çš„字符串)无法表示为 int 时,强制转æ¢ä¸º int 会å‘出警告。', + + 'footer_title' => 'æ›´å¥½çš„è¯­æ³•ã€æ›´é«˜çš„æ€§èƒ½ä»¥åŠæ›´å¼ºçš„类型安全性。', + 'footer_description' => '

    å®Œæ•´çš„å˜æ›´åˆ—表记录在 ChangeLog 中。

    å¦‚éœ€æŸ¥çœ‹è¯¦ç»†çš„æ–°ç‰¹æ€§ä¸Žå…¼å®¹æ€§å˜æ›´ï¼Œè¯·æŸ¥é˜…è¿ç§»æŒ‡å—。

    ', +]; diff --git a/public/releases/8.5/pt_BR.php b/public/releases/8.5/pt_BR.php new file mode 100644 index 0000000000..663ea85100 --- /dev/null +++ b/public/releases/8.5/pt_BR.php @@ -0,0 +1,5 @@ +getHost()); + // string(7) "php.net" + PHP, + ), + new FeatureComparison( + id: 'pipe-operator', + title: message('pipe_operator_title', $lang), + description: message('pipe_operator_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/pipe-operator-v3', + ], + before: <<<'PHP' + $title = ' PHP 8.5 Released '; + + $slug = strtolower( + str_replace('.', '', + str_replace(' ', '-', + trim($title) + ) + ) + ); + + var_dump($slug); + // string(15) "php-85-released" + PHP, + after: <<<'PHP' + $title = ' PHP 8.5 Released '; + + $slug = $title + |> trim(...) + |> (fn($str) => str_replace(' ', '-', $str)) + |> (fn($str) => str_replace('.', '', $str)) + |> strtolower(...); + + var_dump($slug); + // string(15) "php-85-released" + PHP, + ), + new FeatureComparison( + id: 'clone-with', + title: message('clone_with_title', $lang), + description: message('clone_with_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/clone_with_v2', + ], + before: <<<'PHP' + readonly class Color + { + public function __construct( + public int $red, + public int $green, + public int $blue, + public int $alpha = 255, + ) {} + + public function withAlpha(int $alpha): self + { + $values = get_object_vars($this); + $values['alpha'] = $alpha; + + return new self(...$values); + } + } + + $blue = new Color(79, 91, 147); + $transparentBlue = $blue->withAlpha(128); + PHP, + after: <<<'PHP' + readonly class Color + { + public function __construct( + public int $red, + public int $green, + public int $blue, + public int $alpha = 255, + ) {} + + public function withAlpha(int $alpha): self + { + return clone($this, [ + 'alpha' => $alpha, + ]); + } + } + + $blue = new Color(79, 91, 147); + $transparentBlue = $blue->withAlpha(128); + PHP, + ), + new FeatureComparison( + id: 'no-discard-attribute', + title: message('no_discard_title', $lang), + description: message('no_discard_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/marking_return_value_as_important', + ], + before: <<<'PHP' + function getPhpVersion(): string + { + return 'PHP 8.4'; + } + + getPhpVersion(); // No warning + PHP, + after: <<<'PHP' + #[\NoDiscard] + function getPhpVersion(): string + { + return 'PHP 8.5'; + } + + getPhpVersion(); + // Warning: The return value of function getPhpVersion() should + // either be used or intentionally ignored by casting it as (void) + PHP, + ), + new FeatureComparison( + id: 'closures-in-const-expr', + title: message('fcc_in_const_expr_title', $lang), + description: message('fcc_in_const_expr_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/closures_in_const_expr', + 'RFC|https://wiki.php.net/rfc/fcc_in_const_expr', + ], + before: <<<'PHP' + final class PostsController + { + #[AccessControl( + new Expression('request.user === post.getAuthor()'), + )] + public function update( + Request $request, + Post $post, + ): Response { + // ... + } + } + PHP, + after: <<<'PHP' + final class PostsController + { + #[AccessControl(static function ( + Request $request, + Post $post, + ): bool { + return $request->user === $post->getAuthor(); + })] + public function update( + Request $request, + Post $post, + ): Response { + // ... + } + } + PHP, + ), + new FeatureComparison( + id: 'persistent-curl-share-handles', + title: message('persistent_curl_share_handles_title', $lang), + description: message('persistent_curl_share_handles_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/curl_share_persistence', + 'RFC|https://wiki.php.net/rfc/curl_share_persistence_improvement', + ], + before: <<<'PHP' + $sh = curl_share_init(); + curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS); + curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT); + + $ch = curl_init('https://php.net/'); + curl_setopt($ch, CURLOPT_SHARE, $sh); + + curl_exec($ch); + PHP, + after: <<<'PHP' + $sh = curl_share_init_persistent([ + CURL_LOCK_DATA_DNS, + CURL_LOCK_DATA_CONNECT, + ]); + + $ch = curl_init('https://php.net/'); + curl_setopt($ch, CURLOPT_SHARE, $sh); + + // This may now reuse the connection from an earlier SAPI request + curl_exec($ch); + PHP, + ), + new FeatureComparison( + id: 'array-first-and-last-functions', + title: message('array_first_last_title', $lang), + description: message('array_first_last_description', $lang), + links: [ + 'RFC|https://wiki.php.net/rfc/array_first_last', + ], + before: <<<'PHP' + $lastEvent = $events === [] + ? null + : $events[array_key_last($events)]; + PHP, + after: <<<'PHP' + $lastEvent = array_last($events); + PHP, + ), +]; + +echo ReleasePage::getHeroSection( + title: message('main_title', $lang), + subtitle: message('main_subtitle', $lang), + logoSvg: <<<'SVG' + + SVG, + upgradeNow: message('upgrade_now', $lang), + whatsNew: message('whats_new', $lang), + released: message('released', $lang), +); +?> + +
    + + +
    +

    + +
    + +
    +
    +
    +
    +
    + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + + + +
    +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    +

    +
      +
    • +
    • +
    • #[\Override]']) ?>
    • +
    • #[\Deprecated]']) ?>
    • +
    • +
    • +
    • +
    • setcookie()', + 'setrawcookie()', + ]) ?>
    • +
    • get_error_handler()', + 'get_exception_handler()', + ]) ?>
    • +
    • Dom\Element::getElementsByClassName()', + 'Dom\Element::insertAdjacentHTML()', + ]) ?>
    • +
    • grapheme_levenshtein()']) ?>
    • +
    • #[\DelayedTargetValidation]']) ?>
    • +
    +
    +
    +

    +
      +
    • shell_exec()', + ]) ?>
    • +
    • +
    • disable_classes']) ?>
    • +
    • +
    • array_key_exists()', + ]) ?>
    • +
    • class_alias()', + ]) ?>
    • +
    • __sleep()', + '__wakeup()', + '__serialize()', + '__unserialize()', + ]) ?>
    • +
    • NAN']) ?>
    • +
    • []', 'list()']) ?>
    • +
    • +
    +
    +
    +
    +
    +Created as part of + + The PHP Foundation Design Contest. +

    + HTML, +); + +site_footer(['footer' => false]); diff --git a/public/releases/8.5/ru.php b/public/releases/8.5/ru.php new file mode 100644 index 0000000000..55e44842ed --- /dev/null +++ b/public/releases/8.5/ru.php @@ -0,0 +1,5 @@ + +

    PHP 8.0.0 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.0. This release marks the latest major release of the PHP language.

    + +

    PHP 8.0 comes with numerous improvements and new features such as:

    +
      +
    • Union Types
    • +
    • Named Arguments
    • +
    • Match Expressions
    • +
    • Attributes
    • +
    • Constructor Property Promotion
    • +
    • Nullsafe Operator
    • +
    • Weak Maps
    • +
    • Just In Time Compilation
    • +
    • And much much more...
    • +
    + +

    Take a look at the PHP 8.0 Announcement Addendum for more information.

    + +

    For source downloads of PHP 8.0.0 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    The migration guide is available in the PHP Manual. +Please consult it for the detailed list of new features and backward incompatible changes.

    + +

    Many thanks to all the contributors and supporters!

    + + +

    PHP 8.0.1 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.1. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.1 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.10 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.10. This is a security fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.11 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.11. This is a security release fixing CVE-2021-21706.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.12 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.12. This is a security fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.13 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.13. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.14 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.14. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.15 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.15. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.16 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.16. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.16 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.17 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.17. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.17 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.18 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.18. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.18 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.19 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.19. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.19 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.2 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.2. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.2 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.20 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.20. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.21 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.21. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.22 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.22. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.22 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.23 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.23. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.24 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.24. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.25 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.25. This is a security fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.26 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.26. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    Please note, this is the last bug-fix release for the 8.0.x series. +Security fix support will continue until 26 Nov 2023. +For more information, please check our +Supported Versions page.

    + +

    PHP 8.0.27 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.27. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.28 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.28. This is a security release +that addresses CVE-2023-0567, CVE-2023-0568, and CVE-2023-0662

    + +

    All PHP 8.0 users are advised to upgrade to this version.

    + +

    For source downloads of PHP 8.0.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.29 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.29. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.29 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.3 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.3. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.3 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.30 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.30. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.30 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.5 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.5. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.5 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.6 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP +8.0.6. This release reverts a bug related to PDO_pgsql that was +introduced in PHP 8.0.5.

    + +

    PHP 8.0 users that use PDO_pgsql are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.7 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.7. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.8 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.8. This is a security release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.0.9 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.0.9. This is a bug fix release.

    + +

    All PHP 8.0 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.0.9 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.0 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.0. This release marks the latest minor release of the PHP language.

    + +

    PHP 8.1 comes with numerous improvements and new features such as:

    + + +

    For source downloads of PHP 8.1.0 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    The migration guide is available in the PHP Manual. +Please consult it for the detailed list of new features and backward incompatible changes.

    + +

    Many thanks to all the contributors and supporters!

    + + +

    PHP 8.1.1 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.1. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.1 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.10 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.10. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.11 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.11. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.12 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.12. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.13 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.13. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.14 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.14. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.15 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.15. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.16 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.16. This is a security release that addresses CVE-2023-0567, CVE-2023-0568, and CVE-2023-0662.

    + +

    All PHP 8.1 users are advised to upgrade to this version.

    + +

    For source downloads of PHP 8.1.16 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.17 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.17. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.17 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.18 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.18. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.18 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.19 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.19. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.19 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.2 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.2. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.2 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.20 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.20. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.21 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.21. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.22 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.22. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.22 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.23 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.23. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.24 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.24. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.25 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.25. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.26 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.26. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.27 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.27. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.28 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.28. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.29 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.29. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.29 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.3 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.3. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.3 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.30 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.30. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.30 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.31 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.31. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.31 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.32 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.32. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.32 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.33 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.33. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.33 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.34 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.34. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.34 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.4 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.4. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.4 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.5 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.5. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.5 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.6 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.6. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.7 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.7. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.8 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.8. This is a security release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.1.9 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.1.9. This is a bug fix release.

    + +

    All PHP 8.1 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.1.9 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.0 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.0. This release marks the latest minor release of the PHP language.

    + +

    PHP 8.2 comes with numerous improvements and new features such as:

    + + + +

    + For source downloads of PHP 8.2.0 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

    + +

    + The migration guide is available in the PHP Manual. + Please consult it for the detailed list of new features and backward incompatible changes. +

    + +

    Kudos to all the contributors and supporters!

    + + +

    PHP 8.2.1 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.1. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.1 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.10 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.10. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.11 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.11. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.12 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.12. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.13 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.13. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.14 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.14. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.15 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.15. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.16 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.16. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.16 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.17 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.17. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.17 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.18 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.18. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.18 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.19 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.19. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.19 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.2 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.2. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.2 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.20 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.20. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.21 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.21. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.22 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.22. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.22 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.23 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.23. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.24 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.24. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.25 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.25. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.26 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.26. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.27 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.27. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    Please note, this is the last bug-fix release for the 8.2.x series. Security fix support will continue until 31 Dec 2026. + For more information, please check our Supported Versions page. +

    + +

    PHP 8.2.28 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.28. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.29 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.29. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.29 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.3 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.3. This is a security release +that addresses CVE-2023-0567, CVE-2023-0568, and CVE-2023-0662.

    + +

    All PHP 8.2 users are advised to upgrade to this version.

    + +

    For source downloads of PHP 8.2.3 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.30 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.30. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.30 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.31 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.31. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.31 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.32 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.32. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.32 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.33 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.33. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.33 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.4 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.4. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.4 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.5 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.5. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.5 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.6 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.6. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.7 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.7. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.8 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.8. This is a bug fix release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.2.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.2.9 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.2.9. This is a security release.

    + +

    All PHP 8.2 users are encouraged to upgrade to this version.

    + +

    Windows source and binaries are not synchronized and do not contain a fix for GH-11854.

    + +

    For source downloads of PHP 8.2.9 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.0 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.0. This release marks +the latest minor release of the PHP language.

    + +

    PHP 8.3 comes with numerous improvements and new features such as:

    + + + +

    For source downloads of PHP 8.3.0 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.1 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.1. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.1 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.10 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.10. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.11 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.11. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.12 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.12. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.13 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.13. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.14 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.14. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.15 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.15. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.16 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.16. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.16 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.17 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.17. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.17 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.19 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.19. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.19 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.2 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.2. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.2 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.20 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.20. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.20 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.21 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.21. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.21 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.22 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.22. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.22 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.23 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.23. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.23 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.24 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.24. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.24 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.25 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.25. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.25 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.26 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.26. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.26 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.27 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.27. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.27 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.28 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.28. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.28 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.29 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.29. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.29 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.3 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.3. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.3 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.30 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.30. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.30 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.31 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.31. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.31 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.32 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.32. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.32 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + true, 'cache_control' => 30 * 60]); +?> +

    PHP 8.3.33 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.33. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.33 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.4 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.4. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.4 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.6 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.6. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.7 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.7. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.8 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.8. This is a security release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.3.9 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.3.9. This is a bug fix release.

    + +

    All PHP 8.3 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.3.9 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.1 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.1. This release marks +the latest minor release of the PHP language.

    + +

    PHP 8.4 comes with numerous improvements and new features such as:

    + + + +

    For source downloads of PHP 8.4.1 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.10 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.10. This is a security release.

    + +

    Version 8.4.9 was skipped because it was tagged without including security patches.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.10 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.11 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.11. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.11 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.12 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.12. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.12 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.13 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.13. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.13 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.14 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.14. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.14 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.15 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.15. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.15 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.16 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.16. This is a security release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.16 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.17 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.17. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.17 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.18 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.18. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.18 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.19 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.19. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.19 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.2 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.2. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.2 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.20 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.20. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.20 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.21 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.21. This is a security release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.21 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.22 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.22. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.22 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.23 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.23. This is a security release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.23 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + true, 'cache_control' => 30 * 60]); +?> +

    PHP 8.4.24 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.24. This is a security release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.24 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.3 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.3. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.3 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.4 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.4. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.4 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.5 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.5. This is a security release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.5 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.6 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.6. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.6 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.7 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.7. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.7 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.4.8 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.4.8. This is a bug fix release.

    + +

    All PHP 8.4 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.4.8 please visit our downloads page, +Windows source and binaries can be found on windows.php.net/download/. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.0 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.0. This release marks the latest minor release of the PHP language.

    + +

    PHP 8.5 comes with numerous improvements and new features such as:

    +
      +
    • New "URI" extension
    • +
    • New pipe operator (|>)
    • +
    • Clone With
    • +
    • New #[\NoDiscard] attribute
    • +
    • Support for closures, casts, and first class callables in constant expressions
    • +
    • And much much more...
    • +
    +

    + For source downloads of PHP 8.5.0 please visit our downloads page, + Windows source and binaries can be found on windows.php.net/download/. + The list of changes is recorded in the ChangeLog. +

    +

    + The migration guide is available in the PHP Manual. + Please consult it for the detailed list of new features and backward incompatible changes. +

    +

    Kudos to all the contributors and supporters!

    + + +

    PHP 8.5.1 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.1. This is a security release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.1 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.2 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.2. This is a bug fix release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.2 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.3 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.3. This is a bug fix release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.3 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.4 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.4. This is a bug fix release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.4 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.5 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.5. This is a bug fix release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.5 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.6 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.6. This is a security release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.6 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.7 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.7. This is a bug fix release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.7 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.8 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.8. This is a security release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.8 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    + +

    PHP 8.5.9 Release Announcement

    + +

    The PHP development team announces the immediate availability of PHP 8.5.9. This is a security release.

    + +

    All PHP 8.5 users are encouraged to upgrade to this version.

    + +

    For source downloads of PHP 8.5.9 please visit our downloads page, +Windows source and binaries can also be found there. +The list of changes is recorded in the ChangeLog. +

    +query() behaviour to returning empty arrays - instead of false when no nodes are found as it was since 5.3.3 + instead of false when no nodes are found as it was since 5.3.3 (bug #48601). (chregu, rrichards) - + - String: - . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated + . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated records). (Laruence) 23 Aug 2011, PHP 5.3.8 @@ -554,7 +554,7 @@ PHP NEWS (Pierrick, Felipe) . Fixed bug #54624 (class_alias and type hint). (Felipe) . Fixed bug #54585 (track_errors causes segfault). (Dmitry) - . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). + . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). (Tony, Dmitry) . Fixed bug #54372 (Crash accessing global object itself returned from its __get() handle). (Dmitry) @@ -567,13 +567,13 @@ PHP NEWS - Core . Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer) - . Removed warning when argument of is_a() or is_subclass_of() is not + . Removed warning when argument of is_a() or is_subclass_of() is not a known class. (Stas) . Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski. . Added PHP_MANDIR constant telling where the manpages were installed into, and an --man-dir argument to php-config. (Hannes) . Fixed a crash inside dtor for error handling. (Ilia) - . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) + . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) . Implemented FR #54459 (Range function accuracy). (Adam) . Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path). @@ -582,7 +582,7 @@ PHP NEWS (Dmitry) . Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow (Pierre) - . Fixed bug #55258 (Windows Version Detecting Error). + . Fixed bug #55258 (Windows Version Detecting Error). ( xiaomao5 at live dot com, Pierre) . Fixed bug #55187 (readlink returns weird characters when false result). (Pierre) @@ -626,7 +626,7 @@ PHP NEWS (Pierrick, Dmitry) . Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode filter). (slusarz at curecanti dot org) - . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using + . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using TMPDIR on Windows). (Pierre) - Apache2 Handler SAPI: @@ -639,7 +639,7 @@ PHP NEWS - cURL extension: . Added ini option curl.cainfo (support for custom cert db). (Pierre) . Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre) - . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and + . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick) - DateTime extension: @@ -666,10 +666,10 @@ PHP NEWS . Added 3rd parameter to filter_var_array() and filter_input_array() functions that allows disabling addition of empty elements. (Ilia) . Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia) - + - Interbase extension: . Fixed bug #54269 (Short exception message buffer causes crash). (Felipe) - + - intl extension: . Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia) . Implemented FR #54540 (Allow loading of arbitrary resource bundles when @@ -680,7 +680,7 @@ PHP NEWS (kevin at kevinlocke dot name) - json extension: - . Fixed bug #54484 (Empty string in json_decode doesn't reset + . Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). (Ilia) - LDAP extension: @@ -697,7 +697,7 @@ PHP NEWS - MCrypt extension: . Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data has been fetched (Windows). (Pierre) - . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random + . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random data on Windows). (Pierre) - mysqlnd @@ -729,7 +729,7 @@ PHP NEWS - PDO extension: . Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe) - . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE + . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE settings). (Ilia) - PDO DBlib driver: @@ -852,7 +852,7 @@ PHP NEWS . Fixed bug #48607 (fwrite() doesn't check reply from ftp server before exiting). (Ilia) - + - Calendar extension: . Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to segfault). (Gustavo) @@ -860,18 +860,18 @@ PHP NEWS - DOM extension: . Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode like DOMDocument::saveXML). (Gustavo) - + - DateTime extension: . Fixed a bug in DateTime->modify() where absolute date/time statements had no effect. (Derick) . Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit big-endian systems). (Derick, rein@basefarm.no) . Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas) - . Fixed bug #52738 (Can't use new properties in class extended from + . Fixed bug #52738 (Can't use new properties in class extended from DateInterval). (Stas) . Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from timestamp). (Stas) - . Fixed bug #52063 (DateTime constructor's second argument doesn't have a + . Fixed bug #52063 (DateTime constructor's second argument doesn't have a null default value). (Gustavo, Stas) - Exif extension: @@ -892,20 +892,20 @@ PHP NEWS (Hannes) - Gettext - . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE + . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE environment variable are set). (Pierre) - IMAP extension: . Implemented FR #53812 (get MIME headers of the part of the email). (Stas) . Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding). (Adam) - + - Intl extension: . Fixed bug #53612 (Segmentation fault when using cloned several intl objects). (Gustavo) . Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values). (Felipe) - . Implemented clone functionality for number, date & message formatters. + . Implemented clone functionality for number, date & message formatters. (Stas). - JSON extension: @@ -913,20 +913,20 @@ PHP NEWS decodings). (Scott) - mysqlnd - . Fixed problem with always returning 0 as num_rows for unbuffered sets. + . Fixed problem with always returning 0 as num_rows for unbuffered sets. (Andrey, Ulf) - MySQL Improved extension: - . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). + . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). (Kalle) . Fixed buggy counting of affected rows when using the text protocol. The collected statistics were wrong when multi_query was used with mysqlnd (Andrey) - . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). + . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). (Kalle) - . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA + . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA query). (Kalle, Andrey) - . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to + . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to call libmysql). (Kalle, tre-php-net at crushedhat dot com) - OpenSSL extension: @@ -943,13 +943,13 @@ PHP NEWS - PDO MySQL driver: . Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver). (Johannes) - . Implemented FR #47802 (Support for setting character sets in DSN strings). + . Implemented FR #47802 (Support for setting character sets in DSN strings). (Kalle) - PDO Oracle driver: . Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on ORACLE 10). (spatar at mail dot nnov dot ru) - + - PDO PostgreSQL driver: . Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down). (gyp at balabit dot hu) @@ -959,7 +959,7 @@ PHP NEWS (CVE-2011-1153) . Fixed bug #53541 (format string bug in ext/phar). (crrodriguez at opensuse dot org, Ilia) - . Fixed bug #53898 (PHAR reports invalid error message, when the directory + . Fixed bug #53898 (PHAR reports invalid error message, when the directory does not exist). (Ilia) - PHP-FPM SAPI: @@ -990,7 +990,7 @@ PHP NEWS (Mateusz Kocielski, Pierre) - SPL extension: - . Fixed memory leak in DirectoryIterator::getExtension() and + . Fixed memory leak in DirectoryIterator::getExtension() and SplFileInfo::getExtension(). (Felipe) . Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones) . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 @@ -1040,13 +1040,13 @@ PHP NEWS (Hannes) . Fixed bug #53568 (swapped memset arguments in struct initialization). (crrodriguez at opensuse dot org) - . Fixed bug #53166 (Missing parameters in docs and reflection definition). + . Fixed bug #53166 (Missing parameters in docs and reflection definition). (Richard) . Fixed bug #49072 (feof never returns true for damaged file in zip). (Gustavo, Richard Quadling) 06 Jan 2011, PHP 5.3.5 -- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, +- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, Rasmus) 09 Dec 2010, PHP 5.3.4 @@ -1054,11 +1054,11 @@ PHP NEWS - Upgraded bundled PCRE to version 8.10. (Ilia) - Security enhancements: - . Fixed crash in zip extract method (possible CWE-170). + . Fixed crash in zip extract method (possible CWE-170). (Maksymilian Arciemowicz, Pierre) . Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus) - . Fixed a possible double free in imap extension (Identified by Mateusz + . Fixed a possible double free in imap extension (Identified by Mateusz Kocielski). (CVE-2010-4150). (Ilia) . Fixed NULL pointer dereference in ZipArchive::getArchiveComment. (CVE-2010-3709). (Maksymilian Arciemowicz) @@ -1070,23 +1070,23 @@ PHP NEWS - General improvements: . Added stat support for zip stream. (Pierre) - . Added follow_location (enabled by default) option for the http stream + . Added follow_location (enabled by default) option for the http stream support. (Pierre) . Improved support for is_link and related functions on Windows. (Pierre) . Added a 3rd parameter to get_html_translation_table. It now takes a charset hint, like htmlentities et al. (Gustavo) - + - Implemented feature requests: . Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect zend multibyte at runtime. (Kalle) - . Implemented FR #52173, added functions pcntl_get_last_error() and + . Implemented FR #52173, added functions pcntl_get_last_error() and pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud) . Implemented symbolic links support for open_basedir checks. (Pierre) . Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre) . Implemented FR #50692, not uploaded files don't count towards max_file_uploads limit. As a side improvement, temporary files are not opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo) - + - Improved MySQLnd: . Added new character sets to mysqlnd, which are available in MySQL 5.5 (Andrey) @@ -1098,7 +1098,7 @@ PHP NEWS . Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat) . Added statistics about listening socket queue length for FPM. (andrei dot nigmatulin at gmail dot com, fat) - + - Core: . Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE. (jorto at redhat dot com) @@ -1112,7 +1112,7 @@ PHP NEWS . Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits). (Ilia, daniel dot mueller at inexio dot net) . Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char). - (Justin Martin) + (Justin Martin) . Fixed bug #53226 (file_exists fails on big filenames). (Adam) . Fixed bug #53198 (changing INI setting "from" with ini_set did not have any effect). (Gustavo) @@ -1128,7 +1128,7 @@ PHP NEWS decode " if ENT_NOQUOTES is given. (Gustavo) . Fixed bug #52931 (strripos not overloaded with function overloading enabled). (Felipe) - . Fixed bug #52772 (var_dump() doesn't check for the existence of + . Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before calling it). (Kalle, Gustavo) . Fixed bug #52534 (var_export array with negative key). (Felipe) . Fixed bug #52327 (base64_decode() improper handling of leading padding in @@ -1143,22 +1143,22 @@ PHP NEWS of reported malformed sequences). (CVE-2010-3870) (Gustavo) . Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8). (Gustavo) - . Fixed bug #48831 (php -i has different output to php --ini). (Richard, + . Fixed bug #48831 (php -i has different output to php --ini). (Richard, Pierre) . Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4). (Felipe) - . Fixed bug #47168 (printf of floating point variable prints maximum of 40 + . Fixed bug #47168 (printf of floating point variable prints maximum of 40 decimal places). (Ilia) . Fixed bug #46587 (mt_rand() does not check that max is greater than min). (Ilia) . Fixed bug #29085 (bad default include_path on Windows). (Pierre) . Fixed bug #25927 (get_html_translation_table calls the ' ' instead of '). (Gustavo) - + - Zend engine: . Reverted fix for bug #51176 (Static calling in non-static method behaves like $this->). (Felipe) - . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. + . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. (Kalle) . Fixed NULL dereference in lex_scan on zend multibyte builds where the script had a flex incompatible encoding and there was no converter. (Gustavo) @@ -1178,7 +1178,7 @@ PHP NEWS . Fixed bug #52361 (Throwing an exception in a destructor causes invalid catching). (Dmitry) . Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry) - + - Build issues: . Fixed bug #52436 (Compile error if systems do not have stdint.h) (Sriram Natarajan) @@ -1189,7 +1189,7 @@ PHP NEWS - Calendar extension: . Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE). (gpap at internet dot gr, Adam) - + - cURL extension: . Fixed bug #52828 (curl_setopt does not accept persistent streams). (Gustavo, Ilia) @@ -1197,7 +1197,7 @@ PHP NEWS (CURLOPT_STDERR)). (Gustavo) . Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia) . Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre) - + - DateTime extension: . Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return 1 million microsecs). (ped at 7gods dot org) @@ -1226,7 +1226,7 @@ PHP NEWS . Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre) - GMP extension: - . Fixed bug #52906 (gmp_mod returns negative result when non-negative is + . Fixed bug #52906 (gmp_mod returns negative result when non-negative is expected). (Stas) . Fixed bug #52849 (GNU MP invalid version match). (Adam) @@ -1239,7 +1239,7 @@ PHP NEWS headers). (Adam) . Fixed bug #52599 (iconv output handler outputs incorrect content type when flags are used). (Ilia) - . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded + . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded words). (Ilia) - Intl extension: @@ -1249,7 +1249,7 @@ PHP NEWS (Stas) . Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer range). (Stas) - + - Mbstring extension: . Fixed bug #53273 (mb_strcut() returns garbage with the excessive length parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi) @@ -1258,16 +1258,16 @@ PHP NEWS with the distribution) (Gustavo). . Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header). (Adam) - + - MSSQL extension: . Fixed possible crash in mssql_fetch_batch(). (Kalle) . Fixed bug #52843 (Segfault when optional parameters are not passed in to mssql_connect). (Felipe) - + - MySQL extension: - . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int). + . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int). (Kalle, rein at basefarm dot no) - + - MySQLi extension: . Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey) @@ -1284,10 +1284,10 @@ PHP NEWS (Andrey) . Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey) . Fixed bug #45921 (Can't initialize character set hebrew). (Andrey) - + - MySQLnd: . Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey) - + - ODBC extension: - Fixed bug #52512 (Broken error handling in odbc_execute). (mkoegler at auto dot tuwien dot ac dot at) @@ -1304,11 +1304,11 @@ PHP NEWS . Fixed bug #51610 (Using oci_connect causes PHP to take a long time to exit). Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix 9891199) for this patch to have an effect. (Oracle Corp.) - + - PCNTL extension: . Fixed bug #52784 (Race condition when handling many concurrent signals). (nick dot telford at gmail dot com, Arnaud) - + - PCRE extension: . Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe) . Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it @@ -1332,27 +1332,27 @@ PHP NEWS - PDO: . Fixed bug #52699 (PDO bindValue writes long int 32bit enum). - (rein at basefarm dot no) + (rein at basefarm dot no) . Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe) - + - PDO DBLib driver: . Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values). (Felipe) - + - PDO Firebird driver: . Restored firebird support (VC9 builds only). (Pierre) . Fixed bug #53335 (pdo_firebird did not implement rowCount()). (preeves at ibphoenix dot com) . Fixed bug #53323 (pdo_firebird getAttribute() crash). (preeves at ibphoenix dot com) - + - PDO MySQL driver: . Fixed bug #52745 (Binding params doesn't work when selecting a date inside a CASE-WHEN). (Andrey) - + - PostgreSQL extension: . Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com) - + - Reflection extension: . Fixed ReflectionProperty::isDefault() giving a wrong result for properties obtained with ReflectionClass::getProperties(). (Gustavo) @@ -1361,11 +1361,11 @@ PHP NEWS getProperty()). (Felipe) . Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors). (Johannes) - + - SOAP extension: . Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapClient object). (Dmitry) - + - SPL extension: . Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe) . Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape @@ -1373,7 +1373,7 @@ PHP NEWS . Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe) . Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo) . Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe) - . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link + . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link and directory). (Pierre) . Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe) . Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe) @@ -1381,7 +1381,7 @@ PHP NEWS - SQLite3 extension: . Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number). (Felipe) - + - Streams: . Fixed forward stream seeking emulation in streams that don't support seeking in situations where the read operation gives back less data than requested @@ -1400,7 +1400,7 @@ PHP NEWS - WDDX extension: . Fixed bug #52468 (wddx_deserialize corrupts integer field value when left empty). (Felipe) - + - Zlib extension: . Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo) @@ -1408,11 +1408,11 @@ PHP NEWS - Upgraded bundled sqlite to version 3.6.23.1. (Ilia) - Upgraded bundled PCRE to version 8.02. (Ilia) -- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts +- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts numeric strings to integers. (Ilia) - Added stream_set_read_buffer, allows to set the buffer for read operation. (Pierre) -- Added stream filter support to mcrypt extension (ported from +- Added stream filter support to mcrypt extension (ported from mcrypt_filter). (Stas) - Added full_special_chars filter to ext/filter. (Rasmus) - Added backlog socket context option for stream_socket_server(). (Mike) @@ -1421,10 +1421,10 @@ PHP NEWS Made implicit use of NULL IV a warning. (Sara) - Added openssl_cipher_iv_length(). (Sara) - Added FastCGI Process Manager (FPM) SAPI. (Tony) -- Added recent Windows versions to php_uname and fix undefined windows +- Added recent Windows versions to php_uname and fix undefined windows version support. (Pierre) - Added Berkeley DB 5 support to the DBA extension. (Johannes, Chris Jones) -- Added support for copy to/from array/file for pdo_pgsql extension. +- Added support for copy to/from array/file for pdo_pgsql extension. (Denis Gasparin, Ilia) - Added inTransaction() method to PDO, with specialized support for Postgres. (Ilia, Denis Gasparin) @@ -1444,7 +1444,7 @@ PHP NEWS Reported by Stefan Esser. (Andrey) - Fixed very rare memory leak in mysqlnd, when binding thousands of columns. (Andrey) -- Fixed a crash when calling an inexistent method of a class that inherits +- Fixed a crash when calling an inexistent method of a class that inherits PDOStatement if instantiated directly instead of doing by the PDO methods. (Felipe) @@ -1463,15 +1463,15 @@ PHP NEWS (Dmitry) - Fixed a possible memory corruption in pack(). Reported by Stefan Esser. (Dmitry) -- Fixed a possible memory corruption in substr_replace(). Reported by Stefan +- Fixed a possible memory corruption in substr_replace(). Reported by Stefan Esser. (Dmitry) -- Fixed a possible memory corruption in addcslashes(). Reported by Stefan +- Fixed a possible memory corruption in addcslashes(). Reported by Stefan Esser. (Dmitry) -- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan +- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan Esser. (Ilia) - Fixed a possible dechunking filter buffer overflow. Reported by Stefan Esser. (Pierre) -- Fixed a possible arbitrary memory access inside sqlite extension. Reported +- Fixed a possible arbitrary memory access inside sqlite extension. Reported by Mateusz Kocielski. (Ilia) - Fixed string format validation inside phar extension. Reported by Stefan Esser. (Ilia) @@ -1494,7 +1494,7 @@ PHP NEWS - Fixed bug #52193 (converting closure to array yields empty array). (Felipe) - Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for function aliases). (Felipe) -- Fixed bug #52162 (custom request header variables with numbers are removed). +- Fixed bug #52162 (custom request header variables with numbers are removed). (Sriram Natarajan) - Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe) - Fixed bug #52138 (Constants are parsed into the ini file for section names). @@ -1506,15 +1506,15 @@ PHP NEWS - Fixed bug #52082 (character_set_client & character_set_connection reset after mysqli_change_user()). (Andrey) - Fixed bug #52043 (GD doesn't recognize latest libJPEG versions). - (php at group dot apple dot com, Pierre) + (php at group dot apple dot com, Pierre) - Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function). (Dmitry) - Fixed bug #52060 (Memory leak when passing a closure to method_exists()). (Felipe) - Fixed bug #52057 (ReflectionClass fails on Closure class). (Felipe) -- Fixed bug #52051 (handling of case sensitivity of old-style constructors +- Fixed bug #52051 (handling of case sensitivity of old-style constructors changed in 5.3+). (Felipe) -- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at +- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at debian dot org, Kalle) - Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick) - Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command). @@ -1522,7 +1522,7 @@ PHP NEWS - Fixed bug #52001 (Memory allocation problems after using variable variables). (Dmitry) - Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe) -- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle, +- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle, coreystup at gmail dot com) - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array). (Felipe) @@ -1587,7 +1587,7 @@ PHP NEWS - Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile errors). (Felipe) - Fixed bug #51424 (crypt() function hangs after 3rd call). (Pierre, Sriram) -- Fixed bug #51394 (Error line reported incorrectly if error handler throws an +- Fixed bug #51394 (Error line reported incorrectly if error handler throws an exception). (Stas) - Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains timezone). (Adam) @@ -1606,15 +1606,15 @@ PHP NEWS - Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0). (Adam) - Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com) -- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia, +- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia, alexr at oplot dot com) -- Fixed bug #51190 (ftp_put() returns false when transfer was successful). +- Fixed bug #51190 (ftp_put() returns false when transfer was successful). (Ilia) - Fixed bug #51183 (ext/date/php_date.c fails to compile with Sun Studio). (Sriram Natarajan) - Fixed bug #51176 (Static calling in non-static method behaves like $this->). (Felipe) -- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when +- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when an invalid option is provided). (Ilia) - Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre) - Fixed bug #51096 ('last day' and 'first day' are handled incorrectly when @@ -1634,7 +1634,7 @@ PHP NEWS if defined in WSDL). (mephius at gmail dot com) - Fixed bug #50731 (Inconsistent namespaces sent to functions registered with spl_autoload_register). (Felipe) -- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot +- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot com, Pierre) - Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet dot com) @@ -1683,7 +1683,7 @@ PHP NEWS (vincent at optilian dot com) - Fixed bug #43233 (sasl support for ldap on Windows). (Pierre) - Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob) -- Fixed bug #33210 (getimagesize() fails to detect width/height on certain +- Fixed bug #33210 (getimagesize() fails to detect width/height on certain JPEGs). (Ilia) 04 Mar 2010, PHP 5.3.2 @@ -1706,7 +1706,7 @@ PHP NEWS setting it to 0. (Rasmus) - Changed tidyNode class to disallow manual node creation. (Pierrick) -- Removed automatic file descriptor unlocking happening on shutdown and/or +- Removed automatic file descriptor unlocking happening on shutdown and/or stream close (on all OSes). (Tony, Ilia) - Added libpng 1.4.0 support. (Pierre) @@ -1764,7 +1764,7 @@ PHP NEWS versions). (Derick) - Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX). (Ilia) -- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation). +- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation). (Ilia, hanno at hboeck dot de) - Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long). (Ilia) @@ -1799,7 +1799,7 @@ PHP NEWS and DomDocument). (Dmitry) - Fixed bug #50508 (compile failure: Conflicting HEADER type declarations). (Jani) -- Fixed bug #50496 (Use of is valid only in a c99 compilation +- Fixed bug #50496 (Use of is valid only in a c99 compilation environment. (Sriram) - Fixed bug #50464 (declare encoding doesn't work within an included file). (Felipe) @@ -1821,7 +1821,7 @@ PHP NEWS (Ilia, Pierrick) - Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays). (Felipe) -- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in +- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in calling function). (Felipe) - Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani) - Fixed bug #50266 (conflicting types for llabs). (Jani) @@ -1841,7 +1841,7 @@ PHP NEWS (tcallawa at redhat dot com) - Fixed bug #50207 (segmentation fault when concatenating very large strings on 64bit linux). (Ilia) -- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is +- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is not file). (Stas) - Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia) - Fixed bug #50185 (ldap_get_entries() return false instead of an empty array @@ -1869,7 +1869,7 @@ PHP NEWS - Fixed bug #49990 (SNMP3 warning message about security level printed twice). (Jani) - Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted - transaction). (ben dot pineau at gmail dot com, Ilia, Matteo) + transaction). (ben dot pineau at gmail dot com, Ilia, Matteo) - Fixed bug #49938 (Phar::isBuffering() returns inverted value). (Greg) - Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()). (Pierrick) @@ -1877,7 +1877,7 @@ PHP NEWS - Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry) - Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia, sjoerd at php dot net) -- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers). +- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers). (Ilia) - Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning). (Ilia, wmeler at wp-sa dot pl) @@ -1927,7 +1927,7 @@ PHP NEWS - Upgraded bundled sqlite to version 3.6.19. (Scott) - Updated timezone database to version 2009.17 (2009q). (Derick) -- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case +- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case insensitive. (garretts) - Restored shebang line check to CGI sapi (not checked by scanner anymore). @@ -1942,7 +1942,7 @@ PHP NEWS - Added support for ACL on Windows for thread safe SAPI (Apache2 for example) and fix its support on NTS. (Pierre) -- Improved symbolic, mounted volume and junctions support for realpath on +- Improved symbolic, mounted volume and junctions support for realpath on Windows. (Pierre) - Improved readlink on Windows, suppress \??\ and use the drive syntax only. (Pierre) @@ -1954,9 +1954,9 @@ PHP NEWS API. (Scott) - Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre) -- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. +- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. (Rasmus) -- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz +- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz Stachowiak. (Rasmus) - Fixed certificate validation inside php_openssl_apply_verification_policy (Ryan Sleevi, Ilia) @@ -1978,7 +1978,7 @@ PHP NEWS (Maksymilian Arciemowicz, Stas) - Fixed signature generation/validation for zip archives in ext/phar. (Greg) - Fixed memory leak in stream_is_local(). (Felipe, Tony) -- Fixed BC break in mime_content_type(), removes the content encoding. (Scott) +- Fixed BC break in mime_content_type(), removes the content encoding. (Scott) - Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised). (Chris Jones) @@ -2011,7 +2011,7 @@ PHP NEWS fclose). (Ilia) - Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). (Ilia) -- Fixed bug #49447 (php engine need to correctly check for socket API +- Fixed bug #49447 (php engine need to correctly check for socket API return status on windows). (Sriram Natarajan) - Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia) - Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre) @@ -2046,7 +2046,7 @@ PHP NEWS - Fixed bug #49074 (private class static fields can be modified by using reflection). (Jani) - Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre) -- Fixed bug #49065 ("disable_functions" php.ini option does not work on +- Fixed bug #49065 ("disable_functions" php.ini option does not work on Zend extensions). (Stas) - Fixed bug #49064 (--enable-session=shared does not work: undefined symbol: php_url_scanner_reset_vars). (Jani) @@ -2069,7 +2069,7 @@ PHP NEWS in a chunk). (andreas dot streichardt at globalpark dot com, Ilia) - Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in getSignature() call). (Greg) -- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes +- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes when including files from function). (Stas) - Fixed bug #48994 (zlib.output_compression does not output HTTP headers when set to a string value). (Jani) @@ -2098,10 +2098,10 @@ PHP NEWS - Fixed bug #48783 (make install will fail saying phar file exists). (Greg) - Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()). (Sriram Natarajan) -- Fixed bug #48771 (rename() between volumes fails and reports no error on +- Fixed bug #48771 (rename() between volumes fails and reports no error on Windows). (Pierre) - Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani) -- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at +- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at gmail dot com, Pierre) - Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe) - Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle) @@ -2118,7 +2118,7 @@ PHP NEWS files that have been opened with r+). (Ilia) - Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for sanity). (Jani) -- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain +- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain components). (Ilia) - Fixed bug #48681 (openssl signature verification for tar archives broken). (Greg) @@ -2141,7 +2141,7 @@ PHP NEWS - Fixed bug #48189 (ibase_execute error in return param). (Kalle) - Fixed bug #48182 (ssl handshake fails during asynchronous socket connection). (Sriram Natarajan) -- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, +- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, Al dot Smith at aeschi dot ch dot eu dot org) - Fixed bug #48057 (Only the date fields of the first row are fetched, others are empty). (info at programmiernutte dot net) @@ -2166,10 +2166,10 @@ PHP NEWS com, Kalle) - Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter Knauf) -- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo). +- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo). (Kalle, Rick Yorgason) - Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett) -- Fixed bug #27051 (Impersonation with FastCGI does not exec process as +- Fixed bug #27051 (Impersonation with FastCGI does not exec process as impersonated user). (Pierre) @@ -2268,7 +2268,7 @@ PHP NEWS (Dmitry, Pierre) . Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry) - . Optimized require_once() and include_once() by eliminating fopen(3) on + . Optimized require_once() and require_once() by eliminating fopen(3) on second usage. (Dmitry) . Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode. (Dmitry) @@ -2293,17 +2293,17 @@ PHP NEWS value. (Hannes) - Improved Windows support: - . Update all libraries to their latest stable version. (Pierre, Rob, Liz, + . Update all libraries to their latest stable version. (Pierre, Rob, Liz, Garrett). . Added Windows support for stat(), touch(), filemtime(), filesize() and related functions. (Pierre) . Re-added socket_create_pair() for Windows in sockets extension. (Kalle) - . Added inet_pton() and inet_ntop() also for Windows platforms. + . Added inet_pton() and inet_ntop() also for Windows platforms. (Kalle, Pierre) . Added mcrypt_create_iv() for Windows platforms. (Pierre) . Added ACL Cache support on Windows. (Kanwaljeet Singla, Pierre, Venkat Raman Don) - . Added constants based on Windows' GetVersionEx information. + . Added constants based on Windows' GetVersionEx information. PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre) . Added support for ACL (is_writable, is_readable, reports now correct results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla) @@ -2491,7 +2491,7 @@ PHP NEWS DateInterval on each iteration, up to an end date or limited by maximum number of occurences. -- Added compatibility mode in GD, imagerotate, image(filled)ellipse +- Added compatibility mode in GD, imagerotate, image(filled)ellipse imagefilter, imageconvolution and imagecolormatch are now always enabled. (Pierre) - Added array_replace() and array_replace_recursive() functions. (Matt) @@ -2533,12 +2533,12 @@ PHP NEWS - Added support for CP850 encoding in mbstring extension. (Denis Giffeler, Moriyoshi) - Added stream_cast() and stream_set_options() to user-space stream wrappers, - allowing stream_select(), stream_set_blocking(), stream_set_timeout() and + allowing stream_select(), stream_set_blocking(), stream_set_timeout() and stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud) - Added header_remove() function. (chsc at peytz dot dk, Arnaud) - Added stream_context_get_params() function. (Arnaud) - Added optional parameter "new" to sybase_connect(). (Timm) -- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) +- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) - Added str_getcsv() function. (Sara) - Added openssl_random_pseudo_bytes() function. (Scott) - Added ability to send user defined HTTP headers with SOAP request. @@ -2615,7 +2615,7 @@ PHP NEWS prepending functions). (Scott) - Fixed bug #48215 (Calling a method with the same name as the parent class calls the constructor). (Scott) -- Fixed bug #48200 (compile failure with mbstring.c when +- Fixed bug #48200 (compile failure with mbstring.c when --enable-zend-multibyte is used). (Jani) - Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL). (Matteo) @@ -2633,7 +2633,7 @@ PHP NEWS (Matteo) - Fixed bug #47771 (Exception during object construction from arg call calls object's destructor). (Dmitry) -- Fixed bug #47767 (include_once does not resolve windows symlinks or junctions) +- Fixed bug #47767 (require_once does not resolve windows symlinks or junctions) (Kanwaljeet Singla, Venkat Raman Don) - Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre) - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). (Dmitry) @@ -2747,7 +2747,7 @@ PHP NEWS - Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()). (Ilia) - Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud) -- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause +- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause a segfault.) (Scott) - Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid). (Scott) @@ -2823,7 +2823,7 @@ PHP NEWS - Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra) - Changed default value of array_unique()'s optional sorting type parameter - back to SORT_STRING to fix backwards compatibility breakage introduced in + back to SORT_STRING to fix backwards compatibility breakage introduced in PHP 5.2.9. (Moriyoshi) - Fixed memory corruptions while reading properties of zip files. (Ilia) @@ -2856,7 +2856,7 @@ PHP NEWS files). (Pierre) - Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing). (Ilia, simonov at gmail dot com) -- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work +- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work with redeclared property). (patch by Markus dot Lidel at shadowconnect dot com) - Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud) @@ -2901,7 +2901,7 @@ PHP NEWS - Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia) - Fixed bug #47946 (ImageConvolution overwrites background). (Ilia) - Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt) -- Fixed bug #47937 (system() calls sapi_flush() regardless of output +- Fixed bug #47937 (system() calls sapi_flush() regardless of output buffering). (Ilia) - Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe) - Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud) @@ -2975,7 +2975,7 @@ PHP NEWS - Fixed bug #45092 (header HTTP context option not being used when compiled using --with-curlwrappers). (Jani) - Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime). - (Ilia, kawai at apache dot org) + (Ilia, kawai at apache dot org) - Fixed bug #44827 (define() is missing error checks for class constants). (Ilia) - Fixed bug #44214 (Crash using preg_replace_callback() and global variables). @@ -3000,7 +3000,7 @@ PHP NEWS - Added optional sorting type flag parameter to array_unique(). Default is SORT_REGULAR. (Andrei) -- Fixed a crash on extract in zip when files or directories entry names contain +- Fixed a crash on extract in zip when files or directories entry names contain a relative path. (Pierre) - Fixed error conditions handling in stream_filter_append(). (Arnaud) - Fixed zip filename property read. (Pierre) @@ -3102,11 +3102,11 @@ PHP NEWS - Added logging option for error_log to send directly to SAPI. (Stas) - Added PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants. (Pierre) -- Added "PHP_INI_SCAN_DIR" environment variable which can be used to +- Added "PHP_INI_SCAN_DIR" environment variable which can be used to either disable or change the compile time ini scan directory (FR #45114). (Jani) -- Fixed missing initialization of BG(page_uid) and BG(page_gid), +- Fixed missing initialization of BG(page_uid) and BG(page_gid), reported by Maksymilian Arciemowicz. (Stas) - Fixed memory leak inside sqlite_create_aggregate(). (Felipe) - Fixed memory leak inside PDO sqlite's sqliteCreateAggregate() method. @@ -3122,7 +3122,7 @@ PHP NEWS - Fixed a bug inside dba_replace() that could cause file truncation withinvalid keys. (Ilia) - Fixed memory leak inside readline_callback_handler_install() function.(Ilia) -- Fixed memory leak inside readline_completion_function() function. (Felipe) +- Fixed memory leak inside readline_completion_function() function. (Felipe) - Fixed stream_get_contents() when using $maxlength and socket is notclosed. indeyets [at] php [dot] net on #46049. (Arnaud) - Fixed stream_get_line() to behave as documented on non-blocking streams. @@ -3251,7 +3251,7 @@ PHP NEWS - Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause an error). (Felipe) - Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address - use)). (basant dot kukreja at sun dot com) + use)). (basant dot kukreja at sun dot com) - Fixed bug #45722 (mb_check_encoding() crashes). (Moriyoshi) - Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter). (Jani) @@ -3401,7 +3401,7 @@ PHP NEWS 01 May 2008, PHP 5.2.6 - Fixed two possible crashes inside posix extension (Tony) -- Fixed incorrect heredoc handling when label is used within the block. +- Fixed incorrect heredoc handling when label is used within the block. (Matt) - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrei Nigmatulin) - Fixed sending of uninitialized paddings which may contain some information. (Andrei Nigmatulin) @@ -4675,7 +4675,7 @@ PHP NEWS - Optimized array/HashTable copying. (Matt Wilmas, Dmitry) - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry) -- Optimized require_once() and include_once() by eliminating fopen(3) on +- Optimized require_once() and require_once() by eliminating fopen(3) on second usage. (Dmitry) - Optimized request shutdown sequence. Restoring ini directives now iterates only over modified directives instead of all. (Dmitry) @@ -4836,7 +4836,7 @@ PHP NEWS exception is thrown from __get method). (Tony) - Fixed bug #38623 (leaks in a tricky code with switch() and exceptions). (Dmitry) -- Fixed bug #38579 (include_once() may include the same file twice). (Dmitry) +- Fixed bug #38579 (require_once() may include the same file twice). (Dmitry) - Fixed bug #38574 (missing curl constants and improper constant detection). (Ilia) - Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too @@ -6071,7 +6071,7 @@ PHP NEWS - Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani) - Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob) - Fixed bug #32924 (file included with "auto_prepend_file" can be included - with require_once() or include_once()). (Stas) + with require_once() or require_once()). (Stas) - Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony) - Fixed bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On). (Dmitry) @@ -6695,4 +6695,4 @@ PHP NEWS - Fixed bug #28699 (Reflection api bugs). (Marcus) - Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus) - Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank) -- Fixed strip_tags() to correctly handle '\0' characters. (Stefan) \ No newline at end of file +- Fixed strip_tags() to correctly handle '\0' characters. (Stefan) diff --git a/releases/NEWS_5_4_0_alpha1.txt b/public/releases/NEWS_5_4_0_alpha1.txt similarity index 98% rename from releases/NEWS_5_4_0_alpha1.txt rename to public/releases/NEWS_5_4_0_alpha1.txt index 3bd265cc80..a95fd946ea 100644 --- a/releases/NEWS_5_4_0_alpha1.txt +++ b/public/releases/NEWS_5_4_0_alpha1.txt @@ -15,7 +15,7 @@ PHP NEWS . highlight.bg ini option. (Kalle) . Session bug compatibility mode (session.bug_compat42 and session.bug_compat_warn ini options). (Kalle) - . session_is_registered(), session_register() and session_unregister() + . session_is_registered(), session_register() and session_unregister() functions. (Kalle) . y2k_compliance ini option. (Kalle) @@ -25,7 +25,7 @@ PHP NEWS - Changed $_SERVER['REQUEST_TIME'] to include microsecond precision. (Ilia) - Changed default value of "default_charset" php.ini option from ISO-8859-1 to UTF-8. (Rasmus) -- Changed array_combine() to return empty array instead of FALSE when both +- Changed array_combine() to return empty array instead of FALSE when both parameter arrays are empty. FR #34857. (joel.perras@gmail.com) - Changed third parameter of preg_match_all() to optional. FR #53238. (Adam) - Changed silent casting of null/''/false into an Object when adding @@ -59,7 +59,7 @@ PHP NEWS handler. (Stas) - Improved Zend Engine memory usage: (Dmitry) - . Replaced zend_function.pass_rest_by_reference by + . Replaced zend_function.pass_rest_by_reference by ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags. . Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE in zend_function.fn_flags. @@ -68,7 +68,7 @@ PHP NEWS meaning) is represented by zend_internal_function_info structure. . Moved zend_op_array.size, size_var, size_literal, current_brk_cont, backpatch_count into CG(context) as they are used only during compilation. - . Moved zend_op_array.start_op into EG(start_op) as it's used only for + . Moved zend_op_array.start_op into EG(start_op) as it's used only for 'interactive' execution of single top-level op-array. . Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in zend_op_array.fn_flags. @@ -77,7 +77,7 @@ PHP NEWS in zend_class_entry.ce_flags. . Reduced the size of zend_class_entry by sharing the same memory space by different information for internal and user classes. - See zend_class_entry.info union. + See zend_class_entry.info union. . Reduced size of temp_variable. - Changed the structure of op_array.opcodes. The constant values are moved from @@ -161,7 +161,7 @@ PHP NEWS . Added JsonSerializable interface. (Sara) . Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options. (Sara) - . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts + . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts numeric strings to integers. (Ilia) . Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam) . Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam) @@ -173,7 +173,7 @@ PHP NEWS - Improved MySQL extensions: . MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey) . mysqlnd: Added named pipes support. FR #48082. (Andrey) - . MySQLi: Added iterator support in MySQLi. mysqli_result implements + . MySQLi: Added iterator support in MySQLi. mysqli_result implements Traversable. (Andrey, Johannes) . PDO_mysql: Removed support for linking with MySQL client libraries older than 4.1. (Johannes) @@ -212,7 +212,7 @@ PHP NEWS . Re-implemented non-file related functionality. (Mike) - Improved SNMP extension (Boris Lytochkin): - . Added OO API. FR #53594 (php-snmp rewrite). + . Added OO API. FR #53594 (php-snmp rewrite). . Sanitized return values of existing functions. Now it returns FALSE on failure. . Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids @@ -229,4 +229,3 @@ PHP NEWS - Fixed PDO objects binary incompatibility. (Dmitry) - Fixed bug #52211 (iconv() returns part of string on error). (Felipe) - diff --git a/releases/NEWS_5_4_0_beta1.txt b/public/releases/NEWS_5_4_0_beta1.txt similarity index 99% rename from releases/NEWS_5_4_0_beta1.txt rename to public/releases/NEWS_5_4_0_beta1.txt index c8cedc3a43..0d351202eb 100644 --- a/releases/NEWS_5_4_0_beta1.txt +++ b/public/releases/NEWS_5_4_0_beta1.txt @@ -12,7 +12,7 @@ PHP NEWS . Added support for SORT_NATURAL and SORT_FLAG_CASE in array sort functions (sort, rsort, ksort, krsort, asort, arsort and array_multisort). FR#55158 (Arpad) - . Disable windows CRT warning by default, can be enabled again using the ini + . Disable windows CRT warning by default, can be enabled again using the ini directive windows_show_crt_warnings. (Pierre) . Removed support for putenv("TZ=..") for setting the timezone. (Derick) . Removed the timezone guessing algorithm in case the timezone isn't set with @@ -122,7 +122,7 @@ PHP NEWS . Added the ability to pass options to loadHTML (Chregu, fxmulder at gmail dot com) - OpenSSL extension: - . Use php's implementation for Windows Crypto API in + . Use php's implementation for Windows Crypto API in openssl_random_pseudo_bytes. (Pierre) 20 Jun 2011, PHP 5.4.0 Alpha 1 @@ -140,7 +140,7 @@ PHP NEWS . highlight.bg ini option. (Kalle) . Session bug compatibility mode (session.bug_compat_42 and session.bug_compat_warn ini options). (Kalle) - . session_is_registered(), session_register() and session_unregister() + . session_is_registered(), session_register() and session_unregister() functions. (Kalle) . y2k_compliance ini option. (Kalle) @@ -151,7 +151,7 @@ PHP NEWS - Changed $_SERVER['REQUEST_TIME'] to include microsecond precision. (Ilia) - Changed default value of "default_charset" php.ini option from ISO-8859-1 to UTF-8. (Rasmus) -- Changed array_combine() to return empty array instead of FALSE when both +- Changed array_combine() to return empty array instead of FALSE when both parameter arrays are empty. FR #34857. (joel.perras@gmail.com) - Changed third parameter of preg_match_all() to optional. FR #53238. (Adam) - Changed silent casting of null/''/false into an Object when adding @@ -185,7 +185,7 @@ PHP NEWS handler. (Stas) - Improved Zend Engine memory usage: (Dmitry) - . Replaced zend_function.pass_rest_by_reference by + . Replaced zend_function.pass_rest_by_reference by ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags. . Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE in zend_function.fn_flags. @@ -194,7 +194,7 @@ PHP NEWS meaning) is represented by zend_internal_function_info structure. . Moved zend_op_array.size, size_var, size_literal, current_brk_cont, backpatch_count into CG(context) as they are used only during compilation. - . Moved zend_op_array.start_op into EG(start_op) as it's used only for + . Moved zend_op_array.start_op into EG(start_op) as it's used only for 'interactive' execution of single top-level op-array. . Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in zend_op_array.fn_flags. @@ -203,7 +203,7 @@ PHP NEWS in zend_class_entry.ce_flags. . Reduced the size of zend_class_entry by sharing the same memory space by different information for internal and user classes. - See zend_class_entry.info union. + See zend_class_entry.info union. . Reduced size of temp_variable. - Changed the structure of op_array.opcodes. The constant values are moved from @@ -287,7 +287,7 @@ PHP NEWS . Added JsonSerializable interface. (Sara) . Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options. (Sara) - . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts + . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts numeric strings to integers. (Ilia) . Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam) . Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam) @@ -299,7 +299,7 @@ PHP NEWS - Improved MySQL extensions: . MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey) . mysqlnd: Added named pipes support. FR #48082. (Andrey) - . MySQLi: Added iterator support in MySQLi. mysqli_result implements + . MySQLi: Added iterator support in MySQLi. mysqli_result implements Traversable. (Andrey, Johannes) . PDO_mysql: Removed support for linking with MySQL client libraries older than 4.1. (Johannes) @@ -335,15 +335,15 @@ PHP NEWS . Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud) - Improved XSL extension: - . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to - define forbidden operations within XSLT stylesheets, default is not to + . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to + define forbidden operations within XSLT stylesheets, default is not to enable write operations from XSLT. Bug #54446 (Chregu, Nicolas Gregoire) - Improved ZLIB extension: . Re-implemented non-file related functionality. (Mike) - Improved SNMP extension (Boris Lytochkin): - . Added OO API. FR #53594 (php-snmp rewrite). + . Added OO API. FR #53594 (php-snmp rewrite). . Sanitized return values of existing functions. Now it returns FALSE on failure. . Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids @@ -385,7 +385,7 @@ PHP NEWS . Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence) . Fixed bug #55504 (Content-Type header is not parsed correctly on HTTP POST request). (Hannes) - . Fixed bug #52461 (Incomplete doctype and missing xmlns). + . Fixed bug #52461 (Incomplete doctype and missing xmlns). (virsacer at web dot de, Pierre) - Curl: @@ -427,11 +427,11 @@ PHP NEWS - SimpleXML: . Reverted the SimpleXML->query() behaviour to returning empty arrays - instead of false when no nodes are found as it was since 5.3.3 + instead of false when no nodes are found as it was since 5.3.3 (bug #48601). (chregu, rrichards) - + - String: - . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated + . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated records). (Laruence) 23 Aug 2011, PHP 5.3.8 @@ -458,7 +458,7 @@ PHP NEWS (Pierrick, Felipe) . Fixed bug #54624 (class_alias and type hint). (Felipe) . Fixed bug #54585 (track_errors causes segfault). (Dmitry) - . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). + . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). (Tony, Dmitry) . Fixed bug #54372 (Crash accessing global object itself returned from its __get() handle). (Dmitry) @@ -471,13 +471,13 @@ PHP NEWS - Core . Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer) - . Removed warning when argument of is_a() or is_subclass_of() is not + . Removed warning when argument of is_a() or is_subclass_of() is not a known class. (Stas) . Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski. . Added PHP_MANDIR constant telling where the manpages were installed into, and an --man-dir argument to php-config. (Hannes) . Fixed a crash inside dtor for error handling. (Ilia) - . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) + . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) . Implemented FR #54459 (Range function accuracy). (Adam) . Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path). @@ -486,7 +486,7 @@ PHP NEWS (Dmitry) . Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow (Pierre) - . Fixed bug #55258 (Windows Version Detecting Error). + . Fixed bug #55258 (Windows Version Detecting Error). ( xiaomao5 at live dot com, Pierre) . Fixed bug #55187 (readlink returns weird characters when false result). (Pierre) @@ -530,7 +530,7 @@ PHP NEWS (Pierrick, Dmitry) . Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode filter). (slusarz at curecanti dot org) - . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using + . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using TMPDIR on Windows). (Pierre) - Apache2 Handler SAPI: @@ -543,7 +543,7 @@ PHP NEWS - cURL extension: . Added ini option curl.cainfo (support for custom cert db). (Pierre) . Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre) - . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and + . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick) - DateTime extension: @@ -570,10 +570,10 @@ PHP NEWS . Added 3rd parameter to filter_var_array() and filter_input_array() functions that allows disabling addition of empty elements. (Ilia) . Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia) - + - Interbase extension: . Fixed bug #54269 (Short exception message buffer causes crash). (Felipe) - + - intl extension: . Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia) . Implemented FR #54540 (Allow loading of arbitrary resource bundles when @@ -584,7 +584,7 @@ PHP NEWS (kevin at kevinlocke dot name) - json extension: - . Fixed bug #54484 (Empty string in json_decode doesn't reset + . Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). (Ilia) - LDAP extension: @@ -601,7 +601,7 @@ PHP NEWS - MCrypt extension: . Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data has been fetched (Windows). (Pierre) - . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random + . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random data on Windows). (Pierre) - mysqlnd @@ -633,7 +633,7 @@ PHP NEWS - PDO extension: . Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe) - . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE + . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE settings). (Ilia) - PDO DBlib driver: @@ -756,7 +756,7 @@ PHP NEWS . Fixed bug #48607 (fwrite() doesn't check reply from ftp server before exiting). (Ilia) - + - Calendar extension: . Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to segfault). (Gustavo) @@ -764,18 +764,18 @@ PHP NEWS - DOM extension: . Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode like DOMDocument::saveXML). (Gustavo) - + - DateTime extension: . Fixed a bug in DateTime->modify() where absolute date/time statements had no effect. (Derick) . Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit big-endian systems). (Derick, rein@basefarm.no) . Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas) - . Fixed bug #52738 (Can't use new properties in class extended from + . Fixed bug #52738 (Can't use new properties in class extended from DateInterval). (Stas) . Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from timestamp). (Stas) - . Fixed bug #52063 (DateTime constructor's second argument doesn't have a + . Fixed bug #52063 (DateTime constructor's second argument doesn't have a null default value). (Gustavo, Stas) - Exif extension: @@ -796,20 +796,20 @@ PHP NEWS (Hannes) - Gettext - . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE + . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE environment variable are set). (Pierre) - IMAP extension: . Implemented FR #53812 (get MIME headers of the part of the email). (Stas) . Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding). (Adam) - + - Intl extension: . Fixed bug #53612 (Segmentation fault when using cloned several intl objects). (Gustavo) . Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values). (Felipe) - . Implemented clone functionality for number, date & message formatters. + . Implemented clone functionality for number, date & message formatters. (Stas). - JSON extension: @@ -817,20 +817,20 @@ PHP NEWS decodings). (Scott) - mysqlnd - . Fixed problem with always returning 0 as num_rows for unbuffered sets. + . Fixed problem with always returning 0 as num_rows for unbuffered sets. (Andrey, Ulf) - MySQL Improved extension: - . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). + . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). (Kalle) . Fixed buggy counting of affected rows when using the text protocol. The collected statistics were wrong when multi_query was used with mysqlnd (Andrey) - . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). + . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). (Kalle) - . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA + . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA query). (Kalle, Andrey) - . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to + . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to call libmysql). (Kalle, tre-php-net at crushedhat dot com) - OpenSSL extension: @@ -847,13 +847,13 @@ PHP NEWS - PDO MySQL driver: . Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver). (Johannes) - . Implemented FR #47802 (Support for setting character sets in DSN strings). + . Implemented FR #47802 (Support for setting character sets in DSN strings). (Kalle) - PDO Oracle driver: . Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on ORACLE 10). (spatar at mail dot nnov dot ru) - + - PDO PostgreSQL driver: . Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down). (gyp at balabit dot hu) @@ -863,7 +863,7 @@ PHP NEWS (CVE-2011-1153) . Fixed bug #53541 (format string bug in ext/phar). (crrodriguez at opensuse dot org, Ilia) - . Fixed bug #53898 (PHAR reports invalid error message, when the directory + . Fixed bug #53898 (PHAR reports invalid error message, when the directory does not exist). (Ilia) - PHP-FPM SAPI: @@ -894,7 +894,7 @@ PHP NEWS (Mateusz Kocielski, Pierre) - SPL extension: - . Fixed memory leak in DirectoryIterator::getExtension() and + . Fixed memory leak in DirectoryIterator::getExtension() and SplFileInfo::getExtension(). (Felipe) . Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones) . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 @@ -944,13 +944,13 @@ PHP NEWS (Hannes) . Fixed bug #53568 (swapped memset arguments in struct initialization). (crrodriguez at opensuse dot org) - . Fixed bug #53166 (Missing parameters in docs and reflection definition). + . Fixed bug #53166 (Missing parameters in docs and reflection definition). (Richard) . Fixed bug #49072 (feof never returns true for damaged file in zip). (Gustavo, Richard Quadling) 06 Jan 2011, PHP 5.3.5 -- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, +- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, Rasmus) 09 Dec 2010, PHP 5.3.4 @@ -958,11 +958,11 @@ PHP NEWS - Upgraded bundled PCRE to version 8.10. (Ilia) - Security enhancements: - . Fixed crash in zip extract method (possible CWE-170). + . Fixed crash in zip extract method (possible CWE-170). (Maksymilian Arciemowicz, Pierre) . Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus) - . Fixed a possible double free in imap extension (Identified by Mateusz + . Fixed a possible double free in imap extension (Identified by Mateusz Kocielski). (CVE-2010-4150). (Ilia) . Fixed NULL pointer dereference in ZipArchive::getArchiveComment. (CVE-2010-3709). (Maksymilian Arciemowicz) @@ -974,23 +974,23 @@ PHP NEWS - General improvements: . Added stat support for zip stream. (Pierre) - . Added follow_location (enabled by default) option for the http stream + . Added follow_location (enabled by default) option for the http stream support. (Pierre) . Improved support for is_link and related functions on Windows. (Pierre) . Added a 3rd parameter to get_html_translation_table. It now takes a charset hint, like htmlentities et al. (Gustavo) - + - Implemented feature requests: . Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect zend multibyte at runtime. (Kalle) - . Implemented FR #52173, added functions pcntl_get_last_error() and + . Implemented FR #52173, added functions pcntl_get_last_error() and pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud) . Implemented symbolic links support for open_basedir checks. (Pierre) . Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre) . Implemented FR #50692, not uploaded files don't count towards max_file_uploads limit. As a side improvement, temporary files are not opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo) - + - Improved MySQLnd: . Added new character sets to mysqlnd, which are available in MySQL 5.5 (Andrey) @@ -1002,7 +1002,7 @@ PHP NEWS . Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat) . Added statistics about listening socket queue length for FPM. (andrei dot nigmatulin at gmail dot com, fat) - + - Core: . Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE. (jorto at redhat dot com) @@ -1016,7 +1016,7 @@ PHP NEWS . Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits). (Ilia, daniel dot mueller at inexio dot net) . Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char). - (Justin Martin) + (Justin Martin) . Fixed bug #53226 (file_exists fails on big filenames). (Adam) . Fixed bug #53198 (changing INI setting "from" with ini_set did not have any effect). (Gustavo) @@ -1032,7 +1032,7 @@ PHP NEWS decode " if ENT_NOQUOTES is given. (Gustavo) . Fixed bug #52931 (strripos not overloaded with function overloading enabled). (Felipe) - . Fixed bug #52772 (var_dump() doesn't check for the existence of + . Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before calling it). (Kalle, Gustavo) . Fixed bug #52534 (var_export array with negative key). (Felipe) . Fixed bug #52327 (base64_decode() improper handling of leading padding in @@ -1047,22 +1047,22 @@ PHP NEWS of reported malformed sequences). (CVE-2010-3870) (Gustavo) . Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8). (Gustavo) - . Fixed bug #48831 (php -i has different output to php --ini). (Richard, + . Fixed bug #48831 (php -i has different output to php --ini). (Richard, Pierre) . Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4). (Felipe) - . Fixed bug #47168 (printf of floating point variable prints maximum of 40 + . Fixed bug #47168 (printf of floating point variable prints maximum of 40 decimal places). (Ilia) . Fixed bug #46587 (mt_rand() does not check that max is greater than min). (Ilia) . Fixed bug #29085 (bad default include_path on Windows). (Pierre) . Fixed bug #25927 (get_html_translation_table calls the ' ' instead of '). (Gustavo) - + - Zend engine: . Reverted fix for bug #51176 (Static calling in non-static method behaves like $this->). (Felipe) - . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. + . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. (Kalle) . Fixed NULL dereference in lex_scan on zend multibyte builds where the script had a flex incompatible encoding and there was no converter. (Gustavo) @@ -1082,7 +1082,7 @@ PHP NEWS . Fixed bug #52361 (Throwing an exception in a destructor causes invalid catching). (Dmitry) . Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry) - + - Build issues: . Fixed bug #52436 (Compile error if systems do not have stdint.h) (Sriram Natarajan) @@ -1093,7 +1093,7 @@ PHP NEWS - Calendar extension: . Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE). (gpap at internet dot gr, Adam) - + - cURL extension: . Fixed bug #52828 (curl_setopt does not accept persistent streams). (Gustavo, Ilia) @@ -1101,7 +1101,7 @@ PHP NEWS (CURLOPT_STDERR)). (Gustavo) . Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia) . Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre) - + - DateTime extension: . Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return 1 million microsecs). (ped at 7gods dot org) @@ -1130,7 +1130,7 @@ PHP NEWS . Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre) - GMP extension: - . Fixed bug #52906 (gmp_mod returns negative result when non-negative is + . Fixed bug #52906 (gmp_mod returns negative result when non-negative is expected). (Stas) . Fixed bug #52849 (GNU MP invalid version match). (Adam) @@ -1143,7 +1143,7 @@ PHP NEWS headers). (Adam) . Fixed bug #52599 (iconv output handler outputs incorrect content type when flags are used). (Ilia) - . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded + . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded words). (Ilia) - Intl extension: @@ -1153,7 +1153,7 @@ PHP NEWS (Stas) . Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer range). (Stas) - + - Mbstring extension: . Fixed bug #53273 (mb_strcut() returns garbage with the excessive length parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi) @@ -1162,16 +1162,16 @@ PHP NEWS with the distribution) (Gustavo). . Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header). (Adam) - + - MSSQL extension: . Fixed possible crash in mssql_fetch_batch(). (Kalle) . Fixed bug #52843 (Segfault when optional parameters are not passed in to mssql_connect). (Felipe) - + - MySQL extension: - . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int). + . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int). (Kalle, rein at basefarm dot no) - + - MySQLi extension: . Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey) @@ -1188,10 +1188,10 @@ PHP NEWS (Andrey) . Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey) . Fixed bug #45921 (Can't initialize character set hebrew). (Andrey) - + - MySQLnd: . Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey) - + - ODBC extension: - Fixed bug #52512 (Broken error handling in odbc_execute). (mkoegler at auto dot tuwien dot ac dot at) @@ -1208,11 +1208,11 @@ PHP NEWS . Fixed bug #51610 (Using oci_connect causes PHP to take a long time to exit). Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix 9891199) for this patch to have an effect. (Oracle Corp.) - + - PCNTL extension: . Fixed bug #52784 (Race condition when handling many concurrent signals). (nick dot telford at gmail dot com, Arnaud) - + - PCRE extension: . Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe) . Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it @@ -1236,27 +1236,27 @@ PHP NEWS - PDO: . Fixed bug #52699 (PDO bindValue writes long int 32bit enum). - (rein at basefarm dot no) + (rein at basefarm dot no) . Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe) - + - PDO DBLib driver: . Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values). (Felipe) - + - PDO Firebird driver: . Restored firebird support (VC9 builds only). (Pierre) . Fixed bug #53335 (pdo_firebird did not implement rowCount()). (preeves at ibphoenix dot com) . Fixed bug #53323 (pdo_firebird getAttribute() crash). (preeves at ibphoenix dot com) - + - PDO MySQL driver: . Fixed bug #52745 (Binding params doesn't work when selecting a date inside a CASE-WHEN). (Andrey) - + - PostgreSQL extension: . Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com) - + - Reflection extension: . Fixed ReflectionProperty::isDefault() giving a wrong result for properties obtained with ReflectionClass::getProperties(). (Gustavo) @@ -1265,11 +1265,11 @@ PHP NEWS getProperty()). (Felipe) . Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors). (Johannes) - + - SOAP extension: . Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy with SoapClient object). (Dmitry) - + - SPL extension: . Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe) . Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape @@ -1277,7 +1277,7 @@ PHP NEWS . Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe) . Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo) . Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe) - . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link + . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link and directory). (Pierre) . Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe) . Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe) @@ -1285,7 +1285,7 @@ PHP NEWS - SQLite3 extension: . Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number). (Felipe) - + - Streams: . Fixed forward stream seeking emulation in streams that don't support seeking in situations where the read operation gives back less data than requested @@ -1304,7 +1304,7 @@ PHP NEWS - WDDX extension: . Fixed bug #52468 (wddx_deserialize corrupts integer field value when left empty). (Felipe) - + - Zlib extension: . Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo) @@ -1312,11 +1312,11 @@ PHP NEWS - Upgraded bundled sqlite to version 3.6.23.1. (Ilia) - Upgraded bundled PCRE to version 8.02. (Ilia) -- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts +- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts numeric strings to integers. (Ilia) - Added stream_set_read_buffer, allows to set the buffer for read operation. (Pierre) -- Added stream filter support to mcrypt extension (ported from +- Added stream filter support to mcrypt extension (ported from mcrypt_filter). (Stas) - Added full_special_chars filter to ext/filter. (Rasmus) - Added backlog socket context option for stream_socket_server(). (Mike) @@ -1325,10 +1325,10 @@ PHP NEWS Made implicit use of NULL IV a warning. (Sara) - Added openssl_cipher_iv_length(). (Sara) - Added FastCGI Process Manager (FPM) SAPI. (Tony) -- Added recent Windows versions to php_uname and fix undefined windows +- Added recent Windows versions to php_uname and fix undefined windows version support. (Pierre) - Added Berkeley DB 5 support to the DBA extension. (Johannes, Chris Jones) -- Added support for copy to/from array/file for pdo_pgsql extension. +- Added support for copy to/from array/file for pdo_pgsql extension. (Denis Gasparin, Ilia) - Added inTransaction() method to PDO, with specialized support for Postgres. (Ilia, Denis Gasparin) @@ -1348,7 +1348,7 @@ PHP NEWS Reported by Stefan Esser. (Andrey) - Fixed very rare memory leak in mysqlnd, when binding thousands of columns. (Andrey) -- Fixed a crash when calling an inexistent method of a class that inherits +- Fixed a crash when calling an inexistent method of a class that inherits PDOStatement if instantiated directly instead of doing by the PDO methods. (Felipe) @@ -1367,15 +1367,15 @@ PHP NEWS (Dmitry) - Fixed a possible memory corruption in pack(). Reported by Stefan Esser. (Dmitry) -- Fixed a possible memory corruption in substr_replace(). Reported by Stefan +- Fixed a possible memory corruption in substr_replace(). Reported by Stefan Esser. (Dmitry) -- Fixed a possible memory corruption in addcslashes(). Reported by Stefan +- Fixed a possible memory corruption in addcslashes(). Reported by Stefan Esser. (Dmitry) -- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan +- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan Esser. (Ilia) - Fixed a possible dechunking filter buffer overflow. Reported by Stefan Esser. (Pierre) -- Fixed a possible arbitrary memory access inside sqlite extension. Reported +- Fixed a possible arbitrary memory access inside sqlite extension. Reported by Mateusz Kocielski. (Ilia) - Fixed string format validation inside phar extension. Reported by Stefan Esser. (Ilia) @@ -1398,7 +1398,7 @@ PHP NEWS - Fixed bug #52193 (converting closure to array yields empty array). (Felipe) - Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for function aliases). (Felipe) -- Fixed bug #52162 (custom request header variables with numbers are removed). +- Fixed bug #52162 (custom request header variables with numbers are removed). (Sriram Natarajan) - Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe) - Fixed bug #52138 (Constants are parsed into the ini file for section names). @@ -1410,15 +1410,15 @@ PHP NEWS - Fixed bug #52082 (character_set_client & character_set_connection reset after mysqli_change_user()). (Andrey) - Fixed bug #52043 (GD doesn't recognize latest libJPEG versions). - (php at group dot apple dot com, Pierre) + (php at group dot apple dot com, Pierre) - Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function). (Dmitry) - Fixed bug #52060 (Memory leak when passing a closure to method_exists()). (Felipe) - Fixed bug #52057 (ReflectionClass fails on Closure class). (Felipe) -- Fixed bug #52051 (handling of case sensitivity of old-style constructors +- Fixed bug #52051 (handling of case sensitivity of old-style constructors changed in 5.3+). (Felipe) -- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at +- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at debian dot org, Kalle) - Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick) - Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command). @@ -1426,7 +1426,7 @@ PHP NEWS - Fixed bug #52001 (Memory allocation problems after using variable variables). (Dmitry) - Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe) -- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle, +- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle, coreystup at gmail dot com) - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array). (Felipe) @@ -1491,7 +1491,7 @@ PHP NEWS - Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile errors). (Felipe) - Fixed bug #51424 (crypt() function hangs after 3rd call). (Pierre, Sriram) -- Fixed bug #51394 (Error line reported incorrectly if error handler throws an +- Fixed bug #51394 (Error line reported incorrectly if error handler throws an exception). (Stas) - Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains timezone). (Adam) @@ -1510,15 +1510,15 @@ PHP NEWS - Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0). (Adam) - Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com) -- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia, +- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia, alexr at oplot dot com) -- Fixed bug #51190 (ftp_put() returns false when transfer was successful). +- Fixed bug #51190 (ftp_put() returns false when transfer was successful). (Ilia) - Fixed bug #51183 (ext/date/php_date.c fails to compile with Sun Studio). (Sriram Natarajan) - Fixed bug #51176 (Static calling in non-static method behaves like $this->). (Felipe) -- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when +- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when an invalid option is provided). (Ilia) - Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre) - Fixed bug #51096 ('last day' and 'first day' are handled incorrectly when @@ -1538,7 +1538,7 @@ PHP NEWS if defined in WSDL). (mephius at gmail dot com) - Fixed bug #50731 (Inconsistent namespaces sent to functions registered with spl_autoload_register). (Felipe) -- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot +- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot com, Pierre) - Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet dot com) @@ -1587,7 +1587,7 @@ PHP NEWS (vincent at optilian dot com) - Fixed bug #43233 (sasl support for ldap on Windows). (Pierre) - Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob) -- Fixed bug #33210 (getimagesize() fails to detect width/height on certain +- Fixed bug #33210 (getimagesize() fails to detect width/height on certain JPEGs). (Ilia) 04 Mar 2010, PHP 5.3.2 @@ -1610,7 +1610,7 @@ PHP NEWS setting it to 0. (Rasmus) - Changed tidyNode class to disallow manual node creation. (Pierrick) -- Removed automatic file descriptor unlocking happening on shutdown and/or +- Removed automatic file descriptor unlocking happening on shutdown and/or stream close (on all OSes). (Tony, Ilia) - Added libpng 1.4.0 support. (Pierre) @@ -1668,7 +1668,7 @@ PHP NEWS versions). (Derick) - Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX). (Ilia) -- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation). +- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation). (Ilia, hanno at hboeck dot de) - Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long). (Ilia) @@ -1703,7 +1703,7 @@ PHP NEWS and DomDocument). (Dmitry) - Fixed bug #50508 (compile failure: Conflicting HEADER type declarations). (Jani) -- Fixed bug #50496 (Use of is valid only in a c99 compilation +- Fixed bug #50496 (Use of is valid only in a c99 compilation environment. (Sriram) - Fixed bug #50464 (declare encoding doesn't work within an included file). (Felipe) @@ -1725,7 +1725,7 @@ PHP NEWS (Ilia, Pierrick) - Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays). (Felipe) -- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in +- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in calling function). (Felipe) - Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani) - Fixed bug #50266 (conflicting types for llabs). (Jani) @@ -1745,7 +1745,7 @@ PHP NEWS (tcallawa at redhat dot com) - Fixed bug #50207 (segmentation fault when concatenating very large strings on 64bit linux). (Ilia) -- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is +- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is not file). (Stas) - Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia) - Fixed bug #50185 (ldap_get_entries() return false instead of an empty array @@ -1773,7 +1773,7 @@ PHP NEWS - Fixed bug #49990 (SNMP3 warning message about security level printed twice). (Jani) - Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted - transaction). (ben dot pineau at gmail dot com, Ilia, Matteo) + transaction). (ben dot pineau at gmail dot com, Ilia, Matteo) - Fixed bug #49938 (Phar::isBuffering() returns inverted value). (Greg) - Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()). (Pierrick) @@ -1781,7 +1781,7 @@ PHP NEWS - Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry) - Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia, sjoerd at php dot net) -- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers). +- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers). (Ilia) - Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning). (Ilia, wmeler at wp-sa dot pl) @@ -1831,7 +1831,7 @@ PHP NEWS - Upgraded bundled sqlite to version 3.6.19. (Scott) - Updated timezone database to version 2009.17 (2009q). (Derick) -- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case +- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case insensitive. (garretts) - Restored shebang line check to CGI sapi (not checked by scanner anymore). @@ -1846,7 +1846,7 @@ PHP NEWS - Added support for ACL on Windows for thread safe SAPI (Apache2 for example) and fix its support on NTS. (Pierre) -- Improved symbolic, mounted volume and junctions support for realpath on +- Improved symbolic, mounted volume and junctions support for realpath on Windows. (Pierre) - Improved readlink on Windows, suppress \??\ and use the drive syntax only. (Pierre) @@ -1858,9 +1858,9 @@ PHP NEWS API. (Scott) - Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre) -- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. +- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. (Rasmus) -- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz +- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz Stachowiak. (Rasmus) - Fixed certificate validation inside php_openssl_apply_verification_policy (Ryan Sleevi, Ilia) @@ -1882,7 +1882,7 @@ PHP NEWS (Maksymilian Arciemowicz, Stas) - Fixed signature generation/validation for zip archives in ext/phar. (Greg) - Fixed memory leak in stream_is_local(). (Felipe, Tony) -- Fixed BC break in mime_content_type(), removes the content encoding. (Scott) +- Fixed BC break in mime_content_type(), removes the content encoding. (Scott) - Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised). (Chris Jones) @@ -1915,7 +1915,7 @@ PHP NEWS fclose). (Ilia) - Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). (Ilia) -- Fixed bug #49447 (php engine need to correctly check for socket API +- Fixed bug #49447 (php engine need to correctly check for socket API return status on windows). (Sriram Natarajan) - Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia) - Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre) @@ -1950,7 +1950,7 @@ PHP NEWS - Fixed bug #49074 (private class static fields can be modified by using reflection). (Jani) - Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre) -- Fixed bug #49065 ("disable_functions" php.ini option does not work on +- Fixed bug #49065 ("disable_functions" php.ini option does not work on Zend extensions). (Stas) - Fixed bug #49064 (--enable-session=shared does not work: undefined symbol: php_url_scanner_reset_vars). (Jani) @@ -1973,7 +1973,7 @@ PHP NEWS in a chunk). (andreas dot streichardt at globalpark dot com, Ilia) - Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in getSignature() call). (Greg) -- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes +- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes when including files from function). (Stas) - Fixed bug #48994 (zlib.output_compression does not output HTTP headers when set to a string value). (Jani) @@ -2002,10 +2002,10 @@ PHP NEWS - Fixed bug #48783 (make install will fail saying phar file exists). (Greg) - Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()). (Sriram Natarajan) -- Fixed bug #48771 (rename() between volumes fails and reports no error on +- Fixed bug #48771 (rename() between volumes fails and reports no error on Windows). (Pierre) - Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani) -- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at +- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at gmail dot com, Pierre) - Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe) - Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle) @@ -2022,7 +2022,7 @@ PHP NEWS files that have been opened with r+). (Ilia) - Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for sanity). (Jani) -- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain +- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain components). (Ilia) - Fixed bug #48681 (openssl signature verification for tar archives broken). (Greg) @@ -2045,7 +2045,7 @@ PHP NEWS - Fixed bug #48189 (ibase_execute error in return param). (Kalle) - Fixed bug #48182 (ssl handshake fails during asynchronous socket connection). (Sriram Natarajan) -- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, +- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, Al dot Smith at aeschi dot ch dot eu dot org) - Fixed bug #48057 (Only the date fields of the first row are fetched, others are empty). (info at programmiernutte dot net) @@ -2070,10 +2070,10 @@ PHP NEWS com, Kalle) - Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter Knauf) -- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo). +- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo). (Kalle, Rick Yorgason) - Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett) -- Fixed bug #27051 (Impersonation with FastCGI does not exec process as +- Fixed bug #27051 (Impersonation with FastCGI does not exec process as impersonated user). (Pierre) @@ -2172,7 +2172,7 @@ PHP NEWS (Dmitry, Pierre) . Changed exception handling. Now each op_array doesn't contain ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry) - . Optimized require_once() and include_once() by eliminating fopen(3) on + . Optimized require_once() and require_once() by eliminating fopen(3) on second usage. (Dmitry) . Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode. (Dmitry) @@ -2197,17 +2197,17 @@ PHP NEWS value. (Hannes) - Improved Windows support: - . Update all libraries to their latest stable version. (Pierre, Rob, Liz, + . Update all libraries to their latest stable version. (Pierre, Rob, Liz, Garrett). . Added Windows support for stat(), touch(), filemtime(), filesize() and related functions. (Pierre) . Re-added socket_create_pair() for Windows in sockets extension. (Kalle) - . Added inet_pton() and inet_ntop() also for Windows platforms. + . Added inet_pton() and inet_ntop() also for Windows platforms. (Kalle, Pierre) . Added mcrypt_create_iv() for Windows platforms. (Pierre) . Added ACL Cache support on Windows. (Kanwaljeet Singla, Pierre, Venkat Raman Don) - . Added constants based on Windows' GetVersionEx information. + . Added constants based on Windows' GetVersionEx information. PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre) . Added support for ACL (is_writable, is_readable, reports now correct results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla) @@ -2395,7 +2395,7 @@ PHP NEWS DateInterval on each iteration, up to an end date or limited by maximum number of occurences. -- Added compatibility mode in GD, imagerotate, image(filled)ellipse +- Added compatibility mode in GD, imagerotate, image(filled)ellipse imagefilter, imageconvolution and imagecolormatch are now always enabled. (Pierre) - Added array_replace() and array_replace_recursive() functions. (Matt) @@ -2437,12 +2437,12 @@ PHP NEWS - Added support for CP850 encoding in mbstring extension. (Denis Giffeler, Moriyoshi) - Added stream_cast() and stream_set_options() to user-space stream wrappers, - allowing stream_select(), stream_set_blocking(), stream_set_timeout() and + allowing stream_select(), stream_set_blocking(), stream_set_timeout() and stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud) - Added header_remove() function. (chsc at peytz dot dk, Arnaud) - Added stream_context_get_params() function. (Arnaud) - Added optional parameter "new" to sybase_connect(). (Timm) -- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) +- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) - Added str_getcsv() function. (Sara) - Added openssl_random_pseudo_bytes() function. (Scott) - Added ability to send user defined HTTP headers with SOAP request. @@ -2519,7 +2519,7 @@ PHP NEWS prepending functions). (Scott) - Fixed bug #48215 (Calling a method with the same name as the parent class calls the constructor). (Scott) -- Fixed bug #48200 (compile failure with mbstring.c when +- Fixed bug #48200 (compile failure with mbstring.c when --enable-zend-multibyte is used). (Jani) - Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL). (Matteo) @@ -2537,7 +2537,7 @@ PHP NEWS (Matteo) - Fixed bug #47771 (Exception during object construction from arg call calls object's destructor). (Dmitry) -- Fixed bug #47767 (include_once does not resolve windows symlinks or junctions) +- Fixed bug #47767 (require_once does not resolve windows symlinks or junctions) (Kanwaljeet Singla, Venkat Raman Don) - Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre) - Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). (Dmitry) @@ -2651,7 +2651,7 @@ PHP NEWS - Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()). (Ilia) - Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud) -- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause +- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause a segfault.) (Scott) - Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid). (Scott) @@ -2727,7 +2727,7 @@ PHP NEWS - Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra) - Changed default value of array_unique()'s optional sorting type parameter - back to SORT_STRING to fix backwards compatibility breakage introduced in + back to SORT_STRING to fix backwards compatibility breakage introduced in PHP 5.2.9. (Moriyoshi) - Fixed memory corruptions while reading properties of zip files. (Ilia) @@ -2760,7 +2760,7 @@ PHP NEWS files). (Pierre) - Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing). (Ilia, simonov at gmail dot com) -- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work +- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work with redeclared property). (patch by Markus dot Lidel at shadowconnect dot com) - Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud) @@ -2805,7 +2805,7 @@ PHP NEWS - Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia) - Fixed bug #47946 (ImageConvolution overwrites background). (Ilia) - Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt) -- Fixed bug #47937 (system() calls sapi_flush() regardless of output +- Fixed bug #47937 (system() calls sapi_flush() regardless of output buffering). (Ilia) - Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe) - Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud) @@ -2879,7 +2879,7 @@ PHP NEWS - Fixed bug #45092 (header HTTP context option not being used when compiled using --with-curlwrappers). (Jani) - Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime). - (Ilia, kawai at apache dot org) + (Ilia, kawai at apache dot org) - Fixed bug #44827 (define() is missing error checks for class constants). (Ilia) - Fixed bug #44214 (Crash using preg_replace_callback() and global variables). @@ -2904,7 +2904,7 @@ PHP NEWS - Added optional sorting type flag parameter to array_unique(). Default is SORT_REGULAR. (Andrei) -- Fixed a crash on extract in zip when files or directories entry names contain +- Fixed a crash on extract in zip when files or directories entry names contain a relative path. (Pierre) - Fixed error conditions handling in stream_filter_append(). (Arnaud) - Fixed zip filename property read. (Pierre) @@ -3006,11 +3006,11 @@ PHP NEWS - Added logging option for error_log to send directly to SAPI. (Stas) - Added PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants. (Pierre) -- Added "PHP_INI_SCAN_DIR" environment variable which can be used to +- Added "PHP_INI_SCAN_DIR" environment variable which can be used to either disable or change the compile time ini scan directory (FR #45114). (Jani) -- Fixed missing initialization of BG(page_uid) and BG(page_gid), +- Fixed missing initialization of BG(page_uid) and BG(page_gid), reported by Maksymilian Arciemowicz. (Stas) - Fixed memory leak inside sqlite_create_aggregate(). (Felipe) - Fixed memory leak inside PDO sqlite's sqliteCreateAggregate() method. @@ -3026,7 +3026,7 @@ PHP NEWS - Fixed a bug inside dba_replace() that could cause file truncation withinvalid keys. (Ilia) - Fixed memory leak inside readline_callback_handler_install() function.(Ilia) -- Fixed memory leak inside readline_completion_function() function. (Felipe) +- Fixed memory leak inside readline_completion_function() function. (Felipe) - Fixed stream_get_contents() when using $maxlength and socket is notclosed. indeyets [at] php [dot] net on #46049. (Arnaud) - Fixed stream_get_line() to behave as documented on non-blocking streams. @@ -3155,7 +3155,7 @@ PHP NEWS - Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause an error). (Felipe) - Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address - use)). (basant dot kukreja at sun dot com) + use)). (basant dot kukreja at sun dot com) - Fixed bug #45722 (mb_check_encoding() crashes). (Moriyoshi) - Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter). (Jani) @@ -3305,7 +3305,7 @@ PHP NEWS 01 May 2008, PHP 5.2.6 - Fixed two possible crashes inside posix extension (Tony) -- Fixed incorrect heredoc handling when label is used within the block. +- Fixed incorrect heredoc handling when label is used within the block. (Matt) - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrei Nigmatulin) - Fixed sending of uninitialized paddings which may contain some information. (Andrei Nigmatulin) @@ -4579,7 +4579,7 @@ PHP NEWS - Optimized array/HashTable copying. (Matt Wilmas, Dmitry) - Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry) -- Optimized require_once() and include_once() by eliminating fopen(3) on +- Optimized require_once() and require_once() by eliminating fopen(3) on second usage. (Dmitry) - Optimized request shutdown sequence. Restoring ini directives now iterates only over modified directives instead of all. (Dmitry) @@ -4740,7 +4740,7 @@ PHP NEWS exception is thrown from __get method). (Tony) - Fixed bug #38623 (leaks in a tricky code with switch() and exceptions). (Dmitry) -- Fixed bug #38579 (include_once() may include the same file twice). (Dmitry) +- Fixed bug #38579 (require_once() may include the same file twice). (Dmitry) - Fixed bug #38574 (missing curl constants and improper constant detection). (Ilia) - Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too @@ -5975,7 +5975,7 @@ PHP NEWS - Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani) - Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob) - Fixed bug #32924 (file included with "auto_prepend_file" can be included - with require_once() or include_once()). (Stas) + with require_once() or require_once()). (Stas) - Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony) - Fixed bug #32852 (Crash with singleton and __destruct when zend.ze1_compatibility_mode = On). (Dmitry) diff --git a/releases/NEWS_5_4_0_beta2.txt b/public/releases/NEWS_5_4_0_beta2.txt similarity index 97% rename from releases/NEWS_5_4_0_beta2.txt rename to public/releases/NEWS_5_4_0_beta2.txt index 2ba5cd3683..d306d8a5f6 100644 --- a/releases/NEWS_5_4_0_beta2.txt +++ b/public/releases/NEWS_5_4_0_beta2.txt @@ -2,9 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 20 Oct 2011, PHP 5.4.0 beta2 - General improvements: - . Improve the warning message of incompatible arguments. (Laruence) + . Improve the warning message of incompatible arguments. (Laruence) . Improve ternary operator performance when returning arrays. (Arnaud, Dmitry) - + - Core: . Fixed bug #55749 (TOCTOU issue in getenv() on Windows builds). (Pierre) . Fixed bug #55707 (undefined reference to `__sync_fetch_and_add_4' on Linux @@ -20,7 +20,7 @@ PHP NEWS - Openssl . Revert r313616 (When we have a blocking SSL socket, respect the timeout option, scottmac), breaks ssl support as described in bugs #55283 and #55848 - + - PDO DBlib driver: . Fixed bug #60033 (Incorrectly merged PDO dblib patches break uniqueidentifier column type). (warezthebeef at gmail dot com) @@ -30,7 +30,7 @@ PHP NEWS (Ilia, jeffhuang9999 at gmail dot com) - Zlib: - . Fixed bug #55544 (ob_gzhandler always conflicts with + . Fixed bug #55544 (ob_gzhandler always conflicts with zlib.output_compression). (Mike) - SPL: @@ -63,7 +63,7 @@ PHP NEWS . Added support for SORT_NATURAL and SORT_FLAG_CASE in array sort functions (sort, rsort, ksort, krsort, asort, arsort and array_multisort). FR#55158 (Arpad) - . Disable windows CRT warning by default, can be enabled again using the ini + . Disable windows CRT warning by default, can be enabled again using the ini directive windows_show_crt_warnings. (Pierre) . Removed support for putenv("TZ=..") for setting the timezone. (Derick) . Removed the timezone guessing algorithm in case the timezone isn't set with @@ -173,7 +173,7 @@ PHP NEWS . Added the ability to pass options to loadHTML (Chregu, fxmulder at gmail dot com) - OpenSSL extension: - . Use php's implementation for Windows Crypto API in + . Use php's implementation for Windows Crypto API in openssl_random_pseudo_bytes. (Pierre) 20 Jun 2011, PHP 5.4.0 Alpha 1 @@ -191,7 +191,7 @@ PHP NEWS . highlight.bg ini option. (Kalle) . Session bug compatibility mode (session.bug_compat_42 and session.bug_compat_warn ini options). (Kalle) - . session_is_registered(), session_register() and session_unregister() + . session_is_registered(), session_register() and session_unregister() functions. (Kalle) . y2k_compliance ini option. (Kalle) @@ -202,7 +202,7 @@ PHP NEWS - Changed $_SERVER['REQUEST_TIME'] to include microsecond precision. (Ilia) - Changed default value of "default_charset" php.ini option from ISO-8859-1 to UTF-8. (Rasmus) -- Changed array_combine() to return empty array instead of FALSE when both +- Changed array_combine() to return empty array instead of FALSE when both parameter arrays are empty. FR #34857. (joel.perras@gmail.com) - Changed third parameter of preg_match_all() to optional. FR #53238. (Adam) - Changed silent casting of null/''/false into an Object when adding @@ -236,7 +236,7 @@ PHP NEWS handler. (Stas) - Improved Zend Engine memory usage: (Dmitry) - . Replaced zend_function.pass_rest_by_reference by + . Replaced zend_function.pass_rest_by_reference by ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags. . Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE in zend_function.fn_flags. @@ -245,7 +245,7 @@ PHP NEWS meaning) is represented by zend_internal_function_info structure. . Moved zend_op_array.size, size_var, size_literal, current_brk_cont, backpatch_count into CG(context) as they are used only during compilation. - . Moved zend_op_array.start_op into EG(start_op) as it's used only for + . Moved zend_op_array.start_op into EG(start_op) as it's used only for 'interactive' execution of single top-level op-array. . Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in zend_op_array.fn_flags. @@ -254,7 +254,7 @@ PHP NEWS in zend_class_entry.ce_flags. . Reduced the size of zend_class_entry by sharing the same memory space by different information for internal and user classes. - See zend_class_entry.info union. + See zend_class_entry.info union. . Reduced size of temp_variable. - Changed the structure of op_array.opcodes. The constant values are moved from @@ -338,7 +338,7 @@ PHP NEWS . Added JsonSerializable interface. (Sara) . Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options. (Sara) - . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts + . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts numeric strings to integers. (Ilia) . Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam) . Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam) @@ -350,7 +350,7 @@ PHP NEWS - Improved MySQL extensions: . MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey) . mysqlnd: Added named pipes support. FR #48082. (Andrey) - . MySQLi: Added iterator support in MySQLi. mysqli_result implements + . MySQLi: Added iterator support in MySQLi. mysqli_result implements Traversable. (Andrey, Johannes) . PDO_mysql: Removed support for linking with MySQL client libraries older than 4.1. (Johannes) @@ -386,15 +386,15 @@ PHP NEWS . Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud) - Improved XSL extension: - . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to - define forbidden operations within XSLT stylesheets, default is not to + . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to + define forbidden operations within XSLT stylesheets, default is not to enable write operations from XSLT. Bug #54446 (Chregu, Nicolas Gregoire) - Improved ZLIB extension: . Re-implemented non-file related functionality. (Mike) - Improved SNMP extension (Boris Lytochkin): - . Added OO API. FR #53594 (php-snmp rewrite). + . Added OO API. FR #53594 (php-snmp rewrite). . Sanitized return values of existing functions. Now it returns FALSE on failure. . Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids @@ -436,7 +436,7 @@ PHP NEWS . Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence) . Fixed bug #55504 (Content-Type header is not parsed correctly on HTTP POST request). (Hannes) - . Fixed bug #52461 (Incomplete doctype and missing xmlns). + . Fixed bug #52461 (Incomplete doctype and missing xmlns). (virsacer at web dot de, Pierre) - Curl: @@ -478,11 +478,11 @@ PHP NEWS - SimpleXML: . Reverted the SimpleXML->query() behaviour to returning empty arrays - instead of false when no nodes are found as it was since 5.3.3 + instead of false when no nodes are found as it was since 5.3.3 (bug #48601). (chregu, rrichards) - + - String: - . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated + . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some tab-separated records). (Laruence) 23 Aug 2011, PHP 5.3.8 @@ -509,7 +509,7 @@ PHP NEWS (Pierrick, Felipe) . Fixed bug #54624 (class_alias and type hint). (Felipe) . Fixed bug #54585 (track_errors causes segfault). (Dmitry) - . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). + . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). (Tony, Dmitry) . Fixed bug #54372 (Crash accessing global object itself returned from its __get() handle). (Dmitry) @@ -522,13 +522,13 @@ PHP NEWS - Core . Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer) - . Removed warning when argument of is_a() or is_subclass_of() is not + . Removed warning when argument of is_a() or is_subclass_of() is not a known class. (Stas) . Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski. . Added PHP_MANDIR constant telling where the manpages were installed into, and an --man-dir argument to php-config. (Hannes) . Fixed a crash inside dtor for error handling. (Ilia) - . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) + . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) . Implemented FR #54459 (Range function accuracy). (Adam) . Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path). @@ -537,7 +537,7 @@ PHP NEWS (Dmitry) . Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow (Pierre) - . Fixed bug #55258 (Windows Version Detecting Error). + . Fixed bug #55258 (Windows Version Detecting Error). ( xiaomao5 at live dot com, Pierre) . Fixed bug #55187 (readlink returns weird characters when false result). (Pierre) @@ -581,7 +581,7 @@ PHP NEWS (Pierrick, Dmitry) . Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode filter). (slusarz at curecanti dot org) - . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using + . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using TMPDIR on Windows). (Pierre) - Apache2 Handler SAPI: @@ -594,7 +594,7 @@ PHP NEWS - cURL extension: . Added ini option curl.cainfo (support for custom cert db). (Pierre) . Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre) - . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and + . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick) - DateTime extension: @@ -621,10 +621,10 @@ PHP NEWS . Added 3rd parameter to filter_var_array() and filter_input_array() functions that allows disabling addition of empty elements. (Ilia) . Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia) - + - Interbase extension: . Fixed bug #54269 (Short exception message buffer causes crash). (Felipe) - + - intl extension: . Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia) . Implemented FR #54540 (Allow loading of arbitrary resource bundles when @@ -635,7 +635,7 @@ PHP NEWS (kevin at kevinlocke dot name) - json extension: - . Fixed bug #54484 (Empty string in json_decode doesn't reset + . Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). (Ilia) - LDAP extension: @@ -652,7 +652,7 @@ PHP NEWS - MCrypt extension: . Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data has been fetched (Windows). (Pierre) - . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random + . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random data on Windows). (Pierre) - mysqlnd @@ -684,7 +684,7 @@ PHP NEWS - PDO extension: . Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe) - . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE + . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE settings). (Ilia) - PDO DBlib driver: @@ -807,7 +807,7 @@ PHP NEWS . Fixed bug #48607 (fwrite() doesn't check reply from ftp server before exiting). (Ilia) - + - Calendar extension: . Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to segfault). (Gustavo) @@ -815,18 +815,18 @@ PHP NEWS - DOM extension: . Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode like DOMDocument::saveXML). (Gustavo) - + - DateTime extension: . Fixed a bug in DateTime->modify() where absolute date/time statements had no effect. (Derick) . Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit big-endian systems). (Derick, rein@basefarm.no) . Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas) - . Fixed bug #52738 (Can't use new properties in class extended from + . Fixed bug #52738 (Can't use new properties in class extended from DateInterval). (Stas) . Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from timestamp). (Stas) - . Fixed bug #52063 (DateTime constructor's second argument doesn't have a + . Fixed bug #52063 (DateTime constructor's second argument doesn't have a null default value). (Gustavo, Stas) - Exif extension: @@ -847,20 +847,20 @@ PHP NEWS (Hannes) - Gettext - . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE + . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE environment variable are set). (Pierre) - IMAP extension: . Implemented FR #53812 (get MIME headers of the part of the email). (Stas) . Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding). (Adam) - + - Intl extension: . Fixed bug #53612 (Segmentation fault when using cloned several intl objects). (Gustavo) . Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values). (Felipe) - . Implemented clone functionality for number, date & message formatters. + . Implemented clone functionality for number, date & message formatters. (Stas). - JSON extension: @@ -868,20 +868,20 @@ PHP NEWS decodings). (Scott) - mysqlnd - . Fixed problem with always returning 0 as num_rows for unbuffered sets. + . Fixed problem with always returning 0 as num_rows for unbuffered sets. (Andrey, Ulf) - MySQL Improved extension: - . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). + . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). (Kalle) . Fixed buggy counting of affected rows when using the text protocol. The collected statistics were wrong when multi_query was used with mysqlnd (Andrey) - . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). + . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). (Kalle) - . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA + . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA query). (Kalle, Andrey) - . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to + . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to call libmysql). (Kalle, tre-php-net at crushedhat dot com) - OpenSSL extension: @@ -898,13 +898,13 @@ PHP NEWS - PDO MySQL driver: . Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver). (Johannes) - . Implemented FR #47802 (Support for setting character sets in DSN strings). + . Implemented FR #47802 (Support for setting character sets in DSN strings). (Kalle) - PDO Oracle driver: . Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on ORACLE 10). (spatar at mail dot nnov dot ru) - + - PDO PostgreSQL driver: . Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down). (gyp at balabit dot hu) @@ -914,7 +914,7 @@ PHP NEWS (CVE-2011-1153) . Fixed bug #53541 (format string bug in ext/phar). (crrodriguez at opensuse dot org, Ilia) - . Fixed bug #53898 (PHAR reports invalid error message, when the directory + . Fixed bug #53898 (PHAR reports invalid error message, when the directory does not exist). (Ilia) - PHP-FPM SAPI: @@ -945,7 +945,7 @@ PHP NEWS (Mateusz Kocielski, Pierre) - SPL extension: - . Fixed memory leak in DirectoryIterator::getExtension() and + . Fixed memory leak in DirectoryIterator::getExtension() and SplFileInfo::getExtension(). (Felipe) . Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones) . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 @@ -995,13 +995,13 @@ PHP NEWS (Hannes) . Fixed bug #53568 (swapped memset arguments in struct initialization). (crrodriguez at opensuse dot org) - . Fixed bug #53166 (Missing parameters in docs and reflection definition). + . Fixed bug #53166 (Missing parameters in docs and reflection definition). (Richard) . Fixed bug #49072 (feof never returns true for damaged file in zip). (Gustavo, Richard Quadling) 06 Jan 2011, PHP 5.3.5 -- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, +- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, Rasmus) 09 Dec 2010, PHP 5.3.4 @@ -1009,11 +1009,11 @@ PHP NEWS - Upgraded bundled PCRE to version 8.10. (Ilia) - Security enhancements: - . Fixed crash in zip extract method (possible CWE-170). + . Fixed crash in zip extract method (possible CWE-170). (Maksymilian Arciemowicz, Pierre) . Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus) - . Fixed a possible double free in imap extension (Identified by Mateusz + . Fixed a possible double free in imap extension (Identified by Mateusz Kocielski). (CVE-2010-4150). (Ilia) . Fixed NULL pointer dereference in ZipArchive::getArchiveComment. (CVE-2010-3709). (Maksymilian Arciemowicz) @@ -1025,23 +1025,23 @@ PHP NEWS - General improvements: . Added stat support for zip stream. (Pierre) - . Added follow_location (enabled by default) option for the http stream + . Added follow_location (enabled by default) option for the http stream support. (Pierre) . Improved support for is_link and related functions on Windows. (Pierre) . Added a 3rd parameter to get_html_translation_table. It now takes a charset hint, like htmlentities et al. (Gustavo) - + - Implemented feature requests: . Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect zend multibyte at runtime. (Kalle) - . Implemented FR #52173, added functions pcntl_get_last_error() and + . Implemented FR #52173, added functions pcntl_get_last_error() and pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud) . Implemented symbolic links support for open_basedir checks. (Pierre) . Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre) . Implemented FR #50692, not uploaded files don't count towards max_file_uploads limit. As a side improvement, temporary files are not opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo) - + - Improved MySQLnd: . Added new character sets to mysqlnd, which are available in MySQL 5.5 (Andrey) @@ -1053,7 +1053,7 @@ PHP NEWS . Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat) . Added statistics about listening socket queue length for FPM. (andrei dot nigmatulin at gmail dot com, fat) - + - Core: . Fixed extract() to do not overwrite $GLOBALS and $this when using EXTR_OVERWRITE. (jorto at redhat dot com) @@ -1067,7 +1067,7 @@ PHP NEWS . Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits). (Ilia, daniel dot mueller at inexio dot net) . Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char). - (Justin Martin) + (Justin Martin) . Fixed bug #53226 (file_exists fails on big filenames). (Adam) . Fixed bug #53198 (changing INI setting "from" with ini_set did not have any effect). (Gustavo) @@ -1083,7 +1083,7 @@ PHP NEWS decode " if ENT_NOQUOTES is given. (Gustavo) . Fixed bug #52931 (strripos not overloaded with function overloading enabled). (Felipe) - . Fixed bug #52772 (var_dump() doesn't check for the existence of + . Fixed bug #52772 (var_dump() doesn't check for the existence of get_class_name before calling it). (Kalle, Gustavo) . Fixed bug #52534 (var_export array with negative key). (Felipe) . Fixed bug #52327 (base64_decode() improper handling of leading padding in @@ -1098,13 +1098,13 @@ PHP NEWS of reported malformed sequences). (CVE-2010-3870) (Gustavo) . Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8). (Gustavo) - . Fixed bug #48831 (php -i has different output to php --ini). (Richard, + . Fixed bug #48831 (php -i has different output to php --ini). (Richard, Pierre) . Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4). (Felipe) - . Fixed bug #47168 (printf of floating point variable prints maximum of 40 + . Fixed bug #47168 (printf of floating point variable prints maximum of 40 decimal places). (Ilia) . Fixed bug #46587 (mt_rand() does not check that max is greater than min). (Ilia) . Fixed bug #29085 (bad default include_path on Windows). (Pierre) - . Fixed bug #25927 (get_html_translation_table \ No newline at end of file + . Fixed bug #25927 (get_html_translation_table diff --git a/public/releases/active.php b/public/releases/active.php new file mode 100644 index 0000000000..d9ac8fb0d0 --- /dev/null +++ b/public/releases/active.php @@ -0,0 +1,13 @@ +format('c') : null; +} + +$current = []; +foreach (get_all_branches() as $major => $releases) { + foreach ($releases as $branch => $release) { + $current[$branch] = [ + 'branch' => $branch, + 'latest' => ($release['version'] ?? null), + 'state' => get_branch_support_state($branch), + 'initial_release' => formatDate(get_branch_release_date($branch)), + 'active_support_end' => formatDate(get_branch_bug_eol_date($branch)), + 'security_support_end' => formatDate(get_branch_security_eol_date($branch)), + ]; + } +} + +// Sorting should already be correct based on return of get_all_branches(), +// but enforce it here anyway, just to be nice. +usort($current, fn($a, $b) => version_compare($b['branch'], $a['branch'])); + +echo json_encode($current); diff --git a/public/releases/feed.php b/public/releases/feed.php new file mode 100644 index 0000000000..bc5eaf97de --- /dev/null +++ b/public/releases/feed.php @@ -0,0 +1,92 @@ + + + PHP.net releases + + /images/news/php-logo.gif + + Webmaster + http://php.net/contact + php-webmaster@lists.php.net + + http://php.net/releases/index.php + +XML; + +ob_start(); + +// Flatten major versions out of RELEASES. +$RELEASED_VERSIONS = array_reduce($RELEASES, 'array_merge', []); +$FEED_UPDATED = 0; +krsort($RELEASED_VERSIONS); +foreach ($RELEASED_VERSIONS as $version => $release) { + $published = date(DATE_ATOM, strtotime($release["source"][0]["date"])); + if ($release["announcement"]) { + $id = "http://php.net/releases/" . str_replace(".", "_", $version) . ".php"; + } else { + $id = "https://qa.php.net/#$version"; + } + + echo << + PHP {$version} released! + {$id} + {$version} + {$published} + There is a new PHP release in town! + +XML; + $maxtime = []; + foreach ($release["source"] as $source) { + if (!isset($source["date"])) { + continue; + } + $maxtime[] = $time = strtotime($source["date"]); + $released = date(DATE_ATOM, $time); + + echo " \n"; + foreach (['md5', 'sha256'] as $hashAlgo) { + if (isset($source[$hashAlgo])) { + echo " {$source[$hashAlgo]}\n"; + } + } + + echo <<{$released} + + +XML; + + } + + $updated = date(DATE_ATOM, max($maxtime)); + + if (isset($release['tags'])) { + foreach ($release['tags'] as $tag) { + echo ' ', htmlspecialchars($tag), "\n"; + } + } + + echo <<{$updated} + + + +XML; + + $FEED_UPDATED = max($maxtime, $FEED_UPDATED); +} + +$entries = ob_get_clean(); + +$FEED_UPDATED = date(DATE_ATOM, max($FEED_UPDATED)); + +echo " {$FEED_UPDATED}\n"; +echo $entries; +echo ""; diff --git a/public/releases/index.php b/public/releases/index.php new file mode 100644 index 0000000000..e87e49df4c --- /dev/null +++ b/public/releases/index.php @@ -0,0 +1,250 @@ + $releases) { + $supportedVersions[$major] = array_keys($releases); + } + + if (isset($_GET["version"])) { + $versionArray = version_array($_GET["version"]); + $ver = $versionArray[0]; + + if (isset($RELEASES[$ver])) { + $combinedReleases = array_replace_recursive($RELEASES, $OLDRELEASES); + + $max = (int) ($_GET['max'] ?? 1); + if ($max == -1) { + $max = PHP_INT_MAX; + } + + $count = 0; + foreach ($combinedReleases[$ver] as $version => $release) { + if ($max <= $count) { + break; + } + + if (compare_version($versionArray, $version) == 0) { + if (!isset($_GET['max'])) { + $release['supported_versions'] = $supportedVersions[$ver] ?? []; + } + $machineReadable[$version] = $release; + $count++; + } + } + + if (!isset($_GET['max']) && !empty($machineReadable)) { + $version = key($machineReadable); + $machineReadable = current($machineReadable); + $machineReadable["version"] = $version; + } + } + + if (empty($machineReadable)) { + $machineReadable = ["error" => "Unknown version"]; + } + } else { + foreach ($RELEASES as $major => $release) { + $version = key($release); + $r = current($release); + $r["version"] = $version; + $r['supported_versions'] = $supportedVersions[$major] ?? []; + $machineReadable[$major] = $r; + } + } + + if (isset($_GET["serialize"])) { + header('Content-type: text/plain'); + echo serialize($machineReadable); + } elseif (isset($_GET["json"])) { + header('Content-Type: application/json'); + echo json_encode($machineReadable); + } + return; +} + +// Human Readable. +site_header("Releases", [ + 'current' => 'downloads', + 'css' => '/styles/releases.css', + 'cache_control' => 60 * 60, // 60 minutes +]); + +echo "

    Unsupported Historical Releases

    \n\n"; +echo "

    + We have collected all the official information and code available for + past PHP releases. You can find more details on the current release + on our downloads page. Please note that + older releases are listed for archival purposes only, and + they are no longer supported. +

    \n"; + +$active_majors = array_keys($RELEASES); +$latest = max($active_majors); +foreach ($OLDRELEASES as $major => $a) { + echo ''; + if (!in_array($major, $active_majors, false)) { + echo "\n
    \n"; + echo "

    Support for PHP $major has been discontinued "; + echo "since " . current($a)['date'] . '. '; + echo "Please consider upgrading to $latest.

    \n"; + } + + $i = 0; + foreach ($a as $ver => $release) { + $i++; + mk_rel( + $major, + $ver, + $release["date"], + $release["announcement"] ?? false, + $release["source"] ?? [], + $release["windows"] ?? [], + $release["museum"] ?? ($i >= 3), + ); + } +} + +site_footer(['sidebar' => +'
    + Supported Versions +
    + Check the supported versions page for + more information on the support lifetime of each version of PHP. +
    +
    + +
    + End of Life Dates +
    +

    The most recent branches to reach end of life status are:

    +
      ' . recentEOLBranchesHTML() . '
    +
    +
    + +

    + PHP 7 ChangeLog +

    +

    + PHP 5 ChangeLog +

    +

    + PHP 4 ChangeLog +

    + + + +
    +
    Want a PHP serialized list of the PHP releases?
    +
    + +
    +
    + +
    +
    Want a JSON list of the PHP releases?
    +
    + +
    +
    +', ]); + +function recentEOLBranchesHTML(): string { + $eol = []; + foreach (get_eol_branches() as $branches) { + foreach ($branches as $branch => $detail) { + $detail_date = $detail['date']; + while (isset($eol[$detail_date])) $detail_date++; + $eol[$detail_date] = sprintf('
  • %s: %s
  • ', $branch, date('j M Y', $detail_date)); + } + } + krsort($eol); + return implode('', array_slice($eol, 0, 2)); +} + +/** + * @param bool|array $announcement + */ +function mk_rel(int $major, + string $ver, + string $date, + $announcement, + array $source, + array $windows, + bool $museum): void { + printf("\n

    %1\$s

    \n
      \n
    • Released: %s
    • \n
    • Announcement: ", + ($pos = strpos($ver, " ")) ? substr($ver, 0, $pos) : $ver, + $date); + + if ($announcement) { + if (is_array($announcement)) { + foreach ($announcement as $ann => $url) { + echo "$ann "; + } + } else { + $url = str_replace(".", "_", $ver); + echo "English"; + } + } else { + echo "None"; + } + echo "
    • \n"; + + if ($major > 3) { + echo "
    • ChangeLog
    • "; + } + echo "\n
    • \n Download:\n"; + echo "
        \n"; + + if (!$museum) { + foreach (array_merge($source, $windows) as $src) { + echo "
      • \n"; + if (isset($src['filename'])) { + download_link($src["filename"], $src["name"]); echo "
        \n"; + if (isset($src['sha256'])) { + echo sha256_html($src['sha256']), "\n"; + } + } else { + echo "{$src['name']}"; + } + echo "
      • \n"; + } + + } else { /* $museum */ + foreach ($source as $src) { + if (!isset($src["filename"])) { + continue; + } + printf('
      • %s
      • ', + $major, $src["filename"], $src["name"]); + } + foreach ($windows as $src) { + printf('
      • %s
      • ', + ($major == 5 ? "php5" : "win32"), $src["filename"], $src["name"]); + } + } + + echo "
      \n"; + echo "
    • \n"; + echo "
    \n"; +} diff --git a/public/releases/states.php b/public/releases/states.php new file mode 100644 index 0000000000..429214563c --- /dev/null +++ b/public/releases/states.php @@ -0,0 +1,36 @@ +format('c') : null; +} + +foreach (get_all_branches() as $major => $releases) { + $states[$major] = []; + foreach ($releases as $branch => $release) { + $states[$major][$branch] = [ + 'state' => get_branch_support_state($branch), + 'initial_release' => formatDate(get_branch_release_date($branch)), + 'active_support_end' => formatDate(get_branch_bug_eol_date($branch)), + 'security_support_end' => formatDate(get_branch_security_eol_date($branch)), + ]; + } + krsort($states[$major]); +} + +krsort($states); + +echo json_encode($states); diff --git a/public/results.php b/public/results.php new file mode 100644 index 0000000000..b2225d49b6 --- /dev/null +++ b/public/results.php @@ -0,0 +1,28 @@ + 'help', + 'layout_span' => 12, + ], +); + +echo '

    Search results

    '; + +google_cse(); + +site_footer(); diff --git a/robots.txt b/public/robots.txt similarity index 92% rename from robots.txt rename to public/robots.txt index 493a453dff..9fd9178dbe 100644 --- a/robots.txt +++ b/public/robots.txt @@ -3,7 +3,6 @@ Disallow: /backend/ Disallow: /distributions/ Disallow: /stats/ Disallow: /server-status/ -Disallow: /source.php Disallow: /search.php Disallow: /mod.php Disallow: /manual/add-note.php @@ -12,4 +11,3 @@ Disallow: /manual/vote-note.php Disallow: /harming/humans Disallow: /ignoring/human/orders Disallow: /harm/to/self - diff --git a/public/search.php b/public/search.php new file mode 100644 index 0000000000..4faec5a06e --- /dev/null +++ b/public/search.php @@ -0,0 +1,59 @@ + "search", + "type" => "application/opensearchdescription+xml", + "href" => $MYSITE . "phpnetimprovedsearch.src", + "title" => "Add PHP.net search", + ]; + site_header("Search", ["link" => [$link], "current" => "help", 'css' => 'cse-search.css']); + + google_cse(); + site_footer(); +} diff --git a/security-note.php b/public/security-note.php similarity index 82% rename from security-note.php rename to public/security-note.php index 4e928b1bb5..a61ab49241 100644 --- a/security-note.php +++ b/public/security-note.php @@ -1,8 +1,7 @@ "docs")); +require_once __DIR__ . '/../include/prepend.inc'; +site_header("A Note on Security in PHP", ["current" => "docs"]); ?>

    A Note on Security in PHP

    @@ -15,7 +14,7 @@ not be safe to pass to another.

    - A recent Web Worm known as NeverEverSanity exposed a mistake in the input + Long ago, a Web Worm known as NeverEverSanity exposed a mistake in the input validation in the popular phpBB message board application. Their highlighting code didn't account for double-urlencoded input correctly. Without proper input validation of untrusted user data combined with any @@ -38,20 +37,20 @@ functions you may be passing this data to. A variation of the remote some javascript that the next user then views.

    - For Local exploits we mostly hear about open_basedir or safemode problems - on shared virtual hosts. These two features are there as a convenience to + For Local exploits we mostly hear about open_basedir problems + on shared virtual hosts. This feature is there as a convenience to system administrators and should in no way be thought of as a complete security framework. With all the 3rd-party libraries you can hook into PHP and all the creative ways you can trick these libraries into accessing - files, it is impossible to guarantee security with these directives. The + files, it is impossible to guarantee security with this directive. The Oracle and Curl extensions both have ways to go through the library and read a local file, for example. Short of modifying these 3rd-party libraries, which would be difficult for the closed-source Oracle library, there really isn't much PHP can do about this.

    - When you have PHP by itself with only a small set of extensions safemode - and open_basedir are generally enough to frustrate the average bad guy, + When you have PHP by itself with only a small set of extensions + open_basedir is generally enough to frustrate the average bad guy, but for critical security situations you should be using OS-level security by running multiple web servers each as their own user id and ideally in separate jailed/chroot'ed filesystems. Better yet, use completely diff --git a/public/sitemap.php b/public/sitemap.php new file mode 100644 index 0000000000..ebd5765417 --- /dev/null +++ b/public/sitemap.php @@ -0,0 +1,101 @@ + "help"]); +?> + +

    PHP.net Sitemap

    + +

    News

    + + + +

    Getting PHP

    + + + +

    PHP Bugs

    + + + +

    PHP Support

    + + + +

    Security

    + + + +

    Navigation

    + + + +

    Git instructions

    + + + +

    Site information

    + + + +

    Other pages

    + + + + http://php.net/ChangeLog-5.php + + http://php.net/ChangeLog-7.php + http://php.net/conferences/ @@ -79,9 +82,6 @@ http://php.net/mirroring.php - - http://php.net/mirrors.php - http://php.net/my.php @@ -94,21 +94,12 @@ http://php.net/releases/ - - http://php.net/reST/ - - - http://php.net/search.php - http://php.net/security/ http://php.net/security-note.php - - http://php.net/sidebars.php - http://php.net/sitemap.php @@ -124,16 +115,10 @@ http://php.net/thanks.php - - http://php.net/tips.php - http://php.net/unsub.php http://php.net/urlhowto.php - - http://php.net/usage.php - diff --git a/public/sites.php b/public/sites.php new file mode 100644 index 0000000000..e887d7b068 --- /dev/null +++ b/public/sites.php @@ -0,0 +1,167 @@ + "help"]); +?> + +

    PHP.net: A Tourist's Guide

    +

    + Everyone knows the www.php.net site. All of us went there sooner or later, + and will keep going back there. This is the central reference point for PHP + users, and there is a wealth of information there. Not all of it is obvious. + Come with me, I'll show you. +

    + +

    php.net: Main Website

    + +
    +

    + This is the primary web site. The front page is where major news is published: + new PHP versions, security updates, and new projects launched. This site is + also mirrored in dozens of countries worldwide. +

    + +

    + This is the home of the download page, for + everyone to get the latest version of the PHP source code and binaries + for Windows. The current and next-to-current versions are available there. + (There is also a PHP Museum, which has + all of the source distributions since June 1996.) +

    + +

    + The next most visited section is the documentation. + The documentation is translated into twelve different languages, and is + available in a variety of different formats. + Users are able to read notes on the documentation left by other users, and + contribute their own notes. The documentation is a real community project + by itself! +

    + +

    + The support page has all the directions to a wealth + of resources both inside and outside of PHP.net. The community has built a huge + network of knowledge bases, PHP user groups, and training sessions where anyone + can have his or her questions answered. Non-English-speaking users also get a + large share of attention. +

    + +

    + Now, buckle up your seat belt, and stop smoking. Here are the no-light streets: +

    +
    + +

    + talks.php.net: Conference Materials +

    + +

    + This is where speakers at various PHP-related conferences keep their slides. + It covers all sorts of topics, from the famous 'Rasmus' introduction to PHP to + the latest 'PHP system administration', through PEAR and advanced topics. All + those slides are available within the PHP slide application. +

    + +

    + news-web.php.net: + Mailing Lists Web and NNTP Interface +

    + +

    + news-web.php.net is the web interface to the PHP mailing lists. If you're not + subscribed to the mailing lists, but you still want to keep in touch regularly, + this is your place. An infinite pile of fresh news and trends of PHP. You can + also point your news reader at the NNTP server at news server to follow the + lists. +

    + +

    + pear.php.net: + The PHP Extension and Application Repository +

    + +

    + PEAR is the next revolution in PHP. This repository is bringing higher level + programming to PHP. PEAR is a framework and distribution system for reusable + PHP components. It eases installation by bringing an automated wizard, and + packing the strength and experience of PHP users into a nicely organised OOP + library. +

    + +

    + pecl.php.net: + The PHP Extension Community Library +

    + +

    + PECL is a repository for PHP Extensions, providing a directory of all known + extensions and hosting facilities for downloading and development of PHP + extensions.
    + + The packaging and distribution system used by PECL is shared with + its sister, PEAR. +

    + +

    bugs.php.net: Bug Database

    + +

    + The bug database is where you can bring problems with PHP to the attention of + developers (but don't forget to double-check that somebody else hasn't already + reported the same problem!). +

    + +

    doc.php.net: Documentation Tools

    + +

    + This page provides set of useful tools for PHP Manual translators + and contributors. +

    + +

    github.com/php/: Git Repository

    + +
    +

    + The PHP project is organized with a Git server, and this website is the web + interface to it. There you can browse the history (and latest versions) of the + source code for all of the PHP projects. For example, the + php-src module is + the repository for the source code to the latest version of PHP itself. + Checking out the source code can be done anonymously. +

    +
    + +

    wiki.php.net: The PHP Wiki

    + +

    + Home of the official PHP wiki, this site contains information related to php.net like + RFCs, GSOC information, and TODO files. Most every aspect of the PHP project + has a wiki section and everyone is able to apply for wiki commit access. +

    + +

    people.php.net: The PHP Developers Profiles

    + +

    + A list of the developers behind PHP along with quick profiles for each of them. +

    + +Main Website

    +

    Conference Materials

    +

    Mailing Lists Web and NNTP Interface

    +

    The PHP Extension and Application Repository

    +

    The PHP Extension Community Library

    +

    Bug Database

    +

    Documentation collaboration

    +

    Git Repository

    +

    The PHP Wiki

    +

    The PHP Developers Profiles + +SIDEBAR_DATA; + +// Print the common footer. +site_footer([ + 'sidebar' => $SIDEBAR, +]); diff --git a/public/software.php b/public/software.php new file mode 100644 index 0000000000..84c03fa743 --- /dev/null +++ b/public/software.php @@ -0,0 +1,30 @@ + "help"]); +?> + +

    PHP Software

    + +

    + This page contains a list of sites where you can find software distributed + under the PHP license. +

    + +

    +   + php.net
    +  Main site for the PHP project.
    +

    +

    +   + pear.php.net
    +  The PEAR project where you can find reusable components for PHP .
    +

    +

    +   + pecl.php.net
    +  The PECL project where you can find PHP extensions.
    +

    + + section, + #add-note-usernotes .note_description, + #add-note-usernotes .note_example { + -moz-box-sizing:border-box; + box-sizing:border-box; + float:left; + } + #add-note-usernotes .note_description { + width:33.333333%; + } + #add-note-usernotes .note_example { + padding-left: 1.5rem; + width:66.666666%; + } + #email_and_formatting > section { + width:50%; + } + #email_and_formatting > section:first-child { + padding-right:1.5rem; + } + #email_and_formatting > section:last-child { + padding-left:1.5rem; + } + #whatnottoenter .columns { + -webkit-columns:15rem; + -moz-columns:15rem; + columns:15rem; + margin-bottom: 1em; + } + #whatnottoenter .columns li { + -webkit-column-break-inside:avoid; + -moz-column-break-inside:avoid; + -o-column-break-inside:avoid; + break-inside:avoid; + } +} diff --git a/styles/calendar.css b/public/styles/calendar.css similarity index 97% rename from styles/calendar.css rename to public/styles/calendar.css index 176bec2cf2..789a7feaae 100644 --- a/styles/calendar.css +++ b/public/styles/calendar.css @@ -64,7 +64,7 @@ display: block; float: right; font-size: 1.6em; - font-weight: bold; + font-weight: bolder; margin-left: 0.4375em; margin-bottom: 0.4375em; padding: 0.4em; @@ -127,7 +127,7 @@ } .calendar-day .vevent .url b { - font-weight: bold; + font-weight: bolder; } .calendar-day .vevent tr.description td { diff --git a/public/styles/changelog.css b/public/styles/changelog.css new file mode 100644 index 0000000000..0a64e2b633 --- /dev/null +++ b/public/styles/changelog.css @@ -0,0 +1,21 @@ +/* Changelog pages. */ +section.version { + border-top: solid 0.125rem #99C; + margin: .75rem 0; + padding: .75rem 0; +} + +section.version > :last-child { + margin-bottom:0; +} + +section.version time.releasedate { + color: #666; + display: block; + font-size: 0.875rem; + font-weight: bold; +} + +section.version ul ul { + margin-top:0; +} diff --git a/public/styles/code-syntax.css b/public/styles/code-syntax.css new file mode 100644 index 0000000000..e303671312 --- /dev/null +++ b/public/styles/code-syntax.css @@ -0,0 +1,116 @@ +pre[class*=language-] { + margin: 0; +} + +:not(pre) > code[class*=language-], pre[class*=language-] { + background: transparent; +} + +.code-toolbar .toolbar { + opacity: 1 !important; + visibility: visible !important; + pointer-events: auto !important; +} + +div.code-toolbar > .toolbar { + position: relative; + border-top: 1px solid rgba(0, 0, 0, .15); + top: 0; + right: 0; + justify-content: space-between; + align-items: center; + display: flex; +} + +.code-toolbar { + box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); +} + +.toolbar-item { + padding: 5px; +} + +pre.line-numbers { + padding-left: 2.5em !important; +} + +pre.line-numbers .line-numbers-rows { + border-right: none !important; + width: 4em !important; +} + +pre.line-numbers .line-numbers-rows > span:before { + padding-right: 1em !important; +} + +.token.operator { + background: transparent !important; +} + +div.code-toolbar > .toolbar > .toolbar-item > a, div.code-toolbar > .toolbar > .toolbar-item > button, div.code-toolbar > .toolbar > .toolbar-item > span { + color: #000; + background: transparent; + box-shadow: none; + padding-left: 1em !important; +} + +button.copy-to-clipboard-button { + padding: 0.75em !important; + padding-right: 1em !important; + background-color: var(--dark-blue-color) !important; + color: #fff !important; + border-radius: 30px !important; +} + +button.copy-to-clipboard-button:hover { + background-color: var(--dark-magenta-color) !important; + border-color: var(--dark-magenta-color) !important; +} + +.win-build { + background: rgba(39, 40, 44, 0.05); + margin: 20px 0; + padding: 20px 20px 10px 20px; + border-top: 4px solid var(--dark-blue-color, #4F5B93); +} + +.win-build h4 { + line-height: 1.5rem; + margin-bottom: 0; +} + +.instructions .size { + background: #dcdcdc; + border-radius: 6px; + padding: 3px 7px; + font-size: 0.8rem; + font-weight: 600; +} + +.instructions .time { + color: #555; + font-size: 0.8rem; + display: block; +} + +.instructions .sha256 { + word-break: break-all; +} + +.instructions .sbom:before { + content: "SBOM: "; + font-family: var(--font-family-sans-serif); +} + +.instructions .sha256:before, +.instructions .sbom:before { + font-weight: 700; +} + +.content-box .code-toolbar { + margin: 0 0 1rem; +} + +.content-box .code-toolbar pre.small { + padding: 0.75rem; +} diff --git a/styles/credits.css b/public/styles/credits.css similarity index 98% rename from styles/credits.css rename to public/styles/credits.css index efb4280ed7..4daecee4dc 100644 --- a/styles/credits.css +++ b/public/styles/credits.css @@ -25,7 +25,7 @@ table tr:last-child td, table tr:last-child th { line-height: 2em; } -th { +th, td { text-align: left; } diff --git a/public/styles/cse-search.css b/public/styles/cse-search.css new file mode 100644 index 0000000000..45d3879b39 --- /dev/null +++ b/public/styles/cse-search.css @@ -0,0 +1,237 @@ +/* {{{ Search results. */ + +/* Undo a whole bunch of default styles. */ +#layout .cse .gsc-control-cse, +#layout .gsc-control-cse, +#layout .gsc-control-cse .gsc-table-result { + font-family: var(--font-family-sans-serif); + font-size: 1rem; + margin: 0; + padding: 0; + position: relative; +} + +/* Override the search box styling. */ +#layout .cse form.gsc-search-box, +#layout form.gsc-search-box { + margin: 0 0 1rem 0; + padding: 0; +} + +#layout .cse table.gsc-search-box, +#layout table.gsc-search-box { + border: solid 1px #99c; + border-radius: 2px; +} + +#layout .cse input.gsc-input, +#layout input.gsc-input { + border: 0; +} + +#layout .cse table.gsc-search-box td, +#layout table.gsc-search-box td { + padding-right: unset; +} + +#layout .cse table.gsc-search-box .gsc-search-button, +#layout table.gsc-search-box .gsc-search-button { + margin-left: unset; +} + +#layout .cse input.gsc-search-button, +#layout input.gsc-search-button { + background: #99c; + border: solid 1px #99c; + border-radius: 0; + color: rgb(238, 238, 255); +} + +#layout .cse input.gsc-search-button:hover, +#layout input.gsc-search-button:hover { + color: white; +} + +/* We don't need a clear button. */ +#layout .cse .gsc-clear-button, +#layout .gsc-clear-button { + display: none; +} + +/* Style the "tabs", and reformat them as a sidebar item. */ +#layout .cse div.gsc-results-wrapper-visible, +#layout div.gsc-results-wrapper-visible { + position: relative; + min-height: 11rem; +} + +#layout .cse .gsc-tabsArea, +#layout .gsc-tabsArea { + position: absolute; + top: 0; + left: 0; + width: 23.404%; + margin-right: 2.762%; + padding: .5rem .75rem; + border: 1px solid #e0e0e0; + background-color: #f2f2f2; + border-bottom-color: #d9d9d9; + border-radius: 2px; + margin-top: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +#layout .cse .gsc-tabHeader.gsc-tabhActive, +#layout .gsc-tabHeader.gsc-tabhActive, +#layout .cse .gsc-tabHeader.gsc-tabhInactive, +#layout .gsc-tabHeader.gsc-tabhInactive { + background: transparent; + color: rgb(38, 38, 38); + border: 0; + display: block; + font-size: 100%; + font-weight: normal; + border-top: dotted 1px rgb(189, 189, 189); + padding: 0; +} + +#layout .cse .gsc-tabHeader.gsc-tabhActive:first-child, +#layout .gsc-tabHeader.gsc-tabhActive:first-child, +#layout .cse .gsc-tabHeader.gsc-tabhInactive:first-child, +#layout .gsc-tabHeader.gsc-tabhInactive:first-child { + border: 0; +} + +#layout .cse .gsc-tabHeader.gsc-tabhActive, +#layout .gsc-tabHeader.gsc-tabhActive { + color: black; +} + +#layout .cse .gsc-tabHeader.gsc-tabhActive:after, +#layout .gsc-tabHeader.gsc-tabhActive:after { + content: "»"; + color: black; + float: right; + text-align: right; +} + +#layout .cse .gsc-tabHeader.gsc-tabhInactive:hover, +#layout .gsc-tabHeader.gsc-tabhInactive:hover { + color: #693; +} + +/* Format the results in the right place. */ +#layout .cse .gsc-above-wrapper-area, +#layout .gsc-above-wrapper-area { + border: 0; +} + +#layout .cse .gsc-above-wrapper-area-container, +#layout .gsc-above-wrapper-area-container { + width: 100%; +} + +#layout .cse .gsc-orderby, +#layout .gsc-orderby { + padding: 0 4px; +} + +#layout .cse .gsc-result-info-container, +#layout .gsc-result-info-container { + padding: 0; + margin: 0; + vertical-align: inherit; +} + +#layout .cse .gsc-result-info, +#layout .gsc-result-info { + color: var(--dark-grey-color); + font-size: 0.75rem; + padding: 0; + margin: 0; +} + +#layout .cse .gsc-resultsHeader, +#layout .gsc-resultsHeader { + display: none; +} + +#layout .cse .gsc-webResult.gsc-result, +#layout .gsc-webResult.gsc-result { + margin: 0 0 1rem 0; + padding: 0; + border: 0; +} + +#layout .cse .gs-webResult.gs-result a, +#layout .gs-webResult.gs-result a, +#layout .cse .gs-webResult.gs-result a b, +#layout .gs-webResult.gs-result a b { + border-bottom: solid 1px rgb(51, 102, 153); + color: rgb(51, 102, 153); + text-decoration: none; +} + +#layout .cse .gs-webResult.gs-result a:focus, +#layout .gs-webResult.gs-result a:focus, +#layout .cse .gs-webResult.gs-result a:hover, +#layout .gs-webResult.gs-result a:hover, +#layout .cse .gs-webResult.gs-result a:focus b, +#layout .gs-webResult.gs-result a:focus b, +#layout .cse .gs-webResult.gs-result a:hover b, +#layout .gs-webResult.gs-result a:hover b { + border-bottom-color: rgb(51, 102, 153); + color: rgb(102, 153, 51); +} + +#layout .gs-webResult.gs-result .gs-visibleUrl { + font-weight: normal; +} + +/* Handle no results tabs. */ +#layout .gs-no-results-result .gs-snippet { + border: 0; + background: transparent; +} + +/* Override docs table styling we don't want. */ +.docs #cse th, +.docs #cse td { + padding: 0; +} + +/* }}} */ + +@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) { + tr { + margin: 0; + display: table-row; + } + + td:before { + content: none; + } + + table { + display: table; + } + + thead { + display: table-header-group; + } + + tbody { + display: table-row-group; + } + + td:not(.gsc-clear-button), + th { + display: table-cell; + } + + .gssb_a { + padding: 5px 3px !important; + white-space: normal !important; + } +} diff --git a/public/styles/home.css b/public/styles/home.css new file mode 100644 index 0000000000..2edf051d5f --- /dev/null +++ b/public/styles/home.css @@ -0,0 +1,218 @@ +/* Home Page */ + + +/* Hero */ + +#intro .container { + padding: 0 24px; +} + +.hero { + width: 100%; + flex: none; + display: flex; + flex-direction: column; + align-items: center; + margin: 32px 0; +} + +.hero__logo { + width: 100%; + max-width: 240px; + margin-bottom: 24px; +} + +.hero__text { + margin-top: 0; + margin-bottom: 28px; + line-height: 1.5; + text-align: center; + text-rendering: optimizeLegibility; +} + +.hero__text strong { + font-weight: 500; +} + +.hero__actions { + width: 100%; + display: flex; + flex-direction: column; + margin-bottom: 24px; +} + +.hero__btn { + box-sizing: border-box; + padding: 16px 32px; + margin-bottom: 12px; + border-radius: 30px; + text-align: center; + display: inline-block; + border: none; + font-size: 20px; + transition: background-color 0.2s; +} + +.hero__btn--primary { + background-color: var(--dark-blue-color); + color: #fff !important; +} + +.hero__btn--primary:hover, .hero__btn--primary:focus { + background-color: var(--dark-magenta-color); +} + +.hero__btn--secondary { + background-color: transparent; + color: #b8c0e9 !important; + border: 1px solid #6773ad; +} + +.hero__btn--secondary:hover, .hero__btn--secondary:focus { + background-color: var(--dark-magenta-color); + border-color: var(--dark-magenta-color); + color: #fff !important; +} + +.hero__versions { + margin: 0; + list-style:none; + display: flex; + flex-direction: column; + flex-wrap: wrap; + align-items: center; + justify-content: center; + width: 100%; +} + +.hero__version { + margin-bottom: 12px; +} + +.hero__versions a.notes { + font-size:.875rem; + white-space:nowrap; +} + +.hero__versions a { + color: var(--background-text-color); + border:0; +} + +.hero__versions a:hover, +.hero__versions a:focus { + border-bottom:1px dotted; +} + +.hero__version-link { + color:#fff !important; + display: inline-block; +} + +@media (min-width: 540px) { + .hero__actions { + flex-direction: row; + width: auto; + } + + .hero__btn { + min-width: 188px; + } + + .hero__btn--secondary { + margin-left: 8px; + } +} + +@media (min-width: 992px) { + .hero { + margin: 60px 0; + } + + .hero__versions { + flex-direction: row; + } + + .hero__version { + font-size: 1.125rem; + padding: 0 1.5rem; + } + + .hero__version:not(:first-child) { + border-left: 1px dotted #666; + } + + .hero__text { + font-size: 18px; + } +} + + +/* Layout */ + +#layout-content { + border-right:.25rem solid #666; +} +.home .newsentry .newstitle a:after { + content:"\20 \00bb"; + color:#666; +} + +p.archive { + text-align: right; +} + +@media (min-width: 768px) { + #intro .background, + aside.tips, + .layout-menu { + width: 25%; + } + + #layout-content { + width: 75%; + } +} + +@media (min-width: 768px) and (max-width: 784px) { + aside.tips { + width: 30%; + } + + #layout-content { + width:70%; + } +} + +/* Homepage mirror sponsor */ +aside.tips .mirror-sponsor { + padding-top: 1.5rem; +} + +/* Social media buttons. */ +aside.tips .social-media .icon-twitter { + font-size: 1.5em; + vertical-align: middle; +} + +/* Unheroic button */ +.btn { + box-sizing: border-box; + padding: 0.5rem 1rem; + margin-bottom: 1rem; + border-radius: 2rem; + text-align: center; + display: inline-block; + border: none; + transition: background-color 0.2s; +} + +.btn-primary { + background-color: var(--dark-blue-color); + color: #fff !important; +} + +.btn-primary:hover, .hero__btn--primary:focus { + background-color: var(--dark-magenta-color) !important; + border-color: var(--dark-magenta-color) !important; +} diff --git a/public/styles/i-love-markdown.css b/public/styles/i-love-markdown.css new file mode 100644 index 0000000000..6d1ad3d92f --- /dev/null +++ b/public/styles/i-love-markdown.css @@ -0,0 +1,193 @@ +/* + * Thanks to brilliant work by Andrea D. (aka NKjoep): + * https://github.com/NKjoep + * + * See: + * https://github.com/NKjoep/i-love-markdown.css + */ +.markdown-content *, +.markdown-content *:before, +.markdown-content *:after { + font-size: 14px; + font-family: monospace; + line-height: 1.1; + margin: 0; + padding: 0; + font-weight: normal; + font-style: normal; +} +.markdown-content h1, +.markdown-content h2, +.markdown-content h3, +.markdown-content h4, +.markdown-content h5, +.markdown-content h6 { + margin-bottom: 1em; + margin-bottom: 2ch; +} +.markdown-content h1:before { + content: '# '; +} +.markdown-content h2:before { + content: '## '; +} +.markdown-content h3:before { + content: '### '; +} +.markdown-content h4:before { + content: '#### '; +} +.markdown-content h5:before { + content: '##### '; +} +.markdown-content h6:before { + content: '###### '; +} +.markdown-content pre, +.markdown-content blockquote { + margin: 1em 1em 1em 1em; + margin: 2ch 2ch 2ch 2ch; + clear: both; +} +.markdown-content pre code:before, +.markdown-content pre code:after { + content: '```'; + display: block; +} +.markdown-content p { + margin: 0 0 1em 0; + margin: 0 0 2ch 0; +} +.markdown-content p code:before, +.markdown-content p code:after { + content: '`'; +} +.markdown-content blockquote { + position: relative; + padding-left: 1em; + padding-left: 2ch; + overflow: hidden; +} +.markdown-content blockquote:after { + content: ">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>"; + white-space: pre; + position: absolute; + top: 0; + left: 0; +} +.markdown-content li { + list-style-type: none; + list-style-position: inside; + padding-left: 3ch; +} +.markdown-content ul, +.markdown-content ol { + margin: 0 0 1em 0; + margin: 0 0 2ch 0; +} +.markdown-content ul ul, +.markdown-content ol ul, +.markdown-content ul ol, +.markdown-content ol ol { + margin: 0 0 0 2ch; +} +.markdown-content ul > li:before { + content: '- '; + float: left; + margin: 0 0.5em 0 0; + margin: 0 0 0 -3ch; +} +.markdown-content ol > li:before { + content: '1. '; + float: left; + margin: 0 0.5em 0 0; + margin: 0 0 0 -3ch; +} +.markdown-content em { + font-weight: normal; + font-style: normal; +} +.markdown-content em:before, +.markdown-content em:after { + content: '*'; +} +.markdown-content del { + font-weight: normal; + font-style: normal; + text-decoration: none; +} +.markdown-content del:before, +.markdown-content del:after { + content: '~~'; +} +.markdown-content strong { + font-weight: normal; + font-style: normal; +} +.markdown-content strong:before, +.markdown-content strong:after { + content: '__'; +} +.markdown-content a:before { + content: '['; +} +.markdown-content a:after { + content: "](" attr(href) ")"; +} +.markdown-content a:link, +.markdown-content a:visited, +.markdown-content a:hover, +.markdown-content a:active, +.markdown-content a:focus { + color: #000; + text-decoration: none; +} +.markdown-content hr { + margin: 0 0 1em 0; + margin: 0 0 2ch 0; + display: block; + border: 0; + background-color: transparent; +} +.markdown-content hr:after { + content: '----'; +} +.markdown-content th:before, +.markdown-content td:before { + content: '|'; +} +.markdown-content th:last-child:after, +.markdown-content td:last-child:after { + content: '|'; +} +.markdown-content img { + height: 0; + width: 0; + font-size: 0; + color: transparent; + position: relative; + content: ""; +} +.markdown-content img:before, +.markdown-content img:after { + position: absolute; + top: 0; + left: 0; +} +.markdown-content img:before { + content: '![' attr(alt) '](' attr(src) ' "' attr(title) '")'; +} +.markdown-content table { + margin: 0 0 1em 0; + margin: 0 0 2ch 0; + text-align: left; +} +.markdown-content th[style], +.markdown-content td[style] { + text-align: left !important; +} + + +.navbar__brand, #mainmenu-toggle-overlay, #mainmenu-toggle, #trick { + display: none; +} diff --git a/public/styles/index.php b/public/styles/index.php new file mode 100644 index 0000000000..a5fbd0bb5d --- /dev/null +++ b/public/styles/index.php @@ -0,0 +1,6 @@ + code[class*=language-], pre[class*=language-] { + background: transparent; +} + +code[class*=language-], pre[class*=language-] { + text-shadow: none; +} + +.language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { + background: transparent; +} + +.js-copy-code { + +} + +.features-title h2, +.release-notes h2, +.before-and-after-title-and-description h2 { + position: relative; + overflow: visible; + display: inline-block; +} + +.features-title h2 .genanchor, +.release-notes h2 .genanchor, +.before-and-after-title-and-description h2 .genanchor { + position: absolute; + top: 4px; + left: 0; + display: none; + margin-left: -30px; + height: 30px; + width: 30px; + background: url("/images/php8/anchor.svg") scroll no-repeat left center / 21px 16px transparent; + text-decoration: none; + border-bottom: none; + font-size: 0; +} + +.dark .features-title h2 .genanchor, +.dark .release-notes h2 .genanchor, +.dark .before-and-after-title-and-description h2 .genanchor { + background: url("/images/php8/anchor-white.svg") scroll no-repeat left center / 21px 16px transparent; +} + +.features-title h2:hover .genanchor, +.release-notes h2:hover .genanchor, +.before-and-after-title-and-description h2:hover .genanchor { + display: block; +} + +@layer properties { + @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) { + *, :before, :after, ::backdrop { + --tw-shadow: 0 0 #0000; + --tw-inset-shadow: 0 0 #0000; + --tw-ring-color: initial; + --tw-ring-shadow: 0 0 #0000; + --tw-inset-ring-shadow: 0 0 #0000; + --tw-ring-inset: initial; + --tw-ring-offset-width: 0px; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-border-style: solid; + --tw-outline-style: solid; + --tw-leading: initial; + --tw-space-y-reverse: 0; + --tw-space-x-reverse: 0; + } + } +} + +@layer theme { + :root, :host { + --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --color-red-200: oklch(88.5% .062 18.334); + --color-red-400: oklch(70.4% .191 22.216); + --color-red-900: oklch(39.6% .141 25.723); + --color-green-200: oklch(92.5% .084 155.995); + --color-green-400: oklch(79.2% .209 151.711); + --color-green-500: oklch(72.3% .219 149.579); + --color-green-900: oklch(39.3% .095 152.535); + --color-teal-300: oklch(85.5% .138 181.071); + --color-teal-400: oklch(77.7% .152 181.912); + --color-gray-100: var(--color-zinc-100); + --color-gray-200: var(--color-zinc-200); + --color-gray-300: var(--color-zinc-300); + --color-gray-400: var(--color-zinc-400); + --color-gray-500: var(--color-zinc-500); + --color-gray-600: var(--color-zinc-600); + --color-gray-700: var(--color-zinc-700); + --color-gray-800: var(--color-zinc-800); + --color-gray-900: var(--color-zinc-900); + --color-gray-950: var(--color-zinc-950); + --color-zinc-50: oklch(98.5% 0 0); + --color-zinc-100: oklch(96.7% .001 286.375); + --color-zinc-200: oklch(92% .004 286.32); + --color-zinc-300: oklch(87.1% .006 286.286); + --color-zinc-400: oklch(70.5% .015 286.067); + --color-zinc-500: oklch(55.2% .016 285.938); + --color-zinc-600: oklch(44.2% .017 285.786); + --color-zinc-700: oklch(37% .013 285.805); + --color-zinc-800: oklch(27.4% .006 286.033); + --color-zinc-900: oklch(21% .006 285.885); + --color-zinc-950: oklch(14.1% .005 285.823); + --color-black: #000; + --color-white: #fff; + --spacing: .25rem; + --container-2xl: 42rem; + --container-3xl: 48rem; + --container-4xl: 56rem; + --container-7xl: 80rem; + --text-xs: .75rem; + --text-xs--line-height: calc(1 / .75); + --text-sm: .875rem; + --text-sm--line-height: calc(1.25 / .875); + --text-base: 1rem; + --text-base--line-height: calc(1.5 / 1); + --text-lg: 1.125rem; + --text-lg--line-height: calc(1.75 / 1.125); + --text-xl: 1.25rem; + --text-xl--line-height: calc(1.75 / 1.25); + --text-2xl: 1.5rem; + --text-2xl--line-height: calc(2 / 1.5); + --text-3xl: 1.875rem; + --text-3xl--line-height: calc(2.25 / 1.875); + --text-4xl: 2.25rem; + --text-4xl--line-height: calc(2.5 / 2.25); + --text-5xl: 3rem; + --text-5xl--line-height: 1; + --font-weight-normal: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + --leading-relaxed: 1.625; + --radius-md: .375rem; + --radius-lg: .5rem; + --radius-xl: .75rem; + --radius-2xl: 1rem; + --radius-3xl: 1.5rem; + --radius-4xl: 2rem; + } +} + +@layer base { + *, :after, :before, ::backdrop { + box-sizing: border-box; + border: 0 solid; + margin: 0; + padding: 0 + } + + ::file-selector-button { + box-sizing: border-box; + border: 0 solid; + margin: 0; + padding: 0 + } + + html, :host { + -webkit-text-size-adjust: 100%; + tab-size: 4; + line-height: 1.5; + font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); + -webkit-tap-highlight-color: transparent + } + + hr { + height: 0; + color: inherit; + border-top-width: 1px + } + + abbr:where([title]) { + text-decoration: underline dotted + } + + h1, h2, h3, h4, h5, h6 { + font-size: inherit; + font-weight: inherit + } + + a { + color: inherit; + text-decoration: inherit + } + + b, strong { + font-weight: bolder + } + + code, kbd, samp, pre { + font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); + font-size: 1em + } + + small { + font-size: 80% + } + + sub, sup { + vertical-align: baseline; + font-size: 75%; + line-height: 0; + position: relative + } + + sub { + bottom: -.25em + } + + sup { + top: -.5em + } + + table { + text-indent: 0; + border-color: inherit; + border-collapse: collapse + } + + :-moz-focusring { + outline: auto + } + + progress { + vertical-align: baseline + } + + summary { + display: list-item + } + + ol, ul, menu { + list-style: none + } + + img, svg, video, canvas, audio, iframe, embed, object { + vertical-align: middle; + display: block + } + + img, video { + max-width: 100%; + height: auto + } + + button, input, select, optgroup, textarea { + font: inherit; + font-feature-settings: inherit; + font-variation-settings: inherit; + letter-spacing: inherit; + color: inherit; + opacity: 1; + background-color: #0000; + border-radius: 0 + } + + ::file-selector-button { + font: inherit; + font-feature-settings: inherit; + font-variation-settings: inherit; + letter-spacing: inherit; + color: inherit; + opacity: 1; + background-color: #0000; + border-radius: 0 + } + + :where(select:is([multiple],[size])) optgroup { + font-weight: bolder + } + + :where(select:is([multiple],[size])) optgroup option { + padding-inline-start: 20px + } + + ::file-selector-button { + margin-inline-end: 4px + } + + + button, input:where([type=button],[type=reset],[type=submit]) { + appearance: button + } + + ::file-selector-button { + appearance: button + } + + + [hidden]:where(:not([hidden=until-found])) { + display: none !important + } +} + +@layer utilities { + .sr-only { + clip-path: inset(50%); + white-space: nowrap; + border-width: 0; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + position: absolute; + overflow: hidden + } +} + +body { + background-color: var(--color-white); + font-family: var(--font-sans); + color: var(--color-gray-800); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + position: relative +} + +body:where(.dark,.dark *) { + color: var(--color-white); + background-color: #181d3a +} + +a { + text-underline-offset: 2px; + text-decoration-line: underline +} + +@media (hover: hover) { + a:hover { + text-decoration-line: none + } +} + +.hero { + position: relative; + isolation: isolate; + z-index: 10; + margin-top: calc(var(--spacing) * -4); + display: flex; + height: calc(var(--spacing) * 160); + align-items: center; + justify-content: center; + overflow: hidden; + @media (width >= 64rem) { + margin-top: calc(var(--spacing) * -16); + } + @media (width >= 64rem) { + padding-top: calc(var(--spacing) * 16); + } +} + +.hero-pattern { + pointer-events: none; + top: calc(var(--spacing) * .5); + z-index: calc(10 * -1); + width: 100%; + height: calc(var(--spacing) * 150); + stroke: #18181b1a; + position: absolute; + -webkit-mask-image: linear-gradient(#ffffffad, #0000); + mask-image: linear-gradient(#ffffffad, #0000) +} + +.hero-pattern:where(.dark,.dark *) { + stroke: #ffffff1a +} + +@supports (color:color-mix(in lab, red, red)) { + .hero-pattern { + stroke: color-mix(in oklab, var(--color-gray-900) 10%, transparent) + } + .hero-pattern:where(.dark,.dark *) { + stroke: color-mix(in oklab, var(--color-white) 10%, transparent) + } +} + +.hero-content { + max-width: var(--container-4xl); + background-image: radial-gradient(at 50% 50%, var(--color-white), transparent 65%); + padding-inline: calc(var(--spacing) * 4); + text-align: center; + margin-inline: auto +} + +@media (min-width: 40rem) { + .hero-content { + padding-inline: calc(var(--spacing) * 6) + } +} + +@media (min-width: 64rem) { + .hero-content { + padding-inline: calc(var(--spacing) * 8) + } +} + +.hero-content:where(.dark,.dark *) { + background-image: radial-gradient(at 50% 50%, #181d3a, transparent 65%) +} + +.hero .hero-bg { + pointer-events: none; + top: calc(var(--spacing) * 0); + z-index: calc(10 * -1); + object-fit: cover; + width: 100%; + height: 100%; + transition-property: opacity; + opacity: .35; + transition-duration: .5s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + -webkit-user-select: none; + user-select: none; + position: absolute +} + +.hero-orb-1-x, +.hero-orb-1-y, +.hero-orb-1-r, +.hero-orb-2-x, +.hero-orb-2-y, +.hero-orb-2-r, +.hero-orb-3-x, +.hero-orb-3-y, +.hero-orb-3-r { + transform-box: view-box; + transform-origin: 50% 50% +} + +.hero-orb-1-x { animation: hero-orb1-x 10s linear infinite alternate } +.hero-orb-1-y { animation: hero-orb1-y 10.5s linear infinite alternate } +.hero-orb-1-r { animation: hero-orb-rotate-fwd 7s linear infinite } + +.hero-orb-2-x { animation: hero-orb2-x 11.5s linear infinite alternate } +.hero-orb-2-y { animation: hero-orb2-y 12s linear infinite alternate } +.hero-orb-2-r { animation: hero-orb-rotate-fwd 12s linear infinite } + +.hero-orb-3-x { animation: hero-orb3-x 12.5s linear infinite alternate } +.hero-orb-3-y { animation: hero-orb3-y 6s linear infinite alternate } +.hero-orb-3-r { animation: hero-orb-rotate-rev 9s linear infinite } + +@keyframes hero-orb1-x { from { transform: translateX(25%) } to { transform: translateX(0%) } } +@keyframes hero-orb1-y { from { transform: translateY(0%) } to { transform: translateY(25%) } } +@keyframes hero-orb2-x { from { transform: translateX(-25%) } to { transform: translateX(0%) } } +@keyframes hero-orb2-y { from { transform: translateY(0%) } to { transform: translateY(50%) } } +@keyframes hero-orb3-x { from { transform: translateX(0%) } to { transform: translateX(25%) } } +@keyframes hero-orb3-y { from { transform: translateY(0%) } to { transform: translateY(25%) } } +@keyframes hero-orb-rotate-fwd { from { transform: rotate(0deg) } to { transform: rotate(360deg) } } +@keyframes hero-orb-rotate-rev { from { transform: rotate(360deg) } to { transform: rotate(0deg) } } + +.hero-badge { + margin-bottom: calc(var(--spacing) * 6); + background-color: #ffffffa6; + border-radius: calc(infinity * 1px); + align-items: center; + display: inline-flex +} + +@supports (color:color-mix(in lab, red, red)) { + .hero-badge { + background-color: color-mix(in oklab, var(--color-white) 65%, transparent) + } +} + +.hero-badge { + padding-inline: calc(var(--spacing) * 4); + padding-block: calc(var(--spacing) * 1); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + color: var(--color-gray-600); + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + --tw-ring-color: #0000000d +} + +@supports (color:color-mix(in lab, red, red)) { + .hero-badge { + --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent) + } +} + +.hero-badge:where(.dark,.dark *) { + color: var(--color-gray-200); + --tw-ring-color: #ffffff1a +} + +@supports (color:color-mix(in lab, red, red)) { + .hero-badge:where(.dark,.dark *) { + --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent) + } +} + +.hero-badge svg { + margin-right: calc(var(--spacing) * 1.5); + margin-left: calc(var(--spacing) * -1); + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + color: var(--color-teal-400) +} + +.hero-badge svg:where(.dark,.dark *) { + color: var(--color-teal-300) +} + +.hero-php-logo { + margin-inline: auto; + margin-bottom: calc(var(--spacing) * 6); + height: calc(var(--spacing) * 12); + color: var(--color-gray-800) +} + +@media (min-width: 64rem) { + .hero-php-logo { + height: calc(var(--spacing) * 22) + } +} + +.hero-php-logo:where(.dark,.dark *) { + color: var(--color-white) +} + +.hero h1 { + margin-bottom: calc(var(--spacing) * 5); + font-size: var(--text-4xl); + line-height: var(--tw-leading, var(--text-4xl--line-height)); + font-weight: var(--font-weight-bold); + text-wrap: balance +} + +@media (min-width: 40rem) { + .hero h1 { + font-size: var(--text-5xl); + line-height: var(--tw-leading, var(--text-5xl--line-height)) + } +} + +.hero h1:where(.dark,.dark *) { + color: var(--color-white) +} + +.hero p { + margin-inline: auto; + margin-bottom: calc(var(--spacing) * 8); + max-width: var(--container-2xl); + --tw-leading: var(--leading-relaxed); + line-height: var(--leading-relaxed); + color: var(--color-gray-500) +} + +@media (min-width: 64rem) { + .hero p { + margin-bottom: calc(var(--spacing) * 10) + } +} + +.hero p:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .hero p:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.hero p strong { + color: var(--color-gray-900) +} + +.hero p strong:where(.dark,.dark *) { + color: var(--color-white) +} + +.hero-actions { + justify-content: center; + align-items: center; + gap: calc(var(--spacing) * 4); + flex-direction: column; + display: flex +} + +@media (min-width: 64rem) { + .hero-actions { + flex-direction: row + } +} + +.features { + isolation: isolate; + z-index: 10; + border-block-style: var(--tw-border-style); + border-block-width: 1px; + border-color: #e4e4e780; + position: relative +} + +@supports (color:color-mix(in lab, red, red)) { + .features { + border-color: color-mix(in oklab, var(--color-gray-200) 50%, transparent) + } +} + +.features { + background-color: var(--color-white); + padding-block: calc(var(--spacing) * 20) +} + +@media (min-width: 64rem) { + .features { + padding-block: calc(var(--spacing) * 28) + } +} + +.features:where(.dark,.dark *) { + border-color: #00000040 +} + +@supports (color:color-mix(in lab, red, red)) { + .features:where(.dark,.dark *) { + border-color: color-mix(in oklab, var(--color-black) 25%, transparent) + } +} + +.features:where(.dark,.dark *) { + background-color: oklab(39.0688% .00431919 -.103547/.4) +} + +.features-pattern { + pointer-events: none; + top: calc(var(--spacing) * 0); + color: #09090b26; + width: 100%; + height: 100%; + position: absolute +} + +@supports (color:color-mix(in lab, red, red)) { + .features-pattern { + color: color-mix(in oklab, var(--color-gray-950) 15%, transparent) + } +} + +.features-pattern:where(.dark,.dark *) { + color: #ffffff1a +} + +@supports (color:color-mix(in lab, red, red)) { + .features-pattern:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 10%, transparent) + } +} + +.features-title { + max-width: var(--container-7xl); + justify-content: center; + align-items: center; + gap: calc(var(--spacing) * 3); + padding-inline: calc(var(--spacing) * 4); + text-align: center; + text-wrap: balance; + flex-direction: column; + margin-inline: auto; + display: flex +} + +@media (min-width: 64rem) { + .features-title { + gap: calc(var(--spacing) * 6); + padding-inline: calc(var(--spacing) * 8); + flex-direction: row + } +} + +.features-title h2 { + font-size: var(--text-2xl); + line-height: var(--tw-leading, var(--text-2xl--line-height)); + font-weight: var(--font-weight-bold) +} + +@media (min-width: 64rem) { + .features-title h2 { + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)) + } +} + +.features-title p { + color: var(--color-gray-600) +} + +@media (min-width: 64rem) { + .features-title p { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)) + } +} + +.features-title p:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .features-title p:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.features-title strong { + font-weight: var(--font-weight-semibold); + color: var(--color-gray-900) +} + +.features-title strong:where(.dark,.dark *) { + color: var(--color-white) +} + +.features-grid-container { + margin-inline: auto; + margin-top: calc(var(--spacing) * 8); + max-width: var(--container-7xl); + padding-inline: calc(var(--spacing) * 4) +} + +@media (min-width: 40rem) { + .features-grid-container { + margin-top: calc(var(--spacing) * 12) + } +} + +@media (min-width: 64rem) { + .features-grid-container { + padding-inline: calc(var(--spacing) * 8) + } +} + +.features-grid { + gap: calc(var(--spacing) * 4); + display: grid +} + +@media (min-width: 64rem) { + .features-grid { + grid-template-rows:repeat(2, minmax(0, 1fr)); + grid-template-columns:repeat(3, minmax(0, 1fr)) + } +} + +.features-col { + border-radius: var(--radius-xl); + background-color: #00000003; + position: relative +} + +@supports (color:color-mix(in lab, red, red)) { + .features-col { + background-color: color-mix(in oklab, var(--color-black) 1%, transparent) + } +} + +.features-col { + --tw-shadow: 0 1px #0000000d; + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + outline: #0000000d var(--tw-outline-style) 1px; +} + +@supports (color:color-mix(in lab, red, red)) { + .features-col { + outline-color: color-mix(in oklab, var(--color-black) 5%, transparent) + } +} + +.features-col { + backdrop-filter: blur(4px); +} + +@media (hover: hover) { + .features-col:hover { + background-color: #18181b08 + } + + @supports (color:color-mix(in lab, red, red)) { + .features-col:hover { + background-color: color-mix(in oklab, var(--color-gray-900) 3%, transparent) + } + } +} + +.features-col:where(.dark,.dark *) { + background-color: #ffffff14 +} + +@supports (color:color-mix(in lab, red, red)) { + .features-col:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-white) 8%, transparent) + } +} + +@media (hover: hover) { + .features-col:where(.dark,.dark *):hover { + background-color: #ffffff1a + } + + @supports (color:color-mix(in lab, red, red)) { + .features-col:where(.dark,.dark *):hover { + background-color: color-mix(in oklab, var(--color-white) 10%, transparent) + } + } +} + +.features-first-col { + border-radius: var(--radius-4xl) var(--radius-4xl) var(--radius-xl) var(--radius-xl); +} + +@media (min-width: 64rem) { + .features-first-col { + border-radius: var(--radius-xl); + border-top-left-radius: var(--radius-4xl) + } + + .features-third-col { + border-top-right-radius: var(--radius-4xl) + } + + .features-fourth-col { + border-bottom-left-radius: var(--radius-4xl) + } +} + +.features-sixth-col { + border-radius: var(--radius-xl) var(--radius-xl) var(--radius-4xl) var(--radius-4xl); +} + +@media (min-width: 64rem) { + .features-sixth-col { + border-bottom-right-radius: var(--radius-4xl); + border-bottom-left-radius: var(--radius-xl) + } +} + +.features-col-container { + flex-direction: column; + height: 100%; + display: flex; + position: relative +} + +.features-col-spacing { + padding: calc(var(--spacing) * 8) +} + +@media (min-width: 40rem) { + .features-col-spacing { + padding: calc(var(--spacing) * 10) + } +} + +.features-col svg { + margin-bottom: calc(var(--spacing) * 4); + width: calc(var(--spacing) * 7); + height: calc(var(--spacing) * 7); + color: #6b58ff +} + +.features-col svg:where(.dark,.dark *) { + color: #7b75ff +} + +.features-col a { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + font-weight: var(--font-weight-semibold); + color: var(--color-gray-950); + text-decoration-line: none !important +} + +.features-col a:where(.dark,.dark *) { + color: var(--color-white) +} + +.features-col a span { + inset: calc(var(--spacing) * 0); + position: absolute +} + +.features-col p { + margin-top: calc(var(--spacing) * 4); + font-size: var(--text-sm); + line-height: calc(var(--spacing) * 6); + color: var(--color-gray-600) +} + +.features-col p:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .features-col p:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.before-and-after-container { + z-index: 10; + padding-top: calc(var(--spacing) * 18); + position: relative +} + +@media (min-width: 64rem) { + .before-and-after-container { + padding-top: calc(var(--spacing) * 28) + } +} + +.before-and-after-container:where(.dark,.dark *) { + background-color: oklab(39.0688% .00431919 -.103547/.3) +} + +.before-and-after-container.last { + padding-bottom: calc(var(--spacing) * 20) +} + +@media (min-width: 64rem) { + .before-and-after-container.last { + padding-bottom: calc(var(--spacing) * 28) + } +} + +.before-and-after-code-container { + margin-inline: auto; + margin-top: calc(var(--spacing) * 8); + max-width: var(--container-7xl); + padding-inline: calc(var(--spacing) * 4) +} + +@media (min-width: 40rem) { + .before-and-after-code-container { + margin-top: calc(var(--spacing) * 12) + } +} + +@media (min-width: 64rem) { + .before-and-after-code-container { + padding-inline: calc(var(--spacing) * 8) + } +} + +.before-and-after-code { + gap: calc(var(--spacing) * 2); + border-radius: var(--radius-3xl); + background-color: var(--color-white); + padding: calc(var(--spacing) * 2); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + outline: var(--color-gray-200) var(--tw-outline-style) 1px; + display: grid +} + +@media (min-width: 64rem) { + .before-and-after-code { + gap: calc(var(--spacing) * 5); + padding: calc(var(--spacing) * 5); + grid-template-columns:repeat(2, minmax(0, 1fr)) + } + + .before-and-after-code.single { + grid-template-columns: minmax(0, 1fr) + } +} + +.before-and-after-code:where(.dark,.dark *) { + background-color: #ffffff0d +} + +@supports (color:color-mix(in lab, red, red)) { + .before-and-after-code:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-white) 5%, transparent) + } +} + +.before-and-after-code:where(.dark,.dark *) { + outline-color: #0000000d +} + +@supports (color:color-mix(in lab, red, red)) { + .before-and-after-code:where(.dark,.dark *) { + outline-color: color-mix(in oklab, var(--color-black) 5%, transparent) + } +} + +.before-and-after-title-and-description { + max-width: var(--container-3xl); + margin-inline: auto +} + +:where(.before-and-after-title-and-description>:not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))) +} + +.before-and-after-title-and-description { + padding-inline: calc(var(--spacing) * 4); + text-align: center +} + +@media (min-width: 64rem) { + .before-and-after-title-and-description { + padding-inline: calc(var(--spacing) * 8) + } +} + +.before-and-after-title-and-description h2 { + font-size: var(--text-2xl); + line-height: var(--tw-leading, var(--text-2xl--line-height)); + font-weight: var(--font-weight-bold) +} + +@media (min-width: 64rem) { + .before-and-after-title-and-description h2 { + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)) + } +} + +.before-and-after-title-and-description p, +.before-and-after-title-and-description ul { + color: var(--color-gray-600); + text-align: left; +} + +@media (min-width: 64rem) { + .before-and-after-title-and-description p { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)) + } +} + +.before-and-after-title-and-description p:where(.dark,.dark *), +.before-and-after-title-and-description ul:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .before-and-after-title-and-description p:where(.dark,.dark *), + .before-and-after-title-and-description ul:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.features-col code, +.before-and-after-title-and-description code { + padding-inline: calc(var(--spacing) * 1); + padding-block: calc(var(--spacing) * .5); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)) +} +.features-col a code { + font-size: inherit; + line-height: inherit +} +.before-and-after-title-and-description h2 > code { + font-size: 87%; +} + +.code-container { + border-radius: var(--radius-2xl); + border-style: var(--tw-border-style); + border-width: 1px; + border-color: var(--color-gray-200); + background-color: var(--color-white); + position: relative; + overflow: hidden; + display: flex; + flex-direction: column; +} + +.code-container:where(.dark,.dark *) { + border-color: #0000001a +} + +@supports (color:color-mix(in lab, red, red)) { + .code-container:where(.dark,.dark *) { + border-color: color-mix(in oklab, var(--color-black) 10%, transparent) + } +} + +.code-container:where(.dark,.dark *) { + background-color: #09090b40 +} + +@supports (color:color-mix(in lab, red, red)) { + .code-container:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-gray-950) 25%, transparent) + } +} + +.code-container .header { + justify-content: space-between; + align-items: center; + display: flex +} + +:where(.code-container .header>:not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))) +} + +.code-container .header { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 1px; + border-color: var(--color-gray-200); + padding-inline: calc(var(--spacing) * 3); + padding-block: calc(var(--spacing) * 2); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + font-weight: var(--font-weight-semibold) +} + +.code-container .header:where(.dark,.dark *) { + border-color: #ffffff0d +} + +@supports (color:color-mix(in lab, red, red)) { + .code-container .header:where(.dark,.dark *) { + border-color: color-mix(in oklab, var(--color-white) 5%, transparent) + } +} + +.code-container .header div { + align-items: center; + display: flex +} + +:where(.code-container .header div>:not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse))) +} + +.code-container .header a { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + color: var(--color-gray-600); + text-decoration-line: underline +} + +@media (hover: hover) { + .code-container .header a:hover { + text-decoration-line: none + } +} + +.code-container .header a:where(.dark,.dark *) { + color: var(--color-gray-400) +} + +.code-container button { + cursor: pointer; + border-radius: var(--radius-lg); + padding: calc(var(--spacing) * 2) +} + +@media (hover: hover) { + .code-container button:hover { + background-color: var(--color-gray-100) + } + + .code-container button:where(.dark,.dark *):hover { + background-color: #ffffff0d + } + + @supports (color:color-mix(in lab, red, red)) { + .code-container button:where(.dark,.dark *):hover { + background-color: color-mix(in oklab, var(--color-white) 5%, transparent) + } + } +} + +.code-container button svg { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4) +} + +.code-container .phpcode { + flex: 1; + display: flex; + flex-direction: column; +} + +.code-container pre { + flex: 1; + font-size: var(--text-xs); + line-height: 2; + white-space: pre; + display: flex +} + +@media (min-width: 40rem) { + .code-container pre { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)) + } +} + +.code-container code { + height: 100%; + padding: 1.25em; + color: var(--color-gray-400); + flex: 1; + overflow: auto +} + +.release-notes { + isolation: isolate; + z-index: 10; + border-block-style: var(--tw-border-style); + border-block-width: 1px; + border-color: #e4e4e780; + position: relative +} + +@supports (color:color-mix(in lab, red, red)) { + .release-notes { + border-color: color-mix(in oklab, var(--color-gray-200) 50%, transparent) + } +} + +.release-notes { + background-color: var(--color-white); + padding-block: calc(var(--spacing) * 20) +} + +@media (min-width: 64rem) { + .release-notes { + padding-block: calc(var(--spacing) * 28) + } +} + +.release-notes:where(.dark,.dark *) { + border-color: #00000040 +} + +@supports (color:color-mix(in lab, red, red)) { + .release-notes:where(.dark,.dark *) { + border-color: color-mix(in oklab, var(--color-black) 25%, transparent) + } +} + +.release-notes:where(.dark,.dark *) { + background-color: oklab(39.0688% .00431919 -.103547/.1) +} + +.release-notes h2 { + font-size: var(--text-xl); + line-height: var(--tw-leading, var(--text-xl--line-height)); + font-weight: var(--font-weight-semibold); + letter-spacing: -.025em; + text-wrap: pretty; + color: var(--color-gray-900) +} + +@media (min-width: 40rem) { + .release-notes h2 { + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)) + } +} + +.release-notes h2:where(.dark,.dark *) { + color: var(--color-white) +} + +.release-notes svg { + pointer-events: none; + top: calc(var(--spacing) * 0); + color: #09090b26; + width: 100%; + height: 100%; + position: absolute +} + +@supports (color:color-mix(in lab, red, red)) { + .release-notes svg { + color: color-mix(in oklab, var(--color-gray-950) 15%, transparent) + } +} + +.release-notes svg:where(.dark,.dark *) { + color: #ffffff1a +} + +@supports (color:color-mix(in lab, red, red)) { + .release-notes svg:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 10%, transparent) + } +} + +.release-notes ul, +.before-and-after-title-and-description ul { + margin-left: calc(var(--spacing) * 4); + list-style-type: disc +} + +:where(.release-notes ul>:not(:last-child)), +:where(.before-and-after-title-and-description ul>:not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))) +} + +.release-notes ul, +.before-and-after-title-and-description ul { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + overflow-wrap: break-word +} + +@media (min-width: 64rem) { + .release-notes ul, + .before-and-after-title-and-description ul { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)) + } +} + +.release-notes-grid div > ul:not(:last-of-type) { + margin-bottom: calc(var(--spacing) * 8); +} + +.release-notes code { + padding-inline: calc(var(--spacing) * 1); + padding-block: calc(var(--spacing) * .5) +} + +.features-col code, +.release-notes code, +.before-and-after-title-and-description code { + border-radius: var(--radius-md); + background-color: #e4e4e780 +} + +.hero-badge:where(.dark,.dark *), +.features-col code:where(.dark,.dark *), +.release-notes code:where(.dark,.dark *), +.before-and-after-title-and-description code:where(.dark,.dark *) { + background-color: #0003 +} + +@supports (color:color-mix(in lab, red, red)) { + .features-col code, + .release-notes code, + .before-and-after-title-and-description code { + background-color: color-mix(in oklab, var(--color-gray-200) 50%, transparent) + } + + .hero-badge:where(.dark,.dark *), + .features-col code:where(.dark,.dark *), + .release-notes code:where(.dark,.dark *), + .before-and-after-title-and-description code:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-black) 20%, transparent) + } +} + +.release-notes .new ::marker { + color: var(--color-green-500) +} + +.release-notes .new::marker { + color: var(--color-green-500) +} + +.release-notes .new ::-webkit-details-marker { + color: var(--color-green-500) +} + +.release-notes .new::-webkit-details-marker { + color: var(--color-green-500) +} + +.release-notes .old ::marker { + color: var(--color-red-400) +} + +.release-notes .old::marker { + color: var(--color-red-400) +} + +.release-notes .old ::-webkit-details-marker { + color: var(--color-red-400) +} + +.release-notes .old::-webkit-details-marker { + color: var(--color-red-400) +} + +.release-notes h3 { + margin-bottom: calc(var(--spacing) * 2); +} + +.release-notes-grid-container { + margin-inline: auto; + margin-top: calc(var(--spacing) * -2); + max-width: var(--container-7xl); + padding-inline: calc(var(--spacing) * 4) +} + +.release-notes-grid-container + .release-notes-grid-container { + margin-top: calc(var(--spacing) * 8) +} + +@media (min-width: 64rem) { + .release-notes-grid-container { + padding-inline: calc(var(--spacing) * 8) + } + + .release-notes-grid { + gap: calc(var(--spacing) * 5); + grid-template-columns:repeat(12, minmax(0, 1fr)); + display: grid + } +} + +.release-notes-grid div { + border-radius: var(--radius-3xl); + background-color: #00000008; + padding: calc(var(--spacing) * 6); +} + +.release-notes-grid div.chart-table:where(.dark,.dark *) { + background-color: #ffffff59; +} + +.release-notes-grid div:where(.dark,.dark *) { + background-color: #ffffff08 +} + +@media (min-width: 48rem) { + .release-notes-grid div { + padding: calc(var(--spacing) * 10) + } +} + +.release-notes-grid div.chart-table { + margin: calc(var(--spacing) * 4) 0; + padding: calc(var(--spacing) * 4); + border-radius: var(--radius-xl); +} + +@supports (color:color-mix(in lab, red, red)) { + .release-notes-grid div { + background-color: color-mix(in oklab, var(--color-black) 3%, transparent); + } + .release-notes-grid div:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-white) 3%, transparent); + } + .release-notes-grid div.chart-table:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-white) 80%, transparent); + } +} + +.release-notes-grid div.center { + background-color: transparent; + border-radius: 0; + padding: 0; +} + +.release-notes-grid div.center:where(.dark,.dark *) { + background-color: transparent; +} + +@media (min-width: 64rem) { + .release-notes-grid div:first-of-type { + grid-column: span 6/span 6 + } + + .release-notes-grid div:only-child { + grid-column: span 12/span 12 + } +} + +.release-notes-grid div:nth-of-type(2) { + margin-top: calc(var(--spacing) * 10) +} + +@media (min-width: 64rem) { + .release-notes-grid div:nth-of-type(2) { + margin-top: calc(var(--spacing) * 0); + grid-column: span 6/span 6 + } +} + +.cta-footer { + isolation: isolate; + z-index: 10; + padding-block: calc(var(--spacing) * 20); + position: relative +} + +@media (min-width: 64rem) { + .cta-footer { + padding-block: calc(var(--spacing) * 28) + } +} + +.cta-footer:where(.dark,.dark *) { + background-color: oklab(39.0688% .00431919 -.103547/.2) +} + +.cta-footer > svg { + pointer-events: none; + inset: calc(var(--spacing) * 0); + z-index: 2; + stroke: #18181b14; + width: 100%; + height: 100%; + position: absolute; + -webkit-mask-image: linear-gradient(#0000, #ffffffad); + mask-image: linear-gradient(#0000, #ffffffad) +} + +@supports (color:color-mix(in lab, red, red)) { + .cta-footer > svg { + stroke: color-mix(in oklab, var(--color-gray-900) 8%, transparent) + } +} + +.cta-footer > svg:where(.dark,.dark *) { + stroke: #ffffff14 +} + +@supports (color:color-mix(in lab, red, red)) { + .cta-footer > svg:where(.dark,.dark *) { + stroke: color-mix(in oklab, var(--color-white) 8%, transparent) + } +} + +.cta-footer-content { + max-width: var(--container-4xl); + padding-inline: calc(var(--spacing) * 4); + text-align: center; + margin-inline: auto +} + +@media (min-width: 64rem) { + .cta-footer-content { + padding-inline: calc(var(--spacing) * 8) + } +} + +.cta-footer-content svg { + width: calc(var(--spacing) * 16); + height: calc(var(--spacing) * 16); + color: var(--color-gray-800); + margin-inline: auto +} + +.cta-footer-content svg:where(.dark,.dark *) { + color: var(--color-gray-100) +} + +.cta-footer-content h2 { + margin-block: calc(var(--spacing) * 10); + font-family: var(--font-sans); + font-size: var(--text-2xl); + line-height: var(--tw-leading, var(--text-2xl--line-height)); + font-weight: var(--font-weight-semibold); + text-wrap: balance; + color: var(--color-gray-900) +} + +@media (min-width: 40rem) { + .cta-footer-content h2 { + font-size: var(--text-4xl); + line-height: var(--tw-leading, var(--text-4xl--line-height)) + } +} + +.cta-footer-content h2:where(.dark,.dark *) { + color: var(--color-white) +} + +.cta-footer-button-container { + margin-bottom: calc(var(--spacing) * 10); + justify-content: center; + align-items: center; + display: flex +} + +:where(.cta-footer-button-container>:not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse))) +} + +.cta-footer-content p { + max-width: var(--container-2xl); + --tw-leading: var(--leading-relaxed); + line-height: var(--leading-relaxed); + color: #18181bcc; + margin-inline: auto +} + +@supports (color:color-mix(in lab, red, red)) { + .cta-footer-content p { + color: color-mix(in oklab, var(--color-gray-900) 80%, transparent) + } +} + +.cta-footer-content p:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .cta-footer-content p:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.cta-footer-content .first-paragraph { + margin-bottom: calc(var(--spacing) * 6) +} + +footer { + isolation: isolate; + z-index: 10; + border-top-style: var(--tw-border-style); + border-color: #0000000d; + border-top-width: 1px; + position: relative +} + +@supports (color:color-mix(in lab, red, red)) { + footer { + border-color: color-mix(in oklab, var(--color-black) 5%, transparent) + } +} + +footer:where(.dark,.dark *) { + border-color: #ffffff08 +} + +@supports (color:color-mix(in lab, red, red)) { + footer:where(.dark,.dark *) { + border-color: color-mix(in oklab, var(--color-white) 3%, transparent) + } +} + +footer:where(.dark,.dark *) { + background-color: oklab(39.0688% .00431919 -.103547/.3) +} + +footer p { + font-size: var(--text-sm); + line-height: calc(var(--spacing) * 6); + text-wrap: balance; + color: var(--color-gray-600) +} + +footer p:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + footer p:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.social-icons { + column-gap: calc(var(--spacing) * 6); + display: flex +} + +.social-icons a { + color: var(--color-gray-600) +} + +@media (hover: hover) { + .social-icons a:hover { + color: var(--color-gray-800) + } +} + +.social-icons a:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .social-icons a:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +@media (hover: hover) { + .social-icons a:where(.dark,.dark *):hover { + color: var(--color-white) + } +} + +.social-icons svg { + width: calc(var(--spacing) * 6); + height: calc(var(--spacing) * 6) +} + +.footer-logo { + height: calc(var(--spacing) * 10); + display: inline-block +} + +.footer-logo svg { + height: calc(var(--spacing) * 10); + color: var(--color-gray-800); + display: inline-block +} + +.footer-logo svg:where(.dark,.dark *) { + color: var(--color-white) +} + +.footer-container { + max-width: var(--container-7xl); + padding-inline: calc(var(--spacing) * 4); + padding-top: calc(var(--spacing) * 16); + padding-bottom: calc(var(--spacing) * 8); + margin-inline: auto +} + +@media (min-width: 40rem) { + .footer-container { + padding-top: calc(var(--spacing) * 24) + } +} + +@media (min-width: 64rem) { + .footer-container { + padding-inline: calc(var(--spacing) * 8); + padding-top: calc(var(--spacing) * 28) + } +} + +@media (min-width: 80rem) { + .footer-grid { + gap: calc(var(--spacing) * 8); + grid-template-columns:repeat(3, minmax(0, 1fr)); + display: grid + } +} + +:where(.footer-grid>div>:not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse))) +} + +.footer-links-container { + margin-top: calc(var(--spacing) * 16); + gap: calc(var(--spacing) * 8); + grid-template-columns:repeat(2, minmax(0, 1fr)); + display: grid +} + +@media (min-width: 80rem) { + .footer-links-container { + margin-top: calc(var(--spacing) * 0); + grid-column: span 2/span 2 + } +} + +@media (min-width: 48rem) { + .footer-links-grid { + gap: calc(var(--spacing) * 8); + grid-template-columns:repeat(2, minmax(0, 1fr)); + display: grid + } +} + +.footer-links-grid h3 { + font-size: var(--text-sm); + line-height: calc(var(--spacing) * 6); + font-weight: var(--font-weight-semibold); + color: var(--color-gray-900) +} + +.footer-links-grid h3:where(.dark,.dark *) { + color: var(--color-white) +} + +.footer-links-grid ul { + margin-top: calc(var(--spacing) * 6) +} + +:where(.footer-links-grid ul>:not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))) +} + +.footer-links-grid a { + font-size: var(--text-sm); + line-height: calc(var(--spacing) * 6); + color: var(--color-gray-600) +} + +@media (hover: hover) { + .footer-links-grid a:hover { + color: var(--color-gray-900) + } +} + +.footer-links-grid a:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .footer-links-grid a:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +@media (hover: hover) { + .footer-links-grid a:where(.dark,.dark *):hover { + color: var(--color-white) + } +} + +.footer-links-grid div:first-of-type { + margin-bottom: calc(var(--spacing) * 10) +} + +@media (min-width: 48rem) { + .footer-links-grid div:first-of-type { + margin-bottom: calc(var(--spacing) * 0) + } +} + +.footer-credits { + margin-top: calc(var(--spacing) * 0); + border-top-style: var(--tw-border-style); + border-color: #18181b1a; + border-top-width: 1px +} + +@supports (color:color-mix(in lab, red, red)) { + .footer-credits { + border-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent) + } +} + +.footer-credits { + padding-top: calc(var(--spacing) * 8) +} + +@media (min-width: 40rem) { + .footer-credits { + margin-top: calc(var(--spacing) * 20) + } +} + +@media (min-width: 64rem) { + .footer-credits { + margin-top: calc(var(--spacing) * 24) + } +} + +.footer-credits:where(.dark,.dark *) { + border-color: #ffffff1a +} + +@supports (color:color-mix(in lab, red, red)) { + .footer-credits:where(.dark,.dark *) { + border-color: color-mix(in oklab, var(--color-white) 10%, transparent) + } +} + +.footer-credits p { + font-size: var(--text-sm); + line-height: calc(var(--spacing) * 6); + color: var(--color-gray-600) +} + +.footer-credits p:where(.dark,.dark *) { + color: #fffc +} + +@supports (color:color-mix(in lab, red, red)) { + .footer-credits p:where(.dark,.dark *) { + color: color-mix(in oklab, var(--color-white) 80%, transparent) + } +} + +.noise { + pointer-events: none; + top: calc(var(--spacing) * 0); + opacity: .08; + width: 100%; + height: 100%; + position: absolute +} + +.noise:where(.dark,.dark *) { + opacity: .4 +} + +.badge-green { + border-radius: var(--radius-md); + background-color: var(--color-green-200); + padding-inline: calc(var(--spacing) * 1.5); + padding-block: calc(var(--spacing) * .5); + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + font-weight: var(--font-weight-medium); + color: var(--color-green-900); + align-items: center; + display: inline-flex +} + +.badge-green:where(.dark,.dark *) { + background-color: #05df721a +} + +@supports (color:color-mix(in lab, red, red)) { + .badge-green:where(.dark,.dark *) { + background-color: color-mix(in oklab, var(--color-green-400) 10%, transparent) + } +} + +.badge-green:where(.dark,.dark *) { + color: var(--color-green-400) +} + + +.php85 .phpcode code { + white-space: revert; +} + +.dark .php85 .phpcode::selection { + background-color: #333; +} + +.php85 .phpcode span.comment { + color: #708090; + background-color: transparent; + font-style: italic; +} + +.php85 .phpcode span.default { + color: rgb(213, 51, 84); + background-color: transparent; +} + +.php85 .phpcode span.variable { + color: #7d55ba; + background-color: transparent; +} + +.php85 .phpcode span.keyword { + color: #07a; + background-color: transparent; +} + +.php85 .phpcode span.string { + color: rgb(80, 119, 0); + background-color: transparent; +} + +.dark .php85 .phpcode span.comment { + color: #8b949e; + background-color: transparent; + font-style: italic; +} + +.dark .php85 .phpcode span.default { + color: #d2a8ff; + background-color: transparent; +} + +.dark .php85 .phpcode span.variable { + color: #a5d6ff; + background-color: transparent; +} + +.dark .php85 .phpcode span.keyword { + color: #ff7b72; + background-color: transparent; +} + +.dark .php85 .phpcode span.string { + color: #80b83c; + background-color: transparent; +} + +.php85 #layout-content a.button-primary { + min-height: calc(var(--spacing) * 10); + cursor: pointer; + width: 100%; + padding-inline: calc(var(--spacing) * 5); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + font-weight: var(--font-weight-semibold); + color: var(--color-white); + background-color: #6b58ff; + border-radius: calc(infinity * 1px); + justify-content: center; + align-items: center; + text-decoration-line: none; + display: inline-flex; + position: relative; + overflow: hidden +} + +@media (hover: hover) { + .php85 #layout-content a.button-primary:hover { + background-color: oklab(57.9656% .0459944 -.232052/.9) + } +} + +.php85 #layout-content a.button-primary:focus-visible { + outline-offset: 2px; + outline: var(--color-gray-800) var(--tw-outline-style) 2px; +} + +.php85 #layout-content a.button-primary:disabled { + pointer-events: none; + opacity: .9 +} + +@media (min-width: 40rem) { + .php85 #layout-content a.button-primary { + width: auto + } +} + +.php85 #layout-content a.button-secondary { + min-height: calc(var(--spacing) * 10); + cursor: pointer; + background-color: var(--color-white); + width: 100%; + padding-inline: calc(var(--spacing) * 5); + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + font-weight: var(--font-weight-semibold); + color: var(--color-gray-900); + --tw-shadow: 0 1px 2px 0 #0000000d; + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + --tw-ring-color: color-mix(in oklab, var(--color-gray-200) 50%, transparent); + border-radius: calc(infinity * 1px); + justify-content: center; + align-items: center; + text-decoration-line: none; + display: inline-flex; + position: relative; + overflow: hidden +} + +@media (hover: hover) { + .php85 #layout-content a.button-secondary:hover { + background-color: #f4f4f5f2 + } + + @supports (color:color-mix(in lab, red, red)) { + .php85 #layout-content a.button-secondary:hover { + background-color: color-mix(in oklab, var(--color-gray-100) 95%, transparent) + } + } +} + +.php85 #layout-content a.button-secondary:focus-visible { + outline-offset: 2px; + outline: var(--color-gray-800) var(--tw-outline-style) 2px; +} + +.php85 #layout-content a.button-secondary:disabled { + pointer-events: none; + opacity: .9 +} + +@media (min-width: 40rem) { + .php85 #layout-content a.button-secondary { + width: auto + } +} + +.php85 #layout-content a.button-secondary:where(.dark,.dark *) { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) +} + +@property --tw-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000 +} + +@property --tw-inset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000 +} + +@property --tw-ring-color { + syntax: "*"; + inherits: false +} + +@property --tw-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000 +} + +@property --tw-inset-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000 +} + +@property --tw-ring-inset { + syntax: "*"; + inherits: false +} + +@property --tw-ring-offset-width { + syntax: ""; + inherits: false; + initial-value: 0 +} + +@property --tw-ring-offset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000 +} + +@property --tw-border-style { + syntax: "*"; + inherits: false; + initial-value: solid +} + +@property --tw-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid +} + +@property --tw-leading { + syntax: "*"; + inherits: false +} + +@property --tw-space-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0 +} + +@property --tw-space-x-reverse { + syntax: "*"; + inherits: false; + initial-value: 0 +} diff --git a/styles/print.css b/public/styles/print.css similarity index 100% rename from styles/print.css rename to public/styles/print.css diff --git a/public/styles/prism.css b/public/styles/prism.css new file mode 100644 index 0000000000..186d885340 --- /dev/null +++ b/public/styles/prism.css @@ -0,0 +1,5 @@ +/* PrismJS 1.30.0 +https://prismjs.com/download#themes=prism&languages=markup+bash+markup-templating+php+powershell&plugins=line-numbers+show-language+remove-initial-line-feed+toolbar+copy-to-clipboard */ +code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} +pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right} +div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none} diff --git a/public/styles/releases.css b/public/styles/releases.css new file mode 100644 index 0000000000..504abe6f8d --- /dev/null +++ b/public/styles/releases.css @@ -0,0 +1,10 @@ +/* This allows the link target to not be covered by the sticky-header; it works + * because the release page creates empty HTML anchors with id attributes above + * each header that is used to create an invisible barrier above the target */ +a[id]:empty { + content:""; + display:block; + height:4.25rem; + margin-top:-4.25rem; + border:none; +} diff --git a/public/styles/rtl.css b/public/styles/rtl.css new file mode 100644 index 0000000000..48309bf530 --- /dev/null +++ b/public/styles/rtl.css @@ -0,0 +1,23 @@ +.para { + direction:rtl; +} +.function { + direction:ltr; + unicode-bidi: bidi-override; +} +.refpurpose { + direction:rtl; +} +.refnamediv { + direction:rtl; +} +.sect1 { + direction:rtl; +} +.example { + text-align:right; +} +.phpcode { + direction:ltr; + unicode-bidi: bidi-override; +} diff --git a/public/styles/supported-versions.css b/public/styles/supported-versions.css new file mode 100644 index 0000000000..c424dc4e0b --- /dev/null +++ b/public/styles/supported-versions.css @@ -0,0 +1,37 @@ +/* Branches page */ + +table.standard tr.eol td:first-child { + background: #f33; + color: white; +} + +table.standard tr.security td:first-child { + background: #f93; +} + +table.standard tr.stable td:first-child { + background: #9c9; +} + +@media (max-width: 767px) { + table.standard th { + font-size: 1rem; + } + + table.standard td.collapse-phone { + display: none; + } + + table.standard:nth-of-type(2) td::before { + content: unset; + } +} + +svg { + max-width: 100%; + height: auto; +} + +.version-notes { + border: 0; +} diff --git a/public/styles/theme-base.css b/public/styles/theme-base.css new file mode 100644 index 0000000000..74a5351714 --- /dev/null +++ b/public/styles/theme-base.css @@ -0,0 +1,1561 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +:root { + --font-family-sans-serif: "Fira Sans", "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-mono: "Fira Mono", "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --dark-grey-color: #333; + --dark-blue-color: #4F5B93; + --medium-blue-color: #7A86B8; + --light-blue-color: #E2E4EF; + --dark-magenta-color: #793862; + --medium-magenta-color: #AE508D; + --light-magenta-color: #CF82B1; + scroll-padding-top: 4rem; +} + +.clearfix { + *zoom: 1; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} +audio:not([controls]) { + display: none; +} +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + scroll-behavior: smooth; +} +a { + border-bottom:1px solid; +} +a:focus { + outline: thin dotted var(--dark-grey-color); + outline-offset: -2px; +} +a:hover, +a:active { + outline: 0; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +pre { + white-space:pre-wrap; +} +#map_canvas img, +.google-maps img { + max-width: none; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} +textarea { + overflow: auto; + vertical-align: top; +} +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} + +@-ms-viewport { + width: device-width; +} +.hidden { + display: none; + visibility: hidden; +} +.visible-phone { + display: none !important; +} +.visible-tablet { + display: none !important; +} +.hidden-desktop { + display: none !important; +} +.visible-desktop { + display: inherit !important; +} + +#intro .container { + margin:0 auto; + display:table; +} + +@media (max-width: 480px) { + #intro .download-php { margin: 0; } +} +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } + +} +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} + + +@media (max-width: 979px) { +} +@media (min-width: 980px) { +} +@media (min-width: 1200px) { +} +@media (min-width: 1500px) { +} + +body, input, textarea { + font-family: var(--font-family-sans-serif); + font-weight: 400; +} +code, +pre.info, +.docs .classsynopsis, +.docs .classsynopsis code { + font: normal 0.875rem/1.5rem var(--font-family-mono); + overflow-x: auto; +} +p code, +li code, +dt code, +dl code { + line-height:1.375rem; +} + +body { + font-size: 1rem; + line-height: 1.5rem; + padding-left:0; + padding-right:0; + padding-bottom:0; + margin:0; +} + +button, +input, +select, +textarea { + font-family: inherit; + font-size: 100%; + margin: 0; +} +button, +input { + line-height: normal; +} +input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +h1, h2, h3, h4, h5, h6 { + line-height: 3rem; + margin:0 0 1.5rem; + overflow:hidden; + text-rendering: optimizeLegibility; +} +h1 { + font-size: 1.75rem; +} +h2 { + font-size: 1.5rem; +} +h3 { + font-size:1.25rem; +} +h4 { + font-size:1.125rem; +} +h5, h6 { + font-size: 1rem; +} +p { + margin:0 0 1.5rem +} +ul, ol { + margin:0 0 1.5rem 1.5rem; + padding:0; +} +p:empty { + margin:0; + height:0; + display:none; +} +small { + font-size: 0.75rem; +} +/* use this instead of the obsolete tag */ +.big { + font-size: 1.2rem; +} + +blockquote { + margin: .75rem 0 .75rem .75rem; +} + +abbr { + cursor: help; +} + +a { + text-decoration:none; +} + +hr { + margin:1.5rem 0; + border:0; + height:0; + border-top:.25rem solid #99c; +} + +.page-tools { + text-align: right; +} +.page-tools #changelang-langs { + font-size:.75rem; +} + +.contribute { + border: 1px solid #888; + border-width: 1px 0; + margin: 0px -24px 0px -24px; + padding: 0 24px 5px 24px; + background-color: #E2E2E2; +} +.contribute .edit-bug a { + border: 0; +} +.contribute h3.title { + margin-bottom: 10px; +} + +/** + * User notes + */ +#usernotes { + position: relative; + margin-top:1.5rem; +} +#usernotes .count { + display:inline-block; + vertical-align: text-top; + padding: 0.25rem 0.375rem; + font-size: 0.75rem; + line-height:1rem; +} + +/* Add a note buttons. */ +#usernotes .action { + display: block; + top: 8px; + right: 12px; + position: absolute; + text-align: right; + z-index: 1; +} + +#usernotes .foot { + text-align: right; + margin-bottom: 1rem; +} + +/* Notes themselves. */ +#usernotes .note { + margin: 1.5rem 0; + position: relative; +} + +#usernotes .note .votes { + float: left; +} + +#usernotes .note .name { + border-bottom: 0; + margin-left: 1rem; + font-size: 1.125rem; +} + +#usernotes .note .name em { + font-style: normal; + font-weight: normal; +} + +#usernotes .note .date { + float: right; + text-align: right; +} + +#usernotes .note .date strong { + font-weight: normal; +} + +#usernotes .note .admin { + float: left; + padding-left: 1rem; +} + +#usernotes .note .admin a { + border-bottom: 0; +} + +#usernotes .note .text { + padding: .75rem; + border-radius:0 0 2px 2px; +} + +/* Vote arrow styles. */ +#usernotes .note .votes > div:first-child { + float: left; +} + +#usernotes .note .votes > div { + float: right; +} + +#usernotes .note .votes a { + display: block; + height: 0; + width: 0; + overflow: hidden; + margin: 8px 0 0 0; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-bottom: 0; +} + +#usernotes .note .votes .usernotes-voteu { + border-bottom: 10px solid #999; +} + +#usernotes .note .votes .usernotes-voted { + border-top: 10px solid #999; +} + +#usernotes .note .votes .usernotes-voteu:hover, +#usernotes .note .votes .usernotes-voteu:focus { + border-bottom: 10px solid #015; +} + +#usernotes .note .votes .usernotes-voted:hover, +#usernotes .note .votes .usernotes-voted:focus { + border-top: 10px solid #015; +} + +#usernotes .note .votes .tally { + padding: 0 0.3rem; +} + +/* Definition lists used on eg. the unsub page */ +dl dd { + margin:0 0 1.5rem; + padding:0 1.5rem; +} + +.php8-code.phpcode{ + overflow-x: auto; +} + +.phpcode, div.classsynopsis { + text-align: left; +} +div.classsynopsisinfo_comment { + margin-top:1.5rem; +} + +.instructions { + margin-bottom: 2rem; +} + +.instructions p { + margin: 1rem 0; +} + +.instructions-form { + display: flex; + flex-direction: column; + gap: .75rem; + margin-bottom: 2rem; +} + +.instructions-label { + display: flex; + align-items: center; + gap: 8px; +} + +.warn { + padding: .75rem 1rem; + margin: 1.5rem 0 1.5rem 1.5rem; + border-top: .1875rem solid; +} + +pre.info { + border: 1px solid; + margin: 1rem 0.8rem 1.3rem 2rem; +} + +#langform { + float: right; +} + + +#layout { + margin: 0 auto 1.5rem; + clear:both; +} + +.layout-menu { + padding:.75rem 1.5rem 1.5rem; + -moz-box-sizing:border-box; + box-sizing:border-box; + position: sticky; + top: 3rem; + max-height: calc(100vh - 3rem); + overflow: auto; +} +#layout-content { + padding:1.5rem; + -moz-box-sizing:border-box; + box-sizing:border-box; +} +#layout-content:only-child { + width:100%; +} + +/** +#layout .refentry div[id], #layout .sect1 div[id], #usernotes div.note[id] +{ + padding-top: 52px !important; + margin-top: -52px !important; +} + +#layout *[id]:target:before { + display:block; + content:" "; + margin-top:-56px; + height:56px; +} +*/ + +#search-results { + margin:10px 40px; +} + +#search-results li { + padding:1rem 0; + list-style: none; +} + +#search-results li .result { + font-size: 1.25rem; +} + +#results_nav_list { + margin:0; + padding:1rem 0; +} +#results_nav_list li { + list-style: none; + display:inline-block; +} +#results_nav_list li a { + padding:.5rem .66rem; +} +#results_nav_list li.current { + font-weight: bolder; +} +/* Footer styling */ + +body > footer { + clear: both; + overflow: auto; + line-height:3rem; +} +body > footer .footer-content { + margin: 1.5rem auto 0 ; + padding:0 1.5rem; + -moz-box-sizing:border-box; + box-sizing:border-box; +} + +body > footer ul { + margin:0; + padding:0; +} + +body > footer .footmenu li { + display: inline-block; + margin:0 0.75rem; +} +body > footer a { + display:inline-block; + border-bottom:0; +} +body > footer a:hover, +body > footer a:focus { + color:var(--light-magenta-color); +} + +/* {{{ ElePHPants photo stream */ + +div.elephpants { + margin: auto; + overflow: hidden; +} + +div.elephpants div.images { + height: 75px; + text-align: center; + white-space: nowrap; +} + +div.elephpants img { + width: 75px; + height: 75px; +} +/* }}} */ + + +/* Standard Tables */ + +table { + border-collapse: collapse; + border-spacing: 0; + margin:0 0 1.5rem; +} +table td { + vertical-align:top; +} + +table.standard { + border-collapse: collapse; + border:1px solid #d9d9d9; +} + +table.standard td, +table.standard th { + border: 1px solid #d9d9d9; +} + +table.standard tr:nth-child(even) td { + background-color: #E6E6E6; +} + +table.standard th { + font-size: 1.125rem; + padding: 20px 10px 5px 10px; + color: #666; + font-weight: normal; +} + +table.standard td { + padding: 5px 10px; + vertical-align: middle; +} + +table.standard tr:nth-child(even) td.subr, +table.standard tr:nth-child(even) th.subr, +table.standard tr td.subr, +table.standard tr th.subr, +table.standard tr:nth-child(even) td.sub, +table.standard tr:nth-child(even) th.sub, +table.standard tr td.sub, +table.standard tr th.sub { + background: #E6E6E6; +} + +table.standard td.subr, +table.standard th.subr { + text-align: right; +} + +div.informalexample { + margin: .75rem 0; +} + +strong, +em { + text-rendering: optimizeLegibility; +} +em { + font-weight:normal; + font-style:italic; +} +strong { + font-weight:bolder; + font-style:normal; +} +article strong, +#layout-content ol strong, +#layout-content ul strong, +#layout-content p strong { + font-weight: 500; +} + +.refsect1 code.parameter, +strong code, +strong pre, +pre strong { + font-weight: 700; +} + +#toTop { + display:none; + text-decoration:none; + position:fixed; + bottom:.75rem; + right:.75rem; + overflow:hidden; + width:43px; + height:43px; + border:none; + z-index:100; +} + +#toTopHover { + display:block; + overflow:hidden; + float:left; +} + +#toTop:active,#toTop:focus { + outline:none; +} +fieldset { + margin:0; + padding:0; + border:0; +} + +.downloads .content-box { + margin:0 0 2.25rem; +} +.content-header .release-state { + float: right; + opacity: 0.8; +} +.content-header .changelog { + color:#369; +} +.content-box .sha256, +.downloads .sha256, +.downloads .sbom { + display: block; + font: normal 0.875rem/1.5rem "Fira Mono", "Source Code Pro", monospace; + overflow: hidden; + text-overflow: ellipsis; +} +.content-box .sha256:before, +.downloads .sha256:before { + content: "sha256: "; + font-family: var(--font-family-sans-serif); +} +.content-box .sha256-row, +.downloads .sha256-row { + display: flex; + align-items: center; + gap: 0.5rem; +} +.content-box .sha256-row .sha256, +.downloads .sha256-row .sha256 { + min-width: 0; +} +.content-box .sha256-copy, +.downloads .sha256-copy { + border: 1px solid var(--dark-blue-color); + border-radius: 30px; + background-color: var(--dark-blue-color); + color: #fff; + padding: 0.2rem 0.65rem; + font-size: 0.75rem; + line-height: 1rem; + cursor: pointer; + min-width: 4.25rem; + text-align: center; + white-space: nowrap; +} +.content-box .sha256-copy:hover, +.content-box .sha256-copy:focus, +.downloads .sha256-copy:hover, +.downloads .sha256-copy:focus { + border-color: var(--dark-magenta-color); + background-color: var(--dark-magenta-color); +} +.content-box .releasedate { + float: right; + font-size: 0.9rem; +} +.content-box pre { + background: white; + border: solid 1px rgb(214, 214, 214); + margin: 0; + padding: 0.75rem; + overflow: auto; + font: normal 0.875rem/1.5rem "Source Code Pro", monospace; +} +.content-box pre.small { + padding: 0; +} +@media (max-width: 465px) { + .content-box h3 .release-state { + display: none; + } +} + +.title { + position:relative; + clear:both; +} +header.title { + margin-bottom:1.5rem; +} +.title a { + border:0; +} + +.country { + position: relative; + padding:0 12px; +} +.country .countrytitle { + margin-left:-12px; + margin-right:-12px; +} +.country .title img { + position: absolute; + right: 12px; +} + +.refentry .refsect1 { + margin-bottom:3rem; +} + +/* {{{ General styles (p, parameters, initializers, ...) */ + +.refsect1 dt { + height:1.5rem; +} + +.docs code.parameter { + font-size:1rem; +} +.docs .classsynopsis code.parameter { + font-size:.875rem; +} +.docs .methodname strong { + font-style:normal; + font-weight:normal; +} +/* }}} */ + +.center { + text-align:center; +} + +/* {{{ Warning and notes */ + +div.tip, +div.warning, +div.caution, +blockquote.note { + padding: .75rem; + margin: 1.5rem 0; + overflow: hidden +} + +blockquote.note strong.note { + font-size: 1.125rem; +} +div.tip strong.tip, +div.warning strong.warning, +div.caution strong.caution { + float: left; + margin-right: 0.5rem; + font-size: 1.125rem; +} +blockquote.note p, +div.caution p, +div.warning p, +div.tip p { + margin: 1.5rem 0 0; +} +blockquote.note *:first-child + p, +div.caution *:first-child + p, +div.warning *:first-child + p, +div.tip *:first-child + p, +blockquote.note p:first-child, +div.caution p:first-child, +div.warning p:first-child, +div.tip p:first-child { + margin: 0; +} + +/* }}} */ + +.refsect1 .dc-description, +.refsect1 .dc-description code, +.docs .sect1 .dc-description, +.docs .sect1 .dc-description code { + font-weight:400; + font-size:1rem; + font-family:"Fira Mono", "Source Code Pro", monospace; + letter-spacing:-.0625rem; + word-spacing:-.125rem; + margin:0; +} + +/* {{{ Parameter listing */ +.docs .refentry .parameters dl { + margin-bottom:0; +} +/* }}} */ + +/* {{{ Examples */ + +.docs .example { + margin: 1.5rem 0; +} + +.docs .example-contents { + margin-bottom:1.5rem; +} +.docs .example-contents pre { + margin:0; + overflow-x:auto; + white-space:pre; +} + +.docs .example-contents > [class$="code"]:not(.phpcode), +.docs .example-contents.screen, +.informalexample .literallayout { + padding: .75rem; + overflow-x: auto; +} + +.docs .example-contents > .phpcode > pre > code, +.docs .example-contents > .phpcode > code { + padding: .75rem; +} + +.docs .classsynopsis, +.refsect1 .fieldsynopsis, +.refsect1 .dc-description, +.docs .sect1 .dc-description { + padding: .75rem; + margin-bottom: 1.5rem; +} + +.phpcode pre { + margin: 0; +} +.phpcode code { + display: block; + overflow-x: auto; + white-space: pre-wrap; +} + +.docs .qandaentry dt .phpcode * { + font-weight: normal; +} + +/* }}} */ + + +/* {{{ Tables */ +.docs th { + text-align: left; +} + +.docs td, +.docs th { + padding: .25rem .5rem; +} + +.doctable, +.segmentedlist { + width: 100%; + margin:0 0 1.5rem; +} +.doctable thead tr, +.segmentedlist thead tr { + border:1px solid; +} +.doctable tr, +.segmentedlist tr { + border:1px solid; +} + +/* }}} */ + +/* {{{ lists */ +ul.itemizedlist { + list-style-type: circle; +} +ul.simplelist +{ + list-style-type: disc; +} +ul.chunklist { + list-style-type: disc; +} +.docs ol { + list-style-type: decimal; +} +dl.qandaentry { + border-top: 1px solid; +} + +ul.chunklist_children { + margin-top:0; +} +/* }}} */ + +.docs div.sect1, .docs div.partintro { + position: relative; +} + +.docs .verinfo { + font-size: .875rem; + margin:0; +} +.refname .verinfo { + line-height:2.875rem; + float:right; + font-weight:normal; +} + +.docs h1.refname + h1.refname { + margin-top:-1.5rem; /* for functions with OO and procedural definitions */ +} +.docs .refnamediv { + position:relative; +} + +.docs .classsynopsis { + margin-bottom:1.5rem; +} + +.classsynopsisinfo_comment, +.classsynopsis .constructorsynopsis, +.classsynopsis .methodsynopsis, +.classsynopsis .destructorsynopsis, +.classsynopsis .fieldsynopsis { + margin-left:1.5rem; +} + +#changelang { + border: 0; +} + + +/* - Side Menu - */ +.docs .layout-menu ul.parent-menu-list { + list-style: none; + margin: 0; + padding: 0; +} + +.docs .layout-menu ul.parent-menu-list > li { + margin-top:0; + margin-bottom:0; + +} +.docs .layout-menu ul.parent-menu-list > li > a { + border:0; + font-size: 1.125rem; + margin-bottom:0.75rem; + display:block; +} + +.docs .layout-menu ul.child-menu-list { + margin: 0; +} + +.layout-menu ul.child-menu-list li { + list-style-type: none; + margin: 0; +} +.layout-menu ul.child-menu-list li:first-child a { + border-top: 1px dotted; + margin-top:-1px; +} +.layout-menu ul.child-menu-list a { + font-size: .875rem; + border-bottom: 1px dotted; + margin-bottom:-1px; + display:block; + padding-left:.75rem; + position:relative; +} + +.layout-menu ul.child-menu-list .current { + font-weight: bolder; +} +#layout-content .current:before { + content:"\bb \20"; +} +.layout-menu ul.child-menu-list a:hover:before, +.layout-menu ul.child-menu-list a:focus:before, +.layout-menu ul.child-menu-list .current a:before { + content:"\bb \20"; + position:absolute; + left:0; +} + +.docs .sect2 { + margin-top: .75rem; +} + +/* Soft-deprecation Notices */ +.soft-deprecation-notice h1.title { + border: 0; + position: absolute; + padding: 0; + margin:0; + top:-22px; + left: 0; +} +div.soft-deprecation-notice { + position: relative; + margin-top: 50px; + border: 1px solid; + z-index: 100; +} +div.soft-deprecation-notice blockquote.sidebar { + padding: 10px; + margin: 0; + border: 0 solid; +} + +#breadcrumbs { + -moz-box-sizing:border-box; + box-sizing:border-box; + padding:.75rem 0; + font-size:.875rem; + display:none; +} +#breadcrumbs #breadcrumbs-inner { + margin:0 auto; +} +#breadcrumbs ul { + margin:0; + padding:0 .5rem 0 1.5rem; + overflow: hidden; +} +#breadcrumbs-inner div { + padding:0 1.5rem; +} +#breadcrumbs li { + display:inline-block; +} +#breadcrumbs li+li:before { + padding:0 .5rem 0; + content:"\203A"; +} +#breadcrumbs a:link, +#breadcrumbs a:visited { + border-width:0; +} +#breadcrumbs a:hover, +#breadcrumbs a:focus { + color:var(--light-magenta-color); +} + +#breadcrumbs .next, +#breadcrumbs .prev { + float:right; +} +@media (min-width: 768px) { + #breadcrumbs { + display:block; + position: sticky; + top: 0px; + background: var(--dark-grey-color); + z-index: 1; + } + .doctable thead th { + position: sticky; + top: 3rem; + } + #intro .background, + aside.tips, + .layout-menu { + width: 25%; + float: left; + } + + #layout-content { + float: left; + width: 75%; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + aside.tips { + width: 30% !important; + } + + #layout-content:not(:only-child) { + width: 70% !important; + } +} + +@media (min-width: 1200px) { + #intro .container, + .navbar__inner, + #breadcrumbs-inner, + #goto div, + #trick div, + #layout, + body > footer .footer-content { + width:1170px; + } +} +@media (min-width: 1500px) { + #intro .container, + .navbar__inner, + #breadcrumbs-inner, + #goto div, + #trick div, + #layout, + body > footer .footer-content { + width:1440px; + } +} + +#mainmenu-toggle-overlay, #mainmenu-toggle { + display: none; +} + + +@media (max-width:767px) { + #intro .download-php { + margin: 0 !important; + } + + #mainmenu-toggle-overlay { + background: var(--dark-blue-color) url(/images/mobile-menu.png) no-repeat center center; + float: right; + display: block; + height: 32px; + width: 34px; + margin-top: 10px; + margin-right: 10px; + border-radius: 5px; + } + + #mainmenu-toggle { + height: 32px; + width: 34px; + line-height: 32px; + margin-top: 10px; + margin-right: -34px; + float: right; + border-bottom: 0 none; + display: inline-block; + opacity: 0; + } + + #mainmenu-toggle:checked + .nav { + /* This just has to be big enough to cover whatever's in .nav. */ + max-height: 50rem; + } + + #flash-message { + margin-top: 0 !important; + top: 0; + } + +} + +@media (min-width:768px) { + #intro .container { + position:relative; + } +} + +@media (max-width: 979px) and (min-width: 768px) { + #intro .download-php a.btn-pop { + padding-right:.375rem; + } +} +@media (min-width:980px) { +} +@media (min-width:1200px) { +} +@media (min-width:1548px) { + #layout { + padding-right:0; + } +} + +#goto { + display: none; + background-color: var(--dark-grey-color); + height: 100%; + width: 100%; + opacity: 0.9; + position: fixed; + top: 64px; + z-index: 5000; + color: #E6E6E6; +} +#goto .search .results { + text-shadow: 0 2px 3px #555; + font-size: 2rem; + line-height: 1; +} +#goto .search .results :focus { + font-size: 2rem; + line-height: 1.2; +} +#goto .search .text { + color: #222; + text-shadow: 0 2px 3px #555; + font-size: 10rem; + line-height: .7; +} +#trick { + display: none; + background-color:rgba(51,51,51,.95); + height: 100%; + width: 100%; + position: fixed; + top: 0; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + overscroll-behavior: contain; + z-index: 5000; +} +#goto div, +#trick div { + margin: 0 auto; +} +#trick dt, #trick dl { + color: #E6E6E6; +} +#trick dl { + display: inline-block; + vertical-align: top; +} +#trick dt { + margin: .5rem 0 .25rem; + line-height: 1.4; +} +#trick dd { + margin: 0 0 .75rem 1rem; + line-height: 1.6; +} +#trick a { + color: #E6E6E6; + display: block; + border-bottom: none; + padding: 1px; +} +/* {{{ Right-hand sidebar */ +aside.tips { + -moz-box-sizing:border-box; + box-sizing:border-box; + padding:1.5rem; + color:#ccc; +} +aside.tips p { + margin-top:0; +} +aside.tips .panel { + margin:0 0 1.5rem; +} +aside.tips .panel .body { + font-size:.875rem; + margin-top:1.5rem; +} + +aside.tips .panel .headline { + display: block; + border-bottom:0; + line-height: 1.5rem; + font-size:1.125rem; + color:#E6E6E6; + text-rendering: optimizeLegibility; +} +/* Announcement Area */ + +aside.tips div.inner { + clear:none; + border:0; + background:inherit; +} +/* }}} */ + +/* {{{ Flash message */ +#flash-message { + height: auto; + position: fixed; + width: 100%; + z-index: 95; + text-align: center; + box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); +} + +#flash-message .message { + cursor: pointer; + text-align: center; + position: relative; + border-bottom:1px solid; + padding:.25rem; +} + +#flash-message .message a { + border-style: dotted; + font-weight: bolder; +} +/* }}} */ + +/* {{{ News */ +.newsentry header h2, +.newsItem header h2 { + margin:0; +} +.newsentry { + margin: 0 0 3rem; + position: relative; +} +.newsentry h2 { + font-weight:normal; +} +.newsentry h2 .release-state { + float: right; + opacity: 0.8; +} +.newsentry header time, +.newsItem header time { + float:right; + line-height:3rem; +} + +.newsentry p { + line-height: 1.7rem; +} + +.newsentry .newsimage a, +.newsItem .newsImage a { + float: right; + border: 0; + padding: 10px; +} + +.newsentry .newsimage img, +.newsItem .newsImage img { + max-width: 350px; +} +/* }}} */ + +/* {{{ Logo Downloads */ + +.logo-list ul{ + list-style-type: none; +} + +/* }}} */ + +.caption { + font-size: 0.85rem; +} + +/** +* Table overlapping fix +*/ +.table { + width: 100%; + margin: 1% !important; + border-spacing: 20px; + table-layout: fixed; +} + +td { + word-wrap: break-word; +} + +@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) { + /* Make table elements block for stacking */ + table, thead, tbody, th, td, tr { + display: block; + } + + /* Hide the table headers */ + thead tr { + position: absolute; + top: -9999px; + left: -9999px; + } + + tr { + margin: 0 0 1rem 0; + } + + td { + border: none; + border-bottom: 1px solid #eee; + position: relative; + } + td:before { + left: -.50rem; + top: -0.3rem; + padding: .25rem .5rem; + width: 100%; + font-weight: bold; + border: none; + background-color: #C4C9DF; + border-bottom: 1px solid #eee; + position: relative; + display: block; + unicode-bidi: isolate; + content: attr(data-label); + } +} diff --git a/public/styles/theme-medium.css b/public/styles/theme-medium.css new file mode 100644 index 0000000000..c086e06c1f --- /dev/null +++ b/public/styles/theme-medium.css @@ -0,0 +1,1156 @@ +:root { + --background-color: var(--dark-grey-color); + --background-text-color: #CCC; + --content-background-color: #F2F2F2; + --content-text-color: var(--dark-grey-color); +} + +html { + background-color: var(--background-color); + background-image: url('/images/bg-texture-00.svg'); + color: var(--background-text-color); + scrollbar-color: hsl(0, 0%, 67%) transparent; +} + +#layout-content { + background: var(--content-background-color); + color: var(--content-text-color); +} +#layout-content:not(:only-child) { + border-right:.25rem solid #666; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 500; + color: var(--content-text-color) +} +header.title, +h1:after, +h2:after, +h3:after { + display:table; + width:100%; + content:" "; + margin-top:-1px; + border-bottom:1px dotted; +} +.title h1:after, +.title h2:after, +.title h3:after { + display:none; +} + +a:link, +a:visited { + color: var(--background-text-color); +} +#layout-content a:link, +#layout-content a:visited { + color: #369; +} +a:hover, +a:focus, +#layout-content a:hover, +#layout-content a:focus { + color: var(--medium-magenta-color); + border-color: var(--medium-magenta-color); + outline:0; +} + + +ul { + list-style-type: disc; +} + +ol { + list-style-type: decimal; +} + +dl.qandaentry { + border-color:#000; +} + +h1.refname { + color: var(--dark-magenta-color); +} + + +.interfacename a, +.fieldsynopsis .type, +.methodsynopsis .type, +.constructorsynopsis .type, +.destructorsynopsis .type { + color:#693; +} + +.classsynopsisinfo .modifier, +.fieldsynopsis .modifier, +.methodsynopsis .modifier, +.constructorsynopsis .modifier, +.destructorsynopsis .modifier { + color: #936; +} + +.classsynopsis { + color: #4D4D4D; +} + +.docs .classsynopsisinfo_comment { + color:#f80; +} + +.title a, +.title { + color: var(--dark-magenta-color); +} +.title time { + color: var(--content-text-color); +} + +.methodname b, +.methodname strong, +.methodname a, +.classsynopsis .classname, +.classsynopsis .interfacename, +.parameter { + color: #369; +} + +.initializer, +.initializer code { + color:#936; +} + +.dc-description { + color:#737373; +} + +/* {{{ Warnings, Tips and Notes */ +#flash-message .success { + background:#E6F2D9; + border-color: #CCE6B3; +} +#flash-message .info, +div.tip { + background:#D9E6F2; + border-color: #B3CCE6; + border-bottom-color:#9FBFDF; +} +blockquote.note { + background-color: #E6E6E6; + border-color: var(--background-text-color); +} +div.caution { + background: #fcfce9; + border-color: #e2e2d1; +} +.refsect1 blockquote.note { + margin-left:0; + background:#fff; + border-color: #e5e6e9; +} +#flash-message .error, +div.warning { + background:#F4DFDF; + border-color: #EABFBF; +} + +.docs .classsynopsis, +.refsect1 .fieldsynopsis, +.refsect1 .dc-description, +.docs .sect1 .dc-description, +div.tip, +blockquote.note, +div.caution, +div.warning { + box-shadow:inset 0 0 0 1px rgba(0,0,0,.15); + border-radius:0 0 2px 2px; +} +#flash-message .error a, +div.warning a:link, +div.warning a:visited, +div.warning h2, +div.warning h3 { + color:#936; +} +#flash-message .success a, +#flash-message a:hover, +#flash-message a:focus, +div.warning a:hover, +div.warning a:focus { + color:#693; + border-color:#693; +} +/* }}} */ + +/* {{{ 2024 Navbar */ +.navbar { + /* Ensure the navbar shadow is rendered above the main content */ + position: relative; + z-index: 1000; + background-color: var(--dark-blue-color); + box-shadow: 0 2px 4px 0px rgba(0, 0, 0, 0.2); +} + +.navbar * { + box-sizing: border-box; +} + +.navbar *:focus-visible { + outline: 2px solid var(--light-magenta-color); + outline-offset: 2px; +} + +.navbar__inner { + display: flex; + height: 64px; + padding: 0px 16px; + margin: 0 auto; +} + +.navbar__brand { + display: flex; + align-items: center; + border: none; +} + +.navbar__brand img { + height: 40px; +} + +.navbar__nav { + display: flex; + margin: 0; + margin-left: 24px; +} + +.navbar__item { + display: block; + list-style: none; +} + +.navbar [hidden] { + display: none; +} + +.navbar__link { + display: flex; + + align-items: center; + + height: 100%; + padding: 0px 12px; + + font-size: 16px; + color: #ffffff; + text-decoration: none; + + border-bottom: none; + + transition: color 0.25s ease-out; +} + +/* TODO: Convert to BEM modifier */ +.navbar__link--active { + background-color: rgba(0, 0, 0, 0.1); +} + +.navbar__link, +.navbar__link:link, +.navbar__link:visited { + color: hsl(231, 100%, 93%); +} + +.navbar__link--active, +.navbar__link:hover, +.navbar__link:link:hover, +.navbar__link:visited:hover { + color: white; +} + +.navbar__offcanvas { + display: flex; +} + +.navbar__search-form, +.navbar__search-button { + display: none; + + flex-grow: 1; + + max-width: 300px; + padding: 8px 8px; + + background-color: #404f82; + border: 1px solid #6a78be; + border-radius: 8px; +} + +.navbar__search-form label { + display: flex; + align-items: center; +} + +.navbar__search-form svg, +.navbar__search-button svg { + width: 24px; + height: 24px; + margin-right: 8px; + color: hsl(225, 41%, 69%); +} + +.navbar__search-form:focus-within, +.navbar__search-button:hover { + border-color: #94a3ed; + border-width: 1px; + outline: none; +} + +.navbar__search-input { + width: 100%; + padding: 0; + + color: white; + + background-color: transparent; + border: none; +} + +.navbar__search-input:focus-visible { + outline: none; +} + +.navbar__search-input::placeholder, +.navbar__search-button { + color: hsla(230, 72%, 84%); + opacity: 1; +} + +.navbar__right { + display: flex; + flex-grow: 1; + justify-content: end; + padding: 12px 0px; +} + +.navbar_icon-item--visually-aligned { + margin-right: -8px; +} + +.navbar__backdrop { + position: fixed; + top: 0; + left: 0; + /* Ensure to render above other non static elements */ + z-index: 1010; + + display: none; + + width: 100vw; + height: 100vh; + + background-color: #000; + opacity: 0.25; +} + +.navbar__icon-item, +.navbar__icon-item:link, +.navbar__icon-item:visited { + padding: 8px; + + color: hsl(222, 80%, 87%); + + cursor: pointer; + + background-color: transparent; + border: 0; + outline: 0; + + transition: color 0.25s ease-out; +} + +.navbar__icon-item:hover { + color: white; + opacity: 1; +} + +.navbar__icon-item svg { + display: block; +} + +.navbar__close-button { + position: absolute; + top: 13px; + right: 16px; +} + +.navbar__release img { + height: 22px; +} + +/* We use a desktop-first approach for the offcanvas navigation styles */ +@media (max-width: 992px) { + .navbar__offcanvas { + position: fixed; + top: 0; + right: 0; + bottom: 0; + z-index: 1020; + + flex-grow: 1; + flex-direction: column; + + width: 240px; + max-width: 100%; + padding: 24px 0px; + + visibility: hidden; + + background-color: var(--dark-blue-color); + box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175); + + transition: transform 0.3s ease; + transform: translateX(100%); + } + + .navbar__offcanvas.show { + display: flex; + transform: translateX(0); + } + + .navbar__nav { + flex-direction: column; + order: 1; + margin-top: 40px; + margin-left: 0; + } + + .navbar__link { + padding: 16px 24px; + font-size: 18px; + } + + .navbar__search-button { + display: none; + } + + /* TODO: Convert to BEM modifier */ + .navbar__backdrop.show { + display: block; + } +} + +@media (min-width: 992px) { + .navbar__icon-item { + display: none; + } + + .navbar__search-form, + .navbar__search-button { + display: flex; + align-items: center; + text-align: left; + } +} + +@media (min-width: 1200px) { + .navbar__link { + padding: 8px 16px; + } +} +/* }}} */ + +/* {{{ Search modal */ +.search-modal__backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 5001; + + justify-content: center; + + visibility: hidden; + + background-color: rgba(0, 0, 0, 0.5); + opacity: 0; + + transition: opacity 0.1s ease-out; +} + +.search-modal__backdrop.showing, +.search-modal__backdrop.show { + visibility: visible; + opacity: 1; +} + +.search-modal__backdrop.hiding { + visibility: visible; + opacity: 0; +} + +.search-modal, +.search-modal * { + box-sizing: border-box; +} + +.search-modal { + display: flex; + + flex-direction: column; + + width: 100%; + height: 100%; + margin: 0; + + background-color: var(--dark-grey-color); +} + +.search-modal *:focus-visible { + outline: 2px solid var(--light-magenta-color); + outline-offset: 2px; +} + +.search-modal__header { + display: flex; + align-items: center; + padding: 10px 16px; +} + +.search-modal__form { + display: flex; + + flex-grow: 1; + + align-items: center; + + min-width: 0; + padding-left: 12px; + + background-color: hsl(0, 0%, 25%); + border-radius: 8px; +} + +.search-modal__input-icon { + display: block; + flex-shrink: 0; + width: 24px; +} + +.search-modal__input-icon svg { + display: block; + color: hsl(0, 0%, 54%); +} + +.search-modal__input { + flex-grow: 1; + + min-width: 0; + height: 44px; + padding-left: 12px; + + color: white; + + background-color: transparent; + border: none; +} + +.search-modal__input:focus { + border-width: 1px; + outline: none; +} + +.search-modal__input::placeholder { + color: rgba(255, 255, 255, 0.56); + opacity: 1; +} + +/* TODO: The icon button styles were copied from the navbar. */ +/* We should refactor this into a shared component when possible. */ +.search-modal__close { + padding: 8px; + margin-right: -8px; /* Compensate for button padding */ + margin-left: 8px; + + color: #e8e8e8; + + cursor: pointer; + + background-color: transparent; + border: 0; + outline: 0; + opacity: 0.65; + + transition: opacity 0.15s ease-out; +} + +.search-modal__close svg { + display: block; + width: 24px; + fill: currentColor; +} + +.search-modal__close:hover, +.search-modal__close:focus { + color: white; + opacity: 1; +} + +.search-modal__results { + height: 100%; + padding: 0 16px; + overflow-y: scroll; + + scrollbar-color: hsl(0, 0%, 67%) transparent; + scrollbar-width: thin; +} + +.search-modal__result { + display: flex; + + align-items: center; + + padding: 10px; + padding-left: 14px; + + line-height: 1.2; + + border: none; + border-radius: 0.5rem; +} + +.search-modal__result:hover { + /* Simulates 33% opacity by blending --dark-blue-color with --dark-grey-color. + * TODO: Use rgb(var(--dark-blue-color) / 33%) once widely supported. + * More info: https://caniuse.com/mdn-css_types_color_rgb_relative_syntax */ + background-color: #3c4053; +} + +.search-modal__result[aria-selected="true"] { + background-color: var(--dark-blue-color); +} + +.search-modal__result-content { + flex-grow: 1; + min-width: 0; /* Allow text truncation */ +} + +.search-modal__result-name { + margin-bottom: 6px; + overflow: hidden; + + color: #e6e6e6; + text-overflow: ellipsis; + white-space: nowrap; +} + +.search-modal__result:hover .search-modal__result-name { + color: white; +} + +.search-modal__result-description { + overflow: hidden; + + font-size: 14px; + color: var(--background-text-color); + text-overflow: ellipsis; + white-space: nowrap; +} + +.search-modal__result:hover .search-modal__result-description { + color: white; + opacity: 0.6; +} + +.search-modal__result-icon { + margin-right: 12px; +} + +.search-modal__result-icon svg { + display: block; + width: 24px; + fill: hsla(0, 0%, 100%, 0.3); +} + +.search-modal__helper-text { + display: none; + padding: 10px 16px; + font-size: 14px; +} + +@media (min-width: 992px) { + .search-modal { + max-width: 560px; + height: calc(100% - 1rem * 2); + margin: 1rem auto; + border-radius: 16px; + } + + .search-modal__header { + padding: 18px 20px; + } + + .search-modal__input { + height: 52px; + font-size: 18px; + } + + .search-modal__close { + margin-right: -10px; /* Compensate for button padding */ + } + + .search-modal__results { + padding: 0 20px; + } + + .search-modal__helper-text { + display: block; + padding: 18px 20px; + } + + .search-modal__helper-text kbd { + display: inline-block; + + padding: 0px 4px; + + font-family: inherit; + + background-color: rgba(255, 255, 255, 0.1); + border-radius: 4px; + } +} +/* }}} */ + +/* {{{ Lookup form */ + +.lookup-form { + max-width: 540px; +} + +.lookup-form *:focus-visible { + outline: 2px solid var(--light-magenta-color); +} + +/* }}} */ + +/* {{{ Menu */ + +.menu .menu__item ~ .menu__item { + margin-top: 16px; +} + +.menu__link { + font-size: 1.25rem; + border: none; +} + +/* }}} */ + +/* {{{ User notes */ +#usernotes .count { + background-color: var(--dark-magenta-color); + color: #fff; + border-radius: 4px; +} +#usernotes .note .name { + color: var(--content-text-color); +} +#usernotes .note .date { + color: #666; +} +#usernotes .note .name:hover + .genanchor { + color: black; +} +#usernotes .note .text { + transition: opacity 0.4s; +} +#usernotes .note .votes .tally { + color: var(--content-text-color); +} +#usernotes .note .votes a { + transition: border 0.4s; +} +/* }}} */ + + +/* {{{ Tables */ +.doctable, +.segmentedlist { + border-color: var(--background-text-color); +} +.doctable thead tr, +.segmentedlist thead tr { + border-color: #C4C9DF; + border-bottom-color: var(--medium-blue-color); + color: var(--content-text-color); +} +.doctable th, +.segmentedlist th { + background-color: #C4C9DF; +} +.doctable tr, +.segmentedlist tr { + border-color: var(--background-text-color) +} +.doctable tbody tr:nth-child(odd), +.segmentedlist tbody tr:nth-child(odd) { + background-color: #ffffff; +} +.doctable tbody tr:nth-child(even), +.segmentedlist tbody tr:nth-child(even) { + background-color: #E6E6E6; +} +/* }}} */ + + +/* {{{ Syntax highlighting (and other similar boxes) */ +#usernotes .note .text, +.example-contents > [class$="code"], +.example-contents.screen, +.informalexample .literallayout { + background-color: #FFF; + box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); + border-radius: 0 0 2px 2px; +} +.refsect1 .example-contents > [class$="code"], +.refsect1 .example-contents.screen { + background-color: #fff; +} +.docs .classsynopsis, +.refsect1 .fieldsynopsis, +.refsect1 .dc-description, +.docs .sect1 .dc-description { + background:#fff; + border-color: #d9d9d9; +} +.phpcode span.html { + color: black; + background-color: transparent; +} +.phpcode span.comment { + color: var(--dark-blue-color); + background-color: transparent; +} +div.phpcode span.default, div.phpcode span.variable { + color: #369; + background-color: transparent; +} +div.phpcode span.keyword { + color: #693; + background-color: transparent; +} +div.phpcode span.string { + color: #c33; + background-color: transparent; +} + +.para var, +.simpara var, +.para .computeroutput, +.simpara .computeroutput +{ + background-color: #E6E6E6; + border-radius: 2px; + color: var(--content-text-color); + padding: 2px 4px; + white-space: nowrap; + font-style: normal; + font: normal 14px / 1.46 "Source Code Pro", monospace; +} + +var.reset +{ + background: none !important; + padding: 0 !important; + font-size: 1em !important; +} +/* }}} */ + + + +/* {{{ The anchor for section headers */ +#layout-content a.genanchor:link, +#layout-content a.genanchor:visited { + color: transparent; + border-bottom: none; +} +#layout-content a.genanchor:hover, +#layout-content a.genanchor:focus { + color: var(--content-text-color); + border-bottom: none; +} +/* }}} */ + + +.warn { + border-color: var(--dark-blue-color); + background-color: #fff; + border-radius: 0 0 2px 2px; +} + +pre.info { + background-color: #efefef; + border-color: #ddd; +} + +aside.tips div.border { + display:none; +} +aside.tips h3 { + color:#E6E6E6; +} +aside.tips li { + line-height: 1.2rem; /* avoid gaps in wrapped links */ + margin-bottom: 0.5rem; /* seperate each link item a little bit from eachother */ +} +aside.tips a { + color: var(--background-text-color); + border-bottom:1px dotted #666; +} +aside.tips .panel > a:after, +aside.tips .panel > span:after { + content:" "; + display:block; + border-bottom:1px dotted #666; +} +aside.tips .panel > a { + display:block; + border-bottom: none; +} +aside.tips .panel > a:hover:after { + border-color:var(--medium-magenta-color); +} +aside.tips a:hover, +aside.tips a:focus { + color:var(--light-magenta-color); + border-color:var(--light-magenta-color); +} + +.soft-deprecation-notice { + color: var(--dark-grey-color); + border-color: #eecdde; + background-color: #f9ecf2; +} +.soft-deprecation-notice h1.title { + color: #454e55; +} +.soft-deprecation-notice blockquote.sidebar { + color: #660000; + border-color: #660; +} + + +/* {{{ Breadcrumbs */ +#breadcrumbs { + color: #999; +} +/* }}} */ + + +/* {{{ Layout menu Left-hand sidebar */ +.layout-menu ul.child-menu-list li:first-child a { + border-top-color:#666; +} +.layout-menu ul.child-menu-list li.current a { + color:var(--light-magenta-color); + border-bottom-color:var(--light-magenta-color); +} +.layout-menu ul.parent-menu-list li a:hover, +.layout-menu ul.child-menu-list li a:hover { + color:var(--light-magenta-color); +} +.layout-menu ul.child-menu-list a { + border-color: #666; +} +/* }}} */ + + +/* {{{ ElePHPants */ +div.elephpants img { + opacity: 0.5; + transition: all 0.2s ease-in-out; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; +} +div.elephpants:hover img { + opacity: 0.6; + transition: all 0.2s ease-in-out; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; +} +div.elephpants img:hover, +div.elephpants img:focus { + opacity: 1; +} +/* }}} */ + + +.mirror { + position: relative; + border: 1px solid var(--background-text-color); + padding: 20px; + margin: 5px; +} +.mirror .title img { + position: absolute; + right: 0; +} +.mirror .title { + font-size: 1.4em; + position: relative; +} + +.headsup { + position: relative; + padding:.25rem 0; + height:1.5rem; + box-shadow: 0 2px 4px 0px rgba(0,0,0,.2); + background-color: var(--dark-magenta-color); + color:#fff; +} + +.headsup, +.headsup a { + margin: 0 auto; + text-align: center; + color: #fff; +} + +.thanks-list { + list-style: none; + padding: 0; + margin: 0 0 2rem 0; + display: grid; + grid-template-columns: 1fr; + gap: 1rem; +} +@media (min-width: 980px) { + .thanks-list { + grid-template-columns: 1fr 1fr; + gap: 1.5rem; + } +} + +.thanks { + display: flex; + flex-direction: column; + align-items: start; + gap: 1rem; + break-inside: avoid; + box-shadow: #dddddd 0 .125rem .5rem; + border-radius: .25rem; + padding: 1rem; + background: #F9F9F9; +} +@media (min-width: 425px) { + .thanks { + flex-direction: row; + } +} + +.thanks__logo { + border: 0; + background: #F9F9F9; + border-radius: .25rem; + padding: .5rem; + flex: 0 0 7.5rem; + min-width: 5rem; + min-height: 5rem; + max-height: 5rem; + margin: 0; + display: flex; + align-items: center; + align-self: center; + overflow: hidden; +} +.thanks__logo--white { + background: #FFFFFF; + border: 1px solid #f0f0f0; +} +.thanks__logo--dark { + background: #152536; +} +.thanks__logo--osu { + background: #bc450c; +} +.thanks__logo--redpill { + background: #b73e40; +} +@media (min-width: 425px) { + .thanks__logo { + align-self: start; + } +} + +.thanks__logo img { + width: 100%; + max-height: 100%; + transition: transform 300ms ease-in-out; +} +.thanks__logo:hover img { + transform: scale(1.1); +} + +.thanks__heading { + display: block; + font-size: 1.15rem; + padding: 0 0 1rem 0; + text-align: center; +} +@media (min-width: 425px) { + .thanks__heading { + text-align: left; + padding: 0 0 .25rem 0; + } +} + +.thanks__description { + margin: 0 +} + +.replaceable { + font-style: italic; +} + +.navbar__languages { + border: 1px solid #6a78be; + outline: none; + color: hsla(230, 72%, 84%); + opacity: 1; + max-width: 300px; + padding: 8px 8px; + background-color: rgba(64, 79, 130, 0.7); + border-radius: 8px; + margin-right: 12px; +} + +.navbar__languages:hover { + border-color: #94a3ed; +} + +.navbar__languages select { + color: hsla(230, 72%, 84%); +} + +.navbar__languages option { + color: rgba(39, 40, 44, 0.7); +} + +.navbar__theme { + margin-left: 12px; + border: 1px solid #6a78be; + color: hsla(230, 72%, 84%); + background-color: #404f82; + border-radius: 8px; + margin-right: 12px; + width: 40px; + height: 40px; + display: flex; + align-items: center; + justify-content: center; +} + +.navbar__theme:hover { + border-color: #94a3ed; +} diff --git a/submit-event.php b/public/submit-event.php similarity index 76% rename from submit-event.php rename to public/submit-event.php index 05b2b2b593..1ecb4bfedc 100644 --- a/submit-event.php +++ b/public/submit-event.php @@ -1,44 +1,36 @@ "community")); +require_once __DIR__ . '/../include/prepend.inc'; +require_once __DIR__ . '/../include/posttohost.inc'; +require_once __DIR__ . '/../include/email-validation.inc'; +site_header("Submit an Event", ["current" => "community"]); // No errors, processing depends on POST data -$errors = array(); -$process = (boolean) count($_POST); +$errors = []; +$process = [] !== $_POST; // Avoid E_NOTICE errors on incoming vars if not set -$vars = array( +$vars = [ 'sday', 'smonth', 'syear', 'eday', - 'emonth', 'eyear', 'recur', 'recur_day' -); + 'emonth', 'eyear', 'recur', 'recur_day', +]; foreach ($vars as $varname) { - if (!isset($_POST[$varname]) || empty($_POST[$varname])) { + if (empty($_POST[$varname])) { $_POST[$varname] = 0; } } -$vars = array( - 'type', 'country', 'category', 'email', 'url', 'ldesc', 'sdesc' -); -foreach($vars as $varname) { - if (!isset($_POST[$varname])) { - $_POST[$varname] = ""; - } +$vars = [ + 'type', 'country', 'category', 'email', 'url', 'ldesc', 'sdesc', +]; +foreach ($vars as $varname) { + if (!isset($_POST[$varname])) { + $_POST[$varname] = ""; + } } // We need to process some form data if ($process) { - // Clean up magic quotes, if they were inserted - if ($MQ) { - foreach ($_POST as $k => $v) { - $_POST[$k] = stripslashes($v); - } - } - // Clean and validate data if (!is_emailable_address($_POST['email'])) { $errors[] = 'You must supply a valid email address.'; @@ -49,23 +41,26 @@ * Add, edit, or remove blacklisted users or domains * in include/email-validation.inc :: blacklisted(). */ - $uemail = isset($_POST['email']) ? strtolower($_POST['email']) : ''; + $uemail = isset($_POST['email']) ? strtolower($_POST['email']) : ''; if (blacklisted($uemail)) { $errors[] = 'An expected error has been encountered. Please don\'t try again later.'; } - + $_POST['sdesc'] = trim($_POST['sdesc']); if (!$_POST['sdesc']) { $errors[] = "You must supply a short description of the event."; } - $_POST['ldesc'] = trim(strip_tags($_POST['ldesc'], '

    ')); + $_POST['ldesc'] = trim(strip_tags($_POST['ldesc'], '

    ')); $_POST['ldesc'] = preg_replace("/(style|on\\w+?)\s*=[^>]*/i", "", $_POST['ldesc']); if (!$_POST['ldesc']) { $errors[] = "You must supply a long description of the event."; } + elseif (stripos($_POST['ldesc'], 'PHP') === false) { + $errors[] = "This does not look like a 'PHP' event"; + } - $valid_schemes = array('http','https','ftp'); + $valid_schemes = ['http', 'https', 'ftp']; $_POST['url'] = trim($_POST['url']); $pu = parse_url($_POST['url']); @@ -74,7 +69,7 @@ if (!$_POST['url']) { $errors[] = "You must supply a URL with more information about the event."; } - elseif (empty($pu['host']) || !in_array($pu['scheme'], $valid_schemes)) { + elseif (empty($pu['host']) || !in_array($pu['scheme'], $valid_schemes, false)) { $errors[] = "The URL you supplied was invalid."; } @@ -120,8 +115,8 @@ } if (isset($_POST['action']) && $_POST['action'] === 'Submit' && empty($errors)) { - // Submit to master.php.net - $result = posttohost("http://master.php.net/entry/event.php", $_POST); + // Submit to main.php.net + $result = posttohost("https://main.php.net/entry/event.php", $_POST); if ($result) { $errors[] = "There was an error processing your submission: $result"; } @@ -142,9 +137,14 @@ // No form data to process else { - echo "

    \n Have an upcoming PHP user group meeting? Holding a PHP training session?\n" . - " Submit your event here, and after it has been approved, it will be listed on\n" . - " the PHP.net homepage and appear in our full event listings.\n

    "; + echo "

    \n Have an upcoming PHP user group meeting?\n" . + " Submit your event here, and after it has been approved, it will be listed in\n" . + " our event calendar.\n

    "; + echo "

    Please note that conference submissions should be emailed to php-webmaster@lists.php.net

    \n"; + echo '
    ' . "\n" . + "

    \n All submissions will be reviewed by human. Do not waste " . + "our and your own time on submitting events unrelated to PHP. Thank you.

    \n" . + "
    \n"; } // Display errors if found @@ -152,22 +152,22 @@ // Generate days and months arrays for form for ($i = 1; $i <= 7; $i++) { - $days[$i] = strftime('%A', mktime(12, 0, 0, 4, $i, 2001)); + $days[$i] = date('l', mktime(12, 0, 0, 4, $i, 2012)); } for ($i = 1; $i <= 12; $i++) { - $months[$i] = strftime('%B', mktime(12, 0, 0, $i, 1, 2001)); + $months[$i] = date('F', mktime(12, 0, 0, $i, 1)); } // Possibilities to recur -$re = array( - 1 => 'First', - 2 => 'Second', - 3 => 'Third', - 4 => 'Fourth', +$re = [ + 1 => 'First', + 2 => 'Second', + 3 => 'Third', + 4 => 'Fourth', -1 => 'Last', -2 => '2nd Last', - -3 => '3rd Last' -); + -3 => '3rd Last', +]; // If we have data, display preview if ($process && count($errors) === 0) { @@ -183,9 +183,9 @@ Start Date - - " /> - /> + + "> + > @@ -193,9 +193,9 @@ End Date - - " /> - /> + + "> + > @@ -204,17 +204,17 @@ - /> + > Short Description - + URL - + Country @@ -230,7 +230,7 @@ @@ -239,7 +239,7 @@ Email -
    +
    This email address is only used to contact you about the listing, it will not displayed along with the listing. @@ -249,15 +249,15 @@ - + - + Are you real? - + @@ -265,7 +265,7 @@ site_footer(); // Display an option list with one selected -function display_options($options, $current) +function display_options($options, $current): void { foreach ($options as $k => $v) { echo '
    +
    +'; + +site_header( + 'Getting Help', + [ + 'current' => 'help', + ], +); +?> + +

    Documentation

    + +

    + A good place to start is by skimming through the ever-growing list of frequently asked questions (with answers, of course). Then + have a look at the rest of the online manual and other resources in the documentation section. +

    + +

    Community Support

    + +

    + For day-to-day help and troubleshooting, the broader PHP community is very active in a few places: +

    +
      +
    • +

      Reddit: r/PHP — look for the Weekly help threads that are pinned to the top for beginner and general questions.

      +
    • +
    • +

      Stack Overflow: browse or ask questions using the php tag.

      +
    • +
    • + Discord: there are many community-ran servers for chat-based help and discussion. Here are a couple of popular ones: + +
    • +
    • + IRC: real-time chat at Libera.Chat in #phpc. + This channel is also bridged with Discord via phpc.chat. +
    • +
    + +

    User Groups & Events

    + +

    + Connect with local and regional PHP User Groups and find upcoming meetups, conferences, and training sessions: +

    +
      +
    • Find a user group near you on PHP.ug.
    • +
    • Browse upcoming events on the event calendar.
    • +
    • Want to list an event? Submit it here.
    • +
    + +

    Archive (Legacy Resources)

    + +

    Mailing Lists

    +

    + Historically, a number of mailing lists were devoted to talking about PHP and related projects. While + many are no longer active, you can still find their descriptions and archives on this page. +

    + +

    Newsgroups

    +

    + There was a PHP language NNTP newsgroup at comp.lang.php, and many of our support mailing + lists are also reflected onto our news server at news://news.php.net/. + The server also has a read only web interface at + https://news-web.php.net/. +

    +

    + Please note that these are legacy resources and primarily useful for historical reference. +

    + +

    PHP.net webmasters

    + +

    + If you have a problem or suggestion in connection with the PHP.net + website, please contact the webmasters. +

    +

    + If you have problems setting up PHP or using some functionality, + please ask your question on a support channel detailed above, + the webmasters will not answer any such questions. +

    + + $SIDEBAR_DATA]); ?> diff --git a/public/supported-versions.php b/public/supported-versions.php new file mode 100644 index 0000000000..8912bc7623 --- /dev/null +++ b/public/supported-versions.php @@ -0,0 +1,139 @@ + ['supported-versions.css'], + 'cache_control' => 3 * 60 * 60, // 3 hours + ] +); + +// Version notes: if you need to make a note about a version having an unusual +// support lifetime, add it under a heading with an anchor, and add the anchor +// and branch names to the array below ('x.y' => '#anchor-name'). +$VERSION_NOTES = [ + '8.5' => 'https://www.php.net/manual/migration85.php', + '8.4' => 'https://www.php.net/manual/migration84.php', + '8.3' => 'https://www.php.net/manual/migration83.php', + '8.2' => 'https://www.php.net/manual/migration82.php', +]; +?> + +

    Supported Versions

    + +

    + Each release branch of PHP is fully supported for two years from its initial + stable release. During this period, bugs and security issues that have been + reported are fixed and are released in regular point releases. +

    + +

    + After this two year period of active support, each branch is then supported + for two additional years for critical security issues only. Releases during + this period are made on an as-needed basis: there may be multiple point + releases, or none, depending on the number of reports. +

    + +

    + Once the four years of support are completed, the branch reaches its end of + life and is no longer supported. A table of end of life + branches is available. +

    + +

    Currently Supported Versions

    + + + + + + + + + + + + + $releases): ?> + + $release): ?> + + + + + + + + + + + + + + +
    BranchInitial ReleaseActive Support UntilSecurity Support UntilNotes
    + + format('j M Y')) ?>format('j M Y')) ?>format('j M Y')) ?> + + + Migration guide for PHP + + + — + +
    + +

    + Or, visualised as a calendar: +

    + + + * tags (which is odd, since it does handle them when you view the SVG files by + * themselves). Instead, we'll just pull the SVG into the page inline, thereby + * ensuring that we have the same text formatting as the rest of the page. */ + +$non_standalone = true; +include __DIR__ . '/images/supported-versions.php'; +?> + +

    Key

    + + + + + + + + + + + + + + +
    Active support + A release that is being actively supported. Reported bugs and security + issues are fixed and regular point releases are made. +
    Security fixes only + A release that is supported for critical security issues only. Releases + are only made on an as-needed basis. +
    End of life + A release that is no longer supported. Users of this release should + upgrade as soon as possible, as they may be exposed to unpatched security + vulnerabilities. +
    + + diff --git a/public/thanks.php b/public/thanks.php new file mode 100644 index 0000000000..15e6193363 --- /dev/null +++ b/public/thanks.php @@ -0,0 +1,189 @@ + "community"]); +?> + +

    Thanks

    + +
      +
    • + +
      + easyDNS +

      Provides DNS services for the PHP domains.

      +
      +
    • + +
    • + +
      + Myra Security +

      DDoS protection, along with hosting our mail server for us.

      +
      +
    • + +
    • + +
      + SinnerG +

      + Provides a server and bandwidth for rsync.php.net. +

      +
      +
    • + +
    • + +
      + DigitalOcean +

      + Provides VMs and bandwidth for all PHP web services, and our rsync server. +

      +
      +
    • + +
    • + +
      + EUKhost +

      + Provides a server and bandwidth for various PEAR services. +

      +
      +
    • +
    + +

    Thanks Emeritus

    + +

    + Special 'legacy' thanks go to the people and companies who have helped + us in our past. +

    +
      +
    • + AppVeyor provided continuous + integration for Windows builds of PHP. +
    • + +
    • + Bauer + Kirch GmbH provided us + with SSL certificates and a server and bandwidth for the php.net + monitoring infrastructure. +
    • + +
    • + Deft provided a server and + bandwidth for rsync.php.net. +
    • + +
    • + Directi provided IP address to + country lookup information. +
    • + +
    • + Duocast provided servers and + bandwidth used for buildbot testing and various Windows based servers. +
    • + +
    • + Krystal.uk provided a server and + bandwidth for the ci.qa.php.net build and quality assurance + infrastructure. +
    • + +
    • + NEXCESS.NET provided servers and + resources for various php.net services. +
    • + +
    • + Oregon State University Open Source Lab + provided servers and resources for various php.net services. +
    • + +
    • + pair Networks + provided servers and resources for hosting PEAR, PECL, and the mailing lists. +
    • + +
    • + Rackspace provided servers and + resources for various php.net services. +
    • + +
    • + Redpill Linpro provided servers and + resources for various php.net services. +
    • + +
    • + ServerGrove provided managed + servers and resources for various php.net services. +
    • + +
    • + SinnerG provided servers and bandwidth + for svn.php.net, gtk.php.net, and people.php.net. +
    • + +
    • + Spry VPS Hosting provided servers + and resources for various php.net services. +
    • + +
    • + Synacor provided us with many + terabytes of bandwidth and hosting for www.php.net and others for + many years. +
    • + +
    • + Travis CI provided continuous + integration for builds of PHP. +
    • + +
    • + VA Software Corp. helped us + by donating a server and resources to enable us to build manuals + and distribute our content via rsync. +
    • + +
    • + Yahoo! Inc. provided us with many many + terabytes of bandwidth and hosting for www.php.net, and svn.php.net and git.php.net + for many years. +
    • +
    + +

    + And special thanks to all the companies who donated server space and + bandwidth to host our historical international array of mirror sites. +

    + +
      + +
    • :
    • + +
    + +

    PHP.net is very grateful for all their support.

    + + diff --git a/unsub.php b/public/unsub.php similarity index 80% rename from unsub.php rename to public/unsub.php index f778d46e5e..a4bbdcee45 100644 --- a/unsub.php +++ b/public/unsub.php @@ -1,18 +1,16 @@ Other PHP related mailing lists

    - Unsubscribe from the PEAR - lists, the PECL - lists, and the PHP-GTK + Unsubscribe from the PEAR + lists and the PECL lists on their own pages. -

    +

    '; -site_header("Unsubscribing", array("current" => "community")); +site_header("Unsubscribing", ["current" => "community"]); ?>

    Unsubscribing From a Mailing List

    @@ -41,15 +39,15 @@

    To unsubscribe from one of those mailing lists, all you usually need to - do is send an email to listname-unsubscribe@lists.php.net - (substituting the name of the list for listname - — for example, php-general-unsubscribe@lists.php.net). + do is send an email to listname+unsubscribe@lists.php.net + (substituting the name of the list for listname + — for example, php-general+unsubscribe@lists.php.net).

    If you are subscribed to the digest version of the mailing list, you need to send an email to - listname-digest-unsubscribe@lists.php.net. + listname+unsubscribe-digest@lists.php.net.

    @@ -77,7 +75,7 @@ of one of those messages. The email address will be encoded in the 'Return-Path' header with the @-sign replaced with an equals (=) sign. For example, if the subscribed email address is - joecool@example.com, the 'Return-Path' header will look + joecool@example.com, the 'Return-Path' header will look something like:

    @@ -150,32 +148,16 @@
    Pine
    - From the main Pine menu, type 'S' for 'Setup', then 'C' for 'Config'. + From the main Pine menu, type 'S' for 'Setup', then 'C' for 'Config'. Use the space bar and down arrow to scroll until you reach the [ ] enable-full-header-cmd option. Type 'X' in the box to toggle the option on. Type 'E' to exit 'Config', and 'Y' to save changes. The next time you read a message, type 'H' and the full headers will be displayed at the top of the message. Type 'H' again - to hide the headers. + to hide the headers.
    - -

    Unsubscribe with a different email address

    - -

    - To unsubscribe an address like this that is different from what the - mailing list software recognizes as your own address, you need to send mail to - listname-unsubscribe-joecool=example.com@lists.php.net - (or -unsubscribe-digest-, if the address is subscribed to the - digest format of the list). -

    - -

    - Once you have done that, you will receive a message at that email address - with instructions on how to complete your unsubscription request. -

    -

    Still need help?

    @@ -183,7 +165,7 @@ absolutely no reason that you would be unable to unsubscribe yourself from the list, except for your ability to follow these directions. However, if you find yourself unable to unsubscribe from the mailing list, send an - email to php-list-admin@lists.php.net. Make sure to include the + email to php-list-admin@lists.php.net. Make sure to include the complete headers from one of the messages you have received from the mailing list. Keep in mind that there's a human being at the other end of that last email address, so you'll have to be patient. diff --git a/public/urlhowto.php b/public/urlhowto.php new file mode 100644 index 0000000000..e6274da7c4 --- /dev/null +++ b/public/urlhowto.php @@ -0,0 +1,167 @@ +URL examples +

    + We have many kind of URL shortcuts. Here are some + examples you can try out: +

    + + +

    My PHP.net

    +

    + URL shortcut behaviour is greatly influenced by + your language preferences + detected and set. +

    +'; + +site_header("URL Howto", ["current" => "help"]); +function a($href): void { + global $MYSITE; + echo '' . $MYSITE . $href . ''; +} + +?> + +

    Navigation tips & tricks

    + +

    + When using the PHP.net website, there is no need to use + a search box to access the content you would like to see quickly. + You can instead use short PHP.net URLs to access pages directly. +

    + +

    + There are currently three types of URLs you can use this way. +

    + +

    Page shortcuts

    + +

    + If you write in a PHP.net URL (e.g. get-involved, + first this URL is matched against the PHP.net pages. If there is + a page named get-involved.php, then you'll get that page + immediately. This type of shortcut makes easy to type in a link + in an IRC conversation or mailing list message. If the script + finds no page with this name, it tries to find a manual page. +

    + +

    Manual shortcuts

    + +

    + If your URL can't be matched with a page name, a manual page + is searched for your query. This is the case for the + preg_match URL. The following pages + are searched for in the manual:

    +
      +
    • Chapter pages (e.g. )
    • +
    • Reference pages (e.g. )
    • +
    • Function pages (e.g. )
    • +
    • Class pages (e.g. )
    • +
    • Feature pages (e.g. )
    • +
    • Control structure pages (e.g. )
    • +
    • Other language pages (e.g. )
    • +
    +

    + Since there are several manual pages that could potentially match the query + (extension, class, function name..) you are encouraged to use their prefix/suffix: +

    +
      +
    • Extension TOC: + book.extname + (e.g. ). +
    • +
    • Extension intro pages: + intro.extname + (e.g. ). +
    • +
    • Extension setup TOC: + extname.setup + (e.g. ). +
    • +
    • Extension install chapter: + extname.installation + (e.g. ). +
    • +
    • Extension configuration: + extname.configuration + (e.g. ). +
    • +
    • Extension resources: + extname.resources + (e.g. ). +
    • +
    • Extension constants: + extname.constants + (e.g. ). +
    • +
    • Class synopsis: + class.classname + (e.g. ). +
    • +
    • Class method: + classname.methodname + (e.g. ). +
    • +
    • Functions: + function.functionname + (e.g. ). +
    • +
    + +

    + This kind of URL will bring up the manual page in + your preferred language. You can + always override this setting by explicitly providing + the language you want to get to. You can embed the language + in the URL before the manual search term. + fr/sort will bring up + the French manual page for sort() for example. +

    + +

    Search shortcuts

    + +

    + At last, if there is no PHP page, and there is no manual + page matching your query, a search is issued on the site with + the query you typed into the URL. An example of this kind + of URL is search_for_this. + The exact behaviour of this search is affected by + your own My PHP.net settings. +

    + +

    PHP Developer shortcuts

    +
      +
    • Changelog information: http://php.net/changelog + (e.g. latest PHP changelog. php5news = latest PHP 5 NEWS, phptrunknews = latest PHP trunk NEWS) +
    • +
    • Bugs: http://php.net/42 + (any numeric value redirects to said bug # at bugs.php.net) +
    • +
    + +

    Even smarter tricks

    + +

    + We also have shortcut aliases to access some resources more quickly, + and with a nice URL. Aliases are translated to their relevant shortcuts + before the first step (PHP page search) mentioned above. Some examples + of shortcut aliases: , + . The latter is an external page + alias, as it points to a file on the Git server, containing information + about changes in PHP. There are also some convenient aliases(e.g. + which displays the German + manual page for the phpversion() function. +

    + + + diff --git a/quickref.php b/quickref.php deleted file mode 100644 index af29f6c2a7..0000000000 --- a/quickref.php +++ /dev/null @@ -1,210 +0,0 @@ -\n"; - echo "
      \n"; - // Prepare the data - $i = 0; - $limit = ceil(count($functions) / COLUMNS); - if ($sort) { - asort($functions); - } - - // Print out all rows - foreach ($functions as $file => $name) { - echo "
    • $name
    • \n"; - } - echo "
    \n"; - echo "\n"; -} - -// Open directory, fall back to English, -// if there is no dir for that language -$dirh = @opendir($_SERVER['DOCUMENT_ROOT'] . "/manual/$LANG"); -if (!$dirh) { - error_noservice(); -} - -$functions = $maybe = $temp = $parts = array(); -$p = 0; - -// Get all file names from the directory -while (($entry = readdir($dirh)) !== FALSE) { - - // Skip names starting with a dot - if (substr($entry, 0, 1) == ".") { continue; } - - // For function and class pages, get the name out - if (preg_match('!^(function|class)\.(.+)\.php$!', $entry, $parts)) { - $funcname = str_replace('-', '_', $parts[2]); - $functions[$entry] = $funcname; - - // Compute similarity of the name to the requested one - if (function_exists('similar_text') && !empty($notfound)) { - similar_text($funcname, $notfound, $p); - - // If $notfound is a substring of $funcname then overwrite the score - // similar_text() gave it. - if ($p < 70 && ($pos = strpos($funcname, $notfound)) !== FALSE) { - $p = 90 - $pos; - } - $temp[$entry] = $p; - } - } -} -closedir($dirh); - -// We have found file names -if (count($temp) > 0) { - - // Sort names by percentage - arsort($temp); - - // Collect SHOW_CLOSE number of names from the top - foreach ($temp as $file => $p) { - - // Stop, if we found enough matches - if (count($maybe) >= SHOW_CLOSE) { break; } - - // If the two are more then 70% similar or $notfound is a substring - // of $funcname, then the match is a very similar one - if ($p >= 70 || (strpos($functions[$file], $notfound) !== FALSE)) { - $maybe[$file] = '' . $functions[$file] . ''; - } - // Otherwise it is just similar - else { - $maybe[$file] = $functions[$file]; - } - } - unset($matches, $temp); -} - -// Do not index page if presented as a search result -if (count($maybe) > 0) { $head_options = array("noindex"); } -else { $head_options = array(); } - -site_header("Manual Quick Reference", $head_options+array("current" => "docs")); - -// Note: $notfound is defined (with htmlspecialchars) inside manual-lookup.php -$notfound_enc = urlencode($notfound); - -if ($snippet = is_known_snippet($notfound)) { - echo "

    Related snippet found for '{$notfound}'

    "; - echo "

    {$snippet}

    "; -} -?> - -

    Perform an alternative search here

    - - google_cse(htmlspecialchars_decode($notfound, ENT_QUOTES)); -?> - -

    PHP Function List

    - - 0) { ?> - -

    - doesn't exist. Closest matches: -

    - - -
    - - 2 && !strstr($notfound,'tp://') && !strstr($notfound,'admin/')): -$srch_rqst = "/ws.php?profile=$scope&q=".urlencode($notfound)."&lang=$LANG&results=10&start=0&mirror=".trim(substr($MYSITE,7),'/'); -$url = "http://php.net".$srch_rqst; -$data = fetch_contents($url); -if(!is_array($data)) { - $res = unserialize($data); - if(is_array($res) && $res['ResultSet']['totalResultsAvailable'] > 0) { - // Ok, we got some results from the search backend - echo "

    Site Search Results

    \n"; - search_results($res, $notfound, 'local', 10, 0, $LANG, false, false, true); - echo '
    '; - } -} -endif; -?> -

    Other forms of search

    - -

    -To search the string "" using other options, try searching: -

    - -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -

    - For a quick overview over all documented PHP functions, - . -

    - - - -

    - Here is a list of all the documented PHP functions. - Click on any one of them to jump to that page in the - manual. -

    - - diff --git a/reST/index.php b/reST/index.php deleted file mode 100644 index 2c9e046582..0000000000 --- a/reST/index.php +++ /dev/null @@ -1,60 +0,0 @@ -File list -
      '; - -$restfiles = glob($rest_dir. "/*"); - -//$list = $lastdir = ""; -$list = ""; -foreach($restfiles as $filename) { - $link = basename($filename, ".rest"); - - $filename = basename($link); - - // Only use the "last part" of the filename (i.e. README.FOOBAR => FOOBAR) - if (strpos($filename, ".") !== false) { - $filename = substr($filename, strpos($filename, ".")+1); - } - - $filename = str_replace(array("-", "_"), " ", $filename); - $list .= '
    • '.$filename.'
    • '."\n"; -} - -if ($list) { - $SIDEBAR_DATA .= "$list
    "; -} else { - $SIDEBAR_DATA .= "
  • No files available
  • "; -} -$SIDEBAR_DATA .= ""; - - -$filename = $rest_dir. "/" .str_replace('/', '_', $path).'.rest'; -if (($k = array_search($filename, $restfiles)) === false) { - site_header("reST"); - if($path) { - echo '

    Unknown file

    '; - } - echo "

    Please select a file from the filelist on the left

    "; -} else { - site_header(basename($path)); - include $restfiles[$k]; - manual_notes(); -} - -site_footer(); - diff --git a/releases/index.php b/releases/index.php deleted file mode 100644 index 354e9e85fe..0000000000 --- a/releases/index.php +++ /dev/null @@ -1,198 +0,0 @@ - $r); - - $count = 1; - - /* check if other $RELEASES[$ver] are there */ - /* e.g., 5_2, 5_3, and 5_4 all exist and have a release */ - while(($z = each($RELEASES[$ver])) && $count++ < $max) { - $return[$z[0]] = $z[1]; - } - - foreach($OLDRELEASES[$ver] as $version => $release) { - if ($max <= $count++) { - break; - } - - $return[$version] = $release; - } - echo serialize($return); - } else { - $r["version"] = $version; - - echo serialize($r); - } - } else { - echo serialize(array("error" => "Unkown version")); - } - } else { - $array = array(); - foreach($RELEASES as $major => $release) { - list($version, $r) = each($release); - $r["version"] = $version; - $array[$major] = $r; - } - echo serialize($array); - } - return; -} - - -// Tarball list generated with: -// cvs status -v php[34]/INSTALL |grep 'php_'|awk '{print $1}'|grep -Ev '(RC[0-9]*|rc[_0-9]*|REL|[ab][a0-9-]+|b..rc.|b.pl.|bazaar|pre|[ab])$'|sed -e 's,php_,,' -e 's,_,.,g'|sort -n|while read ver; do echo " "; done - -// Show the two most recent EOLed branches. -$eol = array(); -foreach (get_eol_branches() as $major => $branches) { - foreach ($branches as $branch => $detail) { - $eol[$detail['date']] = sprintf('
  • %s: %s
  • ', $branch, date('j M Y', $detail['date'])); - } -} -krsort($eol); -$eol = implode('', array_slice($eol, 0, 2)); - -$SIDEBAR_DATA = ' -

    End of Life Dates

    - -

    - The most recent branches to reach end of life status are: -

    - -
      '.$eol.'
    - -

    - You can also view a - list of end of life dates for all branches. -

    - -

    Other PHP Releases

    -

    - Release candidates and beta versions are not listed here. - You will be able to find those as well as even PHP 3 and - PHP 2 releases in the PHP - Museum. -

    - -
    - Want a PHP serialize()d list of the PHP releases?
    -

    Add ?serialize=1 to the url

    -

    Only want PHP 5 releases? &version=5

    -

    The last 3? &max=3

    -
    -'; - -site_header("Releases"); -?> - -

    Unsupported Historical Releases

    - -

    - We have collected all the official information and code available for - past PHP releases. You can find more details on the current release - on our downloads page. Please note that - older releases are listed for archival purposes only, and - they are no longer supported. -

    - -

    - Note to Windows users: Only PHP 5.3+ versions are available as both VC6 and VC9 builds. - All versions prior were built using VC6. -

    - -\n

    %1\$s

    \n
      \n
    • Released: %s
    • \n
    • Announcement: ", ($pos = strpos($ver, " ")) ? substr($ver, 0, $pos) : $ver, $date); - if ($announcement) { - if (is_array($announcement)) { - foreach($announcement as $ann => $url) { - echo '' .$ann. ' '; - } - } else { - $url = str_replace(".", "_", $ver); - echo 'English'; - } - } else { - echo "None"; - } - echo "
    • \n"; - - if ($major != 3) { - echo '
    • ChangeLog
    • '; - } - echo "\n
    • \n Download:\n"; - - if (!$museum) { - echo "
        \n"; - foreach(array_merge($source, $windows) as $src) { - echo "
      • \n"; - if (isset($src['filename'])) { - download_link($src["filename"], $src["name"]); echo "
        \n"; - if (isset($src["md5"])) { - echo 'md5: ' .$src["md5"]. "\n"; - } - } else { - echo ''.$src['name'].''; - } - echo "
      • \n"; - } - echo "
      \n"; - } else { - foreach($source as $src) { - printf('%s'."\n", $major, $src["filename"], $src["name"]); - } - foreach($windows as $src) { - printf('%s'."\n", ($major == 5 ? "php5" : "win32"), $src["filename"], $src["name"]); - } - } - - echo "
    • \n"; - echo "
    \n"; -} - -$latest = max(array_keys($OLDRELEASES)); -foreach($OLDRELEASES as $major => $a) { - echo ''; - if ($major != $latest) { - echo "\n
    \n"; - if ($major == 4) { - echo '

    Support for PHP 4 has been discontinued since 2007-12-31. Please consider upgrading to PHP 5.

    '."\n"; - } - } - - $i = 0; - foreach($a as $ver => $release) { - $i++; - mk_rel( - $major, - $ver, - $release["date"], - isset($release["announcement"]) ? $release["announcement"] : false, - $release["source"], - (isset($release["windows"]) ? $release["windows"] : array()), - isset($release["museum"]) ? $release["museum"] : ($i<3 ? false : true) - ); - } -} - -site_footer(); - diff --git a/results.php b/results.php deleted file mode 100644 index 677ab5ce3e..0000000000 --- a/results.php +++ /dev/null @@ -1,78 +0,0 @@ -' .$header. ''; - echo '

    ' .$msg. '

    '; - site_footer(); - exit; -} - -if (!isset($_GET['q']) || (!is_string($_GET['q']) || strlen($_GET['q']) < 3)) { - exit_with_pretty_error("Search results", "Empty query", "Please provide at least 3 characters to search for."); -} -if (!isset($_GET['l']) || !is_string($_GET['l'])) { - $_GET['l'] = null; -} - -// Prepare data for search -if ($MQ) { - $q = stripslashes($_GET['q']); //query - $l = stripslashes($_GET['l']); // language -} else { - $q = isset($_GET['q']) ? $_GET['q'] : ''; - $l = isset($_GET['l']) ? $_GET['l'] : 'en'; -} - -if(strlen($l)>2) $l = substr($l,0,2); // Just take the first 2 chars. eg. pt_BR = pt - -$uq = urlencode($q); -$ul = urlencode($l); - -$s = (isset($_GET['start']) && is_numeric($_GET['start'])) ? (int)$_GET['start'] : 0; -$profile = (isset($_GET['p']) && is_string($_GET['p'])) ? $_GET['p'] : 'all'; -$per_page = 10; - -$valid_profiles = array('all', 'local', 'manual', 'news', 'bugs', 'pear', 'pecl', 'talks'); -$scope = in_array($profile, $valid_profiles) ? $profile : 'all'; -$srch_host = "php.net"; -$srch_rqst = "/ws.php?profile=$scope&q=$uq&lang=$ul&results=$per_page&start=$s&mirror=".trim(substr($MYSITE,7),'/'); -$url = "http://".$srch_host.$srch_rqst; - -$data = fetch_contents($url); -if (is_array($data)) { - // FIXME: if (is_authenticated()) ... - $comment = ''; - exit_with_pretty_error("Search error", "Internal error", "This mirror does not support searches, please report this error to our webmasters" . $comment); -} -$res = unserialize($data); - -// HTTP status line is passed on, signifies an error -site_header('Search results', array("noindex", "current" => "docs")); - -if (!is_array($res)) { - exit_with_pretty_error(null, 'Internal error', 'Please try again later'); -} - -// No results for query -if ($res['ResultSet']['totalResultsAvailable'] == 0) { - echo '

    Perform an alternative search instead

    '; - - // TODO Research possible encoding issues - google_cse($q); - - site_footer(); - exit; -} - -search_results($res, $q, $scope, $per_page, $s, $l); - -site_footer(); -?> diff --git a/search-index.php b/search-index.php deleted file mode 100644 index da0cefeb21..0000000000 --- a/search-index.php +++ /dev/null @@ -1,28 +0,0 @@ - GET for dumping the user onto a mirror -if ($_SERVER['REQUEST_METHOD'] == 'POST') { - $_FORM = &$_POST; - $_SERVER['REQUEST_URI'] = "/search.php?"; - $vars = array("show", "pattern", "lang"); - foreach ($vars as $varname) { - if (!empty($_POST[$varname])) { - $_SERVER['REQUEST_URI'] .= "$varname=" . urlencode($_POST[$varname]) . "&"; - } - } -} else { - $_FORM = &$_GET; -} - -// Drive load to mirror sites when searching -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/loadavg.inc'; - -// --------------------------------------------------------------------------- - -// If PHP added some slashes to quotes, get rid of them -if ($MQ) { - foreach ($_FORM as $name => $value) { - $_FORM[$name] = stripslashes($value); - } -} - -// We received something to search for -if (!empty($_FORM['pattern'])) { - - if (empty($_FORM['show'])) { - $_FORM['show'] = 'all'; - } - - // Never allow a comma in the show string, that would confuse our JS - $_FORM['show'] = str_replace(",", "", $_FORM['show']); - - // Mailing list search base URL - $ml_url = "http://marc.info/?r=1&w=2&q=b&"; - $ucp = urlencode($_FORM['pattern']); - - // Do redirections for external search engines - switch ($_FORM['show']) { - - case "quickref" : - case "404quickref" : - $langparam = (isset($EXPL_LANG) ? "&lang=$EXPL_LANG" : ""); - mirror_redirect("/manual-lookup.php?pattern={$ucp}{$langparam}&scope={$_FORM['show']}"); - - case "maillist" : - mirror_redirect("{$ml_url}l=php-general&s={$ucp}"); - - case "devlist" : - mirror_redirect("{$ml_url}l=php-internals&s={$ucp}"); - - case "phpdoc" : - mirror_redirect("{$ml_url}l=phpdoc&s={$ucp}"); - - case "bugdb" : - // Redirect to bug page in case of exact number - if (preg_match("!^\\d+$!", $_FORM['pattern'])) { - mirror_redirect("http://bugs.php.net/{$ucp}"); - } - - // Redirect to bug search page in case of some other pattern - else { - mirror_redirect( - "http://bugs.php.net/search.php?" . - "cmd=Display+Bugs&status=All&bug_type=Any&search_for={$ucp}" - ); - } - - case "manual": - case "404manual": - mirror_redirect($MYSITE . "results.php?q={$ucp}&p={$_FORM['show']}&l=$LANG"); - break; - - case "news_archive": - $p = urlencode($_FORM['show']); - mirror_redirect($MYSITE . "results.php?q=intitle:news%2Barchive+{$ucp}&p=local"); - break; - - case "changelogs": - $p = urlencode($_FORM['show']); - mirror_redirect($MYSITE . "results.php?q=intitle:ChangeLog+{$ucp}&p=local"); - break; - - // Covers the rest - default: - $p = urlencode($_FORM['show']); - mirror_redirect($MYSITE . "results.php?q={$ucp}&l=$LANG&p=$p"); - break; - } -} - -// No pattern provided, print search page -else { - - // Print out common header - $link = array( - "rel" => "search", - "type" => "application/opensearchdescription+xml", - "href" => $MYSITE . "phpnetimprovedsearch.src", - "title" => "Add PHP.net search" - ); - site_header("Search", array("link" => array($link), "current" => "docs")); -?> -

    - The autocompleting search feature is accessible via the form elements at the top - right of php.net pages. You should be able to use this feature in a reasonably modern - browser by selecting the 'function list' search option and typing in some letters - into the searchbox. Features: -

    -
      -
    • Dynamically changing list of function names starting with the substring you typed
    • -
    • Navigate in the list with up and down keys
    • -
    • Autocomplete with pressing the space key
    • -
    • Go to a function by clicking on its name with your mouse
    • -
    -

    - If you are not interested in this feature, you can turn it - off for yourself on the My PHP.net page. -

    -

    - In case you find any bugs, we are interested - in a detailed writeup, including JS error messages, operating system and browser - information. The source code of this feature is released under the PHP License and - is available from the - PHP SVN server without any support. -

    -\n"; - } else { - $lang_input = "\n"; - } - -?> -

    Search

    -
    -

    - Search for: - - in the - - -

    -
    -loadSuggestCode();'; - site_footer(array("functionsjs")); -} diff --git a/searchbar.php b/searchbar.php deleted file mode 100644 index 8f9673661a..0000000000 --- a/searchbar.php +++ /dev/null @@ -1,62 +0,0 @@ -\n"; -} else { $lang_input = ""; } - -$curryear = date("Y"); - -echo << - - - PHP: Search Sidebar - - - - - -

    - php search -

    -
    -

    $lang_input - Search for
    -
    - in the
    -
    - -

    -
    - - - -SEARCHBAR_END; diff --git a/security/crypt_blowfish.php b/security/crypt_blowfish.php deleted file mode 100644 index 5faca3bec1..0000000000 --- a/security/crypt_blowfish.php +++ /dev/null @@ -1,68 +0,0 @@ - - -

    CRYPT_BLOWFISH security fix details

    -

    -The change as implemented in PHP 5.3.7+ favors security and correctness over -backwards compatibility, but it also lets users (admins of PHP app installs) -use the new $2x$ prefix on existing hashes to preserve backwards compatibility -for those and incur the associated security risk until all such passwords are -changed (using $2a$ or $2y$ for newly changed passwords). -

    - -

    -In versions of PHP older than 5.3.7, $2a$ inadvertently resulted in -system-specific behavior for passwords with non-ASCII characters in them. On -some installs (mostly on PowerPC and ARM, as well as sometimes on *BSD's and -Solaris regardless of CPU architecture), they were processed correctly. On -most installs (most Linux, many others), they were processed incorrectly most -of the time (but not always), and moreover in a way where security was -weakened. -

    - -

    -In PHP 5.3.7, $2a$ results in almost the correct behavior, but with an -additional countermeasure against security-weakened old hashes mentioned above. -$2x$ results in the buggy behavior, so if old hashes are known to be of the -buggy type, this may be used on them to keep them working, accepting the -associated security risk. -

    - -

    -$2y$ results in perfectly correct behavior (without the countermeasure), so it -may be used (if desired) when hashing newly set passwords. For practical -purposes, it does not really matter if you use $2a$ or $2y$ for newly set -passwords, as the countermeasure is only triggered on some obscure passwords -(not even valid UTF-8) that are unlikely to be seen outside of a deliberate -attack (trying to match hashes produced by buggy pre-5.3.7 code). -

    - -

    -Summary: for passwords without characters with the 8th bit set, there's no -issue, all three prefixes work exactly the same. For occasional passwords with -characters with the 8th bit set, if the app prefers security and correctness -over backwards compatibility, no action is needed - just upgrade to new PHP and -use its new behavior (with $2a$). However, if an app install admin truly -prefers backwards compatibility over security, and the problem is seen on the -specific install (which is not always the case because not all platforms/builds -were affected), then $2a$ in existing hashes in the database may be changed to -$2x$. Alternatively, a similar thing may be achieved by changing $2a$ to $2x$ -in PHP app code after database queries, and using $2y$ on newly set passwords -(such that the app's automatic change to $2x$ on queries is not triggered for -them). -

    - -

    -See also the openwall -announcement for more information. -

    - - - -
    -

    Security Center?

    -

    In an effort to make security related information more readily available, the PHP Security Response Team created a new Security Center on March 1st, 2007. The Security Center will serve as the central location where interested parties can find information about security threats, fixes and/or workarounds and any other related meterial.

    - -

    Security related books

    - - -

    Other links

    - -
    -EOT; - - -site_header("PHP Security center"); -echo "

    PHP Security Center

    \n"; - -$dbfile = $_SERVER['DOCUMENT_ROOT'] . '/security/vulndb.txt'; -$fp = @fopen($dbfile, "rt"); -if(is_resource($fp)) { - $RECORDS = array(); - $record_no = 1; - while($s = fgets($fp)) { - if($s == "\n") { - if(!isset($RECORDS[$record_no]["id"])) { - $RECORDS[$record_no]["id"] = $record_no; - } - $field = null; - $record_no++; - continue; - } - if(preg_match("/^([-\w]+):\s*(.*)/", $s, $m)) { - // new record - $field = strtolower($m[1]); - $data = $m[2]; - } else { - $data = $s; - } - if($field) { - if(isset($RECORDS[$record_no][$field])) { - $RECORDS[$record_no][$field] .= $data; - } else { - $RECORDS[$record_no][$field] = $data; - } - } - } - } - - //echo "
    ";print_r($RECORDS);
    -    $id = isset($_GET["id"]) ? (int)$_GET["id"] : 0;
    -    if(!$id || !isset($RECORDS[$id])) {
    -?>
    -

    PHP Vulnerability Disclosures

    -

    This page contains information about PHP-related security threats, patches and known workarounds.

    -

    If you believe you have discovered a security problem in PHP please inform the
    PHP Security Response Team in confidence by mailing security@php.net

    -
    -

    The following colors are used to highlight the severity of a bug:

    -
      -
    • low risk is yellow
    • -
    • medium risk is orange
    • -
    • critical is red
    • -
    -= $d) { - if($c > $d) { - return -1; - } - return 0; - } - return 1; - } - usort($RECORDS, "cmp_records"); - - $last_month = ""; - foreach($RECORDS as $record) { - if(!isset($record["summary"])) { - if(strlen($record["description"]) > 80) { - $record["summary"] = substr($record["description"], 0, 70) . "..."; - } else { - $record["summary"] = $record["description"]; - } - } - $current_month = date("Ym", strtotime($record["published"])); - if($current_month != $last_month) { - $last_month = $current_month; - $current_month = $record["affects"]; - - echo "

    ", date("F Y", strtotime($record["published"])), "

    \n"; - } -?> -
    "> - -
    -
    ">
    -
    -
    -
    - -%s (%s)\n", $RECORDS[$id]["id"], $date); - echo "
    \n"; - foreach($RECORDS[$id] as $field => $data) { - if(!$data) { - continue; - } - $title = ucfirst(strtr($field, "-", " ")); - // Turn urls into links (stolen from master/manage/user-notes.php) - $data = preg_replace( - '!((mailto:|(http|ftp|nntp|news):\/\/).*?)(\s|<|\)|"|\\|\'|$)!', - '\1\4', - $data - ); - echo <<< EOT -
    -
    $title
    -
    $data
    -
    \n -EOT; - } - echo "
    \n"; -} - -site_footer(); - diff --git a/security/vulndb.txt b/security/vulndb.txt deleted file mode 100644 index 4614915a0e..0000000000 --- a/security/vulndb.txt +++ /dev/null @@ -1,472 +0,0 @@ -Id: 1 -CVE: CVE-2006-0097 -Severity: -Reporter: -Published: 2006-01-06 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Stack-based buffer overflow in the create_named_pipe function in libmysql.c in PHP 4.3.10 and 4.4.x before 4.4.3 for Windows allows attackers to execute arbitrary code via a long (1) arg_host or (2) arg_unix_socket argument, as demonstrated by a long named pipe variable in the host argument to the mysql_connect function. - -Id: 2 -CVE: CVE-2006-0200 -Severity: -Reporter: -Published: 2006-01-13 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Format string vulnerability in the error-reporting feature in the mysqli extension in PHP 5.1.0 and 5.1.1 might allow remote attackers to execute arbitrary code via format string specifiers in MySQL error messages. - -Id: 3 -CVE: CVE-2006-0207 -Severity: -Reporter: -Published: 2006-01-13 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Multiple HTTP response splitting vulnerabilities in PHP 5.1.1 allow remote attackers to inject arbitrary HTTP headers via a crafted Set-Cookie header, related to the (1) session extension (aka ext/session) and the (2) header function. - -Id: 4 -CVE: CVE-2006-0208 -Severity: -Reporter: -Published: 2006-01-13 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Multiple cross-site scripting (XSS) vulnerabilities in PHP 5.1.1, when display_errors and html_errors are on, allow remote attackers to inject arbitrary web script or HTML via inputs to PHP applications that are not filtered when they are included in the resulting error message. - -Id: 5 -CVE: CVE-2006-0996 -Severity: -Reporter: -Published: 2006-04-10 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Cross-site scripting (XSS) vulnerability in phpinfo (info.c) in PHP 5.1.2 and 4.4.2 allows remote attackers to inject arbitrary web script or HTML via long array variables, including (1) a large number of dimensions or (2) long values, which prevents HTML tags from being removed. - -Id: 6 -CVE: CVE-2006-1014 -Severity: -Reporter: -Published: 2006-03-06 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Argument injection vulnerability in certain PHP 4.x and 5.x applications, when used with sendmail and when accepting remote input for the additional_parameters argument to the mb_send_mail function, allows context-dependent attackers to read and create arbitrary files by providing extra -C and -X arguments to sendmail. NOTE: it could be argued that this is a class of technology-specific vulnerability, instead of a particular instance; if so, then this should not be included in CVE. - -Id: 7 -CVE: CVE-2006-1015 -Severity: -Reporter: -Published: 2006-03-06 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Argument injection vulnerability in certain PHP 3.x, 4.x, and 5.x applications, when used with sendmail and when accepting remote input for the additional_parameters argument to the mail function, allows remote attackers to read and create arbitrary files via the sendmail -C and -X arguments. NOTE: it could be argued that this is a class of technology-specific vulnerability, instead of a particular instance; if so, then this should not be included in CVE. - -Id: 8 -CVE: CVE-2006-1017 -Severity: -Reporter: -Published: 2006-03-06 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: The c-client library 2000, 2001, or 2004 for PHP before 4.4.4 and 5.x before 5.1.5 do not check the (1) safe_mode or (2) open_basedir functions, and when used in applications that accept user-controlled input for the mailbox argument to the imap_open function, allow remote attackers to obtain access to an IMAP stream data structure and conduct unauthorized IMAP actions. - -Id: 9 -CVE: CVE-2006-1490 -Severity: -Reporter: -Published: 2006-03-29 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: PHP before 5.1.3-RC1 might allow remote attackers to obtain portions of memory via crafted binary data sent to a script that processes user input in the html_entity_decode function and sends the encoded results back to the client, aka a "binary safety" issue. NOTE: this issue has been referred to as a "memory leak," but it is an information leak that discloses memory contents. - -Id: 10 -CVE: CVE-2006-1494 -Severity: -Reporter: -Published: 2006-04-10 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Directory traversal vulnerability in file.c in PHP 4.4.2 and 5.1.2 allows local users to bypass open_basedir restrictions allows remote attackers to create files in arbitrary directories via the tempnam function. - -Id: 11 -CVE: CVE-2006-1549 -Severity: -Reporter: -Published: 2006-04-10 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: PHP 4.4.2 and 5.1.2 allows local users to cause a crash (segmentation fault) by defining and executing a recursive function. - -Id: 12 -CVE: CVE-2006-1608 -Severity: -Reporter: -Published: 2006-04-10 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: The copy function in file.c in PHP 4.4.2 and 5.1.2 allows local users to bypass safe mode and read arbitrary files via a source argument containing a compress.zlib:// URI. - -Id: 13 -CVE: CVE-2006-1990 -Severity: -Reporter: -Published: 2006-04-24 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Integer overflow in the wordwrap function in string.c in PHP 4.4.2 and 5.1.2 might allow context-dependent attackers to execute arbitrary code via certain long arguments that cause a small buffer to be allocated, which triggers a heap-based buffer overflow in a memcpy function call, a different vulnerability than CVE-2002-1396. - -Id: 14 -CVE: CVE-2006-1991 -Severity: -Reporter: -Published: 2006-04-24 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: The substr_compare function in string.c in PHP 5.1.2 allows context-dependent attackers to cause a denial of service (memory access violation) via an out-of-bounds offset argument. - -Id: 15 -CVE: CVE-2006-2563 -Severity: -Reporter: -Published: 2006-05-29 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: The cURL library (libcurl) in PHP 4.4.2 and 5.1.4 allows attackers to bypass safe mode and read files via a file:// request containing null characters. - -Id: 16 -CVE: CVE-2006-2660 -Severity: -Reporter: -Published: 2006-06-13 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Buffer consumption vulnerability in the tempnam function in PHP 5.1.4 and 4.x before 4.4.3 allows local users to bypass restrictions and create PHP files with fixed names in other directories via a pathname argument longer than MAXPATHLEN, which prevents a unique string from being appended to the filename. - -Id: 17 -CVE: CVE-2006-3011 -Severity: -Reporter: -Published: 2006-06-26 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: The error_log function in basic_functions.c in PHP before 4.4.4 and 5.x before 5.1.5 allows local users to bypass safe mode and open_basedir restrictions via a "php://" or other scheme in the third argument, which disables safe mode. - -Id: 18 -CVE: CVE-2006-3016 -Severity: -Reporter: -Published: 2006-06-14 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Unspecified vulnerability in session.c in PHP before 5.1.3 has unknown impact and attack vectors, related to "certain characters in session names," including special characters that are frequently associated with CRLF injection, SQL injection, cross-site scripting (XSS), and HTTP response splitting vulnerabilities. NOTE: while the nature of the vulnerability is unspecified, it is likely that this is related to a violation of an expectation by PHP applications that the session name is alphanumeric, as implied in the PHP manual for session_name(). - -Id: 19 -CVE: CVE-2006-3017 -Severity: -Reporter: -Published: 2006-06-14 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: zend_hash_del_key_or_index in zend_hash.c in PHP before 4.4.3 and 5.x before 5.1.4 can cause zend_hash_del to delete the wrong element, which prevents a variable from being unset even when the PHP unset function is called, which might cause the variable's value to be used in security-relevant operations. - -Id: 20 -CVE: CVE-2006-3018 -Severity: -Reporter: -Published: 2006-06-14 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: Unspecified vulnerability in the session extension functionality in PHP before 5.1.3 has unkown impact and attack vectors related to heap corruption. - -Id: 21 -CVE: CVE-2006-4020 -Severity: -Reporter: -Published: 2006-08-08 -Extension: -Range: -Affects: PHP -Fixed-in: PHP -Description: scanf.c in PHP 5.1.4 and earlier, and 4.4.3 and earlier, allows context-dependent attackers to execute arbitrary code via a sscanf PHP function call that performs argument swapping, which increments an index past the end of an array and triggers a buffer over-read. - -Id: 22 -CVE: CVE-2006-4023 -Severity: -Reporter: -Published: 2006-08-08 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: The ip2long function in PHP 5.1.4 and earlier may incorrectly validate an arbitrary string and return a valid network IP address, which allows remote attackers to obtain network information and facilitate other attacks, as demonstrated using SQL injection in the X-FORWARDED-FOR Header in index.php in MiniBB 2.0. NOTE: it could be argued that the ip2long behavior represents a risk for security-relevant issues in a way that is similar to strcpy's role in buffer overflows, in which case this would be a class of implementation bugs that would require separate CVE items for each PHP application that uses ip2long in a security-relevant manner. - -Id: 23 -CVE: CVE-2006-4433 -Severity: -Reporter: -Published: 2006-08-28 -Extension: ext/session -Range: -Affects: PHP -Fixed-in: PHP -Description: PHP before 4.4.3 and 5.x before 5.1.4 does not limit the character set of the session identifier (PHPSESSID) for third party session handlers, which might make it easier for remote attackers to exploit other vulnerabilities by inserting PHP code into the PHPSESSID, which is stored in the session file. NOTE: it could be argued that this not a vulnerability in PHP itself, rather a design limitation that enables certain attacks against session handlers that do not account for this limitation. - -Id: 24 -CVE: CVE-2006-4481 -Severity: -Reporter: -Published: 2006-08-31 -Extension: ext/standard & ext/imap -Range: -Affects: PHP -Fixed-in: PHP -Description: The (1) file_exists and (2) imap_reopen functions in PHP before 5.1.5 do not check for the safe_mode and open_basedir settings, which allows local users to bypass the settings. NOTE: the error_log function is covered by CVE-2006-3011, and the imap_open function is covered by CVE-2006-1017. - -Id: 25 -CVE: CVE-2006-4482 -Severity: -Reporter: -Published: 2006-08-31 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: Multiple heap-based buffer overflows in the (1) str_repeat and (2) wordwrap functions in ext/standard/string.c in PHP before 5.1.5, when used on a 64-bit system, have unspecified impact and attack vectors, a different vulnerability than CVE-2006-1990. - -Id: 26 -CVE: CVE-2006-4483 -Severity: -Reporter: -Published: 2006-08-31 -Extension: ext/curl -Range: -Affects: PHP -Fixed-in: PHP -Description: The cURL extension files (1) ext/curl/interface.c and (2) ext/curl/streams.c in PHP before 5.1.5 permit the CURLOPT_FOLLOWLOCATION option when open_basedir or safe_mode is enabled, which allows attackers to perform unauthorized actions, possibly related to the realpath cache. - -Id: 27 -CVE: CVE-2006-4484 -Severity: -Reporter: -Published: 2006-08-31 -Extension: ext/gd -Range: -Affects: PHP -Fixed-in: PHP -Description: Buffer overflow in the LWZReadByte_ function in ext/gd/libgd/gd_gif_in.c in the GD extension in PHP before 5.1.5 allows remote attackers to have an unknown impact via a GIF file with input_code_size greater than MAX_LWZ_BITS, which triggers an overflow when initializing the table array. - -Id: 28 -CVE: CVE-2006-4485 -Severity: -Reporter: -Published: 2006-08-31 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: The stripos function in PHP before 5.1.5 has unknown impact and attack vectors related to an out-of-bounds read. - -Id: 29 -CVE: CVE-2006-4486 -Severity: -Reporter: -Published: 2006-08-31 -Extension: core -Range: -Affects: PHP -Fixed-in: PHP -Description: Integer overflow in memory allocation routines in PHP before 5.1.6, when running on a 64-bit system, allows context-dependent attackers to bypass the memory_limit restriction. - -Id: 30 -CVE: CVE-2006-4625 -Severity: -Reporter: -Published: 2006-09-12 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: PHP 4.x up to 4.4.4 and PHP 5 up to 5.1.6 allows local users to bypass certain Apache HTTP Server httpd.conf options, such as safe_mode and open_basedir, via the ini_restore function, which resets the values to their php.ini (Master Value) defaults. - -Id: 31 -CVE: CVE-2006-4812 -Severity: -Reporter: -Published: 2006-10-10 -Extension: core -Range: -Affects: PHP -Fixed-in: PHP -Description: Integer overflow in PHP 5 up to 5.1.6 and 4 before 4.3.0 allows remote attackers to execute arbitrary code via an argument to the unserialize PHP function with a large value for the number of array elements, which triggers the overflow in the Zend Engine ecalloc function (Zend/zend_alloc.c). - -Id: 32 -CVE: CVE-2006-5178 -Severity: -Reporter: -Published: 2006-10-10 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: Race condition in the symlink function in PHP 5.1.6 and earlier allows local users to bypass the open_basedir restriction by using a combination of symlink, mkdir, and unlink functions to change the file path after the open_basedir check and before the file is opened by the underlying system, as demonstrated by symlinking a symlink into a subdirectory, to point to a parent directory via .. (dot dot) sequences, and then unlinking the resulting symlink. - -Id: 33 -CVE: CVE-2006-5465 -Severity: -Reporter: -Published: 2006-11-03 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: Buffer overflow in PHP before 5.2.0 allows remote attackers to execute arbitrary code via crafted UTF-8 inputs to the (1) htmlentities or (2) htmlspecialchars functions. - -Id: 34 -CVE: CVE-2006-5706 -Severity: -Reporter: -Published: 2006-11-03 -Extension: ext/standard -Range: -Affects: PHP -Fixed-in: PHP -Description: Unspecified vulnerabilities in PHP, probably before 5.2.0, allow local users to bypass open_basedir restrictions and perform unspecified actions via unspecified vectors involving the (1) chdir and (2) tempnam functions. NOTE: the tempnam vector might overlap CVE-2006-1494. - -Id: 35 -CVE: CVE-2006-6383 -Severity: -Reporter: -Published: 2006-12-10 -Extension: ext/session -Range: -Affects: PHP -Fixed-in: PHP -Description: PHP 5.2.0 and 4.4 allows local users to bypass safe_mode and open_basedir restrictions via a malicious path and a null byte before a ";" in a session_save_path argument, followed by an allowed path, which causes a parsing inconsistency in which PHP validates the allowed path but sets session.save_path to the malicious path. - -Id: 36 -CVE: CVE-2007-0905 -Severity: -Reporter: unkown -Published: 2007-02-13 -Extension: ext/session -Range: -Affects: PHP 5.2.0 -Fixed-in: PHP 5.2.1 -Description: PHP before 5.2.1 allows attackers to bypass safe_mode and open_basedir restrictions via unspecified vectors in the session extension. NOTE: it is possible that this issue is a duplicate of CVE-2006-6383. - -Id: 37 -CVE: CVE-2007-0906 -Severity: -Reporter: -Published: 2007-02-13 -Extension: various -Range: -Affects: PHP 5.2.0 -Fixed-in: PHP 5.2.1 -Description: Multiple buffer overflows in PHP before 5.2.1 allow attackers to cause a denial of service and possibly execute arbitrary code via unspecified vectors in the (1) session, (2) zip, (3) imap, and (4) sqlite extensions; (5) stream filters; and the (6) str_replace, (7) mail, (8) ibase_delete_user, (9) ibase_add_user, and (10) ibase_modify_user functions. - -Id: 38 -CVE: CVE-2007-0907 -Severity: -Reporter: -Published: 2007-02-13 -Extension: core -Range: -Affects: PHP 5.2.0 -Fixed-in: PHP 5.2.1 -Description: Buffer underflow in PHP before 5.2.1 allows attackers to cause a denial of service via unspecified vectors involving the sapi_header_op function. - -Id: 39 -CVE: CVE-2007-0908 -Severity: -Reporter: -Published: 2007-02-13 -Extension: ext/wddx -Range: -Affects: PHP 5.2.0 -Fixed-in: PHP 5.2.1 -Description: The wddx extension in PHP before 5.2.1 allows remote attackers to obtain sensitive information via unspecified vectors. - -Id: 40 -CVE: CVE-2007-0909 -Severity: -Reporter: -Published: 2007-02-13 -Extension: ext/standard -Range: -Affects: PHP 5.2.0 -Fixed-in: PHP 5.2.1 -Description: Multiple format string vulnerabilities in PHP before 5.2.1 might allow attackers to execute arbitrary code via format string specifiers to (1) all of the *print functions on 64-bit systems, and (2) the odbc_result_all function. - -Id: 41 -CVE: CVE-2007-0910 -Severity: -Reporter: -Published: 2007-02-13 -Extension: core -Range: -Affects: PHP 5.2.0 -Fixed-in: PHP 5.2.1 -Description: Unspecified vulnerability PHP before 5.2.1 allows attackers to "clobber" certain super-global variables via unspecified vectors. - -Id: 42 -CVE: CVE-2007-0911 -Severity: -Reporter: -Published: 2007-02-13 -Extension: ext/standard -Range: -Affects: PHP 5.2.1 -Fixed-in: To be fixed in PHP 5.2.2 -Description: Off-by-one error in the str_ireplace function in PHP 5.2.1 might allow context-dependent attackers to cause a denial of service (crash). - -Id: 43 -CVE: CVE-2007-0988 -Severity: -Reporter: -Published: 2007-02-19 -Extension: core -Range: -Affects: PHP -Fixed-in: To be fixed in PHP 5.2.2 -Description: If unserializing untrusted data on 64-bit platforms, the zend_hash_init() function can be forced to enter an infinite loop, consuming CPU resources for a limited length of time, until the script timeout alarm aborts execution of the script. diff --git a/sidebars.php b/sidebars.php deleted file mode 100644 index 8d1762c6a0..0000000000 --- a/sidebars.php +++ /dev/null @@ -1,122 +0,0 @@ - "help")); -?> -

    PHP.net Search Bars

    - -

    - Among the many smart access methods to get to information quickly - on the PHP site, we provide sidebars for the most popular browsers - used on different operating systems to access PHP.net pages easily. - Here you can find setup and uninstall information for the browsers - supported. Feel free to send in suggestions on how to implement our - sidebar for another browser or how to enhance it's services by sending - an email to the webmasters. -

    - -

    Mozilla, Firefox, Netscape 6+ and Sherlock for MacOSX

    - -

    - If you use Mozilla 0.9.4 or later, you can add - our sidebar to your set. You can uninstall this sidebar using the "Customize - Sidebar" dialog in Mozilla. To get more information on Mozilla sidebars - see the Netscape Sidebar - Howto. -

    - -

    - For users of Mozilla Firefox who are interested in adding the search sidebar, - they can also click the above link, and that will offer a new bookmark. Save that - bookmark anywhere in your set, and whenever you try to open that, it will - dispslay the search sidebar. You can remove the sidebar by removing the bookmark. -

    - -

    - We also offer a plugin for the built-in Mozilla - Search Sidebar, and this plugin will also work with the several Mozilla and - Firefox search extensions as well as Sherlock on MacOSX. - Install our sidebar plugin, and enjoy the - integrated search in Mozilla. Sherlock users should save our - phpnetsearch.src file to - their 'Internet Search Sites' folder. -

    - -

    Internet Explorer 5 and above

    - -

    - If you use Internet Explorer 5 or above on Windows, you can add the - PHP.net Search Bar - to your Links toolbar (dragging the link there) or you can add it to your - favorites and clicking on it you can see our bar displayed in place of your - usual search bar. This link does not install our bar as your default search bar, - so no modification is made to your system. We used the _search target name - supported by IE 5+ passed to the - open() - JavaScript function to make this sidebar available. -

    - -

    - If you use Internet Explorer 5 or above on MacOS, - open our sidebar page in a - separate window. In that window, open the "Page Holder" tab on the left side - of the window. Click "Add." If you want to keep it for future use, click on - "Favorites" and select "Add to Page Holder Favorites." If you would like to - read more about the Page Holder, see - Microsoft's - Macintosh IE page. -

    - -

    Opera 6 and above

    - -

    - If you are using Opera, you can click on this link to add our sidebar - to your set. You can uninstall the sidebar by right clicking on it's tab - and choosing "Delete" from the context menu. - Read - more about Opera sidebars on this page. -

    - -

    - The Mozilla search plugin mentioned above also works with Opera if - OpSed is installed. - You just need to click on - this link to add it to your set. -

    - -

    Windows Vista

    -

    - If you use Microsoft Windows Vista you can now search the php.net function -database directly from your desktop. The Microsoft Windows Vista Sidebar is a -pane on the right side of your Microsoft Windows Vista Desktop where you can -keep useful utilities. The -php.net Function Finder -will install in this bar giving you direct search access to the php.net -database directly from your Desktop. -

    - - diff --git a/sitemap.php b/sitemap.php deleted file mode 100644 index 8137190093..0000000000 --- a/sitemap.php +++ /dev/null @@ -1,115 +0,0 @@ - "help")); -?> - -

    PHP.net Sitemap

    - -

    News

    - - - -

    Getting PHP

    - - - -

    PHP Bugs

    - - - -

    PHP Support

    - - - -

    Security

    - - - -

    Navigation

    - - - -

    Git instructions

    - - - -

    Mirror sites

    - - - -

    Other pages

    - - - -PHP.net Sitemap -

    - It might also be a good idea to dig deeper into - what PHP.net can offer you. Our sitemap - helps you find your way around the site. -

    - -'; -site_header("A Tourist's Guide", array("current" => "help")); -?> - -

    PHP.net: A Tourist's Guide

    - -

    - Everyone knows the php.net site. All of us went there sooner or later, - and will keep going back there. This is the central reference point for PHP - users, and there is a wealth of information there. Not all of it is obvious. - Come with me, I'll show you. -

    - -

    php.net: Main Website

    - -

    - This is the primary web site. The front page is where major news is published: - new PHP versions, security updates, and new projects launched. This site is - also mirrored in dozens of countries worldwide. -

    - -

    - This is the home of the download page, for - everyone to get the latest version of the PHP source code and binaries - for Windows. The current and next-to-current versions are available there. - (There is also a PHP Museum, which has - all of the source distributions since June 1996.) -

    - -

    - The next most visited section is the documentation. - The documentation is translated into twelve different languages, and is - available in a variety of different formats. - Users are able to read notes on the documentation left by other users, and - contribute their own notes. The documentation is a real community project - by itself! -

    - -

    - The support page has all the directions to a wealth - of resources both inside and outside of PHP.net. The community has built a huge - network of knowledge bases, PHP user groups, and training sessions where anyone - can have his or her questions answered. Non-English-speaking users also get a - large share of attention. -

    - -

    - Now, buckle up your seat belt, and stop smoking. Here are the no-light streets: -

    - -

    - talks.php.net: Conference Materials -

    - -

    - This is where speakers at various PHP-related conferences keep their slides. - It covers all sorts of topics, from the famous 'Rasmus' introduction to PHP to - the latest 'PHP system administration', through PEAR and advanced topics. All - those slides are available within the PHP slide application. -

    - -

    - news.php.net: - Mailing Lists Web and NNTP Interface -

    - -

    - news.php.net is the web interface to the PHP mailing lists. If you're not - subscribed to the mailing lists, but you still want to keep in touch regularly, - this is your place. An infinite pile of fresh news and trends of PHP. You can - also point your news reader at the NNTP server at news.php.net to follow the - lists. -

    - -

    - pear.php.net: - The PHP Extension and Application Repository -

    - -

    - PEAR is the next revolution in PHP. This repository is bringing higher level - programming to PHP. PEAR is a framework and distribution system for reusable - PHP components. It eases installation by bringing an automated wizard, and - packing the strength and experience of PHP users into a nicely organised OOP - library. -

    - -

    - pecl.php.net: - The PHP Extension Community Library -

    - -

    - PECL is a repository for PHP Extensions, providing a directory of all known - extensions and hosting facilities for downloading and development of PHP - extensions.
    - - The packaging and distribution system used by PECL is shared with - its sister, PEAR. -

    - - - -

    bugs.php.net: Bug Database

    - -

    - The bug database is where you can bring problems with PHP to the attention of - developers (but don't forget to double-check that somebody else hasn't already - reported the same problem!). -

    - -

    doc.php.net: Documentation collaboration

    - -

    - The documentation projects website tries to gather all PHP.net hosted - documentation teams together with tools, status reports and an RFC system. -

    - -

    docs.php.net: Documentation dev server

    - -

    - The documentation developmental server is a PHP mirror that contains upcoming - releases of the PHP documentation before it's pushed out to the mirrors. - Documentation changes, such as layout, is tested here (with feedback requested) - before being made official. Documentation is built here four times a day. -

    - -

    qa.php.net: Quality Assurance Team

    - -

    - The Quality Assurance team is one of the most important pieces of the PHP - project, protecting users from bugs. It is gathered around the QA mailing list, - and this site allows anyone to provide tests and experience to the release - process. -

    - -

    git.php.net: Git Repository

    - -

    - The PHP project is organized with a Git server, and this website is the web - interface to it. There you can browse the history (and latest versions) of the - source code for all of the PHP projects. For example, the - php-src module is - the repository for the source code to the latest version of PHP itself. - Checking out the source code can be done anonymously. -

    -

    - The Git repository is also mirrored on - GitHub, for those who would - prefer to use GitHub's interface. -

    -

    - Using OpenGrok is another option to view the - source code, and it offers additional features like search and cross referencing. -

    - -

    svn.php.net: Archived SVN Repository

    - -

    - The PHP project used to be organized under the SVN revision control system, but - migrated to Git (see above) in March 2012. - The old SVN repository is archived here for posterity. -

    - -

    cvsold.php.net: Archived CVS Repository

    - -

    - The PHP project used to be organized under the CVS revision control system, but - migrated to Subversion (see above) in July of 2009. - The old CVS repository is archived here for posterity. It was formerly named - cvs.php.net, but that now redirects to the SVN repository. -

    - -

    lxr.php.net: Cross Reference

    - -

    - OpenGrok allows - search and viewing of the PHP source code in an intelligent manner. Several branches - and sub-projects are listed. - Any time an important macro or function is detected within the code, it is linked - to its definition, and all its usage locations. This will help you build your code - and understand the PHP source. -

    -

    - The name "lxr" exists as it was once based on the "Linux Cross Reference", but - changed over to OpenGrok sometime in 2010. -

    - -

    gtk.php.net: PHP-GTK

    - -

    - This web site is the home of the PHP-GTK project, which allows PHP to be - used to build graphical interfaces, with slick interface and highly - interactive content. You'll find the downloads and docs here, - and the latest news from the project. -

    - -

    snaps.php.net: Daily PHP Snapshots

    - -

    - This is your first stop if you're looking for cutting edge development versions - of PHP which are generated every day from the current stable and current - development sources. -

    - -

    gcov.php.net: Test and Code Coverage analysis

    - -

    - This site is dedicated to automatic PHP code coverage testing. On a regular - basis current Git snapshots are being build and tested on this machine. After - all tests are done the results are visualized along with a code coverage - analysis. -

    - -

    wiki.php.net: The PHP Wiki

    - -

    - Home of the official PHP wiki, this site contains information related to php.net like - RFCs, GSOC information, and TODO files. Most every aspect of the PHP project - has a wiki section and everyone is able to apply for wiki commit access. -

    - - diff --git a/software.php b/software.php deleted file mode 100644 index 06e8c5b87d..0000000000 --- a/software.php +++ /dev/null @@ -1,31 +0,0 @@ - "help")); -?> - -

    PHP Software

    - -

    - This page contains a list of sites where you can find software distributed - under the PHP license. -

    - -

    -   - php.net
    -  Main site for the PHP project.
    -

    -

    -   - pear.php.net
    -  The PEAR project where you can find reusable components for PHP .
    -

    -

    -   - pecl.php.net
    -  The PECL project where you can find PHP extensions.
    -

    - -Our source is open -

    - The syntax highlighted source is automatically generated by PHP from - the plaintext script. - If you\'re interested in what\'s behind the several functions we - used, you can always take a look at the source of the following files: -

    - - - -

    - Of course, if you want to see the source - of this page, we have it available. - You can also browse the Git repository for this website on - git.php.net. -

    -'; -site_header("Show Source", array("current" => "community")); - -// No file param specified -if (!isset($_GET['url']) || (isset($_GET['url']) && !is_string($_GET['url']))) { - echo "

    No page URL specified

    "; - site_footer(); - exit; -} - -echo "

    Source of: " . htmlentities($_GET['url'], ENT_IGNORE, 'UTF-8') . "

    "; - -// Get dirname of the specified URL part -$dir = dirname($_GET['url']); - -// Some dir was present in the filename -if (!empty($dir) && !preg_match("!^(\\.|/)$!", $dir)) { - - // Check if the specified dir is valid - $legal_dirs = array("/manual", "/include", "/stats", "/error", "/license", "/conferences", "/archive", "/releases", "/security", "/reST"); - if ((preg_match("!^/manual/!", $dir) || in_array($dir, $legal_dirs)) && - strpos($dir, "..") === FALSE) { - $page_name = $_SERVER['DOCUMENT_ROOT'] . $_GET['url']; - } else { $page_name = FALSE; } - -} else { - $page_name = $_SERVER['DOCUMENT_ROOT'] . '/' . basename($_GET['url']); -} - -// Provide some feedback based on the file found -if (!$page_name || @is_dir($page_name)) { - echo "

    Invalid file or folder specified

    \n"; -} elseif (file_exists($page_name)) { - highlight_php(join("", file($page_name))); -} else { - echo "

    This file does not exist.

    \n"; -} - -site_footer(); diff --git a/src/I18n/Languages.php b/src/I18n/Languages.php new file mode 100644 index 0000000000..a74fc65469 --- /dev/null +++ b/src/I18n/Languages.php @@ -0,0 +1,74 @@ + 'English', + 'de' => 'German', + 'es' => 'Spanish', + 'fr' => 'French', + 'it' => 'Italian', + 'ja' => 'Japanese', + 'pl' => 'Polish', + 'pt_BR' => 'Brazilian Portuguese', + 'ro' => 'Romanian', + 'ru' => 'Russian', + 'tr' => 'Turkish', + 'uk' => 'Ukrainian', + 'zh' => 'Chinese (Simplified)', + ]; + + /** + * The following languages are inactive, which means they will not: + * - Show up via the language select box at php.net + * - Be selectable via my.php + * - Accept redirections to the translation, despite ACCEPT_LANGUAGE + * - Be listed at php.net/docs or php.net/download-docs + * However, translation status for these languages is available at: + * - https://doc.php.net/ + */ + public const INACTIVE_ONLINE_LANGUAGES = [ + 'pl' => 'Polish', + 'ro' => 'Romanian', + ]; + + public const ACTIVE_ONLINE_LANGUAGES = [ + 'en' => 'English', + 'de' => 'German', + 'es' => 'Spanish', + 'fr' => 'French', + 'it' => 'Italian', + 'ja' => 'Japanese', + 'pt_BR' => 'Brazilian Portuguese', + 'ru' => 'Russian', + 'tr' => 'Turkish', + 'uk' => 'Ukrainian', + 'zh' => 'Chinese (Simplified)', + ]; + + /** + * Convert between language codes back and forth + * + * Uses non-standard languages codes and so conversion is needed when communicating with the outside world. + * + * Fall back to English if the language is not available. + */ + public function convert(string $languageCode): string + { + return match ($languageCode) { + 'zh_cn', 'zh_CN' => 'zh', + 'pt_br', 'pt_BR' => 'pt_BR', + default => array_key_exists($languageCode, self::LANGUAGES) ? $languageCode : 'en', + }; + } +} diff --git a/src/LangChooser.php b/src/LangChooser.php new file mode 100644 index 0000000000..f889e14225 --- /dev/null +++ b/src/LangChooser.php @@ -0,0 +1,168 @@ + $availableLanguages + * @param array $inactiveLanguages + */ + public function __construct( + private readonly array $availableLanguages, + private readonly array $inactiveLanguages, + string $preferredLanguage, + string $defaultLanguage, + ) + { + $this->defaultLanguage = $this->normalize($defaultLanguage); + $this->preferredLanguage = $this->normalize($preferredLanguage); + } + + /** + * @return array{string, string} + */ + public function chooseCode( + string|array|null $langParam, + string $requestUri, + ?string $acceptLanguageHeader, + ): array + { + // Default values for languages + $explicitly_specified = ''; + + // Specified for the request (GET/POST parameter) + if (is_string($langParam)) { + $langCode = $this->normalize(htmlspecialchars($langParam, ENT_QUOTES, 'UTF-8')); + $explicitly_specified = $langCode; + if ($this->isAvailableLanguage($langCode)) { + return [$langCode, $explicitly_specified]; + } + } + + // Specified in a shortcut URL (eg. /en/echo or /pt_br/echo) + if (preg_match("!^/(\\w{2}(_\\w{2})?)/!", htmlspecialchars($requestUri,ENT_QUOTES, 'UTF-8'), $flang)) { + // Put language into preference list + $rlang = $this->normalize($flang[1]); + + // Set explicitly specified language + if (empty($explicitly_specified)) { + $explicitly_specified = $rlang; + } + + // Drop out language specification from URL, as this is already handled + $_SERVER['STRIPPED_URI'] = preg_replace( + "!^/$flang[1]/!", "/", htmlspecialchars($requestUri, ENT_QUOTES, 'UTF-8'), + ); + + if ($this->isAvailableLanguage($rlang)) { + return [$rlang, $explicitly_specified]; + } + } + + // Specified in a manual URL (eg. manual/en/ or manual/pt_br/) + if (preg_match("!^/manual/(\\w{2}(_\\w{2})?)(/|$)!", htmlspecialchars($requestUri, ENT_QUOTES, 'UTF-8'), $flang)) { + $flang = $this->normalize($flang[1]); + + // Set explicitly specified language + if (empty($explicitly_specified)) { + $explicitly_specified = $flang; + } + + if ($this->isAvailableLanguage($flang)) { + return [$flang, $explicitly_specified]; + } + } + + // Honor the users own language setting (if available) + if ($this->isAvailableLanguage($this->preferredLanguage)) { + return [$this->preferredLanguage, $explicitly_specified]; + } + + // Specified by the user via the browser's Accept Language setting + // Samples: "hu, en-us;q=0.66, en;q=0.33", "hu,en-us;q=0.5" + $browser_langs = []; + + // Check if we have $_SERVER['HTTP_ACCEPT_LANGUAGE'] set and + // it no longer breaks if you only have one language set :) + if (isset($acceptLanguageHeader)) { + $browser_accept = explode(",", $acceptLanguageHeader); + + // Go through all language preference specs + foreach ($browser_accept as $value) { + // The language part is either a code or a code with a quality + // We cannot do anything with a * code, so it is skipped + // If the quality is missing, it is assumed to be 1 according to the RFC + if (preg_match("!([a-z-]+)(;q=([0-9\\.]+))?!", strtolower(trim($value)), $found)) { + $quality = (isset($found[3]) ? (float) $found[3] : 1.0); + $browser_langs[] = [$found[1], $quality]; + } + unset($found); + } + } + + // Order the codes by quality + usort($browser_langs, fn ($a, $b) => $b[1] <=> $a[1]); + + // For all languages found in the accept-language + foreach ($browser_langs as $langdata) { + + // Translation table for accept-language codes and phpdoc codes + switch ($langdata[0]) { + case "pt-br": + $langdata[0] = 'pt_br'; + break; + case "zh-cn": + $langdata[0] = 'zh'; + break; + case "zh-hk": + $langdata[0] = 'hk'; + break; + case "zh-tw": + $langdata[0] = 'tw'; + break; + } + + // We do not support flavors of languages (except the ones above) + // This is not in conformance to the RFC, but it here for user + // convenience reasons + if (preg_match("!^(.+)-!", $langdata[0], $match)) { + $langdata[0] = $match[1]; + } + + $lang = $this->normalize($langdata[0]); + if ($this->isAvailableLanguage($lang)) { + return [$lang, $explicitly_specified]; + } + } + + // Language preferred by this mirror site + if ($this->isAvailableLanguage($this->defaultLanguage)) { + return [$this->defaultLanguage, $explicitly_specified]; + } + + // Last default language is English + return ["en", $explicitly_specified]; + } + + private function normalize(string $langCode): string + { + // Make language code lowercase, html encode special chars and remove slashes + $langCode = strtolower(htmlspecialchars($langCode)); + + // The Brazilian Portuguese code needs special attention + if ($langCode == 'pt_br') { + return 'pt_BR'; + } + return $langCode; + } + + private function isAvailableLanguage(string $langCode): bool + { + return isset($this->availableLanguages[$langCode]) && !isset($this->inactiveLanguages[$langCode]); + } +} diff --git a/src/Navigation/NavItem.php b/src/Navigation/NavItem.php new file mode 100644 index 0000000000..5642dfb29e --- /dev/null +++ b/src/Navigation/NavItem.php @@ -0,0 +1,14 @@ + 'PHP.net frontpage news', + 'releases' => 'New PHP release', + 'conferences' => 'Conference announcement', + 'cfp' => 'Call for Papers', + ]; + + public const WEBROOT = "https://www.php.net"; + + public const PHPWEB = __DIR__ . '/../../'; + + public const ARCHIVE_FILE_REL = 'public/archive/archive.xml'; + + public const ARCHIVE_FILE_ABS = self::PHPWEB . self::ARCHIVE_FILE_REL; + + public const ARCHIVE_ENTRIES_REL = 'public/archive/entries/'; + + public const ARCHIVE_ENTRIES_ABS = self::PHPWEB . self::ARCHIVE_ENTRIES_REL; + + public const IMAGE_PATH_REL = 'public/images/news/'; + + public const IMAGE_PATH_ABS = self::PHPWEB . self::IMAGE_PATH_REL; + + protected $title = ''; + + protected $categories = []; + + protected $conf_time = 0; + + protected $image = []; + + protected $content = ''; + + protected $id = ''; + + public function setTitle(string $title): self { + $this->title = $title; + return $this; + } + + public function setCategories(array $cats): self { + foreach ($cats as $cat) { + if (!isset(self::CATEGORIES[$cat])) { + throw new \Exception("Unknown category: $cat"); + } + } + $this->categories = $cats; + return $this; + } + + public function addCategory(string $cat): self { + if (!isset(self::CATEGORIES[$cat])) { + throw new \Exception("Unknown category: $cat"); + } + if (!in_array($cat, $this->categories, false)) { + $this->categories[] = $cat; + } + return $this; + } + + public function isConference(): bool { + return (bool)array_intersect($this->categories, ['cfp', 'conferences']); + } + + public function setConfTime(int $time): self { + $this->conf_time = $time; + return $this; + } + + public function setImage(string $path, string $title, ?string $link): self { + if (basename($path) !== $path) { + throw new \Exception('path must be a simple file name under ' . self::IMAGE_PATH_REL); + } + if (!file_exists(self::IMAGE_PATH_ABS . $path)) { + throw new \Exception('Image not found at web-php/' . self::IMAGE_PATH_REL . $path); + } + $this->image = [ + 'path' => $path, + 'title' => $title, + 'link' => $link, + ]; + return $this; + } + + public function setContent(string $content): self { + if (empty($content)) { + throw new \Exception('Content must not be empty'); + } + $this->content = $content; + return $this; + } + + public function getId(): string { + return $this->id; + } + + public function save(): self { + if (empty($this->id)) { + $this->id = self::selectNextId(); + } + + // Create the XML document. + $dom = new \DOMDocument("1.0", "utf-8"); + $dom->formatOutput = true; + $dom->preserveWhiteSpace = false; + $item = $dom->createElementNs("http://www.w3.org/2005/Atom", "entry"); + + $href = self::WEBROOT . ($this->isConference() ? '/conferences/index.php' : '/index.php'); + $archive = self::WEBROOT . "/archive/" . date('Y', $_SERVER['REQUEST_TIME']) . ".php#{$this->id}"; + $link = ($this->image['link'] ?? null) ?: $archive; + + self::ce($dom, "title", $this->title, [], $item); + self::ce($dom, "id", $archive, [], $item); + self::ce($dom, "published", date(DATE_ATOM), [], $item); + self::ce($dom, "updated", date(DATE_ATOM), [], $item); + self::ce($dom, "link", null, ['href' => "{$href}#{$this->id}", "rel" => "alternate", "type" => "text/html"], $item); + self::ce($dom, "link", null, ['href' => $link, 'rel' => 'via', 'type' => 'text/html'], $item); + + if (!empty($this->conf_time)) { + $item->appendChild($dom->createElementNs("http://php.net/ns/news", "finalTeaserDate", date("Y-m-d", $this->conf_time))); + } + + foreach ($this->categories as $cat) { + self::ce($dom, "category", null, ['term' => $cat, "label" => self::CATEGORIES[$cat]], $item); + } + + if ($this->image['path'] ?? '') { + $image = $item->appendChild($dom->createElementNs("http://php.net/ns/news", "newsImage", $this->image['path'])); + $image->setAttribute("link", $this->image['link']); + $image->setAttribute("title", $this->image['title']); + } + + $content = self::ce($dom, "content", null, [], $item); + + // Slurp content into our DOM. + $tdoc = new \DOMDocument("1.0", "utf-8"); + $tdoc->formatOutput = true; + if ($tdoc->loadXML("
    {$this->content}
    ")) { + $content->setAttribute("type", "xhtml"); + $div = $content->appendChild($dom->createElement("div")); + $div->setAttribute("xmlns", "http://www.w3.org/1999/xhtml"); + foreach ($tdoc->firstChild->childNodes as $node) { + $div->appendChild($dom->importNode($node, true)); + } + } else { + fwrite(STDERR, "There is something wrong with your xhtml, falling back to html"); + $content->setAttribute("type", "html"); + $content->nodeValue = $this->content; + } + + $dom->appendChild($item); + $dom->save(self::ARCHIVE_ENTRIES_ABS . $this->id . ".xml"); + + return $this; + } + + public function updateArchiveXML(): self { + if (empty($this->id)) { + throw new \Exception('Entry must be saved before updating archive XML'); + } + + $arch = new \DOMDocument("1.0", "utf-8"); + $arch->formatOutput = true; + $arch->preserveWhiteSpace = false; + $arch->load(self::ARCHIVE_FILE_ABS); + + $first = $arch->createElementNs("http://www.w3.org/2001/XInclude", "xi:include"); + $first->setAttribute("href", "entries/{$this->id}.xml"); + + $second = $arch->getElementsByTagNameNs("http://www.w3.org/2001/XInclude", "include")->item(0); + $arch->documentElement->insertBefore($first, $second); + $arch->save(self::ARCHIVE_FILE_ABS); + + return $this; + } + + private static function selectNextId(): string { + $filename = date("Y-m-d", $_SERVER["REQUEST_TIME"]); + $count = 0; + do { + $count++; + $id = $filename . "-" . $count; + $basename = "{$id}.xml"; + } while (file_exists(self::ARCHIVE_ENTRIES_ABS . $basename)); + + return $id; + } + + private static function ce(\DOMDocument $d, string $name, $value, array $attrs = [], ?\DOMNode $to = null) { + if ($value) { + $n = $d->createElement($name, $value); + } else { + $n = $d->createElement($name); + } + foreach ($attrs as $k => $v) { + $n->setAttribute($k, $v); + } + if ($to) { + return $to->appendChild($n); + } + return $n; + } +} + diff --git a/src/News/NewsHandler.php b/src/News/NewsHandler.php new file mode 100644 index 0000000000..ffde5ddb82 --- /dev/null +++ b/src/News/NewsHandler.php @@ -0,0 +1,81 @@ +getPregeneratedNews(); + if (!isset($news[0])) { + return null; + } + + return $news[0]; + } + + /** @return list */ + public function getFrontPageNews(): array + { + $frontPage = []; + foreach ($this->getPregeneratedNews() as $entry) { + foreach ($entry['category'] as $category) { + if ($category['term'] !== 'frontpage') { + continue; + } + + $frontPage[] = $entry; + if (count($frontPage) >= self::MAX_FRONT_PAGE_NEWS) { + break 2; + } + } + } + + return $frontPage; + } + + /** @return list */ + public function getConferences(): array + { + $conferences = []; + foreach ($this->getPregeneratedNews() as $entry) { + foreach ($entry['category'] as $category) { + if ($category['term'] !== 'cfp' && $category['term'] !== 'conferences') { + continue; + } + + $conferences[] = $entry; + break; + } + } + + return $conferences; + } + + /** @return list */ + public function getNewsByYear(int $year): array + { + return array_values(array_filter( + $this->getPregeneratedNews(), + static fn (array $entry): bool => (int) (new DateTimeImmutable($entry['published']))->format('Y') === $year, + )); + } + + public function getPregeneratedNews(): array + { + $NEWS_ENTRIES = null; + include __DIR__ . '/../../public/include/pregen-news.inc'; + + return is_array($NEWS_ENTRIES) ? $NEWS_ENTRIES : []; + } +} diff --git a/src/ProjectGlobals.php b/src/ProjectGlobals.php new file mode 100644 index 0000000000..0aad5e1c18 --- /dev/null +++ b/src/ProjectGlobals.php @@ -0,0 +1,26 @@ + + + + + $released + + HTML; + } + + $featuresLink = ''; + if ($whatsNew !== '') { + $featuresLink = '' . $whatsNew . ''; + } + + if (!str_starts_with($subtitle, '

    ')) { + $subtitle = '

    ' . $subtitle . '

    '; + } + + return << + + + + + +
    + $releasedBadge + $logoSvg + +

    $title

    + $subtitle + +
    + $featuresLink + $upgradeNow +
    +
    + + HTML; + } + + public static function getPrefooter(string $title, string $upgradeNow, string $description, string $extraCredit = ''): string + { + $currentYear = date('Y'); + + return << + + + + + + + + + + + + + + + + + + + + HTML; + } + + /** + * @param FeatureComparison[] $comparisons + */ + public static function getFeatureComparisons(array $comparisons, string $version, string $previousVersion, string $newText = ''): string + { + $html = ''; + $lastKey = array_key_last($comparisons); + + foreach ($comparisons as $key => $feature) { + $html .= self::getFeatureComparison( + feat: $feature, + version: $version, + previousVersion: $previousVersion, + isLast: $key === $lastKey, + newText: $newText, + ) . "\n"; + } + + return $html; + } + + private static function getFeatureComparison( + FeatureComparison $feat, + string $version, + string $previousVersion, + bool $isLast, + string $newText = '', + ): string { + $codeBlock = self::getCodeBlock($feat->before, $feat->after, $version, $previousVersion, $feat->highlightCode, $newText, $feat->links); + $code2Block = ''; + + if ($feat->after2 !== '') { + $code2Block = self::getCodeBlock($feat->before2, $feat->after2, $version, $previousVersion, $feat->highlightCode); + } + + $last = $isLast ? ' last' : ''; + + $description = $feat->description; + if (!str_starts_with($description, '

    ')) { + $description = '

    ' . $description . '

    '; + } + + return << +
    +

    {$feat->title}

    + $description +
    + $codeBlock + $code2Block + + HTML; + } + + private static function getCodeBlock( + string $beforeCode, + string $afterCode, + string $version, + string $previousVersion, + bool $highlightCode, + string $newText = '', + array $links = [], + ): string { + $links = array_map(self::getRfcLink(...), $links); + $linksHtml = implode("\n", $links); + + $newBadge = ''; + if ($newText !== '') { + $newBadge = '' . htmlspecialchars($newText) . ''; + } + + $noBeforeCode = $beforeCode === ''; + + if ($highlightCode) { + $beforeCode = highlight_php_trimmed($beforeCode, true); + $afterCode = highlight_php_trimmed($afterCode, true); + } else { + $beforeCode = "
    $beforeCode
    "; + $afterCode = "
    $afterCode
    "; + } + + $version = htmlspecialchars($version); + $previousVersion = htmlspecialchars($previousVersion); + $copyCodeButton = self::getCopyCodeButton(); + + if ($noBeforeCode) { + $codeMarkup = << +
    +
    + $version + $newBadge + $linksHtml +
    + $copyCodeButton +
    + $afterCode + + HTML; + } else { + $codeMarkup = << +
    +
    + $previousVersion +
    + $copyCodeButton +
    + $beforeCode + + +
    +
    +
    + $version + $newBadge + $linksHtml +
    + $copyCodeButton +
    + $afterCode +
    + HTML; + } + + $singleClass = $noBeforeCode ? ' single' : ''; + return << +
    + $codeMarkup +
    + + HTML; + } + + private static function getRfcLink(string $namedLink): string + { + // Use 'title|link' string since multiple links may have the same title + preg_match('!^((.+)\|)?(.+)$!', $namedLink, $matches); + $link = $matches[3]; + $title = $matches[2] ?: 'Link'; + + return '' . $title . ' ↗'; + } + + private static function getCopyCodeButton(): string + { + return <<<'HTML' + + HTML; + } +} diff --git a/src/UserNotes/Sorter.php b/src/UserNotes/Sorter.php new file mode 100644 index 0000000000..86df8a86db --- /dev/null +++ b/src/UserNotes/Sorter.php @@ -0,0 +1,97 @@ + $notes + */ + public function sort(array &$notes):void { + // First we make a pass over the data to get the min and max values + // for data normalization. + $this->findMinMaxValues($notes); + + $this->voteFactor = $this->maxVote - $this->minVote + ? (1 - .3) / ($this->maxVote - $this->minVote) + : .5; + $this->ageFactor = $this->maxAge - $this->minAge + ? 1 / ($this->maxAge - $this->minAge) + : .5; + + $this->ageFactor *= $this->ageWeight; + + // Second we loop through to calculate sort priority using the above numbers + $prio = $this->calcSortPriority($notes); + + // Third we sort the data. + uasort($notes, function ($a, $b) use ($prio) { + return $prio[$b->id] <=> $prio[$a->id]; + }); + } + + private function calcVotePriority(UserNote $note):float { + return ($note->upvotes - $note->downvotes - $this->minVote) * $this->voteFactor + .3; + } + + private function calcRatingPriority(UserNote $note):float { + return $note->upvotes + $note->downvotes <= 2 ? 0.5 : $this->calcRating($note); + } + + private function calcRating(UserNote $note):float { + $totalVotes = $note->upvotes + $note->downvotes; + return $totalVotes > 0 ? $note->upvotes / $totalVotes : .5; + } + + /** + * @param array $notes + */ + private function calcSortPriority(array $notes): array { + $prio = []; + foreach ($notes as $note) { + $prio[$note->id] = ($this->calcVotePriority($note) * $this->voteWeight) + + ($this->calcRatingPriority($note) * $this->ratingWeight) + + (($note->ts - $this->minAge) * $this->ageFactor); + } + return $prio; + } + + /** + * @param array $notes + */ + private function findMinMaxValues(array $notes):void { + if ($notes === []) { + return; + } + + $first = array_shift($notes); + + $this->minVote = $this->maxVote = ($first->upvotes - $first->downvotes); + $this->minAge = $this->maxAge = $first->ts; + + foreach ($notes as $note) { + $this->maxVote = max($this->maxVote, ($note->upvotes - $note->downvotes)); + $this->minVote = min($this->minVote, ($note->upvotes - $note->downvotes)); + $this->maxAge = max($this->maxAge, $note->ts); + $this->minAge = min($this->minAge, $note->ts); + } + } +} diff --git a/src/UserNotes/UserNote.php b/src/UserNotes/UserNote.php new file mode 100644 index 0000000000..fbb852746f --- /dev/null +++ b/src/UserNotes/UserNote.php @@ -0,0 +1,18 @@ +languageCode = ''; + $this->searchType = self::URL_NONE; + $this->isUserGroupTipsEnabled = false; + + if (!isset($_COOKIE['MYPHPNET']) || !is_string($_COOKIE['MYPHPNET']) || $_COOKIE['MYPHPNET'] === '') { + return; + } + + /** + * 0 - Language code + * 1 - URL search fallback + * 2 - Mirror site (removed) + * 3 - User Group tips + * 4 - Documentation developmental server (removed) + */ + $preferences = explode(",", $_COOKIE['MYPHPNET']); + $this->languageCode = $preferences[0] ?? ''; + $this->setUrlSearchType($preferences[1] ?? self::URL_NONE); + $this->isUserGroupTipsEnabled = isset($preferences[3]) && $preferences[3]; + } + + public function setUrlSearchType(mixed $type): void + { + if (!in_array($type, [self::URL_FUNC, self::URL_MANUAL, self::URL_NONE], true)) { + return; + } + + $this->searchType = $type; + } + + public function setIsUserGroupTipsEnabled(bool $enable): void { + // Show the ug tips to lucky few, depending on time. + if ($_SERVER["REQUEST_TIME"] % 10) { + $enable = true; + } + + $this->isUserGroupTipsEnabled = $enable; + } + + public function save(): void + { + /** + * 0 - Language code + * 1 - URL search fallback + * 2 - Mirror site (removed) + * 3 - User Group tips + * 4 - Documentation developmental server (removed) + */ + $preferences = [$this->languageCode, $this->searchType, '', $this->isUserGroupTipsEnabled]; + + // Set all the preferred values for a year + mirror_setcookie("MYPHPNET", join(",", $preferences), 60 * 60 * 24 * 365); + } +} diff --git a/src/autoload.php b/src/autoload.php new file mode 100644 index 0000000000..e69570a6b4 --- /dev/null +++ b/src/autoload.php @@ -0,0 +1,28 @@ + - -

    No Stats

    -

    - No visitor statistics information is available on this mirror site. -

    - - diff --git a/styles/bootstrap.css b/styles/bootstrap.css deleted file mode 100644 index ca46eb60fe..0000000000 --- a/styles/bootstrap.css +++ /dev/null @@ -1,2026 +0,0 @@ -/*! - * Bootstrap v2.3.2 - * - * Copyright 2012 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world @twitter by @mdo and @fat. - */ -.clearfix { - *zoom: 1; -} -.clearfix:before, -.clearfix:after { - display: table; - content: ""; - line-height: 0; -} -.clearfix:after { - clear: both; -} -.hide-text { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.input-block-level { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section { - display: block; -} -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} -audio:not([controls]) { - display: none; -} -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -a:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -a:hover, -a:active { - outline: 0; -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - /* Responsive images (ensure images don't scale beyond their parents) */ - - max-width: 100%; - /* Part 1: Set a maxium relative to the parent */ - - width: auto\9; - /* IE7-8 need help adjusting responsive images */ - - height: auto; - /* Part 2: Scale the height according to the width, otherwise you get stretching */ - - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; -} -#map_canvas img, -.google-maps img { - max-width: none; -} -button, -input, -select, -textarea { - margin: 0; - font-size: 100%; - vertical-align: middle; -} -button, -input { - *overflow: visible; - line-height: normal; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -label, -select, -button, -input[type="button"], -input[type="reset"], -input[type="submit"], -input[type="radio"], -input[type="checkbox"] { - cursor: pointer; -} -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} -textarea { - overflow: auto; - vertical-align: top; -} -@media print { - * { - text-shadow: none !important; - color: #000 !important; - background: transparent !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - @page { - margin: 0.5cm; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } -} -.row { - margin-left: -20px; - *zoom: 1; -} -.row:before, -.row:after { - display: table; - content: ""; - line-height: 0; -} -.row:after { - clear: both; -} -[class*="span"] { - float: left; - min-height: 1px; - margin-left: 20px; -} -.container, -.navbar-static-top .container, -.navbar-fixed-top .container, -.navbar-fixed-bottom .container { - width: 940px; -} -.span12 { - width: 940px; -} -.span11 { - width: 860px; -} -.span10 { - width: 780px; -} -.span9 { - width: 700px; -} -.span8 { - width: 620px; -} -.span7 { - width: 540px; -} -.span6 { - width: 460px; -} -.span5 { - width: 380px; -} -.span4 { - width: 300px; -} -.span3 { - width: 220px; -} -.span2 { - width: 140px; -} -.span1 { - width: 60px; -} -.offset12 { - margin-left: 980px; -} -.offset11 { - margin-left: 900px; -} -.offset10 { - margin-left: 820px; -} -.offset9 { - margin-left: 740px; -} -.offset8 { - margin-left: 660px; -} -.offset7 { - margin-left: 580px; -} -.offset6 { - margin-left: 500px; -} -.offset5 { - margin-left: 420px; -} -.offset4 { - margin-left: 340px; -} -.offset3 { - margin-left: 260px; -} -.offset2 { - margin-left: 180px; -} -.offset1 { - margin-left: 100px; -} -.row-fluid { - width: 100%; - *zoom: 1; -} -.row-fluid:before, -.row-fluid:after { - display: table; - content: ""; - line-height: 0; -} -.row-fluid:after { - clear: both; -} -.row-fluid [class*="span"] { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - margin-left: 2.127659574468085%; - *margin-left: 2.074468085106383%; -} -.row-fluid [class*="span"]:first-child { - margin-left: 0; -} -.row-fluid .controls-row [class*="span"] + [class*="span"] { - margin-left: 2.127659574468085%; -} -.row-fluid .span12 { - width: 100%; - *width: 99.94680851063829%; -} -.row-fluid .span11 { - width: 91.48936170212765%; - *width: 91.43617021276594%; -} -.row-fluid .span10 { - width: 82.97872340425532%; - *width: 82.92553191489361%; -} -.row-fluid .span9 { - width: 74.46808510638297%; - *width: 74.41489361702126%; -} -.row-fluid .span8 { - width: 65.95744680851064%; - *width: 65.90425531914893%; -} -.row-fluid .span7 { - width: 57.44680851063829%; - *width: 57.39361702127659%; -} -.row-fluid .span6 { - width: 48.93617021276595%; - *width: 48.88297872340425%; -} -.row-fluid .span5 { - width: 40.42553191489362%; - *width: 40.37234042553192%; -} -.row-fluid .span4 { - width: 31.914893617021278%; - *width: 31.861702127659576%; -} -.row-fluid .span3 { - width: 23.404255319148934%; - *width: 23.351063829787233%; -} -.row-fluid .span2 { - width: 14.893617021276595%; - *width: 14.840425531914894%; -} -.row-fluid .span1 { - width: 6.382978723404255%; - *width: 6.329787234042553%; -} -.row-fluid .offset12 { - margin-left: 104.25531914893617%; - *margin-left: 104.14893617021275%; -} -.row-fluid .offset12:first-child { - margin-left: 102.12765957446808%; - *margin-left: 102.02127659574467%; -} -.row-fluid .offset11 { - margin-left: 95.74468085106382%; - *margin-left: 95.6382978723404%; -} -.row-fluid .offset11:first-child { - margin-left: 93.61702127659574%; - *margin-left: 93.51063829787232%; -} -.row-fluid .offset10 { - margin-left: 87.23404255319149%; - *margin-left: 87.12765957446807%; -} -.row-fluid .offset10:first-child { - margin-left: 85.1063829787234%; - *margin-left: 84.99999999999999%; -} -.row-fluid .offset9 { - margin-left: 78.72340425531914%; - *margin-left: 78.61702127659572%; -} -.row-fluid .offset9:first-child { - margin-left: 76.59574468085106%; - *margin-left: 76.48936170212764%; -} -.row-fluid .offset8 { - margin-left: 70.2127659574468%; - *margin-left: 70.10638297872339%; -} -.row-fluid .offset8:first-child { - margin-left: 68.08510638297872%; - *margin-left: 67.9787234042553%; -} -.row-fluid .offset7 { - margin-left: 61.70212765957446%; - *margin-left: 61.59574468085106%; -} -.row-fluid .offset7:first-child { - margin-left: 59.574468085106375%; - *margin-left: 59.46808510638297%; -} -.row-fluid .offset6 { - margin-left: 53.191489361702125%; - *margin-left: 53.085106382978715%; -} -.row-fluid .offset6:first-child { - margin-left: 51.063829787234035%; - *margin-left: 50.95744680851063%; -} -.row-fluid .offset5 { - margin-left: 44.68085106382979%; - *margin-left: 44.57446808510638%; -} -.row-fluid .offset5:first-child { - margin-left: 42.5531914893617%; - *margin-left: 42.4468085106383%; -} -.row-fluid .offset4 { - margin-left: 36.170212765957444%; - *margin-left: 36.06382978723405%; -} -.row-fluid .offset4:first-child { - margin-left: 34.04255319148936%; - *margin-left: 33.93617021276596%; -} -.row-fluid .offset3 { - margin-left: 27.659574468085104%; - *margin-left: 27.5531914893617%; -} -.row-fluid .offset3:first-child { - margin-left: 25.53191489361702%; - *margin-left: 25.425531914893618%; -} -.row-fluid .offset2 { - margin-left: 19.148936170212764%; - *margin-left: 19.04255319148936%; -} -.row-fluid .offset2:first-child { - margin-left: 17.02127659574468%; - *margin-left: 16.914893617021278%; -} -.row-fluid .offset1 { - margin-left: 10.638297872340425%; - *margin-left: 10.53191489361702%; -} -.row-fluid .offset1:first-child { - margin-left: 8.51063829787234%; - *margin-left: 8.404255319148938%; -} -[class*="span"].hide, -.row-fluid [class*="span"].hide { - display: none; -} -[class*="span"].pull-right, -.row-fluid [class*="span"].pull-right { - float: right; -} -.container { - margin-right: auto; - margin-left: auto; - *zoom: 1; -} -.container:before, -.container:after { - display: table; - content: ""; - line-height: 0; -} -.container:after { - clear: both; -} -.container-fluid { - padding-right: 20px; - padding-left: 20px; - *zoom: 1; -} -.container-fluid:before, -.container-fluid:after { - display: table; - content: ""; - line-height: 0; -} -.container-fluid:after { - clear: both; -} -.navbar { - overflow: visible; - margin-bottom: 20px; - *position: relative; - *z-index: 2; -} -.navbar-inner { - min-height: 40px; - padding-left: 20px; - padding-right: 20px; - *zoom: 1; -} -.navbar-inner:before, -.navbar-inner:after { - display: table; - content: ""; - line-height: 0; -} -.navbar-inner:after { - clear: both; -} -.navbar .container { - width: auto; -} -.nav-collapse.collapse { - height: auto; - overflow: visible; -} -.navbar .brand { - float: left; - display: block; - padding: .5em; - color: #fff; - text-shadow: 0 1px 0 #ffffff; -} -.navbar .brand:hover, -.navbar .brand:focus { - text-decoration: none; -} -.navbar-text { - margin-bottom: 0; - line-height: 40px; - color: #777777; -} -.navbar-link { - color: #777777; -} -.navbar-link:hover, -.navbar-link:focus { - color: #333333; -} -.navbar .divider-vertical { - height: 40px; - margin: 0 9px; - border-left: 1px solid #f2f2f2; - border-right: 1px solid #ffffff; -} -.navbar .btn, -.navbar .btn-group { - margin-top: 5px; -} -.navbar .btn-group .btn, -.navbar .input-prepend .btn, -.navbar .input-append .btn, -.navbar .input-prepend .btn-group, -.navbar .input-append .btn-group { - margin-top: 0; -} -.navbar-form { - margin-bottom: 0; - *zoom: 1; -} -.navbar-form:before, -.navbar-form:after { - display: table; - content: ""; - line-height: 0; -} -.navbar-form:after { - clear: both; -} -.navbar-form input, -.navbar-form select, -.navbar-form .radio, -.navbar-form .checkbox { - margin-top: 5px; -} -.navbar-form input, -.navbar-form select, -.navbar-form .btn { - display: inline-block; - margin-bottom: 0; -} -.navbar-form input[type="image"], -.navbar-form input[type="checkbox"], -.navbar-form input[type="radio"] { - margin-top: 3px; -} -.navbar-form .input-append, -.navbar-form .input-prepend { - margin-top: 5px; - white-space: nowrap; -} -.navbar-form .input-append input, -.navbar-form .input-prepend input { - margin-top: 0; -} -.navbar-search { - position: relative; - float: left; - margin-top: .625em; - margin-bottom: 0; -} -.navbar-search .search-query { - margin-bottom: 0; - padding: .25em .5em; - line-height: 1; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing:border-box; - width:100%; -} -.navbar-static-top { - position: static; - margin-bottom: 0; -} -.navbar-static-top .navbar-inner { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - margin-bottom: 0; -} -.navbar-fixed-top .navbar-inner, -.navbar-fixed-bottom .navbar-inner { - padding-left: 0; - padding-right: 0; -} -.navbar-static-top .container, -.navbar-fixed-top .container, -.navbar-fixed-bottom .container { - width: 940px; -} -.navbar-fixed-top { - top: 0; -} -.navbar-fixed-top .navbar-inner, -.navbar-static-top .navbar-inner { - -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1); - -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1); - box-shadow: 0 1px 10px rgba(0,0,0,.1); -} -.navbar-fixed-bottom { - bottom: 0; -} -.navbar-fixed-bottom .navbar-inner { - -webkit-box-shadow: 0 -1px 10px rgba(0,0,0,.1); - -moz-box-shadow: 0 -1px 10px rgba(0,0,0,.1); - box-shadow: 0 -1px 10px rgba(0,0,0,.1); -} -.navbar .nav { - position: relative; - left: 0; - display: block; - float: left; - margin: 0 10px 0 0; -} -.navbar .nav.pull-right { - float: right; - margin-right: 0; -} -.navbar .nav > li { - float: left; -} -.navbar .nav > li > a { - float: none; - padding: .75em; - color: #777777; - text-decoration: none; - text-shadow: 0 1px 0 #ffffff; -} -.navbar .nav .dropdown-toggle .caret { - margin-top: 8px; -} -.navbar .nav > li > a:focus, -.navbar .nav > li > a:hover { - background-color: transparent; - color: #333333; - text-decoration: none; -} -.navbar .nav > .active > a, -.navbar .nav > .active > a:hover, -.navbar .nav > .active > a:focus { - color: #555555; - text-decoration: none; - background-color: #e5e5e5; - -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); - -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); -} -.navbar .btn-navbar { - display: none; - float: right; - padding: 7px 10px; - margin-left: 5px; - margin-right: 5px; - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #ededed; - background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); - background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); - background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); - background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); - border-color: #e5e5e5 #e5e5e5 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #e5e5e5; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); - -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); - box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); -} -.navbar .btn-navbar:hover, -.navbar .btn-navbar:focus, -.navbar .btn-navbar:active, -.navbar .btn-navbar.active, -.navbar .btn-navbar.disabled, -.navbar .btn-navbar[disabled] { - color: #ffffff; - background-color: #e5e5e5; - *background-color: #d9d9d9; -} -.navbar .btn-navbar:active, -.navbar .btn-navbar.active { - background-color: #cccccc \9; -} -.navbar .btn-navbar .icon-bar { - display: block; - width: 18px; - height: 2px; - background-color: #f5f5f5; - -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -} -.btn-navbar .icon-bar + .icon-bar { - margin-top: 3px; -} -.navbar .nav > li > .dropdown-menu:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - top: -7px; - left: 9px; -} -.navbar .nav > li > .dropdown-menu:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; - top: -6px; - left: 10px; -} -.navbar-fixed-bottom .nav > li > .dropdown-menu:before { - border-top: 7px solid #ccc; - border-top-color: rgba(0, 0, 0, 0.2); - border-bottom: 0; - bottom: -7px; - top: auto; -} -.navbar-fixed-bottom .nav > li > .dropdown-menu:after { - border-top: 6px solid #ffffff; - border-bottom: 0; - bottom: -6px; - top: auto; -} -.navbar .nav li.dropdown > a:hover .caret, -.navbar .nav li.dropdown > a:focus .caret { - border-top-color: #333333; - border-bottom-color: #333333; -} -.navbar .nav li.dropdown.open > .dropdown-toggle, -.navbar .nav li.dropdown.active > .dropdown-toggle, -.navbar .nav li.dropdown.open.active > .dropdown-toggle { - background-color: #e5e5e5; - color: #555555; -} -.navbar .nav li.dropdown > .dropdown-toggle .caret { - border-top-color: #777777; - border-bottom-color: #777777; -} -.navbar .nav li.dropdown.open > .dropdown-toggle .caret, -.navbar .nav li.dropdown.active > .dropdown-toggle .caret, -.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { - border-top-color: #555555; - border-bottom-color: #555555; -} -.navbar .pull-right > li > .dropdown-menu, -.navbar .nav > li > .dropdown-menu.pull-right { - left: auto; - right: 0; -} -.navbar .pull-right > li > .dropdown-menu:before, -.navbar .nav > li > .dropdown-menu.pull-right:before { - left: auto; - right: 12px; -} -.navbar .pull-right > li > .dropdown-menu:after, -.navbar .nav > li > .dropdown-menu.pull-right:after { - left: auto; - right: 13px; -} -.navbar .pull-right > li > .dropdown-menu .dropdown-menu, -.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { - left: auto; - right: 100%; - margin-left: 0; - margin-right: -1px; -} -.navbar-inverse .navbar-inner { - background-color: #99c; -} -.navbar-inverse .brand, -.navbar-inverse .nav > li > a { - color: #eef; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.navbar-inverse .brand:hover, -.navbar-inverse .nav > li > a:hover, -.navbar-inverse .brand:focus, -.navbar-inverse .nav > li > a:focus { - color: #ffffff; -} -.navbar-inverse .brand { - color: #eef; -} -.navbar-inverse .navbar-text { - color: #999999; -} -.navbar-inverse .nav > li > a:focus, -.navbar-inverse .nav > li > a:hover { - background-color: transparent; - color: #ffffff; -} -.navbar-inverse .nav .active > a, -.navbar-inverse .nav .active > a:hover, -.navbar-inverse .nav .active > a:focus { - color: #ffffff; - background-color: #669; -} -.navbar-inverse .navbar-link { - color: #999999; -} -.navbar-inverse .navbar-link:hover, -.navbar-inverse .navbar-link:focus { - color: #ffffff; -} -.navbar-inverse .divider-vertical { - border-left-color: #111111; - border-right-color: #222222; -} -.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, -.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, -.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { - background-color: #111111; - color: #ffffff; -} -.navbar-inverse .nav li.dropdown > a:hover .caret, -.navbar-inverse .nav li.dropdown > a:focus .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} -.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { - border-top-color: #999999; - border-bottom-color: #999999; -} -.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, -.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, -.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { - border-top-color: #ffffff; - border-bottom-color: #ffffff; -} -.navbar-inverse .navbar-search .search-query { - background-color: #fff; - color: #333; - text-shadow: 0 1px 0 #ffffff; - border:0; - border-radius:2px; - -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.2); - -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.2); - box-shadow: inset 0 1px 2px rgba(0,0,0,.2); -} -.navbar-inverse .navbar-search .search-query:focus { - box-shadow: inset 0 1px 2px rgba(0,0,0,.2); -} -.navbar-inverse .navbar-search .search-query:-moz-placeholder { - color: #999; -} -.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { - color: #999; -} -.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { - color: #999; -} -.navbar-inverse .btn-navbar { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #0e0e0e; - background-image: -moz-linear-gradient(top, #151515, #040404); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); - background-image: -webkit-linear-gradient(top, #151515, #040404); - background-image: -o-linear-gradient(top, #151515, #040404); - background-image: linear-gradient(to bottom, #151515, #040404); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); - border-color: #040404 #040404 #000000; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - *background-color: #040404; - /* Darken IE7 buttons by default so they stand out more given they won't have borders */ - - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.navbar-inverse .btn-navbar:hover, -.navbar-inverse .btn-navbar:focus, -.navbar-inverse .btn-navbar:active, -.navbar-inverse .btn-navbar.active, -.navbar-inverse .btn-navbar.disabled, -.navbar-inverse .btn-navbar[disabled] { - color: #ffffff; - background-color: #040404; - *background-color: #000000; -} -.navbar-inverse .btn-navbar:active, -.navbar-inverse .btn-navbar.active { - background-color: #000000 \9; -} -.hero-unit { - padding: 60px; - margin-bottom: 30px; - font-size: 18px; - font-weight: 200; - line-height: 30px; - color: inherit; - background-color: #eeeeee; -} -.hero-unit h1 { - margin-bottom: 0; - font-size: 60px; - line-height: 1; - color: inherit; - letter-spacing: -1px; -} -.hero-unit li { - line-height: 30px; -} -@-ms-viewport { - width: device-width; -} -.hidden { - display: none; - visibility: hidden; -} -.visible-phone { - display: none !important; -} -.visible-tablet { - display: none !important; -} -.hidden-desktop { - display: none !important; -} -.visible-desktop { - display: inherit !important; -} -@media (min-width: 768px) and (max-width: 979px) { - .hidden-desktop { - display: inherit !important; - } - .visible-desktop { - display: none !important ; - } - .visible-tablet { - display: inherit !important; - } - .hidden-tablet { - display: none !important; - } -} -@media (max-width: 767px) { - .hidden-desktop { - display: inherit !important; - } - .visible-desktop { - display: none !important; - } - .visible-phone { - display: inherit !important; - } - .hidden-phone { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: inherit !important; - } - .hidden-print { - display: none !important; - } -} -@media (max-width: 767px) { - body { - padding-left: 20px; - padding-right: 20px; - } - .container-fluid { - padding: 0; - } - .dl-horizontal dt { - float: none; - clear: none; - width: auto; - text-align: left; - } - .dl-horizontal dd { - margin-left: 0; - } - .container { - width: auto; - } - .row-fluid { - width: 100%; - } - .row, - .thumbnails { - margin-left: 0; - } - .thumbnails > li { - float: none; - margin-left: 0; - } - [class*="span"], - .uneditable-input[class*="span"], - .row-fluid [class*="span"] { - float: none; - display: block; - width: 100%; - margin-left: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .span12, - .row-fluid .span12 { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .row-fluid [class*="offset"]:first-child { - margin-left: 0; - } - .input-large, - .input-xlarge, - .input-xxlarge, - input[class*="span"], - select[class*="span"], - textarea[class*="span"], - .uneditable-input { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .input-prepend input, - .input-append input, - .input-prepend input[class*="span"], - .input-append input[class*="span"] { - display: inline-block; - width: auto; - } - .controls-row [class*="span"] + [class*="span"] { - margin-left: 0; - } - .modal { - position: fixed; - top: 20px; - left: 20px; - right: 20px; - width: auto; - margin: 0; - } - .modal.fade { - top: -100px; - } - .modal.fade.in { - top: 20px; - } -} -@media (max-width: 480px) { - .nav-collapse { - -webkit-transform: translate3d(0, 0, 0); - } - .page-header h1 small { - display: block; - line-height: 20px; - } - input[type="checkbox"], - input[type="radio"] { - border: 1px solid #ccc; - } - .form-horizontal .control-label { - float: none; - width: auto; - padding-top: 0; - text-align: left; - } - .form-horizontal .controls { - margin-left: 0; - } - .form-horizontal .control-list { - padding-top: 0; - } - .form-horizontal .form-actions { - padding-left: 10px; - padding-right: 10px; - } - .media .pull-left, - .media .pull-right { - float: none; - display: block; - margin-bottom: 10px; - } - .media-object { - margin-right: 0; - margin-left: 0; - } - .modal { - top: 10px; - left: 10px; - right: 10px; - } - .modal-header .close { - padding: 10px; - margin: -10px; - } - .carousel-caption { - position: static; - } -} -@media (min-width: 768px) and (max-width: 979px) { - .row { - margin-left: -20px; - *zoom: 1; - } - .row:before, - .row:after { - display: table; - content: ""; - line-height: 0; - } - .row:after { - clear: both; - } - [class*="span"] { - float: left; - min-height: 1px; - margin-left: 20px; - } - .container, - .navbar-static-top .container, - .navbar-fixed-top .container, - .navbar-fixed-bottom .container { - width: 724px; - } - .span12 { - width: 724px; - } - .span11 { - width: 662px; - } - .span10 { - width: 600px; - } - .span9 { - width: 538px; - } - .span8 { - width: 476px; - } - .span7 { - width: 414px; - } - .span6 { - width: 352px; - } - .span5 { - width: 290px; - } - .span4 { - width: 228px; - } - .span3 { - width: 166px; - } - .span2 { - width: 104px; - } - .span1 { - width: 42px; - } - .offset12 { - margin-left: 764px; - } - .offset11 { - margin-left: 702px; - } - .offset10 { - margin-left: 640px; - } - .offset9 { - margin-left: 578px; - } - .offset8 { - margin-left: 516px; - } - .offset7 { - margin-left: 454px; - } - .offset6 { - margin-left: 392px; - } - .offset5 { - margin-left: 330px; - } - .offset4 { - margin-left: 268px; - } - .offset3 { - margin-left: 206px; - } - .offset2 { - margin-left: 144px; - } - .offset1 { - margin-left: 82px; - } - .row-fluid { - width: 100%; - *zoom: 1; - } - .row-fluid:before, - .row-fluid:after { - display: table; - content: ""; - line-height: 0; - } - .row-fluid:after { - clear: both; - } - .row-fluid [class*="span"] { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - margin-left: 2.7624309392265194%; - *margin-left: 2.709239449864817%; - } - .row-fluid [class*="span"]:first-child { - margin-left: 0; - } - .row-fluid .controls-row [class*="span"] + [class*="span"] { - margin-left: 2.7624309392265194%; - } - .row-fluid .span12 { - width: 100%; - *width: 99.94680851063829%; - } - .row-fluid .span11 { - width: 91.43646408839778%; - *width: 91.38327259903608%; - } - .row-fluid .span10 { - width: 82.87292817679558%; - *width: 82.81973668743387%; - } - .row-fluid .span9 { - width: 74.30939226519337%; - *width: 74.25620077583166%; - } - .row-fluid .span8 { - width: 65.74585635359117%; - *width: 65.69266486422946%; - } - .row-fluid .span7 { - width: 57.18232044198895%; - *width: 57.12912895262725%; - } - .row-fluid .span6 { - width: 48.61878453038674%; - *width: 48.56559304102504%; - } - .row-fluid .span5 { - width: 40.05524861878453%; - *width: 40.00205712942283%; - } - .row-fluid .span4 { - width: 31.491712707182323%; - *width: 31.43852121782062%; - } - .row-fluid .span3 { - width: 22.92817679558011%; - *width: 22.87498530621841%; - } - .row-fluid .span2 { - width: 14.3646408839779%; - *width: 14.311449394616199%; - } - .row-fluid .span1 { - width: 5.801104972375691%; - *width: 5.747913483013988%; - } - .row-fluid .offset12 { - margin-left: 105.52486187845304%; - *margin-left: 105.41847889972962%; - } - .row-fluid .offset12:first-child { - margin-left: 102.76243093922652%; - *margin-left: 102.6560479605031%; - } - .row-fluid .offset11 { - margin-left: 96.96132596685082%; - *margin-left: 96.8549429881274%; - } - .row-fluid .offset11:first-child { - margin-left: 94.1988950276243%; - *margin-left: 94.09251204890089%; - } - .row-fluid .offset10 { - margin-left: 88.39779005524862%; - *margin-left: 88.2914070765252%; - } - .row-fluid .offset10:first-child { - margin-left: 85.6353591160221%; - *margin-left: 85.52897613729868%; - } - .row-fluid .offset9 { - margin-left: 79.8342541436464%; - *margin-left: 79.72787116492299%; - } - .row-fluid .offset9:first-child { - margin-left: 77.07182320441989%; - *margin-left: 76.96544022569647%; - } - .row-fluid .offset8 { - margin-left: 71.2707182320442%; - *margin-left: 71.16433525332079%; - } - .row-fluid .offset8:first-child { - margin-left: 68.50828729281768%; - *margin-left: 68.40190431409427%; - } - .row-fluid .offset7 { - margin-left: 62.70718232044199%; - *margin-left: 62.600799341718584%; - } - .row-fluid .offset7:first-child { - margin-left: 59.94475138121547%; - *margin-left: 59.838368402492065%; - } - .row-fluid .offset6 { - margin-left: 54.14364640883978%; - *margin-left: 54.037263430116376%; - } - .row-fluid .offset6:first-child { - margin-left: 51.38121546961326%; - *margin-left: 51.27483249088986%; - } - .row-fluid .offset5 { - margin-left: 45.58011049723757%; - *margin-left: 45.47372751851417%; - } - .row-fluid .offset5:first-child { - margin-left: 42.81767955801105%; - *margin-left: 42.71129657928765%; - } - .row-fluid .offset4 { - margin-left: 37.01657458563536%; - *margin-left: 36.91019160691196%; - } - .row-fluid .offset4:first-child { - margin-left: 34.25414364640884%; - *margin-left: 34.14776066768544%; - } - .row-fluid .offset3 { - margin-left: 28.45303867403315%; - *margin-left: 28.346655695309746%; - } - .row-fluid .offset3:first-child { - margin-left: 25.69060773480663%; - *margin-left: 25.584224756083227%; - } - .row-fluid .offset2 { - margin-left: 19.88950276243094%; - *margin-left: 19.783119783707537%; - } - .row-fluid .offset2:first-child { - margin-left: 17.12707182320442%; - *margin-left: 17.02068884448102%; - } - .row-fluid .offset1 { - margin-left: 11.32596685082873%; - *margin-left: 11.219583872105325%; - } - .row-fluid .offset1:first-child { - margin-left: 8.56353591160221%; - *margin-left: 8.457152932878806%; - } - input, - textarea, - .uneditable-input { - margin-left: 0; - } - .controls-row [class*="span"] + [class*="span"] { - margin-left: 20px; - } - input.span12, - textarea.span12, - .uneditable-input.span12 { - width: 710px; - } - input.span11, - textarea.span11, - .uneditable-input.span11 { - width: 648px; - } - input.span10, - textarea.span10, - .uneditable-input.span10 { - width: 586px; - } - input.span9, - textarea.span9, - .uneditable-input.span9 { - width: 524px; - } - input.span8, - textarea.span8, - .uneditable-input.span8 { - width: 462px; - } - input.span7, - textarea.span7, - .uneditable-input.span7 { - width: 400px; - } - input.span6, - textarea.span6, - .uneditable-input.span6 { - width: 338px; - } - input.span5, - textarea.span5, - .uneditable-input.span5 { - width: 276px; - } - input.span4, - textarea.span4, - .uneditable-input.span4 { - width: 214px; - } - input.span3, - textarea.span3, - .uneditable-input.span3 { - width: 152px; - } - input.span2, - textarea.span2, - .uneditable-input.span2 { - width: 90px; - } - input.span1, - textarea.span1, - .uneditable-input.span1 { - width: 28px; - } -} -@media (min-width: 1200px) { - .row { - margin-left: -30px; - *zoom: 1; - } - .row:before, - .row:after { - display: table; - content: ""; - line-height: 0; - } - .row:after { - clear: both; - } - [class*="span"] { - float: left; - min-height: 1px; - margin-left: 30px; - } - .container, - .navbar-static-top .container, - .navbar-fixed-top .container, - .navbar-fixed-bottom .container { - width: 1170px; - } - .span12 { - width: 1170px; - } - .span11 { - width: 1070px; - } - .span10 { - width: 970px; - } - .span9 { - width: 870px; - } - .span8 { - width: 770px; - } - .span7 { - width: 670px; - } - .span6 { - width: 570px; - } - .span5 { - width: 470px; - } - .span4 { - width: 370px; - } - .span3 { - width: 270px; - } - .span2 { - width: 170px; - } - .span1 { - width: 70px; - } - .offset12 { - margin-left: 1230px; - } - .offset11 { - margin-left: 1130px; - } - .offset10 { - margin-left: 1030px; - } - .offset9 { - margin-left: 930px; - } - .offset8 { - margin-left: 830px; - } - .offset7 { - margin-left: 730px; - } - .offset6 { - margin-left: 630px; - } - .offset5 { - margin-left: 530px; - } - .offset4 { - margin-left: 430px; - } - .offset3 { - margin-left: 330px; - } - .offset2 { - margin-left: 230px; - } - .offset1 { - margin-left: 130px; - } - .row-fluid { - width: 100%; - *zoom: 1; - } - .row-fluid:before, - .row-fluid:after { - display: table; - content: ""; - line-height: 0; - } - .row-fluid:after { - clear: both; - } - .row-fluid [class*="span"] { - display: block; - width: 100%; - min-height: 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - margin-left: 2.564102564102564%; - *margin-left: 2.5109110747408616%; - } - .row-fluid [class*="span"]:first-child { - margin-left: 0; - } - .row-fluid .controls-row [class*="span"] + [class*="span"] { - margin-left: 2.564102564102564%; - } - .row-fluid .span12 { - width: 100%; - *width: 99.94680851063829%; - } - .row-fluid .span11 { - width: 91.45299145299145%; - *width: 91.39979996362975%; - } - .row-fluid .span10 { - width: 82.90598290598291%; - *width: 82.8527914166212%; - } - .row-fluid .span9 { - width: 74.35897435897436%; - *width: 74.30578286961266%; - } - .row-fluid .span8 { - width: 65.81196581196582%; - *width: 65.75877432260411%; - } - .row-fluid .span7 { - width: 57.26495726495726%; - *width: 57.21176577559556%; - } - .row-fluid .span6 { - width: 48.717948717948715%; - *width: 48.664757228587014%; - } - .row-fluid .span5 { - width: 40.17094017094017%; - *width: 40.11774868157847%; - } - .row-fluid .span4 { - width: 31.623931623931625%; - *width: 31.570740134569924%; - } - .row-fluid .span3 { - width: 23.076923076923077%; - *width: 23.023731587561375%; - } - .row-fluid .span2 { - width: 14.52991452991453%; - *width: 14.476723040552828%; - } - .row-fluid .span1 { - width: 5.982905982905983%; - *width: 5.929714493544281%; - } - .row-fluid .offset12 { - margin-left: 105.12820512820512%; - *margin-left: 105.02182214948171%; - } - .row-fluid .offset12:first-child { - margin-left: 102.56410256410257%; - *margin-left: 102.45771958537915%; - } - .row-fluid .offset11 { - margin-left: 96.58119658119658%; - *margin-left: 96.47481360247316%; - } - .row-fluid .offset11:first-child { - margin-left: 94.01709401709402%; - *margin-left: 93.91071103837061%; - } - .row-fluid .offset10 { - margin-left: 88.03418803418803%; - *margin-left: 87.92780505546462%; - } - .row-fluid .offset10:first-child { - margin-left: 85.47008547008548%; - *margin-left: 85.36370249136206%; - } - .row-fluid .offset9 { - margin-left: 79.48717948717949%; - *margin-left: 79.38079650845607%; - } - .row-fluid .offset9:first-child { - margin-left: 76.92307692307693%; - *margin-left: 76.81669394435352%; - } - .row-fluid .offset8 { - margin-left: 70.94017094017094%; - *margin-left: 70.83378796144753%; - } - .row-fluid .offset8:first-child { - margin-left: 68.37606837606839%; - *margin-left: 68.26968539734497%; - } - .row-fluid .offset7 { - margin-left: 62.393162393162385%; - *margin-left: 62.28677941443899%; - } - .row-fluid .offset7:first-child { - margin-left: 59.82905982905982%; - *margin-left: 59.72267685033642%; - } - .row-fluid .offset6 { - margin-left: 53.84615384615384%; - *margin-left: 53.739770867430444%; - } - .row-fluid .offset6:first-child { - margin-left: 51.28205128205128%; - *margin-left: 51.175668303327875%; - } - .row-fluid .offset5 { - margin-left: 45.299145299145295%; - *margin-left: 45.1927623204219%; - } - .row-fluid .offset5:first-child { - margin-left: 42.73504273504273%; - *margin-left: 42.62865975631933%; - } - .row-fluid .offset4 { - margin-left: 36.75213675213675%; - *margin-left: 36.645753773413354%; - } - .row-fluid .offset4:first-child { - margin-left: 34.18803418803419%; - *margin-left: 34.081651209310785%; - } - .row-fluid .offset3 { - margin-left: 28.205128205128204%; - *margin-left: 28.0987452264048%; - } - .row-fluid .offset3:first-child { - margin-left: 25.641025641025642%; - *margin-left: 25.53464266230224%; - } - .row-fluid .offset2 { - margin-left: 19.65811965811966%; - *margin-left: 19.551736679396257%; - } - .row-fluid .offset2:first-child { - margin-left: 17.094017094017094%; - *margin-left: 16.98763411529369%; - } - .row-fluid .offset1 { - margin-left: 11.11111111111111%; - *margin-left: 11.004728132387708%; - } - .row-fluid .offset1:first-child { - margin-left: 8.547008547008547%; - *margin-left: 8.440625568285142%; - } - input, - textarea, - .uneditable-input { - margin-left: 0; - } - .controls-row [class*="span"] + [class*="span"] { - margin-left: 30px; - } - input.span12, - textarea.span12, - .uneditable-input.span12 { - width: 1156px; - } - input.span11, - textarea.span11, - .uneditable-input.span11 { - width: 1056px; - } - input.span10, - textarea.span10, - .uneditable-input.span10 { - width: 956px; - } - input.span9, - textarea.span9, - .uneditable-input.span9 { - width: 856px; - } - input.span8, - textarea.span8, - .uneditable-input.span8 { - width: 756px; - } - input.span7, - textarea.span7, - .uneditable-input.span7 { - width: 656px; - } - input.span6, - textarea.span6, - .uneditable-input.span6 { - width: 556px; - } - input.span5, - textarea.span5, - .uneditable-input.span5 { - width: 456px; - } - input.span4, - textarea.span4, - .uneditable-input.span4 { - width: 356px; - } - input.span3, - textarea.span3, - .uneditable-input.span3 { - width: 256px; - } - input.span2, - textarea.span2, - .uneditable-input.span2 { - width: 156px; - } - input.span1, - textarea.span1, - .uneditable-input.span1 { - width: 56px; - } - .thumbnails { - margin-left: -30px; - } - .thumbnails > li { - margin-left: 30px; - } - .row-fluid .thumbnails { - margin-left: 0; - } -} -@media (max-width: 979px) { - body { - padding-top: 0; - } - .navbar-fixed-top, - .navbar-fixed-bottom { - position: static; - } - .navbar-fixed-top .navbar-inner, - .navbar-fixed-bottom .navbar-inner { - padding: 5px; - } - .navbar .container { - padding: 0; - } - .navbar .brand { - padding-left: 10px; - padding-right: 10px; - margin: 0 0 0 -5px; - } - .nav-collapse { - clear: both; - } - .nav-collapse .nav { - float: none; - margin: 0 0 10px; - } - .nav-collapse .nav > li { - float: none; - } - .nav-collapse .nav > li > a { - margin-bottom: 2px; - } - .nav-collapse .nav > .divider-vertical { - display: none; - } - .nav-collapse .nav .nav-header { - color: #777777; - text-shadow: none; - } - .nav-collapse .nav > li > a, - .nav-collapse .dropdown-menu a { - padding: 9px 15px; - font-weight: bold; - color: #777777; - } - .nav-collapse .btn { - padding: 4px 10px 4px; - font-weight: normal; - } - .nav-collapse .dropdown-menu li + li a { - margin-bottom: 2px; - } - .nav-collapse .nav > li > a:hover, - .nav-collapse .nav > li > a:focus, - .nav-collapse .dropdown-menu a:hover, - .nav-collapse .dropdown-menu a:focus { - background-color: #f2f2f2; - } - .navbar-inverse .nav-collapse .nav > li > a, - .navbar-inverse .nav-collapse .dropdown-menu a { - color: #999999; - } - .navbar-inverse .nav-collapse .nav > li > a:hover, - .navbar-inverse .nav-collapse .nav > li > a:focus, - .navbar-inverse .nav-collapse .dropdown-menu a:hover, - .navbar-inverse .nav-collapse .dropdown-menu a:focus { - background-color: #111111; - } - .nav-collapse.in .btn-group { - margin-top: 5px; - padding: 0; - } - .nav-collapse .dropdown-menu { - position: static; - top: auto; - left: auto; - float: none; - display: none; - max-width: none; - margin: 0 15px; - padding: 0; - background-color: transparent; - border: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - } - .nav-collapse .open > .dropdown-menu { - display: block; - } - .nav-collapse .dropdown-menu:before, - .nav-collapse .dropdown-menu:after { - display: none; - } - .nav-collapse .dropdown-menu .divider { - display: none; - } - .nav-collapse .nav > li > .dropdown-menu:before, - .nav-collapse .nav > li > .dropdown-menu:after { - display: none; - } - .nav-collapse .navbar-form, - .nav-collapse .navbar-search { - float: none; - padding: 10px 15px; - margin: 10px 0; - border-top: 1px solid #f2f2f2; - border-bottom: 1px solid #f2f2f2; - -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); - -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); - box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); - } - .navbar-inverse .nav-collapse .navbar-form, - .navbar-inverse .nav-collapse .navbar-search { - border-top-color: #111111; - border-bottom-color: #111111; - } - .navbar .nav-collapse .nav.pull-right { - float: none; - margin-left: 0; - } - .nav-collapse, - .nav-collapse.collapse { - overflow: hidden; - height: 0; - } - .navbar .btn-navbar { - display: block; - } - .navbar-static .navbar-inner { - padding-left: 10px; - padding-right: 10px; - } -} -@media (min-width: 980px) { - .nav-collapse.collapse { - height: auto !important; - overflow: visible !important; - } - body { - padding-top:3.25em; - } -} -@media (min-width: 1500px) { - body.docs .container, - body.docs .navbar-static-top .container, - body.docs .navbar-fixed-top .container, - body.docs .navbar-fixed-bottom .container { - width: 1440px; - } - #topsearch.navbar-search { - margin-right: 0; - } -} diff --git a/styles/changelog.css b/styles/changelog.css deleted file mode 100644 index 7a89647fc9..0000000000 --- a/styles/changelog.css +++ /dev/null @@ -1,28 +0,0 @@ -/* Changelog pages. */ -h3 { - /* Fake the
    above headings that we used to have before rejigging the - * NEWS format. */ - border-top: solid 0.2em #99C; - line-height: 2em; - margin-top: 1.5em; - padding-top: 1.25em; -} - -hr + a[name] + h3 { - /* Remove the fake
    border if we actually have a
    . */ - border-top: 0; - margin-top: 0; - padding-top: 0; -} - -b { - /* Not entirely clear how became the enclosing element for dates, but - * whatever. We'll use the same styling as dates in the news archive, - * except without the dotted border (since they're not actual - * elements). */ - color: #666; - display: inline-block; - font-size: 0.75em; - font-weight: normal; - line-height: 2; -} diff --git a/styles/doc.css b/styles/doc.css deleted file mode 100755 index 4a9e730b33..0000000000 --- a/styles/doc.css +++ /dev/null @@ -1,462 +0,0 @@ -/* vim: set et ts=4 sw=4 fdm=marker: : */ - -body.docs #layout { - margin-top:.75em; -} - -.docs .refsect1 > *:last-child { - margin-bottom:0; -} -.docs .refsect1 > *:last-child *:last-child { - margin-bottom:0; -} - -.docs .refsect1 > .title + * { - margin-top:0; -} - -/* {{{ General styles (p, parameters, initializers, ...) */ -.docs .methodname b, -.docs .methodname strong, -.docs .methodname a, -.docs .classsynopsis .classname { - color: #458; - border-color:#458; -} - -.docs .refsect1 .parameter { - cursor:pointer; -} -.docs .refsect1 dt { - height:1.5em; -} - -.docs .parameter { - color: #447; - font-style:italic; -} -.docs .refsect1 code.parameter { - font-weight:bold; -} -.docs code.parameter { - font-size:1em; -} -.docs .methodname strong { - font-style:normal; - font-weight:normal; -} -.docs .initializer, -.docs .initializer code { - font-style:italic !important; - color:#b14; -} -/* }}} */ - - -/* {{{ Warning and notes */ - -.docs div.tip, -.docs div.warning, -.docs div.caution, -.docs blockquote.note { - padding:.375em .5em; - position:relative; - margin-top:.75em; - margin-bottom:.75em; -} - -.docs blockquote.note { - background-color: #eee; - border:1px solid #d5d5d5; -} - -.docs div.caution { - background:#fcfce9; - border:1px solid #e2e2d1; -} - -.docs .refsect1 blockquote.note { - margin-left:0; -} - -.docs .refsect1 blockquote.note, -.docs div.tip { - background:#f8f8fb; - border: 1px solid #e5e6e9; -} - -.docs div.warning { - background: #f2e5f4; - border:1px solid #d9cddb; -} - -.docs div.warning strong.warning { - font-size: 1.5em; - display:block; - text-align: center; -} - -.docs div.tip b.tip, -.docs div.tip strong.tip, -.docs div.caution b.caution, -.docs div.caution strong.caution { - float: left; - margin-right: 0.675em; -} -.docs blockquote.note p, -.docs div.caution p, -.docs div.warning p, -.docs div.tip p { - margin: 0; -} - -.docs div.tip:before, -.docs div.caution:before, -.docs blockquote.note:before, -.docs div.warning:before { - border-top:1px solid rgba(255,255,255,0.5); - content:""; - display:block; - top:0; - left:0; - width:100%; - position:absolute; -} - -/* }}} */ - -.docs .refsect1 .dc-description, -.docs .refsect1 .dc-description code, -.docs .sect1 .dc-description, -.docs .sect1 .dc-description code { - font-weight:400; - font-size:16px; - font-family:"Source Code Pro", monospace; - letter-spacing:-.0625em; - word-spacing:-.125em; - margin:0; -} -.docs .dc-description { - color:#666; -} - -/* {{{ Parameter listing */ -.docs .refentry .parameters dl { - margin-bottom:0; -} - -.docs dl dd + dt { - margin-top:.75em; -} - -/* }}} */ - -.docs .example { - margin: .75em 0; -} - -/* {{{ Examples (highlighting is in theme.css) */ - -.docs .example-contents { - margin-bottom:.75em; -} -.docs .example-contents pre { - margin:0; -} -.docs .example-contents > [class$="code"], -.docs .example-contents.screen { - background-color: #fff; - padding: .75em .625em; - border:1px solid #dcdcdc; -} -.docs .refsect1 .example-contents > [class$="code"], -.docs .refsect1 .example-contents.screen { - border-top-color: #cdcdcd; -} -.docs .refsect1 .dc-description, -.docs .sect1 .dc-description { - background:#fcfcfe; - padding: .625em .75em; - -moz-box-shadow:inset 0 1px 2px 0 rgba(0,0,0,.25); - box-shadow:inset 0 1px 2px 0 rgba(0,0,0,.25); - border:-bottom 1px solid #e5e6e9; - margin-bottom: .75em; -} - -.docs .phpcode code { - display: block; - margin:-1px 0; -} - -/* }}} */ - - -/* {{{ Tables */ -.docs th { - text-align: left; -} - -.docs td, -.docs th { - padding: .25em .5em; -} - -.docs .doctable tbody tr:nth-child(odd) { - background-color: #ffffff; -} -.docs .doctable tbody tr:nth-child(even) { - background-color: #eeeef6; -} - -.docs .doctable { - border: 1px solid #ccc; - width: 100%; - margin:.75em 0; -} - -.docs .doctable thead tr { - border:1px solid #99c; -} -.docs .doctable th { - background-color: #bbd; - text-align: center; - color: #333; -} -.docs .doctable tr { - border-bottom:1px solid #ccc; -} -/* }}} */ - -/* {{{ lists */ -ul.itemizedlist { - list-style-type: circle; -} -ul.simplelist -{ - list-style-type: disc; -} -ul.chunklist { - list-style-type: disc; -} -.docs ol { - list-style-type: decimal; -} -dl.qandaentry { - border-top: 1px solid #000; -} - -ul.chunklist_children { - margin-top:0; -} -/* }}} */ - -.docs div.sect1, .docs div.partintro { - position: relative; -} - -.docs .refnamediv p.verinfo { - font-size: .75em; - line-height:2; -} -.docs .refnamediv p { - margin:0; -} -.docs .refsect1 p { - margin-top:0; -} - -.docs h1.refname { - color: #336; - font-weight:bolder -} -.docs .refnamediv { - position:relative; -} - -.docs .refsect1 h3.title { - color: #333; - position: absolute; - top:-2em; - left: 0; -} - -.docs .classsynopsis, -.docs .refsect1 { - color: #333; - border-top:0.125em solid #669; - border-bottom:1px solid #d6d6dd; - box-shadow: - inset 2px 0 2px -2px #d6d6dd, - inset -2px 0 2px -2px #d6d6dd; -} - -.docs .refsect1 { - margin-top: 3em; -} - -.docs .classsynopsis, -.docs div.refsect1 { - position: relative; - background-color: #eeeef6; - -moz-border-radius:0 0 2px 2px; - border-radius:0 0 2px 2px; - padding: .75em .625em; -} - -.docs .classsynopsis { - color: #666; - margin-bottom:.75em; -} -.docs .interfacename a, -.docs .fieldsynopsis .type, -.docs .methodsynopsis .type, -.docs .constructorsynopsis .type { - color:#092; - border-color:#092; -} - -.docs .fieldsynopsis .modifier, -.docs .methodsynopsis .modifier, -.docs .constructorsynopsis .modifier { - color:#444; -} - -.docs .classsynopsisinfo_comment { - color:#f80; - font-weight:normal; -} - -.classsynopsisinfo_comment, -.classsynopsis .constructorsynopsis, -.classsynopsis .methodsynopsis, -.classsynopsis .destructorsynopsis, -.classsynopsis .fieldsynopsis { - margin-left:2em; -} - -#changelang { - border: 0; -} - - -/* - Side Menu - */ -.docs .layout-menu ul.parent-menu-list { - list-style: none; - margin: 0; - padding: 0; -} - -.docs .layout-menu ul.parent-menu-list > li { - margin-top:0; - margin-bottom:0; - -} -.docs .layout-menu ul.parent-menu-list > li > a { - color:#000; - border:0; -} -.docs .layout-menu ul.parent-menu-list a { - color: #333; -} - -.docs .layout-menu ul.parent-menu-list a:hover { - color: #336; - border-color: #669; - text-shadow:0 0 .25em #fff; -} - -.docs .layout-menu ul.child-menu-list { - margin: 0; - padding:0 0 0 .25em; -} - -.docs .layout-menu ul.child-menu-list li { - list-style-type: none; - margin: 0; -} - -.docs .layout-menu ul.child-menu-list a { - font-size: .875em; - line-height: 1.714285714; - border-bottom: 1px dotted #c1c1c1; - display:block; - padding-left:.5em; -} - -.docs .layout-menu ul.child-menu-list .current { - font-weight:700; -} -.docs .layout-menu ul.child-menu-list .current a { - color:#000; -} -.docs .layout-menu ul.child-menu-list .current a:before { - content:"\bb \20"; -} - -#changelang-langs { - width:12em; - font-size:.75em; - line-height:2; - margin: 0 0 0 .75em; -} - -.docs .sect2 { - margin-top: .75em; -} - -/* Soft-deprecation Notices */ -div.soft-deprecation-notice h1.title { - border: 0; - color: #454e55; - position: absolute; - padding: 0; - margin:0; - top:-22px; - left: 0; - font-weight: bold; -} -div.soft-deprecation-notice { - position: relative; - margin-top: 50px; - border: 1px solid #AA6666; - color: #fff; - background-color: #ffeeee; - z-index: 100; -} -div.soft-deprecation-notice blockquote.sidebar { - padding: 10px; - margin: 0px; - border: 0px solid #666600; - color: #660000; -} - - -#breadcrumbs { - background:#f2f2f2; - border:1px solid #e6e6e6; - border-bottom-color:#dcdcdc; - margin:0 0 0.85714285714286em; - font-size:.875em; - line-height:1.71428571428571; - -moz-border-radius:2px; - border-radius:2px; -} -#breadcrumbs .breadcrumbs-inner { - padding:.5em .75em; -} -#breadcrumbs ul { - padding:0; - margin:0; -} -#breadcrumbs li { - display:inline-block; -} -#breadcrumbs .divider { - padding:0 .25em; -} -#breadcrumbs a { - border:0; -} -#breadcrumbs li:last-child a { - color:#222; -} diff --git a/styles/dynamic.php b/styles/dynamic.php deleted file mode 100644 index 329ba6425e..0000000000 --- a/styles/dynamic.php +++ /dev/null @@ -1,16 +0,0 @@ - - -#headhome { - background: url(/images/ele-running.gif) no-repeat -10px; - position: relative; - z-index: 1; -} -#headhome a { - background: none; -} - - diff --git a/styles/home.css b/styles/home.css deleted file mode 100644 index e21342e4ec..0000000000 --- a/styles/home.css +++ /dev/null @@ -1,225 +0,0 @@ -/* Home Page - -complimentary greens: 9FB553 7B8851 61761B C6DA82 CCDA99 - -*/ -body #head-beta-warning + #head-nav + #intro { - margin-top:2em; -} -#intro { - background:#444449; - box-shadow:inset 0 0 2em rgba(0,0,0,.375); - color:#fff; - border-bottom:.25em solid #99c; -} -#intro p { - text-shadow:0 1px 2px rgba(0,0,0,.5); - font-size:1.25em; - line-height:1.2; - margin-bottom:1.2em; -} -#intro .blurb p { - line-height:1.8; -} -#intro .blurb p:last-child { - margin-bottom:0; -} -#intro h2 { - font-size:1.25em; - line-height:1.8; - color:#ccc; - text-shadow:0 -1px 0 rgba(0,0,0,.25); - text-transform:uppercase; - letter-spacing:3px; - word-spacing:6px; -} -#intro .row-fluid { - position:relative; -} -#intro .background { - display:none; -} -#intro .download-php { - text-align:left; - margin:0 1.5em; - padding:.75em 0; -} -#intro .download-php .row-fluid p { - margin-top:0; - margin-bottom:0; -} -#intro .download-php .row-fluid p.notes { - font-size:.75em; - line-height:2; -} -.download-php a { - color:#ccc; - border:0; -} -.download-php a.download-link { - border:0; - color:#fff; -} -.download-php a.download-link:before { - content: "\21AF \2003"; -} - -#head-beta-warning { - padding:.25em 0; - border:0; - background-color: #99C; - position: fixed; - top: 0px; - left: 0px; - width: 100%; - z-index: 999; -} - -#beta-warning { - margin: 0 auto; - text-align: center; -} - -#beta-warning .blurb { - color: #EEE; -} - -#beta-warning .blurb a { - color: #333; -} - -#beta-warning .blurb strong { - color: #333; -} - -#beta-warning-close { - background-color: #333; - color: #EEE; - font-weight: bold; - text-decoration: none; - margin: 0 0 0 1em; - width: 1.2em; - height: 1.2em; - padding: 0 0.375em; - text-align: center; - -moz-border-radius: 2px; - border-radius: 2px; - border:0; -} - -/* Announcement Area */ - -.home aside.tips { - background:transparent; - padding:0; - border:0; -} -.home aside.tips div.inner { - padding:0; - clear:none; - border:0; - background:inherit; -} -.home .announcements { - display: block; - background-color: #eeeef6; - border:1px solid #e6e6ee; - border-bottom-color:#d6d6dd; - border-radius: 0 0 2px 2px; - padding: 1em; - margin: 0; - list-style: none; -} -.home .announcements li + li { - margin-top:.75em; -} -.home .announcements ul, .home .announcements ul li { - list-style: none; - margin: 0; - padding: 0; -} - - -/* Right-hand sidebar */ - -.home aside.tips h3.panel { - margin:0.66666666666667em 0; -} - -.home aside.tips h3.panel a { - background:#f2f2f2; - color:#333; - border:1px solid #e6e6e6; - border-bottom-color:#dcdcdc; - border-radius:2px; - display: block; - padding: .625em 0.88888888888889em; -} -.home aside.tips h3.panel a::after { - float:right; - content:"»"; - color:#666; -} -.home aside.tips h3.panel a:hover, -.home aside.tips h3.panel a:focus { - background:#eeeef6; - border-bottom-color:#d6d6dd; - color:#000; -} -.home aside.tips h3.panel a:hover::after, -.home aside.tips h3.panel a:focus::after { - color:#333; -} - -.home aside.tips a:link, -.home aside.tips a:visited { - border-bottom-color: transparent; -} -.home aside.tips a:hover, -.home aside.tips a:focus { - border-bottom-color: inherit; - border-bottom-color:rgba(63, 67, 141, 0.5); -} - -.home-content #recentNewsEntries { - position: relative; -} - -.home-content .separator { - clear: left; - height:.25em; - margin-top:3em; - margin-bottom:-.25em; - background:#669; -} - -.home .newsItem { - border-bottom: 0; -} -.home .newsItem + .newsItem { - border-top: 1px dotted #999; - padding-top:.75em; -} -.newsItem h2 a { - border-bottom-width:0; -} -.newsItem h2 a:hover, -.newsItem h2 a:focus { - border-bottom-width:1px; -} -.fullArticleLink { - font-size:.75em; - line-height: 2; -} -.fullArticleLink a { - color:#666; - border-color:transparent; -} -.fullArticleLink a:hover, -.fullArticleLink a:focus { - color:#333; - border-bottom-color:#333; -} -.newsArchive { - text-align: right; -} diff --git a/styles/index.php b/styles/index.php deleted file mode 100644 index f08f5747b9..0000000000 --- a/styles/index.php +++ /dev/null @@ -1,7 +0,0 @@ - div { - float: left; -} -div#usernotes a.usernotes-voteu { - display: block; - width: 16px; - height: 16px; - background-position:0px 0px; - text-indent: -99999px; -} -div#usernotes a.usernotes-voted { - display: block; - width: 16px; - height: 16px; - background-position:0px 16px; - text-indent: -99999px; -} -div#usernotes a.usernotes-voteu:hover { - background-position:-16px 0px; -} -div#usernotes a.usernotes-voted:hover { - background-position:-16px 16px; -} -div#usernotes div.votes .tally { - float: left; - padding: 4px; - color: #323232; - font-size: 19px; - margin-top: -6px; -} -div#usernotes div.features { - float: left; - display: block; -} - -/* Left sidebar TOC on manual pages --------------------------------------- */ -ul.toc { - margin: 0px 5px 5px 5px; - padding: 0px; -} -ul.toc li { - font-size: 85%; - margin: 1px 0 1px 1px; - padding: 1px 0 1px 11px; - list-style-type: none; - background-repeat: no-repeat; - background-position: center left; -} -ul.toc li.header { - font-size: 115%; - padding: 5px 0px 5px 11px; - border-bottom: 1px solid #cccccc; - margin-bottom: 5px; -} -ul.toc li.active { - font-weight: bold; -} -ul.toc li a { - text-decoration: none; -} -ul.toc li a:hover { - text-decoration: underline; -} - -/* Top and bottom navigation controls on manual pages --------------------- */ -div.manualnavbar { - background-color: #e0e0e0; - color: inherit; - padding: 4px; - margin-bottom: 10px; -} -div.manualnavbar a { - text-decoration: none; -} -div.manualnavbar a:hover { - text-decoration: underline; -} -div.manualnavbar .prev, div.manualnavbar .langchooser { - padding-right: 4px; -} -div.manualnavbar .next, div.manualnavbar .lastupdated { - float: right; - padding-left: 4px; -} -div.manualnavbar hr { - color: #cccccc; - background-color: #cccccc; -} -div.manualnavbar form { - margin: 0px; - font-size: 75%; -} -div.manualnavbar .lastupdated { - font-size: 75%; -} -div.manualnavbar div.langchooser #changeLangImage { - border: 0px solid #000; - width: 11px; - height: 11px; -} -div.manualnavbar fieldset { - margin: 0px; - padding: 0px; - border: 0px solid #000; -} -div.manualnavbar div.langchooser p { - margin: 0px 10px 0 5px; - padding: 0px; - float: left; -} - -/* for searching system... */ -ul#search-results { - list-style-type: none; -} -ul#search-results li { - margin-top: 0.5em; - list-style-type: none; -} -ul#search-results p { - margin: 0; -} -ul#search-results p.result { - font-weight: 700; -} -ul#search-results p.summary, -ul#search-results p.meta { - font-size: 0.8em; - margin-left: 1em; -} -ul#search-results p.meta { - color: #008000; -} -ul#search-results p.meta a { - color: #8284cc; -} -div#results_nav { - margin: auto; - width: 200px; - text-align: center; -} - -ul#results_nav_list { - margin-top: -1em; - text-align: center; - padding: 0px; -} -ul#results_nav_list li { - display: inline; - margin-right: 0.4em; - list-style-type: none; -} - -ul#quickref_functions { - display: inline; - margin-right: 0.4em; -} - -ul#quickref_functions li { - list-style-type: none; - margin:0; - padding:0; - float:left; - width:30%; -} - -ul#quickref_other { - display: inline; - margin-right: 0.4em; -} - -ul#quickref_other li { - list-style-type: none; - margin:0; - padding:0; - float:left; - width:30%; -} - -/* Definition lists used on eg. the unsub page */ -dl dd { - margin: 0.5em 0 0.5em 2em; - padding: 0.5em; -} - -/* Event month header on homepage */ -h4.eventmonth { - border-style: solid; - border-color: black; - border-width: 0px 1px 1px 0px; - background-color: #d3d3d3; - padding: 2px; -} -#conferencesSidebar h4.eventmonth { - border-width: 0px 0px 1px 0px; -} - - -/* {{{ Security Respons section */ -#content.security { - width: 610px; -} -#content.security .record { - width: 550px; - border-style: solid; - border-color: black; - border-width: 1px 0px; - padding: 5px; -} -#content.security .record .id, -#content.security .record .date, -#content.security .record .range { - float: left; -} -#content.security .record .date { - text-indent: 5px; - width: 105px; -} -#content.security .record .id { - width: 90px; -} -#content.security .record .range { - width: 55px; -} -#content.security .record .affects { - font-weight: bold; -} -#content.security .record .summary { - text-indent: 10px; - padding: 3px 0px; -} -#content.security .low { - background-color: yellow; -} -#content.security .medium { - background-color: #f90; -} -#content.security .critical { - background-color: #FF0000; -} -#content ul.colors { - width: 150px; -} -#content ul.colors li { - text-indent: 10px; -} - -/* Single records */ -#content.security .singlerecord { - text-align: left; - font-size: 1.1em; - width: 650px; -} -#content.security .singlerecord .title { - float: left; - font-weight: bold; - width: 150px; - text-indent: 10px; -} -#content.security .singlerecord .reporter, -#content.security .singlerecord .references { - margin: 0 0 10px 0; -} -#content.security .description .title { - border-style: solid; - border-color: black; - border-width: 0px 0px 0px 0px; -} -#content.security .description .data { - float: left; - text-indent: 20px; - padding: 5px; - width: 650px; -} -/* }}} */ - -/* {{{ phpdoc examples */ -div.example, div.informalexample { - background-color: #fff; - border: 1px solid #000; - text-align: left; - color: #000; -} - -div.refsect1 div.example { - margin-top: 20px; -} - -div.example p { - margin: 0px; - padding: 0.2em; - text-indent: 1em; - border-bottom: 1px dotted #000; -} - -div.example div.example-contents, -table .phpcode, -div.classsynopsis, -div.informalexample pre, -div.informalexample .phpcode { - background-color: #e1e1e1; - margin: 10px; - border: 1px outset #000; -} -div.mediaobject { - margin: 10px; -} -div.example-contents pre { - background-color: #e1e1e1; -} - -/* Konq & Fx, for what ever reason, dislike br:before so this doesn't work at the moment... - * This should however add line-number to examples - which will _not_ be copied to clipboard - * when the code is copy/pasted -div.example div.example-contents:after { - counter-reset: phpexample; -} - -div.example-contents br:before { - content: counter(phpexample); - counter-increment: phpexample; -} -*/ - -div.example div.example-contents p, div.informalexample p { - background-color: #ccc; - text-indent: 0; - border-bottom: 1px outset #000; -} - -div.example div.screenshot img { - padding: 20px; - border: 1px dotted #000; - background-color: #E0E0E0; -} -/* }}} */ - -/* Make sure the underscore in many function names are visible */ -div.refentry a, div.reference a, div.section a { - text-decoration: none; - border-bottom: 1px solid #009; -} - -div.refsect1 { - border: solid 2px #cccccc; - border-collapse: collapse; - margin: 1em; - padding: 1em; - background-color: #eeeeff; -} -div.refsect1 h3 { - margin-top: 0; - padding-top: 0; - border-bottom: dashed 1px #ffffff; -} -div.refsect1 dl { - padding: 15px; - border: 1px solid #ddd; -} -div.refsect1 dd { - border: groove 2px #ffffff; - background-color: #f5f5ff; -} -div.refsect1 span.term { - font-size: 1.2em; - border-bottom: groove 1px #dddddd; -} -div.section dt { - background: #FAFAFA; - border-bottom: 1px solid #CCC; -} - -div.refsect1 span.term b tt, div.refsect1 span.term strong code { - font-size: 0.9em; -} - -div.refsect1 .title .toggler { - border-bottom: none; -} - -div.classsynopsisinfo_comment { - text-indent: 30px; - padding-top: 2em; -} -div.classsynopsis div.methodsynopsis, -div.classsynopsis div.constructorsynopsis, -div.classsynopsis div.destructorsynopsis, -div.classsynopsis div.fieldsynopsis { - text-indent: 30px; - padding: 3px; -} -div.refsect1 div.methodsynopsis, -div.refsect1 div.constructorsynopsis, -div.refsect1 div.destructorsynopsis { - background-color: #fff; - padding: 0.5em; - border: 1px solid black; -} -div.classsynopsis { - color: rgb(0, 119, 0); -} -div.classsynopsis b.classname, -div.classsynopsis strong.classname, -div.classsynopsis span.interfacename, -div.classsynopsis div.fieldsynopsis var, -div.classsynopsis div.classsynopsisinfo var, -div.classsynopsis span.methodname, -div.classsynopsis tt.parameter, -div.classsynopsis code.parameter, -div.classsynopsis span.modifier_role { - color: rgb(0, 0, 187); -} -div.classsynopsis b.interfacename, div.classsynopsis strong.interfacename { - color: #0000BB; - font-weight: normal; -} -span.replaceable, span.initializer { - font-style: italic; -} -div.authorgroup { - padding: 10px; -} -blockquote { - border: 1px solid #000; - background-color: #FFF; - margin: 0.5em 0; - padding: 0.5em 1em; -} - -div.footnote sup { - float: left; -} -div.footnote p { - text-indent: 10px; -} -div.reportbug { - font-size: 80%; - float: right; -} - -/* Soft-deprecation Notices */ -div.soft-deprecation-notice { - margin: 1em; - padding: 1em; - position: relative; - border: 2px solid #AA6666; - color: #660000; - background-color: #ffeeee; -} -div.soft-deprecation-notice h1.title { - font-size: 110%; - border-bottom: dashed 1px white; -} -div.soft-deprecation-notice .title .toggler { - border-bottom: none; -} -div.soft-deprecation-notice blockquote.sidebar { - margin: 0; - padding: 0; - border: none; - background: transparent; -} - -/* Temporary BETA notice */ - -#beta-warning-close { - background-color: #99C; -} - -#head-beta-warning { - background-color: #333; - display: none; - position: fixed; - top: 0px; - left: 0px; - width: 100%; - z-index: 100; -} - -#beta-warning { - margin: 0 auto; - padding: 0.3em; - width: 65%; - display: none; - text-decoration: none; -} - -#head-beta-warning .dismiss { - font-size: 0.8em; - color: #9999CC; -} - -#beta-warning .blurb { - font-size: 1.1em; - line-height: 1.0em; - vertical-align: middle; - color: #EEE; - display: none; - margin-left: 12px; -} - -#beta-warning .blurb:hover { - color: #9999CC; -} - -#beta-warning .blurb a { - color: #99C; -} - -#beta-warning .blurb strong { - color: #99C; -} - - -/* - * vim: noet - */ - diff --git a/styles/theme.css b/styles/theme.css deleted file mode 100755 index febc592232..0000000000 --- a/styles/theme.css +++ /dev/null @@ -1,1104 +0,0 @@ -/** - * - * COLORS: | HEX | HSB - * ---------------+---------+--------------- - * light-purple | #c3add9 | 270, 20%, 85% - * ---------------+---------+--------------- - * medium-purple | #987db3 | 270, 30%, 70% - * ---------------+---------+--------------- - * dark-purple | #604080 | 270, 50%, 50% - * ---------------+---------+--------------- - * - */ - - -html { - background-color: #333; -} - -body * { - border-color: #9999CC; -} - -body, input, textarea { - font-family: "Source Sans Pro", Helvetica, Arial, sans-serif; -} -code, -pre.info { - font: 400 .875em / 1.5 "Source Code Pro", monospace; -} - -.docs .classsynopsis, -.docs .classsynopsis code { - font: 400 1em / 1.5 "Source Code Pro", monospace; -} - -#head-beta-warning + #head-nav { - top:2em; -} -body #head-beta-warning + #head-nav + #layout { - margin-top:2.75em; -} -#head-beta-warning { - padding:.25em 0; - border:0; - background-color: #99C; - position: fixed; - top: 0px; - left: 0px; - width: 100%; - z-index: 999; -} - -#beta-warning { - margin: 0 auto; - text-align: center; -} - -#beta-warning .blurb { - color: #EEE; -} - -#beta-warning .blurb a { - color: #333; -} - -#beta-warning .blurb strong { - color: #333; -} - -#beta-warning-close { - background-color: #333; - color: #EEE; - font-weight: bold; - text-decoration: none; - margin: 0 0 0 1em; - width: 1.2em; - height: 1.2em; - padding: 0 0.375em; - text-align: center; - -moz-border-radius: 2px; - border-radius: 2px; - border:0; -} - - -body { - font-size: 1em; - line-height: 1.5; - background:#fff; - padding-left:0; - padding-right:0; - padding-bottom:0; - margin:0; -} - -button, -input, -select, -textarea { - font-family: inherit; - font-size: 100%; - margin: 0; -} -button, -input { - line-height: normal; -} -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -h1 { - font-size: 1.5em; - line-height: 1; - margin:0 0 .5em; -} -h2 { - font-size: 1.25em; - line-height: 1.2; - margin:0 0 0.6em; -} -h3 { - font-size: 1.125em; - line-height: 1.333333333; - margin:0 0 0.66666666666667em; -} -p { - margin: .75em 0; -} -ul, ol { - margin:.75em 1.5em; - padding:0; -} -p:empty { - margin:0; - height:0; - display:none; -} -small { - font-size: 0.75em; - line-height: 2; -} -blockquote { - margin: .75em 0 .75em .75em; -} - -abbr { - border-bottom:1px dotted #999; - cursor: help; -} -a { - text-decoration:none; -} -h1, h1 a, h1 a:visited, h1 a:link { - color: #336; - border-color:#336; -} -h1 a:hover, -h1 a:focus { - color: #000; - border-color:#000; -} - -h2, h2 a, h2 a:visited, h2 a:link { - color: #333; - border-color:#333; -} - -h2 a:hover, -h2 a:focus { - color: #000; - border-color:#000; -} - -h1, h2, h3, h4, h5, h6 { - font-weight:normal; - color:#336 -} - -h4, h5, h6 { - font-size:1.125em; - line-height: 1.333333333; - margin:0.666666667em 0; -} - -a:link, -a:visited { - color: rgb(63, 67, 141); - border-bottom: 1px solid rgb(63, 67, 141); - border-bottom: 1px solid rgba(63, 67, 141, 0.5); -} - -a:hover, -a:focus { - color: rgb(0, 17, 85); - border-bottom-color:rgb(0, 17, 85); - border-bottom-color:rgba(0, 17, 85, 0.5); -} - -ul { - list-style-type: disc; -} - -ol { - list-style-type: decimal; -} - -hr { - margin:1.5em 0 1.25em; - border:0; - height:0; - border-top:.25em solid #99c; -} - -.navbar .brand { - margin-right:.75em; -} -.navbar .brand img { - padding:4px 0 2px; - opacity:.75; -} -.navbar a { - border:0; -} - -.navbar { - border-bottom:.25em solid #669; -} - -.change-language { - float: right; - position:relative; - z-index:100; -} -.change-language p { - margin:0; -} -.change-language .select { - border-radius: 0; -} - -/** - * Auto-complete - */ -.ui-autocomplete { - width: 185px; - max-height: 250px; - overflow-y: auto; - overflow-x: hidden; - list-style-position: outside; - list-style: none; - margin: 0; - padding: 0 0 5px 0; - border: 1px solid; - z-index: 99999; - border-color: #7F7FB2; - background-color: white; - border-top: 1px solid #f6f6f6; - -webkit-box-shadow: 0px .25em .5em rgba(0,0,0,.33); - -moz-box-shadow: 0px .25em .5em rgba(0,0,0,.33); - box-shadow: 0px .25em .5em rgba(0,0,0,.33); -} - -.ui-autocomplete .ui-state-hover, -.ui-autocomplete .ui-state-focus { - background-color: #666699; - color: white; -} - -.ui-autocomplete li { - margin: 0px; - cursor: pointer; - display: block; - /* - if width will be 100% horizontal scrollbar will apear - when scroll mode will be used - */ - /*width: 100%;*/ - font: menu; - font-size: 12px; - /* - it is very important, if line-height not setted or setted - in relative units scroll will be broken in firefox - */ - line-height: 16px; - overflow: hidden; - border-bottom: 1px solid #9999CC; -} - -.ui-autocomplete a { - display: block; - padding: 2px 5px; -} -.ui-autocomplete a .search-item-description, -.ui-autocomplete a .search-item-label { - display:block; -} - -.ui-autocomplete a .search-item-description { - color:#666; -} - -.ui-autocomplete .ui-state-hover .search-item-description, -.ui-autocomplete .ui-state-focus .search-item-description { - color:#ccc; -} - -.ui-autocomplete a .search-item-label { - font-weight:bold; -} -.ui-autocomplete a .search-item-category { - font-weight:normal; -} - -.ui-autocomplete-category { - font-weight: bold; - padding: .2em .4em; - margin: .8em 0 .2em; - line-height: 1.5; - background-color: #7F7FB2; - color: #fff; -} - -/** - * User notes - */ -#usernotes { - position: relative; - margin-top:1.5em; -} - -#usernotes h3.title { - border-bottom: 0.166666667em solid #669; - margin-bottom: -0.166666667.em; - line-height:2.666666667; - color:#333; -} - -#usernotes .count { - background-color: #7F7FB2; - color: white; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - padding: 0.333333333em .5em; - font-size: 0.666666667em; - line-height:2; - vertical-align: middle; -} - -/* Add a note buttons. */ -#usernotes .action { - display: block; - top: 1em; - right: 0; - position: absolute; - text-align: right; -} -#usernotes:target .action { - top:4.5em; -} - -#usernotes .foot { - text-align: right; - margin-bottom: 1em; -} - -/* Notes themselves. */ -#usernotes .note { - margin: .75em 0; - position: relative; -} - -#usernotes .note .votes { - float: left; -} - -#usernotes .note .name { - border-bottom: 0; - color: #444; - margin-left: 1em; - font-size: 1.125em; - line-height:1.333333333; -} - -#usernotes .note .name em { - font-style: normal; - font-weight: normal; -} - -#usernotes .note .name:hover + .genanchor { - color: black; -} - -#usernotes .note .date { - color: #666; - float: right; - text-align: right; -} - -#usernotes .note .date strong { - font-weight: normal; -} - -#usernotes .note .admin { - float: left; - padding-left: 1em; -} - -#usernotes .note .admin a { - border-bottom: 0; -} - -#usernotes .note .text { - background-color: #f2f2f2; - border-top: .125em solid #dcdcdc; - padding: .625em .75em .75em; - margin-top:.25em; - -moz-border-radius:0 0 2px 2px; - border-radius:0 0 2px 2px; - border-bottom:1px solid #e6e6e6; - box-shadow: - inset 2px 0 2px -2px #e6e6e6, - inset -2px 0 2px -2px #e6e6e6; -} - -/* Vote arrow styles. */ -#usernotes .note .votes > div:first-child { - float: left; -} - -#usernotes .note .votes > div { - float: right; -} - -#usernotes .note .votes a { - display: block; - height: 0; - width: 0; - overflow: hidden; - margin: 8px 0 0 0; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-bottom: 0; - - -webkit-transition: border 0.4s; - -moz-transition: border 0.4s; - -o-transition: border 0.4s; - -ms-transition: border 0.4s; - transition: border 0.4s; -} - -#usernotes .note .votes .usernotes-voteu { - border-bottom: 10px solid #999; -} - -#usernotes .note .votes .usernotes-voted { - border-top: 10px solid #999; -} - -#usernotes .note .votes .usernotes-voteu:hover { - border-bottom: 10px solid #015; -} - -#usernotes .note .votes .usernotes-voted:hover { - border-top: 10px solid #015; -} - -#usernotes .note .votes .tally { - color: #333; - padding: 0 0.3em; -} - -/* Definition lists used on eg. the unsub page */ -dl dd { - margin:0; - padding:0 1.5em; -} -dl dd p { - margin:0; -} -dl dd p + p { - margin-top: .75em; -} - - -.phpcode, div.classsynopsis { - text-align: left; -} -div.phpcode span.html { - color: black; - background-color: transparent; -} -div.phpcode span.comment { - color: #FF8000; - background-color: transparent; -} -div.classsynopsisinfo_comment { - font-weight: bold; - margin-top:.75em; -} -div.phpcode span.default { - color: #0000BB; - background-color: transparent; -} -div.phpcode span.keyword { - color: #007700; - background-color: transparent; -} -div.phpcode span.string { - color: #DD0000; - background-color: transparent; -} - -.warn { - padding: 10px 20px; - margin: 1em 2em 1.3em; - margin-right: 0.8em; - border-top: 3px solid #ff4d4d; - background-color: #EFEFEF; -} -pre.info { - border: 1px solid #ddd; - margin: 1em 2em 1.3em; - margin-right: 0.8em; - background-color: #efefef; -} - -/** - * Mega drop-down menu - */ - -#mega-drop-down { - background-color: #333; - border-color: #9999CC; -} - -#mega-drop-down div.children { - border-bottom-width: .5em; - border-bottom-style: solid; - padding-bottom: 1em; -} - -#mega-drop-down div.children-1 { - width: 960px; - margin: 0 auto; -} - -#mega-drop-down dl, #mega-drop-down ul { - float: left; - width: 225px; - padding-right: 15px; -} - -#mega-drop-down dt, #mega-drop-down li { - color: #eee; - font-weight: bold; - margin-top: 1em; -} - -#mega-drop-down dd { - padding: 0 0 0 10px; - margin: 0; - font-size:.875em; - line-height:1.714285714; -} - -#mega-drop-down a { - display: block; - color: #ccc; - border-bottom: none; -} - -#mega-drop-down dt a { - color: #eee; -} - -#mega-drop-down a:hover, -#mega-drop-down a:focus { - color: #FFF; - border-bottom: none; -} - -/* {{{ The anchor for section headers */ -a.genanchor:link, -a.genanchor:visited { - color: transparent; - border-bottom: none; -} -a.genanchor:hover, -a.genanchor:focus { - color: #000; - border-bottom: none; -} -/* }}} */ - -#langform { - float: right; -} - -aside.tips { - border-top: .25em solid #9999CC; -} - -aside.tips div.border { - display:none; -} - -aside.tips div.inner { - padding: .75em; - background:#eeeef6; - border-left:1px solid #e6e6e6; - border-right:1px solid #e6e6e6; - border-bottom:1px solid #d6d6dd; - border-radius: 0 0 2px 2px; -} - - -#layout { - margin: 1.5em auto; - clear:both; -} - -.layout-menu { - float: left; - padding:.5em .75em 1.5em; - background-color:#f2f2f2; - border: 1px solid #e6e6e6; - border-bottom-color:#dcdcdc; - border-radius:2px; -} - - -/*#layout .refsect1[id]:before,*/ -#layout *[id]:target:before { - display:block; - content:" "; - margin-top:-56px; - height:56px; -} - -#search-results { - margin:10px 40px; -} - -#search-results li { - padding:1em 0; - list-style: none; -} - -#search-results li .result { - font-size: 1.25em; - line-height:1.2; -} - -#results_nav_list { - margin:0; - padding:1em 0; -} -#results_nav_list li { - list-style: none; - display:inline-block; -} -#results_nav_list li a { - padding:.5em .66em; -} -#results_nav_list li.current { - font-weight: bold; -} -/* Footer styling */ - -footer { - clear: both; - overflow: auto; - background-color: #333; - border-top: .25em solid #9999CC; - padding: .75em 0; -} - -footer ul { - margin:0; - padding:0; -} - -footer .footmenu li { - display: inline; -} - -footer a { - color: #ccc; - margin: 0 .5em; -} - -footer a:link, -footer a:visited { - color: #ccc; - border-bottom: none; -} - -footer a:hover, -footer a:focus { - color: #888; - border-bottom: none; -} - - -/* Elephpant photo stream */ - -div.elephpants { - margin: auto; - overflow: hidden; -} - -div.elephpants div.images { - height: 75px; - background-color: #333; - text-align: center; - white-space: nowrap; -} - -div.elephpants img { - width: 75px; - height: 75px; - opacity: 0.5 - -moz-opacity: 0.5; - -webkit-opacity: 0.5; - transition: all 0.25s ease-in-out; - -webkit-transition: all 0.25s ease-in-out; - -moz-transition: all 0.25s ease-in-out; -} - -div.elephpants:hover img { - opacity: 0.6; - -moz-opacity: 0.6; - -webkit-opacity: 0.6; - transition: all 0.25s ease-in-out; - -webkit-transition: all 0.25s ease-in-out; - -moz-transition: all 0.25s ease-in-out; -} - -div.elephpants img:hover, -div.elephpants img:focus { - opacity: 1; - -moz-opacity: 1; - -webkit-opacity: 1; -} - - -/* Standard Tables */ - -table { - border-collapse: collapse; - border-spacing: 0; -} -table td { - vertical-align:top; -} - -table.standard { - border-collapse: collapse; - border-style: hidden; -} - -table.standard td, table.standard th { - border: 1px solid #ddd; -} - -table.standard tr:nth-child(even) td { - background-color: #fcfcfc; -} - -table.standard th { - font-size: 1.125em; - line-height: 1.333333333; - padding: 20px 10px 5px 10px; - color: #777; - font-weight: normal; -} - -table.standard td { - padding: 5px 10px; - vertical-align: middle; -} - -table.standard tr:nth-child(even) td.subr, -table.standard tr:nth-child(even) th.subr, -table.standard tr td.subr, -table.standard tr th.subr, -table.standard tr:nth-child(even) td.sub, -table.standard tr:nth-child(even) th.sub, -table.standard tr td.sub, -table.standard tr th.sub { - background: #eeeef6; -} - -table.standard td.subr, -table.standard th.subr { - text-align: right; -} - -/* News styles. */ -.newsImage img { - margin-left: 1.5em; - margin-bottom: .75em; -} -.newsItem { - margin:0 0 .75em; - border-bottom: solid 0.25em #99c; -} -.newsItem:last-child { - border-bottom: 0; -} -.newsItem .published { - display:inline-block; - color:#666; - font-size:.75em; - line-height: 2; -} -.newsItem abbr.published { - margin-bottom:-1px; -} -.spanning-content { - width:960px; - margin: 0 auto; - clear:both; -} - -/* Search results. */ -#layout .cse table.gsc-search-box, -#layout table.gsc-search-box { - border: solid 1px #99c; -} - -#layout .cse input.gsc-input, -#layout input.gsc-input { - border: 0; -} - -#layout .cse table.gsc-search-box td, -#layout table.gsc-search-box td { - padding: 2px; -} - -#layout .cse input.gsc-search-button, -#layout input.gsc-search-button { - background: #669; - border: solid 1px #669; - border-radius: 0; - color: white; - font-size: 100%; -} - -#layout .cse .gsc-clear-button, -#layout .gsc-clear-button { - display: none; -} - -#layout .cse .gsc-tabHeader.gsc-tabhActive, -#layout .gsc-tabHeader.gsc-tabhActive, -#layout .cse .gsc-tabHeader.gsc-tabhInactive, -#layout .gsc-tabHeader.gsc-tabhInactive { - border: 0; - background-color: white; - font-size: 100%; - font-weight: bold; - margin-right: 0; - padding: 0 26px 0 13px; -} - -#layout .cse .gsc-tabHeader.gsc-tabhActive, -#layout .gsc-tabHeader.gsc-tabhActive { - background: white url(/images/sprites.png) no-repeat scroll 100% -25px; - border-bottom: solid 0.25em #669; - color: black; -} - -#layout .cse .gsc-tabHeader.gsc-tabhInactive, -#layout .gsc-tabHeader.gsc-tabhInactive { - background: white url(/images/sprites.png) no-repeat scroll 100% 5px; - border-bottom: solid 0.25em #99c; - color: #777; -} - -#layout .cse .gsc-tabHeader.gsc-tabhInactive:hover, -#layout .gsc-tabHeader.gsc-tabhInactive:hover { - border-bottom: solid 0.25em #669; - color: #444; -} - -#layout .cse .gsc-tabsArea .gs-spacer { - display: none; -} - -#layout .cse .gsc-tabsArea, -#layout .gsc-tabsArea { - border-bottom: 0; -} - -#layout .cse .gsc-above-wrapper-area, -#layout .gsc-above-wrapper-area { - border-bottom: solid 0.25em #cacaca; -} - -#layout .cse .gsc-webResult.gsc-result:hover, -#layout .gsc-webResult.gsc-result:hover { - background: #efefef; - border-left: solid 1px white; -} - -#layout .cse .gsc-result-info, -#layout .gsc-result-info, -#layout .cse .gs-webResult .gs-visibleUrl, -#layout .gs-webResult .gs-visibleUrl, -#layout .cse .gs-webResult .gs-visibleUrl-short, -#layout .gs-webResult .gs-visibleUrl-short { - color: #666; - font-weight: normal; -} - -#layout .cse .gs-result .gs-title, -#layout .gs-result .gs-title { - text-decoration: none; -} - -#layout .cse .gs-webResult.gs-result a, -#layout .gs-webResult.gs-result a, -#layout .cse .gs-webResult.gs-result a b, -#layout .gs-webResult.gs-result a b { - color: #3f438d; - text-decoration: none; -} - -#layout .cse .gs-webResult.gs-result a:focus, -#layout .gs-webResult.gs-result a:focus, -#layout .cse .gs-webResult.gs-result a:hover, -#layout .gs-webResult.gs-result a:hover, -#layout .cse .gs-webResult.gs-result a:focus b, -#layout .gs-webResult.gs-result a:focus b, -#layout .cse .gs-webResult.gs-result a:hover b, -#layout .gs-webResult.gs-result a:hover b { - color: #015; -} - -#layout .cse .gsc-cursor-box, -#layout .gsc-cursor-box { - border-top: solid 0.25em #cacaca; -} - -#layout .cse .gsc-cursor-box .gsc-cursor-page, -#layout .gsc-cursor-box .gsc-cursor-page { - color: #3f438d; - font-size: 100%; - text-decoration: none; -} - -#layout .cse .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page, -#layout .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page { - background: #3f438d; - color: white; -} - -#layout .cse .gs-no-results-result .gs-snippet, -#layout .gs-no-results-result .gs-snippet { - background: white; - border: 0; -} - -div.informalexample { - margin: .75em 0; -} - -.count strong { - color: white; -} - -em, strong { - font-weight: bold; - font-style: italic; - color: #333; -} - - - -#toTop { - display:none; - text-decoration:none; - position:fixed; - bottom:12px; - right:50px; - overflow:hidden; - width:43px; - height:43px; - border:none; - z-index:100; -} - -#toTopHover { - display:block; - overflow:hidden; - float:left; -} - -#toTop:active,#toTop:focus { - outline:none; -} -fieldset { - margin:0; - padding:0; - border:0; -} -.navbar ul { - list-style:none; -} -.navbar a { - display:inline-block; -} - -body.downloads #layout .span6 { - word-wrap: break-word; - margin-bottom:.75em; -} - -@media (max-width:767px) { - .navbar-static-top .container, - .navbar-fixed-top .container, - .navbar-fixed-bottom .container { - width:auto; - } - .navbar-search { - float:none; - } -} -@media (min-width:768px) { - #intro .download-php h2 { - text-align:center; - } - #intro .background { - display:block; - background:rgba(255,255,255,.1); - position:absolute; - top:0; - right:0; - height:100%; - } - #topsearch { - float:right; - } - .navbar-search .search-query { - width:100%; - } - #intro .container > .row-fluid:before, - #intro .container > .row-fluid:after { - display:none; - content:none; - } - #intro .container { - position:relative; - } - #intro .container > .row-fluid { - display:table-row; - } - #intro .container > .row-fluid > div[class*=span] { - display:table-cell; - float:none; - } - #intro .container > .row-fluid > .span9 { - vertical-align:middle; - } -} -@media (max-width: 979px) and (min-width: 768px) { - #intro .download-php .row-fluid .span6 { - width:100%; - margin:0; - } - #intro .download-php a.btn-pop { - padding-right:.375em; - } -} -@media (min-width:980px) { - #intro .download-php .row-fluid { - margin-bottom:1em; - } -} -@media (min-width:1200px) { - #intro p { - line-height:1.2; - margin:0 0 1.2em; - } - body.docs .row-fluid .layout-menu.span3 { - width:18%; - } - body.docs .row-fluid #layout-content { - width:81%; - margin-left:1%; - } -} -@media (min-width:1548px) { - #layout { - padding-right:0; - } -} diff --git a/styles/workarounds.ie7.css b/styles/workarounds.ie7.css deleted file mode 100644 index 51abec6d90..0000000000 --- a/styles/workarounds.ie7.css +++ /dev/null @@ -1,3 +0,0 @@ -#layout { - background: white; -} diff --git a/styles/workarounds.ie9.css b/styles/workarounds.ie9.css deleted file mode 100644 index ba84cb8f00..0000000000 --- a/styles/workarounds.ie9.css +++ /dev/null @@ -1,6 +0,0 @@ -#confTeaser td { - /* No version of IE currently available (including IE 9) supports setting - * the display on td elements to anything other than table-cell. The float - * masks the problem without really fixing it. */ - float: left; -} diff --git a/support.php b/support.php deleted file mode 100644 index 3c601578b7..0000000000 --- a/support.php +++ /dev/null @@ -1,104 +0,0 @@ - "help")); -?> - -

    Documentation

    - -

    - A good place to start is by skimming through the ever-growing list of frequently asked questions (with answers, of course). Then - have a look at the rest of the online manual and other resources in the documentation section. -

    - -

    Books

    -

    - Books are convenient resources to begin exploring or extend your - PHP knowledge. There are literally thousands of books available in - English and numerous in other languages. Search at your favourite - online or offline bookstore. You can search at - Amazon.com, or - go directly to - Amazon.de - or Amazon.fr - and search there. -

    - -

    Mailing Lists

    - -

    - There are a number of mailing lists devoted to talking about PHP and related - projects. This list describes them all, has - links to searchable archives for all of the lists, and explains how to - subscribe to the lists. -

    - -

    Newsgroups

    - -

    - The PHP language newsgroup is comp.lang.php, available on any - news server around the globe. In addition to this many of our mailing - lists are also reflected onto the news server at - news://news.php.net/. The - server also has a read only web interface at - http://news.php.net/. -

    - -

    - Mailing list messages are transfered to newsgroup posts and - newsgroup posts are sent to the mailing lists. Please note - that these newsgroups are only available on this server. -

    - -

    User Groups

    - -

    - Christopher R. Moewes-Bystrom is running a PHP user group registry at http://www.phpusergroups.org/. - There's also a list of user groups in Germany, as well as news from them, - and link to other countries user groups at - http://www.phpug.de/. - PHP Meetup is another great - opportunity to get together. -

    - -

    Events & Training

    - -

    - A list of upcoming events (such as user group meetings and PHP training - sessions) is included in the right-hand column of the front page, and - on the event calendar page. If you want to list - an upcoming event, just fill out the form on this page. -

    - -

    Instant Resource Center

    - -

    - Otherwise known as IRC or Internet Relay Chat. Here you can usually find - experienced PHP people sitting around doing nothing on various channels with - php in their names. Note that there is no official IRC channel. - Check OFTC or any other major network - (EFNet, - IRCNet, - QuakeNet, - IrCQNet, - DALNet and - freenode). -

    - -

    PHP.net webmasters

    - -

    - If you have a problem or suggestion in connection with the PHP.net - website or mirror sites, please - contact the webmasters. If you have problems setting up PHP - or using some functionality, please ask your question on a support - channel detailed above, the webmasters will not answer any such - questions. -

    - - diff --git a/tests/EndToEnd/DisabledJavascriptTest.spec.ts b/tests/EndToEnd/DisabledJavascriptTest.spec.ts new file mode 100644 index 0000000000..f5947f71a8 --- /dev/null +++ b/tests/EndToEnd/DisabledJavascriptTest.spec.ts @@ -0,0 +1,51 @@ +import { test, expect, devices } from '@playwright/test'; + +const httpHost = process.env.HTTP_HOST + +if (typeof httpHost !== 'string') { + throw new Error('Environment variable "HTTP_HOST" is not set.') +} + +test.use({ javaScriptEnabled: false }); + +test('search should fallback when javascript is disabled', async ({ page }) => { + await page.goto(httpHost); + let searchInput = await page.getByRole('searchbox', { name: 'Search docs' }); + await searchInput.fill('strpos'); + await searchInput.press('Enter'); + await expect(page).toHaveURL(`http://${httpHost}/manual/en/function.strpos.php`); + + searchInput = await page.getByRole('searchbox', { name: 'Search docs' }); + await searchInput.fill('php basics'); + await searchInput.press('Enter'); + await expect(page).toHaveURL(`http://${httpHost}/manual-lookup.php?pattern=php+basics&scope=quickref`); +}); + +test('search should fallback when javascript is disabled on mobile', async ({ browser }) => { + const context = await browser.newContext({ + ...devices['iPhone SE'] + }); + const page = await context.newPage(); + await page.goto(httpHost); + await page + .getByRole('link', { name: 'Search docs' }) + .click(); + await expect(page).toHaveURL(`http://${httpHost}/lookup-form.php`); + + const searchInput = await page.getByRole('searchbox', { name: 'Lookup docs' }); + await searchInput.fill('strpos'); + await searchInput.press('Enter'); + await expect(page).toHaveURL(`http://${httpHost}/manual/en/function.strpos.php`); +}); + +test('menu should fallback when javascript is disabled on mobile', async ({ browser }) => { + const context = await browser.newContext({ + ...devices['iPhone SE'] + }); + const page = await context.newPage(); + await page.goto(httpHost); + await page + .getByRole('link', { name: 'Menu' }) + .click(); + await expect(page).toHaveURL(`http://${httpHost}/menu.php`); +}); diff --git a/tests/EndToEnd/OriginHeaderTest.php b/tests/EndToEnd/OriginHeaderTest.php new file mode 100644 index 0000000000..e62f30acd6 --- /dev/null +++ b/tests/EndToEnd/OriginHeaderTest.php @@ -0,0 +1,256 @@ + + */ + public static function provideForeignOrigin(): \Generator + { + $origins = [ + // Any unrelated site embedding or fetching php.net. + 'https://example.com', + // Browsers send a literal "null" origin for sandboxed iframes, + // documents from data:/file: URLs, and some cross-origin redirects. + 'null', + // Must not be treated as php.net just because it contains it. + 'https://evil-php.net.attacker.com', + 'https://notphp.net', + ]; + + foreach ($origins as $origin) { + yield $origin => [$origin]; + } + } + + /** + * @return \Generator + */ + public static function provideAllowedOrigin(): \Generator + { + $origins = [ + 'no Origin header' => null, + 'https://www.php.net' => 'https://www.php.net', + 'https://php.net' => 'https://php.net', + 'https://qa.php.net' => 'https://qa.php.net', + ]; + + foreach ($origins as $name => $origin) { + yield $name => [$origin]; + } + } + + /** + * @return \Generator + */ + public static function providePath(): \Generator + { + $paths = [ + '/', + '/downloads.php', + '/contact.php', + '/manual/en/function.str-replace.php', + '/releases/', + ]; + + foreach ($paths as $path) { + yield $path => [$path]; + } + } + + /** + * @return array{status: int, body: string, vary: string} + */ + private static function post(string $path, string $origin): array + { + return self::get($path, $origin, ['vote' => 'up']); + } + + /** + * @param ?array $postFields + * + * @return array{status: int, body: string, vary: string} + */ + private static function get( + string $path, + ?string $origin = null, + ?array $postFields = null, + ): array + { + $httpHost = getenv('HTTP_HOST'); + + if (!is_string($httpHost)) { + throw new \RuntimeException('Environment variable "HTTP_HOST" is not set.'); + } + + $headers = []; + + if (is_string($origin)) { + $headers[] = sprintf('Origin: %s', $origin); + } + + $vary = ''; + + $handle = curl_init(); + + if (is_array($postFields)) { + curl_setopt($handle, CURLOPT_POST, true); + curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($postFields)); + } + + curl_setopt_array($handle, [ + CURLOPT_RETURNTRANSFER => true, + CURLOPT_HTTPHEADER => $headers, + CURLOPT_URL => sprintf('http://%s%s', $httpHost, $path), + CURLOPT_HEADERFUNCTION => static function ($handle, string $header) use (&$vary): int { + if (stripos($header, 'vary:') === 0) { + $vary = trim(substr($header, strlen('vary:'))); + } + + return strlen($header); + }, + ]); + + $body = curl_exec($handle); + $status = curl_getinfo($handle, CURLINFO_HTTP_CODE); + + curl_close($handle); + + if (!is_string($body)) { + throw new \RuntimeException(sprintf('Failed to request "%s".', $path)); + } + + return [ + 'status' => $status, + 'body' => $body, + 'vary' => $vary, + ]; + } +} diff --git a/tests/EndToEnd/SearchModalTest.spec.ts b/tests/EndToEnd/SearchModalTest.spec.ts new file mode 100644 index 0000000000..5a762e4b1d --- /dev/null +++ b/tests/EndToEnd/SearchModalTest.spec.ts @@ -0,0 +1,125 @@ +import { test, expect } from '@playwright/test'; + +const httpHost = process.env.HTTP_HOST + +if (typeof httpHost !== 'string') { + throw new Error('Environment variable "HTTP_HOST" is not set.') +} + +test.beforeEach(async ({ page }) => { + await page.goto(httpHost); +}); + +const openSearchModal = async (page) => { + await page.getByRole('button', {name: 'Search'}).click(); + const modal = await page.getByRole('dialog', { name: 'Search modal' }); + + // Wait for the modal animation to finish + await expect(page.locator('#search-modal__backdrop.show')).not.toHaveClass('showing'); + + expect(modal).toBeVisible(); + return modal; +} + +const expectModalToBeHidden = async (page, modal) => { + await expect(page.locator('#search-modal__backdrop')).not.toHaveClass(['show', 'hiding']); + await expect(modal).toBeHidden(); +} + +const expectOption = async (modal, name) => { + await expect(modal.getByRole('option', { name })).toBeVisible(); +} + +const expectSelectedOption = async (modal, name) => { + await expect(modal.getByRole('option', { name, selected: true })).toBeVisible(); +} + +test('should open search modal when search button is clicked', async ({ page }) => { + const searchModal = await openSearchModal(page); + await expect(searchModal).toBeVisible(); +}); + +test('should disable window scroll when search modal is open', async ({ page }) => { + await openSearchModal(page); + await page.mouse.wheel(0, 100); + await page.waitForTimeout(100); + const currentScrollY = await page.evaluate(() => window.scrollY); + expect(currentScrollY).toBe(0); +}); + +test('should focus on search input when modal is opened', async ({ page }) => { + const modal = await openSearchModal(page); + const searchInput = modal.getByRole('searchbox', { name: 'Search docs' }); + await expect(searchInput).toBeFocused(); + await expect(searchInput).toHaveValue(''); +}); + +test('should close search modal when close button is clicked', async ({ page }) => { + const modal = await openSearchModal(page); + await modal.getByRole('button', { name: 'Close' }).click(); + await expectModalToBeHidden(page, modal); +}); + +test('should re-enable window scroll when search modal is closed', async ({ page }) => { + const modal = await openSearchModal(page); + await modal.getByRole('button', { name: 'Close' }).click(); + await expectModalToBeHidden(page, modal); + await page.mouse.wheel(0, 100); + await page.waitForTimeout(100); // wait for scroll event to be processed + const currentScrollY = await page.evaluate(() => window.scrollY); + expect(currentScrollY).toBe(100); +}); + +test('should close search modal when Escape key is pressed', async ({ page }) => { + const modal = await openSearchModal(page); + await page.keyboard.press('Escape'); + await expectModalToBeHidden(page, modal); +}); + +test('should close search modal when clicking outside of it', async ({ page }) => { + const modal = await openSearchModal(page); + await page.click('#search-modal__backdrop', { position: { x: 10, y: 10 } }); + await expectModalToBeHidden(page, modal); +}); + +test('should perform search and display results', async ({ page }) => { + const modal = await openSearchModal(page); + await modal.getByRole('searchbox').fill('array'); + await expect( + await modal.getByRole('listbox', { name: 'Search results' }).getByRole('option') + ).toHaveCount(30); +}); + +test('should navigate through search results with arrow keys', async ({ page }) => { + const modal = await openSearchModal(page); + await modal.getByRole('searchbox').fill('strlen'); + await expectOption(modal, /^strlen$/); + + await page.keyboard.press('ArrowDown'); + await expectSelectedOption(modal, /^strlen$/); + + await page.keyboard.press('ArrowDown'); + await page.keyboard.press('ArrowDown'); + await page.keyboard.press('ArrowDown'); + await expectSelectedOption(modal, /^mb_strlen$/); + + await page.keyboard.press('ArrowUp'); + await expectSelectedOption(modal, /^iconv_strlen$/); +}); + +test('should navigate to selected result page when Enter is pressed', async ({ page }) => { + const modal = await openSearchModal(page); + await modal.getByRole('searchbox').fill('strpos'); + await expectOption(modal, /^strpos$/); + + await page.keyboard.press('ArrowDown'); + await page.keyboard.press('Enter'); + await expect(page).toHaveURL(`http://${httpHost}/manual/en/function.strpos.php`); +}); + +test('should navigate to search page when Enter is pressed with no selection', async ({ page }) => { + const modal = await openSearchModal(page); + await modal.getByRole('searchbox').fill('php basics'); + await page.keyboard.press('Enter'); + await expect(page).toHaveURL(`http://${httpHost}/search.php?lang=en&q=php%20basics`); +}); diff --git a/tests/EndToEnd/SmokeTest.php b/tests/EndToEnd/SmokeTest.php new file mode 100644 index 0000000000..a902df6adc --- /dev/null +++ b/tests/EndToEnd/SmokeTest.php @@ -0,0 +1,80 @@ + true, + CURLOPT_URL => $url, + ]; + + curl_setopt_array($handle, $options); + + curl_exec($handle); + + $httpStatusCode = curl_getinfo($handle, CURLINFO_HTTP_CODE); + + self::assertTrue(in_array($httpStatusCode, $successfulHttpStatusCodes, true), sprintf( + 'Failed asserting that the URL "%s" returns a successful HTTP response status code, got "%d" instead.', + $url, + $httpStatusCode, + )); + } + + /** + * @return \Generator + */ + public static function provideUrl(): \Generator + { + $httpHost = getenv('HTTP_HOST'); + + if (!is_string($httpHost)) { + throw new \RuntimeException('Environment variable "HTTP_HOST" is not set.'); + } + + $pathToRoot = realpath(__DIR__ . '/../..'); + + $patterns = [ + $pathToRoot . '/*.php', + $pathToRoot . '/archive/*.php', + $pathToRoot . '/conferences/*.php', + $pathToRoot . '/license/*.php', + $pathToRoot . '/manual/*.php', + $pathToRoot . '/manual/en/*.php', + $pathToRoot . '/releases/*.php', + $pathToRoot . '/releases/*/*.php', + $pathToRoot . '/releases/*/*/*.php', + ]; + + foreach ($patterns as $pattern) { + $pathsToFiles = glob($pattern); + + $paths = str_replace($pathToRoot, '', $pathsToFiles); + + foreach ($paths as $path) { + $url = sprintf( + 'http://%s%s', + $httpHost, + $path, + ); + + yield $url => [ + $url, + ]; + } + } + } +} diff --git a/tests/Unit/CleanAntiSpamTest.php b/tests/Unit/CleanAntiSpamTest.php new file mode 100644 index 0000000000..8d16fed9f1 --- /dev/null +++ b/tests/Unit/CleanAntiSpamTest.php @@ -0,0 +1,54 @@ + + */ + public static function provideEmailAndExpectedEmail(): \Generator + { + $values = [ + 'asasasd324324@php.net' => 'asasasd324324@php.net', + 'jcastagnetto-delete-this-@yahoo.com' => 'jcastagnetto@yahoo.com', + 'jcastagnetto-i-hate-spam@NOSPAMyahoo.com' => 'jcastagnetto@yahoo.com', + 'jcastagnetto-NO-SPAM@yahoo.com' => 'jcastagnetto@yahoo.com', + 'jcastagnetto@NoSpam-yahoo.com' => 'jcastagnetto@yahoo.com', + 'jesusmc@scripps.edu' => 'jesusmc@scripps.edu', + 'jmcastagnetto@chek2.com' => 'jmcastagnetto@chek2.com', + 'jmcastagnetto@yahoo.com' => 'jmcastagnetto@yahoo.com', + 'some-wrong@asdas.com' => 'some-wrong@asdas.com', + 'wrong-address-with@@@@-remove_me-and-some-i-hate_SPAM-stuff' => 'wrong-address-with@@@@and-somestuff', + 'wrong-email-address@lists.php.net' => 'wrong-email-address@lists.php.net', + ]; + + foreach ($values as $email => $expectedEmail) { + yield $email => [ + $email, + $expectedEmail, + ]; + } + } +} diff --git a/tests/Unit/GenChallengeTest.php b/tests/Unit/GenChallengeTest.php new file mode 100644 index 0000000000..2c93e0131e --- /dev/null +++ b/tests/Unit/GenChallengeTest.php @@ -0,0 +1,161 @@ + $function, + 'argumentOne' => $argumentOne, + 'argumentTwo' => $argumentTwo, + 'question' => $question, + ]; + }, range(1, 20)); + + $expected = [ + [ + 'function' => 'min', + 'argumentOne' => 'two', + 'argumentTwo' => 'one', + 'question' => 'min(two, one)', + ], + [ + 'function' => 'minus', + 'argumentOne' => 'five', + 'argumentTwo' => 'five', + 'question' => 'five minus five', + ], + [ + 'function' => 'minus', + 'argumentOne' => 'four', + 'argumentTwo' => 'four', + 'question' => 'four minus four', + ], + [ + 'function' => 'min', + 'argumentOne' => 'nine', + 'argumentTwo' => 'seven', + 'question' => 'min(nine, seven)', + ], + [ + 'function' => 'minus', + 'argumentOne' => 'seven', + 'argumentTwo' => 'six', + 'question' => 'seven minus six', + ], + [ + 'function' => 'max', + 'argumentOne' => 'three', + 'argumentTwo' => 'six', + 'question' => 'max(three, six)', + ], + [ + 'function' => 'max', + 'argumentOne' => 'six', + 'argumentTwo' => 'five', + 'question' => 'max(six, five)', + ], + [ + 'function' => 'max', + 'argumentOne' => 'four', + 'argumentTwo' => 'three', + 'question' => 'max(four, three)', + ], + [ + 'function' => 'min', + 'argumentOne' => 'two', + 'argumentTwo' => 'nine', + 'question' => 'min(two, nine)', + ], + [ + 'function' => 'plus', + 'argumentOne' => 'eight', + 'argumentTwo' => 'one', + 'question' => 'eight plus one', + ], + [ + 'function' => 'plus', + 'argumentOne' => 'three', + 'argumentTwo' => 'five', + 'question' => 'three plus five', + ], + [ + 'function' => 'min', + 'argumentOne' => 'eight', + 'argumentTwo' => 'three', + 'question' => 'min(eight, three)', + ], + [ + 'function' => 'max', + 'argumentOne' => 'zero', + 'argumentTwo' => 'nine', + 'question' => 'max(zero, nine)', + ], + [ + 'function' => 'min', + 'argumentOne' => 'five', + 'argumentTwo' => 'nine', + 'question' => 'min(five, nine)', + ], + [ + 'function' => 'minus', + 'argumentOne' => 'six', + 'argumentTwo' => 'four', + 'question' => 'six minus four', + ], + [ + 'function' => 'max', + 'argumentOne' => 'one', + 'argumentTwo' => 'one', + 'question' => 'max(one, one)', + ], + [ + 'function' => 'plus', + 'argumentOne' => 'five', + 'argumentTwo' => 'zero', + 'question' => 'five plus zero', + ], + [ + 'function' => 'minus', + 'argumentOne' => 'nine', + 'argumentTwo' => 'eight', + 'question' => 'nine minus eight', + ], + [ + 'function' => 'minus', + 'argumentOne' => 'three', + 'argumentTwo' => 'one', + 'question' => 'three minus one', + ], + [ + 'function' => 'min', + 'argumentOne' => 'three', + 'argumentTwo' => 'one', + 'question' => 'min(three, one)', + ], + ]; + + self::assertSame($expected, $challenges); + } +} diff --git a/tests/Unit/I18n/LanguagesTest.php b/tests/Unit/I18n/LanguagesTest.php new file mode 100644 index 0000000000..c1eeacd728 --- /dev/null +++ b/tests/Unit/I18n/LanguagesTest.php @@ -0,0 +1,63 @@ +convert($languageCode)); + } + + public static function languageCodeProvider(): iterable + { + yield ['en', 'en']; + yield ['de', 'de']; + yield ['es', 'es']; + yield ['fr', 'fr']; + yield ['it', 'it']; + yield ['ja', 'ja']; + yield ['pl', 'pl']; + yield ['pt_br', 'pt_BR']; + yield ['pt_BR', 'pt_BR']; + yield ['ro', 'ro']; + yield ['ru', 'ru']; + yield ['tr', 'tr']; + yield ['uk', 'uk']; + yield ['zh', 'zh']; + yield ['zh_cn', 'zh']; + yield ['zh_CN', 'zh']; + yield ['unknown', 'en']; + yield ['', 'en']; + } + + public function testConstantsDifference(): void + { + self::assertSame( + array_diff(Languages::LANGUAGES, Languages::INACTIVE_ONLINE_LANGUAGES), + Languages::ACTIVE_ONLINE_LANGUAGES, + ); + } + + public function testLanguagesIncGlobalVariables(): void + { + global $LANGUAGES, $INACTIVE_ONLINE_LANGUAGES, $ACTIVE_ONLINE_LANGUAGES; + + include __DIR__ . '/../../../include/languages.inc'; + + self::assertSame(Languages::LANGUAGES, $LANGUAGES); + self::assertSame(Languages::INACTIVE_ONLINE_LANGUAGES, $INACTIVE_ONLINE_LANGUAGES); + self::assertSame(Languages::ACTIVE_ONLINE_LANGUAGES, $ACTIVE_ONLINE_LANGUAGES); + } +} diff --git a/tests/Unit/IsEmailableAddressTest.php b/tests/Unit/IsEmailableAddressTest.php new file mode 100644 index 0000000000..acad65e4c1 --- /dev/null +++ b/tests/Unit/IsEmailableAddressTest.php @@ -0,0 +1,73 @@ + + */ + public static function provideInvalidEmail(): \Generator + { + $values = [ + 'jcastagnetto-i-hate-spam@NOSPAMyahoo.test', + 'jcastagnetto@NoSpam-yahoo.com', + 'jmcastagnetto@chek2.com', + 'wrong-address-with@@@@-remove_me-and-some-i-hate_SPAM-stuff', + 'wrong-email-address@lists.php.net', + ]; + + foreach ($values as $value) { + yield $value => [ + $value, + ]; + } + } + + #[Framework\Attributes\DataProvider('provideValidEmail')] + public function testIsEmailableAddressReturnsTrueWhenEmailIsValid(string $email): void + { + $isEmailableAddress = is_emailable_address($email); + + self::assertTrue($isEmailableAddress); + } + + /** + * @return \Generator + */ + public static function provideValidEmail(): \Generator + { + $values = [ + 'asasasd324324@php.net', + 'jcastagnetto-delete-this-@yahoo.com', + 'jcastagnetto-NO-SPAM@yahoo.com', + 'jesusmc@scripps.edu', + 'jmcastagnetto@yahoo.com', + 'not-exists@thephp.foundation', + ]; + + foreach ($values as $value) { + yield $value => [ + $value, + ]; + } + } +} diff --git a/tests/Unit/LangChooserTest.php b/tests/Unit/LangChooserTest.php new file mode 100644 index 0000000000..a293e9bc27 --- /dev/null +++ b/tests/Unit/LangChooserTest.php @@ -0,0 +1,130 @@ + 'English', + 'de' => 'German', + 'ja' => 'Japanese', + 'pt_BR' => 'Brazilian Portuguese', + 'zh' => 'Chinese (Simplified)', + ]; + + public function testChooseCodeWithLangParameter(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('de', '/', null); + + self::assertSame(['de', 'de'], $result); + } + + public function testChooseCodeWithShortcutPath(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('', '/de/echo', null); + + self::assertSame(['de', 'de'], $result); + } + + #[Framework\Attributes\TestWith(['de', 'de'])] + #[Framework\Attributes\TestWith(['pt_BR', 'pt_BR'])] + public function testChooseCodeWithManualPath(string $pathLang, string $expected): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('', "/manual/$pathLang", null); + + self::assertSame([$expected, $expected], $result); + } + + public function testChooseCodeWithUserPreference(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], 'de', 'en'); + $result = $langChooser->chooseCode('', '/', null); + + self::assertSame(['de', ''], $result); + } + + public function testChooseCodeWithAcceptLanguage(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('', '/', 'de,ja,en'); + + self::assertSame(['de', ''], $result); + } + + public function testChooseCodeWithAcceptLanguageQuality(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('', '/', 'de;q=0.8,ja,en'); + + self::assertSame(['ja', ''], $result); + } + + #[Framework\Attributes\TestWith(['de-at', 'de'])] + #[Framework\Attributes\TestWith(['pt-br', 'pt_BR'])] + #[Framework\Attributes\TestWith(['zh-cn', 'zh'])] + #[Framework\Attributes\TestWith(['zh-tw', 'en'])] + public function testChooseCodeWithAcceptLanguageFollowedByCountryCode(string $acceptLanguage, string $expected): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('', '/', $acceptLanguage); + + self::assertSame([$expected, ''], $result); + } + + public function testChooseCodeWithMirrorDefaultLanguage(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'de'); + $result = $langChooser->chooseCode('', '/', null); + + self::assertSame(['de', ''], $result); + } + + public function testChooseCodeWithDefaultLanguage(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'fr'); + $result = $langChooser->chooseCode('', '/', null); + + self::assertSame(['en', ''], $result); + } + + public function testChooseCodeWithLangParameterAndManualPath(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('de', '/manual/en', null); + + self::assertSame(['de', 'de'], $result); + } + + public function testChooseCodeWithManualPathAndUserPreference(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], 'en', 'en'); + $result = $langChooser->chooseCode('', '/manual/de', null); + + self::assertSame(['de', 'de'], $result); + } + + public function testChooseCodeWithManualPathAndAcceptLanguage(): void + { + $langChooser = new LangChooser(self::DEFAULT_LANGUAGE_LIST, [], '', 'en'); + $result = $langChooser->chooseCode('', '/manual/de', 'en'); + + self::assertSame(['de', 'de'], $result); + } + + public function testChooseCodeInactiveLanguageIsNotChosen(): void + { + $langChooser = new LangChooser(['en' => 'English', 'de' => 'German', 'pl' => 'Polish'], ['pl' => 'Polish'], '', ''); + $result = $langChooser->chooseCode('pl', '/manual/pl', 'pl'); + + self::assertSame(['en', 'pl'], $result); + } +} diff --git a/tests/Unit/News/NewsHandlerTest.php b/tests/Unit/News/NewsHandlerTest.php new file mode 100644 index 0000000000..25df5f7e77 --- /dev/null +++ b/tests/Unit/News/NewsHandlerTest.php @@ -0,0 +1,57 @@ +getPregeneratedNews(); + self::assertArrayHasKey(0, $news); + self::assertSame($news[0], $newsHandler->getLastestNews()); + } + + public function testGetConferences(): void + { + $conferences = (new NewsHandler())->getConferences(); + self::assertNotEmpty($conferences); + foreach ($conferences as $conference) { + $isConference = false; + foreach ($conference['category'] as $category) { + if ($category['term'] === 'cfp' || $category['term'] === 'conferences') { + $isConference = true; + break; + } + } + + self::assertTrue($isConference); + } + } + + public function testGetNewsByYear(): void + { + $news = (new NewsHandler())->getNewsByYear(2018); + self::assertNotEmpty($news); + foreach ($news as $entry) { + self::assertSame('2018', (new DateTimeImmutable($entry['published']))->format('Y')); + } + } + + public function testGetFrontPageNews(): void + { + $frontPage = (new NewsHandler())->getFrontPageNews(); + self::assertCount(25, $frontPage); + foreach ($frontPage as $news) { + self::assertContains(['term' => 'frontpage', 'label' => 'PHP.net frontpage news'], $news['category']); + } + } +} diff --git a/tests/Unit/TestAnswerTest.php b/tests/Unit/TestAnswerTest.php new file mode 100644 index 0000000000..794752f56b --- /dev/null +++ b/tests/Unit/TestAnswerTest.php @@ -0,0 +1,102 @@ + + */ + public static function provideFunctionArgumentsAnswerAndExpectedIsValid(): array + { + return [ + [ + 'function' => 'max', + 'argumentOne' => 'two', + 'argumentTwo' => 'one', + 'answer' => 'two', + 'expectedIsValid' => true, + ], + [ + 'function' => 'min', + 'argumentOne' => 'two', + 'argumentTwo' => 'one', + 'answer' => 'one', + 'expectedIsValid' => true, + ], + [ + 'function' => 'minus', + 'argumentOne' => 'five', + 'argumentTwo' => 'five', + 'answer' => 'zero', + 'expectedIsValid' => true, + ], + [ + 'function' => 'plus', + 'argumentOne' => 'eight', + 'argumentTwo' => 'one', + 'answer' => 'nine', + 'expectedIsValid' => true, + ], + [ + 'function' => 'max', + 'argumentOne' => 'three', + 'argumentTwo' => 'six', + 'answer' => 'nine', + 'expectedIsValid' => false, + ], + [ + 'function' => 'min', + 'argumentOne' => 'two', + 'argumentTwo' => 'nine', + 'answer' => 'seven', + 'expectedIsValid' => false, + ], + [ + 'function' => 'minus', + 'argumentOne' => 'seven', + 'argumentTwo' => 'six', + 'answer' => 'four', + 'expectedIsValid' => false, + ], + [ + 'function' => 'plus', + 'argumentOne' => 'eight', + 'argumentTwo' => 'one', + 'answer' => 'seven', + 'expectedIsValid' => false, + ], + ]; + } +} diff --git a/tests/Unit/UserNotes/SorterTest.php b/tests/Unit/UserNotes/SorterTest.php new file mode 100644 index 0000000000..f98d07ae07 --- /dev/null +++ b/tests/Unit/UserNotes/SorterTest.php @@ -0,0 +1,410 @@ +sort($notes); + + self::assertSame([], $notes); + } + + public function testSortSortsSingleNoteWithNoVotes(): void + { + $notes = [ + new UserNote('1', '', '', '1613487094', '', '', 0, 0), + ]; + + $sorter = new Sorter(); + + $sorter->sort($notes); + + $normalized = array_map(static function (UserNote $note): array { + return self::normalize($note); + }, $notes); + + $expected = [ + 0 => [ + 'downvotes' => 0, + 'id' => '1', + 'ts' => '1613487094', + 'upvotes' => 0, + ], + ]; + + self::assertSame($expected, $normalized); + } + + public function testSortSortsSomeNotes(): void + { + $notes = [ + new UserNote('1', '', '', '1613487094', '', '', 0, 2), + new UserNote('2', '', '', '1508180150', '', '', 0, 0), + new UserNote('3', '', '', '1508179844', '', '', 14, 3), + new UserNote('4', '', '', '1508179844', '', '', 14, 3), + ]; + + $sorter = new Sorter(); + + $sorter->sort($notes); + + $normalized = array_map(static function (UserNote $note): array { + return self::normalize($note); + }, $notes); + + $expected = [ + 2 => [ + 'downvotes' => 3, + 'id' => '3', + 'ts' => '1508179844', + 'upvotes' => 14, + ], + 3 => [ + 'downvotes' => 3, + 'id' => '4', + 'ts' => '1508179844', + 'upvotes' => 14, + ], + 1 => [ + 'downvotes' => 0, + 'id' => '2', + 'ts' => '1508180150', + 'upvotes' => 0, + ], + 0 => [ + 'downvotes' => 2, + 'id' => '1', + 'ts' => '1613487094', + 'upvotes' => 0, + ], + ]; + + self::assertSame($expected, $normalized); + } + + public function testSortSortsFullNotes(): void + { + $file = file(ProjectGlobals::getBackendRoot() . '/notes/d7/d7742c269d23ea86'); + + $notes = []; + + foreach ($file as $line) { + @list($id, $sect, $rate, $ts, $user, $note, $up, $down) = explode('|', $line); + $notes[$id] = new UserNote($id, $sect, $rate, $ts, $user, base64_decode($note, true), (int) $up, (int) $down); + } + + $sorter = new Sorter(); + + $sorter->sort($notes); + + $normalized = array_map(static function (UserNote $note): array { + return self::normalize($note); + }, $notes); + + $expected = [ + 110464 => [ + 'downvotes' => 2, + 'id' => '110464', + 'ts' => '1351105628', + 'upvotes' => 10, + ], + 93816 => [ + 'downvotes' => 1, + 'id' => '93816', + 'ts' => '1254343074', + 'upvotes' => 4, + ], + 92849 => [ + 'downvotes' => 1, + 'id' => '92849', + 'ts' => '1249997359', + 'upvotes' => 4, + ], + 70394 => [ + 'downvotes' => 3, + 'id' => '70394', + 'ts' => '1160823504', + 'upvotes' => 7, + ], + 106407 => [ + 'downvotes' => 2, + 'id' => '106407', + 'ts' => '1320695958', + 'upvotes' => 5, + ], + 87868 => [ + 'downvotes' => 2, + 'id' => '87868', + 'ts' => '1230396484', + 'upvotes' => 5, + ], + 82229 => [ + 'downvotes' => 1, + 'id' => '82229', + 'ts' => '1207066654', + 'upvotes' => 3, + ], + 80363 => [ + 'downvotes' => 1, + 'id' => '80363', + 'ts' => '1200066332', + 'upvotes' => 3, + ], + 75146 => [ + 'downvotes' => 1, + 'id' => '75146', + 'ts' => '1179195708', + 'upvotes' => 3, + ], + 102773 => [ + 'downvotes' => 3, + 'id' => '102773', + 'ts' => '1299300266', + 'upvotes' => 6, + ], + 111422 => [ + 'downvotes' => 2, + 'id' => '111422', + 'ts' => '1361224553', + 'upvotes' => 4, + ], + 94469 => [ + 'downvotes' => 2, + 'id' => '94469', + 'ts' => '1257516214', + 'upvotes' => 4, + ], + 99476 => [ + 'downvotes' => 1, + 'id' => '99476', + 'ts' => '1282186230', + 'upvotes' => 2, + ], + 99332 => [ + 'downvotes' => 1, + 'id' => '99332', + 'ts' => '1281503061', + 'upvotes' => 2, + ], + 96926 => [ + 'downvotes' => 1, + 'id' => '96926', + 'ts' => '1269330508', + 'upvotes' => 2, + ], + 93887 => [ + 'downvotes' => 1, + 'id' => '93887', + 'ts' => '1254733546', + 'upvotes' => 2, + ], + 87061 => [ + 'downvotes' => 1, + 'id' => '87061', + 'ts' => '1226944352', + 'upvotes' => 2, + ], + 85835 => [ + 'downvotes' => 1, + 'id' => '85835', + 'ts' => '1221823065', + 'upvotes' => 2, + ], + 72466 => [ + 'downvotes' => 1, + 'id' => '72466', + 'ts' => '1169208947', + 'upvotes' => 2, + ], + 69927 => [ + 'downvotes' => 1, + 'id' => '69927', + 'ts' => '1159299208', + 'upvotes' => 2, + ], + 41762 => [ + 'downvotes' => 1, + 'id' => '41762', + 'ts' => '1082561916', + 'upvotes' => 2, + ], + 107678 => [ + 'downvotes' => 2, + 'id' => '107678', + 'ts' => '1330185500', + 'upvotes' => 3, + ], + 89788 => [ + 'downvotes' => 2, + 'id' => '89788', + 'ts' => '1237801686', + 'upvotes' => 3, + ], + 74286 => [ + 'downvotes' => 2, + 'id' => '74286', + 'ts' => '1175594279', + 'upvotes' => 3, + ], + 58688 => [ + 'downvotes' => 2, + 'id' => '58688', + 'ts' => '1131719326', + 'upvotes' => 3, + ], + 45088 => [ + 'downvotes' => 2, + 'id' => '45088', + 'ts' => '1093449145', + 'upvotes' => 3, + ], + 49739 => [ + 'downvotes' => 0, + 'id' => '49739', + 'ts' => '1107758025', + 'upvotes' => 2, + ], + 108426 => [ + 'downvotes' => 2, + 'id' => '108426', + 'ts' => '1335372412', + 'upvotes' => 2, + ], + 107240 => [ + 'downvotes' => 2, + 'id' => '107240', + 'ts' => '1327390683', + 'upvotes' => 2, + ], + 105984 => [ + 'downvotes' => 2, + 'id' => '105984', + 'ts' => '1317340435', + 'upvotes' => 2, + ], + 99440 => [ + 'downvotes' => 4, + 'id' => '99440', + 'ts' => '1282058725', + 'upvotes' => 4, + ], + 93566 => [ + 'downvotes' => 2, + 'id' => '93566', + 'ts' => '1253094436', + 'upvotes' => 2, + ], + 88798 => [ + 'downvotes' => 1, + 'id' => '88798', + 'ts' => '1234090865', + 'upvotes' => 1, + ], + 84910 => [ + 'downvotes' => 2, + 'id' => '84910', + 'ts' => '1217938595', + 'upvotes' => 2, + ], + 83914 => [ + 'downvotes' => 1, + 'id' => '83914', + 'ts' => '1213760931', + 'upvotes' => 1, + ], + 78483 => [ + 'downvotes' => 1, + 'id' => '78483', + 'ts' => '1192337362', + 'upvotes' => 1, + ], + 74763 => [ + 'downvotes' => 1, + 'id' => '74763', + 'ts' => '1177577911', + 'upvotes' => 1, + ], + 74432 => [ + 'downvotes' => 1, + 'id' => '74432', + 'ts' => '1176269720', + 'upvotes' => 1, + ], + 47879 => [ + 'downvotes' => 1, + 'id' => '47879', + 'ts' => '1102066114', + 'upvotes' => 1, + ], + 40617 => [ + 'downvotes' => 0, + 'id' => '40617', + 'ts' => '1078853206', + 'upvotes' => 0, + ], + 38375 => [ + 'downvotes' => 1, + 'id' => '38375', + 'ts' => '1071743640', + 'upvotes' => 1, + ], + 106295 => [ + 'downvotes' => 3, + 'id' => '106295', + 'ts' => '1319574977', + 'upvotes' => 2, + ], + 95875 => [ + 'downvotes' => 3, + 'id' => '95875', + 'ts' => '1264517173', + 'upvotes' => 2, + ], + 102336 => [ + 'downvotes' => 2, + 'id' => '102336', + 'ts' => '1297217360', + 'upvotes' => 1, + ], + 93781 => [ + 'downvotes' => 2, + 'id' => '93781', + 'ts' => '1254189367', + 'upvotes' => 1, + ], + 90065 => [ + 'downvotes' => 2, + 'id' => '90065', + 'ts' => '1238827503', + 'upvotes' => 1, + ], + ]; + + self::assertSame($expected, $normalized); + } + + private static function normalize(UserNote $note): array + { + return [ + 'downvotes' => $note->downvotes, + 'id' => $note->id, + 'ts' => $note->ts, + 'upvotes' => $note->upvotes, + ]; + } +} diff --git a/tests/Unit/UserPreferencesTest.php b/tests/Unit/UserPreferencesTest.php new file mode 100644 index 0000000000..f1df981bee --- /dev/null +++ b/tests/Unit/UserPreferencesTest.php @@ -0,0 +1,94 @@ + $cookie */ + #[DataProvider('loadCookiesProvider')] + public function testLoad( + array $cookie, + string $languageCode, + string|false $searchType, + bool $isUserGroupTipsEnabled, + ): void { + $_COOKIE = $cookie; + + $userPreferences = new UserPreferences(); + $userPreferences->load(); + + self::assertSame($languageCode, $userPreferences->languageCode); + self::assertSame($searchType, $userPreferences->searchType); + self::assertSame($isUserGroupTipsEnabled, $userPreferences->isUserGroupTipsEnabled); + } + + /** @return array, string, string|false, bool}> */ + public static function loadCookiesProvider(): array + { + return [ + [[], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ['en,manual,,1']], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ''], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ',,,'], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ',,,0'], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ',,ignored,,ignored'], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => 'en,,,'], 'en', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ',manual,,'], '', UserPreferences::URL_MANUAL, false], + [['MYPHPNET' => ',quickref,,'], '', UserPreferences::URL_FUNC, false], + [['MYPHPNET' => ',invalid,,'], '', UserPreferences::URL_NONE, false], + [['MYPHPNET' => ',,,1'], '', UserPreferences::URL_NONE, true], + [['MYPHPNET' => 'en,manual,,1'], 'en', UserPreferences::URL_MANUAL, true], + ]; + } + + #[DataProvider('urlSearchTypeProvider')] + public function testSetUrlSearchType(mixed $type, string|false $expected): void + { + $userPreferences = new UserPreferences(searchType: UserPreferences::URL_NONE); + $userPreferences->setUrlSearchType($type); + self::assertSame($expected, $userPreferences->searchType); + } + + /** @return array */ + public static function urlSearchTypeProvider(): array + { + return [ + ['manual', UserPreferences::URL_MANUAL], + ['quickref', UserPreferences::URL_FUNC], + [false, UserPreferences::URL_NONE], + ['', UserPreferences::URL_NONE], + ['invalid', UserPreferences::URL_NONE], + [['manual'], UserPreferences::URL_NONE], + ]; + } + + public function testSetIsUserGroupTipsEnabled(): void + { + $timeBackup = $_SERVER['REQUEST_TIME']; + $_SERVER['REQUEST_TIME'] = 1726600070; + + $userPreferences = new UserPreferences(isUserGroupTipsEnabled: false); + $userPreferences->setIsUserGroupTipsEnabled(true); + self::assertTrue($userPreferences->isUserGroupTipsEnabled); + + $userPreferences = new UserPreferences(isUserGroupTipsEnabled: true); + $userPreferences->setIsUserGroupTipsEnabled(false); + self::assertFalse($userPreferences->isUserGroupTipsEnabled); + + $_SERVER['REQUEST_TIME'] = 1726600066; + + $userPreferences = new UserPreferences(isUserGroupTipsEnabled: false); + $userPreferences->setIsUserGroupTipsEnabled(false); + self::assertTrue($userPreferences->isUserGroupTipsEnabled); + + $_SERVER['REQUEST_TIME'] = $timeBackup; + } +} diff --git a/tests/php.ini b/tests/php.ini new file mode 100644 index 0000000000..8c327d0001 --- /dev/null +++ b/tests/php.ini @@ -0,0 +1,3 @@ +[PHP] + +display_errors = Off diff --git a/tests/phpunit.xml b/tests/phpunit.xml new file mode 100644 index 0000000000..2e1031e36b --- /dev/null +++ b/tests/phpunit.xml @@ -0,0 +1,43 @@ + + + + + + ../public/manual/ + ../include/ + ../src/ + + + + + EndToEnd/ + + + Unit/ + + + diff --git a/tests/server b/tests/server new file mode 100755 index 0000000000..6cae14553d --- /dev/null +++ b/tests/server @@ -0,0 +1,173 @@ +#!/bin/bash + +# https://github.com/cubny/php-built-in-server-manager/blob/9a5cbeaad50a108d6058b882b83ba23fbd7722a9/server + +# default hostname +HOST=localhost +# default port number +PORT=8080 +# script name +NAME=${0##*/} + +usage () { + cat < [:] + + Available commands: + + start Starts PHP built-in web server server on specified hostname:port, default is localhost:$PORT + stop Stops the PHP built-in web server + restart Stops and Starts on previously specified hostname:port + status Status of "$NAME" process + log Show the PHP built-in web server logs. Use the -f option for a live update + + + report bugs to me@cubny.com + $NAME homepage: + +EOF +return 0 +} + +setup_colors() { + +if which tput >/dev/null 2>&1; then + ncolors=$(tput colors) + fi + if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then + RED="$(tput setaf 1)" + GREEN="$(tput setaf 2)" + YELLOW="$(tput setaf 3)" + BLUE="$(tput setaf 4)" + BOLD="$(tput bold)" + NORMAL="$(tput sgr0)" + else + RED="" + GREEN="" + YELLOW="" + BLUE="" + BOLD="" + NORMAL="" + fi +} + +# if no command specified exit and show usage +if [[ $# < 1 ]]; then + echo $NAME: no command specified + usage + exit 1 +fi + +# if hostname:port specified override defaults +if [[ $# > 1 ]]; then + IFS=':' read -r -a hostport <<< "$2" + if [[ ! -z "${hostport[0]}" ]]; then + HOST=${hostport[0]} + fi + if [[ ! -z "${hostport[1]}" ]]; then + PORT=${hostport[1]} + fi +fi + +# pidfile contents would be hostname:port:pid +PIDFILE=.build/server/server.pid +LOGFILE=.build/server/server.log + +validate_server () { + which php &> /dev/null + if [[ $? -eq 1 ]]; then + printf "${YELLOW}Error: PHP not found. ${NORMAL}Please install PHP version 5.4 or greater!\n" + return 1 + fi + + php -h | grep -q -- '-S' + if [[ $? -eq 1 ]]; then + printf "${YELLOW}Error: PHP version must be 5.4 or greater!${NORMAL}\n" + return 1 + fi + + return 0 +} + +start_server () { + validate_server + + if [[ $? -eq 1 ]]; then + return 1 + fi + + if [[ -e "$PIDFILE" ]]; then + printf "${YELLOW}Server seems to be running!${NORMAL}\n" + echo + echo if not, there is probably a zombie "$PIDFILE" in this directory. + echo if you are sure no server is running just remove "$PIDFILE" manually and start again + return 1 + else + printf "${GREEN}"$NAME" started on $HOST:$PORT${NORMAL}\n" + mkdir -p $(dirname "$LOGFILE") + php -S "$HOST":"$PORT" -c tests/php.ini >> "$LOGFILE" 2>&1 & + mkdir -p $(dirname "$PIDFILE") + echo "$HOST":"$PORT":$! > $PIDFILE + return 0 + fi +} + +read_pidfile() { + if [[ -e "$PIDFILE" ]]; then + PIDFILECONTENT=`cat "$PIDFILE"` + IFS=: read HOST PORT PID <<< "$PIDFILECONTENT:" + return 0 + else + return 1 + fi +} + +stop_server () { + if read_pidfile; then + kill -9 "$PID" + rm -f "$PIDFILE" + printf "${GREEN}"$NAME" stopped!${NORMAL}\n" + return 0 + else + printf "${YELLOW}"$NAME" is not running!${NORMAL}\n" + return 1 + fi +} + +status_server() { + if read_pidfile && kill -0 "$PID" ; then + printf "${BLUE}"$NAME" is running on ${HOST}:${PORT}${NORMAL}\n" + else + printf "${YELLOW}"$NAME" is not running!${NORMAL}\n" + fi +} + + +log_server() { + if read_pidfile && kill -0 "$PID" ; then + if [[ "$1" = "-f" ]]; then + TAIL_OPTS="-f" + fi + tail $TAIL_OPTS "$LOGFILE" + else + printf "${YELLOW}"$NAME" is not running!${NORMAL}\n" + fi +} + + +setup_colors + +case $1 in + start) start_server;; + stop) stop_server;; + restart) stop_server; start_server ;; + status) status_server;; + log) log_server $2;; + -h) usage ;; + --help) usage ;; + *) usage;; +esac diff --git a/thanks.php b/thanks.php deleted file mode 100644 index 3d29767b83..0000000000 --- a/thanks.php +++ /dev/null @@ -1,125 +0,0 @@ - "community")); -?> - -

    Thanks

    - -

    - easyDNS - provides DNS services for the PHP domains. -

    - -

    - Directi provides - IP address to country lookup information. -

    - -

    - pair Networks - provides the servers and bandwidth for PEAR, PECL and mailing list services. -

    - -

    - Rackspace provides - the server and bandwidth for various php.net services. -

    - -

    - Hosted Solutions provides - the server and bandwidth that run various services and websites - for php.net. -

    - -

    - Server Central provides - a box and connection which runs various services and sites for php.net -

    - -

    - Spry VPS Hosting provides a server and - bandwidth for various php.net services. -

    - -

    - OSU Open Source Lab provides a server and - bandwidth for various php.net services. -

    - -

    - Yahoo! Inc. provides bandwidth and - hardware for www.php.net and git.php.net. -

    - -

    - NEXCESS.NET provides a server and bandwidth - for various php.net services. -

    - -

    - EUKhost provides a server and bandwidth - for various php.net services. -

    - -

    - 34SP.com provides the servers and bandwidth - used for buildbot testing. -

    - -

    - SoHosted Webhosting provides the - servers and bandwidth used for buildbot testing and various windows based servers. -

    - -

    - Redpill Linpro provides managed servers and bandwidth for various php.net services. -

    - -

    - Facebook provides us with SSL certificates. -

    - -

    - Krystal.co.uk provides a server and bandwidth - for build testing and various PHP testing and quality assurance services. -

    - -

    - ServerGrove provides managed servers and bandwidth for various php.net services. -

    - -

    - Bauer + Kirch GmbH provides a server and bandwidth - for the php.net monitoring infrastructure. -

    - -

    - And special thanks to all the companies who donate server space and - bandwidth to host our international array of - mirror sites. -

    - -

    Thanks Emeritus

    - -

    - Special 'legacy' thanks go to the people and companies who have helped - us in our past. -

    - -

    - Synacor provided us with many - terabytes of bandwidth and hosting for www.php.net and others for - many years. -

    - -

    - VA Software Corp. helped us - by donating a server and resources to enable us to build manuals - and distribute our content via rsync. -

    - -

    PHP.net is very grateful for all their support.

    - - diff --git a/tips.php b/tips.php deleted file mode 100644 index bf587817b1..0000000000 --- a/tips.php +++ /dev/null @@ -1,402 +0,0 @@ -About URL shortcuts -

    - Most of the tips here utilize PHP.net URL shortcuts, so they allow you - more then just function lookups. For more information on what is possible - with our shortcuts, see the URL Howto page. -

    - -

    More on language selection

    -

    - These shortcuts display pages in your own preferred language, as detected - by the PHP site. For more information on language selection, see - the My PHP.net page. -

    -'; -site_header("Quick Reference Tips", array("current" => "help")); - -function tip_title($title, $author = '', $date = '') -{ - echo "
    \n

    $title
    \n"; - echo "Submitted by $author ($date)

    \n"; -} -?> - -

    Quick Reference Tips

    - -

    - On this page, you can find many neat tips and tricks to look up - information about PHP functions and language constructs. - Send your suggestions for tips to the webmasters. -

    - - -

    -This is the complete php manual including user notes that works 100% OFFLINE. -It allows for searching, and quick access by using the Omnibox Feature. -To use the omnibox type > Ctlr+T > Type "OP" > Press (Tab) > Enter the function name -

    -

    -For more info, see -https://chrome.google.com/webstore/detail/mlilmganaobieaclflbciblffhaagnip -

    - - - -

    - PHPDevBar is an addon for Firefox. This toolbar uses the official documentation - from PhD and quickly retrieves method and function definitions. - You can also use it to search in PHP Web sites. -

    -

    - Besides that, PHP Developer Toolbar has a huge list of user groups and server and client tools/links. - The addon also contains PHPClassGen, which allows you to easily generate - a class and its HTML Form just by filling out a form. -

    -

    - The Firefox addon is available at - https://addons.mozilla.org/pt-BR/firefox/addon/php-developer-toolbar/. - See the projects website for more details at http://phpdevbar.org -

    - - - -

    - Rust right-click (control-click or click-and-hold for Macintosh users) - on this link: PHP Quick Reference - and add it to your bookmarks. With some browsers, you may need to edit - your bookmarks manually to give the bookmark an easy-to-remember title. -

    -

    - If you want the bookmark toolbar to appear simply press Ctrl+B. -

    - - - -

    - In Opera, go to Tools --> Preferences, and then click on the Search tab. You - should "Add a new search engine" and fill in the appropriate fields. My - choices are below. -

    -
      -
    • Name: PHP
    • -
    • Keyword: p
    • -
    • Address: http://php.net/search.php
    • -
    • Query string: pattern=%s&show=quickref
    • -
    -

    - You have to check "Use POST" to be able to type in a query string. -

    -

    - From then on (click OK twice to close the windows) you should be able to search - the function list by typing "p function" in the address bar (or use the - search dropdown menu). You can change "quickref" to "all" if you want to - search all php.net sites, or "manual" for the online documentation. -

    - - - -

    - There are some options for - Apple Dashboard users: -

    -
      -
    • - Andrew Hedges created the PHP - Function Reference widget, which ships with a copy of the PHP Manual, and - includes additional functionality, such as a favourites list and an interactive - date() formatter. -
    • -
    • - Claudio Procida's PHPQuickReference widget provides a custom - view of the online PHP documentation with some added features. -
    • -
    • - Havard Eide implemented the - Dashboard Widget version of phpm, - providing function lookups. -
    • -
    • - Simon Ganiere created the PHP - Manual widget, which provides a simple search field to the PHP.net - function lookup search. -
    • -
    • - Nathan Bolender also created a simple PHP.net - Search widget, available from the Apple website. -
    • -
    - - - -

    - You can point your search engine setting to a local script on your own webserver, - and set up a PHP script to allow you to use shortcuts provided by other browsers. - See the detailed explanation at - MacOSXHints.com. -

    - - - -

    - The WeberDev Toolbar provides direct - search functions to the PHP function list and the bug database, right from a - browser toolbar. -

    - - - -

    - BBEdit users can put this little AppleScript into the Scripts folder of - BBEdit to look up functions on the PHP website as they type. This will - probably work in other AppleScript supporting text editors too, with - small modifications. The script uses the current selection, or prompts for - a function name, and uses the default browser to show the page at php.net. -

    -
    -tell application "BBEdit"
    -    set fu to selection of window 1 as string
    -    if fu = "" then
    -        set fu to text returned of (display dialog "PHP Function:" default answer "")
    -    end if
    -
    -    if fu is not "" then
    -        set target_URL to "" & fu
    -        open location target_URL
    -    end if
    -end tell
    -
    - - - -

    - Open the Preferences dialog box, select Searches and then Internet Sites. - Click New, add "PHP Quick Reference" as the Title, and - "" as the URL. If - you add a letter in the Key column (eg. "p") you can search using the - address bar with that letter (eg. "p str_replace"). Otherwise, use Edit - → Find (Cmd-F) and select "On the Internet" under Find and choose - "PHP Quick Reference" as the search site. -

    - - - -

    - Just right-click on this link: - PHP Quick Reference - and add it to your bookmarks. Using this bookmark you can directly get to - the documentation page of any function you have selected the name of - on the page, or if there is no selection, you are prompted for a string to - look for. -

    - - - -

    - In KDE 3.0, the PHP quicksearch - is preconfigured, so you can type "php:mail" in Konqueror to get - the mail() function's manual page. -

    - - - -
      -
    1. Press CTRL+D to add a bookmark
    2. -
    3. Edit the bookmark, filling the following fields in: -
      -
      Name
      PHP
      -
      URL
      -
      Smart URL
      -
      Nicknames
      php
      -
      -
    4. -
    5. - You can also add a logo to the bookmark, see our - logos page -
    6. -
    - - - -
      -
    1. Open the Preferences window in OmniWeb, and select Shortcuts.
    2. -
    3. Click the + button to add a shortcut.
    4. -
    5. In the Shortcut column type: php@
    6. -
    7. In the Destination URL column type: %@
    8. -
    9. Close the Preferences window.
    10. -
    - -

    - Now you can search for PHP functions by typing into the URL well. - For instance, php mysql or php strstr. -

    - - - -

    - Add this stuff to search.ini in your Opera directory. -

    - -

    - I replaced one of the existing search engine entries - (number 4 in this case), but there are tools around - that allow you to fully manage the search features of Opera. -

    - -

    - After adding, saving and restarting Opera, I can access the - PHP function list by typing 'p is_dir' in the address bar of - any Opera window. -

    - -
    -[Search Engine 4]
    -Name=PHP
    -URL=
    -Query=
    -Key=p
    -Is post=0
    -Has endseparator=0
    -Encoding=utf-8
    -Search Type=0
    -
    - - - -

    - With KDE 2.1, it is possible - to configure the Konqueror web browser to recognize quick reference - URIs, for example: "php:mysql_connect". -

    - -

    - Just open the Konqueror menu "Settings → Configure Konqueror", - select the tab "Enhanced Browsing", check "Enable Web Shortcuts". -

    - -

    - Then click on "Add..." and fill the dialog: -

    - -
      -
    • Search provider name: "PHP Manual Quick Reference"
    • -
    • Search URI: \1
    • -
    • URI Shortcuts: php
    • -
    - -

    - Voila! -

    - - - -

    - Just right-click (control-click or click-and-hold for Macintosh users) - on this link: PHP Quick Reference - and add it to your bookmarks. With some browsers, you may need to edit - your bookmarks manually to give the bookmark an easy-to-remember title. -

    - - - -

    - Quick access to PHP documentation and site search for all Mozilla (including Firebird) - and Netscape 6/7 users: -

    - -
      -
    1. Click "Bookmarks → Manage Bookmarks"
    2. -
    3. - Create a bookmark in a folder of your choice on - the following URL: %s - and choose a name for it. -
    4. -
    5. - Right click the bookmark you have just created and select "Properties..." -
    6. -
    7. - Choose a "custom keyword" you want to enter in the URL bar, - eg. "php" and fill it in. -
    8. -
    9. Click "ok" and open a new browser window.
    10. -
    11. - Finished. Now you are able to enter eg. "php fgets" to look - up the manual entry on the function fgets(). You can also access - PHP.net pages with this shortcut. If you type "php links" you will - get to the links page on our site. -
    12. -
    - - - -
      -
    1. - If you don't already have the IE5 Tools package, download and install it from - www.microsoft.com/Windows/IE/WebAccess/ie5tools.asp -
    2. -
    3. Launch the QuickSearch utility (you'll find it on your Links bar)
    4. -
    5. - Add a new search shortcut by clicking on "New" and use the - following settings: -
        -
      • Shortcut: php
      • -
      • Search: Custom URL
      • -
      • URL: %s
      • -
      -
    6. -
    7. Click "Ok", then click "Save" to keep your new settings
    8. -
    9. - That's it! Try it by typing "php strlen" in the IE Address bar. - You should jump right to the manual entry for strlen(). -
    10. -
    - - - -

    - Further to the example above for Windows/IE users, here's something - Linux folks can do: -

    - -
      -
    1. Create a file called phpfind somewhere on an executable path
    2. -
    3. - In that file, write the following code (substituting the path to Netscape, - if necessary): -
      -#!/bin/sh
      -/usr/bin/netscape $1
      -
      -
    4. -
    5. Save it and type chmod +x phpfind to make it executable
    6. -
    7. - That's it. When you type "phpfind fopen" on your command line, - Netscape will open the fopen() documentation page for you. -
    8. -
    - - - -

    - Here's another search option for Linux users who use Gnome. This is a macro - for gnome's mini-commander panel applet (modified from the Yahoo search that - comes with the applet): -

    - -

    - Regex:
    ^php: *(.*)$ -

    - -

    - Macro:
    - gnome-moz-remote --newwin $(echo
    -'\1'|sed -e ': p;s/+/%2B/;t p;: s;s/\ /+/;t s;: q;s/\"/%22/;t q')
    -

    - - diff --git a/track_ref.php b/track_ref.php deleted file mode 100644 index 458b70dcf4..0000000000 --- a/track_ref.php +++ /dev/null @@ -1,7 +0,0 @@ - -KO diff --git a/urlhowto.php b/urlhowto.php deleted file mode 100644 index af20e68d6e..0000000000 --- a/urlhowto.php +++ /dev/null @@ -1,209 +0,0 @@ -URL examples -

    - We have many kind of URL shortcuts. Here are some - examples you can try out: -

    - - -

    Quick reference tips

    -

    - You can find more - quick reference tips on our site. -

    - -

    My PHP.net

    -

    - URL shortcut behaviour is greatly influenced by - your language preferences - detected and set. -

    -'; - -site_header("URL Howto", array("current" => "help")); -function a($href) { - global $MYSITE; - echo '' . $MYSITE . $href . ''; -} - -?> - -

    Navigation tips&tricks

    - -

    - When using the PHP.net website, there is even no need to get to - a search box to access the content you would like to see quickly. - You can use short PHP.net URLs to access pages directly. -

    - -

    - Note, that these shortcuts are expected to work on all mirror - sites, not just at the main site. If you find that some of these - shortcuts are not working on your mirror site, please report them - as a "PHP.net Website Problem" at - http://bugs.php.net/. -

    - -

    - There are currently three types of URLs you can use this way. -

    - -

    Page shortcuts

    - -

    - If you write in a PHP.net URL, like get-involved, - first this URL is matched against the PHP.net pages. If there is - a page named get-involved.php, then you'll get that page - immediately. This type of shortcut makes easy to type in a link - in an IRC conversation or mailing list message. If the script - finds no page with this name, it tries to find a manual page. -

    - -

    Manual shortcuts

    - -

    - If your URL can't be matched with a page name, a manual page - is searched for your query. This is the case for the - preg_match URL. The following pages - are searched for in the manual:

    -
      -
    • Chapter pages, like installation
    • -
    • Reference pages, like imap
    • -
    • Function pages, like join
    • -
    • Class pages, like dir
    • -
    • Feature pages, like safe_mode
    • -
    • Control structure pages, like while
    • -
    • Other language pages, like oop
    • -
    -

    - Since there are several manual pages that could potentionally match the query - (extension, class, function name..) you are encouraged to use their prefix/suffix: -

    -
      -
    • Extension TOC: - book.extname - (ex: ). -
    • -
    • Extension intro pages: - intro.extname - (ex: ). -
    • -
    • Extension setup TOC: - extname.setup - (ex: ). -
    • -
    • Extension install chapter: - extname.installation - (ex: ). -
    • -
    • Extension configuration: - extname.configuration - (ex: ). -
    • -
    • Extension resources: - extname.resources - (ex: ). -
    • -
    • Extension constants: - extname.constants - (ex: ). -
    • -
    • Class synopsis: - class.classname - (ex: ). -
    • -
    • Class method: - classname.methodname - (ex: ). -
    • -
    • Functions: - function.functionname - (ex: ). -
    • -
    - -

    - This kind of URL will bring up the manual page in - your preferred language. You can - always override this setting by explicitly providing - the language you want to get to. You can embed the language - in the URL before the manual search term. - hu/sort will bring up - the Hungarian manual page for sort() for example. -

    - -

    Search shortcuts

    - -

    - At last, if there is no PHP page, and there is no manual - page matching your query, a search is issued on the site with - the query you typed into the URL. An example of this kind - of URL is search_for_this. - The exact behaviour of this search is affected by - your own My PHP.net settings. -

    - -

    PHP Developer shortcuts

    -
      -
    • Snap downloads: http://snaps.php.net/?53 - (ex: latest 5.3 snap. Use ?trunk or ?latest for latest trunk) -
    • -
    • Changelog information: http://php.net/changelog - (ex: latest PHP changelog. php5news = latest PHP 5 NEWS, phptrunknews = latest PHP trunk NEWS) -
    • -
    • Bugs: http://php.net/42 - (any numeric value redirects to said bug # at bugs.php.net) -
    • -
    • reST based README info: http://php.net/reST/ - (lists several README files) -
    • -
    - -

    Even smarter tricks

    - -

    - We also have shortcut aliases to access some resources more quickly, - and with a nice URL. Aliases are translated to their relevant shortcuts - before the first step (PHP page search) mentioned above. Some examples - of shortcut aliases: whatisphp, - php4news. The latter is an external page - alias, as it points to a file on the Git server, containing information - about changes in PHP. There are also some convenient aliases, like - de/phpversion which displays the German - manual page for the phpversion() function. -

    - -

    Get it on your site

    - -

    - What enables PHP.net to have this feature is a combination of some - ErrorDocument Apache settings, redirecting the browser to another page - in case of an "Error 401/3/4" and a little search script that looks up - page names or functions names in the manual corresponding to what - you searched for in search_for_this. - We also have a general language selection method. -

    - -

    - Everything behind this feature is available here: -

    - - - diff --git a/usage.php b/usage.php deleted file mode 100644 index b938af3b92..0000000000 --- a/usage.php +++ /dev/null @@ -1,41 +0,0 @@ - "community")); -?> - -

    Usage Stats for January 2013

    - -

    -PHP: 244M sites, 2.1M IP addresses
    -Source: Netcraft
    -

    - -

    - -

    - -

    -w3techs.com provides statistics for -server-side programming languages -where you can also see the market share -by version. -
    -See their FAQ and technologies -page for the details of the methodologies used for the surveys. -

    - -

    - You can also see how popular PHP is relative to other Apache modules - at SecuritySpace's - Web Survey. -

    - -

    - There is also a - Programming Community Index - provided by TIOBE. -

    - - diff --git a/userprefs.js b/userprefs.js deleted file mode 100644 index 3aee6a3cc1..0000000000 --- a/userprefs.js +++ /dev/null @@ -1,78 +0,0 @@ -// Get a value of one cookie set by it's name -// Impmentation from the JS 1.3 Client Guide by Netscape -function getCookie(Name) -{ - var search = Name + "="; - if (document.cookie.length > 0) { - offset = document.cookie.indexOf(search); - if (offset != -1) { - offset += search.length; - end = document.cookie.indexOf(";", offset); - if (end == -1) { end = document.cookie.length; } - return unescape(document.cookie.substring(offset, end)); - } - } - return null; -} - -// Make events in the user's country bold -function boldEvents() -{ - // Get cookie if possible - country = getCookie("COUNTRY"); - if (typeof(country) == "string") { - - // Get country code from cookie - country = country.substring(0, 3); - - // If DOM is supported, get s - if (document.getElementsByTagName) { - - spans = document.getElementsByTagName("span"); - - // Style every span bold which is for this country - for (var i = 0; i < spans.length; i++) { - if (spans[i].className == "event_" + country + " vevent") { - spans[i].style.fontWeight = "bold"; - } - } - } - } -} - -// Load function name suggestion code (for search box) -function loadSuggestCode() -{ - searchEnabled = true; - // Force default turnoff for buggy Mac browsers - if (navigator.userAgent.toLowerCase().indexOf('mac') > 0) { - searchEnabled = false; - } - - myphpnet = getCookie('MYPHPNET'); - if (typeof(myphpnet) == "string") { - myphpnet_parts = myphpnet.split(","); - if (myphpnet_parts.length > 3) { - if (myphpnet_parts[3] == '1') { - searchEnabled = false; - } - // Enable if user explicity wanted to enable it - // Important for Mac users, who get disabled by default - else if (myphpnet_parts[3] == '0') { - searchEnabled = true; - } - } - } - if (searchEnabled && document.getElementsByTagName && document.createElement) { - var elems = document.getElementsByTagName("*"); - for (var i = 0; i < elems.length; i++) { - if (elems[i].tagName.toLowerCase() == 'head') { - var scriptElem = document.createElement('script'); - scriptElem.setAttribute('type', 'text/javascript'); - scriptElem.setAttribute('src', '/functions.js'); - elems[i].appendChild(scriptElem); - break; - } - } - } -} diff --git a/views/homepage/sidebar.php b/views/homepage/sidebar.php deleted file mode 100644 index 65266ee5c5..0000000000 --- a/views/homepage/sidebar.php +++ /dev/null @@ -1,10 +0,0 @@ - - - -

    Tips and Tricks

    -

    Conferences

    -

    User Group Events

    -

    Special Thanks

    - diff --git a/views/homepage/sidebar_conferences.php b/views/homepage/sidebar_conferences.php deleted file mode 100644 index cdcf163a5b..0000000000 --- a/views/homepage/sidebar_conferences.php +++ /dev/null @@ -1,75 +0,0 @@ -21. TriPUG
    -21. OINK-PUG (Cincinnati, Ohio)
    -21. Utah PHP Users Group Meeting
    -21. Denver - FRPUG
    -21. Burlington, VT PHP Users Group
    -25. Long Island PHP Users Group
    -25. Tampa Bay Florida PHP
    -25. Winnipeg PHP
    -26. New York
    -26. AzPHP
    -26. Malaysia PHP Meetup
    -26. PHP Usergroup Karlsruhe
    -26. PHPUG Wuerzburg
    -26. DCPHP Beverage Subgroup
    -26. Brisbane PHP User Group
    -26. PHP User Group Roma
    -27. Irish PHP Users Group meeting
    -27. Edinburgh PHP Users Group
    -28. Arabic PHP Group Meeting
    -28. Malaysia PHP User Group Meet Up
    -28. Sandy PHP Group
    -28. Memphis PHP
    -30. Miami Linux Meetup
    -30. PHP RIO Meetup
    -30. PHP User Group Hong Kong
    -

    August

    -

    User Group Events

    - -

    Training

    -01. MySQL Spain
    -01. Curso PHP Madrid
    -01. PHP E-Learning/Germany
    -01. Curso on-line ActionScript / PHP
    -01. PHP & MySQL Training in Kassel
    -01. PHP & MySQL com Dreamweaver MX
    -01. Curso on-line de PHP
    -01. PHP & MYSQL-Construindo WebSites
    -01. PHP Training Heilbronn
    -01. ZEND:Framework Fundamentals
    -01. ZEND: PHP I Foundations on-line
    -01. ZEND: PHP II Higher Structures
    -01. ZEND: Quick Start for PHP
    -01. PHP Training Philippines
    -02. Curso on-line de PHP-MySQL
    -02. PHP Class at CalTek
    -03. PHP Training - Chennai - India
    -03. Zend Certification
    -04. Curso de PHP Avanzado en Bilbao
    -06. PHP & AJAX -Construindo Websites
    -06. Core and Advanced PHP Workshop
    -07. Ahmedabad PHP Group Training
    -07. php training
    -08. PHP para Expertos Curso on-line
    -08. Curso PHP y MySQL
    -10. UK Object Orientation Workshop
    -11. UK Smarty Templating Workshop
    -15. PHP & MySQL Training / Gießen
    -15. ZEND:Framework Advanced On-line
    -15. ZEND: Test Prep: PHP 5.3 Cert
    -16. Cursos de PHP en Bilbao
    -16. Zend Framework Philippines
    -17. Introducing "PaaS in a Box"
    -18. Chennai PHP Training
    -22. PHP Intro Course South Africa
    -22. ZEND: Zend Server
    -22. ZEND: Zend Studio 8
    -23. UK PHP Training
    -23. ZEND: On-line PHP Security
    -23. Intro: OOP für IBM i Entwickler
    -25. PHP Brasil - Training
    -26. PHP Training
    -27. MySQL5.Проектирован�
    -29. Basic PHP Course
    -29. Разработка на PHP 5
    -END_RSIDEBAR_DATA; diff --git a/views/mirrors/list.php b/views/mirrors/list.php deleted file mode 100644 index 8a24c56cfb..0000000000 --- a/views/mirrors/list.php +++ /dev/null @@ -1,75 +0,0 @@ - $mirror) { - - if(!isset($grouped_mirrors[$mirror[0]])) { - $grouped_mirrors[$mirror[0]] = array(); - } - - $grouped_mirrors[$mirror[0]][] = array( - 'url' => $key, - 'country_code' => $mirror[0], - 'title' => $COUNTRIES[$mirror[0]], - 'provider_title' => $mirror[1], - 'provider_url' => $mirror[3] - ); -} - - -foreach($grouped_mirrors as $country) { - - $first = true; - - foreach($country as $mirror) { - - $murl = $mirror['url']; - $country = $mirror['country_code']; - - // If the mirror is not all right or it is virtual (not an official mirror), skip it - if (mirror_status($mirror['url']) != MIRROR_OK || mirror_type($mirror['url']) == MIRROR_VIRTUAL) { continue; } - - // Get the country code and check if it is matching the country provided (or does not - // match the country, which it should not be) - $country = mirror_country($mirror['url']); - - if($first): - ?> - -
    -
    -
    - <?php echo $mirror['title']; ?> -
    - - -
    -
    -
    -
    - - -
    - - - 'community', - 'css' => array('mirror.css') -); -site_header("Mirror Sites", $header_config); -?> -
    - -

    Mirror Sites

    - -
    -

    - Listed below are the official, active, and fully functional PHP.net mirrors. - Some mirrors might be missing from this list because mirrors are - automatically deactivated when problems arise. Mirrors are continuously - checked and reactivated when appropriate. -

    -

    - We suggest you choose a PHP.net mirror that is - geographically close to you. All mirrors provide identical features and - services, with the only difference being the increased speed that close - mirrors provide. Your current mirror is highlighted in the list below. -

    -

    - If you are interested in hosting a mirror of this site, - read our mirroring page. -

    -
    - -
    - -
    - - -
    - - - \ No newline at end of file diff --git a/ws.php b/ws.php deleted file mode 100644 index 0561aaad31..0000000000 --- a/ws.php +++ /dev/null @@ -1,124 +0,0 @@ -'php.net', - 'local'=>'php.net', - 'quickref'=>'php.net', - '404quickref'=>'php.net', - 'manual'=>"php.net/manual/$l", - '404manual'=>"php.net/manual/$l", - 'news'=>'news.php.net', - 'bugs'=>'bugs.php.net', - 'pear'=>'pear.php.net', - 'pecl'=>'pecl.php.net', - 'talks'=>'talks.php.net', - ); - -$market = 'en-ca'; -if(!empty($LANGUAGES_MAP[$l])) $market = $LANGUAGES_MAP[$l]; - -if(isset($sites[$_REQUEST['profile']])) { - $scope = htmlspecialchars($_REQUEST['profile'], ENT_QUOTES); - // If they are doing a manual search in a language we don't have a translation for, default to English - if($scope == 'manual' && empty($ACTIVE_ONLINE_LANGUAGES[$l])) { - $sites['manual'] = "php.net/manual/en"; - } -} else { - $scope = 'all'; -} - -// mtime is stored on the first line of the result file to -// avoid needing to call clearstatcache() -function limited_intermediate_result_cache($url,$ttl=1800, &$error=NULL) { - global $cached; - $cfile = '/var/tmp/bing_'.md5($url).'.json'; - $mtime = 0; - $data = ''; - - $fp = @fopen($cfile, 'r'); - if($fp) { - $mtime = (int)fgets($fp); - $data = trim(stream_get_contents($fp)); - fclose($fp); - $cached = 1; - } - if(!$mtime || ($ttl && ($mtime < ($_SERVER['REQUEST_TIME']-$ttl)))) { - $ch = curl_init(); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); - curl_setopt($ch, CURLOPT_TIMEOUT, 5); - $tmp = curl_exec($ch); - $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); - if($status_code!=200) { - $error = array('status_code'=>$status_code,'body'=>$data); - fclose($fp); - if(strlen($data)) return $data; - else return false; - } - $data = $tmp; - $cached = 0; - $fp = fopen($cfile, 'w'); - fputs($fp, $_SERVER['REQUEST_TIME']."\n"); - fputs($fp, $data); - fflush($fp); - fclose($fp); - } - return $data; -} - -$request = "{$conf['svc']}?appid={$conf['appid']}&query=$q%20site:{$sites[$scope]}&version=2.2&Sources=Web&web.offset=$s&web.count=$r&market=$market"; -$error = ''; -$cached = 0; -$data = limited_intermediate_result_cache($request, 1800, $error); -if($data) echo ws_bing_massage($data); -else echo serialize($error); - -function ws_bing_massage($data) { - $results = json_decode($data, true); - $rsp = $results['SearchResponse']['Web']; - $set = $rsp['Results']; - - $massaged = array( - 'ResultSet' => array( - 'totalResultsAvailable' => $rsp['Total'], - 'totalResultsReturned' => count($set), - 'firstResultPosition' => $rsp['Offset'], - 'Result' => array(), - ), - ); - - foreach ((array)$set as $result) { - $massaged['ResultSet']['Result'][] = array( - 'Title' => $result['Title'], - 'Summary' => $result['Description'], - 'Url' => $result['Url'], - 'ClickUrl' => $result['Url'], - 'MimeType' => NULL, // Not returned by Bing - 'ModificationDate' => strtotime($result['DateTime']), - 'Cache' => $result['CacheUrl'] - ); - } - - return serialize($massaged); -} - -if($raw!='mirrortest'): -$dbh = new PDO('mysql:host=localhost;dbname=ws', $conf['db_user'], $conf['db_pw'], array(PDO::ATTR_PERSISTENT => true, - PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true)); -$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -try { - $stmt = $dbh->prepare("INSERT INTO log (query,profile,mirror,lang,cached) VALUES (:query,:profile,:mirror,:lang,:cached)"); - $stmt->execute(array(':query'=>$raw,':profile'=>$scope,':mirror'=>$m,':lang'=>$l,':cached'=>$cached)); -} catch (PDOException $e) { - -} -endif; -?> diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000000..1f195cd592 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,41 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@playwright/test@^1.44.0": + version "1.44.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.44.0.tgz#ac7a764b5ee6a80558bdc0fcbc525fcb81f83465" + integrity sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg== + dependencies: + playwright "1.44.0" + +"@types/node@^20.12.11": + version "20.12.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" + integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== + dependencies: + undici-types "~5.26.4" + +fsevents@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +playwright-core@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.44.0.tgz#316c4f0bca0551ffb88b6eb1c97bc0d2d861b0d5" + integrity sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ== + +playwright@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.44.0.tgz#22894e9b69087f6beb639249323d80fe2b5087ff" + integrity sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ== + dependencies: + playwright-core "1.44.0" + optionalDependencies: + fsevents "2.3.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==