반응형 워드프레스 스킨 분석… PHP, HTML, 자바스크립트 등 소스 공부… index.php… define(), require(), dirname(__FILE__)…
반응형 워드프레스 스킨을 구해서 그 속에 사용된 PHP 및 HTML, 자바스크립트 코드 등을 분석하며 공부 중이다. 아니.. 더 정확히 말하면 반응형 워드프레스 스킨을 구하기는 꽤 오래전에 구해놨는데 그동안 이런저런 사정상 그냥 처박아 두고 있었다.
본인은 PHP나 HTML, 자바스크립트 등과 같은 프로그래밍 언어를 따로 배운 적은 없다. 그냥 필요에 의해서 그때그때 필요한 부분만 독학하며 짜깁기 식으로 조금씩 습득해 왔을 뿐이다.
이렇다 보니 기초가 없어서인지 소스 분석을 하느라 구해온 반응형 워드프레스 스킨 속에 사용된 코드를 들여다보고 있노라면 머리도 아프고, 진도도 안 나가니 답답해서 그냥 덮어버리기 일쑤였다.
더 환장할 일은 의미를 알 수 없는 소스를 접할 땐 잠이 무진장 쏟아진다는 거… ㅎㅎ
그렇다고 계속 손을 놓고 있는다면 더 이상 발전은 기대할 수 없기에 조금씩이라도 공부해 나가기로 결심했다.
과연 이 결심이 작심삼일로 끝날지도 모르지만 벌써부터 그런 걱정은 할 필요 없을 테고… 일단 그건 그때 가서 생각하기로 하는 것이 현명한 처신일 듯싶다.
구해놓은 반응형 워드프레스 스킨 파일의 압축을 풀어 보니 뭐부터 손을 대야 할지 벌써부터 머리가 아파오는 것 같다.
천 리 길도 한 걸음부터라는 생각으로 일단 시작 파일부터 살펴보기로 했다.
시작 파일은
index.php 파일일 터..
떨리는 마음으로 index.php 파일을 에디터를 이용해 열어보니 의외로 내용은 간단했다.
<?php
define(‘WP_USE_THEMES’, true);
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
주석 부분을 제외하곤 위 내용이 전부였다.
따라서, 이번 시간에 공부할 것은 ‘ define(), require(), dirname()’ 및 ‘ __FILE__‘의 의미와 사용법을 파악하는 것으로 정해졌다.
define() 함수는 ‘상수를 정의’할 때 사용하는 것이라 한다.
<?php
define(“원래버핏”, “대한민국 최고의 훈남”);
?>
만약 위의 내용처럼 정의를 했다면 ‘원래버핏’은 상수 이름이 되고, ‘대한민국 최고의 훈남’은 ‘원래버핏’의 상수값이 된다.
<?php
echo 원래버핏;
?>
이렇게 사용하면 ‘대한민국 최고의 훈남’이라는 문구가 출력이 되는 것이다. ㅋㅋ
require() 함수는 ‘php 작성 시 외부 파일을 불러오는 기능’을 수행한다.
require() 함수와 관련해 include(), include_once(), require_once() 함수들도 있으나 다음 기회에 자세히 다루도록 하고 여기서는 require() 함수만 이야기하고자 한다.
<?php
require(‘./test.php’);
?>
만약 지정해준 파일이 해당 경로에 존재하지 않을 경우,
include() 함수는 ‘warning’ 표시 후 계속 실행되는 반면, require() 함수는 ‘fatal error’ 표시 후 실행이 중단된다.
테스트해보니 HTTP 500 에러가 발생 후 실행이 중지되었다.
dirname() 함수는 ‘호출된 문서의 웹서버의 루트가 아닌 시스템 전체 경로를 반환’한다. 단, 경로의 끝에 ‘/’가 붙지 않는 형태로 반환된다.
‘__FILE__’은 현재 파일명을 나타낸다.
<?php
echo dirname(__FILE__);
?>
위처럼 작성 후 실행하면 작성된 파일이 위치한 시스템 전체 경로가 출력되는 것을 확인할 수 있다.
<?php
require( dirname(__FILE__) . ‘/test.php’ );
?>
현재 실행 중인 파일과 같은 경로에 test.php 파일이 있다면 해당 파일을 불러오게 된다.
별로 한 것도 없이 많이 공부한 듯한 이 기분.. ^^;
wp-blog-header.php 분석, isset(), wp() 함수, ABSPATH, WPINC
이것으로 index.php 분석은 마치고, 다음 시간에는 wp-blog-header.php 파일의 소스를 분석하며 공부할 예정이다.
Wonderful article! This is the type of information that should be shared across the web.
Shame on Google for no longer positioning this submit
higher! Come on over and discuss with my web site . Thanks =)
I like looking through a post that can make people think.
Also, thanks for permitting me to comment!
I’m truly enjoying the design and layout of your site. It’s a very
easy on the eyes which makes it much more pleasant
for me to come here and visit more often.
Did you hire out a designer to create your theme? Fantastic work!
Paragraph writing is also a fun, if you be acquainted with then you
can write if not it is difficult to write.