PHP Functions (Part 1)

안녕하세요, 기능 및 모듈성에 대한 강의를 환영합니다 그렇다면 우리는 왜 함수를 사용합니까? 물론 우리는 함수를 사용하여 PHP에서 많은 것들을 수행합니다

예를 들어 문자열이 아니거나 객체가 아니기 때문입니다 그래서 문자열을 함수에 전달하여 기본 문자열 조작을 수행합니다 물론 응용 프로그램이 복잡 해짐에 따라 많은 것을 작성하게 될 것입니다 아마도 우리 자신을 위해서 그리고 아마도 다른 사람들을 위해 재사용 할 수있는 기능을 스스로 갖추고 있어야합니다 나는 그것이 컴퓨터 과학의 실수라고 생각한다

기본적으로 필기 기능이 중요하다고 말합니다 제 말은 중요한 기술입니다 그러나 당신이 그것을 좋아하지 않는다면 당신이 그것들을 쓰지 않아도되는 것과는 다릅니다 직선 코드는 괜찮습니다 중요한 점은 함수를 작성하고자 할 때가 올 것입니다

당신은 단지 자신을 반복하고 싶지 않을 것입니다 그리고 나는이 비슷한 일을 계속 반복하고있는 것처럼 보입니다 매개 변수를 입력합니다 나는이 파일을 여기에서 그리고이 다른 파일 등에서 사용해야 만한다 그래서 반복하지 않는 것이 목표입니다

또한 프로그램을 사용할 때 프로그램 안정성이 크게 향상됩니다 PHP는 언어를 가지고 있습니다 함수 호출은 기억하기가 조금 더 어렵습니다 그래서 저는 정말로 구글이 필요합니다 [프로그래밍] 프로그래밍 할 때마다

그래서 문자열 교체 함수는 무엇입니까? 지금은 str_replace라는 것을 알지만 필자는 매개 변수의 순서를 항상 알지 못합니다 따라서 Google은 첫 번째 클릭에서 귀하를 찾는 데 능숙합니다 당신이 필요로하는 종류의 문서화가 가능합니다 그래서 str_replace를 치고 있습니다 그리고 거기에 당신이 가서 좋아하는 것 같아요

그리고이 특별한 전화를 보면, 이것은 비 객체 지향 스타일의 호출입니다 문자열과 같은 언어로 된 객체 지향 언어에서 파이썬은 stringreplace old new라고 말하고 싶습니다 여기서 문자열을 매개 변수 중 하나로 전달해야합니다 미래의 PHP 버전에서 언젠가는 희망합니다

그들은 우리에게 물체가되는 문자열의 대안을 줄 것입니다 그러나 그것이 일어날 지 누가 알 수 있습니다 하지만 수많은 문자열 조작 기능이 있습니다 여기에 단지 한 쌍이 있습니다 문자열을 반대로하고, 반복하고, 연결합니다

자체를 두 번 대문자로 보내고 얼마나 오래 있는지 물어 봅니다 종종 str으로 시작한다는 것을 알 수 있습니다 그리고 그것이 당신이 글로벌 기능을 가지고있는 방식의 패턴입니다 그것은 실제로 물건의 일부로서 더 이해할 수 있지만 그렇지 않습니다 그래서 거기에 간다

자신 만의 함수를 정의하는 방법? function이라는 키워드가 있습니다 그리고 함수 이름, 선택적 매개 변수 목록 및 다음 {와} 그리고 그 기능은 몸입니다 그리고 물론 매장과 반복 패턴이 있습니다 PHP가이 코드를 실행하기 때문에 단순히이 새로운 인사를 기억하고 있습니다

그것은 좋아요, 좋아요, 당신이 인사 할 때마다 제가 나중에하기를 원하는 것입니다 그런 다음 당신이 그것을 호출합니다 그래서 코드를 실행하고 실행하고, 다시 돌아오고, 다시 실행하고, 다시 돌아옵니다 그리고 이것은 함수 호출 또는 함수 호출입니다 그리고 이것이 정의입니다

