質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

6384閲覧

cakephp3で独自configを作る

yajin

総合スコア75

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2016/11/13 15:06

編集2016/11/13 15:07

掲題の通りですが、独自の設定ファイルを作ろうと思っています。
config\hoge.php
というものを作り、
その中に

PHP

1<?php 2$hoge["huga"] = 1; 3$hoge["piyo"] = 'aaa'; 4$hoge_test = 'テスト';

として、
config\bootstrap.phpに

PHP

1try { 2 Configure::config('default', new PhpConfig()); 3 Configure::load('app', 'default', false); 4 Configure::load('hoge', 'default', false); //追加 5} catch (\Exception $e) { 6 exit($e->getMessage() . "\n"); 7}

として、
適当なコントローラーにecho $hoge["huga"];すると
Config file "hoge.php" did not return an arrayとなります。
配列を消して普通の変数にしてみても同じようになります。

どうしたらよいのでしょうか。
また、独自設定ファイルを作っても他のファイルで読み込む場合、use等で読み込まなければいけないことはあるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

configファイルは配列を返す必要がありますので、以下のようにする必要があります。

php

1<?php 2$hoge_test = 'hoge_hoge'; 3return [ 4 "huga" => 1, 5 "piyo" => 'aaa', 6 $hoge_test => 'テスト', 7];

投稿2016/11/13 20:51

popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yajin

2016/11/14 00:07

Config file "hoge.php" did not return an array はでなくなったのですが、適当なコントローラで echo $hoge["piyo"]; とするも表示されません。 debug($hoge["piyo"]); でも表示されません。
yajin

2016/11/14 00:22

var_dump($hoge["huga"]); の場合、nullが表示されてしまいます。
yajin

2016/11/14 00:24

コントローラの一番上に use Cake\Core\Configure; use Cake\Core\Configure\Engine\PhpConfig; と宣言してもvar_dumpはnullになります。
yajin

2016/11/14 00:36

無事できました。 use Cake\Core\Configure; と宣言し、 echo Configure::read('配列名', 'ファイル名'); 具体的には echo Configure::read('huga', 'hoge'); とすれば出てきました。 有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問