>  기사  >  백엔드 개발  >  iOS 프로그래머는 어떻게 PHP를 빠르게 마스터하고 "풀 스택 공성 사자"가 될 수 있습니까?

iOS 프로그래머는 어떻게 PHP를 빠르게 마스터하고 "풀 스택 공성 사자"가 될 수 있습니까?

WBOY
WBOY원래의
2016-07-23 08:54:45834검색

이 글은 대다수의 iOS 프로그래머를 대상으로 iOS 개발자의 관점에서 작성된 PHP 입문 가이드입니다. 이 글에서는 특정 iOS 개발 경험이 있는 사람들에게 도움이 되도록 objectiv-c와 php의 공통점을 탐구하려고 노력하고 있습니다. Lion은 백엔드 개발 언어를 빠르게 시작하기 위해 여기에 있습니다. 백엔드 개발 언어는 개발 문서에 "데이터 인터페이스" 형태로 나타나는 것입니다! PHP를 마스터하는 것은 현재 iOS 개발 작업과 미래의 개인 경력 모두에 유용합니다. 이는 귀하의 장기적인 경력 개발에 큰 도움이 될 것입니다! 가장 중요한 것은 PHP 자체가 장난감 언어가 아니라 현재 회사에서도 여전히 사용되는 백엔드 개발 언어라는 것입니다. 이 글은 단순한 기본 매뉴얼이 아니라, PHP에서 가장 중요하고 일반적으로 사용되는 개념과 기능을 iOS 개발자가 이해하기 쉽도록 체계적으로 설명하고 있습니다. 배경 데이터 인터페이스 기능을 독립적으로 작성할 수 있습니다.

필요한 준비 및 지침

iOS 프로그래머는 어떻게 PHP를 빠르게 마스터하고

먼저 로컬에서 PHP 서버를 구축하려면 최신 버전의 XAMPP 소프트웨어를 다운로드해야 합니다. 다운로드 주소: https://www.apachefriends.org/download.html.

다운로드가 완료되면 두 번 클릭하여 설치합니다. 서버 관리-->모두 시작을 선택하여 시작에 성공한 후 브라우저에 http://localhost를 입력합니다. 기본 PHP 페이지가 표시됩니다.

PHP 서버 파일은 기본적으로 Application-->XAMPP-->htdocs 디렉토리에 저장됩니다.

그럼 PHP 에디터도 다운받아야 하는데 이때 Github의 Atom 에디터를 사용하고 있는데 개인적으로 인터페이스도 매우 편하고, 코드 하이라이팅도 보기에도 아주 편하다고 생각합니다. 여기: https://atom.io 다운로드가 완료되면 클릭하여 설치하세요.

마지막으로 주의할 점은 PHP 버전이 다양하다는 것입니다. 다음 설명은 가장 일반적으로 사용되는 PHP 5.3.0 이상 버전을 지원합니다.

안녕하세요 월드!

아래에서 가장 간단한 Hello World 프로그램을 작성하고 아래 단계를 따르세요.

1. Application-->XAMPP-->htdocs 디렉터리에 find_php라는 새 디렉터리를 만듭니다.

특별한 의미는 없으며 순전히 시연의 편의를 위한 것이며 기본 PHP 파일을 방해하지 않습니다.

2. Atom 편집기를 열고 cmd N을 사용하여 새 파일을 만든 후 다음 코드를 입력하고 cmd S를 사용하여 파일 이름을 index.php에 저장합니다.
  1. echo 'Hello World';
  2. ?>
코드 복사

PHP를 다음과 같이 강조 표시할 수 없는 경우 파일 오른쪽을 클릭해야 할 수도 있습니다. 하단에서 현재 파일의 구문 강조 방법을 수동으로 지정하세요.
iOS 프로그래머는 어떻게 PHP를 빠르게 마스터하고

3. 브라우저 주소 표시줄에 http://localhost/find_php/index.php를 입력하면 PHP로 작성된 Hello World가 표시됩니다.

iOS 프로그래머는 어떻게 PHP를 빠르게 마스터하고

AppDelegate 항목 파일

