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