MANGODDENG
번역글

코드이그나이터 static pages 전산영어회화용

[United States->Korean] 댓글 0 조회 35 추천 0 비추천 0 2019-02-16
Note: This tutorial assumes you’ve downloaded CodeIgniter and installed the framework in your development environment.
The first thing you’re going to do is set up a controller to handle static pages.
A controller is simply a class that helps delegate work.
It is the glue of your web application.
For example, when a call is made to:
http://example.com/news/latest/10
We might imagine that there is a controller named 'news'.
The method being called on news would be 'latest'.
The news method’s job could be to grab 10 news items, and render them on the page.
Very often in MVC, you’ll see URL patterns that match:
http://example.com/[controller-class]/[controller-method]/[arguments]
As URL schemes become more complex, this may change.
But for now, this is all we will need to know.
Create a file at application/controllers/Pages.php with the following code.
You have created a class named Pages
, with a view method that accepts one argument named $page.
The Pages class is extending the CI_Controller class.
This means that the new pages class can access the methods and variables defined in the CI_Controller class.
The controller is what will become the center of every request to your web application.
In very technical CodeIgniter discussions,
it may be referred to as the super object.
Like any php class,you refer to it within your controllers as $this.
Referring to $this is how you will load libraries, views, and generally command the framework.
Now you’ve created your first method
, it’s time to make some basic page templates.
We will be creating two 'views' (page templates) that act as our page footer and header.
Create the header at application/views/templates/header.php and add the following code:
The header contains the basic HTML code that you’ll want to display before loading the main view, together with a heading.
It will also output the $title variable, which we’ll define later in the controller.
Now, create a footer at application/views/templates/footer.php that includes the following code:
Adding logic to the controller
Earlier you set up a controller with a view() method.
The method accepts one parameter, which is the name of the page to be loaded.
The static page templates will be located in the application/views/pages/ directory.
In that directory, create two files named home.php and about.php.
Within those files, type some text
, anything you’d like , and save them.
If you like to be particularly un-original, try "Hello World!".
In order to load those pages
, you’ll have to check whether the requested page actually exists:
Now, when the page does exist
, it is loaded, including the header and footer
, and displayed to the user.
If the page doesn’t exist, a “404 Page not found” error is shown.
The first line in this method checks whether the page actually exists.
PHP’s native file_exists() function is used to check whether the file is where it’s expected to be.
show_404() is a built-in CodeIgniter function that renders the default error page.
In the header template,
the $title variable was used to customize the page title.
The value of title is defined in this method
, but instead of assigning the value to a variable
, it is assigned to the title element in the $data array.
The last thing that has to be done is loading the views in the order they should be displayed.
The second parameter in the view() method is used to pass values to the view.
Each value in the $data array is assigned to a variable with the name of its key.
So the value of $data['title'] in the controller is equivalent to $title in the view.
Routing
The controller is now functioning!
Point your browser to [your-site-url]index.php/pages/view to see your page.
When you visit index.php/pages/view/about you’ll see the about page, again including the header and footer.
Using custom routing rules
, you have the power to map any URI to any controller and method
, and break free from the normal convention:
http://example.com/[controller-class]/[controller-method]/[arguments]
Let’s do that.
Open the routing file located at application/config/routes.php and add the following two lines.
Remove all other code that sets any element in the $route array.
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
CodeIgniter reads its routing rules from top to bottom
and routes the request to the first matching rule.
Each rule is a regular expression mapped to a controller and method name separated by slashes.
When a request comes in, CodeIgniter looks for the first match
, and calls the appropriate controller and method, possibly with arguments.
More information about routing can be found in the URI Routing documentation.
Here, the second rule in the $routes array matches any request using the wildcard string (:any).
and passes the parameter to the view() method of the Pages class.
Now visit index.php/about.
Did it get routed correctly to the view() method in the pages controller? Awesome!

[마이크]를 누르고 영어문장을 말해보세요

 

 

 

Static pages 정적 페이지

Note: This tutorial assumes you’ve downloaded CodeIgniter and installed the framework in your development environment. 이 튜토리얼은 당신이 코드이그나이터를 다운로드 했고 프레임워크를 당신의 개발환경에 설치했다고 가정(추정)합니다. (assume:추정하다)

 

The first thing you’re going to do is set up a controller to handle static pages. 당신이 첫번째로 해야할 것은 정적페이지를 처리하는 컨트롤러를 설정하는 것입니다.(handle:처리하다)

A controller is simply a class that helps delegate work. 컨트롤러는 단순히 위임작업을 돕는 클래스입니다.(delegate:위임하다,대표)

It is the glue of your web application. 그것은 당신의 웹프로그램의 접착제입니다.

 

For example, when a call is made to: 예를 들어 ,다음 사항을 요청했을 때 ( to: 다음사항 ) 

http://example.com/news/latest/10

We might imagine that there is a controller named 'news'. 우리는 news 라는 이름의 컨트롤러가 있음을 상상할 수 있습니다.

The method being called on news would be 'latest'. news 에서 호출되어지는 메소드는 latest 일것입니다. ( being called on : ing가 형용사처럼 쓰이는 경우로서 앞에단어 수식)

