PHP 형변환 방법 


안녕하세요.
고코더 입니다.


PHP에서 cint() 혹은 parseint() 같은
문자를 숫자로 형변환 하는걸 찾고 계셨군요

PHP는 다른 언어들 보다 더 쉽고
직관성 있게 형변환을 사용할 수 있습니다.

▼ 바로 예제 소스를 보시겠습니다.
1
2
3
4
5
6
7
8
9
10
<?php
    // PHP는 (int)를 원하는
    // 변수에 붙이면 형변환이 된다.
 
    echo (int)1.1;    // 1
    echo (int)"2";    // 2
    echo (int)-3.1;    // -3
    echo (int)"고코더";    // 0
 
?>
cs

앞에 (int)만 붙혀주면 형변환이 완료 됩니다.
길게 설명하기가 미안할 정도네요

그밖에 변환 가능한 형변환 종류는 아래와 같습니다.

(string) 문자열
(int) 정수
(double) 실수
(bool) 부울
(array) 배열
(object) 객체

사용법은 (int)와 똑같이 변수 앞에 붙혀주면 됩니다.





마무리


언어마다 형변환 함수가 
다르니 헷갈려 죽겠네요


댓글을 달아 주세요


XE 설치시에 PHP는 7.0 추천


안녕하세요. 고코더 입니다.

웹호스팅을 구매하거나
PHP을 셋팅할때 단골 고민이 있습니다.
PHP 버전을 몇으로 할 것인가?

그러면 가장 떠오르는 버전은 두개입니다

PHP 5.6 그리고 PHP 7.2


PHP 5.6은 미우나 고우나 오랫동안 
한국 서버사이드 언어와 함께 했습니다.

각종 CMS나 개인 호스팅도 대부분 5.6이죠
가장 안정화 됐고 그후에 버전 업이 늦었으니깐요.

그런데 지금은 7.x 버전도 안정화가 되었습니다.

확실한건 PHP 5.x보다 속도가 매우 빠릅니다
그냥 웹페이지 가동해보면 체감상 많이 빠릅니다.

그런데 알다시피 

XE 에서는 Object 라는 클래스명을 사용해왔었는데
이 때문에 오래된 모듈들이 오류가 납니다. 

물런 개발자라면 클래스 얼리어스 설정 이나
find ./ -name 설정을 하면 간단하나

개발자가 아니라면 조금 이해 하기 어려운 부분입니다.



직접 5.6 , 7.0 , 7.2 버전을 모두 XE로 테스트 해본 결과
CMS 오류 대응에 미흡한 일반인이라면 
7.0을 추천 드립니다.

5.6은 XE를 돌리기에 가장 알맞지만 호환성이나 보안 문제가 일어날 확률이 높고
7.2는 생각보다 코어부터 쓰던 모듈들을 고칠게 많았습니다.
XE는 오래된 모듈들이 많아서 어쩔 수 없죠.

그래서 7.0을 선택하니 속도도 빠르고 호환도 좋고
뜯어 고칠게 생각보다 적네요.

그래서 전 PHP 7.0에 고코더넷을 돌리고 있습니다

혹시 버전을 고민중이라면
수정 사항에 대해 취약하다면
7.x대에 호환성과 안정화가 가장 오래된

7.0을 추천 드립니다


마무리


5.6 쓰다 7.0 오니 사이트가 정말 빠릿 합니다.
 



댓글을 달아 주세요


PHP 7 버전에서 예약오류 


안녕하세요. 고코더입니다. 

XE로 홈페이지를 개발하던중
아래와 같은 오류가 자꾸 발생합니다.

Fatal error: Class 'Object' not found in /doorweb_content.class.php on line 682

이유는 단순 합니다.
Object 라는 클래스 명을 이젠 사용 할 수 없습니다.

최신버전 XE 코어에서는 이를 
class_alias('BaseObject', 'Object');

클래스명을 변경해주는 코드를 심었지만
오래된 위젯같은 애드온성 소스들은 그대로 남아있습니다.

해당 오류가 표시하는 페이지에 갑니다. 
아래처럼 코딩 되어 있습니다.

▼ Object 라는 클래스명이 잘못되었습니다.
class doorweb_contentItem extends Object {


▼이를  BaseObject 로 변경 해주었습니다.
class doorweb_contentItem extends BaseObject {


그럼 이제 오류는 나타나지 않습니다.

xe 최신버전에 php7대를 쓰시는 분이라면
해당 오류가 나타날떄마다 
클래스 명을 바꿔 주시면 됩니니다.


마무리


Object가 클래스명이라니~


댓글을 달아 주세요