2013-11-19 2 views
0

Я хочу иметь простую форму с PHP, которая принимает код YAML как входной файл и сохраняет его в MongoDB при отправке. Обновление записей также должно происходить так же, как и редактирование yaml-кодов.YAML для DB CRUD с PHP?

Я новичок в программировании, и я не хочу использовать фреймворк или любой сложный материал, просто простую форму php, которая берет yaml и преобразует в mongodb для хранения. Как мне это сделать?

Любые рекомендации или примеры кодов или если вы знаете предыдущую аналогичную работу?

ответ

0

Используйте YAML Symfony component для загрузки и анализа файла YAML. Результатом разбора файла будет массив PHP. Этот массив может быть легко сохранены в MongoDB:

1) Download Composer

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin 

2) Используйте композитор установить YAML компонент. Создайте файл composer.json и добавьте следующую информацию:

{ 
    "require": { 
     "symfony/yaml": "2.3.*@dev" 
    } 
} 

3) Install the component

$ php composer.phar install 

4) Создайте файл с кодом для загрузки из файла YAML и сохранить результат в дб. Часть следующего кода была взята из 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(); 
Смежные вопросы