꼭대기 부분은 함수의 정의입니다 이것이 구문입니다 함수라는 단어 다음에 함수의 이름, 옵션 매개 변수 다음에 함수의 본문 인 중괄호 블록을 만듭니다 함수 이름은 변수 이름과 매우 유사합니다 글자 또는 밑줄을 의미하는 달러 기호로 시작할 수 없습니다

나머지는 문자, 숫자 또는 밑줄 일 수 있습니다 기존 함수와 겹치는 함수를 정의하고 싶지는 않습니다 그래서 그것에 대해 조심하십시오 대소 문자는 중요하지 않지만 그 사실을 믿지 마십시오 알고있는 사촌과 일치하는 방식으로 항상 코드를 작성하십시오

향후 버전에서는 상황이 다를 수 있습니다 반환 값은 대부분의 C 기반 언어와 마찬가지로, return 문은 값을 취합니다 그리고 그것은 표현식을 대체합니다 그래서 여기서 우리는 평가되는이 표현을 가지고 있습니다 인사말 연결,이 문자열 공간 Glenn과 연결된 인사말 기능

그리고 PHP가 이것을 평가하는 것처럼,이 코드를 호출해야합니다 그래서 코드를 호출합니다 그리고 이것은 단지 돌아 오는 길에 일어납니다 그리고 return bit sort는 함수를 대체합니다 평가되는 중간에있는 표현에서 Hello는 Glenn과 연결됩니다

그리고 나서 Hello Glenn이 나옵니다 우리도 똑같은 일을합니다 Hello는 인사말을 대체합니다 그리고 그것은 Hello Sally가됩니다 그리고 기본적으로 표현 안에서, 반환은, 함수 호출 값을 반환 값으로 바꿉니다

그리고 이것은 할 수 있습니다 슬라이드에서 작게 유지하십시오 return 문은 실행 가능한 문입니다 마지막 줄 일 필요는 없습니다 그것은 어디서나있을 수 있습니다

그리고 함수 내부에서 실행되면 함수 실행을 중지하고 원래 호출 식에서 잔여 값을 결정합니다 될 것입니다 인수는 단순히 실제 가치가없는 종류의 변수입니다 그들은 어떤면에서 별칭 인 장소 소유자입니다 따라서이 특별한 코드에서 우리가 언어를 사용한다면 매개 변수로 $ lang sorta가 변수로 존재하지 않습니다

문자열 'es'에 대한 첫 번째 호출에서 별칭입니다 그리고 나서 실행되고 그 일을합니다 그리고 이번 경우에는 홀라 글렌이 반환됩니다 그리고 두 번째로 'fr'의 별명입니다 그래서 그것은 실제 변수가 아닙니다

이 매개 변수는 호출의 첫 번째 매개 변수 인 별칭입니다 그리고 우리는 떠나 간다 [COUGH] PHP가 선택적 인수를 수행하는 방법을 좋아합니다 당신은 간단히 말해서,이 주장이 존재하지 않는다면,이 경우, lang이 표시되지 않으면 인수에서 누락 된 경우 es로 설정하십시오 그래서 이것이 기본값입니다

es는이 특별한 것의 기본값입니다 때로는 기본값이 있습니다 이 경우에는 스페인어가 기본 언어라고 가정합니다 또는 거짓이라고 말할 수 있습니다 그런 다음 거짓인지 여부를 확인할 수 있습니다

그래서 때로는 우리가 제출 여부를 알 수있는 방법으로 기본값을 설정합니다 당신의 코드 그리고 거짓이라면 if dah dah dah라고 말하면됩니다 그리고 매개 변수가없는 경우 수행 할 작업을 알 수 있습니다 그리고 매개 변수를 넣으면이 부분은 무시됩니다

그리고 함수 호출에 대한 첫 번째 매개 변수의 별명입니다 [COUGH] 일반적으로 대부분의 언어에서 값을 통한 호출을 수행합니다 그리고이 변수는 호출의 별명이기 때문에, 이 경우 val은 변수이고 outer scope는 10입니다 우리는 10을 보게됩니다 10 명이 나오지만 우리가 발에 연결되어 있지 않다는 것입니다

