{"id":747,"date":"2007-06-23T02:00:00","date_gmt":"2007-06-22T17:00:00","guid":{"rendered":"https:\/\/ecoop.net\/memo\/2007-06-23-2.html"},"modified":"2007-06-23T02:00:00","modified_gmt":"2007-06-22T17:00:00","slug":"2007-06-23-2","status":"publish","type":"post","link":"https:\/\/www.ecoop.net\/memo\/archives\/2007-06-23-2.html","title":{"rendered":"symfony &#8211; \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u6271\u3046\u306b\u306f\uff1f"},"content":{"rendered":"<p>\nsymfony \u3067\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u51e6\u7406\u306b Propel \u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\n\u6b21\u306e\u624b\u9806\u3092\u8e0f\u3080\u3053\u3068\u3067\u3001\u30c6\u30fc\u30d6\u30eb\u3092\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u6271\u3046\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n&nbsp;<br \/>\n1. propel.ini \u306e\u8a2d\u5b9a\n<\/p>\n<blockquote><p>&lt;project_dir>\/config\/propel.ini\n<\/p><\/blockquote>\n<p>&nbsp;\n<\/p>\n<blockquote><p>$ symfony propel-*-* \n<\/p><\/blockquote>\n<p>\u3067\u5229\u7528\u3059\u308b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306e\u8a2d\u5b9a.<br \/>\npropel.database.* \u306e\u8a2d\u5b9a\u3092\u5909\u3048\u308b\u4ee5\u5916\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u3088\u3044\u3002\n<\/p>\n<blockquote><p>; unix socket \u63a5\u7d9a(TCP\u63a5\u7d9a\u306a\u3089\u30c7\u30d5\u30a9\u30eb\u30c8\u306b\u306a\u3089\u3048\u3070\u3088\u3044)<br \/>\npropel.database.createUrl = mysql:\/\/root:dbpass@unix+\/<br \/>\npropel.database.url       = mysql:\/\/root:dbpass@unix+\/dbname\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\n2. databese.yml \u306e\u8a2d\u5b9a\n<\/p>\n<blockquote><p>&lt;project_dir>\/config\/database.yml\n<\/p><\/blockquote>\n<p>web,batch \u304b\u3089\u5229\u7528\u3059\u308b symfony \u306e\u8a2d\u5b9a\n<\/p>\n<blockquote><p>all:<br \/>\n&nbsp;&nbsp;propel:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;class:  sfPropelDatabase<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;param:<br \/>\n#        dsn: mysql:\/\/root:dbpass@ecoop.net\/dbname<br \/>\n# unix socket \u63a5\u7d9a<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;phptype: mysql<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hostspec:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database:  dbname<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;username:  root<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password:  dbpass<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;encoding:  utf8<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;persistent:\n<\/p><\/blockquote>\n<p>3-1. DB, \u30c6\u30fc\u30d6\u30eb\u3092\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u65b0\u3057\u304f\u4f5c\u308b\u5834\u5408, <br \/>\n<a href=\"http:\/\/blog.symfony.jp\/2006\/12\/18\/schema-yml\/\">\u3053\u3061\u3089<\/a>(symfony \u3067\u958b\u767a\u65e5\u8a18)\u3092\u53c2\u8003\u306b\u3001\n<\/p>\n<blockquote><p>config\/schema.yml \n<\/p><\/blockquote>\n<p>\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\n<\/p>\n<blockquote><p>propel:<br \/>\n&nbsp;&nbsp;table1:<br \/>\n&nbsp;&nbsp;table2:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;_attributes: { phpName: FooTable }<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;table1_id:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;name: varchar(255)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;amount:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type: integer<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned:true<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notnull:true<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;created_at:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;updated_at:\n<\/p><\/blockquote>\n<p>\u8aac\u660e..<br \/>\n&nbsp;&nbsp;propel: &#8230; \u63a5\u7d9a\u540d\u3002<br \/>\n&nbsp;&nbsp;table1 \u304c\u6700\u4f4e\u9650\u306e\u30c6\u30fc\u30d6\u30eb\u69cb\u9020\u4f8b(id \u30ab\u30e9\u30e0\u306e\u307f\u6301\u3064)\u3002<br \/>\n&nbsp;&nbsp;table2 \u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u30ab\u30e9\u30e0\u3092\u5b9a\u7fa9\u3057\u3066\u3044\u308b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id &#8230; int not null auto_increment primary key\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u5b9a\u7fa9\u3055\u308c\u308b\u3002<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table1_id .. int \u578b\u3002 &lt;table_name>_id \u3068\u3059\u308b\u3053\u3068\u3067 table_name \u306b Foreign key \u3092\u5f35\u308b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;amount &#8230; amount int unsigned not null \u3068\u3044\u3046\u30ab\u30e9\u30e0\u5b9a\u7fa9\u3002<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;created_at &#8230; DATETIME \u578b\u3002symfony \u304c\u30ec\u30b3\u30fc\u30c9\u4f5c\u6210\u65e5\u6642\u3092\u81ea\u52d5\u633f\u5165\u3057\u3066\u304f\u308c\u308b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;updated_at &#8230; DATETIME \u578b\u3002symfony \u304c\u30ec\u30b3\u30fc\u30c9\u66f4\u65b0\u65e5\u6642\u3092\u81ea\u52d5\u633f\u5165\u3057\u3066\u304f\u308c\u308b\u3002<br \/>\n&nbsp;&nbsp;\u307e\u305f\u3001table2 \u306f\u30e2\u30c7\u30eb\u30af\u30e9\u30b9\u306b\u30de\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u6642(\u5f8c\u8ff0)\u306b\u3001<br \/>\n&nbsp;&nbsp;&nbsp;\uff3f_attributes: { phpName: FooTable } \u3067\u6307\u5b9a\u3057\u305f\u540d\u524d(FooTable)\u3067\u30de\u30c3\u30d4\u30f3\u30b0\u3055\u308c\u307e\u3059\u3002<br \/>\n&nbsp;<br \/>\n3-2. propel.ini \u3067\u8a2d\u5b9a\u3057\u305f\u540d\u524d\u306e\u7a7a\u306e DB \u3092\u4f5c\u6210\u3059\u308b\u3002\n<\/p>\n<blockquote><p>symfony propel-build-db\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\n3-3. schema.yml \u304b\u3089 CREATE TABLE \u306e SQL \u6587\u3092\u751f\u6210\u3059\u308b\n<\/p>\n<blockquote><p>symfony propel-build-sql\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\n3-4. (3-3) \u3067\u751f\u6210\u3057\u305f SQL \u6587\u3092\u5b9f\u884c\u3057\u3066\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3002\n<\/p>\n<blockquote><p>symfony propel-insert-sql\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\nNote: 3-1 \u3068\u306f\u9006\u306b\u65e2\u5b58 DB \u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089 schema.yml \u3092\u4f5c\u6210\u3059\u308b\u306b\u306f\n<\/p>\n<blockquote><p>symfony propel-build-schema\n<\/p><\/blockquote>\n<p>\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<br \/>\n&nbsp;<br \/>\n4. symfony \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b schema.yml \u304b\u3089\u30e2\u30c7\u30eb\u30af\u30e9\u30b9\u3092\u751f\u6210\u3059\u308b\n<\/p>\n<blockquote><p>symfony propel-build-model\n<\/p><\/blockquote>\n<p>\u3053\u3053\u3067\u751f\u6210\u3057\u305f\u30e2\u30c7\u30eb\u30af\u30e9\u30b9\u306f\n<\/p>\n<blockquote><p>&lt;project_dir>\/lib\/model\/\n<\/p><\/blockquote>\n<p>\u4ee5\u4e0b\u306b\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<br \/>\n&nbsp;<br \/>\n5. (4)\u3067\u4f5c\u6210\u3057\u305f\u30e2\u30c7\u30eb\u30af\u30e9\u30b9\u3092\u4f7f\u3044\u3001symofony \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5185\u3067\u53c2\u7167\u3059\u308b\n<\/p>\n<blockquote><p>apps\/app_name\/modules\/model_name\/actions\/actions.class.php \n<\/p><\/blockquote>\n<p>\u7b49\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u53c2\u7167\u3057\u307e\u3059(require,include \u306f\u4e0d\u8981)\u3002\n<\/p>\n<blockquote><p>public function executeIndex()<br \/>\n{<br \/>\n&nbsp;&nbsp;&nbsp;\/\/ \u6700\u3082\u7c21\u5358\u306a\u30ec\u30b3\u30fc\u30c9\u633f\u5165\u306e\u4f8b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u65b0\u898f\u30ec\u30b3\u30fc\u30c9\u7528\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$table1 = new Table1();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u5b9f\u969b\u306b\u30ec\u30b3\u30fc\u30c9\u3092\u66f8\u304d\u8fbc\u3080<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$table1->save();<br \/>\n&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;\/\/ \u30ab\u30e9\u30e0\u306b\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u633f\u5165\u3059\u308b\u4f8b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$fooTable = new FooTable();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->setTable1Id(1);  \/\/ \u30ab\u30e9\u30e0 table1_id \u306b 1 \u3092\u6307\u5b9a<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->setName(&#8220;milk&#8221;); \/\/ \u30ab\u30e9\u30e0 name \u306b milk \u3092\u6307\u5b9a<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->setAmount(123);  \/\/ \u30ab\u30e9\u30e0 amount \u306b 123 \u3092\u6307\u5b9a<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u66f8\u304d\u8fbc\u3080<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->save();<br \/>\n&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;\/\/ \u30d7\u30e9\u30a4\u30de\u30ea\u30ad\u30fc\u304b\u3089\u30ab\u30e9\u30e0\u3092\u53d6\u5f97\u3057\u3001\u524a\u9664\u3059\u308b\u4f8b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u30d7\u30e9\u30a4\u30de\u30ea\u30ad\u30fc\u30ab\u30e9\u30e0(id)\u304c 1 \u306e\u30ec\u30b3\u30fc\u30c9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u53d6\u5f97\u3059\u308b<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;$fooTable = FooTablePeer::retrieveByPK(1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;if($fooTable){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ id = 1 \u306e\u30ec\u30b3\u30fc\u30c9\u304c\u3042\u308c\u3070\u524a\u9664<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->delete();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}   <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u66f4\u65b0\u306e\u5834\u5408, \u65e2\u5b58\u30ec\u30b3\u30fc\u30c9\u3092\u53d6\u5f97\u3057\u3066\u5909\u66f4\u5f8c save() \u3059\u308c\u3070\u3088\u3044\u3002<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fooTable = FooTablePeer::retrieveByPK(1);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($fooTable){<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->setAmount(10);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fooTable->save();<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u30d7\u30e9\u30a4\u30de\u30ea\u30ad\u30fc\u4ee5\u5916\u304b\u3089\u30ec\u30b3\u30fc\u30c9\u3092\u5f97\u308b\u5834\u5408\u306f *Peer::doSelect(), doSelectOne() \u3092\u4f7f\u3046<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u5358\u7d14\u306b SELECT \u3057\u305f\u5834\u5408\u306e\u4e00\u756a\u59cb\u3081\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u53d6\u5f97<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fooTable = FooTablePeer::doSelectOne(new Criteria());<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ name \u304c milk \u3067, \u4f5c\u6210\u65e5\u6642\u306e\u53e4\u3044\u9806\u306b\u5168\u3066\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u914d\u5217\u3067\u53d6\u5f97<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$c = new Criteria(); <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$c->add(FooTablePeer::NAME, &#8220;milk&#8221;); \/\/ \u6761\u4ef6<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$c->addAscendingOrderByColumn(FooTablePeer::CREATED_AT); \/\/ ORDER<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tables = FooTablePeer::doSelect($c);<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/>\n}\n<\/p><\/blockquote>\n<p>Criteria \u30af\u30e9\u30b9\u306e\u5229\u7528\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f <br \/>\nThe Definitive Guide to symfony<br \/>\n\u306e <a href=\"http:\/\/www.symfony-project.com\/book\/trunk\/08-Inside-the-Model-Layer\">8 \u7ae0<\/a>(<a href=\"http:\/\/symfony.xrea.jp\/definitive\/8.html\">\u65e5\u672c\u8a9e<\/a>)\u306e Criteria \u306b\u3064\u3044\u3066\u306e\u9805\u306b\u8a73\u7d30\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002<br \/>\n\u306a\u304a\u3001Criteria \u30af\u30e9\u30b9\u306e\u5b9f\u4f53\u306f symfony \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30d5\u30a9\u30eb\u30c0\u306e\n<\/p>\n<blockquote><p>vendor\/propel\/util\/Criteria.php\n<\/p><\/blockquote>\n<p>\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<br \/>\n&nbsp;&nbsp;<br \/>\n\u53c2\u8003:<br \/>\n&#8211;<a href=\"http:\/\/gekibaka.s181.xrea.com\/oreask\/oreask\/DBSetting?symfony=a7e66cd78558c89c362642e7d7109428\">symfony \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u30c6\u30b9\u30c8\u7f6e\u5834<\/a><br \/>\n&nbsp;&nbsp;\u304a\u304a\u307e\u304b\u306a\u624b\u9806\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u8a2d\u5b9a\u306e\u4ed5\u65b9\u3001\u305d\u308c\u305e\u308c\u306e\u610f\u5473\u306a\u3069\u3002<br \/>\n&#8211;<a href=\"http:\/\/develop.ddo.jp\/symfony\/book\/jp\/1.0\/cli.html\">symfony book \u65e5\u672c\u8a9e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9<\/a>\n<\/p>\n<blockquote><p>&nbsp;symfony propel-*-* \n<\/p><\/blockquote>\n<p>\u306b\u3064\u3044\u3066\u306f\u3053\u3061\u3089\u3092\u53c2\u7167\u3002<br \/>\n&#8211;<a href=\"http:\/\/blog.symfony.jp\/2006\/12\/18\/schema-yml\/\">schema.yml \u304c\u3069\u3053\u307e\u3067\u697d\u3055\u305b\u3066\u304f\u308c\u308b\u304b<\/a>(symfony \u3067\u958b\u767a\u65e5\u8a18)<br \/>\n&nbsp;&nbsp;schema.yml \u306e\u66f8\u304d\u65b9\u306b\u3064\u3044\u3066\u307e\u3068\u3081\u3089\u308c\u3066\u3044\u307e\u3059\u3002<br \/>\n&#8211;<a href=\"http:\/\/d.hatena.ne.jp\/simpraight\/20070609\/1181406504\">MySQL4.1\u4ee5\u964d+symfony\u306e\u3068\u304d\u306edatabase.yml<\/a><br \/>\n&nbsp;&nbsp;MySQL4.1 \u4ee5\u964d\u3067\u306f encoding: utf8 \u3092\u6307\u5b9a\u3057\u306a\u3044\u3068\u5316\u3051\u308b\u3001\u3068\u306e\u3053\u3068\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>symfony \u3067\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u51e6\u7406\u306b Propel \u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002 \u6b21\u306e\u624b\u9806\u3092\u8e0f\u3080\u3053\u3068\u3067\u3001\u30c6\u30fc\u30d6\u30eb\u3092\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u6271\u3046\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002 &nbsp; 1. propel.ini \u306e\u8a2d\u5b9a &lt;projec &hellip; <a href=\"https:\/\/www.ecoop.net\/memo\/archives\/2007-06-23-2.html\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">symfony &#8211; \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u6271\u3046\u306b\u306f\uff1f<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[32],"class_list":["post-747","post","type-post","status-publish","format-standard","hentry","tag-php"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/comments?post=747"}],"version-history":[{"count":0,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/747\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/media?parent=747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/categories?post=747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/tags?post=747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}