>  기사  >  백엔드 개발  >  PHP 학습 - 2장: PHP의 특징 1장 PHP 코드 학습 PHP를 배우는 방법 more

PHP 학습 - 2장: PHP의 특징 1장 PHP 코드 학습 PHP를 배우는 방법 more

WBOY
WBOY원래의
2016-07-29 08:54:111182검색
  • 2.1 네임스페이스:
  • 충돌을 방지하려면
  • <🎜 뒤의 첫 번째 줄에 배치하세요. > 참조 네임스페이스: 네임스페이스 Symphony/HttpFoundation 사용;
  • 네임스페이스 선언: 네임스페이스 Oreilly;
  • 네임스페이스의 클래스 참조: Oreilly/ 사용 con as a;
  • 네임스페이스에서 함수를 참조하려면 func Oreilly/functionName;
  • 을 사용하여 네임스페이스에서 상수를 참조하세요. user 상수 Rreilly/CONST_NAME;
  • 다중 가져오기: 파일 헤더에 여러 use 문
  • 한 파일에서 여러 네임스페이스 사용
      • 네임스페이스 Foo{}
      • 네임스페이스 바{}
  • 전역 네임스페이스: PHP의 기본 Exception 클래스와 같은 네임스페이스가 없는 코드, 이전 액세스는 PHP에게 현재 이름을 지정하지 않도록 지시할 수 있습니다. 공간에서 검색하려면, 전역 공간에서 검색해야 합니다. $e = new Exception()
  • 정규화된 PHP 클래스 이름: (네임스페이스 + 클래스 이름)
  • 2.2 인터페이스 사용
  • 인터페이스 정의: 인터페이스 문서화 가능{
    • public function getId();
    • 공용 함수 getContent();
    • }
  • 인터페이스 구현: 클래스 HtmlDocument가 Documentable을 구현합니다.{
    • 공용 함수 _construct(){}
    • 공용 함수 getId(){
      • return $this ->url;
    • }
    • 공개 함수 getContent(){}
    • }
    • 2.3 특성
    • 특성을 사용하는 이유 , 두 클래스에 필요 매우 유사한 기능적 구조를 상속을 통해 구현하면 원래 클래스 계층 구조가 파괴됩니다. 인터페이스를 사용하여 구현하면 코드 중복이 발생하므로 특성이 도입됩니다.

      • 특성 정의: trait MyTrait{
          • //특성 구현
        • }
      • 특성 사용: class MyClass{
          • MyTrait 사용;
        • }
      • 2.4 생성기 생성기, 반복자
      • 생성기, 즉 PHP 함수 생성자는 값을 반환하지 않고 앞으로만 이동할 수 있는 반복자입니다.
      • 생성기 생성 방법: function myGenerator(){
          • yield 'value1';
          • yield 'value2';
        • }
      • 생성기 사용법: PHP 반환 Generator 클래스의 객체는 메모리 절약에 도움이 됩니다. 예를 들어, 10,000 범위 내의 정수를 생성해야 하는 경우 한 가지 방법은 메모리에 10,000개의 정수를 생성하고 하나의 메모리만 차지하는 생성기 반복을 사용하는 것입니다. 매번 정수.
      • foreach(myGenerator() as $yieldValue){
          • echo $yieldValue;//출력 값1, 값2
        • }
      • 2.5 클로저 및 익명 기능
      • 폐쇄 패키지 : 클로저가 위치한 환경이 더 이상 존재하지 않더라도 클로저에 캡슐화된 상태는 여전히 존재합니다
      • 익명 함수: 함수 이름 없이 지불할 수 있는 값은 변수에 제공됩니다
      • 클로저와 익명 함수는 실제로 개체, 클로저 유형의 인스턴스입니다
      • 2.6 클로저 만들기
      • 변수 이름 뒤에 (가 있는 한, PHP는 _invoke() 메서드를 검색합니다. 클로저가 있기 전에는 PHP는 명명된 콜백만 수행할 수 있습니다.
        • $numbersPlusOne = array_map(함수 ($number) {
          • 반환 $number + 1;
          • }, [1, 2,3]);
        • print_r($numbersPlusOne); // 출력 --> [2,3,4]
      • 추가 클로저 상태:bindTo() 살아있는 키워드 사용
        • 사용 키워드 사용: function enclosePerson($name) {
          • 반환 함수 ($doCommand) use ($name) { //은 이름 매개변수
            • return sprintf('%s, %s', $name, $doCommand)
          • } ;
        • }
        • bindTo() 메서드를 사용하여 클로저 상태를 첨부합니다.
          • $this->경로[$routePath] = $routeCallback->bindTo($this,__CLASS__);
          • 두 번째 매개변수는 이 클로저가 바인딩되는 개체 유형입니다.
      • 2.7 바이트코드 캐시 Zend OPcache
      • 2.8PHP 내장 서버

      php -S localhost:4000

      다른 컴퓨터에서 이 서버에 액세스해야 하는 경우 php -S 0.0.0.0:4000으로 설정할 수 있습니다.

      서버 구성: php -S localhost:4000 -c app/config/php.ini

      내장 서버에는 . htaccess 파일에서는

      php -S localhost:4000 router.php 대신 내장 라우팅 스크립트를 사용하여 많은 PHP 프레임워크를 지원하지 않습니다.

      이상은 PHP 학습의 특징 - PHP 2장을 포함하여 PHP 학습 측면을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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