{"id":3477,"date":"2025-03-24T08:46:05","date_gmt":"2025-03-23T23:46:05","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=3477"},"modified":"2025-03-24T08:46:36","modified_gmt":"2025-03-23T23:46:36","slug":"%e3%80%90%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%e3%80%91php%e3%81%aedefine%e3%81%a8%e3%81%af%ef%bc%9f%e5%9f%ba%e6%9c%ac%e3%81%8b%e3%82%89%e5%bf%9c%e7%94%a8%e3%81%be%e3%81%a7%e4%bd%bf%e3%81%84","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=3477","title":{"rendered":"\u3010\u5b8c\u5168\u30ac\u30a4\u30c9\u3011PHP\u306edefine\u3068\u306f\uff1f\u57fa\u672c\u304b\u3089\u5fdc\u7528\u307e\u3067\u4f7f\u3044\u3053\u306a\u30597\u3064\u306e\u30c6\u30af\u30cb\u30c3\u30af"},"content":{"rendered":"\n<p>PHP\u3067\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u3057\u3066\u3044\u308b\u3068\u3001\u3042\u3061\u3053\u3061\u306b\u540c\u3058\u5024\u3092\u4f55\u5ea6\u3082\u66f8\u3044\u3066\u3057\u307e\u3063\u305f\u308a\u3001\u5f8c\u304b\u3089\u5024\u3092\u5909\u66f4\u3059\u308b\u969b\u306b\u591a\u304f\u306e\u7b87\u6240\u3092\u4fee\u6b63\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3068\u3044\u3046\u7d4c\u9a13\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u305d\u3093\u306a\u6642\u306b\u5f79\u7acb\u3064\u306e\u304c\u300c\u5b9a\u6570\u300d\u3068\u3044\u3046\u6982\u5ff5\u3067\u3059\u3002PHP\u3067\u306f\u4e3b\u306b<code>define()<\/code>\u95a2\u6570\u3092\u4f7f\u3063\u3066\u5b9a\u6570\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u5b9a\u6570\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u3067\u5909\u66f4\u3055\u308c\u306a\u3044\u56fa\u5b9a\u5024\u3092\u4fdd\u6301\u3059\u308b\u305f\u3081\u306e\u7279\u5225\u306a\u5909\u6570\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3001\u4e00\u5ea6\u5b9a\u7fa9\u3057\u305f\u3089\u5909\u66f4\u3067\u304d\u306a\u3044\u3068\u3044\u3046\u7279\u5fb4\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001PHP\u306e<code>define()<\/code>\u95a2\u6570\u306b\u3064\u3044\u3066\u3001\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u304b\u3089\u5fdc\u7528\u30c6\u30af\u30cb\u30c3\u30af\u3001\u305d\u3057\u3066\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u6d3b\u7528\u4e8b\u4f8b\u307e\u3067\u3001PHP\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u77e5\u3063\u3066\u304a\u304f\u3079\u304d\u60c5\u5831\u3092\u5fb9\u5e95\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>116<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>121<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>128<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\" data-dialog-title=\"\u76ee\u6b21\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">  <li class=\"first\">    <a href=\"#i-0\">\u3053\u306e\u8a18\u4e8b\u3067\u5b66\u3079\u308b\u3053\u3068<\/a>  <\/li>  <li>    <a href=\"#i-1\">\u60f3\u5b9a\u8aad\u8005<\/a>  <\/li>  <li>    <a href=\"#i-2\">PHP \u306e\u5b9a\u7fa9\u3068\u306f\uff1f \u57fa\u672c\u6982\u5ff5\u3068\u69cb\u6587\u3092\u7406\u89e3\u3059\u308b<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-3\">define\u306e\u57fa\u672c\u69cb\u6587\u3068\u5f15\u6570\u306e\u8a73\u7d30\u89e3\u8aac<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-4\">\u306a\u305c PHP \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5b9a\u6570\u304c\u91cd\u8981\u306a\u306e\u304b<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-10\">define\u3068const\u306e\u6c7a\u5b9a\u7684\u306a\u9055\u30445\u3064\u3092\u6bd4\u8f03<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-11\">\u30b9\u30b3\u30fc\u30d7\u306e\u9055\u3044\u3067\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\u304c\u5909\u308f\u308b<\/a>      <\/li>      <li>        <a href=\"#i-12\">\u914d\u5217\u3084\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u6271\u3046\u969b\u306e\u9055\u3044<\/a>      <\/li>      <li>        <a href=\"#i-13\">\u540d\u524d\u7a7a\u9593\u3068\u306e\u76f8\u4e92\u4f5c\u7528\u306e\u9055\u3044<\/a>      <\/li>      <li>        <a href=\"#i-14\">\u5b9f\u884c\u6642 vs \u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306e\u52d5\u6319\u306e\u9055\u3044<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-15\">\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\u304c\u53ef\u80fd\u306adefine\u306e\u67d4\u8edf\u6027<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-16\">PHP\u3067define\u3092\u4f7f\u3044\u3053\u306a\u30597\u3064\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-17\">\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3067\u74b0\u5883\u5909\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-18\">\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\u3067\u67d4\u8edf\u306a\u30b3\u30fc\u30c9\u8a2d\u8a08\u3092\u5b9f\u73fe\u3059\u308b<\/a>      <\/li>      <li>        <a href=\"#i-19\">\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3057\u305f\u5b9a\u6570\u306e\u885d\u7a81\u56de\u907f\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li>        <a href=\"#i-20\">\u5b9a\u6570\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u547d\u540d\u898f\u5247<\/a>      <\/li>      <li>        <a href=\"#i-21\">\u5b9a\u6570\u30b0\u30eb\u30fc\u30d7\u5316\u306b\u3088\u308b\u95a2\u9023\u5b9a\u6570\u306e\u52b9\u7387\u7684\u7ba1\u7406<\/a>      <\/li>      <li>        <a href=\"#i-22\">\u5b9a\u6570\u3092\u4f7f\u3063\u305f\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u3068\u4f8b\u5916\u51e6\u7406\u306e\u6700\u9069\u5316<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-23\">PHP \u306e\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3092\u6d3b\u7528\u3057\u305f\u30b3\u30fc\u30c9\u6700\u9069\u5316<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-24\">PHP 7.x\/8.x \u3067\u306e\u5b9a\u7fa9\u306e\u65b0\u6a5f\u80fd\u3068\u5909\u66f4\u70b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-25\">PHP 7\u4ee5\u964d\u3067\u53ef\u80fd\u306b\u306a\u3063\u305f\u914d\u5217\u5b9a\u6570\u306e\u5b9a\u7fa9\u65b9\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-26\">PHP 8 \u306e\u578b\u5ba3\u8a00\u3068\u5b9a\u6570\u306e\u95a2\u4fc2\u6027<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-27\">\u5b9a\u7fa9\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u6ce8\u610f\u70b9\u3068\u56de\u907f\u3059\u3079\u304d\u843d\u3068\u3057\u7a74<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-28\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3092\u8003\u3048\u308b\u5b9a\u6570\u306e\u904e\u5270\u4f7f\u7528<\/a>      <\/li>      <li>        <a href=\"#i-29\">\u518d\u5b9a\u7fa9\u306b\u3088\u308b\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3068\u9632\u6b62\u7b56<\/a>      <\/li>      <li>        <a href=\"#i-30\">\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306e\u533a\u5225\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3088\u308b\u6df7\u4e71\u306e\u56de\u907f<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-31\">\u305d\u306e\u4ed6\u306e\u6ce8\u610f\u3059\u3079\u304d\u91cd\u8981\u306a\u70b9<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-32\">\u5b9f\u8df5\u7684\u306adefine\u6d3b\u7528\u4e8b\u4f8b\uff1a\u672c\u756a\u74b0\u5883\u3067\u306e\u30b3\u30fc\u30c9\u4f8b<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-33\">\u8a2d\u5b9a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u3067\u306edefine\u306e\u5b9f\u88c5\u4f8b<\/a>      <\/li>      <li>        <a href=\"#i-34\">\u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u306e\u5b9a\u6570\u6d3b\u7528\u30d1\u30bf\u30fc\u30f3<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-35\">\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306b\u304a\u3051\u308b\u5b9a\u6570\u306e\u6700\u9069\u5316<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-36\">\u307e\u3068\u3081\uff1aPHP\u306edefine\u3092\u6700\u5927\u9650\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u6b21\u306e\u30b9\u30c6\u30c3\u30d7<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-37\">\u3053\u306e\u8a18\u4e8b\u3067\u5b66\u3093\u3060define\u306e\u91cd\u8981\u30dd\u30a4\u30f3\u30c8\u7dcf\u5fa9\u7fd2<\/a>      <\/li>      <li>        <a href=\"#i-38\">define\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u4e00\u89a7<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-39\">\u4eca\u5f8c\u306e\u5b66\u7fd2\u306e\u305f\u3081\u306e\u30ea\u30bd\u30fc\u30b9\u3068\u53c2\u8003\u8cc7\u6599<\/a>      <\/li>    <\/ul>  <\/li><\/ul>\n      <a href=\"#\" class=\"sgb-toc-button js-toc-button\" rel=\"nofollow\" data-open-dialog=\"true\"><i class=\"fa fa-list\"><\/i><span class=\"sgb-toc-button__text\">\u76ee\u6b21\u3078<\/span><\/a>\n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">\u3053\u306e\u8a18\u4e8b\u3067\u5b66\u3079\u308b\u3053\u3068<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>define()<\/code>\u95a2\u6570\u306e\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u3068\u69cb\u6587<\/li>\n\n\n\n<li><code>define()<\/code>\u3068<code>const<\/code>\u306e\u6c7a\u5b9a\u7684\u306a\u9055\u3044\u3068\u4f7f\u3044\u5206\u3051\u65b9<\/li>\n\n\n\n<li>PHP\u306e\u5b9a\u6570\u3092\u4f7f\u3044\u3053\u306a\u3059\u305f\u3081\u306e7\u3064\u306e\u5b9f\u8df5\u7684\u30c6\u30af\u30cb\u30c3\u30af<\/li>\n\n\n\n<li>PHP 7.x\/8.x\u3067\u306e\u65b0\u6a5f\u80fd\u3068\u5909\u66f4\u70b9<\/li>\n\n\n\n<li>\u5b9a\u6570\u4f7f\u7528\u6642\u306e\u6ce8\u610f\u70b9\u3068\u56de\u907f\u3059\u3079\u304d\u843d\u3068\u3057\u7a74<\/li>\n\n\n\n<li>\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u4e8b\u4f8b\u3068\u5177\u4f53\u7684\u306a\u30b3\u30fc\u30c9\u4f8b<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">\u60f3\u5b9a\u8aad\u8005<\/h2>\n\n\n\n<p>\u3053\u306e\u8a18\u4e8b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u65b9\u3005\u306b\u7279\u306b\u304a\u3059\u3059\u3081\u3067\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u59cb\u3081\u305f\u3070\u304b\u308a\u306e\u521d\u5fc3\u8005<\/li>\n\n\n\n<li><code>define()<\/code>\u3068<code>const<\/code>\u306e\u9055\u3044\u3084\u4f7f\u3044\u5206\u3051\u306b\u60a9\u3093\u3067\u3044\u308b\u4e2d\u7d1a\u8005<\/li>\n\n\n\n<li>\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306b\u53d6\u308a\u7d44\u3093\u3067\u3044\u308b\u30a8\u30f3\u30b8\u30cb\u30a2<\/li>\n\n\n\n<li>PHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4fdd\u5b88\u6027\u3068\u54c1\u8cea\u3092\u5411\u4e0a\u3055\u305b\u305f\u3044\u958b\u767a\u8005<\/li>\n<\/ul>\n\n\n\n<p>\u300c\u5b9a\u6570\u306a\u3093\u3066\u5358\u7d14\u306a\u3082\u306e\u3001\u4eca\u3055\u3089\u5b66\u3076\u3053\u3068\u306f\u306a\u3044\u300d\u3068\u601d\u3063\u3066\u3044\u308b\u30d9\u30c6\u30e9\u30f3\u306e\u65b9\u3082\u3001PHP 7\u4ee5\u964d\u306e\u65b0\u6a5f\u80fd\u3084\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u304b\u3089\u65b0\u305f\u306a\u77e5\u898b\u3092\u5f97\u3089\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>\u305d\u308c\u3067\u306f\u3001PHP\u306e<code>define()<\/code>\u95a2\u6570\u306e\u4e16\u754c\u3092\u6df1\u6398\u308a\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\">PHP \u306e\u5b9a\u7fa9\u3068\u306f\uff1f \u57fa\u672c\u6982\u5ff5\u3068\u69cb\u6587\u3092\u7406\u89e3\u3059\u308b<\/h2>\n\n\n\n<p>PHP\u306b\u304a\u3051\u308b\u300c\u5b9a\u7fa9\u300d\u3068\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u3067\u4f7f\u7528\u3059\u308b\u5b9a\u6570\uff08constant\uff09\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u3092\u6307\u3057\u307e\u3059\u3002\u5b9a\u6570\u3068\u306f\u3001\u540d\u524d\u3068\u5024\u306e\u30da\u30a2\u3067\u3042\u308a\u3001\u4e00\u5ea6\u5b9a\u7fa9\u3055\u308c\u308b\u3068\u5b9f\u884c\u4e2d\u306b\u5909\u66f4\u3067\u304d\u306a\u3044\u5024\u306e\u3053\u3068\u3067\u3059\u3002\u5909\u6570\u3068\u306e\u5927\u304d\u306a\u9055\u3044\u306f\u3001\u5b9a\u6570\u306f\u5024\u306e\u5909\u66f4\u304c\u3067\u304d\u306a\u3044\u3068\u3044\u3046\u70b9\u3068\u3001<code>$<\/code>\u8a18\u53f7\u3092\u4f7f\u308f\u305a\u306b\u53c2\u7167\u3067\u304d\u308b\u70b9\u306b\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>PHP\u3067\u306f\u4e3b\u306b2\u3064\u306e\u65b9\u6cd5\u3067\u5b9a\u6570\u3092\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002\u4e00\u3064\u306f<code>define()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3001\u3082\u3046\u4e00\u3064\u306f<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f<code>define()<\/code>\u95a2\u6570\u306b\u7126\u70b9\u3092\u5f53\u3066\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">define\u306e\u57fa\u672c\u69cb\u6587\u3068\u5f15\u6570\u306e\u8a73\u7d30\u89e3\u8aac<\/h3>\n\n\n\n<p><code>define()<\/code>\u95a2\u6570\u306e\u57fa\u672c\u7684\u306a\u69cb\u6587\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define(string $name, mixed $value, bool $case_insensitive = false);\n<\/pre>\n\n\n\n<p>\u3053\u306e\u95a2\u6570\u306f3\u3064\u306e\u5f15\u6570\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>$name<\/strong>\uff08\u5fc5\u9808\uff09\uff1a\u5b9a\u6570\u306e\u540d\u524d\u3092\u6587\u5b57\u5217\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\u6163\u7fd2\u3068\u3057\u3066\u5927\u6587\u5b57\u3068\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\uff08\u4f8b\uff1a<code>MAX_UPLOAD_SIZE<\/code>\uff09\u3002<\/li>\n\n\n\n<li><strong>$value<\/strong>\uff08\u5fc5\u9808\uff09\uff1a\u5b9a\u6570\u306b\u8a2d\u5b9a\u3059\u308b\u5024\u3067\u3059\u3002PHP 7.0\u4ee5\u964d\u3067\u306f\u30b9\u30ab\u30e9\u30fc\u5024\uff08\u6574\u6570\u3001\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3001\u6587\u5b57\u5217\u3001\u30d6\u30fc\u30eb\u5024\uff09\u3060\u3051\u3067\u306a\u304f\u3001\u914d\u5217\u3082\u6307\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/li>\n\n\n\n<li><strong>$case_insensitive<\/strong>\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09\uff1a\u540d\u524d\u306e\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u6307\u5b9a\u3059\u308b\u30d6\u30fc\u30eb\u5024\u3067\u3059\u3002<code>true<\/code>\u3092\u6307\u5b9a\u3059\u308b\u3068\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u304c\u533a\u5225\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3059\u304c\u3001PHP\u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u306f\u5f8c\u65b9\u4e92\u63db\u6027\u306e\u305f\u3081\u306b\u306e\u307f\u6b8b\u3055\u308c\u3066\u304a\u308a\u3001\u4f7f\u7528\u306f\u975e\u63a8\u5968\u3068\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f<code>false<\/code>\u3067\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>\u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u57fa\u672c\u7684\u306a\u5b9a\u6570\u5b9a\u7fa9\ndefine('MAX_USERS', 100);\necho MAX_USERS; \/\/ \u51fa\u529b: 100\n\n\/\/ \u6587\u5b57\u5217\u306e\u5b9a\u6570\u5b9a\u7fa9\ndefine('APP_NAME', 'My PHP Application');\necho APP_NAME; \/\/ \u51fa\u529b: My PHP Application\n\n\/\/ \u8ad6\u7406\u5024\uff08\u30d6\u30fc\u30eb\u5024\uff09\u306e\u5b9a\u6570\u5b9a\u7fa9\ndefine('DEBUG_MODE', true);\nif (DEBUG_MODE) {\n    echo '\u30c7\u30d0\u30c3\u30b0\u30e2\u30fc\u30c9\u304c\u6709\u52b9\u3067\u3059'; \/\/ \u3053\u3061\u3089\u304c\u51fa\u529b\u3055\u308c\u308b\n} else {\n    echo '\u30c7\u30d0\u30c3\u30b0\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u3067\u3059';\n}\n\n\/\/ PHP 7.0\u4ee5\u964d\u3067\u5229\u7528\u53ef\u80fd\u306a\u914d\u5217\u306e\u5b9a\u6570\u5b9a\u7fa9\ndefine('ALLOWED_STATUSES', ['active', 'pending', 'completed']);\necho ALLOWED_STATUSES[0]; \/\/ \u51fa\u529b: active\n<\/pre>\n\n\n\n<p><code>define()<\/code>\u95a2\u6570\u306f\u4e3b\u306b\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u3067\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u5b9a\u7fa9\u3057\u305f\u5b9a\u6570\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u3069\u306e\u90e8\u5206\u304b\u3089\u3067\u3082\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u95a2\u6570\u5185\u90e8\u3067\u5b9a\u7fa9\u3057\u305f\u5834\u5408\u3067\u3082\u3001\u305d\u306e\u5b9a\u6570\u306f\u95a2\u6570\u306e\u5916\u3067\u3082\u4f7f\u7528\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">function defineConstant() {\n    define('INSIDE_FUNCTION', '\u3053\u306e\u5b9a\u6570\u306f\u95a2\u6570\u5185\u3067\u5b9a\u7fa9\u3055\u308c\u307e\u3057\u305f');\n}\n\ndefineConstant();\necho INSIDE_FUNCTION; \/\/ \u51fa\u529b: \u3053\u306e\u5b9a\u6570\u306f\u95a2\u6570\u5185\u3067\u5b9a\u7fa9\u3055\u308c\u307e\u3057\u305f\n<\/pre>\n\n\n\n<p>\u307e\u305f\u3001\u5b9a\u6570\u304c\u65e2\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001<code>defined()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5b9a\u6570\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\nif (!defined('MAX_ATTEMPTS')) {\n    define('MAX_ATTEMPTS', 5);\n}\necho MAX_ATTEMPTS; \/\/ \u51fa\u529b: 5\n<\/pre>\n\n\n\n<p>\u3053\u306e\u95a2\u6570\u306f\u5b9a\u6570\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308c\u3070<code>true<\/code>\u3092\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070<code>false<\/code>\u3092\u8fd4\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u540c\u3058\u5b9a\u6570\u3092\u8aa4\u3063\u3066\u518d\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3092\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-4\">\u306a\u305c PHP \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5b9a\u6570\u304c\u91cd\u8981\u306a\u306e\u304b<\/h3>\n\n\n\n<p>PHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u304a\u3044\u3066\u5b9a\u6570\u3092\u9069\u5207\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3001\u3044\u304f\u3064\u304b\u306e\u91cd\u8981\u306a\u7406\u7531\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-5\">1. \u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\/\u6587\u5b57\u5217\u306e\u6392\u9664<\/h4>\n\n\n\n<p>\u30b3\u30fc\u30c9\u5185\u306b\u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3055\u308c\u305f\u6570\u5024\u3084\u6587\u5b57\u5217\uff08\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\/\u6587\u5b57\u5217\uff09\u306f\u3001\u4f55\u3092\u610f\u5473\u3059\u308b\u306e\u304b\u7406\u89e3\u3057\u3065\u3089\u304f\u3001\u4fdd\u5b88\u6027\u3092\u4f4e\u4e0b\u3055\u305b\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u60aa\u3044\u4f8b\uff1a\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\u3092\u76f4\u63a5\u4f7f\u7528\nif ($fileSize &gt; 2097152) {\n    echo '\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u304c\u5927\u304d\u3059\u304e\u307e\u3059';\n}\n\n\/\/ \u826f\u3044\u4f8b\uff1a\u5b9a\u6570\u3092\u4f7f\u7528\u3057\u3066\u610f\u5473\u3092\u660e\u78ba\u306b\ndefine('MAX_FILE_SIZE', 2097152); \/\/ 2MB\u3092\u30d0\u30a4\u30c8\u5358\u4f4d\u3067\u8868\u73fe\nif ($fileSize &gt; MAX_FILE_SIZE) {\n    echo '\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u304c\u5927\u304d\u3059\u304e\u307e\u3059';\n}\n<\/pre>\n\n\n\n<p>\u5b9a\u6570\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u5024\u306e\u610f\u5473\u304c\u660e\u78ba\u306b\u306a\u308a\u3001\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-6\">2. \u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u3068\u4fdd\u5b88\u6027\u306e\u5411\u4e0a<\/h4>\n\n\n\n<p>\u5b9a\u6570\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u304c\u3088\u308a\u81ea\u5df1\u8aac\u660e\u7684\u306b\u306a\u308a\u3001\u4ed6\u306e\u958b\u767a\u8005\uff08\u307e\u305f\u306f\u5c06\u6765\u306e\u81ea\u5206\uff09\u304c\u7406\u89e3\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5b9a\u6570\u3092\u4f7f\u7528\u3057\u305f\u8a2d\u5b9a\ndefine('DB_HOST', 'localhost');\ndefine('DB_USER', 'admin');\ndefine('DB_PASS', 'secret');\ndefine('DB_NAME', 'myapp');\n\n\/\/ \u63a5\u7d9a\u6587\u5b57\u5217\u306e\u4f5c\u6210\n$dsn = \"mysql:host=\" . DB_HOST . \";dbname=\" . DB_NAME;\n$pdo = new PDO($dsn, DB_USER, DB_PASS);\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3067\u306f\u3001\u63a5\u7d9a\u60c5\u5831\u304c\u660e\u78ba\u306b\u540d\u524d\u4ed8\u3051\u3055\u308c\u3066\u304a\u308a\u3001\u8a2d\u5b9a\u5024\u3092\u4e00\u7b87\u6240\u306b\u307e\u3068\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-7\">3. \u30d0\u30b0\u9632\u6b62\u3068\u30b3\u30fc\u30c9\u54c1\u8cea\u306e\u5411\u4e0a<\/h4>\n\n\n\n<p>\u5b9a\u6570\u306f\u4e00\u5ea6\u5b9a\u7fa9\u3059\u308b\u3068\u5909\u66f4\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u8aa4\u3063\u3066\u5024\u3092\u4e0a\u66f8\u304d\u3059\u308b\u3053\u3068\u306b\u3088\u308b\u30d0\u30b0\u3092\u9632\u6b62\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define('TAX_RATE', 0.1); \/\/ \u6d88\u8cbb\u7a0e\u738710%\n\n\/\/ \u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b\uff08\u5b9a\u6570\u306e\u518d\u5b9a\u7fa9\u306f\u3067\u304d\u306a\u3044\uff09\n\/\/ define('TAX_RATE', 0.08);\n\n\/\/ \u5024\u3092\u8aa4\u3063\u3066\u5909\u66f4\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u8a08\u7b97\u306e\u4e00\u8cab\u6027\u304c\u4fdd\u305f\u308c\u308b\n$price = 1000;\n$tax = $price * TAX_RATE;\n$total = $price + $tax;\n<\/pre>\n\n\n\n<p>\u3053\u308c\u306b\u3088\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u5168\u4f53\u3067\u4e00\u8cab\u3057\u305f\u5024\u3092\u4f7f\u7528\u3067\u304d\u3001\u9593\u9055\u3044\u304c\u5c11\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-8\">4. \u8a2d\u5b9a\u306e\u4e00\u5143\u7ba1\u7406<\/h4>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u5024\u3092\u5b9a\u6570\u3068\u3057\u3066\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3067\u3001\u8a2d\u5b9a\u306e\u4e00\u5143\u7ba1\u7406\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff08config.php\uff09\ndefine('APP_VERSION', '1.0.0');\ndefine('APP_ENV', 'production'); \/\/ 'development', 'testing', 'production'\u306a\u3069\ndefine('ERROR_REPORTING', APP_ENV === 'development' ? E_ALL : 0);\n\n\/\/ \u4ed6\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u306e\u4f7f\u7528\nerror_reporting(ERROR_REPORTING);\n<\/pre>\n\n\n\n<p>\u3053\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5168\u4f53\u306e\u8a2d\u5b9a\u3092\u4e00\u7b87\u6240\u3067\u7ba1\u7406\u3067\u304d\u3001\u5909\u66f4\u304c\u5fc5\u8981\u306a\u5834\u5408\u3082\u4e00\u7b87\u6240\u3092\u4fee\u6b63\u3059\u308b\u3060\u3051\u3067\u6e08\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-9\">5. \u30b3\u30fc\u30c9\u306e\u6700\u9069\u5316<\/h4>\n\n\n\n<p>PHP\u51e6\u7406\u7cfb\u306f\u3001\u5b9a\u6570\u306e\u5024\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u89e3\u6c7a\u3067\u304d\u308b\u5834\u5408\u304c\u3042\u308b\u305f\u3081\u3001\u5909\u6570\u3092\u4f7f\u7528\u3059\u308b\u3088\u308a\u3082\u82e5\u5e72\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5411\u4e0a\u304c\u671f\u5f85\u3067\u304d\u307e\u3059\u3002\u7279\u306b\u983b\u7e41\u306b\u30a2\u30af\u30bb\u30b9\u3055\u308c\u308b\u5024\u306e\u5834\u5408\u306f\u52b9\u679c\u7684\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u306e\u3088\u3046\u306b\u3001PHP\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u304a\u3044\u3066\u5b9a\u6570\u3092\u9069\u5207\u306b\u6d3b\u7528\u3059\u308b\u3053\u3068\u306f\u3001\u30b3\u30fc\u30c9\u306e\u54c1\u8cea\u5411\u4e0a\u3001\u4fdd\u5b88\u6027\u306e\u6539\u5584\u3001\u30d0\u30b0\u306e\u9632\u6b62\u306b\u5927\u304d\u304f\u8ca2\u732e\u3057\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>define()<\/code>\u3068<code>const<\/code>\u306e\u9055\u3044\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-10\">define\u3068const\u306e\u6c7a\u5b9a\u7684\u306a\u9055\u30445\u3064\u3092\u6bd4\u8f03<\/h2>\n\n\n\n<p>PHP\u3067\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u65b9\u6cd5\u3068\u3057\u3066\u3001<code>define()<\/code>\u95a2\u6570\u3068<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u306e2\u3064\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u4e00\u898b\u4f3c\u3066\u3044\u308b\u3088\u3046\u306b\u898b\u3048\u308b\u3053\u306e2\u3064\u306b\u306f\u3001\u5b9f\u306f\u91cd\u8981\u306a\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\u9069\u5207\u306a\u30b7\u30fc\u30f3\u3067\u9069\u5207\u306a\u65b9\u6cd5\u3092\u9078\u3076\u3053\u3068\u3067\u3001\u3088\u308a\u826f\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u305d\u306e\u6c7a\u5b9a\u7684\u306a\u9055\u30445\u3064\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n<div id=\"id-d26817bd-653a-494b-a608-f82ac380ce1b\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6bd4\u8f03\u9805\u76ee<\/th><th>define()<\/th><th>const<\/th><\/tr><\/thead><tbody><tr><td>\u30b9\u30b3\u30fc\u30d7<\/td><td>\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u306e\u307f<\/td><td>\u30af\u30e9\u30b9\u30b9\u30b3\u30fc\u30d7\u53ef\u80fd<\/td><\/tr><tr><td>\u8a55\u4fa1\u30bf\u30a4\u30df\u30f3\u30b0<\/td><td>\u5b9f\u884c\u6642<\/td><td>\u30b3\u30f3\u30d1\u30a4\u30eb\u6642<\/td><\/tr><tr><td>\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9<\/td><td>\u53ef\u80fd<\/td><td>\u4e0d\u53ef\u80fd<\/td><\/tr><tr><td>\u914d\u5217\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/td><td>PHP 7\u4ee5\u964d\u306f\u914d\u5217\u53ef\u80fd<\/td><td>PHP 5.6\u4ee5\u964d\u306f\u914d\u5217\u53ef\u80fd<\/td><\/tr><tr><td>\u540d\u524d\u7a7a\u9593\u3068\u306e\u76f8\u4e92\u4f5c\u7528<\/td><td>\u30b0\u30ed\u30fc\u30d0\u30eb\u540d\u524d\u7a7a\u9593\u304c\u57fa\u672c<\/td><td>\u73fe\u5728\u306e\u540d\u524d\u7a7a\u9593\u306b\u5c5e\u3059\u308b<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>PHP\u3067\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u65b9\u6cd5\u3068\u3057\u3066\u3001<code>define()<\/code>\u95a2\u6570\u3068<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u306e2\u3064\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u4e00\u898b\u4f3c\u3066\u3044\u308b\u3088\u3046\u306b\u898b\u3048\u308b\u3053\u306e2\u3064\u306b\u306f\u3001\u5b9f\u306f\u91cd\u8981\u306a\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\u9069\u5207\u306a\u30b7\u30fc\u30f3\u3067\u9069\u5207\u306a\u65b9\u6cd5\u3092\u9078\u3076\u3053\u3068\u3067\u3001\u3088\u308a\u826f\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u305d\u306e\u6c7a\u5b9a\u7684\u306a\u9055\u30445\u3064\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n<div id=\"id-ad180ecb-b3e9-4813-b153-0d055d17aea3\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6bd4\u8f03\u9805\u76ee<\/th><th>define()<\/th><th>const<\/th><\/tr><\/thead><tbody><tr><td>\u30b9\u30b3\u30fc\u30d7<\/td><td>\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u306e\u307f<\/td><td>\u30af\u30e9\u30b9\u30b9\u30b3\u30fc\u30d7\u53ef\u80fd<\/td><\/tr><tr><td>\u8a55\u4fa1\u30bf\u30a4\u30df\u30f3\u30b0<\/td><td>\u5b9f\u884c\u6642<\/td><td>\u30b3\u30f3\u30d1\u30a4\u30eb\u6642<\/td><\/tr><tr><td>\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9<\/td><td>\u53ef\u80fd<\/td><td>\u4e0d\u53ef\u80fd<\/td><\/tr><tr><td>\u914d\u5217\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/td><td>PHP 7\u4ee5\u964d\u306f\u914d\u5217\u53ef\u80fd<\/td><td>PHP 5.6\u4ee5\u964d\u306f\u914d\u5217\u53ef\u80fd<\/td><\/tr><tr><td>\u540d\u524d\u7a7a\u9593\u3068\u306e\u76f8\u4e92\u4f5c\u7528<\/td><td>\u30b0\u30ed\u30fc\u30d0\u30eb\u540d\u524d\u7a7a\u9593\u304c\u57fa\u672c<\/td><td>\u73fe\u5728\u306e\u540d\u524d\u7a7a\u9593\u306b\u5c5e\u3059\u308b<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"i-11\">\u30b9\u30b3\u30fc\u30d7\u306e\u9055\u3044\u3067\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\u304c\u5909\u308f\u308b<\/h3>\n\n\n\n<p><code>define()<\/code>\u3067\u4f5c\u6210\u3055\u308c\u305f\u5b9a\u6570\u306f\u5e38\u306b\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u306b\u5c5e\u3057\u307e\u3059\u3002\u4e00\u65b9\u3001<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u3060\u3051\u3067\u306a\u304f\u3001\u30af\u30e9\u30b9\u5185\u3067\u3082\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u3067\u306e\u4f7f\u7528\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ define\u3092\u4f7f\u7528\u3057\u305f\u30b0\u30ed\u30fc\u30d0\u30eb\u5b9a\u6570\ndefine('APP_VERSION', '1.0.0');\necho APP_VERSION; \/\/ \u51fa\u529b: 1.0.0\n\n\/\/ const\u3092\u4f7f\u7528\u3057\u305f\u30b0\u30ed\u30fc\u30d0\u30eb\u5b9a\u6570\nconst APP_NAME = 'My PHP App';\necho APP_NAME; \/\/ \u51fa\u529b: My PHP App\n<\/pre>\n\n\n\n<p><strong>\u30af\u30e9\u30b9\u30b9\u30b3\u30fc\u30d7\u3067\u306e\u4f7f\u7528\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Configuration {\n    \/\/ \u30af\u30e9\u30b9\u5185\u3067const\u3092\u4f7f\u7528\n    const DATABASE_HOST = 'localhost';\n    const DATABASE_NAME = 'myapp';\n    \n    \/\/ \u30af\u30e9\u30b9\u5185\u3067define\u306f\u4f7f\u7528\u3067\u304d\u306a\u3044\n    \/\/ define('DATABASE_USER', 'admin'); \/\/ \u3053\u308c\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b\n    \n    public function getDsn() {\n        return 'mysql:host=' . self::DATABASE_HOST . ';dbname=' . self::DATABASE_NAME;\n    }\n}\n\n\/\/ \u30af\u30e9\u30b9\u5b9a\u6570\u3078\u306e\u30a2\u30af\u30bb\u30b9\necho Configuration::DATABASE_HOST; \/\/ \u51fa\u529b: localhost\n\n\/\/ define\u306f\u30af\u30e9\u30b9\u5185\u3067\u306f\u4f7f\u7528\u3067\u304d\u306a\u3044\u304c\u3001\u95a2\u6570\u5185\u3067\u306f\u4f7f\u7528\u53ef\u80fd\nfunction setApiKey() {\n    define('API_KEY', 'xyz123');\n}\nsetApiKey();\necho API_KEY; \/\/ \u51fa\u529b: xyz123\n<\/pre>\n\n\n\n<p><strong>\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30af\u30e9\u30b9\u5185\u3067\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f<code>const<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3084\u74b0\u5883\u5909\u6570\u306b\u57fa\u3065\u3044\u3066\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u5834\u5408\u306f<code>define()<\/code>\u304c\u9069\u3057\u3066\u3044\u308b<\/li>\n\n\n\n<li>\u7570\u306a\u308b\u74b0\u5883\uff08\u958b\u767a\u3001\u30c6\u30b9\u30c8\u3001\u672c\u756a\uff09\u3067\u7570\u306a\u308b\u5024\u3092\u4f7f\u7528\u3059\u308b\u5b9a\u6570\u306b\u306f<code>define()<\/code>\u304c\u6700\u9069<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-12\">\u914d\u5217\u3084\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u6271\u3046\u969b\u306e\u9055\u3044<\/h3>\n\n\n\n<p>\u6b74\u53f2\u7684\u306b\u3001PHP\u306e\u5b9a\u6570\u306f\u5358\u7d14\u306a\u5024\uff08\u6574\u6570\u3001\u6587\u5b57\u5217\u3001\u30d6\u30fc\u30eb\u5024\u306a\u3069\uff09\u3057\u304b\u6271\u3048\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u8fd1\u5e74\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u3053\u306e\u5236\u9650\u304c\u7de9\u548c\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p><strong>PHP 5.6\u4ee5\u964d<\/strong>\u3067\u306f\u3001<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u3067\u914d\u5217\u3092\u5b9a\u6570\u3068\u3057\u3066\u5b9a\u7fa9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP 5.6\u4ee5\u964d\u3067\u306econst\u914d\u5217\u5b9a\u7fa9\nconst ALLOWED_ROLES = ['admin', 'editor', 'author', 'subscriber'];\necho ALLOWED_ROLES[0]; \/\/ \u51fa\u529b: admin\n<\/pre>\n\n\n\n<p><strong>PHP 7.0\u4ee5\u964d<\/strong>\u3067\u306f\u3001<code>define()<\/code>\u95a2\u6570\u3067\u3082\u914d\u5217\u3092\u5b9a\u7fa9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP 7.0\u4ee5\u964d\u3067\u306edefine\u914d\u5217\u5b9a\u7fa9\ndefine('ALLOWED_STATUS', ['active', 'pending', 'completed']);\necho ALLOWED_STATUS[1]; \/\/ \u51fa\u529b: pending\n<\/pre>\n\n\n\n<p>\u3057\u304b\u3057\u3001\u4e21\u65b9\u3068\u3082<strong>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5b9a\u6570\u5024\u3068\u3057\u3066\u6271\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$obj = new stdClass();\n$obj-&gt;property = 'value';\n\n\/\/ \u4ee5\u4e0b\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b\n\/\/ define('MY_OBJECT', $obj); \/\/ \u30a8\u30e9\u30fc: \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u5b9a\u6570\u306b\u3067\u304d\u306a\u3044\n\/\/ const MY_OBJECT_CONST = $obj; \/\/ \u30a8\u30e9\u30fc: const\u3067\u306f\u5909\u6570\u3092\u4f7f\u7528\u3067\u304d\u306a\u3044\n<\/pre>\n\n\n\n<p>\u5b9a\u6570\u5185\u306e\u914d\u5217\u8981\u7d20\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u65b9\u6cd5\u306f\u901a\u5e38\u306e\u914d\u5217\u3068\u540c\u3058\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define('CONFIG', [\n    'db' =&gt; [\n        'host' =&gt; 'localhost',\n        'user' =&gt; 'root',\n        'pass' =&gt; 'secret'\n    ]\n]);\n\n\/\/ \u591a\u6b21\u5143\u914d\u5217\u306e\u8981\u7d20\u3078\u306e\u30a2\u30af\u30bb\u30b9\necho CONFIG['db']['host']; \/\/ \u51fa\u529b: localhost\n<\/pre>\n\n\n\n<p><strong>\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PHP 5.6\u4ee5\u964d\u3067\u914d\u5217\u5b9a\u6570\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f<code>const<\/code>\u3082<code>define()<\/code>\uff08PHP 7\u4ee5\u964d\uff09\u3082\u4f7f\u7528\u53ef\u80fd<\/li>\n\n\n\n<li>PHP 5.6\u4ee5\u4e0a\u30017.0\u672a\u6e80\u3067\u914d\u5217\u5b9a\u6570\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f<code>const<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u95a2\u9023\u3059\u308b\u8a2d\u5b9a\u5024\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u306b\u306f\u914d\u5217\u5b9a\u6570\u304c\u4fbf\u5229<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-13\">\u540d\u524d\u7a7a\u9593\u3068\u306e\u76f8\u4e92\u4f5c\u7528\u306e\u9055\u3044<\/h3>\n\n\n\n<p>PHP\u306e\u540d\u524d\u7a7a\u9593\u3068\u5b9a\u6570\u306e\u76f8\u4e92\u4f5c\u7528\u306f\u3001<code>define()<\/code>\u3068<code>const<\/code>\u3067\u5927\u304d\u304f\u7570\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><code>const<\/code>\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5b9a\u6570\u306f\u3001\u5b9a\u7fa9\u3055\u308c\u305f\u540d\u524d\u7a7a\u9593\u306b\u5c5e\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">namespace App\\Config;\n\nconst APP_VERSION = '1.0.0';\n\n\/\/ \u540c\u3058\u540d\u524d\u7a7a\u9593\u5185\u304b\u3089\u30a2\u30af\u30bb\u30b9\necho APP_VERSION; \/\/ \u51fa\u529b: 1.0.0\n\n\/\/ \u5225\u306e\u540d\u524d\u7a7a\u9593\u304b\u3089\u30a2\u30af\u30bb\u30b9\nnamespace App\\Controller;\necho \\App\\Config\\APP_VERSION; \/\/ \u5b8c\u5168\u4fee\u98fe\u540d\u304c\u5fc5\u8981\n<\/pre>\n\n\n\n<p>\u4e00\u65b9\u3001<code>define()<\/code>\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5b9a\u6570\u306f\u3001\u540d\u524d\u7a7a\u9593\u3092\u6307\u5b9a\u3057\u306a\u3044\u9650\u308a\u30b0\u30ed\u30fc\u30d0\u30eb\u540d\u524d\u7a7a\u9593\u306b\u5c5e\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">namespace App\\Config;\n\n\/\/ \u540d\u524d\u7a7a\u9593\u672a\u6307\u5b9a\u306edefine\ndefine('DATABASE_NAME', 'myapp');\n\n\/\/ \u3069\u306e\u540d\u524d\u7a7a\u9593\u304b\u3089\u3067\u3082\u540c\u3058\u3088\u3046\u306b\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\necho DATABASE_NAME; \/\/ \u51fa\u529b: myapp\n\nnamespace App\\Service;\necho DATABASE_NAME; \/\/ \u51fa\u529b: myapp\uff08\u540d\u524d\u7a7a\u9593\u306e\u5f71\u97ff\u3092\u53d7\u3051\u306a\u3044\uff09\n<\/pre>\n\n\n\n<p>\u540d\u524d\u7a7a\u9593\u4ed8\u304d\u306e\u5b9a\u6570\u3092<code>define()<\/code>\u3067\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u540d\u524d\u7a7a\u9593\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3057\u305fdefine\ndefine('App\\Config\\API_KEY', 'xyz123');\n\nnamespace App\\Controller;\n\/\/ \u540d\u524d\u7a7a\u9593\u4ed8\u304dconst\u3068\u540c\u69d8\u306b\u5b8c\u5168\u4fee\u98fe\u540d\u304c\u5fc5\u8981\necho \\App\\Config\\API_KEY; \/\/ \u51fa\u529b: xyz123\n<\/pre>\n\n\n\n<p><strong>\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u540d\u524d\u7a7a\u9593\u3092\u591a\u7528\u3059\u308b\u30e2\u30c0\u30f3\u306aPHP\u30b3\u30fc\u30c9\u3067\u306f<code>const<\/code>\u304c\u81ea\u7136\u304b\u3064\u660e\u78ba<\/li>\n\n\n\n<li>\u30b0\u30ed\u30fc\u30d0\u30eb\u306b\u5229\u7528\u3067\u304d\u308b\u5b9a\u6570\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f<code>define()<\/code>\u304c\u4fbf\u5229<\/li>\n\n\n\n<li>\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e\u540d\u524d\u306e\u885d\u7a81\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u3001\u9069\u5207\u306a\u540d\u524d\u7a7a\u9593\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u91cd\u8981<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p>\u4ee5\u4e0a\u306e\u6bd4\u8f03\u304b\u3089\u3001<code>define()<\/code>\u3068<code>const<\/code>\u306e\u3069\u3061\u3089\u3092\u9078\u3076\u304b\u306f\u3001\u4f7f\u7528\u3059\u308bPHP\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u9020\u3001\u5b9a\u6570\u306e\u7528\u9014\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u6700\u9069\u306a\u9078\u629e\u306e\u305f\u3081\u306e\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30af\u30e9\u30b9\u5185\u306e\u5b9a\u6570\uff1a<code>const<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u52d5\u7684\u307e\u305f\u306f\u6761\u4ef6\u4ed8\u304d\u306e\u5b9a\u6570\uff1a<code>define()<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3057\u305f\u30e2\u30c0\u30f3\u306a\u30b3\u30fc\u30c9\uff1a<code>const<\/code>\u3092\u512a\u5148<\/li>\n\n\n\n<li>\u30b0\u30ed\u30fc\u30d0\u30eb\u306a\u8a2d\u5b9a\u5024\u3084\u74b0\u5883\u8a2d\u5b9a\uff1a<code>define()<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u7279\u306b\u91cd\u8981\u306a\u5834\u5408\uff1a\u82e5\u5e72\u6709\u5229\u306a<code>const<\/code>\u3092\u9078\u629e<\/li>\n<\/ul>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>define()<\/code>\u3092\u5b9f\u8df5\u7684\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u5b9a\u3084\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5168\u4f53\u3067\u4f7f\u7528\u3059\u308b\u5b9a\u6570\u306f<code>define()<\/code>\u304c\u9069\u3057\u3066\u3044\u308b<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u591a\u7528\u3059\u308b\u5834\u5408\u306f<code>const<\/code>\u304c\u81ea\u7136<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-14\">\u5b9f\u884c\u6642 vs \u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306e\u52d5\u6319\u306e\u9055\u3044<\/h3>\n\n\n\n<p><code>define()<\/code>\u95a2\u6570\u306f\u5b9f\u884c\u6642\uff08\u30e9\u30f3\u30bf\u30a4\u30e0\uff09\u306b\u8a55\u4fa1\u3055\u308c\u308b\u306e\u306b\u5bfe\u3057\u3001<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u8a55\u4fa1\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u52d5\u7684\u306a\u5024\u306e\u6271\u3044\u306b\u9055\u3044\u304c\u751f\u3058\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5b9f\u884c\u6642\u306e\u73fe\u5728\u6642\u523b\u3092\u4fdd\u5b58\u3067\u304d\u308b\ndefine('CURRENT_TIME', time());\necho CURRENT_TIME; \/\/ \u5b9f\u884c\u6642\u306e\u73fe\u5728\u306eUNIX\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u304c\u51fa\u529b\u3055\u308c\u308b\n\n\/\/ \u4ee5\u4e0b\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b - const\u306b\u306f\u52d5\u7684\u306a\u5024\u3092\u8a2d\u5b9a\u3067\u304d\u306a\u3044\n\/\/ const CURRENT_TIME_CONST = time(); \/\/ Parse error\n<\/pre>\n\n\n\n<p><code>const<\/code>\u306f\u5909\u6570\u3084\u95a2\u6570\u306e\u7d50\u679c\u3092\u5024\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u9759\u7684\u306a\u5024\uff08\u30ea\u30c6\u30e9\u30eb\uff09\u306e\u307f\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$appVersion = '1.2.3';\n\n\/\/ \u5909\u6570\u306e\u5024\u3092\u4f7f\u7528\u3067\u304d\u308b\ndefine('APP_VERSION_DEFINE', $appVersion);\necho APP_VERSION_DEFINE; \/\/ \u51fa\u529b: 1.2.3\n\n\/\/ \u4ee5\u4e0b\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b\n\/\/ const APP_VERSION_CONST = $appVersion; \/\/ Parse error\n<\/pre>\n\n\n\n<p><strong>\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u52d5\u7684\u306b\u751f\u6210\u3055\u308c\u305f\u5024\u3092\u5b9a\u6570\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f<code>define()<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u91cd\u8981\u306a\u5834\u5408\u306f<code>const<\/code>\u306e\u65b9\u304c\u82e5\u5e72\u6709\u5229\uff08\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u89e3\u6c7a\u3055\u308c\u308b\u305f\u3081\uff09<\/li>\n\n\n\n<li>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8aad\u307f\u8fbc\u3093\u3060\u5024\u3092\u5b9a\u6570\u306b\u3059\u308b\u5834\u5408\u306f<code>define()<\/code>\u304c\u5fc5\u9808<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-15\">\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\u304c\u53ef\u80fd\u306adefine\u306e\u67d4\u8edf\u6027<\/h3>\n\n\n\n<p><code>define()<\/code>\u95a2\u6570\u306f\u6761\u4ef6\u5206\u5c90\u5185\u3067\u4f7f\u7528\u3067\u304d\u308b\u305f\u3081\u3001\u6761\u4ef6\u306b\u57fa\u3065\u3044\u3066\u7570\u306a\u308b\u5b9a\u6570\u5024\u3092\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002\u4e00\u65b9\u3001<code>const<\/code>\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u306e\u30b3\u30fc\u30c9\uff08\u6761\u4ef6\u5206\u5c90\u306e\u5916\u5074\uff09\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u74b0\u5883\u306b\u5fdc\u3058\u3066\u7570\u306a\u308b\u8a2d\u5b9a\u3092\u5b9a\u7fa9\nif (file_exists('.env.development')) {\n    define('ENVIRONMENT', 'development');\n    define('DEBUG', true);\n} else {\n    define('ENVIRONMENT', 'production');\n    define('DEBUG', false);\n}\n\necho ENVIRONMENT; \/\/ \u6761\u4ef6\u306b\u5fdc\u3058\u3066 'development' \u307e\u305f\u306f 'production' \u304c\u51fa\u529b\u3055\u308c\u308b\n\n\/\/ \u4ee5\u4e0b\u306f\u4e0d\u53ef\u80fd\n\/\/ if (condition) {\n\/\/     const MODE = 'dev'; \/\/ \u30a8\u30e9\u30fc\n\/\/ } else {\n\/\/     const MODE = 'prod'; \/\/ \u30a8\u30e9\u30fc\n\/\/ }\n<\/pre>\n\n\n\n<p>\u3053\u306e\u67d4\u8edf\u6027\u306b\u3088\u308a\u3001<code>define()<\/code>\u306f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3084\u74b0\u5883\u5909\u6570\u306b\u57fa\u3065\u3044\u3066\u5b9a\u6570\u3092\u8a2d\u5b9a\u3059\u308b\u5834\u5408\u306b\u975e\u5e38\u306b\u4fbf\u5229\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8aad\u307f\u8fbc\u3093\u3060\u5024\u306b\u57fa\u3065\u3044\u3066\u5b9a\u6570\u3092\u5b9a\u7fa9\n$config = parse_ini_file('config.ini');\nif (isset($config['max_upload_size'])) {\n    define('MAX_UPLOAD_SIZE', $config['max_upload_size']);\n} else {\n    define('MAX_UPLOAD_SIZE', 2097152); \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n}\n<\/pre>\n\n\n\n<p><strong>\u9078\u3076\u3079\u304d\u30b7\u30fc\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5b9f\u884c\u6642\u306e\u6761\u4ef6\u306b\u3088\u3063\u3066\u5b9a\u6570\u5024\u3092\u5909\u3048\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f<code>define()<\/code>\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u8a2d<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-16\">PHP\u3067define\u3092\u4f7f\u3044\u3053\u306a\u30597\u3064\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/h2>\n\n\n\n<p>PHP\u306b\u304a\u3044\u3066<code>define()<\/code>\u95a2\u6570\u306f\u5358\u7d14\u306a\u3088\u3046\u306b\u898b\u3048\u307e\u3059\u304c\u3001\u9069\u5207\u306b\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u958b\u767a\u52b9\u7387\u3084\u30b3\u30fc\u30c9\u54c1\u8cea\u3092\u5927\u304d\u304f\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001<code>define()<\/code>\u95a2\u6570\u3092\u6700\u5927\u9650\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e7\u3064\u306e\u5b9f\u8df5\u7684\u306a\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-17\">\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3067\u74b0\u5883\u5909\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u65b9\u6cd5<\/h3>\n\n\n\n<p>\u958b\u767a\u3001\u30c6\u30b9\u30c8\u3001\u672c\u756a\u74b0\u5883\u306a\u3069\u3001\u7570\u306a\u308b\u74b0\u5883\u3067\u7570\u306a\u308b\u8a2d\u5b9a\u5024\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3068<code>define()<\/code>\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u52b9\u7387\u7684\u306b\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>1. \u74b0\u5883\u5225\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ config.development.php\nreturn [\n    'db_host' =&gt; 'localhost',\n    'db_user' =&gt; 'dev_user',\n    'db_pass' =&gt; 'dev_password',\n    'debug' =&gt; true\n];\n\n\/\/ config.production.php\nreturn [\n    'db_host' =&gt; 'db.example.com',\n    'db_user' =&gt; 'prod_user',\n    'db_pass' =&gt; 'secure_password',\n    'debug' =&gt; false\n];\n<\/pre>\n\n\n\n<p><strong>2. \u74b0\u5883\u5224\u5b9a\u3068\u5b9a\u6570\u5b9a\u7fa9<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ bootstrap.php\n$environment = getenv('APP_ENV') ?: 'development';\n$config = require \"config.{$environment}.php\";\n\n\/\/ \u914d\u5217\u3092\u5c55\u958b\u3057\u3066\u5b9a\u6570\u3092\u5b9a\u7fa9\nforeach ($config as $key =&gt; $value) {\n    define(strtoupper($key), $value);\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$dsn = \"mysql:host=\" . DB_HOST . \";dbname=myapp\";\n$pdo = new PDO($dsn, DB_USER, DB_PASS);\n\nif (DEBUG) {\n    error_reporting(E_ALL);\n    ini_set('display_errors', 1);\n}\n<\/pre>\n\n\n\n<p>\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306e\u30e1\u30ea\u30c3\u30c8\u306f\u3001\u74b0\u5883\u5909\u6570\u3092\u4e00\u5143\u7ba1\u7406\u3067\u304d\u3001\u74b0\u5883\u306e\u5207\u308a\u66ff\u3048\u304c\u5bb9\u6613\u306b\u306a\u308b\u3053\u3068\u3067\u3059\u3002<code>.env<\/code>\u30d5\u30a1\u30a4\u30eb\u3084\u74b0\u5883\u5909\u6570\u3068\u306e\u9023\u643a\u3082\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-18\">\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\u3067\u67d4\u8edf\u306a\u30b3\u30fc\u30c9\u8a2d\u8a08\u3092\u5b9f\u73fe\u3059\u308b<\/h3>\n\n\n\n<p><code>define()<\/code>\u306f\u6761\u4ef6\u5206\u5c90\u5185\u3067\u4f7f\u7528\u3067\u304d\u308b\u7279\u6027\u3092\u6d3b\u304b\u3057\u3066\u3001\u5b9f\u884c\u6642\u306e\u72b6\u6cc1\u306b\u5fdc\u3058\u3066\u67d4\u8edf\u306a\u5b9a\u6570\u8a2d\u5b9a\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u73fe\u5728\u306e\u8981\u6c42\u304cAJAX\u304b\u3069\u3046\u304b\u3092\u5224\u5b9a\nif (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &amp;&amp; \n    strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {\n    define('IS_AJAX_REQUEST', true);\n} else {\n    define('IS_AJAX_REQUEST', false);\n}\n\n\/\/ \u30e2\u30d0\u30a4\u30eb\u30c7\u30d0\u30a4\u30b9\u306e\u691c\u51fa\n$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '';\nif (preg_match('\/(android|iphone|ipad|mobile)\/i', $userAgent)) {\n    define('IS_MOBILE_DEVICE', true);\n} else {\n    define('IS_MOBILE_DEVICE', false);\n}\n\n\/\/ \u6761\u4ef6\u306b\u57fa\u3065\u3044\u305f\u51e6\u7406\u306e\u5206\u5c90\nif (IS_AJAX_REQUEST) {\n    header('Content-Type: application\/json');\n    \/\/ AJAX\u30ea\u30af\u30a8\u30b9\u30c8\u51e6\u7406...\n} else {\n    \/\/ \u901a\u5e38\u306e\u30da\u30fc\u30b8\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0...\n}\n\nif (IS_MOBILE_DEVICE) {\n    \/\/ \u30e2\u30d0\u30a4\u30eb\u5411\u3051\u306e\u30d3\u30e5\u30fc\u3092\u8868\u793a\n} else {\n    \/\/ \u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u5411\u3051\u306e\u30d3\u30e5\u30fc\u3092\u8868\u793a\n}\n<\/pre>\n\n\n\n<p>\u3053\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u4f7f\u3046\u3068\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5168\u4f53\u3067\u4e00\u8cab\u3057\u305f\u72b6\u614b\u5224\u5b9a\u304c\u53ef\u80fd\u306b\u306a\u308a\u3001\u30b3\u30fc\u30c9\u306e\u91cd\u8907\u3092\u907f\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-19\">\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3057\u305f\u5b9a\u6570\u306e\u885d\u7a81\u56de\u907f\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p>\u5927\u898f\u6a21\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001\u7570\u306a\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u3084\u30e2\u30b8\u30e5\u30fc\u30eb\u9593\u3067\u5b9a\u6570\u540d\u306e\u885d\u7a81\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3053\u306e\u554f\u984c\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30e2\u30b8\u30e5\u30fc\u30ebA\u306e\u8a2d\u5b9a\ndefine('App\\ModuleA\\CONFIG_VERSION', '1.0.0');\ndefine('App\\ModuleA\\API_ENDPOINT', 'https:\/\/api.example.com\/moduleA');\n\n\/\/ \u30e2\u30b8\u30e5\u30fc\u30ebB\u306e\u8a2d\u5b9a\uff08\u540c\u3058\u540d\u524d\u3067\u3082\u885d\u7a81\u3057\u306a\u3044\uff09\ndefine('App\\ModuleB\\CONFIG_VERSION', '2.1.0');\ndefine('App\\ModuleB\\API_ENDPOINT', 'https:\/\/api.example.com\/moduleB');\n\n\/\/ \u4f7f\u7528\u6642\u306f\u5b8c\u5168\u4fee\u98fe\u540d\u3067\u53c2\u7167\n$urlA = \\App\\ModuleA\\API_ENDPOINT;\n$urlB = \\App\\ModuleB\\API_ENDPOINT;\n\necho \"ModuleA version: \" . \\App\\ModuleA\\CONFIG_VERSION . \"\\n\";  \/\/ 1.0.0\necho \"ModuleB version: \" . \\App\\ModuleB\\CONFIG_VERSION . \"\\n\";  \/\/ 2.1.0\n<\/pre>\n\n\n\n<p>\u3053\u306e\u65b9\u6cd5\u306f\u7279\u306b\u8907\u6570\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7d71\u5408\u3059\u308b\u5834\u5408\u306b\u6709\u52b9\u3067\u3059\u3002\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b3\u30fc\u30c9\u3068\u306e\u885d\u7a81\u3082\u9632\u6b62\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-20\">\u5b9a\u6570\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u547d\u540d\u898f\u5247<\/h3>\n\n\n\n<p>\u5b9a\u6570\u306e\u547d\u540d\u898f\u5247\u3092\u7d71\u4e00\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u3068\u4fdd\u5b88\u6027\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002\u4e00\u822c\u7684\u306b\u306f\u5927\u6587\u5b57\u3068\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3092\u4f7f\u7528\u3057\u3001\u95a2\u9023\u3059\u308b\u30b0\u30eb\u30fc\u30d7\u306b\u306f\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u4ed8\u3051\u308b\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u95a2\u9023\u306e\u5b9a\u6570\ndefine('DB_HOST', 'localhost');\ndefine('DB_USER', 'root');\ndefine('DB_PASS', 'secret');\ndefine('DB_NAME', 'myapp');\n\n\/\/ API\u30ad\u30fc\u95a2\u9023\u306e\u5b9a\u6570\ndefine('API_KEY_GOOGLE', 'google_api_key_here');\ndefine('API_KEY_FACEBOOK', 'facebook_api_key_here');\ndefine('API_KEY_TWITTER', 'twitter_api_key_here');\n\n\/\/ \u6a5f\u80fd\u30d5\u30e9\u30b0\ndefine('FEATURE_NEW_UI_ENABLED', true);\ndefine('FEATURE_BETA_COMMENTS', false);\n\n\/\/ \u6642\u9593\u95a2\u9023\u306e\u5b9a\u6570\uff08\u5358\u4f4d\u3092\u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u3057\u3066\u4f7f\u7528\uff09\ndefine('CACHE_LIFETIME_SECONDS', 3600);\ndefine('SESSION_TIMEOUT_MINUTES', 30);\ndefine('BACKUP_INTERVAL_DAYS', 7);\n<\/pre>\n\n\n\n<p>\u3053\u306e\u547d\u540d\u898f\u5247\u306b\u3088\u308a\u3001\u30b3\u30fc\u30c9\u3092\u8aad\u3080\u4eba\u306f\u4e00\u76ee\u3067\u5b9a\u6570\u306e\u7528\u9014\u3084\u30b0\u30eb\u30fc\u30d7\u3092\u7406\u89e3\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001IDE\u3067\u306e\u81ea\u52d5\u88dc\u5b8c\u3082\u5bb9\u6613\u306b\u306a\u308a\u3001\u958b\u767a\u52b9\u7387\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-21\">\u5b9a\u6570\u30b0\u30eb\u30fc\u30d7\u5316\u306b\u3088\u308b\u95a2\u9023\u5b9a\u6570\u306e\u52b9\u7387\u7684\u7ba1\u7406<\/h3>\n\n\n\n<p>\u95a2\u9023\u3059\u308b\u5b9a\u6570\u3092\u8ad6\u7406\u7684\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u306e\u6574\u7406\u3068\u7ba1\u7406\u304c\u5bb9\u6613\u306b\u306a\u308a\u307e\u3059\u3002PHP 7\u4ee5\u964d\u3067\u306f\u914d\u5217\u3092\u4f7f\u3063\u3066\u30b0\u30eb\u30fc\u30d7\u5316\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ HTTP\u72b6\u614b\u30b3\u30fc\u30c9\u3092\u5b9a\u6570\u30b0\u30eb\u30fc\u30d7\u3068\u3057\u3066\u5b9a\u7fa9\ndefine('HTTP_STATUS', [\n    'OK' =&gt; 200,\n    'CREATED' =&gt; 201,\n    'ACCEPTED' =&gt; 202,\n    'BAD_REQUEST' =&gt; 400,\n    'UNAUTHORIZED' =&gt; 401,\n    'FORBIDDEN' =&gt; 403,\n    'NOT_FOUND' =&gt; 404,\n    'SERVER_ERROR' =&gt; 500\n]);\n\n\/\/ \u4f7f\u7528\u4f8b\nhttp_response_code(HTTP_STATUS['NOT_FOUND']);\necho \"Status: \" . HTTP_STATUS['NOT_FOUND']; \/\/ \u51fa\u529b: 404\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u6a29\u9650\u30ec\u30d9\u30eb\u3092\u30b0\u30eb\u30fc\u30d7\u5316\ndefine('USER_ROLE', [\n    'GUEST' =&gt; 0,\n    'SUBSCRIBER' =&gt; 1,\n    'CONTRIBUTOR' =&gt; 2,\n    'EDITOR' =&gt; 3,\n    'ADMIN' =&gt; 4,\n    'SUPER_ADMIN' =&gt; 5\n]);\n\n\/\/ \u6a29\u9650\u30c1\u30a7\u30c3\u30af\u306e\u4f8b\n$userRole = getUserRole(); \/\/ \u4f55\u3089\u304b\u306e\u65b9\u6cd5\u3067\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\u3092\u53d6\u5f97\nif ($userRole &gt;= USER_ROLE['EDITOR']) {\n    \/\/ \u30a8\u30c7\u30a3\u30bf\u30fc\u4ee5\u4e0a\u306e\u6a29\u9650\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc\u306e\u307f\u5b9f\u884c\u53ef\u80fd\u306a\u51e6\u7406\n}\n<\/pre>\n\n\n\n<p>\u3053\u306e\u65b9\u6cd5\u3067\u306f\u3001\u95a2\u9023\u3059\u308b\u5024\u3092\u4e00\u7b87\u6240\u306b\u307e\u3068\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u30b3\u30fc\u30c9\u306e\u4e00\u8cab\u6027\u3068\u4fdd\u5b88\u6027\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002\u307e\u305f\u3001\u65b0\u3057\u3044\u5024\u306e\u8ffd\u52a0\u3084\u5909\u66f4\u3082\u5bb9\u6613\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-22\">\u5b9a\u6570\u3092\u4f7f\u3063\u305f\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u3068\u4f8b\u5916\u51e6\u7406\u306e\u6700\u9069\u5316<\/h3>\n\n\n\n<p>\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u3084\u4f8b\u5916\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5b9a\u6570\u3068\u3057\u3066\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3067\u3001\u4e00\u8cab\u3057\u305f\u30a8\u30e9\u30fc\u51e6\u7406\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u306e\u5b9a\u7fa9\ndefine('ERR_VALIDATION', 100);\ndefine('ERR_DATABASE', 200);\ndefine('ERR_AUTHENTICATION', 300);\ndefine('ERR_AUTHORIZATION', 400);\n\n\/\/ \u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u5b9a\u7fa9\ndefine('ERROR_MESSAGES', [\n    ERR_VALIDATION =&gt; '\u30c7\u30fc\u30bf\u691c\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002',\n    ERR_DATABASE =&gt; '\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u64cd\u4f5c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002',\n    ERR_AUTHENTICATION =&gt; '\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002',\n    ERR_AUTHORIZATION =&gt; '\u3053\u306e\u64cd\u4f5c\u3092\u5b9f\u884c\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\u3002'\n]);\n\n\/\/ \u4f7f\u7528\u4f8b\nfunction handleError($errorCode, $specificMessage = '') {\n    $baseMessage = ERROR_MESSAGES[$errorCode] ?? '\u672a\u77e5\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002';\n    $fullMessage = $specificMessage ? \"$baseMessage $specificMessage\" : $baseMessage;\n    \n    \/\/ \u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u306b\u57fa\u3065\u3044\u305f\u51e6\u7406\n    switch ($errorCode) {\n        case ERR_VALIDATION:\n            \/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\u306e\u51e6\u7406\n            break;\n        case ERR_DATABASE:\n            \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a8\u30e9\u30fc\u306e\u51e6\u7406\n            break;\n        \/\/ \u4ed6\u306e\u30b1\u30fc\u30b9...\n    }\n    \n    return $fullMessage;\n}\n\n\/\/ \u5b9f\u969b\u306e\u4f7f\u7528\n$error = handleError(ERR_VALIDATION, '\u540d\u524d\u306f\u5fc5\u9808\u3067\u3059\u3002');\necho $error; \/\/ \u51fa\u529b: \u30c7\u30fc\u30bf\u691c\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u540d\u524d\u306f\u5fc5\u9808\u3067\u3059\u3002\n<\/pre>\n\n\n\n<p>\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306f\u30ab\u30b9\u30bf\u30e0\u4f8b\u5916\u30af\u30e9\u30b9\u3068\u3082\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class AppException extends Exception {\n    public function __construct($errorCode, $specificMessage = '', Throwable $previous = null) {\n        $baseMessage = ERROR_MESSAGES[$errorCode] ?? '\u672a\u77e5\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002';\n        $fullMessage = $specificMessage ? \"$baseMessage $specificMessage\" : $baseMessage;\n        parent::__construct($fullMessage, $errorCode, $previous);\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ntry {\n    if (!isValidInput($input)) {\n        throw new AppException(ERR_VALIDATION, '\u7121\u52b9\u306a\u5165\u529b\u5f62\u5f0f\u3067\u3059\u3002');\n    }\n} catch (AppException $e) {\n    echo $e-&gt;getMessage(); \/\/ \u51fa\u529b: \u30c7\u30fc\u30bf\u691c\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u7121\u52b9\u306a\u5165\u529b\u5f62\u5f0f\u3067\u3059\u3002\n    echo $e-&gt;getCode(); \/\/ \u51fa\u529b: 100\n}\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-23\">PHP \u306e\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3092\u6d3b\u7528\u3057\u305f\u30b3\u30fc\u30c9\u6700\u9069\u5316<\/h3>\n\n\n\n<p>PHP\u306b\u306f\u591a\u304f\u306e\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u304c\u7528\u610f\u3055\u308c\u3066\u304a\u308a\u3001\u3053\u308c\u3089\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u3068\u4e92\u63db\u6027\u3092\u9ad8\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>PHP\u306e\u4e3b\u8981\u306a\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u306e\u4f8b:<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u5224\u5b9a\nif (PHP_VERSION_ID &gt;= 70400) {\n    \/\/ PHP 7.4\u4ee5\u4e0a\u3067\u306e\u307f\u5229\u7528\u53ef\u80fd\u306a\u6a5f\u80fd\u3092\u4f7f\u7528\n}\n\n\/\/ \u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u5224\u5b9a\nif (PHP_OS_FAMILY === 'Windows') {\n    \/\/ Windows\u3067\u306e\u307f\u5b9f\u884c\u3059\u308b\u51e6\u7406\n} elseif (PHP_OS_FAMILY === 'Linux') {\n    \/\/ Linux\u3067\u306e\u307f\u5b9f\u884c\u3059\u308b\u51e6\u7406\n}\n\n\/\/ \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30bb\u30d1\u30ec\u30fc\u30bf\u306e\u4f7f\u7528\n$path = __DIR__ . DIRECTORY_SEPARATOR . 'files';\n\n\/\/ \u74b0\u5883\u306b\u5fdc\u3058\u305fEOL\uff08\u6539\u884c\u30b3\u30fc\u30c9\uff09\u306e\u4f7f\u7528\n$csvLine = implode(',', $data) . PHP_EOL;\n\n\/\/ \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u306e\u8a2d\u5b9a\nif (PHP_SAPI === 'cli') {\n    \/\/ CLI\u30e2\u30fc\u30c9\u3067\u306e\u51fa\u529b\u65b9\u6cd5\n    echo \"Running PHP \" . PHP_VERSION . \"\\n\";\n} else {\n    \/\/ Web\u30e2\u30fc\u30c9\u3067\u306e\u51fa\u529b\u65b9\u6cd5\n    echo \"PHP Version: \" . PHP_VERSION . \"&lt;br&gt;\";\n}\n<\/pre>\n\n\n\n<p>\u307e\u305f\u3001\u30a8\u30e9\u30fc\u30ec\u30d9\u30eb\u306e\u8a2d\u5b9a\u306b\u3082\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3092\u4f7f\u7528\u3059\u308b\u3068\u5206\u304b\u308a\u3084\u3059\u304f\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u958b\u767a\u74b0\u5883\u3067\u306e\u30a8\u30e9\u30fc\u8a2d\u5b9a\nif (ENVIRONMENT === 'development') {\n    error_reporting(E_ALL);\n    ini_set('display_errors', 1);\n} else {\n    \/\/ \u672c\u756a\u74b0\u5883\u3067\u306e\u30a8\u30e9\u30fc\u8a2d\u5b9a\n    error_reporting(E_ERROR | E_PARSE);\n    ini_set('display_errors', 0);\n}\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u74b0\u5883\u306b\u4f9d\u5b58\u3057\u306a\u3044\u4e00\u8cab\u3057\u305f\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p>\u4ee5\u4e0a7\u3064\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u5b9f\u8df5\u3059\u308b\u3053\u3068\u3067\u3001PHP\u306e<code>define()<\/code>\u95a2\u6570\u3092\u6700\u5927\u9650\u306b\u6d3b\u7528\u3057\u3001\u3088\u308a\u4fdd\u5b88\u6027\u306e\u9ad8\u3044\u3001\u5805\u7262\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u5b9a\u6570\u306f\u5358\u306a\u308b\u5024\u306e\u4ee3\u5165\u4ee5\u4e0a\u306e\u5f79\u5272\u3092\u679c\u305f\u3057\u3001\u9069\u5207\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u54c1\u8cea\u3092\u5927\u304d\u304f\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-24\">PHP 7.x\/8.x \u3067\u306e\u5b9a\u7fa9\u306e\u65b0\u6a5f\u80fd\u3068\u5909\u66f4\u70b9<\/h2>\n\n\n\n<p>PHP\u306f\u9577\u3044\u6b74\u53f2\u306e\u4e2d\u3067\u9032\u5316\u3092\u7d9a\u3051\u3066\u304d\u307e\u3057\u305f\u3002PHP 7\u30688\u306e\u767b\u5834\u306b\u3088\u308a\u3001\u5b9a\u6570\u306e\u5b9a\u7fa9\u65b9\u6cd5\u3084\u6a5f\u80fd\u306b\u3082\u5927\u304d\u306a\u6539\u5584\u304c\u52a0\u3048\u3089\u308c\u307e\u3057\u305f\u3002\u3053\u3053\u3067\u306fPHP 7.x\/8.x\u3067\u5c0e\u5165\u3055\u308c\u305f\u5b9a\u6570\u95a2\u9023\u306e\u65b0\u6a5f\u80fd\u3068\u5909\u66f4\u70b9\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-25\">PHP 7\u4ee5\u964d\u3067\u53ef\u80fd\u306b\u306a\u3063\u305f\u914d\u5217\u5b9a\u6570\u306e\u5b9a\u7fa9\u65b9\u6cd5<\/h3>\n\n\n\n<p>PHP 7.0\u3088\u308a\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u3001<code>define()<\/code>\u95a2\u6570\u3067\u914d\u5217\u3092\u5b9a\u6570\u5024\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002PHP 5.6\u3067\u306f\u30af\u30e9\u30b9\u5b9a\u6570\u3068\u3057\u3066\u306e\u914d\u5217\u306f\u53ef\u80fd\u3067\u3057\u305f\u304c\u3001<code>define()<\/code>\u3067\u306f\u4e0d\u53ef\u80fd\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<p><strong>PHP 7.0\u3067\u8ffd\u52a0\u3055\u308c\u305f\u914d\u5217\u5b9a\u6570\u5b9a\u7fa9\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP 7.0\u4ee5\u964d\u3067\u6709\u52b9\u306a\u914d\u5217\u5b9a\u6570\u5b9a\u7fa9\ndefine('DAYS', ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']);\necho DAYS[0]; \/\/ \u51fa\u529b: Sunday\n\n\/\/ \u591a\u6b21\u5143\u914d\u5217\u3082\u53ef\u80fd\ndefine('CONFIG', [\n    'database' =&gt; [\n        'host' =&gt; 'localhost',\n        'name' =&gt; 'myapp',\n        'user' =&gt; 'root',\n        'pass' =&gt; 'secret'\n    ],\n    'api' =&gt; [\n        'key' =&gt; 'abc123',\n        'timeout' =&gt; 30\n    ]\n]);\n\necho CONFIG['database']['host']; \/\/ \u51fa\u529b: localhost\necho CONFIG['api']['timeout']; \/\/ \u51fa\u529b: 30\n<\/pre>\n\n\n\n<p>\u3053\u306e\u6a5f\u80fd\u8ffd\u52a0\u306b\u3088\u308a\u3001\u95a2\u9023\u3059\u308b\u8a2d\u5b9a\u5024\u3084\u9078\u629e\u80a2\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u3066\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u5bb9\u6613\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u7279\u306b\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3084\u9078\u629e\u80a2\u30ea\u30b9\u30c8\u306e\u7ba1\u7406\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8a2d\u5b9a\u7ba1\u7406<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define('APP_CONFIG', [\n    'site_name' =&gt; 'My PHP Website',\n    'admin_email' =&gt; 'admin@example.com',\n    'pagination' =&gt; [\n        'items_per_page' =&gt; 20,\n        'max_pages' =&gt; 10\n    ],\n    'uploads' =&gt; [\n        'max_size' =&gt; 2 * 1024 * 1024, \/\/ 2MB\n        'allowed_types' =&gt; ['jpg', 'png', 'pdf']\n    ]\n]);\n\n\/\/ \u4f7f\u7528\u4f8b\n$max_upload = APP_CONFIG['uploads']['max_size'];\n$site_name = APP_CONFIG['site_name'];\n\n\/\/ \u8a2d\u5b9a\u5024\u306e\u5b58\u5728\u78ba\u8a8d\nif (isset(APP_CONFIG['pagination']['items_per_page'])) {\n    $items_per_page = APP_CONFIG['pagination']['items_per_page'];\n}\n<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u5217\u6319\u578b\u306e\u6a21\u5023<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define('USER_STATUS', [\n    'ACTIVE' =&gt; 1,\n    'INACTIVE' =&gt; 0,\n    'PENDING' =&gt; 2,\n    'BANNED' =&gt; 3\n]);\n\n\/\/ \u4f7f\u7528\u4f8b\nfunction getUserStatusLabel($statusCode) {\n    $labels = [\n        USER_STATUS['ACTIVE'] =&gt; '\u6709\u52b9',\n        USER_STATUS['INACTIVE'] =&gt; '\u7121\u52b9',\n        USER_STATUS['PENDING'] =&gt; '\u4fdd\u7559\u4e2d',\n        USER_STATUS['BANNED'] =&gt; '\u7981\u6b62'\n    ];\n    \n    return $labels[$statusCode] ?? '\u4e0d\u660e';\n}\n\n$user = getUser(123); \/\/ \u4f55\u3089\u304b\u306e\u65b9\u6cd5\u3067\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u53d6\u5f97\necho \"\u30e6\u30fc\u30b6\u30fc\u30b9\u30c6\u30fc\u30bf\u30b9: \" . getUserStatusLabel($user-&gt;status);\n<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u56fd\u969b\u5316\u5bfe\u5fdc<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define('MESSAGES', [\n    'en' =&gt; [\n        'welcome' =&gt; 'Welcome to our website',\n        'goodbye' =&gt; 'Thank you for visiting'\n    ],\n    'ja' =&gt; [\n        'welcome' =&gt; '\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3078\u3088\u3046\u3053\u305d',\n        'goodbye' =&gt; '\u3054\u5229\u7528\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f'\n    ],\n    'fr' =&gt; [\n        'welcome' =&gt; 'Bienvenue sur notre site',\n        'goodbye' =&gt; 'Merci de votre visite'\n    ]\n]);\n\n\/\/ \u4f7f\u7528\u4f8b\n$userLang = 'ja'; \/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u8a00\u8a9e\u8a2d\u5b9a\n$lang = isset(MESSAGES[$userLang]) ? $userLang : 'en'; \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u82f1\u8a9e\n\necho MESSAGES[$lang]['welcome']; \/\/ \u51fa\u529b: \u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3078\u3088\u3046\u3053\u305d\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306b\u3001PHP 7\u4ee5\u964d\u3067\u306f\u914d\u5217\u5b9a\u6570\u3092\u4f7f\u3063\u3066\u8907\u96d1\u306a\u30c7\u30fc\u30bf\u69cb\u9020\u3092\u5b9a\u7fa9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u3001\u3088\u308a\u67d4\u8edf\u306a\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-26\">PHP 8 \u306e\u578b\u5ba3\u8a00\u3068\u5b9a\u6570\u306e\u95a2\u4fc2\u6027<\/h3>\n\n\n\n<p>PHP 8\u3067\u306f\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u5f37\u5316\u3055\u308c\u3001\u305d\u308c\u306b\u4f34\u3044\u5b9a\u6570\u306e\u578b\u5ba3\u8a00\u3082\u9032\u5316\u3057\u307e\u3057\u305f\u3002\u7279\u306b\u30af\u30e9\u30b9\u5b9a\u6570\u3067\u306e\u578b\u5ba3\u8a00\u30b5\u30dd\u30fc\u30c8\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p><strong>PHP 8.0\u3067\u306e\u578b\u4ed8\u304d\u30af\u30e9\u30b9\u5b9a\u6570\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Configuration {\n    \/\/ PHP 8.0\u4ee5\u964d\u3067\u306f\u578b\u5ba3\u8a00\u304c\u53ef\u80fd\n    public const string APP_NAME = 'My PHP Application';\n    public const int VERSION_MAJOR = 2;\n    public const int VERSION_MINOR = 5;\n    public const float TAX_RATE = 0.1;\n    public const array SUPPORTED_FORMATS = ['json', 'xml', 'yaml'];\n    \n    \/\/ \u5b8c\u5168\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u6587\u5b57\u5217\u3092\u8fd4\u3059\u30e1\u30bd\u30c3\u30c9\n    public static function getVersion(): string {\n        return self::VERSION_MAJOR . '.' . self::VERSION_MINOR;\n    }\n}\n\necho Configuration::APP_NAME; \/\/ \u51fa\u529b: My PHP Application\necho Configuration::getVersion(); \/\/ \u51fa\u529b: 2.5\n<\/pre>\n\n\n\n<p>\u3053\u306e\u6a5f\u80fd\u306f\u30af\u30e9\u30b9\u5b9a\u6570\u306e\u307f\u306b\u9069\u7528\u3055\u308c\u3001<code>define()<\/code>\u95a2\u6570\u3067\u5b9a\u7fa9\u3059\u308b\u5b9a\u6570\u306b\u306f\u578b\u5ba3\u8a00\u306f\u3067\u304d\u306a\u3044\u3053\u3068\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>PHP 8.0\u3067\u306e\u30af\u30e9\u30b9\u5b9a\u6570\u306e\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50\uff1a<\/strong><\/p>\n\n\n\n<p>PHP 8.0\u4ee5\u964d\u3001\u30af\u30e9\u30b9\u5b9a\u6570\u306e\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50\uff08<code>public<\/code>\u3001<code>protected<\/code>\u3001<code>private<\/code>\uff09\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u3088\u308a\u53b3\u683c\u306a\u30ab\u30d7\u30bb\u30eb\u5316\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class User {\n    \/\/ \u516c\u958b\u5b9a\u6570 - \u3069\u3053\u304b\u3089\u3067\u3082\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\n    public const STATUS_ACTIVE = 1;\n    public const STATUS_INACTIVE = 0;\n    \n    \/\/ \u4fdd\u8b77\u5b9a\u6570 - \u3053\u306e\u30af\u30e9\u30b9\u3068\u305d\u306e\u5b50\u30af\u30e9\u30b9\u304b\u3089\u306e\u307f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\n    protected const PASSWORD_MIN_LENGTH = 8;\n    protected const PASSWORD_MAX_LENGTH = 64;\n    \n    \/\/ \u975e\u516c\u958b\u5b9a\u6570 - \u3053\u306e\u30af\u30e9\u30b9\u5185\u3067\u306e\u307f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\n    private const API_SECRET_KEY = 'abcd1234';\n    \n    public function validatePassword($password) {\n        $length = strlen($password);\n        return $length &gt;= self::PASSWORD_MIN_LENGTH &amp;&amp; \n               $length &lt;= self::PASSWORD_MAX_LENGTH;\n    }\n    \n    protected function getApiHeaders() {\n        return [\n            'Authorization' =&gt; 'Bearer ' . self::API_SECRET_KEY\n        ];\n    }\n}\n\n\/\/ \u516c\u958b\u5b9a\u6570\u3078\u306e\u30a2\u30af\u30bb\u30b9\necho User::STATUS_ACTIVE; \/\/ \u51fa\u529b: 1\n\n\/\/ \u4ee5\u4e0b\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b\n\/\/ echo User::PASSWORD_MIN_LENGTH; \/\/ Error: protected constant\n\/\/ echo User::API_SECRET_KEY; \/\/ Error: private constant\n<\/pre>\n\n\n\n<p><strong>PHP 8\u306e\u65b0\u3057\u3044\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\uff1a<\/strong><\/p>\n\n\n\n<p>PHP 8\u3067\u306f\u65b0\u3057\u3044\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u304c\u8ffd\u52a0\u3055\u308c\u3001\u3088\u308a\u8a73\u7d30\u306a\u8a00\u8a9e\u60c5\u5831\u3084\u30b7\u30b9\u30c6\u30e0\u60c5\u5831\u3092\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP 8.0\u3067\u8ffd\u52a0\u3055\u308c\u305f\u4e3b\u306a\u5b9a\u6570\necho PHP_VERSION_ID; \/\/ \u4f8b: 80000\uff08PHP 8.0.0\u3092\u8868\u3059\uff09\necho PHP_FLOAT_EPSILON; \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u7cbe\u5ea6\necho PHP_FLOAT_MIN; \/\/ \u8868\u73fe\u53ef\u80fd\u306a\u6700\u5c0f\u306e\u6b63\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\necho PHP_FLOAT_MAX; \/\/ \u8868\u73fe\u53ef\u80fd\u306a\u6700\u5927\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n<\/pre>\n\n\n\n<p><strong>\u30d0\u30fc\u30b8\u30e7\u30f3\u9593\u306e\u4e92\u63db\u6027\u306b\u95a2\u3059\u308b\u6ce8\u610f\u70b9\uff1a<\/strong><\/p>\n\n\n\n<p>PHP 7\u304b\u30898\u3078\u306e\u79fb\u884c\u6642\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u70b9\u306b\u6ce8\u610f\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b9a\u6570\u540d\u306e\u885d\u7a81<\/strong>: PHP 7\/8\u3067\u306f\u65b0\u3057\u3044\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u304c\u591a\u6570\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\u81ea\u4f5c\u306e\u5b9a\u6570\u540d\u304c\u3053\u308c\u3089\u3068\u885d\u7a81\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP 8\u3067\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3068\u885d\u7a81\u3059\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u4f8b\ndefine('PHP_FLOAT_EPSILON', 0.0001); \/\/ \u8b66\u544a: \u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3092\u4e0a\u66f8\u304d\n<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u578b\u306e\u53b3\u683c\u5316<\/strong>: PHP 8\u3067\u306f\u578b\u30c1\u30a7\u30c3\u30af\u304c\u53b3\u683c\u5316\u3055\u308c\u307e\u3057\u305f\u3002\u7279\u306b\u30af\u30e9\u30b9\u5b9a\u6570\u3067\u578b\u5ba3\u8a00\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u4e92\u63db\u6027\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Config {\n    \/\/ PHP 8.0\u4ee5\u524d\u306e\u30b3\u30fc\u30c9\n    const DATABASE_PORT = '3306'; \/\/ \u6587\u5b57\u5217\u3068\u3057\u3066\u5b9a\u7fa9\n    \n    \/\/ PHP 8.0\u3067\u578b\u5ba3\u8a00\u3092\u8ffd\u52a0\u3059\u308b\u5834\u5408\n    \/\/ public const int DATABASE_PORT = '3306'; \/\/ \u30a8\u30e9\u30fc: \u6587\u5b57\u5217\u3092\u6574\u6570\u578b\u5b9a\u6570\u306b\u8a2d\u5b9a\u3067\u304d\u306a\u3044\n    public const int DATABASE_PORT = 3306; \/\/ \u6b63\u3057\u3044\u5b9a\u7fa9\n}\n<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50\u306b\u3088\u308b\u5236\u9650<\/strong>: PHP 8.0\u3067\u30af\u30e9\u30b9\u5b9a\u6570\u306b\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50\u3092\u8ffd\u52a0\u3059\u308b\u3068\u3001\u4ee5\u524d\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u3066\u3044\u305f\u30b3\u30fc\u30c9\u304c\u30a8\u30e9\u30fc\u306b\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Legacy {\n    const SECRET = 'xyz123';\n}\n\nclass Modern {\n    private const SECRET = 'xyz123';\n}\n\n\/\/ PHP 7\u3067\u306f\u4e21\u65b9\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\necho Legacy::SECRET; \/\/ \u554f\u984c\u306a\u3057\n\n\/\/ PHP 8\u3067\u4fee\u98fe\u5b50\u3092\u8ffd\u52a0\u3057\u305f\u5834\u5408\n\/\/ echo Modern::SECRET; \/\/ \u30a8\u30e9\u30fc: private constant\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\n<\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>\u7d99\u627f\u3068\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9<\/strong>: PHP 8\u3067\u306f\u578b\u4ed8\u304d\u30af\u30e9\u30b9\u5b9a\u6570\u3092\u5b50\u30af\u30e9\u30b9\u3067\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u5834\u5408\u3001\u578b\u306e\u4e92\u63db\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Parent8 {\n    public const int MAX_ITEMS = 100;\n}\n\nclass Child8 extends Parent8 {\n    \/\/ \u540c\u3058\u578b\u304b\u5171\u5909\u306e\u578b\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308b\n    public const int MAX_ITEMS = 200; \/\/ OK: \u540c\u3058\u578b\n    \/\/ public const string MAX_ITEMS = '200'; \/\/ \u30a8\u30e9\u30fc: \u578b\u304c\u4e0d\u4e00\u81f4\n}\n<\/pre>\n\n\n\n<p><strong>PHP 8.1\u3067\u306e\u3055\u3089\u306a\u308b\u6539\u5584\uff1a<\/strong><\/p>\n\n\n\n<p>PHP 8.1\u3067\u306f\u3001\u8aad\u307f\u53d6\u308a\u5c02\u7528\uff08readonly\uff09\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5c0e\u5165\u3084\u5217\u6319\u578b\uff08Enum\uff09\u306e\u30b5\u30dd\u30fc\u30c8\u306a\u3069\u3001\u5b9a\u6570\u306b\u95a2\u9023\u3059\u308b\u6a5f\u80fd\u304c\u3055\u3089\u306b\u5f37\u5316\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP 8.1\u306eEnum\u6a5f\u80fd - \u5b9a\u6570\u3092\u4f7f\u3063\u305f\u5217\u6319\u578b\u3068\u985e\u4f3c\nenum UserStatus {\n    case Active;\n    case Inactive;\n    case Pending;\n    case Banned;\n}\n\nfunction handleUser(UserStatus $status) {\n    switch ($status) {\n        case UserStatus::Active:\n            return '\u6709\u52b9\u306a\u30e6\u30fc\u30b6\u30fc';\n        case UserStatus::Inactive:\n            return '\u7121\u52b9\u306a\u30e6\u30fc\u30b6\u30fc';\n        case UserStatus::Pending:\n            return '\u627f\u8a8d\u5f85\u3061\u30e6\u30fc\u30b6\u30fc';\n        case UserStatus::Banned:\n            return '\u7981\u6b62\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30fc';\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$status = UserStatus::Active;\necho handleUser($status); \/\/ \u51fa\u529b: \u6709\u52b9\u306a\u30e6\u30fc\u30b6\u30fc\n<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u65b0\u6a5f\u80fd\u306b\u3088\u308a\u3001PHP 8.x\u3067\u306f\u3088\u308a\u578b\u5b89\u5168\u3067\u5805\u7262\u306a\u30b3\u30fc\u30c9\u304c\u66f8\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u5b9a\u6570\u306e\u4f7f\u7528\u306b\u304a\u3044\u3066\u3082\u3001\u3088\u308a\u660e\u78ba\u306a\u578b\u306e\u5236\u7d04\u3084\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u304c\u53ef\u80fd\u306b\u306a\u308a\u3001\u30b3\u30fc\u30c9\u306e\u54c1\u8cea\u5411\u4e0a\u306b\u8ca2\u732e\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-27\">\u5b9a\u7fa9\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u6ce8\u610f\u70b9\u3068\u56de\u907f\u3059\u3079\u304d\u843d\u3068\u3057\u7a74<\/h2>\n\n\n\n<p><code>define()<\/code>\u95a2\u6570\u306f\u975e\u5e38\u306b\u4fbf\u5229\u306a\u30c4\u30fc\u30eb\u3067\u3059\u304c\u3001\u9069\u5207\u306b\u4f7f\u7528\u3057\u306a\u3044\u3068\u4e88\u671f\u305b\u306c\u554f\u984c\u3092\u5f15\u304d\u8d77\u3053\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001PHP\u3067\u5b9a\u6570\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u4e3b\u306a\u6ce8\u610f\u70b9\u3068\u3001\u305d\u308c\u3089\u3092\u56de\u907f\u3059\u308b\u305f\u3081\u306e\u65b9\u6cd5\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-28\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3092\u8003\u3048\u308b\u5b9a\u6570\u306e\u904e\u5270\u4f7f\u7528<\/h3>\n\n\n\n<p>\u5b9a\u6570\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u306b\u4fdd\u5b58\u3055\u308c\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u3069\u3053\u304b\u3089\u3067\u3082\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u4fbf\u5229\u306a\u6a5f\u80fd\u3067\u3059\u304c\u3001\u904e\u5270\u306a\u4f7f\u7528\u306f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3092\u4e0e\u3048\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u554f\u984c\u70b9\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u5897\u52a0<\/strong>\uff1a\u5b9a\u6570\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u4e2d\u305a\u3063\u3068\u30e1\u30e2\u30ea\u306b\u4fdd\u6301\u3055\u308c\u307e\u3059\u3002\u5927\u91cf\u306e\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u3068\u3001\u7279\u306b\u5927\u898f\u6a21\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u304c\u5897\u52a0\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u540d\u524d\u89e3\u6c7a\u306e\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9<\/strong>\uff1aPHP\u51e6\u7406\u7cfb\u306f\u5b9a\u6570\u540d\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u30b7\u30f3\u30dc\u30eb\u30c6\u30fc\u30d6\u30eb\u3092\u691c\u7d22\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5b9a\u6570\u304c\u591a\u3059\u304e\u308b\u3068\u3001\u3053\u306e\u691c\u7d22\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30b9\u30b3\u30fc\u30d7\u306e\u554f\u984c<\/strong>\uff1a\u3059\u3079\u3066\u306e\u5b9a\u6570\u304c\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u306b\u5b58\u5728\u3059\u308b\u305f\u3081\u3001\u5927\u91cf\u306e\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u3068\u540d\u524d\u7a7a\u9593\u304c\u6c5a\u67d3\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>\u904e\u5270\u4f7f\u7528\u306e\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u60aa\u3044\u4f8b\uff1a\u65e5\u672c\u306e\u5404\u90fd\u9053\u5e9c\u770c\u3092\u500b\u5225\u306e\u5b9a\u6570\u3068\u3057\u3066\u5b9a\u7fa9\ndefine('PREFECTURE_HOKKAIDO', '\u5317\u6d77\u9053');\ndefine('PREFECTURE_AOMORI', '\u9752\u68ee\u770c');\ndefine('PREFECTURE_IWATE', '\u5ca9\u624b\u770c');\n\/\/ ... \u4ed6\u306e44\u90fd\u9053\u5e9c\u770c\u3082\u540c\u69d8\u306b\u5b9a\u7fa9 ...\n<\/pre>\n\n\n\n<p><strong>\u6700\u9069\u5316\u3055\u308c\u305f\u4ee3\u66ff\u6848\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u3088\u308a\u826f\u3044\u4f8b\uff1a\u914d\u5217\u3068\u3057\u3066\u4e00\u5ea6\u306b\u5b9a\u7fa9\ndefine('PREFECTURES', [\n    'HOKKAIDO' =&gt; '\u5317\u6d77\u9053',\n    'AOMORI' =&gt; '\u9752\u68ee\u770c',\n    'IWATE' =&gt; '\u5ca9\u624b\u770c',\n    \/\/ ... \u4ed6\u306e\u90fd\u9053\u5e9c\u770c ...\n]);\n\n\/\/ \u4f7f\u7528\u4f8b\necho PREFECTURES['HOKKAIDO']; \/\/ \u51fa\u529b: \u5317\u6d77\u9053\n<\/pre>\n\n\n\n<p><strong>\u6700\u9069\u306a\u4f7f\u7528\u91cf\u306e\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u95a2\u9023\u3059\u308b\u5024\u306f\u30b0\u30eb\u30fc\u30d7\u5316<\/strong>\uff1a\u95a2\u9023\u3059\u308b\u5b9a\u6570\u306f\u914d\u5217\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u3053\u3068\u3067\u3001\u5b9a\u6570\u306e\u6570\u3092\u6e1b\u3089\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u672c\u5f53\u306b\u5b9a\u6570\u304c\u5fc5\u8981\u304b\u691c\u8a0e<\/strong>\uff1a\u5909\u66f4\u3055\u308c\u306a\u3044\u5024\u3067\u3082\u3001\u30b0\u30ed\u30fc\u30d0\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u5fc5\u8981\u304c\u306a\u3051\u308c\u3070\u3001\u30af\u30e9\u30b9\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3084\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u3067\u5341\u5206\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li><strong>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u6d3b\u7528<\/strong>\uff1a\u5927\u91cf\u306e\u8a2d\u5b9a\u5024\u306f\u3001\u5b9a\u6570\u3068\u3057\u3066\u5b9a\u7fa9\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3057\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u8aad\u307f\u8fbc\u3080\u65b9\u304c\u52b9\u7387\u7684\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ config.php\nreturn [\n    'database' =&gt; [\n        'host' =&gt; 'localhost',\n        'user' =&gt; 'root',\n        \/\/ ...\n    ],\n    \/\/ \u305d\u306e\u4ed6\u306e\u8a2d\u5b9a...\n];\n\n\/\/ \u4f7f\u7528\u6642\u306b\u8aad\u307f\u8fbc\u3080\n$config = require 'config.php';\necho $config['database']['host']; \/\/ \u51fa\u529b: localhost\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-29\">\u518d\u5b9a\u7fa9\u306b\u3088\u308b\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3068\u9632\u6b62\u7b56<\/h3>\n\n\n\n<p>PHP\u3067\u306f\u3001\u4e00\u5ea6\u5b9a\u7fa9\u3055\u308c\u305f\u5b9a\u6570\u3092\u518d\u5b9a\u7fa9\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u8b66\u544a\u304c\u767a\u751f\u3057\u3001\u518d\u5b9a\u7fa9\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u610f\u56f3\u3057\u306a\u3044\u52d5\u4f5c\u3092\u5f15\u304d\u8d77\u3053\u3059\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u554f\u984c\u70b9\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8b66\u544a\u306e\u767a\u751f<\/strong>\uff1a\u5b9a\u6570\u306e\u518d\u5b9a\u7fa9\u3092\u8a66\u307f\u308b\u3068\u3001\u300cConstant X already defined\u300d\u3068\u3044\u3046\u8b66\u544a\u304c\u767a\u751f\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u7121\u8996\u3055\u308c\u308b\u518d\u5b9a\u7fa9<\/strong>\uff1a\u5143\u306e\u5024\u304c\u4fdd\u6301\u3055\u308c\u3001\u65b0\u3057\u3044\u5024\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u5b9f\u884c\u30d5\u30ed\u30fc\u306e\u6df7\u4e71<\/strong>\uff1a\u958b\u767a\u8005\u304c\u5b9a\u6570\u304c\u66f4\u65b0\u3055\u308c\u3066\u3044\u308b\u3068\u8aa4\u3063\u3066\u60f3\u5b9a\u3059\u308b\u3068\u3001\u30d0\u30b0\u304c\u767a\u751f\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>\u518d\u5b9a\u7fa9\u306e\u5371\u967a\u6027\u306e\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u6700\u521d\u306e\u5b9a\u7fa9\ndefine('API_URL', 'https:\/\/api-dev.example.com');\n\n\/\/ \u4f55\u3089\u304b\u306e\u51e6\u7406...\n\n\/\/ \u8aa4\u3063\u305f\u518d\u5b9a\u7fa9\u306e\u8a66\u307f\ndefine('API_URL', 'https:\/\/api-prod.example.com'); \/\/ \u8b66\u544a: \u65e2\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\n\n\/\/ \u3053\u306e\u6642\u70b9\u3067API_URL\u306f\u4f9d\u7136\u3068\u3057\u3066 'https:\/\/api-dev.example.com' \u306e\u307e\u307e\nsendRequest(API_URL); \/\/ \u672c\u756a\u74b0\u5883\u3092\u4f7f\u3044\u305f\u304b\u3063\u305f\u306e\u306b\u958b\u767a\u74b0\u5883\u306eURL\u304c\u4f7f\u308f\u308c\u308b\n<\/pre>\n\n\n\n<p><strong>\u5b9a\u6570\u306e\u5b58\u5728\u78ba\u8a8d\u65b9\u6cd5\uff1a<\/strong><\/p>\n\n\n\n<p><code>defined()<\/code> \u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u3001\u5b9a\u6570\u304c\u65e2\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5b89\u5168\u306a\u5b9a\u6570\u5b9a\u7fa9\u306e\u65b9\u6cd5\nif (!defined('API_URL')) {\n    define('API_URL', 'https:\/\/api.example.com');\n}\n\n\/\/ \u74b0\u5883\u306b\u5fdc\u3058\u3066\u7570\u306a\u308b\u5024\u3092\u8a2d\u5b9a\u3057\u305f\u3044\u5834\u5408\nif (!defined('API_URL')) {\n    $env = getenv('APP_ENV') ?: 'development';\n    \n    if ($env === 'production') {\n        define('API_URL', 'https:\/\/api-prod.example.com');\n    } else {\n        define('API_URL', 'https:\/\/api-dev.example.com');\n    }\n}\n<\/pre>\n\n\n\n<p><strong>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3067\u306e\u9069\u7528\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ bootstrap.php\uff08\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u521d\u671f\u5316\u30d5\u30a1\u30a4\u30eb\uff09\n$configFiles = [\n    'config\/constants.php',          \/\/ \u57fa\u672c\u5b9a\u6570\n    'config\/constants.local.php'     \/\/ \u74b0\u5883\u56fa\u6709\u306e\u4e0a\u66f8\u304d\u5b9a\u6570\n];\n\nforeach ($configFiles as $file) {\n    if (file_exists($file)) {\n        $constants = require $file;\n        foreach ($constants as $name =&gt; $value) {\n            if (!defined($name)) {\n                define($name, $value);\n            }\n        }\n    }\n}\n<\/pre>\n\n\n\n<p><strong>\u30d2\u30f3\u30c8<\/strong>: \u5b9a\u6570\u3092\u518d\u5b9a\u7fa9\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u4ee3\u308f\u308a\u306b\u74b0\u5883\u5909\u6570\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3001\u307e\u305f\u306f\u540d\u524d\u7a7a\u9593\u3092\u4f7f\u7528\u3057\u3066\u3001\u7570\u306a\u308b\u74b0\u5883\u3067\u7570\u306a\u308b\u5024\u3092\u6301\u3064\u3088\u3046\u306b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-30\">\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306e\u533a\u5225\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3088\u308b\u6df7\u4e71\u306e\u56de\u907f<\/h3>\n\n\n\n<p><code>define()<\/code> \u95a2\u6570\u306e\u7b2c3\u5f15\u6570\u306f\u3001\u5b9a\u6570\u540d\u306e\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f <code>false<\/code>\uff08\u533a\u5225\u3059\u308b\uff09\u3067\u3059\u304c\u3001<code>true<\/code> \u306b\u8a2d\u5b9a\u3059\u308b\u3068\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u304c\u533a\u5225\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u6a5f\u80fd\u306f\u6df7\u4e71\u3092\u62db\u304f\u539f\u56e0\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u554f\u984c\u70b9\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u975e\u63a8\u5968\u306e\u6a5f\u80fd<\/strong>\uff1a\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u5b9a\u6570\u306f\u3001PHP \u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u306f\u975e\u63a8\u5968\u3068\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u8cab\u6027\u306e\u6b20\u5982<\/strong>\uff1a\u4e00\u90e8\u306e\u5b9a\u6570\u306e\u307f\u304c\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u3068\u3001\u30b3\u30fc\u30c9\u306e\u4e00\u8cab\u6027\u304c\u640d\u306a\u308f\u308c\u3001\u6df7\u4e71\u3092\u62db\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u4e88\u671f\u305b\u306c\u6319\u52d5<\/strong>\uff1a\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u5b9a\u6570\u3092\u904e\u4fe1\u3059\u308b\u3068\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u306b\u3064\u306a\u304c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>\u6df7\u4e71\u4f8b\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u5b9a\u6570\u306e\u5b9a\u7fa9\ndefine('greeting', 'Hello', true);\n\n\/\/ \u3069\u306e\u5f62\u5f0f\u3067\u3082\u540c\u3058\u5024\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\necho greeting;  \/\/ \u51fa\u529b: Hello\necho GREETING;  \/\/ \u51fa\u529b: Hello\necho Greeting;  \/\/ \u51fa\u529b: Hello\n\n\/\/ \u4e00\u65b9\u3067\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3059\u308b\u5b9a\u6570\u306f\u7570\u306a\u308b\ndefine('FAREWELL', 'Goodbye');\necho FAREWELL;  \/\/ \u51fa\u529b: Goodbye\necho farewell;  \/\/ \u30a8\u30e9\u30fc: \u672a\u5b9a\u7fa9\u306e\u5b9a\u6570\n<\/pre>\n\n\n\n<p><strong>\u63a8\u5968\u3055\u308c\u308b\u7d99\u7d9a\u3057\u305f\u4f7f\u7528\u30d1\u30bf\u30fc\u30f3\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e38\u306b\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3059\u308b<\/strong>\uff1a\u7b2c3\u5f15\u6570\u306f\u7701\u7565\u3059\u308b\u304b\u3001\u660e\u793a\u7684\u306b <code>false<\/code> \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u63a8\u5968\u3055\u308c\u308b\u4f7f\u7528\u6cd5\ndefine('API_KEY', 'xyz123');  \/\/ \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\n<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u547d\u540d\u898f\u5247\u306e\u4e00\u8cab\u6027\u3092\u4fdd\u3064<\/strong>\uff1a\u5b9a\u6570\u306f\u5927\u6587\u5b57\u3068\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3092\u4f7f\u7528\u3057\u3066\u547d\u540d\u3059\u308b\u3068\u3044\u3046\u6163\u7fd2\u306b\u5f93\u3044\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u4e00\u8cab\u3057\u305f\u547d\u540d\u898f\u5247\ndefine('DATABASE_HOST', 'localhost');\ndefine('DATABASE_USER', 'root');\ndefine('MAX_LOGIN_ATTEMPTS', 5);\n<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u7570\u306a\u308b\u30b1\u30fc\u30b9\u306e\u4f7f\u7528\u3092\u907f\u3051\u308b<\/strong>\uff1a\u5b9a\u6570\u3092\u53c2\u7167\u3059\u308b\u969b\u306f\u3001\u5b9a\u7fa9\u6642\u3068\u540c\u3058\u30b1\u30fc\u30b9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5b9a\u7fa9\u3057\u305f\u306e\u3068\u540c\u3058\u30b1\u30fc\u30b9\u3067\u53c2\u7167\ndefine('USER_ROLE_ADMIN', 1);\nif ($user-&gt;role === USER_ROLE_ADMIN) {\n    \/\/ \u7ba1\u7406\u8005\u306e\u51e6\u7406\n}\n<\/pre>\n\n\n\n<p><strong>\u6ce8\u610f<\/strong>: PHP 8.0\u4ee5\u964d\u3067\u306f\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u5b9a\u6570\u304c\u5ec3\u6b62\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u5c06\u6765\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u306e\u4e92\u63db\u6027\u3092\u78ba\u4fdd\u3059\u308b\u305f\u3081\u306b\u3001\u3053\u306e\u6a5f\u80fd\u306b\u4f9d\u5b58\u3057\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-31\">\u305d\u306e\u4ed6\u306e\u6ce8\u610f\u3059\u3079\u304d\u91cd\u8981\u306a\u70b9<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u540d\u524d\u7a7a\u9593\u3068\u306e\u6df7\u4e71<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">namespace App\\Config;\n\n\/\/ \u3053\u308c\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u540d\u524d\u7a7a\u9593\u306b\u5b9a\u7fa9\u3055\u308c\u308b\ndefine('DEBUG', true);\n\n\/\/ \u3053\u308c\u306f\u73fe\u5728\u306e\u540d\u524d\u7a7a\u9593\u306b\u5b9a\u7fa9\u3055\u308c\u308b\nconst VERSION = '1.0.0';\n\n\/\/ \u30a2\u30af\u30bb\u30b9\u6642\u306e\u9055\u3044\necho DEBUG;       \/\/ \u30b0\u30ed\u30fc\u30d0\u30eb\u5b9a\u6570\u306b\u306f\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\necho VERSION;     \/\/ \u73fe\u5728\u306e\u540d\u524d\u7a7a\u9593\u5185\u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\n\/\/ \u5225\u306e\u540d\u524d\u7a7a\u9593\u304b\u3089\u306f:\n\/\/ echo \\App\\Config\\VERSION; \/\/ \u5b8c\u5168\u4fee\u98fe\u540d\u304c\u5fc5\u8981\n<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u5b9a\u6570\u5024\u306e\u5236\u9650<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u6709\u52b9\u306a\u5b9a\u6570\u5024\ndefine('VALID_STRING', 'text');         \/\/ \u6587\u5b57\u5217\ndefine('VALID_NUMBER', 123);            \/\/ \u6574\u6570\ndefine('VALID_FLOAT', 1.23);            \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\ndefine('VALID_BOOLEAN', true);          \/\/ \u30d6\u30fc\u30eb\u5024\ndefine('VALID_NULL', null);             \/\/ NULL\ndefine('VALID_ARRAY', [1, 2, 3]);       \/\/ \u914d\u5217\uff08PHP 7.0\u4ee5\u964d\uff09\n\n\/\/ \u7121\u52b9\u306a\u5b9a\u6570\u5024\n\/\/ define('INVALID_RESOURCE', fopen('file.txt', 'r')); \/\/ \u30ea\u30bd\u30fc\u30b9\u578b\u306fNG\n\/\/ define('INVALID_OBJECT', new stdClass());           \/\/ \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306fNG\n<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30de\u30b8\u30c3\u30af\u5b9a\u6570\u3068\u306e\u533a\u5225<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<p>PHP\u306b\u306f\u3001<code>__LINE__<\/code>\u3001<code>__FILE__<\/code>\u3001<code>__DIR__<\/code>\u306a\u3069\u306e\u30de\u30b8\u30c3\u30af\u5b9a\u6570\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306f<code>define()<\/code>\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5b9a\u6570\u3068\u306f\u7570\u306a\u308a\u3001\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u5fdc\u3058\u3066\u5024\u304c\u5909\u308f\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30de\u30b8\u30c3\u30af\u5b9a\u6570\u306e\u4f8b\necho __LINE__;  \/\/ \u73fe\u5728\u306e\u884c\u756a\u53f7\necho __FILE__;  \/\/ \u73fe\u5728\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u7d76\u5bfe\u30d1\u30b9\necho __DIR__;   \/\/ \u73fe\u5728\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n\n\/\/ \u3053\u308c\u3089\u3092\u518d\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\n\/\/ define('__LINE__', 100); \/\/ \u30a8\u30e9\u30fc\u307e\u305f\u306f\u8b66\u544a\u304c\u767a\u751f\n<\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>\u4e88\u7d04\u6e08\u307f\u5b9a\u6570\u540d\u306e\u56de\u907f<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ PHP\u306e\u4e88\u7d04\u6e08\u307f\u5b9a\u6570\u3084\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u306e\u4e0a\u66f8\u304d\u306f\u907f\u3051\u308b\n\/\/ define('PHP_VERSION', '5.6'); \/\/ PHP\u306e\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u3092\u4e0a\u66f8\u304d\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\n<\/pre>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>\u53ef\u8aad\u6027\u306e\u305f\u3081\u306e\u30b0\u30eb\u30fc\u30d7\u5316<\/strong>\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u95a2\u9023\u3059\u308b\u5b9a\u6570\u3092\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3067\u30b0\u30eb\u30fc\u30d7\u5316\ndefine('DB_HOST', 'localhost');\ndefine('DB_USER', 'root');\ndefine('DB_PASS', 'secret');\n\n\/\/ \u63a5\u982d\u8f9e\u3092\u4f7f\u3063\u3066\u95a2\u9023\u4ed8\u3051\u3092\u660e\u78ba\u306b\u3059\u308b\ndefine('ERROR_DATABASE', 100);\ndefine('ERROR_VALIDATION', 200);\ndefine('ERROR_AUTHENTICATION', 300);\n<\/pre>\n\n\n\n<p>\u4ee5\u4e0a\u306e\u6ce8\u610f\u70b9\u3092\u8e0f\u307e\u3048\u3066\u3001PHP\u3067\u306e\u5b9a\u6570\u5b9a\u7fa9\u3092\u9069\u5207\u306b\u884c\u3046\u3053\u3068\u3067\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3092\u9632\u304e\u3001\u4fdd\u5b88\u6027\u306e\u9ad8\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<code>define()<\/code>\u95a2\u6570\u306f\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3067\u3059\u304c\u3001\u305d\u306e\u7279\u6027\u3068\u5236\u9650\u3092\u5341\u5206\u306b\u7406\u89e3\u3057\u305f\u4e0a\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-32\">\u5b9f\u8df5\u7684\u306adefine\u6d3b\u7528\u4e8b\u4f8b\uff1a\u672c\u756a\u74b0\u5883\u3067\u306e\u30b3\u30fc\u30c9\u4f8b<\/h2>\n\n\n\n<p>\u5b9f\u969b\u306ePHP\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001<code>define()<\/code>\u95a2\u6570\u3092\u3069\u306e\u3088\u3046\u306b\u6d3b\u7528\u3059\u308c\u3070\u3088\u3044\u306e\u3067\u3057\u3087\u3046\u304b\uff1f\u3053\u3053\u3067\u306f\u3001\u5b9f\u969b\u306e\u958b\u767a\u73fe\u5834\u3067\u5f79\u7acb\u30643\u3064\u306e\u5177\u4f53\u7684\u306a\u6d3b\u7528\u4e8b\u4f8b\u3068\u30b3\u30fc\u30c9\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u4f8b\u3092\u53c2\u8003\u306b\u3001\u81ea\u5206\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3082\u5b9a\u6570\u3092\u3088\u308a\u52b9\u679c\u7684\u306b\u6d3b\u7528\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-33\">\u8a2d\u5b9a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u3067\u306edefine\u306e\u5b9f\u88c5\u4f8b<\/h3>\n\n\n\n<p>\u5927\u898f\u6a21\u306aPHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u69d8\u3005\u306a\u8a2d\u5b9a\u5024\u3092\u52b9\u7387\u7684\u306b\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<code>define()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u305f\u968e\u5c64\u7684\u306a\u8a2d\u5b9a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u3067\u3001\u74b0\u5883\u3054\u3068\u306e\u8a2d\u5b9a\u5207\u308a\u66ff\u3048\u3084\u3001\u8a2d\u5b9a\u5024\u306e\u4e00\u5143\u7ba1\u7406\u304c\u5bb9\u6613\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>1. \u74b0\u5883\u691c\u51fa\u3068\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f<\/strong><\/p>\n\n\n\n<p>\u307e\u305a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u521d\u671f\u5316\u6642\u306b\u5b9f\u884c\u3055\u308c\u308b<code>bootstrap.php<\/code>\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ bootstrap.php\n\n\/\/ \u74b0\u5883\u306e\u691c\u51fa\nif (file_exists(__DIR__ . '\/.env')) {\n    $env = trim(file_get_contents(__DIR__ . '\/.env'));\n} elseif (getenv('APP_ENV')) {\n    $env = getenv('APP_ENV');\n} else {\n    $env = 'production'; \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u672c\u756a\u74b0\u5883\n}\n\n\/\/ \u74b0\u5883\u5909\u6570\u306e\u5b9a\u7fa9\ndefine('APP_ENV', $env);\ndefine('IS_DEVELOPMENT', APP_ENV === 'development');\ndefine('IS_TESTING', APP_ENV === 'testing');\ndefine('IS_PRODUCTION', APP_ENV === 'production');\n\n\/\/ \u57fa\u672c\u30d1\u30b9\u306e\u5b9a\u7fa9\ndefine('APP_ROOT', __DIR__);\ndefine('CONFIG_PATH', APP_ROOT . '\/config');\ndefine('PUBLIC_PATH', APP_ROOT . '\/public');\ndefine('STORAGE_PATH', APP_ROOT . '\/storage');\n\n\/\/ \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u30ed\u30fc\u30c9\nrequire_once CONFIG_PATH . '\/constants.php';\n\n\/\/ \u74b0\u5883\u56fa\u6709\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308c\u3070\u8aad\u307f\u8fbc\u3080\n$envConfigFile = CONFIG_PATH . '\/constants.' . APP_ENV . '.php';\nif (file_exists($envConfigFile)) {\n    require_once $envConfigFile;\n}\n\n\/\/ \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u8d77\u52d5\nrequire_once APP_ROOT . '\/app\/init.php';\n<\/pre>\n\n\n\n<p><strong>2. \u57fa\u672c\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb<\/strong><\/p>\n\n\n\n<p>\u6b21\u306b\u3001\u57fa\u672c\u8a2d\u5b9a\u3092\u5b9a\u7fa9\u3059\u308b<code>constants.php<\/code>\u30d5\u30a1\u30a4\u30eb\u306e\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ config\/constants.php\n\n\/\/ \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u57fa\u672c\u60c5\u5831\ndefine('APP_NAME', 'My PHP Application');\ndefine('APP_VERSION', '1.2.3');\ndefine('APP_URL', 'https:\/\/example.com');\n\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8a2d\u5b9a\ndefine('DB_CONFIG', [\n    'driver' =&gt; 'mysql',\n    'host' =&gt; 'localhost',\n    'database' =&gt; 'app_db',\n    'username' =&gt; 'db_user',\n    'password' =&gt; 'db_password',\n    'charset' =&gt; 'utf8mb4',\n    'collation' =&gt; 'utf8mb4_unicode_ci',\n    'prefix' =&gt; '',\n]);\n\n\/\/ \u30e1\u30fc\u30eb\u8a2d\u5b9a\ndefine('MAIL_CONFIG', [\n    'driver' =&gt; 'smtp',\n    'host' =&gt; 'smtp.mailtrap.io',\n    'port' =&gt; 2525,\n    'username' =&gt; 'smtp_user',\n    'password' =&gt; 'smtp_pass',\n    'encryption' =&gt; 'tls',\n    'from' =&gt; [\n        'address' =&gt; 'info@example.com',\n        'name' =&gt; 'My PHP Application'\n    ]\n]);\n\n\/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u8a2d\u5b9a\ndefine('CACHE_ENABLED', true);\ndefine('CACHE_TTL', 3600); \/\/ 1\u6642\u9593\uff08\u79d2\u5358\u4f4d\uff09\n\n\/\/ \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a\ndefine('PASSWORD_MIN_LENGTH', 8);\ndefine('SESSION_LIFETIME', 120); \/\/ 2\u6642\u9593\uff08\u5206\u5358\u4f4d\uff09\ndefine('API_RATE_LIMIT', 60); \/\/ \u30ea\u30af\u30a8\u30b9\u30c8\/\u5206\n<\/pre>\n\n\n\n<p><strong>3. \u74b0\u5883\u56fa\u6709\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb<\/strong><\/p>\n\n\n\n<p>\u6700\u5f8c\u306b\u3001\u958b\u767a\u74b0\u5883\u56fa\u6709\u306e\u8a2d\u5b9a\u3092\u4e0a\u66f8\u304d\u3059\u308b<code>constants.development.php<\/code>\u30d5\u30a1\u30a4\u30eb\u306e\u4f8b\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ config\/constants.development.php\n\n\/\/ \u958b\u767a\u74b0\u5883\u3067\u306f\u7570\u306a\u308bURL\u3092\u4f7f\u7528\ndefine('APP_URL', 'http:\/\/localhost:8000');\n\n\/\/ \u958b\u767a\u7528\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8a2d\u5b9a\ndefine('DB_CONFIG', [\n    'driver' =&gt; 'mysql',\n    'host' =&gt; 'localhost',\n    'database' =&gt; 'app_db_dev',\n    'username' =&gt; 'root',\n    'password' =&gt; '',\n    'charset' =&gt; 'utf8mb4',\n    'collation' =&gt; 'utf8mb4_unicode_ci',\n    'prefix' =&gt; '',\n]);\n\n\/\/ \u958b\u767a\u74b0\u5883\u3067\u306e\u30c7\u30d0\u30c3\u30b0\u8a2d\u5b9a\ndefine('DEBUG_MODE', true);\ndefine('DISPLAY_ERRORS', true);\ndefine('ERROR_REPORTING_LEVEL', E_ALL);\n\n\/\/ \u958b\u767a\u74b0\u5883\u3067\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u7121\u52b9\u5316\ndefine('CACHE_ENABLED', false);\n<\/pre>\n\n\n\n<p><strong>4. \u5b9f\u969b\u306e\u4f7f\u7528\u4f8b<\/strong><\/p>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5185\u3067\u306e\u8a2d\u5b9a\u5024\u306e\u4f7f\u7528\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\n$db = new Database(DB_CONFIG);\n\n\/\/ \u74b0\u5883\u306b\u5fdc\u3058\u305f\u632f\u308b\u821e\u3044\nif (DEBUG_MODE) {\n    error_reporting(ERROR_REPORTING_LEVEL);\n    ini_set('display_errors', DISPLAY_ERRORS ? 1 : 0);\n}\n\n\/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u4f7f\u7528\u5224\u65ad\nif (CACHE_ENABLED) {\n    $data = $cache-&gt;get('key', function() use ($db) {\n        return $db-&gt;query('SELECT * FROM table');\n    }, CACHE_TTL);\n} else {\n    $data = $db-&gt;query('SELECT * FROM table');\n}\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u8a2d\u5b9a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u74b0\u5883\u3054\u3068\u306b\u7570\u306a\u308b\u8a2d\u5b9a\u5024\u3092\u7c21\u5358\u306b\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u79fb\u690d\u6027\u3068\u4fdd\u5b88\u6027\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-34\">\u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u306e\u5b9a\u6570\u6d3b\u7528\u30d1\u30bf\u30fc\u30f3<\/h3>\n\n\n\n<p>PHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u30d7\u30e9\u30b0\u30a4\u30f3\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u5834\u5408\u3001<code>define()<\/code>\u95a2\u6570\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u9593\u306e\u9023\u643a\u3084\u62e1\u5f35\u6027\u3092\u9ad8\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>1. \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u57fa\u672c\u9aa8\u683c<\/strong><\/p>\n\n\n\n<p>\u307e\u305a\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u306e\u57fa\u672c\u69cb\u9020\u3092\u5b9a\u7fa9\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ plugin-system\/bootstrap.php\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u306e\u30eb\u30fc\u30c8\u30d1\u30b9\ndefine('PLUGIN_DIR', __DIR__ . '\/plugins');\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u8a2d\u5b9a\u60c5\u5831\u3092\u4fdd\u5b58\u3059\u308b\u30d5\u30a1\u30a4\u30eb\ndefine('PLUGIN_CONFIG_FILE', __DIR__ . '\/plugin-config.php');\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u5b9a\u7fa9\ndefine('PLUGIN_STATUS', [\n    'ACTIVE' =&gt; 'active',\n    'INACTIVE' =&gt; 'inactive',\n    'ERROR' =&gt; 'error',\n    'PENDING' =&gt; 'pending'\n]);\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30d5\u30c3\u30af\u30bf\u30a4\u30d7\ndefine('PLUGIN_HOOKS', [\n    'BEFORE_CONTENT' =&gt; 'before_content',\n    'AFTER_CONTENT' =&gt; 'after_content',\n    'HEADER' =&gt; 'header',\n    'FOOTER' =&gt; 'footer',\n    'SIDEBAR' =&gt; 'sidebar',\n    'INIT' =&gt; 'init',\n    'SHUTDOWN' =&gt; 'shutdown'\n]);\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u30ed\u30fc\u30c0\u30fc\u3092\u521d\u671f\u5316\nrequire_once __DIR__ . '\/PluginLoader.php';\n<\/pre>\n\n\n\n<p><strong>2. \u30d7\u30e9\u30b0\u30a4\u30f3\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb<\/strong><\/p>\n\n\n\n<p>\u5404\u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u81ea\u8eab\u306e\u540d\u524d\u7a7a\u9593\u5185\u3067\u5b9a\u6570\u3092\u5b9a\u7fa9\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ plugins\/seo-optimizer\/plugin.php\n\nnamespace Plugins\\SeoOptimizer;\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u60c5\u5831\u306e\u5b9a\u7fa9\ndefine(__NAMESPACE__ . '\\PLUGIN_NAME', 'SEO Optimizer');\ndefine(__NAMESPACE__ . '\\PLUGIN_VERSION', '1.0.0');\ndefine(__NAMESPACE__ . '\\PLUGIN_AUTHOR', 'Dexall Inc.');\ndefine(__NAMESPACE__ . '\\PLUGIN_URL', 'https:\/\/example.com\/plugins\/seo-optimizer');\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u56fa\u6709\u306e\u8a2d\u5b9a\ndefine(__NAMESPACE__ . '\\META_TITLE_MAX_LENGTH', 60);\ndefine(__NAMESPACE__ . '\\META_DESCRIPTION_MAX_LENGTH', 160);\ndefine(__NAMESPACE__ . '\\SITEMAP_PATH', PLUGIN_DIR . '\/seo-optimizer\/sitemap.xml');\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30d5\u30c3\u30af\u767b\u9332\n$pluginLoader = \\PluginSystem\\PluginLoader::getInstance();\n$pluginLoader-&gt;registerHook(PLUGIN_HOOKS['HEADER'], __NAMESPACE__ . '\\addMetaTags');\n$pluginLoader-&gt;registerHook(PLUGIN_HOOKS['FOOTER'], __NAMESPACE__ . '\\addSchemaMarkup');\n\n\/**\n * \u30d8\u30c3\u30c0\u30fc\u306b\u30e1\u30bf\u30bf\u30b0\u3092\u8ffd\u52a0\n *\/\nfunction addMetaTags($content) {\n    \/\/ META_TITLE_MAX_LENGTH\u5b9a\u6570\u3092\u4f7f\u7528\n    $title = substr($content['title'], 0, META_TITLE_MAX_LENGTH);\n    \n    \/\/ \u7701\u7565...\n    \n    return $content;\n}\n\n\/**\n * \u30d5\u30c3\u30bf\u30fc\u306b\u30b9\u30ad\u30fc\u30de\u30de\u30fc\u30af\u30a2\u30c3\u30d7\u3092\u8ffd\u52a0\n *\/\nfunction addSchemaMarkup($content) {\n    \/\/ \u7701\u7565...\n    \n    return $content;\n}\n<\/pre>\n\n\n\n<p><strong>3. \u30d7\u30e9\u30b0\u30a4\u30f3\u30ed\u30fc\u30c0\u30fc\u30af\u30e9\u30b9<\/strong><\/p>\n\n\n\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u8aad\u307f\u8fbc\u307f\u3001\u7ba1\u7406\u3059\u308b\u30af\u30e9\u30b9\u306e\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ plugin-system\/PluginLoader.php\n\nnamespace PluginSystem;\n\nclass PluginLoader {\n    private static $instance = null;\n    private $plugins = [];\n    private $hooks = [];\n    \n    private function __construct() {\n        \/\/ \u30b7\u30f3\u30b0\u30eb\u30c8\u30f3\u30d1\u30bf\u30fc\u30f3\n    }\n    \n    public static function getInstance() {\n        if (self::$instance === null) {\n            self::$instance = new self();\n        }\n        return self::$instance;\n    }\n    \n    public function loadPlugins() {\n        \/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30b9\u30ad\u30e3\u30f3\n        $dirs = glob(PLUGIN_DIR . '\/*', GLOB_ONLYDIR);\n        \n        foreach ($dirs as $dir) {\n            $pluginFile = $dir . '\/plugin.php';\n            if (file_exists($pluginFile)) {\n                \/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u60c5\u5831\u3092\u8aad\u307f\u8fbc\u3080\n                require_once $pluginFile;\n                $dirName = basename($dir);\n                $this-&gt;plugins[$dirName] = [\n                    'status' =&gt; PLUGIN_STATUS['ACTIVE'],\n                    'directory' =&gt; $dir\n                ];\n            }\n        }\n        \n        return $this-&gt;plugins;\n    }\n    \n    public function registerHook($hookName, $callback) {\n        if (!isset($this-&gt;hooks[$hookName])) {\n            $this-&gt;hooks[$hookName] = [];\n        }\n        \n        $this-&gt;hooks[$hookName][] = $callback;\n    }\n    \n    public function executeHook($hookName, $content = null) {\n        if (!isset($this-&gt;hooks[$hookName])) {\n            return $content;\n        }\n        \n        foreach ($this-&gt;hooks[$hookName] as $callback) {\n            $content = call_user_func($callback, $content);\n        }\n        \n        return $content;\n    }\n}\n<\/pre>\n\n\n\n<p><strong>4. \u30e1\u30a4\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306e\u4f7f\u7528\u4f8b<\/strong><\/p>\n\n\n\n<p>\u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u3092\u30e1\u30a4\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u7528\u3059\u308b\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ index.php\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u306e\u521d\u671f\u5316\nrequire_once __DIR__ . '\/plugin-system\/bootstrap.php';\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u30ed\u30fc\u30c0\u30fc\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u53d6\u5f97\n$pluginLoader = \\PluginSystem\\PluginLoader::getInstance();\n\n\/\/ \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u8aad\u307f\u8fbc\u307f\n$plugins = $pluginLoader-&gt;loadPlugins();\n\n\/\/ \u521d\u671f\u5316\u30d5\u30c3\u30af\u3092\u5b9f\u884c\n$pluginLoader-&gt;executeHook(PLUGIN_HOOKS['INIT']);\n\n\/\/ \u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u53d6\u5f97\n$content = [\n    'title' =&gt; '\u30da\u30fc\u30b8\u30bf\u30a4\u30c8\u30eb',\n    'body' =&gt; '\u30da\u30fc\u30b8\u672c\u6587...'\n];\n\n\/\/ \u30b3\u30f3\u30c6\u30f3\u30c4\u524d\u30d5\u30c3\u30af\u3092\u5b9f\u884c\n$content = $pluginLoader-&gt;executeHook(PLUGIN_HOOKS['BEFORE_CONTENT'], $content);\n\n\/\/ \u30d8\u30c3\u30c0\u30fc\u30d5\u30c3\u30af\u3092\u5b9f\u884c\n$header = $pluginLoader-&gt;executeHook(PLUGIN_HOOKS['HEADER'], $content);\n\n\/\/ \u30b5\u30a4\u30c9\u30d0\u30fc\u30d5\u30c3\u30af\u3092\u5b9f\u884c\n$sidebar = $pluginLoader-&gt;executeHook(PLUGIN_HOOKS['SIDEBAR'], $content);\n\n\/\/ \u30d5\u30c3\u30bf\u30fc\u30d5\u30c3\u30af\u3092\u5b9f\u884c\n$footer = $pluginLoader-&gt;executeHook(PLUGIN_HOOKS['FOOTER'], $content);\n\n\/\/ \u30b3\u30f3\u30c6\u30f3\u30c4\u5f8c\u30d5\u30c3\u30af\u3092\u5b9f\u884c\n$content = $pluginLoader-&gt;executeHook(PLUGIN_HOOKS['AFTER_CONTENT'], $content);\n\n\/\/ \u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u30d5\u30c3\u30af\u3092\u767b\u9332\nregister_shutdown_function(function() use ($pluginLoader) {\n    $pluginLoader-&gt;executeHook(PLUGIN_HOOKS['SHUTDOWN']);\n});\n\n\/\/ \u30da\u30fc\u30b8\u3092\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\n\/\/ ...\n<\/pre>\n\n\n\n<p>\u3053\u306e\u65b9\u6cd5\u3067\u306f\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3054\u3068\u306b\u540d\u524d\u7a7a\u9593\u3092\u4f7f\u7528\u3057\u3066\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3067\u3001\u540d\u524d\u306e\u885d\u7a81\u3092\u907f\u3051\u306a\u304c\u3089\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u56fa\u6709\u306e\u8a2d\u5b9a\u3092\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u30d5\u30c3\u30af\u30b7\u30b9\u30c6\u30e0\u3092\u901a\u3058\u3066\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u76f8\u4e92\u306b\u9023\u643a\u3057\u306a\u304c\u3089\u6a5f\u80fd\u3092\u62e1\u5f35\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-35\">\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306b\u304a\u3051\u308b\u5b9a\u6570\u306e\u6700\u9069\u5316<\/h3>\n\n\n\n<p>\u591a\u304f\u306e\u4f01\u696d\u3067\u306f\u3001\u9577\u5e74\u4fdd\u5b88\u3055\u308c\u3066\u304d\u305f\u30ec\u30ac\u30b7\u30fcPHP\u30b3\u30fc\u30c9\u3092\u6271\u3046\u6a5f\u4f1a\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u306b\u306f\u3001\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\u3084\u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3055\u308c\u305f\u6587\u5b57\u5217\u304c\u6563\u5728\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u591a\u304f\u3001\u4fdd\u5b88\u6027\u3068\u53ef\u8aad\u6027\u306e\u4f4e\u4e0b\u3092\u62db\u3044\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306b\u304a\u3044\u3066\u5b9a\u6570\u3092\u6d3b\u7528\u3059\u308b\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>1. \u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u524d\u306e\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9<\/strong><\/p>\n\n\n\n<p>\u6b21\u306e\u3088\u3046\u306a\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u304c\u3042\u308b\u3068\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ user_manager.php\uff08\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u524d\uff09\n\nfunction getUserStatus($statusCode) {\n    \/\/ \u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\u306e\u4f7f\u7528\n    if ($statusCode == 1) {\n        return \"\u6709\u52b9\";\n    } elseif ($statusCode == 0) {\n        return \"\u7121\u52b9\";\n    } elseif ($statusCode == 2) {\n        return \"\u4fdd\u7559\u4e2d\";\n    } elseif ($statusCode == 3) {\n        return \"\u30ed\u30c3\u30af\";\n    } else {\n        return \"\u4e0d\u660e\";\n    }\n}\n\nfunction canEditUser($userType, $currentUserType) {\n    \/\/ \u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3055\u308c\u305f\u6a29\u9650\u30c1\u30a7\u30c3\u30af\n    if ($currentUserType == 5) { \/\/ \u30b9\u30fc\u30d1\u30fc\u7ba1\u7406\u8005\n        return true;\n    } elseif ($currentUserType == 4) { \/\/ \u7ba1\u7406\u8005\n        if ($userType != 5 &amp;&amp; $userType != 4) {\n            return true;\n        }\n    } elseif ($currentUserType == 3) { \/\/ \u7de8\u96c6\u8005\n        if ($userType == 1 || $userType == 2) {\n            return true;\n        }\n    }\n    return false;\n}\n\nfunction sendNotification($userId, $type) {\n    $db = new Database();\n    $user = $db-&gt;query(\"SELECT * FROM users WHERE id = $userId\");\n    \n    \/\/ \u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3055\u308c\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u30bf\u30a4\u30d7\n    if ($type == 1) { \/\/ \u30a6\u30a7\u30eb\u30ab\u30e0\u30e1\u30c3\u30bb\u30fc\u30b8\n        $subject = \"\u3088\u3046\u3053\u305d\uff01\";\n        $body = \"\u30a2\u30ab\u30a6\u30f3\u30c8\u767b\u9332\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\";\n    } elseif ($type == 2) { \/\/ \u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\n        $subject = \"\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u306e\u304a\u77e5\u3089\u305b\";\n        $body = \"\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f\u3002\";\n    } elseif ($type == 3) { \/\/ \u30a2\u30ab\u30a6\u30f3\u30c8\u30ed\u30c3\u30af\n        $subject = \"\u30a2\u30ab\u30a6\u30f3\u30c8\u30ed\u30c3\u30af\u306e\u304a\u77e5\u3089\u305b\";\n        $body = \"\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u305f\u3081\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30ed\u30c3\u30af\u3057\u307e\u3057\u305f\u3002\";\n    }\n    \n    \/\/ \u30e1\u30fc\u30eb\u9001\u4fe1\u51e6\u7406\uff08\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u306a\u3057\uff09\n    mail($user['email'], $subject, $body);\n}\n\n\/\/ \u8907\u6570\u7b87\u6240\u3067\u91cd\u8907\u3059\u308b\u8a2d\u5b9a\uff08\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u60c5\u5831\uff09\nfunction connectToDatabase() {\n    return new PDO('mysql:host=localhost;dbname=app_db', 'root', 'password123');\n}\n<\/pre>\n\n\n\n<p><strong>2. \u5b9a\u6570\u3092\u4f7f\u3063\u305f\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0<\/strong><\/p>\n\n\n\n<p>\u307e\u305a\u3001\u5b9a\u6570\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ constants.php\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u30b9\u30c6\u30fc\u30bf\u30b9\ndefine('USER_STATUS', [\n    'INACTIVE' =&gt; 0,\n    'ACTIVE' =&gt; 1,\n    'PENDING' =&gt; 2,\n    'LOCKED' =&gt; 3\n]);\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u30b9\u30c6\u30fc\u30bf\u30b9\u30e9\u30d9\u30eb\ndefine('USER_STATUS_LABELS', [\n    USER_STATUS['INACTIVE'] =&gt; '\u7121\u52b9',\n    USER_STATUS['ACTIVE'] =&gt; '\u6709\u52b9',\n    USER_STATUS['PENDING'] =&gt; '\u4fdd\u7559\u4e2d',\n    USER_STATUS['LOCKED'] =&gt; '\u30ed\u30c3\u30af'\n]);\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u30bf\u30a4\u30d7\ndefine('USER_TYPE', [\n    'SUBSCRIBER' =&gt; 1,\n    'CONTRIBUTOR' =&gt; 2,\n    'EDITOR' =&gt; 3,\n    'ADMIN' =&gt; 4,\n    'SUPER_ADMIN' =&gt; 5\n]);\n\n\/\/ \u901a\u77e5\u30bf\u30a4\u30d7\ndefine('NOTIFICATION_TYPE', [\n    'WELCOME' =&gt; 1,\n    'PASSWORD_RESET' =&gt; 2,\n    'ACCOUNT_LOCK' =&gt; 3\n]);\n\n\/\/ \u901a\u77e5\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\ndefine('NOTIFICATION_TEMPLATES', [\n    NOTIFICATION_TYPE['WELCOME'] =&gt; [\n        'subject' =&gt; '\u3088\u3046\u3053\u305d\uff01',\n        'body' =&gt; '\u30a2\u30ab\u30a6\u30f3\u30c8\u767b\u9332\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002'\n    ],\n    NOTIFICATION_TYPE['PASSWORD_RESET'] =&gt; [\n        'subject' =&gt; '\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u306e\u304a\u77e5\u3089\u305b',\n        'body' =&gt; '\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f\u3002'\n    ],\n    NOTIFICATION_TYPE['ACCOUNT_LOCK'] =&gt; [\n        'subject' =&gt; '\u30a2\u30ab\u30a6\u30f3\u30c8\u30ed\u30c3\u30af\u306e\u304a\u77e5\u3089\u305b',\n        'body' =&gt; '\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u305f\u3081\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30ed\u30c3\u30af\u3057\u307e\u3057\u305f\u3002'\n    ]\n]);\n\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8a2d\u5b9a\ndefine('DB_CONFIG', [\n    'host' =&gt; 'localhost',\n    'dbname' =&gt; 'app_db',\n    'username' =&gt; 'root',\n    'password' =&gt; 'password123'\n]);\n<\/pre>\n\n\n\n<p>\u6b21\u306b\u3001\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u3092\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ user_manager.php\uff08\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u5f8c\uff09\n\n\/\/ \u5b9a\u6570\u5b9a\u7fa9\u3092\u8aad\u307f\u8fbc\u307f\nrequire_once 'constants.php';\n\nfunction getUserStatus($statusCode) {\n    \/\/ \u5b9a\u6570\u914d\u5217\u3092\u4f7f\u7528\n    return USER_STATUS_LABELS[$statusCode] ?? '\u4e0d\u660e';\n}\n\nfunction canEditUser($userType, $currentUserType) {\n    \/\/ \u5b9a\u6570\u3092\u4f7f\u7528\u3057\u305f\u6a29\u9650\u30c1\u30a7\u30c3\u30af\n    if ($currentUserType == USER_TYPE['SUPER_ADMIN']) {\n        return true;\n    } elseif ($currentUserType == USER_TYPE['ADMIN']) {\n        if ($userType != USER_TYPE['SUPER_ADMIN'] &amp;&amp; $userType != USER_TYPE['ADMIN']) {\n            return true;\n        }\n    } elseif ($currentUserType == USER_TYPE['EDITOR']) {\n        if ($userType == USER_TYPE['SUBSCRIBER'] || $userType == USER_TYPE['CONTRIBUTOR']) {\n            return true;\n        }\n    }\n    return false;\n}\n\nfunction sendNotification($userId, $type) {\n    $db = new Database();\n    $user = $db-&gt;query(\"SELECT * FROM users WHERE id = $userId\");\n    \n    \/\/ \u5b58\u5728\u30c1\u30a7\u30c3\u30af\n    if (!isset(NOTIFICATION_TEMPLATES[$type])) {\n        throw new InvalidArgumentException(\"Invalid notification type: {$type}\");\n    }\n    \n    \/\/ \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304b\u3089\u53d6\u5f97\n    $template = NOTIFICATION_TEMPLATES[$type];\n    $subject = $template['subject'];\n    $body = $template['body'];\n    \n    \/\/ \u30e1\u30fc\u30eb\u9001\u4fe1\u51e6\u7406\uff08\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u8ffd\u52a0\uff09\n    $result = mail($user['email'], $subject, $body);\n    if (!$result) {\n        error_log(\"Failed to send notification to user {$userId}\");\n        return false;\n    }\n    \n    return true;\n}\n\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u60c5\u5831\u3092\u5b9a\u6570\u304b\u3089\u53d6\u5f97\nfunction connectToDatabase() {\n    return new PDO(\n        'mysql:host=' . DB_CONFIG['host'] . ';dbname=' . DB_CONFIG['dbname'],\n        DB_CONFIG['username'],\n        DB_CONFIG['password']\n    );\n}\n<\/pre>\n\n\n\n<p><strong>3. \u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306e\u5229\u70b9<\/strong><\/p>\n\n\n\n<p>\u3053\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306b\u3088\u308a\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5229\u70b9\u304c\u5f97\u3089\u308c\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u5411\u4e0a<\/strong>\uff1a\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\u3084\u6587\u5b57\u5217\u30ea\u30c6\u30e9\u30eb\u304c\u3001\u610f\u5473\u306e\u3042\u308b\u5b9a\u6570\u540d\u306b\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3057\u305f\u3002<\/li>\n\n\n\n<li><strong>\u4fdd\u5b88\u6027\u306e\u5411\u4e0a<\/strong>\uff1a\u8a2d\u5b9a\u5024\u3092\u5909\u66f4\u3059\u308b\u5834\u5408\u30011\u7b87\u6240\uff08\u5b9a\u6570\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\uff09\u306e\u307f\u3092\u4fee\u6b63\u3059\u308c\u3070\u826f\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/li>\n\n\n\n<li><strong>\u30d0\u30b0\u306e\u6e1b\u5c11<\/strong>\uff1a\u30bf\u30a4\u30d7\u30df\u30b9\u3084\u4e00\u8cab\u6027\u306e\u306a\u3044\u5024\u306e\u4f7f\u7528\u304c\u6e1b\u5c11\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30b3\u30fc\u30c9\u306e\u518d\u5229\u7528\u6027\u5411\u4e0a<\/strong>\uff1a\u5b9a\u6570\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u4ed6\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u3082\u540c\u3058\u5024\u3092\u7c21\u5358\u306b\u53c2\u7167\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u306e\u6539\u5584<\/strong>\uff1a\u4e0d\u6b63\u306a\u5024\u304c\u6e21\u3055\u308c\u305f\u5834\u5408\u306e\u51e6\u7406\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002<\/li>\n<\/ol>\n\n\n\n<p><strong>4. \u6bb5\u968e\u7684\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306e\u30a2\u30d7\u30ed\u30fc\u30c1<\/strong><\/p>\n\n\n\n<p>\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001\u4e00\u5ea6\u306b\u3059\u3079\u3066\u306e\u30b3\u30fc\u30c9\u3092\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u3053\u3068\u306f\u96e3\u3057\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u3088\u3046\u306a\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6bb5\u968e\u7684\u30a2\u30d7\u30ed\u30fc\u30c1\u304c\u6709\u52b9\u3067\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b9a\u6570\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210<\/strong>\uff1a\u307e\u305a\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u4f7f\u7528\u3055\u308c\u308b\u5b9a\u6570\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u65b0\u898f\u30b3\u30fc\u30c9\u3067\u306e\u5b9a\u6570\u306e\u4f7f\u7528<\/strong>\uff1a\u65b0\u3057\u304f\u66f8\u304b\u308c\u308b\u30b3\u30fc\u30c9\u3067\u306f\u3059\u3079\u3066\u5b9a\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u91cd\u8981\u5ea6\u306e\u9ad8\u3044\u7b87\u6240\u304b\u3089\u4fee\u6b63<\/strong>\uff1a\u983b\u7e41\u306b\u5909\u66f4\u304c\u767a\u751f\u3059\u308b\u7b87\u6240\u3084\u3001\u30d0\u30b0\u304c\u591a\u767a\u3057\u3066\u3044\u308b\u7b87\u6240\u304b\u3089\u512a\u5148\u7684\u306b\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30c6\u30b9\u30c8\u306e\u5b9f\u65bd<\/strong>\uff1a\u5404\u5909\u66f4\u5f8c\u306b\u30c6\u30b9\u30c8\u3092\u5b9f\u65bd\u3057\u3066\u3001\u6a5f\u80fd\u304c\u6b63\u3057\u304f\u52d5\u4f5c\u3059\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316<\/strong>\uff1a\u5b9a\u6570\u306e\u610f\u5473\u3068\u4f7f\u7528\u65b9\u6cd5\u3092\u6587\u66f8\u5316\u3057\u3066\u3001\u30c1\u30fc\u30e0\u5168\u4f53\u3067\u5171\u6709\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u53d6\u308b\u3053\u3068\u3067\u3001\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u3092\u6bb5\u968e\u7684\u306b\u6539\u5584\u3057\u3001\u3088\u308a\u4fdd\u5b88\u6027\u306e\u9ad8\u3044\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3078\u3068\u9032\u5316\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-36\">\u307e\u3068\u3081\uff1aPHP\u306edefine\u3092\u6700\u5927\u9650\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u6b21\u306e\u30b9\u30c6\u30c3\u30d7<\/h2>\n\n\n\n<p>PHP\u306e<code>define()<\/code>\u95a2\u6570\u306f\u3001\u4e00\u898b\u30b7\u30f3\u30d7\u30eb\u306a\u6a5f\u80fd\u3067\u3042\u308a\u306a\u304c\u3089\u3001\u9069\u5207\u306b\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u30b3\u30fc\u30c9\u306e\u54c1\u8cea\u3068\u4fdd\u5b88\u6027\u3092\u5927\u304d\u304f\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u57fa\u672c\u304b\u3089\u5fdc\u7528\u307e\u3067\u5e45\u5e83\u304f\u89e3\u8aac\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u3053\u3053\u3067\u306f\u3001\u8a18\u4e8b\u306e\u4e3b\u8981\u30dd\u30a4\u30f3\u30c8\u3092\u632f\u308a\u8fd4\u308a\u3001\u3055\u3089\u306a\u308b\u5b66\u7fd2\u306e\u305f\u3081\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-37\">\u3053\u306e\u8a18\u4e8b\u3067\u5b66\u3093\u3060define\u306e\u91cd\u8981\u30dd\u30a4\u30f3\u30c8\u7dcf\u5fa9\u7fd2<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u57fa\u672c\u6982\u5ff5\u3068\u69cb\u6587<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>define()<\/code>\u95a2\u6570\u306f\u540d\u524d\u3001\u5024\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306e\u533a\u5225\uff08\u975e\u63a8\u5968\uff09\u3068\u3044\u30463\u3064\u306e\u5f15\u6570\u3092\u6301\u3064<\/li>\n\n\n\n<li>\u5b9a\u6570\u306f\u4e00\u5ea6\u5b9a\u7fa9\u3059\u308b\u3068\u5909\u66f4\u3084\u518d\u5b9a\u7fa9\u304c\u3067\u304d\u306a\u3044<\/li>\n\n\n\n<li>\u5b9a\u6570\u540d\u306f\u6163\u7fd2\u3068\u3057\u3066\u5927\u6587\u5b57\u3068\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li><code>defined()<\/code>\u95a2\u6570\u3067\u5b9a\u6570\u306e\u5b58\u5728\u78ba\u8a8d\u3092\u884c\u3046\u3053\u3068\u304c\u91cd\u8981<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>define\u3068const\u306e\u9055\u3044\u3068\u4f7f\u3044\u5206\u3051<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u30b9\u30b3\u30fc\u30d7\u306e\u9055\u3044\uff1a<code>define()<\/code>\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u306e\u307f\u3001<code>const<\/code>\u306f\u30af\u30e9\u30b9\u5185\u3067\u3082\u4f7f\u7528\u53ef\u80fd<\/li>\n\n\n\n<li>\u8a55\u4fa1\u30bf\u30a4\u30df\u30f3\u30b0\uff1a<code>define()<\/code>\u306f\u5b9f\u884c\u6642\u3001<code>const<\/code>\u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u8a55\u4fa1\u3055\u308c\u308b<\/li>\n\n\n\n<li>\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\uff1a<code>define()<\/code>\u306f\u6761\u4ef6\u5206\u5c90\u5185\u3067\u4f7f\u7528\u53ef\u80fd\u3001<code>const<\/code>\u306f\u4e0d\u53ef<\/li>\n\n\n\n<li>\u540d\u524d\u7a7a\u9593\u3068\u306e\u76f8\u4e92\u4f5c\u7528\uff1a<code>define()<\/code>\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u540d\u524d\u7a7a\u9593\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u3001<code>const<\/code>\u306f\u73fe\u5728\u306e\u540d\u524d\u7a7a\u9593\u306b\u5c5e\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3067\u306e\u74b0\u5883\u5909\u6570\u5b9a\u7fa9<\/li>\n\n\n\n<li>\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\u306b\u3088\u308b\u67d4\u8edf\u306a\u30b3\u30fc\u30c9\u8a2d\u8a08<\/li>\n\n\n\n<li>\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3057\u305f\u5b9a\u6570\u306e\u885d\u7a81\u56de\u907f<\/li>\n\n\n\n<li>\u547d\u540d\u898f\u5247\u306e\u7d71\u4e00\u306b\u3088\u308b\u53ef\u8aad\u6027\u5411\u4e0a<\/li>\n\n\n\n<li>\u5b9a\u6570\u306e\u30b0\u30eb\u30fc\u30d7\u5316\u306b\u3088\u308b\u52b9\u7387\u7684\u7ba1\u7406<\/li>\n\n\n\n<li>\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\u3068\u4f8b\u5916\u51e6\u7406\u3067\u306e\u6d3b\u7528<\/li>\n\n\n\n<li>PHP\u7d44\u307f\u8fbc\u307f\u5b9a\u6570\u306e\u6d3b\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>PHP 7.x\/8.x\u3067\u306e\u65b0\u6a5f\u80fd<\/strong>\n<ul class=\"wp-block-list\">\n<li>PHP 7\u4ee5\u964d\u3067\u306e\u914d\u5217\u5b9a\u6570\u306e\u30b5\u30dd\u30fc\u30c8<\/li>\n\n\n\n<li>PHP 8\u3067\u306e\u578b\u4ed8\u304d\u30af\u30e9\u30b9\u5b9a\u6570<\/li>\n\n\n\n<li>\u30af\u30e9\u30b9\u5b9a\u6570\u3078\u306e\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50\u306e\u8ffd\u52a0<\/li>\n\n\n\n<li>\u30d0\u30fc\u30b8\u30e7\u30f3\u9593\u306e\u4e92\u63db\u6027\u306b\u95a2\u3059\u308b\u6ce8\u610f\u70b9<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6ce8\u610f\u70b9\u3068\u843d\u3068\u3057\u7a74<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5b9a\u6570\u306e\u904e\u5270\u4f7f\u7528\u306b\u3088\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3078\u306e\u5f71\u97ff<\/li>\n\n\n\n<li>\u518d\u5b9a\u7fa9\u306b\u3088\u308b\u4e88\u671f\u305b\u306c\u30d0\u30b0\u306e\u767a\u751f<\/li>\n\n\n\n<li>\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306e\u533a\u5225\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u975e\u63a8\u5968\u6027<\/li>\n\n\n\n<li>\u540d\u524d\u7a7a\u9593\u3068\u306e\u6df7\u4e71\u3092\u907f\u3051\u308b\u305f\u3081\u306e\u9069\u5207\u306a\u4f7f\u7528\u6cd5<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u4e8b\u4f8b<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u8a2d\u5b9a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u968e\u5c64\u7684\u306a\u5b9a\u6570\u69cb\u9020<\/li>\n\n\n\n<li>\u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0\u306b\u304a\u3051\u308b\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3057\u305f\u5b9a\u6570\u5b9a\u7fa9<\/li>\n\n\n\n<li>\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3067\u306e\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\/\u6587\u5b57\u5217\u306e\u5b9a\u6570\u5316<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u77e5\u8b58\u3092\u8eab\u306b\u3064\u3051\u308b\u3053\u3068\u3067\u3001PHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u304a\u3051\u308b\u5b9a\u6570\u306e\u6d3b\u7528\u304c\u683c\u6bb5\u306b\u5411\u4e0a\u3057\u3001\u3088\u308a\u4fdd\u5b88\u6027\u306e\u9ad8\u3044\u3001\u54c1\u8cea\u306e\u826f\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-38\">define\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u4e00\u89a7<\/h3>\n\n\n\n<p>\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067<code>define()<\/code>\u3092\u52b9\u679c\u7684\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u307e\u3068\u3081\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u547d\u540d\u898f\u5247\u3092\u4e00\u8cab\u3057\u3066\u5b88\u308b<\/strong> <code>\/\/ \u826f\u3044\u4f8b define('MAX_LOGIN_ATTEMPTS', 5); define('API_TIMEOUT_SECONDS', 30);<\/code><\/li>\n\n\n\n<li><strong>\u95a2\u9023\u3059\u308b\u5b9a\u6570\u306f\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3067\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b<\/strong> <code>define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', 'secret');<\/code><\/li>\n\n\n\n<li><strong>PHP 7\u4ee5\u964d\u3067\u306f\u914d\u5217\u3092\u6d3b\u7528\u3057\u3066\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b<\/strong> <code>define('HTTP_STATUS', [ 'OK' =&gt; 200, 'NOT_FOUND' =&gt; 404, 'SERVER_ERROR' =&gt; 500 ]);<\/code><\/li>\n\n\n\n<li><strong>\u518d\u5b9a\u7fa9\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u5fc5\u305a\u5b58\u5728\u78ba\u8a8d\u3092\u3059\u308b<\/strong> <code>if (!defined('APP_VERSION')) { define('APP_VERSION', '1.0.0'); }<\/code><\/li>\n\n\n\n<li><strong>\u74b0\u5883\u306b\u5fdc\u3058\u305f\u6761\u4ef6\u4ed8\u304d\u5b9a\u7fa9\u3092\u6d3b\u7528\u3059\u308b<\/strong> <code>if (getenv('APP_ENV') === 'production') { define('DEBUG_MODE', false); } else { define('DEBUG_MODE', true); }<\/code><\/li>\n\n\n\n<li><strong>\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u540d\u524d\u7a7a\u9593\u3092\u6d3b\u7528\u3059\u308b<\/strong> <code>namespace App\\Module; define(__NAMESPACE__ . '\\CONFIG_VERSION', '1.0.0');<\/code><\/li>\n\n\n\n<li><strong>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30b3\u30fc\u30c9\u3067\u306f\u30af\u30e9\u30b9\u5b9a\u6570\u3092\u512a\u5148\u3059\u308b<\/strong> <code>class User { const STATUS_ACTIVE = 1; const STATUS_INACTIVE = 0; }<\/code><\/li>\n\n\n\n<li><strong>\u8a2d\u5b9a\u5024\u306f\u4e00\u5143\u7ba1\u7406\u3059\u308b<\/strong> <code>\/\/ config.php \u306b\u96c6\u7d04 require_once 'config.php';<\/code><\/li>\n\n\n\n<li><strong>\u30de\u30b8\u30c3\u30af\u30ca\u30f3\u30d0\u30fc\/\u6587\u5b57\u5217\u3092\u5fb9\u5e95\u7684\u306b\u6392\u9664\u3059\u308b<\/strong> <code>\/\/ \u60aa\u3044\u4f8b if ($status === 1) { ... } \/\/ \u826f\u3044\u4f8b define('STATUS_ACTIVE', 1); if ($status === STATUS_ACTIVE) { ... }<\/code><\/li>\n\n\n\n<li><strong>\u578b\u306e\u4e00\u8cab\u6027\u3092\u4fdd\u3064<\/strong> <code>\/\/ \u6574\u6570\u5024\u306f\u6574\u6570\u3067\u5b9a\u7fa9 define('MAX_SIZE', 1024); \/\/ \u6587\u5b57\u5217\u306f\u6587\u5b57\u5217\u3067\u5b9a\u7fa9 define('DEFAULT_LANGUAGE', 'ja');<\/code><\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u610f\u8b58\u3059\u308b\u3053\u3068\u3067\u3001<code>define()<\/code>\u95a2\u6570\u306e\u5229\u70b9\u3092\u6700\u5927\u9650\u306b\u6d3b\u304b\u3057\u3001\u6f5c\u5728\u7684\u306a\u554f\u984c\u3092\u56de\u907f\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-39\">\u4eca\u5f8c\u306e\u5b66\u7fd2\u306e\u305f\u3081\u306e\u30ea\u30bd\u30fc\u30b9\u3068\u53c2\u8003\u8cc7\u6599<\/h3>\n\n\n\n<p>PHP\u306e\u5b9a\u6570\u306b\u3064\u3044\u3066\u3055\u3089\u306b\u7406\u89e3\u3092\u6df1\u3081\u305f\u3044\u65b9\u306e\u305f\u3081\u306b\u3001\u4ee5\u4e0b\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-40\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.php.net\/manual\/ja\/function.define.php\">PHP\u30de\u30cb\u30e5\u30a2\u30eb\uff1adefine<\/a>\n<ul class=\"wp-block-list\">\n<li><code>define()<\/code>\u95a2\u6570\u306e\u5b8c\u5168\u306a\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u3068\u4f7f\u7528\u4f8b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.php.net\/manual\/ja\/language.constants.php\">PHP\u30de\u30cb\u30e5\u30a2\u30eb\uff1a\u5b9a\u6570<\/a>\n<ul class=\"wp-block-list\">\n<li>PHP\u306b\u304a\u3051\u308b\u5b9a\u6570\u306e\u6982\u5ff5\u3068\u4f7f\u7528\u65b9\u6cd5\u306e\u8a73\u7d30\u89e3\u8aac<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.php.net\/manual\/ja\/language.oop5.constants.php\">PHP\u30de\u30cb\u30e5\u30a2\u30eb\uff1a\u30af\u30e9\u30b9\u5b9a\u6570<\/a>\n<ul class=\"wp-block-list\">\n<li>\u30af\u30e9\u30b9\u5b9a\u6570\u3068\u305d\u306e\u4f7f\u7528\u65b9\u6cd5\u306b\u95a2\u3059\u308b\u89e3\u8aac<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.php.net\/manual\/ja\/reserved.constants.php\">PHP\u30de\u30cb\u30e5\u30a2\u30eb\uff1a\u5b9a\u7fa9\u6e08\u307f\u5b9a\u6570<\/a>\n<ul class=\"wp-block-list\">\n<li>PHP\u306b\u7d44\u307f\u8fbc\u307e\u308c\u3066\u3044\u308b\u5b9a\u7fa9\u6e08\u307f\u5b9a\u6570\u306e\u30ea\u30b9\u30c8<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-41\">\u30aa\u30f3\u30e9\u30a4\u30f3\u30ea\u30bd\u30fc\u30b9<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/ja.phptherightway.com\/\">PHP: \u6b63\u3057\u3044\u9053 \u2013 PHP The Right Way<\/a>\n<ul class=\"wp-block-list\">\n<li>\u30e2\u30c0\u30f3\u306aPHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u5305\u62ec\u7684\u30ac\u30a4\u30c9<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/laracasts.com\/\">Laracasts<\/a>\n<ul class=\"wp-block-list\">\n<li>PHP\u3068Laravel\u306b\u95a2\u3059\u308b\u9ad8\u54c1\u8cea\u306a\u52d5\u753b\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/symfony.com\/doc\/current\/best_practices.html\">Symfony Best Practices<\/a>\n<ul class=\"wp-block-list\">\n<li>Symfony\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff08\u5b9a\u6570\u306e\u4f7f\u7528\u6cd5\u3082\u542b\u3080\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-42\">\u66f8\u7c4d<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u300eModern PHP\u300fby Josh Lockhart\n<ul class=\"wp-block-list\">\n<li>\u30e2\u30c0\u30f3\u306aPHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u624b\u6cd5\u3092\u7db2\u7f85\u3057\u305f\u672c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u300ePHP\u8a2d\u8a08\u30d1\u30bf\u30fc\u30f3\u5165\u9580\u300f\n<ul class=\"wp-block-list\">\n<li>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u8a2d\u8a08\u3068PHP\u3067\u306e\u5b9f\u88c5\u65b9\u6cd5\u3092\u5b66\u3079\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u300e\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\uff1a\u65e2\u5b58\u306e\u30b3\u30fc\u30c9\u3092\u5b89\u5168\u306b\u6539\u5584\u3059\u308b\u300fby Martin Fowler\n<ul class=\"wp-block-list\">\n<li>\u30b3\u30fc\u30c9\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u306e\u57fa\u672c\u539f\u5247\uff08\u5b9a\u6570\u62bd\u51fa\u306a\u3069\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3082\u542b\u3080\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-43\">\u6b21\u306e\u30b9\u30c6\u30c3\u30d7<\/h4>\n\n\n\n<p>PHP\u306e\u5b9a\u6570\u306b\u3064\u3044\u3066\u7406\u89e3\u3092\u6df1\u3081\u305f\u5f8c\u306f\u3001\u4ee5\u4e0b\u306e\u30c8\u30d4\u30c3\u30af\u306b\u53d6\u308a\u7d44\u3080\u3053\u3068\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8a2d\u5b9a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306e\u69cb\u7bc9<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u74b0\u5883\u5909\u6570\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3001\u5b9a\u6570\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u52b9\u7387\u7684\u306a\u8a2d\u5b9a\u7ba1\u7406\u306e\u5b9f\u88c5<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>DI\u30b3\u30f3\u30c6\u30ca\u306e\u7406\u89e3<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u4f9d\u5b58\u6027\u6ce8\u5165\uff08DI\uff09\u3068\u30b3\u30f3\u30c6\u30ca\u306e\u6982\u5ff5\u3092\u5b66\u3073\u3001\u5b9a\u6570\u3068\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u7528\u3059\u308b\u65b9\u6cd5<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u578b\u4ed8\u3051\u3068PHP 8\u306e\u65b0\u6a5f\u80fd<\/strong>\n<ul class=\"wp-block-list\">\n<li>PHP 8\u306e\u5f37\u5316\u3055\u308c\u305f\u578b\u30b7\u30b9\u30c6\u30e0\u3068\u578b\u4ed8\u304d\u5b9a\u6570\u306e\u6d3b\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30c6\u30b9\u30c8\u99c6\u52d5\u958b\u767a\uff08TDD\uff09<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5358\u4f53\u30c6\u30b9\u30c8\u3092\u66f8\u304d\u306a\u304c\u3089\u3001\u30c6\u30b9\u30c8\u53ef\u80fd\u6027\u306e\u9ad8\u3044\u30b3\u30fc\u30c9\u3092\u4f5c\u6210\u3059\u308b\u624b\u6cd5<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30c8\u30d4\u30c3\u30af\u3092\u5b66\u3076\u3053\u3068\u3067\u3001PHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u30b9\u30ad\u30eb\u3092\u3055\u3089\u306b\u5411\u4e0a\u3055\u305b\u3001\u3088\u308a\u5805\u7262\u3067\u4fdd\u5b88\u6027\u306e\u9ad8\u3044\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p>PHP\u306e<code>define()<\/code>\u95a2\u6570\u306f\u3001\u9069\u5207\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u975e\u5e38\u306b\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u5b66\u3093\u3060\u77e5\u8b58\u3092\u6d3b\u304b\u3057\u3066\u3001\u52b9\u7387\u7684\u304b\u3064\u4fdd\u5b88\u6027\u306e\u9ad8\u3044PHP\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u4f55\u304b\u8cea\u554f\u304c\u3042\u308c\u3070\u3001\u305c\u3072\u30b3\u30e1\u30f3\u30c8\u6b04\u3067\u304a\u805e\u304b\u305b\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u3042\u306a\u305f\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306e<code>define()<\/code>\u6d3b\u7528\u4e8b\u4f8b\u3082\u5171\u6709\u3044\u305f\u3060\u3051\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u3068\u3057\u3066\u3001\u305c\u3072\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3053\u308c\u3089\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002\u5b9f\u8df5\u3092\u901a\u3058\u3066\u7406\u89e3\u3092\u6df1\u3081\u3001\u81ea\u5206\u3060\u3051\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u69cb\u7bc9\u3057\u3066\u3044\u304f\u3053\u3068\u304c\u3001\u771f\u306e\u6210\u9577\u306b\u3064\u306a\u304c\u308a\u307e\u3059\u3002PHP\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u304a\u3051\u308b\u6210\u529f\u3092\u304a\u7948\u308a\u3057\u3066\u3044\u307e\u3059\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP\u3067\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u3057\u3066\u3044\u308b\u3068\u3001\u3042\u3061\u3053\u3061\u306b\u540c\u3058\u5024\u3092\u4f55\u5ea6\u3082\u66f8\u3044\u3066\u3057\u307e\u3063\u305f\u308a\u3001\u5f8c\u304b\u3089\u5024\u3092\u5909\u66f4\u3059\u308b\u969b\u306b\u591a\u304f\u306e\u7b87\u6240\u3092\u4fee\u6b63\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3068\u3044\u3046\u7d4c\u9a13\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u305d\u3093\u306a\u6642\u306b\u5f79\u7acb\u3064\u306e\u304c\u300c\u5b9a\u6570\u300d\u3068\u3044\u3046\u6982\u5ff5\u3067\u3059\u3002PHP\u3067\u306f\u4e3b\u306bd &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":{"0":"post-3477","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-php","7":"nothumb"},"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3477"}],"version-history":[{"count":1,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3477\/revisions"}],"predecessor-version":[{"id":3478,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3477\/revisions\/3478"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}