1번째 방법 망보드에서 알려준 기본적인 방법

<?php
if(mbw_is_login()){
   if(mbw_get_user("fn_user_name")!="") $output = '<li><span class="text-user-welcome">'.mbw_get_user("fn_user_name").'님 안녕하세요!</span></li>';
   $output .= '<li><a href="'.mbw_get_user_url("user_info").'" >회원정보1</a></li>';
   $output .= '<li><a href="'.site_url().'/?mb_user=logout" >로그아웃</a></li>';
}else{
   $output = '<li><a href="'.mbw_get_user_url("login").'" >로그인1</a></li>';
   $output .= '<li><a href="'.mbw_get_user_url("register").'" >회원가입</a></li>';
}
echo $output;
?>



2번째 방법 1번에서 php와 html을 구분한 코드

<?php if(mbw_is_login()) {?>
<li><a href="<?=mbw_get_user_url('user_info')?>">회원정보2</a></li>
<li><a href="<?=site_url()?>/?mb_user=logout">로그아웃</a></li>
<?php }else{ ?>
<li><a href="<?=mbw_get_user_url('login')?>">로그인2</a></li>
<li><a href="<?=mbw_get_user_url('register')?>">회원가입</a></li>
<?php } ?>


3번째 방법 2번을 좀 더 간결하게 php화해서 출력해주는 방법

<?php
$url = mbw_is_login() ? ['user_info' => '회원정보', 'logout' => '로그아웃'] : ['login' => '로그인', 'register' => '회원가입'];

foreach ($url as $key => $value) {
   $link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
   echo "<li><a href='{$link}'>{$value}</a></li>";
}
?>

4번째 방법 디자이너와 퍼블리셔가 보기 좋게 php 코드와 html 코드를 분리함

<?php
$menu_items = mbw_is_login()
   ? [
      ['url' => mbw_get_user_url('user_info'), 'label' => '회원정보'],
      ['url' => site_url() . '/?mb_user=logout', 'label' => '로그아웃'],
   ]
   : [
      ['url' => mbw_get_user_url('login'), 'label' => '로그인'],
      ['url' => mbw_get_user_url('register'), 'label' => '회원가입'],
   ];
?>

                     <!-- 메뉴 항목 시작 -->
<?php foreach ($menu_items as $item) : ?>
                         <li>
                             <a href="<?= $item['url'] ?>">
         <?= $item['label'] ?>
                             </a>
                         </li>
<?php endforeach; ?>
                     <!-- 메뉴 항목 끝 -->

5번째 방법 function 

php

<?php
function display_user_menu_items() {
   $menu_items = mbw_is_login()
      ? [
         ['url' => mbw_get_user_url('user_info'), 'label' => '회원정보'],
         ['url' => site_url . '/?mb_user=logout', 'label' => '로그아웃'],
      ]
      : [
         ['url' => mbw_get_user_url('login'), 'label' => '로그인'],
         ['url' => mbw_get_user_url('register'), 'label' => '회원가입'],
      ];

   // 메뉴 항목 시작
   foreach ($menu_items as $item) {
      echo "<li><a href='{$item['url']}'>{$item['label']}</a></li>";
   }
   // 메뉴 항목 끝
}
?>

html 템플릿

<?php display_user_menu_items(); ?>

 

5번째 방법 function (2)

<?php
function display_user_menu_items() {
   $url = mbw_is_login()
      ? ['user_info' => '회원정보', 'logout' => '로그아웃']
      : ['login' => '로그인', 'register' => '회원가입'];

   foreach ($url as $key => $value) {
      $link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
      echo "<li><a href='{$link}'>{$value}</a></li>";
   }
}
?>


5번째 방법 function(3)

<?php
function display_user_menu_items() {
   if (mbw_is_login()) {
      echo "<li><a href='" . mbw_get_user_url('user_info') . "'>회원정보2</a></li>";
      echo "<li><a href='" . site_url() . "/?mb_user=logout'>로그아웃</a></li>";
   } else {
      echo "<li><a href='" . mbw_get_user_url('login') . "'>로그인2</a></li>";
      echo "<li><a href='" . mbw_get_user_url('register') . "'>회원가입</a></li>";
   }
}
?>

6번째 방법

<?php
$url = mbw_is_login() ? ['user_info' => '회원정보', 'logout' => '로그아웃'] : ['login' => '로그인', 'register' => '회원가입'];
foreach ($url as $key => $value) :
$link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
                     ?>
                     <li><a href="<?=$link?>"><?=$value?></a></li>
                     <?php endforeach; ?>

7번째 방법 6번의 코드를 PHP Function과 HTML Template 코드로 분리하는 방법

1) PHP Function

<?php
function get_user_menu_items() {
   $menu_items = mbw_is_login()
      ? ['user_info' => '회원정보', 'logout' => '로그아웃']
      : ['login' => '로그인', 'register' => '회원가입'];

   $items = [];
   foreach ($menu_items as $key => $value) {
      $link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
      $items[] = ['link' => $link, 'value' => $value];
   }
   return $items;
}
?>

2) HTML Template

<?php
$menu_items = get_user_menu_items();
foreach ($menu_items as $item) :
   ?>
                   <li><a href="<?=$item['link']?>"><?=$item['value']?></a></li>
<?php endforeach; ?>


1번, 2번을 제외하고는 chatgpt를 이용해서 코드를 작성했습니다.

사람이 작성해서 사람이 보는 가독성과 AI가 짜주는 코드를 실제로 사람이 눈에 쉽게 보는 것과는 차이가 있네요.

여러분은 어느게 더 간결해보이시나요?


참조

https://www.mangboard.com/tip/?board_pid=13&mode=view


 
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기