cakesuit / option
快速定义/获取应用偏好
1.1.1
2017-11-21 08:28 UTC
Requires
- cakephp/cakephp: ^3.4
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0
This package is not auto-updated.
Last update: 2024-09-29 04:49:27 UTC
README
这是什么?
此插件允许您使用键/值对简单地为您的应用程序定义选项。
需求
- CakePHP 3.4.0+
- PHP 5.6+
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方式是
composer require cakesuit/option
在 config/bootstrap.php 应用程序中加载插件
bin/cake plugin load Cakesuit/Option
如果您想使用内置路由,请按以下方式加载插件
bin/cake plugin load -r Cakesuit/Option
迁移
现在插件已安装和加载,您必须迁移数据库的模式
bin/cake migrations migrate -p Cakesuit/Option
默认路由
<?php Router::plugin( 'Cakesuit/Option', ['path' => '/cakesuit'], function (RouteBuilder $routes) { // List all $routes->connect( 'options', [ 'controller' => 'Options', 'action' => 'index' ] ); // Add $routes->connect( 'options', [ 'controller' => 'Options', 'action' => 'add' ] ); // Edit $routes->connect( 'options/edit/:id', [ 'controller' => 'Options', 'action' => 'edit', [ 'id' => '[0-9]+', 'pass' => ['id'] ] ] ); // Show $routes->connect( 'options/view/:id', [ 'controller' => 'Options', 'action' => 'view', [ 'id' => '[0-9]+', 'pass' => ['id'] ] ] ); // Delete $routes->connect( 'options/delete/:id', [ 'controller' => 'Options', 'action' => 'delete', [ 'id' => '[0-9]+', 'pass' => ['id'] ] ] ); } );
数据库
以下是一个可以在表中找到的示例
如何使用?
恢复所有标记为自动加载的数据
<?php // Load the Model if necessary $this->loadModel('Options'); // Fetch all data marked autoload $options = $this->Options->find('autoload'); echo $options->site_name; // = 'My Blog' echo $options->site_description; // = 'Use CakeSuit/Option for advance settings' echo $options->analytics_ua; // = null (this value does not exist)
通过键恢复数据
<?php // Load the Model if necessary $this->loadModel('Cakesuit/Option.Options'); $options = $this->Options->find('keys', [ 'keys' => ['analytics_ua', 'site_description'] ]); echo $options->site_name; // = null echo $options->site_description; // = 'Use CakeSuit/Option for advance settings' echo $options->analytics_ua; // = 'UA-XXXXXX'
检查空数据
<?php // Load the Model if necessary $this->loadModel('Cakesuit/Option.Options'); $options = $this->Options->find('keys', [ 'keys' => ['no_exists_value'] ]); $options->isEmpty(); // = true
计数数据
<?php // Load the Model if necessary $this->loadModel('Cakesuit/Option.Options'); $options = $this->Options->find('autoload'); echo $options->count(); // = 2
...
如果您遇到任何困难,请联系我。谢谢。
C@kesuit