{"id":2142,"date":"2020-06-04T21:02:11","date_gmt":"2020-06-05T00:02:11","guid":{"rendered":"https:\/\/danielamaksoud.com.br\/blog\/?p=2142"},"modified":"2021-11-20T20:31:01","modified_gmt":"2021-11-20T23:31:01","slug":"cakephp-como-criei-behavior","status":"publish","type":"post","link":"https:\/\/danielamaksoud.com.br\/blog\/cakephp-como-criei-behavior\/","title":{"rendered":"CakePHP: Como criei Behavior?"},"content":{"rendered":"<ul class=\"heart-list\">\n<li>Criei um <em>behavior<\/em>, um modo de reutilizar l\u00f3gicas da camada <em>Model<\/em>, executando o seguinte c\u00f3digo no diret\u00f3rio do projeto:<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\r\nbin\/cake bake behavior Upload\r\n<\/pre>\n<ul class=\"heart-list\">\n<li>O arquivo <b>src\/Controller\/Model\/Behavior\/UploadBehavior.php<\/b> foi gerado.<\/li>\n<\/ul>\n<ul class=\"heart-list\">\n<li>Inclu\u00ed no arquivo <b>src\/Controller\/Model\/Table\/UsersTable.php<\/b> o seguinte c\u00f3digo:<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">\r\n$this->addBehavior('Upload');\r\n<\/pre>\n<ul class=\"heart-list\">\n<li>Para acessar os dados das imagens enviadas pelo formul\u00e1rio em formato <em>array<\/em>, foi necess\u00e1rio adicionar o seguinte c\u00f3digo no arquivo <b>config\/app.php<\/b>:<\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\r\nreturn [\r\n    \/\/ ...\r\n    'App' => [\r\n        \/\/ ...\r\n        'uploadedFilesAsObjects' => false,\r\n    ],\r\n    \/\/ ...\r\n];\r\n<\/pre>\n<blockquote><p><b>Fonte<\/b>: <a href=\"https:\/\/book.cakephp.org\/4\/en\/controllers\/request-response.html#file-uploads\" target=\"_blank\" rel=\"noopener noreferrer\">Request &#038; Response Objects<\/a><\/p><\/blockquote>\n<h2>Projeto de Sistema de Login com Behavior<\/h2>\n<p><center><br \/>\n<div class=\"sdm_download_button_box_default\"><div class=\"sdm_download_link\"><span class=\"sdm_enter_password_label_text\">Enter Password to Download:<\/span><form action=\"https:\/\/danielamaksoud.com.br\/blog\/?sdm_process_download=1&download_id=2148\" method=\"post\" id=\"sdm-pass-69e8c668876eb\" class=\"sdm-download-form\"><input type=\"password\" name=\"pass_text\" class=\"sdm_pass_text\" value=\"\" \/> <span class=\"sdm-download-button\"><a href=\"#\" name=\"sdm_dl_pass_submit\" class=\"pass_sumbit sdm_pass_protected_download sdm_download_with_condition sdm_download green\">Download<\/a><\/span><input type=\"hidden\" name=\"download_id\" value=\"2148\" \/><\/form><\/div><\/div><br \/>\n<div class=\"sdm_download_count\"><span class=\"sdm_count_number\">1<\/span><span class=\"sdm_count_string\"> Download<\/span><\/div><br \/>\n<\/center><\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Criei um behavior, um modo de reutilizar l\u00f3gicas da camada Model, executando o seguinte c\u00f3digo no diret\u00f3rio do projeto: bin\/cake bake behavior Upload O arquivo src\/Controller\/Model\/Behavior\/UploadBehavior.php foi gerado. Inclu\u00ed no&#8230;<\/p>\n<div class=\"post-bottom\"><a class=\"button\" href=\"https:\/\/danielamaksoud.com.br\/blog\/cakephp-como-criei-behavior\/\">Leia Mais<\/a><\/div>\n<div class=\"cf\"><\/div>\n","protected":false},"author":1,"featured_media":2151,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"CakePHP: Behavior","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[55],"tags":[62,56,57],"class_list":["post-2142","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento-web","tag-cakephp","tag-desenvolvimento-web","tag-php"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/danielamaksoud.com.br\/blog\/wp-content\/uploads\/2020\/06\/woman-typing-macbook.png?fit=3375%2C2250&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paVjRH-yy","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/2142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2142"}],"version-history":[{"count":5,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/2142\/revisions"}],"predecessor-version":[{"id":2150,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/2142\/revisions\/2150"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/media\/2151"}],"wp:attachment":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}