CodeIgniter 갈고리 사용법 실례 상세 설명
4078 단어 CodeIgniter갈고리
CodeIgniter 실행 프로 세 스 그림 에는 7 개의 타원 상자 가 있 는데 이 는 실행 과정 에서 7 개의 갈고리 가 묻 혀 있 음 을 나타 낸다.그럼 갈고리 가 뭔 지 먼저 볼 까요?
인터넷 에서 찾 은 두 단락 의 문자:
갈고리 의 완전한 실현 을 사건 구동 이 라 고 해 야 한다.이벤트 구동 은 두 단계 로 나 뉘 는데 첫 번 째 단 계 는 등록 이벤트 입 니 다.그 목적 은 미래 에 발생 할 수 있 는'이벤트'에 이름 을 짓 는 것 입 니 다.간단 한 실현 방법 은 하나의 사례 모델 로 지속 적 인 대상 을 만 들 거나 전체 변 수 를 등록 한 다음 에 이벤트 이름 을 이 사건 에 대응 하 는 클래스 와 방법 으로 전체 변 수 를 삽입 하면 됩 니 다.갈고리 하 나 를 마 운 트 하 는 것 이다.
두 번 째 단 계 는 트리거 이벤트 입 니 다.본질 적 으로 이벤트 의 전체 변수 에서 트리거 할 이벤트 이름 을 조회 한 다음 에 등 록 된 클래스 와 방법 을 찾 아 예화 하고 실행 합 니 다.이렇게 하면 전통 적 인 방식 에서 프로그램 이 반드시 순서대로 해 야 하 는 규칙 에서 벗 어 나 결합 을 해제 하 는 목적 을 한층 더 실현 할 수 있다.
갈고리 함 수 는 다른 프로그램의 정 보 를 캡 처 하고 처리 할 수 있다.특정한 메시지 가 나 올 때마다 목적 창 에 도착 하지 않 기 전에 갈고리 프로그램 은 이 메 시 지 를 먼저 캡 처 하고 갈고리 함수 가 먼저 제어 권 을 얻 습 니 다.이때 갈고리 함 수 는 이 메 시 지 를 가공 처리(변경)할 수도 있 고 처리 하지 않 고 계속 전달 할 수도 있 으 며 메시지 의 전달 을 강제 적 으로 끝 낼 수도 있다.
볼 수 있 습 니 다:
1.갈고리 함 수 는 미리 설정 하고 특정한 조건 에서 촉발 합 니 다.
2.갈고리 함수 가 프로그램 을 연결 한 후에 프로그램의 방향 에 영향 을 줄 수 있다.
CI 프 리 셋 갈고리
CI 에는 갈고리 와 갈고리 사이 가 상대 적 으로 독립 된 7 개의 갈고리 가 설정 됐다.앞의 세 개의 갈 고 리 는 실례 화 되 기 전에 설정 한 것 으로 get 을 사용 할 수 없다 는 것 을 의미한다인 스 턴 스 인 스 턴 스,실례 화 된 클래스 를 사용 하려 면 global 이 필요 합 니 다.7 개의 갈고리 역할 매 뉴 얼 에 서 는 캐 시 출력 을 다시 쓸 수 있 고 출력 을 처리 할 수 있 습 니 다.
어떻게 CI 갈 고 리 를 촉발 합 니까?
CI 설정 파일 에 갈고리 스위치 를 설 정 했 습 니 다.갈 고 리 를 사용 하려 면 먼저 이 스위치 를 열 고 config/hook.php 의 hook 배열 을 설정 해 야 합 니 다.예 를 들 어 post 를 설정 합 니 다.controller_생 성자 갈고리:
$hook['post_controller_constructor'] = array(
'class' => 'Hook',
'function' => 'post_controller_constructor',
'filename' => 'Hook.php',
'filepath' => 'hooks',
'params' => array('beer', 'wine', 'snacks')
);
컨트롤 러 가 예화 되면 action 을 호출 하기 전에 hooks 디 렉 터 리 에 있 는 Hook.php 의 post 를 실행 합 니 다.controller_constructor 방법.우 리 는 이 방법 에서 약간의 처 리 를 할 수 있다.갈고리 의 응용
아직 까지 CI 갈고리 의 절묘 한 점 을 느끼 지 못 했 습 니 다.인터넷 에서 CI 갈 고 리 를 사용 하여 권한 통 제 를 실현 하 는 프로그램 이 있 습 니 다.즉,postcontroller_constructor 는 권한 판단 을 합 니 다.이 갈 고 리 는 구조 함수 와 같 기 때문에 구조 함수 에서 다음 에 실행 할 방법 에 권한 이 있 는 지 여 부 를 판단 할 수 있 습 니 다.확실히 가능 합 니 다.하지만 이 기능 도 충분히 MY 에 넣 을 수 있 습 니 다.Controller 에서 이 루어 지 는 것 이 더 좋 을 것 입 니 다.CI 의 갈 고 리 는 전역 적 이기 때문에 프런트 든 백 스테이지 든 이 갈 고 리 를 작 동 합 니 다.이 갈고리 프로그램 이 판단 할 수 있다 고 하지만 여기 서 판단 하 는 것 이 꼭 좋 은 것 은 아 닙 니 다.앞에서 MY 얘 기 했 었 어 요.Controller 에서 서로 다른 모듈 의 공용 컨트롤 러 가 분리 되 고 프론트 데스크 톱 배경 은 서로 다른 컨트롤 러 를 계승 합 니 다.만약 에 제 가 백 스테이지 에 대해 권한 만 제어 하면 백 스테이지 공용 컨트롤 러 에서 직접 실현 할 수 있 고 프론트 데스크 톱 에 영향 을 주지 않 으 며 필요 한 부분 만 제어 할 수 있 습 니 다.
여기에 비 CI 중의 예 가 있 는데 사 고 는 같다.합작 채널 의 사용자 로그 인 등록 기능 은 많은 합작 자가 있 고 서로 다른 합작 자가 등록 해 야 하 는 기본 자 료 는 같 지만 모든 합작 자 는 특수 한 필드 나 서로 다른 검사 방식 이 있 을 수 있다.
문제 에 부 딪 히 면 우 리 는 일상생활 에서 볼 수 있 는 경우 가 많다.등록 처리 논 리 를 예 로 들 면 그 중의 한 절 차 는 변 하지 않 는 다 는 것 을 볼 수 있다.인자->등록 자 료 를 받 기 전에 처리->등록->등록 자 료 를 받 은 후에 처리 합 니 다.변화 하 는 것 은 무엇 입 니까?모든 단계 가 변 할 수 있 지만 절 차 는 변 하지 않 는 다.따라서 앞,뒤,처리 등 관련 부분 에 갈 고 리 를 설치 하고 처리 의 논 리 를 특정한 상황 에 나 누 어 줄 수 있다.아래 에 참고 그림 이 있 는데 구체 적 으로 갈 고 리 를 어떻게 설정 하 는 지 는 프로젝트 에 따라 야 한다.
사실은 이런 방식 이 실행 가능 하 다 는 것 을 증명 한다.합작 자 는 비록 많 지만 그룹 을 나 눌 수도 있 고 수백 개의 등록 페이지 가 쉽게 실현 된다.그래서 갈 고 리 를 이용 하여 이런 절 차 를 처리 하 는 것 은 변 하지 않 고 중간의 특정한 절차 가 변화 가 많은 수 요 는 매우 편리 하 다.
쉽게 말 하면 갈 고 리 는 특정한 조건 에서 절 차 를 수행 하 는 것 이다.좀 더 간단하게 말하자면 갈 고 리 는 if 판단 을 해제 하 는 방식 이다.
과도 한 if 판단 은 프로그램 을 읽 기 어렵 고 유지 하기 어 려 울 수 있 으 며,갈고리 처 리 를 통 해 프로그램 을 더욱 유연 하 게 할 수 있다.갈 고 리 는 일정한 트리거 조건 이 있 습 니 다.조건 은 설정,데이터 베이스 에서 읽 거나 일부 기술 을 통 해 이 루어 질 수 있 습 니 다.예 를 들 어 반사 등 갈 고 리 를 사용 하면 결합 을 해제 하 는 목적 을 달성 할 수 있 습 니 다.
더 많은 CodeIgniter 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.와codeigniter 입문 강좌
본 고 에서 말 한 것 이 여러분 이 CodeIgniter 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jquery의 $.post를 사용하여 비동기 통신 수행 (프레임 워크 : codeigniter)messages_test.php ・ 텍스트를 2개 준비시켜, 각각에 id를 붙입니다. ・button의 type은 이번 비동기 통신이기 때문에, submit는 아니고 button를 사용. (submit라고 화면 천이해...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.