php7에는 많은 확장 클래스가 있습니다. 오늘은 수행 방법과 말하기 방법을 구현하는 사람 클래스를 예로 들어 보겠습니다.
1. 구현해야 할 세부 사항
사람 클래스 구현
행동 방법 및 말하기 방법 구현
2. 첫 번째 확장
2.1 클래스 확장 만들기:
[root@bogon ext]# cd /usr/local/src/php-7.0.3/ext [root@bogon ext]# ./ext_skel --extname=person
2.2 구성 수정
[root@bogon ext]# vim person/config.m4 dnl PHPARGWITH(person, for person support, dnl Make sure that the comment is aligned: dnl [ --with-person Include person support])
다음으로 변경:
PHPARGWITH(person, for person support, dnl Make sure that the comment is aligned: [ --with-person Include person support])
2.3 구현 코드
php_person.h 헤더에
extern zend_class_entry *person_ce; PHP_METHOD(person_ce,__construct); PHP_METHOD(person_ce,saying); PHP_METHOD(person_ce,doing);추가
person.c 헤더에
/** * 声明构造函数 * @param * @return */ ZEND_METHOD(person,__construct){ zval *pThis; pThis = getThis(); zend_printf("construct\n"); } /** * 声明析造函数 * @param * @return */ ZEND_METHOD(person,__destruct){ zend_printf("destruct\n"); } ZEND_METHOD(person,doing){ zend_printf("doing\n"); } ZEND_METHOD(person,saying){ zend_printf("saying\n"); } //这个函数需要加上声明,去掉了没用的test函数const zend_function_entry person_functions[] = { ZEND_ME(person, __construct, global_config_arg, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) ZEND_ME(person,doing,NULL,ZEND_ACC_PUBLIC) ZEND_ME(person,saying,NULL,ZEND_ACC_PUBLIC) ZEND_ME(person,__destruct,NULL,ZEND_ACC_PUBLIC|ZEND_ACC_DTOR) PHP_FE_END /* Must be the last line in person_functions[] */ }; //将类和方法注册到zendPHP_MINIT_FUNCTION(person){ zend_class_entry ce; INIT_CLASS_ENTRY(ce, "person", person_functions); person_ce = zend_register_internal_class(&ce TSRMLS_CC); zend_declare_property_null(person_ce,"saying",strlen("saying"),ZEND_ACC_PUBLIC); zend_declare_property_null(person_ce,"doing",strlen("doing"),ZEND_ACC_PUBLIC); return SUCCESS; }추가
2.4 컴파일
* [root@bogon hello]# [root@localhost person]# ./configure && make && make install
2.5 확장 설치
php.ini 변경 추가
[person] extenstion=person.so
2.6의 확장된 사용
[root@bogon tests]# cat test.php <?php $n = new person(); echo $n->saying(); echo $n->doing(); [root@localhost tests]# php test.phpconstructsayingdoingdestruct
권장 학습: php 비디오 튜토리얼
위 내용은 php7 확장 클래스 작성 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 PHP 5.6을 PHP 7으로 업그레이드하고 백업, 서버 호환성 확인 및 업그레이드 방법 (패키지 관리자, 컴파일, 제어판 또는 웹 서버 구성)과 같은 중요한 단계를 강조합니다. 그것은 Potentia를 다룹니다

이 기사에서는 New Relic을 사용하여 PHP 7 응용 프로그램 성능을 모니터링하는 방법을 설명합니다. APDEX 점수 및 응답 시간과 같은 KPIS (Kep Relic의 설정, KPI), 트랜잭션 트레이스 및 오류 트랙을 통한 병목 현상 식별에 대해 자세히 설명합니다.

이 기사는 PHP 7 응용 프로그램, Covering Methods (FTP, SSH, 배포 도구), 서버 구성 (APACHE/NGINX, PHP-FPM), 데이터베이스 설정 및 중요한 보안 고려 사항 배포에 대해 자세히 설명합니다. 서버 compatib와 같은 일반적인 과제를 강조합니다

이 기사는 PHP 7 개발자가 버전 제어를 위해 GIT 사용을 안내합니다. 초기화, 준비, 커밋, 파일 무시, 원격 리포지토리, 분기, 병합, 충돌 해결 및 필수 GIT 명령을 다룹니다. Effic의 모범 사례

이 기사는 Dockerfile 생성, 이미지 빌딩 및 컨테이너 런타임을 다루는 PHP 7과 함께 Docker를 사용하여 설명합니다. 보안 모범 사례 (뿌리가 아닌 사용자, 종속성 업데이트, 입력 유효성 검증), Docker Comp와의 멀티 서비스 관리에 대해 자세히 설명합니다.

이 기사에서는 PHP 7 코드를 디버깅하기 위해 XDEBUG를 사용하는 방법에 대해 설명합니다. XDEBUG 구성 (설치, php.ini 설정, IDE 설정), 중단 점 사용 (조건부, 기능, 원격) 및 문제 해결 연결 문제를 다룹니다. 효과적인 디버지

이 기사는 PHP 7 코드를 테스트하기 위해 PHPUnit 사용을 PHP 개발자에게 안내합니다. 이전 PHP 버전의 원활한 전환을 강조하여 PHP 7의 기능 (유형 힌트, 리턴 유형)을 강조하여 개선 된 테스트 견고성을 강조합니다. 기사

이 기사는 Codeigniter를 PHP 7과 함께 사용하여 프레임 워크의 호환성, PHP 7의 엔진 향상의 성능 향상 및 중요한 보안 모범 사례를 강조합니다. 설정, 구성 및 PHP 7 Featu 활용을 다룹니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

뜨거운 주제



