[Powered by Google Translate] [PHP 구문] [토미 MacWilliam] [하버드 대학] [이 CS50입니다.] [CS50.TV] 이 비디오에서는, 우리는 PHP를 소개합니다 - 언어 중 하나는 우리가 CS50에 사용할 것 웹 개발에 우리가 전환으로. PHP는 PHP 하이퍼 텍스트 프로세서를 의미 또는 PHP 하이퍼 텍스트 프로세서 하이퍼 텍스트 프로세서, 나는 거기 중단됩니다. PHP는 정말 최고라고 생각 재귀 적 약어입니다. 자, 작성하자 '안녕하세요 세계'PHP에서, 우리가 알고 사랑하게했던 C에서 '안녕하세요 세계'보다 조금 다를 수있는. 대신 hello.c의라는 파일을 작성, 우리는 hello.php를 만들 것이다. 우리의 PHP 코드의 모든 사이에 포함됩니다. 우리는 있으며 모든 PHP 코드가있는 경우 이러한 구분의 외부, 그것은 실행되지 않습니다. 우리는이 PHP 블록의 많은이 있습니다 우리는 하나의 PHP 파일 내에서 원하는대로. PHP의 주요 기능에 대한 필요가 없습니다. 대신, 우리의 PHP 코드는 그것이 우리의 PHP 파일에 나타나는 순서대로 실행됩니다. C와 PHP 모두 데이터를 출력하기위한 'printf의'기능이있다. 그러나 PHP, 우리는 # standardIO.h 같은 모든 헤더 파일을 포함 할 필요가 없습니다. PHP에서 우리는 우리의 코드를 컴파일 할 수 없습니다 때문입니다. 우리가 C 코드를 작성 할 때 우리의 워크 플로 개방되는 경향 하나 이상을 사용하십시오. c 또는. H 파일을 변경, 그들을 컴파일, 그 결과 바이너리를 실행할 수 있습니다. 이 프로세스에 대한 자세한 내용은 컴파일러 비디오를 확인하십시오. 보다는 컴파일 - - C 언어와는 달리, PHP는 해석이다. 즉, PHP 코드는 우리가 쓰는 것을 의미합니다 , 통역사라는 특별한 프로그램을 통해 실행됩니다 이것은 우리의 코드를 실행 켜집니다. 우리의 PHP 코드를 실행하려면, 우리는 실행을 처리 할 PHP 인터프리터 함께 보낼 것이다 오히려 기계 코드로 컴파일보다. 의 행동에서 인터프리터를 보자. 우리는 터미널을 열고 PHP 명령을 실행합니다 우리가 실행하고자하는 PHP 파일의 경로를 따랐다. 우리는 'PHP hello.php'라고합니다. 그리고 거기 우리는 간다. 우리의 PHP 프로그램의 출력이있다. 우리는 우리의 PHP 파일을 컴파일 할 필요가 없습니다. PHP 인터프리터 - 대신, 우리는 다른 프로그램을했습니다 - 우리가 쓴 소스 코드를 실행합니다. PHP는 단순히 printf를보다 훨씬 더 많은 일을 할 수 있습니다. 의 좀 더 복잡한 PHP 프로그램을 작성 할 수 있습니다. 구조의 구문 -에 대한, 동안, 다른, 경우 좋아하고, 스위치 - PHP와 C에서 동일합니다 그냥 C처럼, 이러한 구조는 각각 자신의 몸을 끼친다 중괄호를 사용하여 그냥 C처럼, 모든 라인 우리는 쓸 세미콜론으로 끝나야합니다; 그러나 변수는 PHP에서 약간 다르게 처리됩니다. 첫째, PHP에 모든 변수는 달러 기호로 시작해야합니다. 그것은 처음에 조금 이상한 것 같다,하지만 당신은 그것에 익숙해 질거야. 둘째, PHP는 느슨하게 타입 언어 이것은 당신이 명시 적으로 나열 할 필요가 없습니다 의미 당신이 그것을 만들 변수의 유형입니다. C에서 당신이 말할 필요 할 위치 INT X = 5; 또는 문자 Y = ''; PHP에서 우리는 단순히 $ X = 5라고 할 수있다; 그리고 $ Y = '';. 같은 기능에 적용됩니다. 오히려 INT F () {우리 함수의 본문을} 말하는 것보다, PHP에서 우리는 함수 f를 () {우리 함수의 몸체} 말하는거야. 우리는 명시 적으로 우리의 함수 f의 반환 형식을 지정할 필요가 없습니다. PHP의 함수는 동일한 형식을 반환 할 필요가 없습니다 모든 시간은 그들이 실행됩니다. 예를 들어, 우리는 오류에 false를 반환하는 함수를 작성할 수 다른 종류는 성공합니다. 이것은 또한 우리가 더 일반적인 함수를 작성할 수 있습니다. 예를 들어, 우리는 하나의 추가 기능을 작성할 수 2 정수가 주어진 경우, 그 정수를 반환 할 수 있습니다 또는 부유물이 2 수레 제공하는 경우. C에서, 우리는이 작업을 수행하는 2 개의 분리 함수를 작성해야 할 것입니다. C에있는 동안 우리는 인상 및 문자열에 대한 포인터를 사용 우리는 PHP에서 포인터를 사용할 수 없습니다. 대신, 배열과 문자열을 모두 PHP에 내장 유형에 있습니다. 그들은 바로 언어에 내장하고 있습니다. 우리가 말할 수있는 PHP의 배열을 만들려면, $ = 배열​​ (1, 2, 3); 또는 더 간단하게 $ = [1, 2, 3]. 우리는이 배열 인덱스는 우리가 C.에서하는 데 사용하는 것과 동일한 구문을 사용 할 수 있습니다 첫 번째 요소를 얻으려면 우리 말, $ [0]합니다;. PHP는 연관 배열에 대한 지원이 내장되어 있습니다. 연관 배열은 우리가 이미 본 적이 해시 테이블 데이터 구조처럼 - 그들은 값으로 키를 매핑합니다. 의는 예를 살펴 보자. 우리는 $ 직원을 말할 수 = [ "강사"=> "데이비드", "TF"=> "토미"];. 강사와 TF - 여기, 내가 2 개의 열쇠를 가진 연관 배열이있다. 이중 화살표, 또는 등호보다 큼, 키와 해당 값을 구분하는 데 사용됩니다. 그래서, $ 직원 [ "TF"]의 값은 문자열 "토미"입니다. 연관 배열의 값 - 많은 다른 배열처럼 - 모든 유형이 될 수 있습니다. 예를 들어, 우리는 말할 수 $ 직원 = [ "강사"=> "데이비드", "TFS"=> [ "토미", "약탈"]];. 이제 'TFS'의 값 배열입니다. 즉, 하나의 연관 배열 내부의 값이 다른 유형이 될 수 있다는 것을 의미합니다. PHP 배열은 또한 고정 길이를 가지고 있지 않습니다 그래서 우리는 배열에서 요소를 추가하거나 제거 할 수 있습니다. 자, 우리는 $ 같은 간단한 배열을 가지고 있다고 = [1, 2, 3]. 이 배열에 새 요소를 추가하려면, 우리는 말, $ [] = 4 수 있습니다. [1, 2, 3, 4] - 이제 우리는 배열의 네 가지 요소로 구성되어 있습니다. 기억 우리가 C에서 다음과 같은 작업을 수행하려는 경우 즉, 우리는 완전히 새로운 배열을 할당해야 할 것 그것으로 우리의 첫 번째 배열의 내용을 복사, 그리고 우리의 새로운 값을 새로운 배열의 마지막 요소를 설정합니다. 이 PHP에서 훨씬 쉽습니다. 우리의 배열은 연관 배열의 경우, 우리는 단순히 요소를 작성하는 새 키를 정의 할 수 있습니다 그것은 아직 존재하지 않는 경우. $ 직원 - - 우리는 우리의 이전의 배열이있는 경우 우리는 직원을 $ 말할 수 있습니다 [ "총"] = 3;. 지금 우리는 3의 값을 가진 새로운 키가 있습니다. 배열의 요소 수를 얻으려면, 우리는 '수'기능을 사용할 수 있습니다. 우리가 말한다면, ($) 카운트, 4의 값을 가질 것이다. PHP에서, 우리는 이중 또는 단일 따옴표를 사용하여 문자열을 만들 수 있습니다 따라서 이러한 변수는 모두 문자열입니다. S1 $ = "문자열"; $ S2 = '다른 문자열';. 이 둘 사이의 차이점은 무엇입니까? 음, 포함 할 꽤 흔한 일 문자열 변수 안에 값. 이 작업을 수행하는 한 가지 방법은 PHP의 도트 연산자를 사용하는 것 어떤을 연결이 문자열. 우리는 이런 일을 할 수 - $ N = 5; $ S는 = 'N은'N $.. 여기에 우리의 n 변수는 정수입니다. 그러나 우리는 문자열을 연결할 때, PHP는 자동적으로 우리를 위해 문자열로 변환합니다. 또는 우리는 단순히 문자열 자체에 변수를 넣어 큰 따옴표를 사용할 수 있습니다. 우리는, $의를 말할 수 = "n을 $ N입니다";. 지금 $ S의 값은 'N이 5'될 것입니다. 우리는 대신 작은 따옴표를 사용하는 경우, $ S에서와 같이 = 'N은 $ N입니다'; 의의 값이 될 'N은 $ N은';. 우리는 작은 따옴표를 사용하는 경우 n의 값이 대체되지 않습니다 우리는 큰 따옴표를 사용하는 경우 만됩니다. 우리는 문자열 배열의 값을 포함하는 따옴표를 사용하려는 경우 우리는이 같은 배열의 주위에 중괄호를 포함해야합니다 - $ S = "{$ 직원 [ '총']}";. 의 지금은 C에있는 작은 조각에서 살펴보고 PHP로 번역 할 수 있습니다. 여기, 우리는 문자열의 문자를 출력하는 함수를 만드는 한 줄에 하나의 문자입니다. PHP에서 같은 일을하자. 첫째, 우리는 우리의 PHP 구분 기호가 필요합니다. 우리는 우리의 기능을 만들 때 우리는 그것의 반환 형식 또는 인수의 형식을 지정할 필요가 없습니다. 우리의 변수는 달러 기호로 시작해야합니다. PHP의 나 strlen 함수는 우리에게 문자열의 길이를 제공합니다 단지 C의 strlen 함수처럼 우리에게 문자열의 길이를 제공합니다. 후드하지만, 이러한 기능은 실제로 약간 다릅니다 문자열을 PHP에 내장 타입이기 때문에. 루프 '에 대한'우리의 구문은 동일합니다. PHP에서, 우리는 또한 문자열의 문자에 액세스 할 배열 표기법을 사용할 수 있습니다. 이제 우리는 문자열의 각 문자를 인쇄하려면 인쇄 기능을 사용할 수 있습니다. PHP의 인쇄 기능으로, 우리는 자리 표시 자에 대해 걱정할 필요가 없습니다 - %의 d 또는 % C 같은 - 우리가 문자열이 아닌 변수를 출력하고자 할 때. 대신, 우리는 간단하게 인쇄 기능 어​​떤 형식의 변수를 전달할 수 있습니다 그리고 그것은 문자열로 변환되어 표시됩니다. 그리고 그것이야! 자, 이제 'PHP print.php'우리의 파일을 실행합니다. 그리고 우리는 우리의 C 프로그램에서 본 출력이있다. PHP는 'foreach는'루프라는 구조를 지원합니다. 'foreach는'루프는 단지 'for'루프의처럼 하지만 일을 더 쉽게 읽을 수 있도록 문법 설탕의 조금을 추가합니다. 여기, 우리는 '$ 배열'라는 새로운 배열을 만들고 있습니다. 이제 우리는 (숫자 $로 $ 배열), foreach는 말할 수, 우리는 회사 번호를 인쇄 할 수 있습니다. 우리는이 파일을 실행할 때 - PHP foreach.php - 우리는 자신의 줄에 각각의 수를 볼 수 있습니다. 우리는 C 코드를 작성했을 때, 그것은 종종 별도의 파일에 우리의 코드를 구성하는 데 유용했다. PHP에서, 우리는 같은 일을 수행 할 수 있습니다. 자, 우리가 math.php라는 파일에 몇 가지 기능을 가지고 말한다. 나는 calculator.php 같은 다른 PHP 파일에서 이러한 기능을 사용하려면 나는 PHP의 require_once를 () 함수를 사용할 수 있습니다. require_once를 단지 # 포함 같습니다. 파일의 경로를 지정하면 기본적으로 내용을 복사하고 붙여 넣기합니다 현재 파일에 해당 파일의. require_once를은 각 파일은 한 번만 현재 파일에 포함되어 있는지 확인합니다 당신은 서로를 필요로 PHP 파일의 대규모 컬렉션을 가지고 있다면 어떤 도움이 될 수 있습니다. 의는 예를 살펴 보자. 여기에서 우리는 내가 다른 파일에서 사용하고 싶은 기능의 컬렉션이 있습니다. 의 우리가 그들을 사용하는 방법을 살펴 보자. 3 행에, 우리는 math.php을 요구하고있다. '__DIR__'는 현재 디렉토리를 나타내는 특수 상수 math.php 및 calculator.php는 같은 디렉토리에 위치 때문이다. 우리는 math.php을 필요로하면, 우리는 기능을 사용할 수 있습니다  마치 우리가 calculator.php에서 그들을 정의했다. 하자 '는 PHP calculator.php'로이 문제를 실행합니다. 좋아요! 그것은 PHP의 구문에 대한 우리의 도입 그건. 자세한 내용을 보려면, PHP.net을 참조하십시오. PHP에 내장 된 기능을 많이 가지고 있으며, 다행히 그 문서는 정말 좋은 것입니다. 내 이름은 토미이고,이 CS50입니다. [CS50.TV] ... 브래킷, 나는 방에서 해요. 젠장! 이것은 내가 코드에서 큰 단어를 사용하는 마지막 동영상입니다.