PHP의 장점은 무엇입니까? [닫은]


14

모든 사람들은 특정 프로그래밍 언어에 대한 편견이있는 사람들을 알고 있습니다. 특히 PHP는 과거와 다른 문제 (느슨한 유형과 같은)로 인해 어려움을 겪고 있으며 전문 응용 프로그램에 사용해서는 안되는 심각하지 않은 프로그래밍 언어라고도합니다.

특별한 경우에 PHP : PHP를 웹 응용 프로그램에 대해 선택한 프로그래밍 언어로 사용한다고 어떻게 주장합니까? ColdFusion, Java 등보다 PHP가 더 나은 이점은 무엇입니까?


5
PHP는 현재 임상 2 상 및 3 상 임상 시험을 받고있는 암 치료에 대한 지역화 된 최소 침습적 접근법입니다. PHP는 해시 충돌을 더 잘 이해하는 데 도움이 될 수 있습니다. PHP 프로젝트 주최자는 또한 다양한 법 집행 기관이 인터넷에서주고받는 스팸의 양을 줄이는 데 도움이되는 개인 및 상업 원치 않는 대량 우편 위반 및 전반적인 작업에 대항 할 수 있도록 도와줍니다. PHP는 매사추세츠 전역의 수십 곳의 지원 그룹을 제공합니다. PHP는 정신 질환 및 약물 남용을 치료하는 데 사용되는 일종의 프로그램입니다. PHP는 레이어 3 MPLS VPN (RFC2547)에 있습니다.
직업

모든 언어에는 싫어하는 사람들이 있습니다. 나는 PHP가 다른 언어에 비해 특히 싫어한다고 말하고 싶지 않습니다. Infct 나는 언어에 감탄할수록 더 많은 증오를 가지고 있다고 말할 것입니다. 나는 우리가 다음과 같이 성문화 할 수 있다고 확신한다 (admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age). AcmeContant가 모든 언어에서 변하지 않는 곳 <(;-)
Martin York

1
나는 사람들에게 언어를 디자인하지 않는 방법을 보여주기 위해 PHP를 사용합니다.
dan_waterworth

답변:


13

Josh K는 꽤 좋은 점을 지적 했으므로 반복하지는 않겠습니다. 대신 몇 가지를 더 추가하겠습니다.

해석됩니다.

FTP / SSH 만 계정에 입력하고 변경해야 할 사항을 변경하십시오. 서버를 다시 시작하기 위해 컴파일하거나 배포 할 필요가 없습니다.

물론 이것은 버전 관리, 자동화 된 테스트, 자동화 된 빌드 등이없는 비정형 개발 환경에서 일하는 사람들에게 매력적인 것입니다.

실제로 쉽습니다

진심으로. 최소한 진짜 초보자에게는 정말 쉽습니다. 내 사촌이 프로그래밍 방법을 배우는 데 관심을 보였을 때 파이썬 책을 대신 구입했습니다. PHP의 규칙은 나쁜 습관을 가르쳐 줄 수 있습니다.

가능하다

나는 C / C ++ 언어와 긴 인생의 상호 불화가있다. 어떻게 든 우리는 서로를 좋아하지 않습니다. 대학에서 계산과 관련된 프로젝트를 수행해야 할 때 C ++ 대신 PHP를 선택하고 각각의 경우 내가 의도 한 것을 달성 할 수있었습니다. 아마도 프로그램 실행이 실제로 C ++로 작성된 것보다 느 렸을 수도 있지만,이 경우에는 고려되지 않았습니다.

어쨌든 신경망, 유전자 알고리즘, 퍼지 로직 ... PHP에서이 모든 작업을 수행했습니다. 예. 사람들은 내가 이상하다고 말하고있었습니다.


통역 및 통역에 +1. Java로 웹 작업을 할 때 항상 나를 괴롭힌 한 가지는 재 컴파일 및 배포가 끊임없이 필요하다는 것입니다. Grails와 같은 것을 사용하면이 중 일부가 완화되지만 PHP만큼 좋은 곳은 없습니다.
Josh K

해석되고 능력은 실제로 좋은 주장입니다. +1 모든 대답은 좋았으며 좋은 논증을 쳤지 만, 당신의 대답은 아주 잘 요약됩니다.
acme

