문제

기사 / 인터뷰 (< EM> 언어 전쟁 : PHP 대 Ruby (Jeffrey Way; 2011 년 3 월별)) 루비를 사용하는 Envato의 개발자가 ruby. 그는 "PHP는 언어로 위장 된 웹 프레임 워크입니다."

그는 그 진술에 대해 설명하지 않았으므로 그것이 사실인지 궁금해하고 그렇게하는지 궁금해하게되었습니다. 나는 약간의 연구를했지만이 주제에 대한 정보를 변경할 수 없었습니다. 나는이 진술이 어떻게 사실인지 궁금해하고 PHP가 프로그래밍 언어가 아닌 이유를 궁금합니다. 파이썬이나 루비와 같은 다른 언어가 해당 범주에 맞지 않는 이유는 무엇입니까?

도움이 되었습니까?

해결책

공식적으로 :

PHP는 웹 개발에 특히 적합한 널리 사용되는 범용 스크립팅 언어로 HTML에 포함될 수 있습니다.

http://us.php.net/

그러나 반드시 매우 적절한 설명은 아닙니다.

PHP는 완벽한 컴퓨터 언어입니다. 그러나 PHP의 배포는 표준 PHP 라이브러리가 프레임 워크로 분류 될 수 있도록 표준 PHP 라이브러리가 표준 라이브러리 수를 갖게 될 것입니다.

이 방법으로 보았을 때 PHP는 다음 중 하나입니다 :

자체 독특한 튜링 완전한 스크립팅 언어가있는 프레임 워크.

또는

제거 할 수없는 대규모 웹 프레임 워크에 싸여있는 언어.

그러나 "PHP : Hypertext Preprocessor"(PHP)라는 이름을 보면 PHP가 "전처리를 전처리하는"프레임 워크도 아니지만 언어가 아니라 소프트웨어가 아닙니다.

그런 식으로 볼 때 PHP는 독점적 인 언어로 스크립트를 실행하는 응용 프로그램이며 하이퍼 텍스트를 처리하도록 설계된 대형 내부 프레임 워크에 액세스합니다.

따라서

: PHP는 프레임 워크 또는 언어로 제대로 분류 할 수 없습니다. 진실은 언어, 프레임 워크 및 응용 프로그램이 있으며 모두 동일한 이름을 갖고 있습니다 (모두가 모두 하나로 굴러 가기 때문에)입니다! 따라서 "PHP"는 시스템의 일부를 참조 할 수 있습니다.

다른 팁

나는 출처가 없지만 논쟁을 저지르게하려는 시도가 될지라도 진술은 어떤 의미가 있습니다.

PHP 프레임 워크가 아닙니다. 그러나 PHP 수동 대 C 또는 C ++ 사양을 살펴보면 PHP가 제공하는 기능의 본문이는 프레임 워크의 도메인에서 고려 될 것입니다 : PDO, XML 처리 등 -이 물건은 일반적으로 Qt와 같은 프레임 워크에 포함될 것입니다.

PHP가있는 것은 프로그래밍 언어 만 아니라 전체 생태계가있는 것입니다.

  • PHP 프로그래밍 언어 자체
  • generacodicicetagcode 또는 cgi / fastcgi를 통해 웹 서버에 연결할 수있는 런타임은
  • 와 상호 작용하는 많은 방법을 제공합니다.
  • 내장 된 기능 및 클래스의 큰 라이브러리, 많은 웹 관련 웹 관련

PHP는 슈퍼 글로스 (mod_php, $_SERVER, $_GET, $_POST, $_COOKIE 등)와 같은 웹 프로그래밍에 매우 적합한 특징을 제공하여 PHP 모드와 HTML 모드간에 PHP 모드와 HTML 모드 사이에서 점프 등을 제공합니다. 그 의미는 서버 측 웹 프로그래밍 초기 초에 표준이었던 일정한 프로세스 별 실행 모델 주위에 구축됩니다. PHP는 웹 스크립팅 도구로 시작했으며 나중에 (다소) 범용 프로그래밍 언어로 만 진화했습니다. CLI 버전 및 기타 비 웹 기능은 종종 효과적으로 사용될 수 있지만, 사후류이며, 언어와 해당 생태계에 충분한 노출로, 이것은 때때로 고통스럽게 분명해질 수 있습니다.