iOS 애플리케이션은 일반적으로 코딩의 시작점으로 AppDelegate 파일로 시작합니다(정확하게 말하면 main.m, 여기서는 자세히 설명하지 않겠습니다). PHP에서는 index.php 파일을 유일한 입구로 사용할 수 있습니다. 모든 방문과 PHP 페이지 간 이동은 여기에서 시작됩니다. 다음 코드는 기본 페이지 액세스 및 제어 프레임워크를 구현하는 index.php에 먼저 복사할 수 있습니다.

  1. $controller = '';
  2. $model = array();
  3. if (isset($_GET ['viewController'])) {
  4. $controller = $_GET['viewController'];
  5. }
  6. if (isset($_GET['model'])) {
  7. $ model = $_GET['model'] ;
  8. }
  9. echo 'Controller:'.$controller.'
    ';
  10. echo '데이터 모델:
    ';
  11. foreach ($model as $key => $value) {
  12. echo $key.':'.$value.'
    ';
  13. }
  14. ?> ;
코드를 복사

하고 브라우저 주소 표시줄에 http://localhost/find_php/index.php?viewController=HomeViewController&model[id]를 입력합니다. =42&model[name]=iOS122&model[age]=25
페이지 입력:

  1. 컨트롤러: HomeViewController
  2. 데이터 모델:
  3. id:42
  4. 이름:iOS122
  5. 나이:25
코드 복사

viewController=다음에는 뷰 컨트롤러를 나타냅니다. 모델은 데이터 모델을 저장하는 데 사용되는 사전이며 ID, 이름, 연령 등의 입력을 지원하는 사용자 정의 키입니다. 새 페이지로 옮기고 싶은 데이터가 없으면 쓰지 않아도 됩니다.

참고: 여기에서는 당분간 간단한 GET 요청만 고려됩니다. 다른 변형의 경우에는 PHP 구문에 익숙해진 후 직접 작성할 수 있습니다. 새로운 것, 이미 마스터한 것. 절반의 노력으로 두 배의 결과를 얻을 수 있습니다!

MVC 디자인 패턴

일반적으로 사용되는 MVC 패턴부터 추가 논의를 시작합니다. M, 즉 모델 데이터 모델은 주소 표시줄에 입력한 모델, 즉 뷰에 해당하며 더 직접적으로 표시됩니다. 데이터, 논의를 단순화하기 위해 여기서는 모바일 개발에서 일반적으로 사용되는 JSON 형식 데이터의 표시만 구현합니다. 컨트롤러 컨트롤러인 C는 우리가 흔히 뷰 컨트롤러라고 부르는 것입니다. PHP의 뷰 컨트롤러 .

참고: 모바일 데이터 인터페이스는 PHP의 애플리케이션 시나리오 중 하나일 뿐입니다. 실제로 매일 접하는 대부분의 웹사이트는 PHP로 구동됩니다. 아름답게 구성된 웹사이트를 작성하려면 다음이 필요합니다. HTML 및 JS 관련 지식을 배우려면 다음 웹 사이트를 방문하는 것이 좋습니다. http://www.w3school.com.cn

index.php 개선
  1. /* 클래스 파일 자동 로딩 구현*/
  2. function __autoload($className) {
  3. if (file_exists($className . '.php')) {
  4. require_once $className . '.php';
  5. return true;
  6. }
  7. return false;
  8. }
  9. //--------------------------------
  10. /* 사용자의 희망사항 얻기 정보 액세스할 페이지 정보 */
  11. $controllerName = '';
  12. $model = array();
  13. if (isset($_GET['viewController'])) {
  14. $controllerName = $_GET['viewController'];
  15. }
  16. if (isset($_GET['model'])) {
  17. $model = $_GET['model'] ;
  18. }
  19. /* 지정된 페이지로 이동합니다. */
  20. if ('' !== $controllerName) {
  21. /* 각 컨트롤러에 최소한 하나의 $model이 있다는 데 동의합니다. 속성 및 표시 메소드*/
  22. $controller = new $controllerName();
  23. $controller->model = $model;
  24. $controller->show();
  25. }
  26. ?>
코드 복사

이 방법은 사용자 입력에 따라 해당 인터페이스로 자동으로 점프할 수 있으며, index.php에 직접 코드를 복사할 수 있습니다. 당분간은 더 이상 변경할 필요가 없기 때문에 설명된 몇 가지 기술적 사항은 다음과 같습니다.

