主页/PHP笔记/PHP问答/与WEB前端/如何在PHP中使用MongoDB

如何在PHP中使用MongoDB

Bug编译狮

Bug编译狮

在PHP中使用MongoDB,你可以按照以下步骤进行:

  1. 安装MongoDB扩展: 首先,你需要确保你的PHP环境中已经安装了MongoDB扩展。你可以通过Composer来安装它。

    composer require mongodb/mongodb
  2. 连接到MongoDB服务器: 使用MongoClient类来连接到MongoDB服务器。

    <?php
    $client = new MongoClient('mongodb://localhost:27017');
    ?>
  3. 选择数据库和集合: 使用selectDatabase方法选择要操作的数据库,并使用selectCollection方法选择要操作的集合。

    <?php
    $db = $client->selectDatabase('mydatabase');
    $collection = $db->selectCollection('mycollection');
    ?>
  4. 插入数据: 使用insertOne方法向集合中插入一条记录。

    <?php
    $document = [
       'name' => 'John Doe',
       'age' => 30,
       'email' => 'john.doe@example.com'
    ];
    
    $result = $collection->insertOne($document);
    echo "Inserted ID: " . $result->getInsertedId();
    ?>
  5. 查询数据: 使用find方法查询集合中的所有记录。

    <?php
    $cursor = $collection->find();
    
    foreach ($cursor as $document) {
       print_r($document);
    }
    ?>
  6. 更新数据: 使用updateOne方法更新集合中的记录。

    <?php
    $filter = ['name' => 'John Doe'];
    $update = ['$set' => ['age' => 31]];
    
    $result = $collection->updateOne($filter, $update);
    echo "Modified count: " . $result->getModifiedCount();
    ?>
  7. 删除数据: 使用deleteOne方法从集合中删除一条记录。

    <?php
    $filter = ['name' => 'John Doe'];
    
    $result = $collection->deleteOne($filter);
    echo "Deleted count: " . $result->getDeletedCount();
    ?>

以上是使用PHP与MongoDB进行基本操作的步骤。如果你需要更复杂的操作,比如聚合、游标等,请参考MongoDB的官方文档。

黑板Bug讲师

黑板Bug讲师

MongoDB是一种流行的NoSQL数据库,它允许用户存储和检索非结构化数据。

MongDB是一款流行的NoSQL数据库,以其可扩展性和灵活性而闻名。它允许您以类似于JSON的方式存储文档,这使得其非常适合需要动态模式的应用程序。在本教程中,我们将学习如何使用MongDB与PHP一起工作,这是一种广泛使用的服务器端脚本语言,用于推动网络上的大量应用。

设置环境

在我们深入代码之前,必须先设置环境。这意味着你需要在系统上安装MongoDB和PHP。

安装MongoDB

安装MongoDB,请参阅提供的官方说明。确保安装社区版的MongoDB,这是一个免费且开源的版本。

安装PHP

你可以从php.net下载并安装PHP。确保根据操作系统和使用场景选择安装线程安全版本或非线程安全版本的PHP。

安装MongoDB PHP驱动程序

你需要安装MongoDB的PHP驱动程序来使用PHP与您的MongoDB实例进行交互。你可以通过PECL(一个用于PHP扩展的仓库)来完成这个操作。运行以下命令:

pecl install mongodb

安装驱动程序后,需要将其添加到php.ini文件中:

extension=mongodb.so

使用PHP存储数据到MongoDB

好的,让我们存储一些数据!首先,创建一个新的MongoDB客户端实例。

require_once 'vendor/autoload.php';

use MongoDBClient;

$client = new Client('mongodb://127.0.0.1/');

接下来,请选择您的数据库和集合:

$db = $client->myDatabase;
$collection = $db->users;

已添加文档到集合:

$insertOneResult = $collection->insertOne([
    'name' => 'Jane Doe',
    'email' => '[email protected]',
    'age' => 27
]);