64 비트 정수를 처리하기 위해이 코드를 살펴보십시오. mysqlperformanceblog.com/2007/03/27/… 이것을 심각하게 부르십니까?
ThomasX

아뇨. 나는 '적어도 초보자에게는 정말 쉽습니다.'라고 썼습니다. 실제 초보자는 일반적으로 플랫폼간에 이식성을 귀찮게 할 필요가 없습니다 (좋은 경우-그것은 또 다른 질문입니다). 일반적인 조언 : PHP에서 BCMath 확장을 사용하는 큰 정수를 다룰 것으로 예상되는 경우 (그렇습니다. 이것이 최선의 해결책은 아니라는 것을 알고 있습니다. 그러나 이것이 PHP의 방식입니다.)
Mchl

17

이것은 모두가 동의하지는 않지만 PHP가 인기있는 또 다른 이유는 무료 호스팅 계정을 쉽게 얻을 수 있기 때문이라고 생각합니다.

웹 개발에 참여하려는 많은 어린 학생들은 PHP를 선택합니다. 온라인으로 서버를 설정하면 비용이 들지 않으며 무료로 게임을 배우거나 배울 수 있기 때문입니다.

다른 언어 (java, ruby, .net)에 대한 무료 호스팅 옵션이 있지만 훨씬 더 어렵습니다.


비용은 분명히 널리 사용되는 주요 요인입니다.
Orbling

14

템플릿

PHP에는 이상한 태그, 파싱 또는 오버 헤드없이 템플릿이 내장되어 있습니다. 이 같은 일부는 그렇지 않습니다.

가지고 다닐 수 있는

거의 모든 서버와 대부분의 플랫폼에서 PHP를 실행할 수 있습니다. 사실 그것은 되어 모든 서버에서 대부분의 실행합니다. IIS, Apache, Nginx 등에서 실행할 수 있습니다. 즉, 한 번만 쓸 수 있습니다. 어디에서나 이식성이 뛰어납니다. 이 이식성은 지원해야하는 환경 설정에 따라 몇 가지 제한 사항이 있습니다. 이것은 상용 응용 프로그램과 공개 소스 / 광범위한 응용 프로그램간에 차이가 있습니다.

인기 있는

PHP는 거대한 커뮤니티를 가지고 있으며 여전히 성장하고 있습니다. 이 커뮤니티는 PHP가 널리 보급 된 결과입니다. 매우 활발한 메일 링리스트, 토론 포럼 및 개발시 질문에 대답 할 수있는 많은 사람들이 있습니다.

비용

PHP 자체는 무료이며 기본적으로 작동하는 대부분의 항목 (Apache, PostgreSQL, MySQL)은 무료입니다. 이를 통해 프로젝트의 초기 비용 임계 값이 매우 낮아집니다.


이식성이 PHP의 장점이라고는 말할 수 없습니다. 실제로 이식 가능한 PHP를 작성하려면 언어를 여러 가지 방법으로 구성 할 수 있다는 사실을 해결 stripslashes()해야합니다. '티.
Jim

2
@Jim-대부분의 것보다 훨씬 이식성이 뛰어납니다.
Orbling

@Orbling-정말요? 다른 언어의 유사한 기능을 생각하십니까?
Jim

1
@Jim : "모범 사례"환경을 기대하는 코드를 작성합니다. 내가 OS 프로젝트를 수행 한 경우 I 옵션 / 설정의 수를 의무화 것 (예를 들어, magic_quotes_gpc설정 해제 ). 이것을 처리하는 가장 좋은 방법은 if ​​/ else 처리 블록을 도우미 함수로 캡슐화하여 응용 프로그램 코드로 따옴표 검사를 인라인 할 필요가 없도록하는 것입니다.
Josh K

1
@Josh-요즘에도 여전히 많은 양의 PHP를 작성했다면 당신과 똑같이 할 것이지만, 코드가 "모범 사례"환경에 의존한다면 이식성이 없습니다. 특히, 모든 사용자 제공 데이터에 스퓨리어스 백 슬래시가 추가되므로 많은 크 래피 호스트에서 데이터 손상 버그가 발생합니다. PHP 호스팅의 유비쿼터스가 PHP를 사용하는 주요 이점 중 하나라는 점을 감안할 때, 모든 크 래피 호스트를 고려하는 것이 공정하다고 생각합니다. 설명하는 도우미 함수는이를 처리하는 일반적인 방법이지만 이식성 문제에 대한 해결 방법입니다.
Jim

