♣ Tech & Biz Salon/Tech

PHP 입문을 위한 정보 정리 - Php 학습방법, 환경세팅, 프레임웍

TasteGod 2018. 1. 7. 02:32

글 주요 내용은 PHP 관련 책, 학습에 도움이 되는 사이트, 프레임웍, 환경구성, Tech Stack 등입니다.  

Php 입문자분들에게 길잡이 정도의 도움은 될 수 있을것 같습니다.


* 구체적인 정보를 정리한 글이 아니고

큰 그림 및 구체적인 정보를 참고할수 있는 채널을 소개한 글입니다.


* 이 글을 작성하는 저 역시 Php 초보자입니다 ^^;;

대신 저는 Php 가 아닌 다른 개발경험이 있는 상황이고

Php 도 약간의 경험은 있습니다. ( 지인분들의 도움 요청으로 소소한 수정작업 )

올해 Php를 처음부터 제대로 입문해볼까하여 폭풍 리서치를 했구요. 내용을 정리해둡니다.


* MOOC 류 ( Udemy 등 ) 의  온라인 강좌는 언급하지 않았습니다.

관심이 있는 분들은 각종 MOOC 사이트들을 방문하여 선택해보셔도 좋을것입니다.


[ 목 차 ]


■ PHP Learning Path (입문부터)

■ PHP Learning Path (입문부터) - 상세

1. 주요 학습 자료

2. PHP Tech Stack 결정

3. 환경 구성 - DB, Php, 웹서버   

4. 환경 구성 - 개발툴 (IDE, 에디터)

■ PHP > 주요 학습 참고 정보

Books

Online

■ PHP > 부가 정보

■ PHP F/W 검토

■ 코드이그나이터 > 주요 학습 참고 정보

■ 코드이그나이터 > 부가 정보




먼저 결론부터... 적습니다. 


■ PHP Learning Path (입문부터)


A. APM 환경 구축후 PHP 에 익숙해지기

* 책 (Learning PHP) 및 온라인 자료 이용


B. CI (CodeIgniter) 학습 + 웹사이트 개발

학습과 더불어 사이트를 개발 스타트

( 구상하고 있는 아이디어중 간단한 것을 선택해 추후 호스팅할 웹사이트 개발 개발 )

 

C. PHP 내공 업그레이드 + 웹사이트 개발

* PHP RIGHT WAY 사이트 이용


** 웹사이트 개발시 Bootstrap 4 (추후 배포될 정식버젼으로) 를 이용해보자 


■ PHP Learning Path (입문부터) - 상세


1. 주요 학습 자료

Book - Learning PHP

Online - PHP Manual


2. PHP Tech Stack 결정

* PHP Version --- php7.x vs lower version

* DB --- mysql vs mariaDB

* Web Server --- apache vs ngnix

* PHP Framework --- Laravel vs Codeigniter


** 가능하면 최신 버젼으로, 그리고 무난한 선택으로

현재 PHP 최종 안정버젼은 7.2.1 이군요.


3. 환경 구성 - DB, Php, 웹서버   

Apache, Mysql, Php 와 그 외 유용한 Php 모듈 등을 한방에 세팅이 가능합니다.


1) XAMPP - 여러 플랫폼에서 (MAC도 지원) 가능하며 완전 무료인거 같습니다.

2) MAMP - MAC 에서 가능. 유료 Pro 버젼도 있으나 기본 Free 도 좋다고 합니다.


급하게 진도를 뽑아야 하거나

개발툴 설치에 익숙치 않은 분들은 XAMPP, MAMP 를 유용하게 쓰실수 있을거 같습니다.

그 외에도 간편하게 세팅할 수 있는 방법들이 있는거 같은데 Skip 하겠습니다.


어쨌든 저는 그냥 MAC 환경에서 각 Tool에 대해 수동으로 진행할 예정입니다.

Php 입문하시려 한다면 프로그래밍 경험은 없더라도 컴퓨터는 어느 정도 쓰시는 분일것으로 추측됩니다.

매뉴얼을 보면 각 Tool 설치하는것이 어렵지 않으니 익숙치 않더라도 수동으로 진행하시는게 좋을거 같습니다.


이후 호스팅 서비스를 이용하게 될때는 어차피 XAMPP 나 MAMP 에서 지원되던 모듈을 못 이용하게 될수도 있을거 같습니다.

( 제가 Php 환경을 잘 몰라서 정확히는 얘기 못합니다 ) 

그런 경우를 고려하면 직접 매뉴얼로 기본만 진행하는것이 나을거 같단 생각도 듭니다.


4. 환경 구성 - 개발툴 (IDE, 에디터)


Aptana

예전에 Nodejs 할때 Aptana 를 잠시 써본일이 있는데 속도 / 기능 모두 별로였습니다.

요샌 더 좋아졌을수 있겠지만 과거의 기억때문에 저는 안쓰게 될 거 같습니다.

당시 Node.js 나 Sails.js 관련 유투브를 참고해보아도 다들 WebStorm 을 쓰더군요. 

Node.js 에는 WebStorm 이 정말 좋았습니다.


PHPStorm

Jetbrains 의 PhpStorm 을 쓰는거도 유쾌한 경험이 될 거 같네요. 이왕이면 유료 버젼을 써야 파워풀하게 느낄수 있을거 같구요.


Sublime Text 3 

Sublime Text 3 무료버젼을 쓴다면 무난한 선택이겠죠?


■ PHP > 주요 학습 참고 정보


