문자형인지 숫자형인지 체크하는 방법은 여러가지가 있습니다.

1. is_integer
2. is_int(1번의 alias)
3. filter_var

소개할 것은 filter_var 입니다.
filter_var는 int를 체크하는 용도뿐만이 아니라 filter를 이용해서 여러가지 사용법이 있습니다.
FLOAT 체크 : FILTER_VALIDATE_FLOAT
이메일 체크 : FILTER_VALIDATE_EMAIL
URL 체크 : FILTER_VALIDATE_URL
MAC 어드레스 체크 : FILTER_VALIDATE_MAC

이 외에도 몇 가지가 있습니다.
(참고 URL : https://www.php.net/manual/en/filter.filters.validate.php)

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT)!== false) {
    echo("Variable is an integer");
} else {
    echo("Variable is not an integer");
}
?>

*https://www.w3schools.com/php/filter_validate_int.asp

*제목 검색(pd_name에 index 걸려 있음)
1. LIKE 유형1

SELECT * FROM rb_product
WHERE pd_name LIKE '%테스트%';


index 못탑니다.

2. LIKE 유형2(우 %)

SELECT * FROM rb_product
WHERE pd_name LIKE '테스트%';

 

index 탑니다.

3. LIKE 유형32(좌 %)

SELECT * FROM rb_product
WHERE pd_name LIKE '%테스트';

index 탑니다.

4. 커버링 인덱스

SELECT A.*
FROM (
SELECT pd_idx, pd_name
FROM rb_product
WHERE pd_name LIKE '%테스트%'
#LIMIT 100000, 100
) AS P
INNER JOIN rb_product AS A ON A.pd_idx=P.pd_idx

index 탑니다.

*기타 제목 검색

SELECT * FROM rb_product
WHERE INSTR(LOWER(pd_name),LOWER('테스트'))>0;


index 못탑니다.

*컨텐츠 TEXT data type
-- 데이터 길이 때문에 index key 생성 불가능합니다.

SELECT A.*
FROM (
SELECT pd_idx, pd_contents
FROM rb_product
WHERE pd_contents LIKE '%테스트%'
#LIMIT 100000, 100
) AS P
INNER JOIN rb_product AS A ON A.pd_idx=P.pd_idx

pd_contents 인덱스가 걸리지 않기 때문에 인덱스 못탑니다.

============================
*FULL TEXT index
cafe24 웹호스팅 mysql innodb_ft_min_token_size
show variables like 'innodb_ft_min%'
기본 3글자로 세팅이 되어 있는 상태이고, 웹호스팅이기 때문에 변경이 안됩니다.

cafe24 웹호스팅 사용하는 이상은 레코드의 양 많을 때는 TEXT  data type에 인덱스를 걸수 없기 때문에 TEXT data type의 검색은 지양해야 한다고 판단 됩니다.

 

년월일로 요일 구하는 함수

<?php
function get_yoil($date){
	$arr = array("일", "월", "화", "수", "목", "금", "토");
	return $arr[date("w", strtotime($date))];
}

echo get_yoil("2022-10-08");

date("w") : 요일의 숫자 표현 입니다.

0 : 일요일
6 : 토요일

입력 받은 변수 값이 영문, 숫자만으로 되어 있는지 체크

<?php
if(preg_match('/^[a-zA-Z0-9]+$/', $nickname)){
	//올바른 닉네임 규칙
}else{
	//영문, 숫자 외에 다른 문자가 포함된 닉네임이 있을 때
}

 

'tech > PHP' 카테고리의 다른 글

filter_var 숫자(int) 체크  (0) 2023.10.16
특정 날짜의 요일 구하기  (0) 2023.10.07
템플릿 언더바의 루프문(loop) #2  (0) 2023.10.03
템플릿 언더바(Template Underscore) #1  (0) 2023.10.02
LG xpay 결제 모듈 연동 모바일  (0) 2018.03.19

*index.php

<?php
$tpl=new Template;
$tpl->define(array(
  'contents'  =>'index.tpl',
	'body'  =>'inc/body.tpl',
));

$data = sql_list("쿼리내용");
$tpl->assign('data', $data);
$tpl->print_('body');

*index.tpl

<ul>
	{@ data}	
	<li>hi{.seq}</li>
    {/}
</ul>

tpl에 php 구문을 넣어도 에러는 나지 않습니다만 tpl 파일은 View(V)만을 하기 때문에 PHP 구문이 필요 없습니다.

@ 로 loop문을 대체하고 있습니다.

{/}는 end입니다.

{.seq}는 data에 있는 배열명입니다.

 

'tech > PHP' 카테고리의 다른 글

특정 날짜의 요일 구하기  (0) 2023.10.07
영문, 숫자만 체크(유효성 검사)  (0) 2023.10.04
템플릿 언더바(Template Underscore) #1  (0) 2023.10.02
LG xpay 결제 모듈 연동 모바일  (0) 2018.03.19
카카오톡 API  (0) 2017.11.30

 

5년 정도 전에 한 개발 에이전시에 근무하게 되었을 때 였습니다.

