我希望有一个简单的PHP表单,它将YAML代码作为输入,并在提交时将其存储到MongoDB中。在编辑yaml代码时,记录的更新也应该以相同的方式发生。
我是编程的初学者,我不想使用框架或任何复杂的东西只是简单的PHP形式,需要yaml并转换为mongodb存储。 我该怎么办?
任何建议或示例代码,或者您是否知道以前的类似工作?
答案 0 :(得分:0)
使用YAML Symfony component加载和解析YAML文件。解析文件的结果将是一个PHP数组。这个数组可以很容易地保存到MongoDB中:
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
2)使用composer安装YAML组件。创建composer.json文件并添加以下信息:
{
"require": {
"symfony/yaml": "2.3.*@dev"
}
}
$ php composer.phar install
4)使用要从YAML文件加载的代码创建一个php文件,并将结果保存到db。以下代码的一部分取自php.net mongodb tutorial:
<?php
// autoload.php will be installed by composer
require_once __DIR__.'/vendor/autoload.php';
use Symfony\Component\Yaml\Yaml;
// Parse YAML file
$yaml = Yaml::parse(__DIR__.'/path/to/file.yml');
// connect
$mongo = new \MongoClient();
// select a database
$db = $mongo->yaml;
// select a collection (analogous to a relational database's table)
$collection = $db->imports;
// add a record
$document = $yaml;
$collection->insert($document);
// find everything in the collection
$cursor = $collection->find();
echo "<pre>";
// iterate through the results
foreach ($cursor as $document) {
print_r($document);
}
echo "</pre>";
查看MongoDB中的数据:
> show dbs;
yaml 0.203125GB
> use yaml;
switched to db yaml
> show collections;
imports
system.indexes
> db.imports.find();