echo "Inserted with Object ID '{
$insertOneResult->getInsertedId()
}';"

查询MongoDB中的数据

要从MongoDB检索数据,我们可以使用MongoDB PHP库提供的各种查询方法。以下示例展示了如何根据字段值查找单个文档:

$document = $collection->findOne(['name' => 'Jane Doe']);

var_dump($document);

为了获取满足特定条件的所有文档,请使用find()方法。

foreach ($collection->find(['age' => ['$gt' => 20]]) as $doc) {
    var_dump($doc);
}

更新数据在MongoDB中

更新操作是很常见的,下面是使用MongoDB PHP库执行更新的方法:

$updateResult = $collection->updateOne(
    ['name' => 'Jane Doe'],
    ['$set' => ['age' => 28]]
);

echo "Matched {
$updateResult->getMatchedCount()
} document(s)nUpdated {
$updateResult->getModifiedCount()
} document(s)";

从MongoDB删除数据

删除操作也非常简单。以下是如何删除文档的示例:

$deleteResult = $collection->deleteOne(['name' => 'Jane Doe']);

echo "Deleted {
$deleteResult->getDeletedCount()
} document(s)";

高级查询和MongoDB聚合

MongoDB 提供了高级查询能力和聚合工具,而 PHP 的 MongoDB 库提供了利用这些功能的方法。以下是一些概览:

$cursor = $collection->aggregate([
    ['$match' => ['age' => ['$gte' => 30]]],
    ['$group' => ['_id' => '$age', 'count' => ['$sum' => 1]]]
]);

foreach ($cursor as $document) {
    echo "Age {
$document->_id
}: Count {
$document->count
}";
}

处理连接和错误

在处理数据库操作时,始终要考虑到可能的异常和错误情况:

try {
    // perform operations here
} catch (MongoDB\Exception\Exception $e) {
    echo 'Error: ' . $e->getMessage();
}

结论。

使用MongoDB与PHP似乎一开始会有些困难,但有了正确的工具和技术,它变得非常容易。本指南已经为你提供了开始的基本步骤。请记住,要了解更高级的用法和功能,请参阅官方MongoDB PHP库文档。开心编码!

长工码奴1523

长工码奴1523