MVC패턴으로 개발 방식이 유행이었던 당시에는 Laravel과 CodeIgniter, Symfony, Zend와 같은 프레임워크만 알던 때인데, 템플릿 언더바(https://tpl.xtac.net/)를 사내에서 사용하는 분위기였습니다.

MC는 PHP에서 작업하고 V는 tpl 파일에서 작업하는 방식입니다.

컴파일이 되기 때문에 파일명.tpl.php으로 컴파일 되어서 빠른 처리를 할수 있다고 합니다.

템플릿 언더바와는 다른 템플릿인 스마티와 비교한 페이지가 있습니다.

https://tpl.xtac.net/benchmark/

 

Template_

 

tpl.xtac.net

 

아래의 코느는 공식 사이트에 있는 예제 입니다.

<?php
include 'Template_.class.php';
$tpl = new Template_;
$tpl->define('index', 'index.tpl');
$tpl->assign(array(
    'title'  =>'First Template_',
    'content'=>'Fill me in',
));
$tpl->print_('index');

line 4 : V(view)가 될 index file을 지정 합니다.
배열도 가능 합니다.

$tpl->define(array(
    'contents'  =>'index/index.tpl',
	'body'  =>'inc/body.tpl',
	'top'  =>'inc/top.tpl',
));

 

'tech > PHP' 카테고리의 다른 글

영문, 숫자만 체크(유효성 검사)  (0) 2023.10.04
템플릿 언더바의 루프문(loop) #2  (0) 2023.10.03
LG xpay 결제 모듈 연동 모바일  (0) 2018.03.19
카카오톡 API  (0) 2017.11.30
웹 개발 환경  (0) 2017.03.08

가끔 실제로 꼽힌 램 보다 적게 인식이 될 때가 있습니다.

처음에는 제대로 인식이 되었는데 적게 인식이 될 때가 있습니다.

 

윈도우키 + pause를 눌러 보면 램 부분에 실제 꼽힌 램 용량과 다르게 인식이 됩니다.

 

이럴 때는 케이스를 열어서 메인보드에 꼽히는 금색 부분을 지우개로 살살~ 닦아 보세요.

그리고 다시 해보시고 그래도 안 되면 하나씩 뽑아서 어떤 램이 문제가 있는지 확인해보셔야 해요.

문제가 있는 램은 빼고 사용해보세요.

'tech > windows' 카테고리의 다른 글

windows 블루스크린 video tdr failure  (0) 2023.11.12
파일 찾기  (0) 2016.10.04
MS WINDOWS 7 설치 할 때 0X80300001에러  (3) 2012.02.27

swift의 var와 let이 javascript의 var와 let과 같을 줄 알았지만 달랐다.

swift의 let은 javascript의 const와 같았다. 즉 상수다.

 

let memo = "memo"

memo = "not memo"

 

해당 상수의 이름이 나오며 상수라고 변경 할 수 없다는 에러 메시지가 나온다. 

윈도우 크롬에서는 F11키 하나만 누르면 전체 화면이 되면서 웹툰이나 다른 웹에서의 컨텐츠를 감상 할 수 있다.

맥에서의 단축키는 control + command + F 입니다.

 

편안한 웹툰 감상 하세요.

 

LG xpay 결제 모듈 모바일 연동




LG xpay 결제 모듈은 모바일 모듈, PC 모듈 따로 있다고 해서 따로 연동해야 했습니다.

결제 모듈은 LG 결제 사이트(http://ecredit.uplus.co.kr/)에서 다운 받으실 수 있습니다.

설치에 앞서 데모를 볼수 있는 데모 페이지가 있습니다만 PC만 존재 합니다.

LG에서는 모바일의 경우 이미지로 설명만 해두었습니다.




데모가 없어서 불편하지만 PC 결제를 하고 있는 곳이라면 모바일 웹페이지 용으로 연동해야 하기 떄문에 데모 안보더라도 LG에서 제공하는 샘플 페이지로 테스트 가능합니다.


LG에서 제공하는 모바일 결제 모듈 메뉴얼과 파일을 다운 받으세요.

저의 경우 APM 기반이기 떄문에 PHP 파일을 다운 받았습니다.





폼 입력 파일인 sample_crossplatform.html 에서

결제 금액, 구매자 이메일, 상품 정보, (테스트 or 서비스)등에 대한 input이 있습니다.

테스트 아이디이므로 실행하면 되지만 그 전에 config 파일 설정을 하여야 합니다.


/결제 디렉터리/conf/mall.conf

로그를 쌓고 싶다면 log_dir 을 만들고, 퍼미션을 읽고/쓰기로 변경한 뒤 경로를 입력 합니다.

하단의 tlgdacomxpay, lgdacomxpay는 LG에서 받은 값을 입력하면 됩니다.


설정은 여기까지 입니다!

'tech > PHP' 카테고리의 다른 글

템플릿 언더바의 루프문(loop) #2  (0) 2023.10.03
템플릿 언더바(Template Underscore) #1  (0) 2023.10.02
카카오톡 API  (0) 2017.11.30
웹 개발 환경  (0) 2017.03.08
PHP 개발의 50%  (0) 2017.02.26

+ Recent posts