Return array - multiple result
まだ誰も着手していません。
評価
調査の方向性
まず、issue に示されている setting()->get() の呼び出しをたどり、da_settings テーブル内の一致する行がどのように選択されるかを確認します。サンプルデータを使って、キー、コンテキスト、クラスに対するワイルドカードのケースを検証します。完了とは、単一値の検索を変更せずに、要求された各一致が使用可能な array を返すことです。
索引モデルが issue の本文から書いたものです。
説明
It is possible to get multiple values or an array as result?
e.g. - see code
Get all the settings from a specific key (App.theme) : setting()->get('App.theme','')
Get all the settings form a specific context : setting()->get('','user1')
Get all the settings from a specific class : setting()->get('Log')
$br='<br/>';
service('settings')->set('App.theme', 'dark', 'user1');
service('settings')->set('App.theme', 'white', 'user2');
service('settings')->set('App.theme', 'red', 'user3');
echo setting()->get('App.theme', 'user1').$br;
echo setting()->get('App.theme', 'user2').$br;
echo setting()->get('App.theme', 'user3').$br;
print_r(setting()->get('App.theme','*')).$br;
print_r(setting()->get('*','user1')).$br;
service('settings')->set('Log.location', 'site/log');
service('settings')->set('Log.date', '20220102');
service('settings')->set('Log.name', 'service');
echo setting()->get('Log.location').$br;
echo setting()->get('Log.date').$br;
echo setting()->get('Log.name').$br;
print_r (setting()->get('Log')).$br;
Sample database
-- Dumping structure for table ca70_assets.da_settings
CREATE TABLE IF NOT EXISTS `da_settings` (
`class` varchar(255) COLLATE armscii8_bin DEFAULT NULL,
`key` varchar(255) COLLATE armscii8_bin DEFAULT NULL,
`type` varchar(31) COLLATE armscii8_bin DEFAULT NULL,
`context` varchar(255) COLLATE armscii8_bin DEFAULT NULL,
`value` text COLLATE armscii8_bin DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=armscii8 COLLATE=armscii8_bin;
-- Dumping data for table ca70_assets.da_settings: ~11 rows (approximately)
INSERT INTO `da_settings` (`class`, `key`, `type`, `context`, `value`, `created_at`, `updated_at`) VALUES
('Config\\App', 'theme', 'string', 'user1', 'dark', '2023-01-02 16:10:06', '2023-01-02 16:14:10'),
('Config\\App', 'theme', 'string', 'user2', 'white', '2023-01-02 16:10:06', '2023-01-02 16:14:10'),
('Config\\App', 'theme', 'string', 'user3', 'red', '2023-01-02 16:10:06', '2023-01-02 16:14:10'),
('Log', 'location', 'string', NULL, 'site/log', '2023-01-02 16:13:08', '2023-01-02 16:14:10'),
('Log', 'date', 'string', NULL, '20220102', '2023-01-02 16:13:08', '2023-01-02 16:14:10'),
('Log', 'name', 'string', NULL, 'service', '2023-01-02 16:13:08', '2023-01-02 16:14:10');
- 主要言語
- PHP
- スター
- 95
- フォーク
- 29
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
似ている issue
-
No Code Attached Yet
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
joomla/joomla-cms#48611 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Automattic/safe-publish#716 ·
メンテナーはふだん 1 日以内に返信
-
[FrameworkBundle][SecurityBundle] Make `KernelBrowser::loginUser()` wor…対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンFrameworkBundle SecurityBundle
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
symfony/symfony-docs#23277 ·
メンテナーはふだん 3 日以内に返信
-
[Sync EN] hard link does not need special permissions対応中かも @lacatoire が今日担当しました。 オープンsync-en
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信