Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/php/pecl-file_formats-yaml
YAML-1.1 parser and emitter
https://github.com/php/pecl-file_formats-yaml
pecl php yaml
Last synced: about 1 month ago
JSON representation
YAML-1.1 parser and emitter
- Host: GitHub
- URL: https://github.com/php/pecl-file_formats-yaml
- Owner: php
- License: mit
- Created: 2013-04-22T20:51:10.000Z (over 11 years ago)
- Default Branch: php7
- Last Pushed: 2024-01-31T20:21:26.000Z (10 months ago)
- Last Synced: 2024-04-14T02:19:47.299Z (7 months ago)
- Topics: pecl, php, yaml
- Language: C
- Homepage: https://pecl.php.net/package/yaml
- Size: 464 KB
- Stars: 71
- Watchers: 11
- Forks: 33
- Open Issues: 4
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
The Yaml PHP Extension provides a wrapper to the LibYAML library.
It gives the user the ability to parse YAML document streams into PHP
constructs and emit PHP constructs as valid YAML 1.1 documents.For more information about LibYAML see http://pyyaml.org/wiki/LibYAML.
For more information about YAML see http://yaml.org/Requirements:
* libyaml 0.1.xBUILDING ON UNIX etc.
=====================To compile your new extension, you will have to execute the following steps:
1. $ phpize
2. $ ./configure [--with-yaml]
3. $ make
4. $ sudo make installBUILDING ON WINDOWS
===================The extension provides the VisualStudio V6 project file
yaml.dsp
To compile the extension you open this file using VisualStudio,
select the apropriate configuration for your installation
(either "Release_TS" or "Debug_TS") and create "php_yaml.dll"After successfull compilation you have to copy the newly
created "php_yaml.dll" to the PHP
extension directory (default: C:\PHP\extensions).TESTING
========You can now load the extension using a php.ini directive
extension="php_yaml.[so|dll]"
or load it at runtime using the dl() function
dl("php_yaml.[so|dll]");
The extension should now be available, you can test this
using the extension_loaded() function:if (extension_loaded(yaml))
echo "yaml loaded :)";
else
echo "something is wrong :(";The extension will also add its own block to the output
of phpinfo();CONFIGURATION
=============
ini settings:
yaml.decode_timestamp=0 for no timestamp parsing
yaml.decode_timestamp=1 for strtotime parsing
yaml.decode_timestamp=2 for date_create parsingyaml.decode_binary=0 for no binary decoding
yaml.decode_binary=1 for base64 binary decodingyaml.decode_php=0 for no serialized object parsing
yaml.decode_php=1 for serialized object parsing/**
* @param string $input String to parse as YAML document stream
* @param int $pos Document to extract from stream (-1 for all, 0 for first, ...)
* @param int $ndocs Number of documents found in stream
* @param array $callbacks Content handlers for YAML nodes. Array of tag => handler
* @return mixed Parsed data
*/
yaml_parse ($input, $pos=0, &$ndocs=null, $callbacks=null)/**
* @param mixed $data Data to encode
* @param int $encoding Output encoding
* @param int $linebreak Output linebreak
* @return string Encoded data
*/
yaml_emit ($data, $encoding=YAML_ANY_ENCODING, $linebreak=YAML_ANY_BREAK)CREDITS
========php-yaml v0.1.0 through v0.3.0 was developed by Ryusuke Sekiyama.
Starting with v0.4.0 the extension has been maintained by Bryan Davis.
Development of versions v0.4.0 - v1.1.0 funded by Keynetics Inc
[http://keynetics.com/].Inspiration and some implementation details have been taken from:
* php-syck [http://pecl.php.net/package/syck]
* MacRuby's libyaml wrapper
[http://www.macruby.org/trac/browser/MacRuby/trunk/ext/libyaml]
* LibYAML's examples [http://pyyaml.org/wiki/LibYAML]