{"id":65,"date":"2025-02-25T16:26:11","date_gmt":"2025-02-25T12:56:11","guid":{"rendered":"https:\/\/techport.ir\/?p=65"},"modified":"2025-02-25T16:26:11","modified_gmt":"2025-02-25T12:56:11","slug":"%d9%85%d9%81%d9%87%d9%88%d9%85-dto-%da%86%db%8c%d8%b3%d8%aa%d8%9f","status":"publish","type":"post","link":"https:\/\/techport.ir\/?p=65","title":{"rendered":"\u0645\u0641\u0647\u0648\u0645 DTO \u0686\u06cc\u0633\u062a\u061f"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>DTO<\/strong> \u0645\u062e\u0641\u0641 <strong>Data Transfer Object<\/strong> \u0627\u0633\u062a\u060c \u06cc\u06a9 \u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u06cc\u0646 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0628\u062f\u0648\u0646 \u0645\u0646\u0637\u0642 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0628\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f. \u0647\u062f\u0641 \u0627\u0635\u0644\u06cc DTO \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0631\u0627 \u0627\u0632 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u0628\u0647 \u0646\u0642\u0637\u0647 \u062f\u06cc\u06af\u0631 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u062f\u060c \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0634\u0627\u0645\u0644 \u0647\u0631\u06af\u0648\u0646\u0647 \u0645\u0646\u0637\u0642 \u062a\u062c\u0627\u0631\u06cc \u06cc\u0627 \u0631\u0641\u062a\u0627\u0631\u06cc \u0628\u0627\u0634\u062f.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc DTO:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u0633\u0627\u062f\u0647 \u0648 \u0628\u062f\u0648\u0646 \u0645\u0646\u0637\u0642<\/strong>: DTO \u0641\u0642\u0637 \u0634\u0627\u0645\u0644 \u0641\u06cc\u0644\u062f\u0647\u0627 \u0648 \u0645\u062a\u062f\u0647\u0627\u06cc getter \u0648 setter \u0627\u0633\u062a \u0648 \u0647\u06cc\u0686\u200c\u06af\u0648\u0646\u0647 \u0639\u0645\u0644\u06cc\u0627\u062a \u06cc\u0627 \u0645\u0646\u0637\u0642 \u062a\u062c\u0627\u0631\u06cc \u062f\u0631 \u0622\u0646 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f.<\/li>\n\n\n\n<li><strong>\u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627<\/strong>: \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062f\u0631 \u0645\u0639\u0645\u0627\u0631\u06cc\u200c\u0647\u0627\u06cc \u0686\u0646\u062f \u0644\u0627\u06cc\u0647 (\u0645\u0627\u0646\u0646\u062f \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\u060c \u06a9\u0646\u062a\u0631\u0644\u0631 \u0648 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647) \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n\n\n\n<li><strong>\u062a\u0641\u06a9\u06cc\u06a9 \u0627\u0632 \u0645\u062f\u0644\u200c\u0647\u0627<\/strong>: \u0628\u0631\u062e\u0644\u0627\u0641 \u0645\u062f\u0644\u200c\u0647\u0627 (\u06a9\u0647 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0634\u0627\u0645\u0644 \u0645\u0646\u0637\u0642 \u062a\u062c\u0627\u0631\u06cc \u0628\u0627\u0634\u0646\u062f)\u060c DTO \u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc DTO:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u06cc\u0646 \u0633\u0631\u0648\u0631 \u0648 \u06a9\u0644\u0627\u06cc\u0646\u062a<\/strong>: \u062f\u0631 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u0627\u06cc\u062f \u0628\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0641\u0631\u0633\u062a\u0627\u062f\u0647 \u0634\u0648\u0646\u062f (\u0645\u0627\u0646\u0646\u062f JSON \u06cc\u0627 XML)\u060c \u0627\u0632 DTO \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u062a\u0627 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062e\u0627\u0644\u0635 \u0628\u062f\u0648\u0646 \u0645\u0646\u0637\u0642 \u0628\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0627\u0646\u062a\u0642\u0627\u0644 \u06cc\u0627\u0628\u062f.<\/li>\n\n\n\n<li><strong>\u06a9\u0627\u0647\u0634 \u0628\u0627\u0631<\/strong>: DTO\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u0641\u0642\u0637 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u0646\u062f \u0648 \u0628\u0647 \u06a9\u0627\u0647\u0634 \u0628\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u0634\u0628\u06a9\u0647 \u06a9\u0645\u06a9 \u06a9\u0646\u0646\u062f.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u0645\u062b\u0627\u0644:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0634\u0627\u0645\u0644 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u06cc\u0627\u062f\u06cc \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u0641\u0642\u0637 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0646\u0627\u0645 \u0648 \u0627\u06cc\u0645\u06cc\u0644 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 DTO \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"class UserDTO {\n    public $name;\n    public $email;\n\n    public function __construct($name, $email) {\n        $this-&gt;name = $name;\n        $this-&gt;email = $email;\n    }\n}\n\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FF79C6\">class<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">UserDTO<\/span><span style=\"color: #F8F8F2\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">public<\/span><span style=\"color: #F8F8F2\"> $name;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">public<\/span><span style=\"color: #F8F8F2\"> $email;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    <\/span><span style=\"color: #FF79C6\">public<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">function<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #8BE9FD\">__construct<\/span><span style=\"color: #F8F8F2\">($name, $email) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #BD93F9; font-style: italic\">$this<\/span><span style=\"color: #FF79C6\">-&gt;<\/span><span style=\"color: #F8F8F2\">name <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> $name;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #BD93F9; font-style: italic\">$this<\/span><span style=\"color: #FF79C6\">-&gt;<\/span><span style=\"color: #F8F8F2\">email <\/span><span style=\"color: #FF79C6\">=<\/span><span style=\"color: #F8F8F2\"> $email;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c <code>UserDTO<\/code> \u0641\u0642\u0637 \u0634\u0627\u0645\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0646\u0627\u0645 \u0648 \u0627\u06cc\u0645\u06cc\u0644 \u0627\u0633\u062a \u0648 \u0647\u06cc\u0686\u200c\u06af\u0648\u0646\u0647 \u0645\u0646\u0637\u0642 \u062a\u062c\u0627\u0631\u06cc \u06cc\u0627 \u0631\u0641\u062a\u0627\u0631 \u062e\u0627\u0635\u06cc \u062f\u0631 \u0622\u0646 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0627\u06cc\u0646 \u06a9\u0644\u0627\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u06cc\u0646 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627 \u06cc\u0627 \u0628\u0647 \u06a9\u0644\u0627\u06cc\u0646\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>DTO \u0645\u062e\u0641\u0641 Data Transfer Object \u0627\u0633\u062a\u060c \u06cc\u06a9 \u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0628\u06cc\u0646 \u0644\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0628\u062f\u0648\u0646 \u0645\u0646\u0637\u0642 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0628\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f. \u0647\u062f\u0641 \u0627\u0635\u0644\u06cc DTO \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u0631\u0627 \u0627\u0632 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u0628\u0647 \u0646\u0642\u0637\u0647 \u062f\u06cc\u06af\u0631 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u062f\u060c \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0634\u0627\u0645\u0644 \u0647\u0631\u06af\u0648\u0646\u0647 \u0645\u0646\u0637\u0642 \u062a\u062c\u0627\u0631\u06cc \u06cc\u0627 \u0631\u0641\u062a\u0627\u0631\u06cc \u0628\u0627\u0634\u062f. \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc DTO: \u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc DTO: \u0645\u062b\u0627\u0644: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3],"tags":[5],"class_list":["post-65","post","type-post","status-publish","format-standard","hentry","category-design-patterns","category-php","tag-source_chatgpt"],"_links":{"self":[{"href":"https:\/\/techport.ir\/index.php?rest_route=\/wp\/v2\/posts\/65","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techport.ir\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techport.ir\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techport.ir\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techport.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=65"}],"version-history":[{"count":1,"href":"https:\/\/techport.ir\/index.php?rest_route=\/wp\/v2\/posts\/65\/revisions"}],"predecessor-version":[{"id":66,"href":"https:\/\/techport.ir\/index.php?rest_route=\/wp\/v2\/posts\/65\/revisions\/66"}],"wp:attachment":[{"href":"https:\/\/techport.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=65"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techport.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=65"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techport.ir\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}