在 PHP 中使用 MongoDB 是一种常见的方法来处理数据存储和检索需求。以下是基本的步骤:

  1. 安装 MongoDB:首先需要在您的服务器上安装 MongoDB。对于 Linux 和 macOS,请运行以下命令:

    sudo apt-get install mongodb-org
  2. 配置 MongoDB 连接信息:在 PHP 项目中,您需要配置连接到 MongoDB 的数据库和集合的信息。这通常包括数据库名称(db)、集合名称(collection)以及要使用的认证信息。

  3. 创建 MongoDB 数据库:创建数据库的命令如下:

    mongo
    use my_database
    createDatabase db_name
  4. 在 PHP 中操作 MongoDB:您可以使用 PHP 的 MongoDB 套件(php-mongodb)与 MongoDB 进行交互。首先,确保您已将 php-mongodb 添加为依赖项。

    
    composer require phpdocumentor/phpdoc-orm
    composer require phpstan/phpdoc-parser
    composer require phpstan/phpdoc-code-generator
    composer require phpstan/phpstan
    composer require phpstan/phpstan-assertions
    composer require phpstan/phpstan-diagnostic
    composer require phpstan/phpstan-phpdoc
    composer require phpstan/phpstan-extensions
    composer require phpstan/phpstan-tools
    composer require phpstan/phpstan-code-quality
    composer require phpstan/phpstan-doc-blocks
    composer require phpstan/phpstan-lexer
    composer require phpstan/phpstan-symfony
    composer require phpstan/phpstan-symfony-lexer
    composer require phpstan/phpstan-phpdoc
    composer require phpstan/phpstan-phpunit
    composer require phpstan/phpstan-phpunit-lexer
    composer require phpstan/phpstan-xmlrpc
    composer require phpstan/phpstan-xmlrpc-lexer
    composer require phpstan/phpstan-yaml
    composer require phpstan/phpstan-yaml-lexer
    composer require phpstan/phpstan-bcmath
    composer require phpstan/phpstan-bcmath-lexer
    composer require phpstan/phpstan-castinfo
    composer require phpstan/phpstan-castinfo-lexer
    composer require phpstan/phpstan-class-inheritances
    composer require phpstan/phpstan-class-inheritances-lexer
    composer require phpstan/phpstan-compare
    composer require phpstan/phpstan-compare-lexer
    composer require phpstan/phpstan-constraints
    composer require phpstan/phpstan-constraints-lexer
    composer require phpstan/phpstan-deprecated
    composer require phpstan/phpstan-deprecated-lexer
    composer require phpstan/phpstan-expression-value
    composer require phpstan/phpstan-expression-value-lexer
    composer require phpstan/phpstan-function-return-type
    composer require phpstan/phpstan-function-return-type-lexer
    composer require phpstan/phpstan-function-statements
    composer require phpstan/phpstan-function-statements-lexer
    composer require phpstan/phpstan-global
    composer require phpstan/phpstan-global-lexer
    composer require phpstan/phpstan-import
    composer require phpstan/phpstan-import-lexer
    composer require phpstan/phpstan-imports
    composer require phpstan/phpstan-imports-lexer
    composer require phpstan/phpstan-interface
    composer require phpstan/phpstan-interface-lexer
    composer require phpstan/phpstan-iterators
    composer require phpstan/phpstan-iterators-lexer
    composer require phpstan/phpstan-keywords
    composer require phpstan/phpstan-keywords-lexer
    composer require phpstan/phpstan-literal
    composer require phpstan/phpstan-literal-lexer
    composer require phpstan/phpstan-list
    composer require phpstan/phpstan-list-lexer
    composer require phpstan/phpstan-member-access
    composer require phpstan/phpstan-member-access-lexer
    composer require phpstan/phpstan-namedarguments
    composer require phpstan/phpstan-namedarguments-lexer
    composer require phpstan/phpstan-notnull
    composer require phpstan/phpstan-notnull-lexer
    composer require phpstan/phpstan-parenthesized
    composer require phpstan/phpstan-parenthesized-lexer
    composer require phpstan/phpstan-property-access
    composer require phpstan/phpstan-property-access-lexer
    composer require phpstan/phpstan-provided-types
    composer require phpstan/phpstan-provided-types-lexer
    composer require phpstan/phpstan-require
    composer require phpstan/phpstan-require-const
    composer require phpstan/phpstan-require-const-lexer
    composer require phpstan/phpstan-static-method
    composer require phpstan/phpstan-static-method-lexer
    composer require phpstan/phpstan-string
    composer require phpstan/phpstan-string-lexer
    composer require phpstan/phpstan-template
    composer require phpstan/phpstan-template-lexer
    composer require phpstan/phpstan-trait
    composer require phpstan/phpstan-trait-lexer
    composer require phpstan/phpstan-typehinting
    composer require phpstan/phpstan-typehinting-lexer
    composer require phpstan/phpstan-uses
    composer require phpstan/phpstan-uses-lexer
    composer require phpstan/phpstan-whitespace
    composer require phpstan/phpstan-whitespace-lexer
    composer require phpstan/phpstan-yield
    composer require phpstan/phpstan-yield-lexer
    composer require phpstan/phpstan-yield-parameters
    composer require phpstan/phpstan-yield-parameters-lexer
    composer require phpstan/phpstan-yield-type
    composer require phpstan/phpstan-yield-type-lexer
    composer require phpstan/phpstan-yield-variables
    composer require phpstan/phpstan-yield-variables-lexer
    composer require phpstan/phpstan-yield-variables-traits
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-traits
    composer require phpstan/phpstan-yield-variables-traits-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-traits-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-traits-lexer
    composer require phpstan/phpstan-yield-variables-