cakesuit/option

快速定义/获取应用偏好

安装: 3

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

类型:cakephp-plugin

1.1.1 2017-11-21 08:28 UTC

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