ПРИМЕЧАНИЕ. Этот код принадлежит методу вашей модели или контроллера.
Хотя ответ Четвера технически верен, он не очень "тортик".
Специально для CakePHP я бы сделал следующее:
$json = '{"key":"value"}';
$json2 = json_encode(array("a" => 1, "b" => 2));
$path = APP . '[YOUR FOLDER NAME]' . DS . 'json';
$path2 = APP . '[YOUR FOLDER NAME]' . DS . 'json2';
$jsonFromFile;
$json2FromFile;
//write
if(!file_exists($path))
file_put_contents($path, $json);
if(!file_exists($path2))
file_put_contents($path2, $json2);
//read
if(!file_exists($path))
$jsonFromFile = file_get_contents($path, true);
if(!file_exists($path2))
$json2FromFile = file_get_contents($path2, true);
Пояснение:
- $ json - это стандартная предварительно записанная строка JSON, здесь нет путаницы
- $ json2 показывает вам пример того, как вы можете кодировать и массивировать (или объект) в строку json для хранения
- $ path использует некоторые константы CakePHP. «APP», которое дает вам разрешаемый путь к папке вашего приложения, и «DS», который служит системно-безопасным разделителем каталогов
- Затем мы проверяем, чтобы наши файлы не существовали, и в этот момент мы используем метод "file_put_contents" для записи наших файлов.
Удачного кодирования.