battis / appmetadata
该包已被废弃,不再维护。未建议替代包。
一个存储应用元数据的对象,后端由MySQL表支持
v1.2.2
2016-07-22 06:29 UTC
README
这类东西感觉应该已经存在,但我在互联网上的初步搜索未能找到:类似于 $_GLOBALS
的关联数组,后端由持久化数据存储支持(在这种情况下是MySQL,因为这是我唯一使用的东西,因为……懒,我想)。
使用方法
更新您的 composer.json
文件以包含以下内容。
{ "requires": { "battis/appmetadata": "~1.0" } }
实用提示: 我总是觉得将其他项目的文档、单元测试等开销包含在我的项目中很烦人。根据 Stack Overflow 上的此答案,您实际上可以通过将 --prefer-dist
标志添加到 composer install
和 composer update
来获得一些小改进,如下所示:
composer install --prefer-dist
创建一个 AppMetadata
对象,并像对待任何其他关联数组一样处理它。
// instantiate a new mysqli database connection $sql = new mysqli('localhost', 'root', 's00pers3kr3t', 'demo-db'); // first use (create database tables -- only needs to happen once!) Battis\AppMetadata::prepareDatabase($sql); // instantiate our metadata array $metadata = new Battis\AppMetadata($sql, 'my-unique-app-key'); // store something into the database $metadata['X'] = 'foobar'; // read something out of the database echo $metadata['X']; // 'foobar' // use one metadata value to derive another $metadata['Y'] = '@X again' echo $metadata['Y']; // 'foobar again'; // derived values update automagically $metadata['X'] = 'xoxo'; echo $metadata['Y']; // 'xoxo again'; // remove something from the database unset($metadata['X']); echo $metadata['Y']; // '@X again', since no value X to derive from
完整的文档可在 包内部 找到。