5

PHP는 어디에나 있습니다. 어떤 이상한 웹 호스트를 가지고 있더라도 PHP가 설치되어 있지 않을 가능성이 높습니다. 즉, 다른 사람의 서버에서 실행해야하는 웹 앱을 작성하는 경우 항상 일부 PHP 기능 (PHP 4/5 클래스 및 기본 확장명)에 의존하고 지원을 줄이면서 사용자 기반을 늘릴 수 있습니다.


5

가용성 거의 모든 웹 호스트가이를 지원합니다

개발 속도 텍스트 편집기 만 있으면 컴파일이 필요하지 않습니다.

손쉬운 설치 LAMP / WAMP 서버와 함께 사전 설치되어 있어도 설치하지 않아도 쉽게 설치할 수 있습니다.

문서 많은 예제, 지원 그룹, 서적 등이 있습니다.


1

PHP의 장점 :

  • 내장 파일 입력 업로드 처리
  • GET, POST 및 COOKIES의 내장 데이터 처리
  • 내장 세션 관리
  • 빠른 쓰기
  • 코드와 HTML을 쉽게 혼합 할 수 있습니다 (참고 : 단점이라고도 함)

이제 몇 가지 눈부신 단점이 있습니다.

  • 로컬 변수 개념이 없습니다 ... 변수는 전역 또는 함수 범위입니다. 이 당신이 루프를 사용하는 경우 특히, 어떤 시점에서 당신을 구울 수 있습니다.
  • global키워드로 특별히 요청하지 않으면 전역 변수를 함수 범위에서 사용할 수 없습니다 .
  • 프로그래밍 환경은 php.ini를 기반으로 변경됩니다. 이것은 특정 기능의 행동 변화 및 내장 배열 (예를 포함 $_GET하고 $_POST값이에 따라 바뀌는 magic_quotes_gpc설정)

1
올바른 마음을 가진 사람은 계속 magic_quotes_gpc켜져 있지 않을 것 입니다. 나는 그 가치없는 팽창을 엔진에 처음 추가 한 사람의 정신에 의문을 제기했다.
Josh K

1
"글로벌 변수는 특별히 요청하지 않는 한 함수 범위에서 사용할 수 없습니다"-이것이 실제로 어떻게 불리한 지 알지 마십시오. 이런 식으로하는 언어가 있고 그렇지 않은 언어가 있습니다.
Mchl

1
@Mchl : 대부분의 언어는이 작업을 수행하지 않으며, 모르는 경우 확실한 문제입니다. 내 머리 꼭대기에서 TCL은 내가 사용한 유일한 다른 언어입니다.
Powerlord

1
@ Josh K : 이전 회사의 주 서버는 여전히 이전의 수석 프로그래머로서, 여전히 이전의 PHP 코드에 의존하여 계속 켜져 있습니다. 수백 개의 웹 사이트를 코딩 할 시간이 없습니다. :-/
Orbling

1
@Mchl : Ada는 실패로 인해 사망, 많은 사망을 초래할 수있는 곳에 익숙해지는 경향이 있습니다. adaic.org/advantages/projects
Orbling

1

나는 어떤 사람들은 PHP를 당신이 좋아하는 것처럼 볼 수 있기 때문에 PHP를 싫어한다고 생각합니다. 누구나 쉽게 사용할 수 있기 때문에 세상에서 많은 엉터리 코드를 얻을 수 있습니다. 실제 PHP를 전혀 사용하지 않은 일부 프로그래머는 자신이 PHP를 사용하는 방식으로 생각할 수 있습니다. 그리고 어떤 사람들은 다른 것을 좋아하고 새로운 것을 두려워하기 때문에 PHP를 싫어합니다.

거의 모든 곳에서 실행할 수 있기 때문에 개인적으로 PHP를 좋아합니다. 웹을 통해 많은 도움을받을 수 있으며 무료입니다. 또한 젠드 프레임 워크와 같은 좋은 프레임 워크가 있습니다. 그러나 대부분의 사람들은 주위에 머리를 댈 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.