The news method’s job could be to grab 10 news items, and render them on the page. 뉴스함수의 작업은 10개의 뉴스 아이템을 가져와서 페이지에 출력하는 것일 수 있다, ( could be : ~일 수 있다)

Very often in MVC, you’ll see URL patterns that match: mvc에서는 매우자주, URL패턴이 다음과 매치됨을 볼 것이다. ( [기호:와함께 match:] :  다음과매치되다 )

 

http://example.com/[controller-class]/[controller-method]/[arguments]

As URL schemes become more complex, this may change. URL 구조가 더 복잡해짐에 따라 (as : ~함에따라) 이것은 변경될 수 있습니다.

But for now, this is all we will need to know. 그러나 지금은, 이것이 우리가 알아야할 전부입니다. 

 

Create a file at application/controllers/Pages.php with the following code. application/controllers/Pages.php 파일을 다음의 코드와 함께 생성하세요.

 

You have created a class named Pages 당신은 Pages 라는 이름의 클래스를 생성했습니다.

, with a view method that accepts one argument named $page. $page 라는 하나의 인자를 받는 뷰함수와 함께

The Pages class is extending the CI_Controller class. Pages 클래스는 CI_Controller 클래스를 확장하고있습니다.

This means that the new pages class can access the methods and variables defined in the CI_Controller class. 이것이 의미하는 것은 새로운 pages 클래스는 CI_Controller 클래스에 정의된 함수들과 변수들을 접근할 수 있다는 것입니다.

 

The controller is what will become the center of every request to your web application. 컨트롤러는 당신의 웹어플리케이션에대한 모든 요청의 중심이 될 것이다.

In very technical CodeIgniter discussions, 매우 기술적인 코드이그나이터 토론에서, 

it may be referred to as the super object. 그것은 슈퍼객체로서 참조될 것입니다.

Like any php class,you refer to it within your controllers as $this. 어느 php 클래스처럼 , 당신의 컨트롤러 클래스에서 $this 로서 그것(컨트롤러클래스)을 참조할 것입니다. 

Referring to $this is how you will load libraries, views, and generally command the framework. $this를 참조하는 것이 라이브러리,뷰를 로드하거나 일반적으로 프레임워크에 명령을 내리는 방법입니다.

 

Now you’ve created your first method 이제 당신은 당신의 첫 함수를 생성했습니다.

, it’s time to make some basic page templates. 이제 어떤 기본 페이지 템플릿을 만들어볼 시간입니다.

We will be creating two 'views' (page templates) that act as our page footer and header. 페이지풋터와 헤더로 작동할 두개의 뷰(페이지 템플릿)를 생성할 겁니다.

 

Create the header at application/views/templates/header.php and add the following code: application/views/templates/header.php 에 헤더를 만드세요 그리고 다음의 코드를 추가하세요

 

 

The header contains the basic HTML code that you’ll want to display before loading the main view, together with a heading. 헤더 는 표제와 함께 당신이 메인 페이지 이전에 출력하기 원하는 기본 HTML 코드를 포함합니다.

It will also output the $title variable, which we’ll define later in the controller. 그것은 또한 우리가 나중에 컨트롤러에 정의할 $title 변수를 출력합니다. 

Now, create a footer at application/views/templates/footer.php that includes the following code: 지금, application/views/templates/footer.php에 다음의 코드를 포함하는 푸터를 추가합니다.

 

Adding logic to the controller 컨트롤러에 로직 추가하기.

Earlier you set up a controller with a view() method. 이전의 당신은 view() 함수와 함께 컨트롤러를 설정했다. 

The method accepts one parameter, which is the name of the page to be loaded. 그 함수는 로드될 페이지의 이름인 하나의 파라메터를 인자로 받는다.

The static page templates will be located in the application/views/pages/ directory. 정적페이지 템플릿은 application/views/pages/ 경로에 위치해 있습니다.

 

In that directory, create two files named home.php and about.php. 그 디렉터리에서, home.php와 about.php 두개의 파일을 생성하세요.

Within those files, type some text 그 파일들 안에 약간의 글을 써보세요

, anything you’d like , and save them. 아무거나 당신이 원한느 것으로요, 그리고 저장하세요.

If you like to be particularly un-original, try "Hello World!". 특별히 독창적이지 않은 것을 좋아한다면, 그냥 Hello World!를 저장해보세요. ( particularly:특별히, un-original:독창적이지 않은 )

 

In order to load those pages 그 페이지들을 로드하기 위해서는 

, you’ll have to check whether the requested page actually exists: 당신은 요청된 페이지가 실제 존재하는지 확인해봐야합니다.(whether:~인지 아닌지)

 

Now, when the page does exist 이제, 페이지가 존재한다면

, it is loaded, including the header and footer 그것은 헤더와 푸터를 포함하여 로드됩니다.

, and displayed to the user. 그리고 사용자에게 보여집니다.

If the page doesn’t exist, a “404 Page not found” error is shown. 페이지가 존재하지 않는다면 404 Page not found 가 보여집니다.

 

