Coder Social home page Coder Social logo

oopsguy / wechat-miniprogram-examples Goto Github PK

View Code? Open in Web Editor NEW
647.0 48.0 215.0 4.72 MB

WeChat mini program examples. 微信小程序示例

License: MIT License

JavaScript 100.00%
weixin wechat-app demo wechat miniprogram wechat-miniprogram douban todo zhihu

wechat-miniprogram-examples's Introduction

PConfig

PConfig is a PHP library for parsing configuration. It is lightweight and easy to use.

Supported formats

  • php
  • json
  • xml
  • yaml
  • ini

Installation

composer require oopsguy/pconfig

Usage

<?php
use pconfig\PConfig;
use pconfig\provider\impl\FileProvider;
use pconfig\serializer\impl\JSONSerializer;

$config = new PConfig('config-file.json');

$config = new PConfig([
    'file' => 'config-file.json'
]);

$config = new PConfig([
    'data' => [
        'key' => 'value'
        // more...
    ]
]);
$config->setSerializer(new JSONSerializer());
$config->setProvider(new FileProvider('config/a.json'));

$config = new PConfig([
   'file' => 'config-file.json',
   'serializer' => new JSONSerializer(),
]);

$config = new PConfig([
    'serializer' => new JSONSerializer(),
    'provider' => new FileProvider('config-file.json'),
]);
<?php
use pconfig\PConfig;
use pconfig\serializer\impl\YAMLSerializer;
use pconfig\provider\impl\FileProvider;

// PHP array
// Automatically detect file extension and select a suitable serializer
$config = new PConfig("config/config.php");
echo $config->get("app");
$config->delete("version");
$config->set('debug', false);
$config->set("settings.key", "new value");
$config->save();

// handle JSON
$jsonConfig = new PConfig('config/config.json');
$jsonConfig->set('homepage', 'https://github.com');
// Save as temp.json file
$jsonConfig->setFile('config/temp.json');
$jsonConfig->save();

// Parsing YAML
// Explicitly specify a YAML serializer
$serializer = new YAMLSerializer();
$provider = new FileProvider('config/settings.yaml');
$extConfig = new PConfig([
        'provider' => $provider,
        'serializer' => $serializer
    ]);
$extConfig->set('type', 'yaml');
$extConfig->save();

The default key separator is a dot-notation ..

key1.key2.key3

You can use PConfig::CONFIG_KEY_EXTRACT_SEPARATOR to custom your own separator.

PConfig::CONFIG_KEY_EXTRACT_SEPARATOR => '-',
key1-key2-key3
<?php
use pconfig\PConfig;
use pconfig\provider\impl\FileProvider;
use pconfig\serializer\impl\JSONSerializer;

$config = new PConfig([
        // Specify the serializer
        'serializer' => new JSONSerializer(),
        'provider' => new FileProvider('config/config.php'),
        'config' => [
                // Set the key separator
                PConfig::CONFIG_KEY_EXTRACT_SEPARATOR => '-', 
            ]
    ]);

ArrayAccess

PConfig has implemented ArrayAccess interface, you can access configuration by array operations.

<?php
use pconfig\PConfig;

// Access by index
$json = new PConfig('./config/arrayaccess.json');
$json['status'] = true;
$json['data'] = [
    'page' => 1,
    'pageSize' => 10,
    'pages' => 2,
    'total' => 13,
    'list' => [
        [
            'username' => 'oopsguy',
            'gender' => '男'
        ]
    ]
];
$json['msg'] = 'ok';
$json['delData'] = 'XHSYSYSDkoksoada8dsaidsa9d8adsa';

// unset and isset API
var_dump(isset($json['delData']));
unset($json['delData']);
var_dump(isset($json['delData']));

// Save to file
$json->save();

Nested configuration.

$config->set('level1.level2.level3', "Level end");
$config->delete('level1.level2');

APIs

  • set($key, $value)
  • get($key[, $defult])
  • delete($key)
  • exists($key)
  • getConfig($key)
  • setConfig($key, $value)
  • setProvider($provider)
  • setSerializer($serializer)
  • setFile($path)
  • reload()
  • clear()
  • save()

Licence

MIT Licence

wechat-miniprogram-examples's People

Contributors

jkgeekjack avatar oopsguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wechat-miniprogram-examples's Issues

一个小问题

/MatterAssistant/datas/DataRepository.js 这个文件的第77 行

  for (let idx = 0, len = allData.length; i < len; i++) 

有错误,请改一下

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.