대조적으로, 대부분의 다른 프로그래밍 언어는 처음부터 범용, 시스템 또는 응용 프로그램 프로그래밍 언어로 설계되었으며 웹 프로그래밍과 관련된 모든 것이 라이브러리에 제공됩니다. 웹 프로그래밍을 원한다면, 파이썬, 웹 프레임 워크, 또는 요청 구문 분석, HTML 템플리팅 및 세션 관리와 같은 웹 서버 바인딩 및 요청과 같은 것과 같은 것과 같은 것과 같은 것과 같은 웹 프레임 워크 또는 적어도 라이브러리가 필요합니다. 'Re 정말 하드 코어 및 처음부터 그 모든 것을 씁니다).

PHP는 기본적으로 이러한 모든 것들이 모두 내장되어 있으며, 그래서 사람들은 PHP가 웹 프레임 워크가 웹 프레임 워크임을 말하고 싶습니다.

"Hello, World!" Python의 웹 응용 프로그램은 일반적으로 VirtualEnv를 설정하고, 일부 라이브러리를 설치하고, 웹 프레임 워크에 대한 보일러 플레이트를 설정하고, 경로를 정의하고, "Hello, World!"로 응답을 생성하는 핸들러를 작성합니다. 몸에; PHP에서는 index.php에서 <?php ?>를 작성하여 Apache의 docroot에 복사하고 mod_php를 활성화하는 문제입니다. 나머지 (서버에 연결, 요청 구문 분석, 응답 생성 등) 여전히 일어나지 만 PHP는 당신을 위해 그것을 돌보아줍니다.

PHP는 웹 언어가 아닙니다.웹 응용 프로그램에서 프로그래밍 할 수있는 기능을 작성했습니다.PHP에서 웹 응용 프로그램을 개발하면 Java, ASP, C #.

와 같은 다른 언어에 비해 매우 쉽습니다.

그렇게 거대하지 않고 크기가 적어지지 않는 웹 응용 프로그램을 개발하려면 PHP 웹 응용 프로그램을 개발할 수 있습니다.PHP 기반 웹 호스팅을 제공하는 PHP 기반 웹 호스팅을 제공하는 많은 웹 호스트 회사가 있습니다 .Maintaning PHP 사이트는 Java / ASP에 비해 덜 비교됩니다.PHP는 가벼운 무게 웹 응용 프로그램입니다.

라이언은 역사적인 관점에 따라 그의 의견을 형성 할 것입니다. 역사적으로 PHP는 웹 언어가되었습니다. 역사적으로 언어로 된 많은 기능 이이 사용 사례를 위해 설계되었으며 실제로 PHP는 "개인 홈페이지"에 대해 서서 사용했습니다. http://www.nuspere.com/php/php_history.htm

그러나 지금은 PHP가 많이 개발되었고 개인적으로 이것은 이것이 더 이상 정말로 사실이 아닙니다.

단 2 개의 예 :

스레드는 최근에 언어에만 추가되었습니다. 오랫동안 그것은 불가능하지 않았습니다. 스레드는 웹 환경에서 이해가되지 않는 무언가입니다 (대신 완전히 새로운 배경 프로세스로 걷어차 기는 경향이 있거나 다른 곳에서 작업자에게 Que를 통해 메시지를 전달하는 경향이 있습니다.) http:///uk3.php.net/manual/en/book.pthreads.php.

메모리 및 자원 관리. PHP는 개체에 __destruct () 메소드를 제공하므로 자원을 삭제할 수 있습니다. 그러나 시작하려면 스크립트 종료에서만 호출되었습니다. 이제 웹 환경에서는 스크립트가 MAX에서 0.5 초를 실행하기 만하면 스크립트 종료가 멀리 떨어져 있지 않기 때문에 의미가 있습니다. 그러나 오래 달리기 백그라운드 나 쉘 스크립트의 경우 이것은 끔찍합니다. PHP의 이후 버전은 이것을 수정했습니다. http:///php.net/manual/en/language.oop5.decon.php.

그러나 일반적으로 웹 및 서버 컨텍스트에서 데스크톱 앱 컨텍스트가 아닌 PHP를 찾는 경향이 있습니다. 그래서 이것은 많은 초점이있는 곳입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 softwareengineering.stackexchange
scroll top