The first line in this method checks whether the page actually exists. 이 함수의 첫째 라인은 그 페이지가 실제 존재하는지 확인합니다.

PHP’s native file_exists() function is used to check whether the file is where it’s expected to be. php의 네이티브 함수 file_exists()는 파일이 존재하기로 예상되는 곳에 있는지 체크합니다. (is expected to be: 있기로 예상되다.be:~에 있다)

show_404() is a built-in CodeIgniter function that renders the default error page. show_404() 는 기본에러페이지를 출력하는 코드이그나이터에 내장된 함수이다.

 

In the header template, 헤더 템플릿에서

the $title variable was used to customize the page title. $title 변수는 페이지의 제목을 변경하는데 사용됩니다.

The value of title is defined in this method 제목의 값은 이 함수에 정의됩니다.

, but instead of assigning the value to a variable 하지만 변수에 값을 할당하는것 대신에 (instead of:~대신에, assign:할당하다)

, it is assigned to the title element in the $data array. 그것은 $data 배열에 제목요소로 할당되었다.

 

The last thing that has to be done is loading the views in the order they should be displayed. 마지막으로 되어야 하는 것은 뷰들이 출력되어야하는 순서대로 로딩하는 것이다.(in the order :순서대로)

The second parameter in the view() method is used to pass values to the view. view()함수의 두번째 인자는 그 view 변수들을 전달하는데 사용된다.( is used to:~하는데 사용되다.)

Each value in the $data array is assigned to a variable with the name of its key. $data배열의 각 값은 그것의 키의 이름으로 변수에 할당됩니다.

So the value of $data['title'] in the controller is equivalent to $title in the view. 그러므로 컨트롤러의 $data['title'] 의 값은 view의 $title 변수와 같습니다.

 

Routing 라우팅

The controller is now functioning! 컨트롤러가 이제 작동하고있습니다.! 

Point your browser to [your-site-url]index.php/pages/view to see your page. 당신의 페이지를 보기위해 브라우져에 [your-site-url]index.php/pages/view 를 지정하세요

When you visit index.php/pages/view/about you’ll see the about page, again including the header and footer. index.php/pages/view/about에 방문하면 다시 헤더와 풋터를 포함한 about페이지를 보게된다.

 

Using custom routing rules 커스텀 라우팅 법칙을 사용함으로써

, you have the power to map any URI to any controller and method 당신은 어떤 uri 이던 어느 컨트롤러나 함수에 매핑시킬 수 있는 힘을 가졌다.

, and break free from the normal convention: 그리고 평범한 관습에서 벗어나게된다. (break free:벗어나다, convention:관습)

http://example.com/[controller-class]/[controller-method]/[arguments]

 

Let’s do that. 그걸 해보죠.

Open the routing file located at application/config/routes.php and add the following two lines. application/config/routes.php파일을 열고 다음의 두라인을 추가하세요.

Remove all other code that sets any element in the $route array. $route 배열에 어느 요소 를 설정하는 모든 다른 코드를 삭제하세요.

 

$route['default_controller'] = 'pages/view';

$route['(:any)'] = 'pages/view/$1';

CodeIgniter reads its routing rules from top to bottom 코드이그나이터는 위에서 아래로 라우팅 룰들을 읽습니다.

and routes the request to the first matching rule. 그리고 처음매칭되는 룰에게 요청을 보냅니다. (route:[특정경로로]보내다)

 

Each rule is a regular expression mapped to a controller and method name separated by slashes. 각 룰은 슬래쉬로 구분된 컨트롤러와 함수로 매핑된 정규표현식입니다. (regular expression:정규표현식)

When a request comes in, CodeIgniter looks for the first match 요청이 들어올때, 코드이그나이터는 처음 매치되는걸 찾는다. 

, and calls the appropriate controller and method, possibly with arguments. 그리고 , 인자들과 함께하는게 가능할 수 있는 적절한 컨트롤러와 메소드를 호출합니다 ( possibly:~가 가능할수도있는, appropriate:적적한)

 

More information about routing can be found in the URI Routing documentation. 라우팅에 대한 추가 정보는 URI 라우팅 문서에서 찾을 수 있다.

 

Here, the second rule in the $routes array matches any request using the wildcard string (:any). 여기에, $routes배열에 두번째 룰이 와일드카드 문자열 (:any) 을 사용하는 어떤 요청과도 매치되고 

and passes the parameter to the view() method of the Pages class. 그리고 파라메터를 Pages 클래스의 view() 함수에 전달한다.

 

Now visit index.php/about. 이제 index.php/about 을 방문하세요.

Did it get routed correctly to the view() method in the pages controller? Awesome! pages 컨트롤러의  view() 함수로 올바르게 라우팅되었나요? 대단하다!


0 0
Uploader's Ad
이 게시글 추천자

사이트 소개

전세계인의 일상에 대한 번역글을 공유하는 스터디 사이트이며
외국어 문장을 반복해서 말하고 들으며 익힐 수 있는 사이트입니다.

QUICK MENU

  • 글 등록 방법

모 바 일 어 플

  • Google Play
  • App Store
lang:ko lang_post:KR