ASP.NET 배경에서 PHP에 익숙해지는 좋은 방법은 무엇입니까? [닫은]


10

현재 ASP.NET 환경에서 도구 / 웹 응용 프로그램을 작성하는 데 매우 익숙합니다. 나는 C #, ASP.NET, MVC 3, Visual Studio 등을 정말로 좋아하기 때문에 실제로 tbh를 떠나기를 원하지 않습니다.

그러나 지금은 PHP에 대해 거의 알지 못하며 수정하려는 결함처럼 보입니다.

PHP를 배우기에 좋은 자료가 될 책이나 다른 학습 방법이 있습니까? 분명히 많은 시작 PHP 책이 있지만, 나는 이미 웹 페이지를 만드는 것과 관련된 많은 것들에 익숙하고 일부 PHP 책의 범위와 호환되지 않을 수도있는 PHP 자체에 집중하고 싶습니다.

나는 PHP 매뉴얼을 꽤 많이 봤는데 이상적으로 부드럽게 흐르지 않는 것 같습니다. 적절한 PHP 책이 있습니까? 나는 그 샘플들을 살펴볼 때 대부분의 책들이 가지고있는 응집력을 그리워한다. 더 많은 정보가 있지만 기본 학습 수단보다 코딩하는 동안 참조처럼 느껴집니다.


5
왜 PHP를 모르는 것이 바로 잡아야하는 결함이라고 생각 하는가? Rails, Django, J2EE, node.js 등을 알고 있어야 수정해야 할 결함이 있습니까? 현재 고용 라인에서 PHP를 알고 사용해야하는 실제 수요가 있습니까?
Raynos

1
@Raynos 글쎄 PHP의 인기는 레일, django, node.js 결합보다 크다.
yannis

PHP로 왜 더 화를 내고 싶습니까? 좀 더 역동적이고 해석적인 환경에서 개발하는 법을 배우는 데 필요한가?
sbrenton

1
@Raynos-시장 점유율. php에 대한 약간의 지식은 솔루션을 비교하고, 문제를 평가하고, 친구를 돕는 등 유용한 정보가 나열된 예제보다 높습니다. 나는 asp.net에서 멀어지고 싶지 않기 때문에 "최상의"대체 환경을 아는 것이 가장 인기있는 것을 아는 것보다 덜 유용합니다.
Eric

1
좋은 첫 걸음이 될 수있는 MVC3에 들어가기
Daniel Little

답변:


7

PHP를 배우기위한 가장 좋은 자료는 PHP 매뉴얼 입니다. 매우 잘 작성되고 체계적으로 구성되어 있으며 PHP 커뮤니티의 가장 큰 자산 중 하나입니다. ASP.net에 확신이 있다면 매뉴얼을 시작하기에 충분합니다.

읽기를 시작하기 전에 PHP 스택을 설정해야합니다. 아파치, PHP 및 선호하는 데이터베이스 (SQLServer는 괜찮음)를 직접 설치하거나 (매우 쉽습니다) XAMPP 와 같이 기성품 스택을 설정할 수 있습니다. XAMPP는 다음을 설치합니다 :

한 번에 (그리고 다른 것들도 포함). 누락 된 중요한 라이브러리 중 하나는 phpUnit 이며 단위 테스트에 도움이됩니다.

그런 다음 IDE를 설치해야합니다. 분명한 선택은 PHP Development Tools (PDT) 또는 Netbeans for PHP 와 함께 Eclipse Classic 입니다 . 다른 많은 것들이 있지만이 두 가지를 권장합니다. 둘 중 하나를 선택할 수 없다면 Netbeans를 사용하는 것이 조금 더 쉽지만 둘 다 실제로 평가하고 어느 것이 더 나은지 결정해야합니다 .Visual Studio에서 작업하지 않았습니다. 오랜 시간 동안 나는 어느 IDE가 당신에게 더 친숙하다고 느낄지 모르겠습니다.

매뉴얼에서 기본 사항을 극복하면 MVC 프레임 워크를 생각해야합니다. 다시, 나는 두 가지를 추천 할 것이다 :

젠드 프레임 워크는 짐승이고 CodeIgniter는 미묘한 은유를 허용한다면 아름다움입니다. Zend Framework는 가파른 학습 곡선을 가지고 있으며 Zend ( PHP회사 )의 지원을받으며 거의 모든 작업을 수행 할 수 있습니다. CodeIgniter는 쉽게 익히고 초보자를위한 훌륭한 문서를 제공하며 상당히 인기가 있습니다. 그러나 코드베이스의 대부분은 오래 전에 PHP4를 지원하는 데 사용되는 오래된 쓰레기입니다.

초보자에게는 명백한 선택이 CodeIgniter이지만 그에 얽매이지 마십시오. 학습 도구로 사용하고 가능한 빨리 Zend Framework로 이동하십시오. PHP 세계에는 훨씬 더 많은 MVC 프레임 워크가 있지만이 두 가지가 제가 추천하는 것입니다.

책의 경우 초보자가 아닌 훌륭한 책은 PHP Objects, Patterns and Practice 입니다. SitepointPHP 책 은 항상 기뻐합니다. PHP를 좋아한다면 PHP Architect에 가입해야합니다 .

마지막으로 PHP의 순수한 기술적 이유에 대한 이 훌륭한 토론을 첫 번째 선택으로 확인하십시오 .


업데이트 : 초보자가 아닌 사람들을 대상으로하는 온라인 리소스가 몇 가지 더 있습니다.