관련 클래스 파일을 자동으로 로드하는 매직 메소드 __autoload를 구현했습니다. 이는 .pch에 헤더 파일을 전역적으로 도입한 다음 전체 프로젝트를 어디에서나 사용할 수 있는 방법과 다소 유사합니다.

php는 약한 유형의 언어입니다. 변수를 정의할 때 유형을 선언할 필요는 없지만 변수는 달러 기호 $로 시작해야 합니다.

php는 새 함수를 사용하여 객체를 생성합니다. 구문은 oc의 새 함수를 생각나게 합니다. [클래스 이름 new];

PHP의 함수는 C 언어 함수나 OC의 블록과 비슷해 이해하기 더 쉽습니다.

php가 속성에 액세스할 때 .; 대신 ->를 사용하십시오. php가 속성에 액세스하는 또 다른 방법은 $controller['model']과 같은 obj['property name']을 사용하는 것입니다.

이 때 http://localhost/find_php/index.php?viewController=HomeViewController&model[id]=42&model[name]=iOS122&model[age]=25에 접속하면 다음과 같은 오류가 보고되어야 합니다.

  1. 38행의 /Applications/XAMPP/xamppfiles/htdocs/find_php/HomeViewController.php에 예기치 않은 '>' 구문 오류가 있습니다.
코드 복사

뷰 컨트롤러를 정의하지 않았기 때문입니다!

컨트롤러: 뷰 컨트롤러 정의

find_php 폴더에 새 HomeViewController.php 파일을 만들고 다음 코드를 파일에 복사하세요.

  1. /* 파일에는 파일과 이름이 같은 클래스가 하나만 있는 것이 좋습니다.
  2. 다른 클래스에서 상속해야 하는 경우 */와 같은 키워드 확장을 사용할 수 있습니다
  3. class HomeViewController
  4. {
  5. /*
  6. 정의가 허용되면 속성에 OC보다 유연한 기본값을 지정합니다.
  7. public 키워드는 외부 액세스를 지정하는 데 사용됩니다. 🎜> 유사한 항목에는 private(내부 액세스만 허용됨), protected(자신과 하위 클래스에만 액세스 허용)가 포함됩니다.
  8. 속성 앞에 public/private/protected 키워드 중 하나가 있어야 합니다.
  9. */
  10. public $model = array(); // 정의는 속성에 대한 외부 액세스를 허용합니다.
  11. /* 생성자, 초기화 방법과 동일
  12. 새 객체를 생성하기 위해 New 함수가 호출될 때, 이 메소드는 자동으로 호출됩니다.
  13. 배열은 매개변수 유형을 지정하고 $model은 실제 매개변수입니다. $model = array()는 기본 매개변수를 지정하는 데 사용됩니다.
  14. 는 기본 매개변수의 매개변수를 지정합니다. 호출 시 전달됨
  15. public 키워드는 attribute의 키워드와 동일하며 기본적으로 전달되지 않을 수 있음
  16. */
  17. public function __construct(array $model = array( ))
  18. {
  19. /* 인스턴스 메소드 내에서 객체의 속성에 액세스하려면 $this 키워드를 사용하고 속성 이름 $;
  20. 앞에는 달러 기호가 없습니다. oc에서는 `.` 대신 `->`를 사용합니다. */
  21. $this->model = $ model;
  22. }
  23. /*
  24. 소멸자, 해당 기능은 다음과 같습니다. oc.
  25. */
  26. public function __destruct()
  27. {
  28. $this->model = NULL;
  29. }
  30. /* Get the 출력 표시용 콘텐츠 */
  31. protected function getContent()
  32. {
  33. /* 기본 사용자 입력은 JSON 형식으로 반환됩니다. */
  34. $content = json_encode($this->model);
  35. return $content;
  36. }
  37. /*
  38. 정의 인스턴스 메소드: show;
  39. 키워드 함수를 사용하여 메소드를 정의하며, 반환값은 지정할 수 없습니다. oc만큼 편리하지 않습니다.
  40. */
  41. public function show()
  42. {
  43. / * 다른 인스턴스 메서드를 호출하려면 $this 키워드를 사용하세요. */
  44. $content = $this->getContent();
  45. echo $content;
  46. }
  47. }
