Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2023-08-15 기준 최신 적용 #138

Open
wants to merge 1 commit into
base: gh-pages
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2.7.8
18 changes: 9 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
이 문서는 프로젝트의 중심이라고 할 수 있는 영어판 PHP The Right Way 프로젝트에
포함되어 있는 문서를 번역한 것이라서 영어판 프로젝트에 기여하는 방법을 설명하고 있습니다.

[PHP The Right Way](http://phptherightway.com) 를 즐기고 있습니까?
[PHP The Right Way](https://phptherightway.com) 를 즐기고 있습니까?
참여하고 싶습니까? 좋습니다! 도움을 줄 수 있는 많은 방법이 있습니다.

관련된 모두에게 쉽고 효과적인 프로젝트 기여 프로세스를 만들기 위해서 이 문서를 리뷰하는데에
Expand All @@ -21,7 +21,7 @@
교환하는데에 좋은 채널입니다. 하지만 아래의 규칙을 유념해 주십시오.

* 개인적인 질문이나 지원을 요청하는데에 이슈 트래커를 **사용하지 마십시오**. (그럴 때는
[Stack Overflow](http://stackoverflow.com/questions/tagged/php) 나
[Stack Overflow](https://stackoverflow.com/questions/tagged/php) 나
IRC를 사용해 주십시오)

* 이슈의 논점을 흐리거나 논란을 일으키기 위한 도발은 **하지 마십시오**. 논의 주제에 맞게,
Expand All @@ -37,7 +37,7 @@

여러분의 작업 결과물을 반영하려면 아래와 같은 과정을 거치면 됩니다.

1. 이 프로젝트를 [Fork](http://help.github.com/fork-a-repo/)하여 생성된 여러분의
1. 이 프로젝트를 [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo)하여 생성된 여러분의
저장소를 clone 한 후에 리모트 저장소를 설정합니다.

```bash
Expand Down Expand Up @@ -73,8 +73,8 @@
```

5. 논리적인 단위로 여러분의 수정 내용을 commit 합니다. [git commit
message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)에 따라 메시지를 적절히 작성합니다. 여러분의 커밋을 공개하기 전에,
git의 [interactive rebase](https://help.github.com/articles/about-git-rebase) 기능을 사용해서 커밋을 깔끔하게 정리합니다.
message guidelines](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)에 따라 메시지를 적절히 작성합니다. 여러분의 커밋을 공개하기 전에,
git의 [interactive rebase](https://docs.github.com/en/get-started/using-git/about-git-rebase) 기능을 사용해서 커밋을 깔끔하게 정리합니다.

6. 로컬 저장소에서 upstream 개발 브랜치를 여러분의 토픽 브랜치로 merge(혹은 rebase)합니다.

Expand All @@ -88,19 +88,19 @@
git push origin <topic-branch-name>
```

8. 알아보기 쉬운 제목과 설명을 붙여서 [풀 리퀘스트를 보냅니다.](https://help.github.com/articles/using-pull-requests/)
8. 알아보기 쉬운 제목과 설명을 붙여서 [풀 리퀘스트를 보냅니다.](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)


## 프로젝트에 기여함으로써 동의하게 되는 내용

이 프로젝트의 저장소로 풀 리퀘스트를 보낸다는 것은, 이 프로젝트 관리자가 여러분의 저작 내용을
[크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 3.0 Unported 라이선스](http://creativecommons.org/licenses/by-nc-sa/3.0/deed.ko)에 따라
[크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 3.0 Unported 라이선스](https://creativecommons.org/licenses/by-nc-sa/3.0/deed.ko)에 따라
공개하고 사용허가를 한다는 것에 동의한다는 의미가 됩니다.

모든 PHP The Right Way 출판물은 아래에 나열된 출판 방식/위치와 미래에 추가될 수 있는
다른 방식/위치를 포함하여 동일한 내용과 동일한 라이선스에 따라 사용 허가됩니다.

* [phptherightway.com](http://phptherightway.com)
* [phptherightway.com](https://phptherightway.com)
* phptherightway.com 을 다른 언어로 번역한 출판물
* [LeanPub: PHP The Right Way](https://leanpub.com/phptherightway/)
* "LeanPub: PHP The Right Way"을 다른 언어로 번역한 출판물
Expand All @@ -114,7 +114,7 @@
3. 한 줄 너비는 120글자로 합니다. (역주 : 한국어판의 경우 한 줄 너비를 60자로 쓰려고 합니다.)
4. 예제 코드는 PSR-1 이나 그 이상 버전을 준수해야 합니다.
5. 내용은 [GitHub Flavored Markdown](https://github.github.com/gfm/) 문서 형식으로 작성합니다.
6. [php.net](http://php.net/urlhowto.php) 매뉴얼 같은 외부 사이트 링크를 걸 때에는 가급적 언어 중립적인 주소를 사용합니다.
6. [php.net](https://php.net/urlhowto.php) 매뉴얼 같은 외부 사이트 링크를 걸 때에는 가급적 언어 중립적인 주소를 사용합니다.

## 외부 링크 컨텐트 번역 규칙

Expand Down
32 changes: 16 additions & 16 deletions _includes/welcome.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,25 @@ PHP를 사용하는 사람들이 그동안 생각해보지 않았을지도 모

_PHP: The Right Way_ 는 다양한 언어로 변역되어 있습니다.

* [English](http://www.phptherightway.com)
* [Español](http://phpdevenezuela.github.io/php-the-right-way)
* [Français](http://eilgin.github.io/php-the-right-way/)
* [Indonesia](http://id.phptherightway.com)
* [Italiano](http://it.phptherightway.com)
* [Polski](http://pl.phptherightway.com)
* [Português do Brasil](http://br.phptherightway.com)
* [English](https://www.phptherightway.com)
* [Español](https://phpdevenezuela.github.io/php-the-right-way)
* [Français](https://eilgin.github.io/php-the-right-way/)
* [Indonesia](https://id.phptherightway.com)
* [Italiano](https://it.phptherightway.com)
* [Polski](https://pl.phptherightway.com)
* [Português do Brasil](https://br.phptherightway.com)
* [Română](https://bgui.github.io/php-the-right-way/)
* [Slovenščina](http://sl.phptherightway.com)
* [Srpski](http://phpsrbija.github.io/php-the-right-way/)
* [Türkçe](http://hkulekci.github.io/php-the-right-way/)
* [български](http://bg.phptherightway.com)
* [Русский язык](http://getjump.github.io/ru-php-the-right-way)
* [Українська](http://iflista.github.io/php-the-right-way/)
* [Slovenščina](https://sl.phptherightway.com)
* [Srpski](https://phpsrbija.github.io/php-the-right-way/)
* [Türkçe](https://hkulekci.github.io/php-the-right-way/)
* [български](https://bg.phptherightway.com)
* [Русский язык](https://getjump.github.io/ru-php-the-right-way)
* [Українська](https://iflista.github.io/php-the-right-way/)
* [العربية](https://adaroobi.github.io/php-the-right-way/)
* [فارسى](http://novid.github.io/php-the-right-way/)
* [فارسى](https://novid.github.io/php-the-right-way/)
* [ภาษาไทย](https://apzentral.github.io/php-the-right-way/)
* [한국어판](http://modernpug.github.io/php-the-right-way)
* [日本語](http://ja.phptherightway.com)
* [한국어판](https://modernpug.github.io/php-the-right-way)
* [日本語](https://ja.phptherightway.com)
* [简体中文](https://laravel-china.github.io/php-the-right-way/)
* [繁體中文](https://laravel-taiwan.github.io/php-the-right-way)

Expand Down
17 changes: 10 additions & 7 deletions _posts/01-02-01-Use-the-Current-Stable-Version.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
---
title: 안정된 최신버전(8.1)을 사용하세요
title: 안정된 최신버전(8.2)을 사용하세요
isChild: true
anchor: use_the_current_stable_version
---

## 안정된 최신버전(8.1)을 사용하세요 {#use_the_current_stable_version_title}
## 안정된 최신버전(8.2)을 사용하세요 {#use_the_current_stable_version_title}

지금 PHP를 새로 시작하려는 경우, 현재 안정된 버전인 [PHP 8.1][php-release]를 사용하는 것이 좋습니다. PHP 8.x 에는
지금 PHP를 새로 시작하려는 경우, 현재 안정된 버전인 [PHP 8.2][php-release]를 사용하는 것이 좋습니다. PHP 8.x 에는
[새로운 기능](#language_highlights)이 많이 추가되었습니다. 엔진이 대부분 재작성되어 이전 버전들보다 훨씬 빠릅니다. PHP 8 은
많은 새 기능과 성능 향상이 포함되어 있는 메이저 업데이트입니다.

최신 안정 버전으로 빠르게 업그레이드 하는게 좋습니다. - PHP 7.4 는 [이미 수명을 다했습니다](http://php.net/supported-versions.php). [하위 호환성 문제][php-bc]가 많지는 않기때문에 업그레이드는 간단합니다. 어떤 버전에 함수나 기능이 추가되었는지 잘 모르겠다면
최신 안정 버전으로 빠르게 업그레이드 하는게 좋습니다. - PHP 7.4 는 [이미 수명을 다했습니다][php-supported]. 하위 호환성 문제[php-bc]가 많이 발생하지 않기 때문에 업그레이드는 쉽습니다 [PHP 8.0][php-bc-80], [PHP 8.1][php-bc-81], [PHP 8.2][php-bc-82]. 어떤 버전에 함수나 기능이 추가되었는지 잘 모르겠다면
[php.net][php-docs] 웹사이트에서 PHP 문서를 확인할 수 있습니다.

[php-release]: http://php.net/downloads.php
[php-docs]: http://php.net/manual/
[php-bc]: http://php.net/manual/migration81.incompatible.php
[php-release]: https://www.php.net/downloads.php
[php-supported]: https://www.php.net/supported-versions.php
[php-docs]: https://www.php.net/manual/
[php-bc-80]: https://www.php.net/manual/migration80.incompatible.php
[php-bc-81]: https://www.php.net/manual/migration81.incompatible.php
[php-bc-82]: https://www.php.net/manual/migration82.incompatible.php
2 changes: 1 addition & 1 deletion _posts/01-03-01-Built-in-Web-Server.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ PHP 5.4 이상의 버전은 다른 웹서버의 설치와 설정 없이 PHP를
* [내장 웹 서버에 대해서 배우기][cli-server]


[cli-server]: http://php.net/features.commandline.webserver
[cli-server]: https://www.php.net/features.commandline.webserver
25 changes: 12 additions & 13 deletions _posts/01-04-01-Mac-Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ isChild: true
anchor: mac_setup
---

## 맥(Mac)에서 사용하기 {#mac_setup_title}
## 맥(macOS)에서 사용하기 {#mac_setup_title}

macOS에는 기본적으로 PHP 가 포함되어 있지만, 최신의 안정된 버전이 포함되어 있지는 않습니다. OS X에 PHP를 설치하기 위해선 여러가지 방법이 있습니다.

### Homebrew를 사용하여 설치하기

[Homebrew]는 macOS에서 PHP와 다양한 익스텐션을 쉽게 설치할 수 있도록 도와주는 패키지 관리자 도구입니다.
Homebrew core 저장소는 PHP 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1을 위한 "formulae"를 포함하고 있습니다. 아래 커맨드로 최신 버전을 설치하세요.
Homebrew core 저장소는 PHP 7.4, 8.0, 8.1 and PHP 8.2을 위한 "formulae"를 포함하고 있습니다. 아래 커맨드로 최신 버전을 설치하세요.

```
brew install php@8.1
brew install php@8.2
```

`PATH`
Expand All @@ -25,30 +25,30 @@ PHP 버전을 전환할 수 있는 또 다른 방법은 `unlink`, `link`로 원

```
brew unlink php
brew link --overwrite php@8.0
brew link --overwrite php@8.1
```

```
brew unlink php
brew link --overwrite php@8.1
brew link --overwrite php@8.2
```

### Macports를 사용하여 설치하기

[MacPorts]는 OS X에서 커맨드라인이나 X11, Aqua기반의 오픈소스 소프트웨어를 컴파일하고, 설치하고, 업그레이드하는
[MacPorts]는 macOS에서 커맨드라인이나 X11, Aqua기반의 오픈소스 소프트웨어를 컴파일하고, 설치하고, 업그레이드하는
작업을 간편하게 할 수 있는 시스템을 설계하는 오픈소스 커뮤니티 프로젝트입니다.

MacPorts는 미리 컴파일된 바이너리를 지원하여 의존성 패키지들을 설치할 때마다 매번 재컴파일하지 않아도 됩니다. 그래서
시스템에 어떠한 패키지도 갖고 있지 않다면 굉장한 시간을 절약할 수 있습니다.

`port install`이라는 커맨드를 이용하여 `php54`, `php55`, `php56`, `php70`, `php71`, `php72`, `php73`, `php74`, `php80`, `php81` 설치할 수 있습니다. 아래처럼 말이죠.
`port install`이라는 커맨드를 이용하여 `php54`, `php55`, `php56`, `php70`, `php71`, `php72`, `php73`, `php74`, `php80`, `php81`, `php82` 를 설치할 수 있습니다. 아래처럼 말이죠.

sudo port install php74
sudo port install php81
sudo port install php82

그리고 `select` 커맨드를 이용하여 활성화된 PHP 버전을 변경할 수 있습니다.

sudo port select --set php php81
sudo port select --set php php82

### phpbrew를 사용하여 설치하기

Expand All @@ -62,7 +62,7 @@ PHP를 요구하지만, 가상 머신은 사용하고 있지 않을때 매우

### 소스 컴파일하기

설치한 PHP 버전을 조작할 수 있는 또 다른 옵션으로는 [직접 설치][mac-compile]가 있습니다. 이때 애플 개발자 센터에서
설치한 PHP 버전을 조작할 수 있는 또 다른 옵션으로는 [직접 설치][mac-compile]가 있습니다. 이때 애플 개발자 센터에서
내려받기 가능한 [Xcode][xcode-gcc-substitution] 또는 [XCode를 위한 커맨드라인 도구]["Command Line Tools for XCode"]를
설치하셔야 합니다.

Expand All @@ -73,11 +73,10 @@ PHP를 요구하지만, 가상 머신은 사용하고 있지 않을때 매우
설치됩니다. 그러나 쉽게 설치할 수 있는 만큼 유연하지 못한 단점이 존재합니다.

[Homebrew]: https://brew.sh/
[Homebrew PHP]: https://github.com/Homebrew/homebrew-php#installation
[MacPorts]: https://www.macports.org/install.php
[phpbrew]: https://github.com/phpbrew/phpbrew
[php-osx.liip.ch]: https://php-osx.liip.ch/
[mac-compile]: https://secure.php.net/install.macosx.compile
[php-osx.liip.ch]: https://web.archive.org/web/20220505163210/https://php-osx.liip.ch/
[mac-compile]: https://www.php.net/install.macosx.compile
[xcode-gcc-substitution]: https://github.com/kennethreitz/osx-gcc-installer
["Command Line Tools for XCode"]: https://developer.apple.com/downloads
[apache]: https://httpd.apache.org/
Expand Down
69 changes: 69 additions & 0 deletions _posts/01-06-01-linux-Setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: 리눅스(Linux)에서 사용하기
isChild: true
anchor: windows_setup
---

## 리눅스(Linux)에서 사용하기 {#linux_setup_title}

대부분의 GNU/Linux 배포판에는 공식 리포지토리에서 사용할 수 있는 PHP가 함께 제공되지만, 이러한 패키지는 일반적으로 현재 안정 버전보다 약간 뒤쳐져 있습니다. 이러한 배포판에서 최신 PHP 버전을 얻는 방법에는 여러 가지가 있습니다. 예를 들어 우분투와 데비안 기반 GNU/Linux 배포판의 경우, 기본 패키지를 대체할 수 있는 가장 좋은 방법은 [Ondřej Surý][Ondrej Sury Blog]가 우분투의 개인 패키지 아카이브(PPA)와 데비안의 DPA/bikeshed를 통해 제공하고 유지 관리하는 것입니다. 아래에서 각각에 대한 지침을 확인하십시오. 즉, 언제든지 컨테이너를 사용하고 PHP 소스 코드를 컴파일하는 등의 작업을 할 수 있습니다.

### 우분투 기반 배포판

우분투 배포판의 경우, [PPA by Ondřej Surý][Ondrej Sury PPA]는 지원되는 PHP 버전들과 많은 PECL 확장들을 제공합니다. 이 PPA를 당신의 시스템에 추가하려면 터미널에서 다음 단계를 수행하십시오:

1. 먼저 다음 명령을 사용하여 당신의 시스템 소프트웨어 소스에 PPA를 추가합니다:

```bash
sudo add-apt-repository ppa:ondrej/php
```

2. PPA를 추가한 후 시스템의 패키지 목록을 업데이트합니다:

```bash
sudo apt update
```

이렇게 하면 시스템이 PPA에서 사용 가능한 최신 PHP 패키지에 액세스하고 설치할 수 있습니다.

#### 데비안 기반 배포판

데비안 기반 배포판의 경우, Ondřej Surý는 [bikeshed][bikeshed] (데비안에서 PPA에 해당하는 것)도 제공합니다. 시스템에 bikeshed를 추가하고 업데이트하려면 다음 단계를 따르세요:

1. 루트 액세스 권한이 있는지 확인합니다. 그렇지 않은 경우 다음 명령에 `sudo`를 사용해야 할 수 있습니다.

2. 시스템의 패키지 목록을 업데이트합니다:

```bash
sudo apt-get update
```

3. `lsb-release`, `ca-certificates`, `curl`을 설치합니다:

```bash
sudo apt-get -y install lsb-release ca-certificates curl
```

4. 리포지토리에 대한 서명 키를 다운로드합니다:

```bash
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
```

5. 시스템의 소프트웨어 소스에 리포지토리를 추가합니다:

```bash
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
```

6. 마지막으로 시스템의 패키지 목록을 다시 업데이트합니다:

```bash
sudo apt-get update
```

이 단계를 수행하면 시스템이 bikeshed에서 최신 PHP 패키지를 설치할 수 있습니다.

[Ondrej Sury Blog]: https://deb.sury.org/
[Ondrej Sury PPA]: https://launchpad.net/~ondrej/+archive/ubuntu/php
[bikeshed]: https://packages.sury.org/php/
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ anchor: common_directory_structure

[Paul M. Jones]는 PHP 영역에서 수만 가지 github 프로젝트의 일반적인 관행에 대한 환상적인 연구를 수행했습니다. 그는 이 연구를 기반으로 표준 파일 및 디렉토리 구조 인 [Standard PHP Package Skeleton]을 컴파일했습니다. 이 디렉토리 구조에서 `DocumentRoot`는 `public/`을 가리키고, 단위 테스트는 `tests/` 디렉토리에 있어야하고, [composer]가 설치 한 타사 라이브러리는 `vendor/` 디렉토리에 있어야합니다. 다른 파일과 디렉토리의 경우 [표준 PHP 패키지 스켈레톤]을 준수하는 것이 프로젝트의 기여자들에게도 도움 될 것입니다.

[Paul M. Jones]: http://paul-m-jones.com/
[Paul M. Jones]: https://paul-m-jones.com/
[Standard PHP Package Skeleton]: https://github.com/php-pds/skeleton
[Composer]: /#composer_and_packagist
6 changes: 4 additions & 2 deletions _posts/02-01-01-Code-Style-Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ PHP 커뮤니티는 매우 거대하고, 수많은 라이브러리와 프레임
수월하게 하려면, 가능한한 공통적인 코드 스타일을 적용하는 일은 매우 중요합니다.

[프레임워크 운용 그룹(Framework Interoperability Group)][fig]에서는 [PSR-1][psr1], [PSR-12][psr12],
[PSR-4][psr4]라는 권장 스타일 가이드를 발표했습니다. 이들 가이드는 Drupal, Zend, Symfony, Laravel, CakePHP, phpBB, AWS SDK,
[PSR-4][psr4], [PER Coding Style][per-cs]라는 권장 스타일 가이드를 발표했습니다. 이들 가이드는 Drupal, Zend, Symfony, Laravel, CakePHP, phpBB, AWS SDK,
FuelPHP, Lithium 등의 프로젝트에서 적용하기 시작한 스타일 규칙입니다. 여러분의 프로젝트에서 이러한 스타일 가이드를
사용할 수도있고, 혹은 여러분 자신만의 스타일을 그대로 사용할 수도 있습니다.

Expand All @@ -21,6 +21,7 @@ FuelPHP, Lithium 등의 프로젝트에서 적용하기 시작한 스타일 규
* [읽을거리: PSR-1][psr1]
* [읽을거리: PSR-12][psr12]
* [읽을거리: PSR-4][psr4]
* [읽을거리: PER Coding Style][per-cs]
* [읽을거리: PEAR 코딩 표준][pear-cs]
* [읽을거리: Symfony 코딩 표준][symfony-cs]

Expand Down Expand Up @@ -58,9 +59,10 @@ PHP_CodeSniffer 가 있다면, 확인된 코드 레이아웃 문제를 [PHP Code
[psr1]: https://www.php-fig.org/psr/psr-1/
[psr12]: https://www.php-fig.org/psr/psr-12/
[psr4]: https://www.php-fig.org/psr/psr-4/
[per-cs]: https://www.php-fig.org/per/coding-style/
[pear-cs]: https://pear.php.net/manual/en/standards.php
[symfony-cs]: https://symfony.com/doc/current/contributing/code/standards.html
[phpcs]: https://pear.php.net/package/PHP_CodeSniffer/
[phpcs]: https://github.com/squizlabs/PHP_CodeSniffer
[phpcbf]: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automatically
[st-cs]: https://github.com/benmatselby/sublime-phpcs
[phpcsfixer]: https://cs.symfony.com/
Expand Down
Loading