워드프레스 공부 index.php 파일 보기

작성자
eungabi
작성일
2022-08-17 00:47
조회
87
안녕하세요.
샌드위치 입니다.

저는 야메 개발자로 사실 개발자라 하기에도 뭐한 그냥 슈퍼 구글러라고 합니다.

저는 개발의 재미에 빠져서 이것저것 간단하게 만들어보거나, 테스트 해보곤 하는데요.

문득 워드프레스 같은 CMS 를 자체 제작을 해보고 싶어졌습니다.

그렇지만 사실 아직도 프로그래밍에 대해 잘 모르기 때문에 나름 공부를 해보려고 합니다.

어떻게 프로그램이 동작하는지 처음부터 따라가다 보면은 이해 할 날이 올것이라 믿으며 말입니다.

혹시라도 이글을 읽는 고수 분들이 계시다면 댓글로 조언 정도 좀 해주시면 감사 하겠습니다.


index.php

제가 알기로는 index 파일은 기본적으로 요청한 주소(링크)에 접근 했을 때, 특정된 파일이 없는 경우 index 파일을 찾아 웹에 보여주는 것으로 알고 있습니다.
index.html 일수도 있고, index.php 일수도 있는 것으로 알고 있습니다.

서버 내에 존재 하는 디렉토리(폴더)에 접근 했을때, 특정한 파일 주소가 없는 경우로 워드프레스의 경우는 아래의 index.php 파일의 내용을 담고 있습니다.

<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/

/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( 'WP_USE_THEMES', true );

/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';




영어에는 약하니까 일단 번역기를 돌려 봅니다.

<?php
/**
* WordPress 애플리케이션 앞. 이 파일은 아무 작업도 수행하지 않지만 로드됩니다.
* wp-blog-header.php는 WordPress에 테마를 로드하도록 지시합니다.
*
* @패키지 워드프레스
*/

/**
* WordPress 테마를 로드하고 출력하도록 WordPress에 지시합니다.
*
* @var 부울
*/
정의( 'WP_USE_THEMES', true );

/** WordPress 환경 및 템플릿 로드 */
__DIR__이 필요합니다. '/wp-블로그 헤더.php';

/* 내용*/ 는 주석을 의미하기 때문에 프로그램적인 동작을 하지 않으며, 설명을 위한 것 입니다.

PHP코드는 웹 상에서 어디에든 위치 할 수가 있는 것으로 알고 있습니다.
시작과 끝만 알려준 다면 말이죠.
PHP 에서 PHP 시작과 끝은 <?php 내용
?> 이렇게 표현 됩니다.

말하자면 PHP코드가 실행 됨을 알리는 시작을 <?php 라는 시작 태그를 사용하고 끝을 나타내는 ?>의 태그를 사용 합니다.
그리고 보다보면 ; 이러한 기호를 많이 볼 수가 있는데 이를 세미콜론 이라 합니다.

코드에 대한 명령문을 세미콜론으로 끝내야 합니다.
코드가 종료되는 ?> 이 태그 전에 세미콜론을 안찍었다면 종료 되는 ?> 태그의 선언에 따라 자동으로 세미콜론이 찍힌 것으로 간주 됩니다.
또한 ?> 종료 태그는 생략이 가능 합니다. 워드프레스의 index.php 코드의 내용을 살펴보면 종료 태그인 ?> 가 생략 된걸 확인 할 수가 있습니다.

index.php의 처음 주석을 살펴 보면
/** * WordPress 애플리케이션 앞. 이 파일은 아무 작업도 수행하지 않지만 로드됩니다.
* wp-blog-header.php는 WordPress에 테마를 로드하도록 지시합니다. *
* @패키지 워드프레스 */
* WordPress 테마를 로드하고 출력하도록 WordPress에 지시합니다.

워드프레스가 시작되면 아무짓도 안해도 로드가 된다고 합니다.
그리고 wp-blog-header.php를 통해 테마를 로드 할 수 있도록 지시 한다고 합니다.

그리고 나서 이제 한줄의 코드가 등장 합니다.
define( 'WP_USE_THEMES', true );
정의( 'WP_USE_THEMES', true );

번역본에 의하면 정의 라고 나오는데 define();는 php에서 상수를 선언 할때 쓰입니다.
상수는 변하지 않는 값을 상수라고 합니다.
그렇다면 변하는 값은 뭐라고 할까요? 바로 변수 라고 합니다.

define("이름", "값", 참거짓); 이정도로 설명 할 수 있을 것 같습니다.
define(); 에는 위의 3가지 매개변수를 입력 할 수 있습니다.

그런데 코드를 살펴보면 define("이름", 참); 만 명시 되어 있습니다. 값이 없는 형태 입니다.
참 거짓은 true 와 false 로 나타냅니다.

define();에서 참 거짓은 대소문자 구분을 결정 짓습니다.
true일 경우 대소문자를 구분하지 않고, false일 경우 대소문자를 구분 합니다.

다음 주석과 내용을 살펴보면 아래와 같습니다.
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';

번역본의 주석을 살펴보면 워드프레스 환경 및 템플릿을 로드 한다고 합니다.

/** WordPress 환경 및 템플릿 로드 */
require __DIR__ . '/wp-blog-header.php';

해당코드를 살펴보면 require 라는 함수가 있는데, 다른 경로에 있는 파일을 현재 파일에 실행 시키는데 사용 합니다.
비슷한 코드로 include가 있습니다.

__DIR__는 절대 경로를 의미 하고 뒤에 오는 .(점)은 앞의 내용과 뒤의 내용을 결합 한다는 의미 입니다.
'/wp-blog-header.php' 작은 따음표 안에 있는 내용은 파일의 이름 입니다.

그렇기 때문에 저 코드가 실행 되면 절대 경로/wp-blog-header.php 를 실행 한다. 가 됩니다.

뉴스픽 & 오아시스 피드

전체 0