코드 복사
여기에 http://localhost/find_php/index.php?viewController=HomeViewController&model[id]=42&model[name]=iOS122&model[age] =25를 방문하면 출력은 다음과 같아야 합니다:

    {"id":"42","name":"iOS122","age":"25"}
코드 복사
페이지가 HomeViewController 컨트롤러로 점프하여 이를 효과적으로 출력하고 출력은 모바일 단말기 개발에서 가장 자주 접하게 되는 json 형식 데이터임을 보여줍니다.

위 코드는 속성 정의, 인스턴스 메소드 정의, 예제 메소드 내의 속성 및 인스턴스 메소드 액세스 등과 같이 객체 지향(OOP) 언어로서 가장 일반적으로 사용되는 여러 가지 PHP 기능을 완벽하게 보여줍니다. 객체 지향(OOP) 언어 약한 형식의 OOP 언어에도 몇 가지 매우 강력한 기능이 있습니다.

새로고침

마법의 방법

포스트 정적 바인딩

모델: 데이터 모델에 대한 몇 가지 참고 사항입니다.

MVC의 M에 대한 온라인 토론을 위해 여기서는 가장 기본적인 것을 선택합니다. M은 특히 특정 데이터를 저장하는 데 사용되는 클래스의 인스턴스를 의미하며 데이터의 형식화된 저장 및 전송에 사용할 수 있지만 그렇게 해서는 안 됩니다. 네트워크 요청 시작, 데이터베이스 읽기 및 쓰기와 같은 작업이 포함됩니다.

이 문서에서 논의된 모델에서는 모델을 더욱 단순화하여 URL을 통해 컨트롤러를 정의하는 데만 모델을 사용할 수 있도록 허용했습니다.

PHP는 약한 유형의 언어이므로 특정 컨트롤러에 대해 특정 유형의 모델을 지정할 필요가 없습니다.

"PHP의 배열은 실제로 순서화된 맵입니다. 맵은 값을 키에 연결하는 유형입니다. 이 유형은 여러 측면에서 최적화되었으므로 실제 배열 또는 목록으로 처리할 수 있습니다. (벡터), 해시 테이블(맵 구현), 사전, 세트, ​​스택, 큐 및 더 많은 가능성이 있습니다. 배열 요소의 값은 다른 배열일 수도 있으므로 트리 구조 및 다차원 배열도 허용됩니다. <.> 보기: HTML을 표시하는 인스턴스입니다.

JSON 형식으로 데이터를 반환하면 모바일 개발 요구 사항이 충족되지만 더 나은 이해를 위해 데이터를 표시하는 데 여전히 html 구문이 사용됩니다. HomeViewController.php 파일의 getContent 메서드를 다음 코드로 바꿉니다.

/* 출력 표시용 콘텐츠 가져오기 */
    protected function getContent()
  1. $content = '
      ;';
    • foreach ($this->model as $key => $value) {
    • $content .= "
    • $key:$ value
    • ";
    • }
    • $content .= '
    ';
  2. return $content;
  3. }
  4. 코드 복사

이 때 http://localhost/find_php/index.php?viewController=HomeViewController&model[id]=42&model[name]=iOS122&model[age]=25를 방문하면 다음과 같이 출력되어야 합니다.

ID:42

이름:iOS122

나이:25

은 브라우저에서 자동으로 목록으로 구문 분석됩니다.

  1. < /head> ;
    • id:42
    • name:iOS122
    • < li> 연령:25
코드 복사

여기서는 간단한 HTML 태그를 사용했습니다.

요약

이 기사에서는 iOS의 MVC 디자인 패턴을 시뮬레이션하여 PHP의 해당 개념을 간략하게 설명합니다. 위 작업에 익숙해지면 서버 인터페이스를 사용자 정의하는 기본 기능을 갖게 됩니다. 토론에 참여하려면 다음을 참조하세요. ://www.ios122.com/tag/php/ 더 자세한 내용은 PHP 공식 중국어 문서(http://ua2.php.net/manual/zh/langref.php)를 참조하세요.

iOS, PHP, quot


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.