그리고 이상한 이유로 아파치 대신 IIS에서 PHP로 놀아보고 싶다면 좋은 출발점은 Windows 의 Microsoft PHP입니다 . IIS의 PHP는 작동하며 특히 .Net 개발자에게 적합한 선택이지만, PHP를 완전히 사용하고 다른 기술에 대한 이식성을 확보 하려면 Apache (SQLServer 대신 MySQL 또는 PostgreSQL)를 사용해야합니다. OS. mod_rewrite 라는 기쁨을 놓치고 싶지 않습니다 .


개인 참고 사항 : PHP에 대한 많은 증오가 떠 다니고 있으며, 그중 일부 는 정당화 됩니다. 당신이 그것을 결정하기로 결정했다면, 당신은 길을 따라 만날 다양한 PHP 리소스, 스크립트, 라이브러리에 대해 매우 비판적이어야합니다. PHP의 큰 인기는 매우 크고 유용한 커뮤니티, 기술의 큰 시장성, 수백만 개의 블로그에 번역 될 수 있지만 수천 테라 바이트의 크 래피 코드로 번역 될 수도 있습니다.


2

야 니스는 많이 가지고 좋은 물건 이 말을하지만 난 읽고, 자신의 데이터베이스는 웹 사이트, 4 판을 기반 구축 , 그리고 그것은 내가 전문 PHP 웹 응용 프로그램을 개발하는 데 옳은 길을 시작하는 알 필요가 모든 것을 채워졌다.

PHP 작업을 시작하기 전에 .NET에서만 독점적으로 작업했습니다. PHP는 다루기가 훨씬 쉽지만 대규모 응용 프로그램을 개발할 때 몇 가지 특이한 문제가 있으며이 책을 통해이를 시작할 수 있습니다.

나에게 한 가지 문제는 PHP가 엄격하게 객체 지향 언어가 아니라는 것입니다. 그것은 절차 적 형태와 객체 지향 형태의 모든 종류의 함수를 가지고 있으며 모든 것이 클래스와 네임 스페이스로 구성된 언어에서 온 데 익숙해지기까지 다소 시간이 걸립니다.

또 다른 하나는 PHP에서 모든 것을 쉽게 혼합하여 훨씬 더 어렵게 만드는 것입니다. .NET에서 Visual Studio와 같은 사용하는 도구는 일부 작업을 수행하여 실제로 우수한 코딩 표준을 연습하도록 안내합니다. 일반적으로 .aspx 페이지에는 HTML 마크 업과 C # 코드가 두 파일로 분리되어 있습니다.

.NET 도구를 많이 사용하고 ASP.NET 컨트롤을 사용하는 것을 선호한다면 PHP의 컨트롤 (GridView 등)이 부족할 수도 있습니다. 비슷한 것을주는 라이브러리 / 프레임 워크가 많이 있지만 기본 PHP 패키지의 일부는 아닙니다.

나에게 또 다른 문제는 PHP에서 어떻게 배열과 해시를 많이 사용하여 .NET에서 더 많은 컬렉션을 제공한다는 것입니다. 그것들은 어디에나 있으며 배열은 동일한 유형의 객체 / 스칼라 단위의 순서있는 목록이 아니라는 사실에 익숙해지는 것이 좋습니다. 그들은 모든 종류의 물건을 수용하기 위해 컬렉션 객체로 서버 할 수 있습니다.

나는 계속해서 갈 수는 있지만 PHP에 매우 특이한 주요한 것들 중 하나를 언급 할 수있다. 너무 일반적으로. Sitepoint의 책을 통해이 모든 것을 빠르게 배울 수 있습니다.


내 대답에 Sitepoint의 PHP 책에 대한 링크가 있습니다. 모두 훌륭합니다. peculiar issues when developing large scale applications귀하가 식별 한 정보 를 알려주기 위해 답변을 약간 확장 할 수 있습니까? 당신은 op로 .net 배경을 가지고 있기 때문에, .net 사람들이 PHP에 대해 어떤 느낌을 갖는지 아는 것이 도움이 될 것입니다.
yannis

OK Yannis, 나에게 한 가지 문제는 PHP가 엄격하게 객체 지향적이지 않은 방법이었습니다. 절차 적 형태와 객체 지향 형태의 모든 기능을 가지고 있으며 언어뿐만 아니라 조직 된 언어에서 오는 데 익숙해지기까지 다소 시간이 걸립니다 클래스 만 있지만 모든 네임 스페이스와 모든 것.
tsega

흠, 그것은 일반적인 문제 일뿐 아니라 when developing large scale applications. 어쨌든 PHP와 같은 개념 및 접근 문제에 대해 더 많이 생각하고있었습니다 .PHP는 .Net과는 완전히 다른 접근 방식을 사용하여 확장 문제에 대해 생각합니다. 나는 .Net에 대한 경험이 거의 없으므로 PHP에 올 때 .Net 사람들이 개념적으로 어떤 것을 발견하는지 관심이 있습니다. 그러나 PHP가 다중 패러다임이라는 사실도 물론 예상됩니다.
yannis

1
접근 방식 측면에서 대부분의 ASP.NET 개발자는 "대규모"(데이터 집약적) 응용 프로그램을 개발하기 위해 사용자 지정 컨트롤 (Javascript 및 서버 측 코드와 HTML 컨트롤을 결합한 구성 요소)을 사용하는 경향이 있습니다. 대부분의 ASP.NET 개발자가 실제로 거의 동일한 도구를 사용하여 데스크톱 응용 프로그램 개발에서 웹 개발로 이동했기 때문입니다. 따라서 대부분은 이미 개발 한 사용자 정의 컨트롤을 사용하여 웹 개발에 맞게 기술을 번역하는 방법을 모색합니다.
tsega

이 책에서 얻을 수있는 매우 좋은 IDE는 Netbeans 입니다. PHP 디버깅은 얻는 것만 큼 좋습니다.
tsega
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.