{"id":621,"date":"2025-06-11T11:09:11","date_gmt":"2025-06-11T03:09:11","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/sjjg\/621.html"},"modified":"2025-06-11T11:09:11","modified_gmt":"2025-06-11T03:09:11","slug":"%e8%a7%a3%e5%86%b3php%e6%9c%aa%e6%8d%95%e8%8e%b7%e9%94%99%e8%af%af%ef%bc%9a%e8%ae%bf%e9%97%ae%e6%9c%aa%e5%a3%b0%e6%98%8e%e7%9a%84%e9%9d%99%e6%80%81%e5%b1%9e%e6%80%a7","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/621.html","title":{"rendered":"\u89e3\u51b3PHP\u672a\u6355\u83b7\u9519\u8bef\uff1a\u8bbf\u95ee\u672a\u58f0\u660e\u7684\u9759\u6001\u5c5e\u6027"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312;&#22788;&#29702;PHP&#20195;&#30721;&#26102;&#65292;&#22914;&#26524;&#36935;&#21040;&ldquo;&#35775;&#38382;&#26410;&#22768;&#26126;&#30340;&#38745;&#24577;&#23646;&#24615;&rdquo;&#30340;&#38169;&#35823;&#65292;&#36890;&#24120;&#26159;&#22240;&#20026;&#23581;&#35797;&#35775;&#38382;&#19968;&#20010;&#26410;&#23450;&#20041;&#30340;&#38745;&#24577;&#23646;&#24615;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#24120;&#35265;&#30340;&#21407;&#22240;&#21644;&#35299;&#20915;&#26041;&#27861;&#65306;<\/p>\n<h3>&#24120;&#35265;&#21407;&#22240;<\/h3>\n<ol>\n<li><strong>&#31867;&#23450;&#20041;&#38382;&#39064;<\/strong>&#65306;&#30830;&#20445;&#31867;&#24050;&#32463;&#27491;&#30830;&#23450;&#20041;&#65292;&#24182;&#19988;&#38745;&#24577;&#23646;&#24615;&#34987;&#27491;&#30830;&#22768;&#26126;&#12290;<\/li>\n<li><strong>&#23454;&#20363;&#21270;&#38382;&#39064;<\/strong>&#65306;&#22914;&#26524;&#20320;&#23581;&#35797;&#35775;&#38382;&#38745;&#24577;&#23646;&#24615;&#65292;&#20294;&#27809;&#26377;&#21019;&#24314;&#35813;&#31867;&#30340;&#23454;&#20363;&#12290;<\/li>\n<li><strong>&#21629;&#21517;&#31354;&#38388;&#38382;&#39064;<\/strong>&#65306;&#22914;&#26524;&#20320;&#20351;&#29992;&#20102;&#21629;&#21517;&#31354;&#38388;&#65292;&#30830;&#20445;&#20320;&#22312;&#27491;&#30830;&#30340;&#21629;&#21517;&#31354;&#38388;&#19979;&#35775;&#38382;&#38745;&#24577;&#23646;&#24615;&#12290;<\/li>\n<\/ol>\n<h3>&#35299;&#20915;&#26041;&#27861;<\/h3>\n<h4>1. &#30830;&#20445;&#31867;&#24050;&#27491;&#30830;&#23450;&#20041;&#24182;&#38745;&#24577;&#23646;&#24615;&#34987;&#27491;&#30830;&#22768;&#26126;<\/h4>\n<pre><code class=\"language-php\">class MyClass {\n    public static $staticProperty = 'Hello, World!';\n}<\/code><\/pre>\n<h4>2. &#30830;&#20445;&#23454;&#20363;&#21270;&#31867;<\/h4>\n<p>&#22914;&#26524;&#20320;&#38656;&#35201;&#35775;&#38382;&#38745;&#24577;&#23646;&#24615;&#65292;&#20294;&#27809;&#26377;&#21019;&#24314;&#35813;&#31867;&#30340;&#23454;&#20363;&#65292;&#20320;&#38656;&#35201;&#20808;&#21019;&#24314;&#23454;&#20363;&#12290;<\/p>\n<pre><code class=\"language-php\">$myObject = new MyClass();\necho $myObject::$staticProperty; \/\/ &#36755;&#20986;: Hello, World!<\/code><\/pre>\n<h4>3. &#20351;&#29992;&#21629;&#21517;&#31354;&#38388;&#65288;&#22914;&#26524;&#36866;&#29992;&#65289;<\/h4>\n<p>&#22914;&#26524;&#20320;&#20351;&#29992;&#20102;&#21629;&#21517;&#31354;&#38388;&#65292;&#30830;&#20445;&#20320;&#22312;&#27491;&#30830;&#30340;&#21629;&#21517;&#31354;&#38388;&#19979;&#35775;&#38382;&#38745;&#24577;&#23646;&#24615;&#12290;<\/p>\n<pre><code class=\"language-php\">namespace MyNamespace;\n\nclass MyClass {\n    public static $staticProperty = 'Hello, World!';\n}\n\nuse MyNamespaceMyClass;\n\necho MyClass::$staticProperty; \/\/ &#36755;&#20986;: Hello, World!<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#27491;&#30830;&#35775;&#38382;&#21644;&#20462;&#25913;&#38745;&#24577;&#23646;&#24615;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#23450;&#20041;&#19968;&#20010;&#31867;\nclass MyClass {\n    public static $staticProperty = 'Initial Value';\n\n    \/\/ &#26041;&#27861;&#26469;&#20462;&#25913;&#38745;&#24577;&#23646;&#24615;\n    public static function setStaticProperty($value) {\n        self::$staticProperty = $value;\n    }\n\n    \/\/ &#26041;&#27861;&#26469;&#33719;&#21462;&#38745;&#24577;&#23646;&#24615;\n    public static function getStaticProperty() {\n        return self::$staticProperty;\n    }\n}\n\n\/\/ &#21019;&#24314;&#31867;&#30340;&#23454;&#20363;\n$myObject = new MyClass();\n\n\/\/ &#33719;&#21462;&#38745;&#24577;&#23646;&#24615;\necho MyClass::getStaticProperty(); \/\/ &#36755;&#20986;: Initial Value\n\n\/\/ &#20462;&#25913;&#38745;&#24577;&#23646;&#24615;\nMyClass::setStaticProperty('New Value');\n\n\/\/ &#20877;&#27425;&#33719;&#21462;&#38745;&#24577;&#23646;&#24615;\necho MyClass::getStaticProperty(); \/\/ &#36755;&#20986;: New Value\n?&gt;<\/code><\/pre>\n<p>&#36890;&#36807;&#36825;&#20123;&#27493;&#39588;&#65292;&#20320;&#24212;&#35813;&#33021;&#22815;&#35299;&#20915;&ldquo;&#35775;&#38382;&#26410;&#22768;&#26126;&#30340;&#38745;&#24577;&#23646;&#24615;&rdquo;&#30340;&#38169;&#35823;&#12290;&#22914;&#26524;&#38382;&#39064;&#20173;&#28982;&#23384;&#22312;&#65292;&#35831;&#26816;&#26597;&#26159;&#21542;&#26377;&#20854;&#20182;&#22320;&#26041;&#36951;&#28431;&#20102;&#24517;&#35201;&#30340;&#21021;&#22987;&#21270;&#25110;&#22768;&#26126;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><p>&#22788;&#29702;&#38169;&#35823;&#21644;&#24322;&#24120;&#26159;&#24320;&#21457;&#24378;&#22823;PHP&#24212;&#29992;&#31243;&#24207;&#19981;&#21487;&#25110;&#32570;&#30340;&#19968;&#37096;&#20998;&#12290;&#22312;&#20351;&#29992;PHP&#31867;&#21644;&#23545;&#35937;&#26102;&#65292;&#21487;&#33021;&#20250;&#36935;&#21040;&#19968;&#20010;&#21517;&#20026;&ldquo;&#26410;&#25429;&#33719;&#30340;&#38169;&#35823;&#65306;&#23545;&#26410;&#22768;&#26126;&#30340;&#38745;&#24577;&#23646;&#24615;&#35775;&#38382;&rdquo;&#30340;&#38169;&#35823;&#12290;&#36825;&#31181;&#38169;&#35823;&#20250;&#22312;&#24744;&#30340;PHP&#20195;&#30721;&#23581;&#35797;&#35775;&#38382;&#19981;&#22312;&#31867;&#20316;&#29992;&#22495;&#20869;&#30340;&#38745;&#24577;&#23646;&#24615;&#26102;&#25243;&#20986;&#12290;&#26412;&#25945;&#31243;&#23558;&#25351;&#23548;&#24744;&#20102;&#35299;&#24182;&#35299;&#20915;&#27492;&#38169;&#35823;&#65292;&#30830;&#20445;&#24744;&#30340;PHP&#24212;&#29992;&#36816;&#34892;&#39034;&#30021;&#12290;<\/p><h2>&#22312;PHP&#20013;&#29702;&#35299;&#38745;&#24577;&#23646;&#24615;&#26159;&#38750;&#24120;&#37325;&#35201;&#30340;&#65292;&#36825;&#20123;&#23646;&#24615;&#26159;&#22312;&#31867;&#30340;&#25972;&#20010;&#29983;&#21629;&#21608;&#26399;&#20869;&#20849;&#20139;&#30340;&#12290;&#23427;&#20204;&#36890;&#24120;&#29992;&#20110;&#23384;&#20648;&#19982;&#31867;&#26412;&#36523;&#30456;&#20851;&#30340;&#20449;&#24687;&#25110;&#29366;&#24577;&#12290;&#20363;&#22914;&#65292;&#22312;&#19968;&#20010;&#29992;&#25143;&#31649;&#29702;&#31867;&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#38745;&#24577;&#23646;&#24615;&#26469;&#20445;&#23384;&#29992;&#25143;&#30340;&#24635;&#25968;&#25110;&#32773;&#26576;&#20010;&#29305;&#23450;&#35282;&#33394;&#30340;&#29992;&#25143;&#25968;&#37327;&#12290;\n&#19979;&#38754;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#20363;&#23376;&#65306;\nclass UserManager {\n private static $users = 0;\n\n public function addUser() {\n self::$users++;\n }\n\n public function getUserCount() {\n return self::$users;\n }\n}\n\n$userManager = new UserManager();\necho $userManager-&gt;getUserCount(); \/\/ &#36755;&#20986;&#65306;1\n\n$userManager-&gt;addUser();\necho $userManager-&gt;getUserCount(); \/\/ &#36755;&#20986;&#65306;2\n&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;$users &#26159;&#19968;&#20010;&#38745;&#24577;&#23646;&#24615;&#65292;&#23427;&#22312;&#25972;&#20010;&#31243;&#24207;&#36816;&#34892;&#26399;&#38388;&#37117;&#20250;&#20445;&#25345;&#20854;&#20540;&#12290;&#24403;&#25105;&#20204;&#35843;&#29992; addUser() &#26041;&#27861;&#26102;&#65292;&#25105;&#20204;&#23454;&#38469;&#19978;&#26159;&#22686;&#21152; self::$users &#30340;&#20540;&#12290;&#36825;&#20351;&#24471;&#25105;&#20204;&#21487;&#20197;&#36731;&#26494;&#22320;&#33719;&#21462;&#24403;&#21069;&#26377;&#22810;&#23569;&#20010;&#29992;&#25143;&#23384;&#22312;&#12290;\n&#35831;&#27880;&#24847;&#65292;&#38745;&#24577;&#23646;&#24615;&#19981;&#33021;&#34987;&#23454;&#20363;&#21270;&#23545;&#35937;&#35775;&#38382;&#12290;&#36825;&#24847;&#21619;&#30528;&#20320;&#19981;&#33021;&#20687;&#36825;&#26679;&#20351;&#29992;&#23427;&#20204;&#65306;\n$userManagerInstance = new UserManager();\n$userManagerInstance::getUserCount(); \/\/ &#36825;&#34892;&#20195;&#30721;&#23558;&#20250;&#23548;&#33268;&#38169;&#35823;\n&#36825;&#26159;&#22240;&#20026;&#38745;&#24577;&#23646;&#24615;&#23646;&#20110;&#31867;&#32780;&#19981;&#26159;&#23427;&#30340;&#23454;&#20363;&#12290;&#25152;&#20197;&#65292;&#22914;&#26524;&#20320;&#38656;&#35201;&#22312;&#31867;&#20043;&#22806;&#65288;&#22914;&#20989;&#25968;&#25110;&#26041;&#27861;&#65289;&#35775;&#38382;&#38745;&#24577;&#23646;&#24615;&#65292;&#20320;&#38656;&#35201;&#36890;&#36807;&#31867;&#21517;&#36827;&#34892;&#35775;&#38382;&#65292;&#22914;&#19979;&#25152;&#31034;&#65306;\n\/\/ &#22312;&#20854;&#20182;&#22320;&#26041;&#23450;&#20041;&#30340;&#26041;&#27861;&#20013;\necho UserManager::getUserCount(); \/\/ &#36825;&#37324;&#21487;&#20197;&#23433;&#20840;&#22320;&#35775;&#38382;&#21040; $users &#23646;&#24615;\n&#24076;&#26395;&#36825;&#20010;&#35299;&#37322;&#33021;&#24110;&#21161;&#20320;&#26356;&#22909;&#22320;&#29702;&#35299;&#21644;&#21033;&#29992; PHP &#20013;&#30340;&#38745;&#24577;&#23646;&#24615;&#65281;<\/h2><p>&#22312;PHP&#20013;&#65292;&#21487;&#20197;&#22768;&#26126;&#23646;&#24615;&#21644;&#26041;&#27861;&#20026;&#38745;&#24577;&#30340;&#65292;&#36825;&#24847;&#21619;&#30528;&#23427;&#20204;&#21487;&#20197;&#36890;&#36807;&#19981;&#21019;&#24314;&#31867;&#23454;&#20363;&#30340;&#26041;&#24335;&#35775;&#38382;&#12290;&#38745;&#24577;&#23646;&#24615;&#21644;&#26041;&#27861;&#19982;&#25972;&#20010;&#31867;&#30456;&#20851;&#32852;&#65292;&#32780;&#19981;&#26159;&#29305;&#23450;&#30340;&#23545;&#35937;&#23454;&#20363;&#12290;&#36825;&#29305;&#21035;&#36866;&#29992;&#20110;&#37027;&#20123;&#19982;&#20010;&#20307;&#23454;&#20363;&#26080;&#20851;&#65292;&#32780;&#26159;&#19982;&#25972;&#20010;&#31867;&#30456;&#20851;&#30340;&#20540;&#25110;&#20989;&#25968;&#12290;<\/p><pre><code>class MyClass {\n    public static $myStaticProperty = 'static value';\n}\n\necho MyClass::$myStaticProperty; \/\/ Outputs: static value\n<\/code><\/pre><h2>&#38169;&#35823;&#30340;&#24120;&#35265;&#21407;&#22240;<\/h2><p>&#35813;&#38169;&#35823;&#21487;&#20197;&#22312;&#22810;&#31181;&#22330;&#26223;&#19979;&#21457;&#29983;&#65292;&#20363;&#22914;&#23581;&#35797;&#35775;&#38382;&#19968;&#20010;&#19981;&#23384;&#22312;&#30340;&#23646;&#24615;&#65306;<\/p><p>&#20351;&#29992;&#23454;&#20363;&#23646;&#24615;&#25110;&#26041;&#27861;&#35775;&#38382;&#26102;&#65292;&#35821;&#27861;&#21487;&#33021;&#19981;&#27491;&#30830;&#12290;<\/p><p>&#35813;&#23646;&#24615;&#26159;&#21542;&#21463;&#20445;&#25252;&#25110;&#31169;&#26377;&#65292;&#19988;&#20854;&#35775;&#38382;&#26435;&#38480;&#20174;&#22806;&#37096;&#31867;&#22806;&#34987;&#20351;&#29992;&#12290;<\/p><p>&#24050;&#32463;&#23459;&#24067;&#65292;&#20294;&#24182;&#26410;&#23450;&#20041;&#20026;&#38745;&#24577;&#12290;<\/p><p>&#27809;&#26377;&#22312;&#35813;&#31867;&#20013;&#36827;&#34892;&#20219;&#20309;&#22768;&#26126;&#12290;<\/p><h2>&#35299;&#20915;&#38169;&#35823;&#30340;&#27493;&#39588;<\/h2><p>&#27491;&#30830;&#20351;&#29992;&#35821;&#27861;&#65306;&#22312;&#35775;&#38382;&#38745;&#24577;&#23646;&#24615;&#26102;&#65292;&#35831;&#20351;&#29992;&#27491;&#30830;&#30340;&#35821;&#27861;&ldquo;::&rdquo;&#12290;&#19981;&#35201;&#28151;&#28102;&#23427;&#19982;&#29992;&#20110;&#23454;&#20363;&#23646;&#24615;&#30340;&ldquo;-&gt;&rdquo;&#31526;&#21495;&#12290;<\/p><p>&#35775;&#38382;&#33539;&#22260;&#65306;&#30830;&#20445;&#24744;&#22312;&#27491;&#30830;&#33539;&#22260;&#20869;&#35775;&#38382;&#35813;&#25151;&#20135;&#12290;&#22914;&#26524;&#35813;&#25151;&#20135;&#21463;&#21040;&#20445;&#25252;&#25110;&#31169;&#26377;&#65292;&#21487;&#33021;&#38656;&#35201;&#22312;&#31867;&#20013;&#28155;&#21152;&#19968;&#20010;&#20844;&#20849;&#38745;&#24577;getter&#26041;&#27861;&#12290;<\/p><p>&#27491;&#30830;&#30340;&#23646;&#24615;&#23450;&#20041;&#65306;&#22914;&#26524;&#22768;&#26126;&#20102;&#20294;&#26410;&#20316;&#20026;&#38745;&#24577;&#65292;&#20462;&#25913;&#23450;&#20041;&#26102;&#28155;&#21152;&ldquo;static&rdquo;&#20851;&#38190;&#23383;&#12290;<\/p><p>&#26816;&#26597;&#22768;&#26126;&#65306;&#30830;&#20445;&#24744;&#23581;&#35797;&#35775;&#38382;&#30340;&#38745;&#24577;&#23646;&#24615;&#22312;&#31867;&#20869;&#37096;&#24050;&#22768;&#26126;&#12290;&#22914;&#26524;&#32570;&#22833;&#65292;&#35831;&#28155;&#21152;&#22768;&#26126;&#12290;<\/p><h2>&#31034;&#20363;&#21644;&#35843;&#35797;<\/h2><p>&#36825;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#20363;&#23376;&#65306;<\/p><pre><code>class User {\n    public static $userCount = 0;\n\n    public function __construct() {\n        self::$userCount++;\n    }\n}\n\nnew User();\nnew User();\necho User::$userCount; \/\/ Outputs: 2\n<\/code><\/pre><p>&#22914;&#26524;&ldquo;&#29992;&#25143;&#35745;&#25968;&rdquo;&#65288;userCount&#65289;&#26410;&#22768;&#26126;&#20026;&#38745;&#24577;&#65292;&#23581;&#35797;&#22312;&#26500;&#36896;&#20989;&#25968;&#20869;&#37096;&#23545;&#20854;&#36827;&#34892;&#36882;&#22686;&#20250;&#23548;&#33268;&#25105;&#20204;&#25152;&#29087;&#30693;&#30340;&#38169;&#35823;&#12290;&#22987;&#32456;&#23558;&#24320;&#21457;&#29615;&#22659;&#20013;&#30340;&#38169;&#35823;&#25253;&#21578;&#32423;&#21035;&#35774;&#32622;&#20026;E_ALL&#20197;&#23613;&#26089;&#21457;&#29616;&#27492;&#31867;&#38382;&#39064;&#12290;<\/p><p>&#27492;&#22806;&#65292;&#19968;&#20010;&#33021;&#29702;&#35299;PHP&#35821;&#27861;&#21644;&#35821;&#20041;&#30340;IDE&#24120;&#24120;&#21487;&#20197;&#22312;&#24744;&#36816;&#34892;&#33050;&#26412;&#20043;&#21069;&#23601;&#25351;&#20986;&#36825;&#20123;&#38382;&#39064;&#12290;<\/p><h2>&#39640;&#32423;&#24037;&#20855;&#21644;&#25216;&#26415;<\/h2><p>&#23545;&#20110;&#22797;&#26434;&#30340;&#39033;&#30446;&#65292;&#38745;&#24577;&#20998;&#26512;&#24037;&#20855;&#22914;PHPStan&#25110;Psalm&#21487;&#20197;&#20998;&#26512;&#20195;&#30721;&#24211;&#20197;&#26816;&#27979;&#28508;&#22312;&#38382;&#39064;&#65292;&#32780;&#26080;&#38656;&#25191;&#34892;&#20195;&#30721;&#26412;&#36523;&#12290;&#36825;&#20123;&#24037;&#20855;&#21487;&#20197;&#22312;&#24744;&#23581;&#35797;&#35775;&#38382;&#26410;&#22768;&#26126;&#25110;&#38169;&#35823;&#21629;&#21517;&#30340;&#23646;&#24615;&#26102;&#26816;&#27979;&#21040;&#36825;&#20123;&#38382;&#39064;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#29702;&#35299;PHP&#20013;&#30340;&#38745;&#24577;&#23646;&#24615;&#24037;&#20316;&#21407;&#29702;&#24182;&#36981;&#24490;&#33391;&#22909;&#30340;&#32534;&#30721;&#23454;&#36341;&#21487;&#20197;&#24110;&#21161;&#24744;&#36991;&#20813;&ldquo;&#26410;&#22768;&#26126;&#30340;&#38745;&#24577;&#23646;&#24615;&#35775;&#38382;&rdquo;&#26102;&#24341;&#21457;&#30340;&ldquo;&#26410;&#25429;&#33719;&#38169;&#35823;&#65306;&#26410;&#22768;&#26126;&#30340;&#38745;&#24577;&#23646;&#24615;&rdquo;&#12290;&#25317;&#25265;&#24443;&#24213;&#30340;&#35843;&#35797;&#36807;&#31243;&#65292;&#21033;&#29992;IDE&#21151;&#33021;&#65292;&#24182;&#20351;&#29992;&#38745;&#24577;&#20998;&#26512;&#24037;&#20855;&#26469;&#32500;&#25252;&#25972;&#27905;&#19988;&#21151;&#33021;&#23436;&#21892;&#30340;&#20195;&#30721;&#12290;&#25353;&#29031;&#26412;&#25351;&#21335;&#25552;&#21040;&#30340;&#27493;&#39588;&#65292;&#24744;&#21487;&#20197;&#37319;&#21462;&#26377;&#21147;&#30340;&#26041;&#27861;&#22788;&#29702;&#38745;&#24577;&#23646;&#24615;&#20197;&#21450;&#36991;&#20813;&#30456;&#20851;&#38169;&#35823;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#24403;&#25105;&#20204;&#22312;PHP&#20013;&#23581;&#35797;&#35775;&#38382;&#19968;&#20010;&#26410;&#22768;&#26126;&#30340;&#38745;&#24577;&#23646;&#24615;&#26102;&#65292;&#31995;&#32479;&#20250;&#25243;&#20986;&#19968;&#20010;<code>UndefinedStaticPropertyException<\/code>&#24322;&#24120;&#12290;&#36825;&#20010;&#38169;&#35823;&#36890;&#24120;&#21457;&#29983;&#22312;&#25105;&#20204;&#35797;&#22270;&#20351;&#29992;&#26410;&#21021;&#22987;&#21270;&#30340;&#23545;&#35937;&#26102;&#12290;<\/p>\n<h3>&#35299;&#20915;&#26041;&#26696;<\/h3>\n<ol>\n<li>\n<p><strong>&#26816;&#26597;&#21464;&#37327;&#26159;&#21542;&#24050;&#27491;&#30830;&#21021;&#22987;&#21270;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#30830;&#20445;&#20320;&#22312;&#20351;&#29992;&#23545;&#35937;&#20043;&#21069;&#24050;&#32463;&#20026;&#35813;&#23545;&#35937;&#20998;&#37197;&#20102;&#27491;&#30830;&#30340;&#20869;&#23384;&#31354;&#38388;&#12290;<\/li>\n<li>&#26816;&#26597;<code>$object-&gt;property_name<\/code>&#26159;&#21542;&#25351;&#21521;&#20102;&#27491;&#30830;&#30340;&#23545;&#35937;&#23454;&#20363;&#12290;<\/li>\n<li>&#22914;&#26524;&#26159;&#25968;&#32452;&#32034;&#24341;&#65292;&#35831;&#30830;&#20445;&#25968;&#32452;&#30340;&#38190;&#25351;&#23450;&#20102;&#26377;&#25928;&#30340;&#23545;&#35937;&#23454;&#20363;&#12290;<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>&#20351;&#29992;<code>isset()<\/code>&#20989;&#25968;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#24403;&#23581;&#35797;&#35775;&#38382;&#19968;&#20010;&#26410;&#23450;&#20041;&#30340;&#23646;&#24615;&#26102;&#65292;&#21487;&#20197;&#20808;&#26816;&#26597;&#23427;&#26159;&#21542;&#23384;&#22312;&#20877;&#36827;&#34892;&#25805;&#20316;&#12290;\n<pre><code class=\"language-php\">if (isset($object['property_name'])) {\n\/\/ &#20351;&#29992;&#24050;&#23384;&#22312;&#30340;&#23646;&#24615;&#20540;\n} else {\nthrow new Exception('Undefined property');\n}<\/code><\/pre><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>&#20351;&#29992;<code>get_class()<\/code>&#21644;<code>__FUNCTION__<\/code><\/strong>&#65306;<\/p>\n<ul>\n<li>&#36890;&#36807;&#26816;&#26597;&#31867;&#21517;&#21644;&#26041;&#27861;&#21517;&#31216;&#26469;&#39564;&#35777;&#23427;&#20204;&#26159;&#21542;&#26377;&#25928;&#12290;\n<pre><code class=\"language-php\">if (strpos(get_class($object), 'MyClass') !== false &amp;&amp; method_exists(__CLASS__, '__' . $method)) {\n\/\/ &#20351;&#29992;&#21512;&#27861;&#30340;&#26041;&#27861;&#35843;&#29992;\n} else {\nthrow new Exception('Invalid class or method name');\n}<\/code><\/pre><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>&#20351;&#29992;<code>assert()<\/code><\/strong>&#65288;&#20165;&#29992;&#20110;&#35843;&#35797;&#65289;&#65306;<\/p>\n<ul>\n<li>&#22312;&#21333;&#20803;&#27979;&#35797;&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;<code>assert()<\/code>&#20989;&#25968;&#26469;&#39564;&#35777;&#23545;&#35937;&#30340;&#29366;&#24577;&#12290;\n<pre><code class=\"language-php\">assert(property_name === expected_value);<\/code><\/pre><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>&#20248;&#21270;&#20195;&#30721;&#32467;&#26500;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#23613;&#37327;&#36991;&#20813;&#30452;&#25509;&#20351;&#29992;&#26410;&#21021;&#22987;&#21270;&#30340;&#38745;&#24577;&#23646;&#24615;&#65292;&#32780;&#26159;&#23558;&#23427;&#20204;&#21253;&#35013;&#25104;&#21487;&#35775;&#38382;&#30340;&#23545;&#35937;&#12290;\n<pre><code class=\"language-php\">public function getStaticPropertyValue() {\nreturn isset($this-&gt;property_name) ? $this-&gt;$property_name : null;\n}<\/code><\/pre><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>&#31034;&#20363;&#20195;&#30721;&#65306;<\/h3>\n<pre><code class=\"language-php\">&lt;?php\n\nclass MyClass {\n    private $property_name;\n\n    public function __construct($property_name) {\n        $this-&gt;property_name = $property_name;\n    }\n\n    public function setPropertyValue($value) {\n        $this-&gt;property_name = $value;\n    }\n\n    public function getPropertyValue() {\n        return $this-&gt;property_name;\n    }\n}\n\n\/\/ &#20351;&#29992;&#26410;&#21021;&#22987;&#21270;&#30340;&#38745;&#24577;&#23646;&#24615;\n$obj = new MyClass(null);\ntry {\n    echo $obj-&gt;getPropertyValue(); \/\/ &#25243;&#20986;&#26410;&#23450;&#20041;&#38169;&#35823;\n} catch (Exception $e) {\n    echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#21019;&#24314;&#20102;&#19968;&#20010;&#21517;&#20026;<code>MyClass<\/code>&#30340;&#23545;&#35937;&#65292;&#24182;&#23581;&#35797;&#33719;&#21462;&#19968;&#20010;&#26410;&#21021;&#22987;&#21270;&#30340;&#38745;&#24577;&#23646;&#24615;<code>$property_name<\/code>&#12290;&#30001;&#20110;&#25105;&#20204;&#27809;&#26377;&#20026;&#36825;&#20010;&#23646;&#24615;&#20998;&#37197;&#20869;&#23384;&#65292;&#22240;&#27492;&#26080;&#27861;&#35775;&#38382;&#20854;&#20540;&#12290;&#36825;&#23548;&#33268;&#20102;<code>UndefinedStaticPropertyException<\/code>&#30340;&#25243;&#20986;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312;&#22788;&#29702;PHP&#20195;&#30721;&#26102;&#65292;&#22914;&#26524;&#36935;&#21040;&ldquo;&#35775;&#38382;&#26410;&#22768;&#038;#..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[41],"tuisongtax":[],"class_list":["post-621","my1js","type-my1js","status-publish","hentry","my1js2nav-sjjg"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=621"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=621"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=621"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}