{"id":14793,"date":"2013-09-08T08:00:05","date_gmt":"2013-09-07T23:00:05","guid":{"rendered":"http:\/\/www.sssg.org\/blogs\/hiro345\/?p=14793"},"modified":"2013-09-05T11:09:15","modified_gmt":"2013-09-05T02:09:15","slug":"cakephp2%e3%81%a7json","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/14793.html","title":{"rendered":"CakePHP2\u3067JSON"},"content":{"rendered":"<p>CakePHP2\u3067JSON\u30c7\u30fc\u30bf\u3092\u63d0\u4f9b\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u6210\u3059\u308b\u306e\u306f\u7c21\u5358\u3067\u3059\u3002CakePHP2\u3092\u4f7f\u3063\u3066\u3001http:\/\/localhost\/cakephp\/sample\/items\/ \u3067Item\u30c6\u30fc\u30d6\u30eb\u306e\u4e00\u89a7\u3092\u8868\u793a\u3067\u304d\u308b\u3088\u3046\u306aWeb\u30a2\u30d7\u30ea\u3092\u4f5c\u6210\u6e08\u307f\u3060\u3068\u3057\u307e\u3059\u3002<br \/>\n<!--more--><br \/>\napp\/Controller\/ItemsController.php \u306b\u4e0b\u8a18\u30e1\u30bd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u3053\u3046\u3059\u308b\u3068\u3001\u300chttp:\/\/localhost\/cakephp\/sample\/items\/list_all\u300d\u3067JSON\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u30dd\u30a4\u30f3\u30c8\u306fviewClass\u3078Json\u3092\u6307\u5b9a\u3057\u3066\u3044\u308b\u70b9\u3001_serialize\u3078JSON\u30c7\u30fc\u30bf\u306b\u3057\u305f\u3044\u5909\u6570\u3092\u6307\u5b9a\u3057\u3066\u3044\u308b\u70b9\u3067\u3059\u3002\u3053\u3053\u3067\u306fDB\u304b\u3089\u53d6\u5f97\u3057\u305f\u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u3092list\u3078\u8a2d\u5b9a\u3057\u3066\u304b\u3089\u3001\u305d\u306elist\u3092_serialize\u3078\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: php; gutter: true\">\r\npublic function list_all() {\r\n  $this-&gt;set(&#039;list&#039;, $this-&gt;Item-&gt;find(&#039;all&#039;));\r\n  $this-&gt;viewClass = &#039;Json&#039;;\r\n  $this-&gt;set(&#039;_serialize&#039;, &#039;list&#039;);\r\n}\r\n<\/pre>\n<p>\u72ec\u81ea\u306e\u5909\u6570\u3092\u6307\u5b9a\u3057\u305f\u3044\u5834\u5408\u306f\u4e0b\u8a18\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u5834\u5408\u306f\u300chttp:\/\/localhost\/cakephp\/sample\/items\/sample_item_json\u300d\u3068\u3044\u3046URL\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068JSON\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: php; gutter: true\">\r\npublic function sample_item_json() {\r\n  $item = &quot;\u30b5\u30f3\u30d7\u30eb&quot;;\r\n  $this-&gt;set(&#039;item&#039;, $item);\r\n  $this-&gt;viewClass = &#039;Json&#039;;\r\n  $this-&gt;set(&#039;_serialize&#039;, &#039;item&#039;);\r\n}\r\n<\/pre>\n<p>\u62e1\u5f35\u5b50\u306bjson\u3092\u3064\u3051\u305f\u3044\u6642\u306f\u3001app\/Config\/routes.php \u306b\u4e0b\u8a18\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u3053\u3046\u3059\u308b\u3068\u3001\u300chttp:\/\/localhost\/cakephp\/sample\/items\/list_all\u300d\u3060\u3051\u3067\u306f\u306a\u304f\u300chttp:\/\/localhost\/cakephp\/sample\/items\/list_all.json\u300d\u3067\u3082JSON\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: php; gutter: true\">\r\n  Router::parseExtensions(&#039;json&#039;);\r\n<\/pre>\n<p>app\/Controller\/AppController.php \u3078\u4e0b\u8a18\u306e\u3088\u3046\u306b RequestHandler \u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u3082\u3042\u308b\u3088\u3046\u3067\u3059\u304c\u3001CakePHP 2.3.8\u3067\u306f\u3053\u306e\u8a2d\u5b9a\u3092\u3057\u306a\u304f\u3066\u3082\u52d5\u304d\u307e\u3057\u305f\u3002list_all \u3068 list_all.json \u3068\u3067\u8868\u793a\u3092\u5206\u3051\u305f\u3044\u3068\u304d\u306b\u5f79\u306b\u7acb\u3064\u3088\u3046\u3067\u3059\u3002<\/p>\n<pre class=\"brush: php; gutter: true\">\r\n  class AppController extends Controller {\r\n    public $components = array(&#039;Session&#039;, &#039;RequestHandler&#039;);\r\n  }\r\n<\/pre>\n<p>CakePHP2\u306b\u3064\u3044\u3066\u306f\u4e0b\u8a18\u304c\u53c2\u8003\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li><a type=\"amzn\" asin=\"4774153249\">CakePHP2 \u5b9f\u8df5\u5165\u9580 (WEB+DB PRESS plus)<\/a><\/li>\n<li><a type=\"amzn\" asin=\"479803746X\">\u8a73\u89e3CakePHP\u8f9e\u5178\u20152.0\/2.1\/2.2\/2.3\u5bfe\u5fdc <\/a><\/li>\n<\/ul>\n<div>\n<iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4774153249&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr\" height=\"240\" width=\"320\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><iframe loading=\"lazy\" style=\"width: 120px; height: 240px;\" src=\"\/\/rcm-jp.amazon.co.jp\/e\/cm?t=hiro345-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=479803746X&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr\" height=\"240\" width=\"320\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>CakePHP2\u3067JSON\u30c7\u30fc\u30bf\u3092\u63d0\u4f9b\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u6210\u3059\u308b\u306e\u306f\u7c21\u5358\u3067\u3059\u3002CakePHP2\u3092\u4f7f\u3063\u3066\u3001http:\/\/localhost\/cakephp\/sample\/items\/ \u3067Item\u30c6\u30fc\u30d6\u30eb\u306e\u4e00\u89a7\u3092\u8868\u793a\u3067\u304d\u308b\u3088\u3046 &hellip; <a href=\"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/14793.html\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[888,369,295],"class_list":["post-14793","post","type-post","status-publish","format-standard","hentry","category-linux","tag-cakephp2","tag-json","tag-php"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/14793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=14793"}],"version-history":[{"count":1,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/14793\/revisions"}],"predecessor-version":[{"id":14794,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/14793\/revisions\/14794"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=14793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=14793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=14793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}