그래서 어떤 의미에서 볼 수 있습니다, 순간에 여기에 오는, 실제로 매개 변수의 복사본을 만듭니다 그리고 10 명이 여기에서 일하고 있습니다 그리고 이것은 20이됩니다 그리고 이것은 20이됩니다 따라서 반환 값은 20입니다

그리고 dval은 결국 dval로 끝납니다 그리고 나서 우리는 20을 인쇄합니다 그래서 괜찮습니다 그러나 우리는이 행에서 발이 변하지 않았 음을 주목합니다 이것이 바로 이것의 핵심입니다

그리고 대부분의 변수가 전달되는 일반적인 방법 인 값에 의한 호출 배열이나 객체가 아닌 한 함수로 변환합니다 12 또는 문자열과 같은 변수 일뿐입니다 호출되는대로 사본입니다 그래서 당신은 실제로 이것을 왼쪽에서 수정할 수 있습니다 그리고 그것은 원본을 수정하지 않습니다

그것은 기능의 부작용 가능성을 줄이는 것입니다 당신은 함수가 무언가를 할 수 있기를 원하지 않습니다 함수 밖의 변수를 엉망으로 만든다 정말 솔리드 한 경계를 그리는 것이 좋은 방법입니다 함수 주위를 무언가를 전달하고 무언가를 되찾아 우리 변수를 망치지 마십시오

그것은 단지 고립과 같습니다 그래서 가치에 의한 호출은 매우 전형적입니다 PHP에 대한 멋진 점은 참조로 호출 할 수있는 옵션을 제공한다는 것입니다 그래서 여러분이 참조에 의한 호출이라고 할 때, 이것은 C에 대한 후퇴의 일종입니다 앰퍼샌드를 사용하지만 똑같은 방식으로 사용하지는 않지만, 기본적으로 앰퍼샌드를 매개 변수에 넣습니다

그리고 당신은 그때 기능의 작가로서, 외부 세계에 당신이이 첫 번째 매개 변수를 변경할 계획임을 알립니다 그리고 첫 번째 매개 변수를 변경하려고 할 때, 당신은 단지 왼쪽에 그것을 여기에 두었습니다 그래서 현실은 10입니다 그래서 발은 10 점이됩니다 그러나 그것은 단지 10 일뿐만 아니라 $ val이기도합니다

그래서 $ realthing은 함수 내에서 $ val과 같습니다 그것은 $ val의 값에 대한 별칭이 아닙니다 그것은 다음과 같습니다 따라서 일어나는 일은 물론 10이됩니다 $ val과 같기 때문에

그리고 10 배 3은 30입니다 30, 그것은 현실로 들어갑니다 우리는 반환 값이 없습니다 이것은 전적으로 괜찮습니다 그러나 그 다음에 우리는 다시옵니다

그리고 우리는 발이 3 배가되었다는 것을 여기서 다시 보게됩니다 그리고 그것은 단순히 함수 내에서이 대입 문을 실행했기 때문입니다 우리가 말했듯이, 우리는 그걸 망쳐 놓을거야 실제 변수의 사본이 아닌 실제 변수를 제공하십시오 PHP 문서를 읽으면서, sort 함수가 배열을 매개 변수로 취한다는 것을 알 수 있습니다

그리고 그것은 바로 여기에 당신이 그것을 바꿀 계획이라고 말하고 있습니다 그래서 그것은 당신에게 단서입니다 당신이 문서를 읽을 때, 그 매개 변수가 변경 될 것입니다 그래서이 배열을 정렬 할 것입니다 그리고 그 어레이를 다시 쓰게 될 것입니다

그러면 그 일이 일어날 것입니다 [음악] 다음은 함수가 어떻게 분리되는지에 대해 조금 더 이야기하겠습니다 코드의 나머지 부분에서 어떻게 그 함수가 빠져 나올 수 있는지 그리고 PHP 모듈성의 다른 측면 [음악]