기술을 학습하거나 모르는 부분에 대해 찾아볼때 여러 채널이 다 도움이 되고 각각의 장단점이 있습니다.

* 관련하여 이 글을 참고하셔도 좋을것 같습니다 : "프로그래밍 학습 채널별 장단점 비교"


◆ Books

PHP 학습에 도움이 될 책들을 정리하였습니다. 입문용 책이 아닌것도 있습니다.


버젼을 고려하지 않는다면 좋은 책들이 더 많이 있을거 같습니다.

10 Best Books To Help You Learn PHP 

https://www.cloudways.com/blog/best-books-to-help-you-learn-php/


하지만 저는 7.x 환경으로 선택했으므로 폭이 넓지 않네요.


Learning PHP

Amazon 

영어원서 Amazon

국내번역 알라딘 


* kindle 버젼이 약 20달러

* O'reilly 출판사 책입니다. 

O'reilly Safari 도 욕심이 나지만... 아마도 책 볼시간이 없을거 같네요. 한달 39 달러, 1년 399달러입니다.


Modern PHP

php 익숙해진후 꼭 보면 좋을듯 (책 대신 php right way 에서 정보 다 얻을수 있을듯함)

영어원서 Amazon

국내번역 알라딘 


php + mysql 웹 개발 마스터북

일본 느낌이 나는... 센스있고 깔끔하게 잘 정리된 책.

그런데... 소스 예제 박스의 세로가 너무 좁아서 보기 좀 불편한 느낌 


php7 예비학교

유치원 느낌의 책


만들면서 배우는 codeigniter 프레임워크 

평이 좋음

책 편집상태는 따분한 느낌

이 책의 PHP 버젼은 5.x

알라딘


◆ Online


PHP 공식 매뉴얼

http://php.net/manual/en/

* PHP 매뉴얼 다운로드 페이지 : http://php.net/download-docs.php

html 이나 chm 으로 배포 되고 있음. Single Html File 을 받아서 Kindle 로 올려서 보면 좋을듯함

* 한국어 번역판도... 한국쪽 사이트에 있는것으로 알고 있음...


PHP RIGHT WAY

입문용 자료는 아닙니다. PHP 입문단계를 마친 이후에 보면 좋을것 같습니다.

http://www.phptherightway.com/

Modern PHP 책의 저자이기도 함.


* 파일 무료 다운로드도 제공함 (format : pdf, epub, mobi)


* 한국어 버젼이 필요한 분은 (온라인) => http://modernpug.github.io/php-the-right-way/


■ PHP > 부가 정보

PHP School https://www.phpschool.com/

국내 커뮤니티입니다.

아마도 유용한 정보가 많이 있겠죠? 



■ PHP F/W 검토

주로 언급되는 것은 CodeIgniter (코드이그나이터) 와 Laravel (라라벨).


Laravel 

Rails 분위기라고 들은거 같음. 즉... 커맨드로 간단히 기본 구조의 소스와 코드를 생성할수 있을듯함

기능도 많고, 보안 관련 기능도 기본적으로 갖추어져 있지만 틀이 좀 꽉 잡힌 느낌인듯하고

코어성 기능을 커스터마이징하기는 까다로운 분위기인듯


CodeIgniter 

현재 버젼 v3.1.6 이고 PHP7 호환이 된다고 함. ( 최소 Php 5.6 을 권장 )

Laravel 에 비해 커스터마이징하기가 용이하다고 본거 같음

특히 국내에 인기가 많다고 함


결론 

일단은 Php 에 좀 익숙해진 뒤, CodeIgniter 를 사용하면 좋을듯함.

XE 에서 라라밸을 선택해서 참고자료도 풍부하다고 함.

코드이그나이터 역시 오래되었고 국내 사용자도 많고, 외국에서도 아직 많이 쓰이고는 있으니 참고자료는 충분할듯함.

어찌되었건... 세계적 대세는 Laravel 인 상황인듯하지만... 추후 Laravel 쓰는 곳에 입사하거나 하면 그때나 고려하면 될듯함.


여담으로... CI 로고가 이글거리는 불꽃입니다. 

Igniter 이그을거리다

고대에 같은 어원에서 출발한 단어로 추측해볼수 있죠 :) 

그런 인연땜에 Igniter 를 선택한건 아닙니다만ㅎ



■ 코드이그나이터 > 주요 학습 참고 정보


CodeIgniter 공식 사이트 : https://codeigniter.com/


CodeIgniter 공식 사용자 가이드 : https://www.codeigniter.com/user_guide/

* 다운로드 배포 파일은 없음


CodeIgniter 공식 사용자 가이드 (한글판) : http://www.ciboard.co.kr/user_guide/kr/


■ 코드이그나이터 > 부가 정보

CI 한국 사용자 포럼   http://www.cikorea.net/


만들면서 배우는 코드이그나이터 책을 보다. 

CI + Php7 환경 Tip 이 있음


[CodeIgniter 3.0] 코드이그나이터 시작하기(설치, 기초사항 정리)

http://koreaparks.tistory.com/140 [Park's Korea]


[CI] CodeIgniter (코드이그나이터)의 정의와 동작원리

http://www.dontorz.com/bbs/?mode=view&bbsid=study&ctg_cd=php&page_nm=page&page=1&bltn_seq=562

이 글 외에도 좋은 글이 있음. (사이트내 다른 글에 코드이그나이터 관련... 기본 설명들이 잘 요약)