Rumah > Artikel > pembangunan bahagian belakang > Thinkphp panduan penggunaan fungsi huruf tunggal_php tips
방법A
컨트롤러를 내부적으로 인스턴스화하는 메서드는 다음 형식을 호출하는 데 사용됩니다: A('[project://][group/]module','controller layer name')
가장 간단한 사용법:
은 현재 프로젝트의 UserAction 컨트롤러를 인스턴스화하는 것을 의미합니다(이 컨트롤러에 해당하는 파일은 Lib/Action/UserAction.class에 있습니다.). 그룹 모드가 채택되고 다른 관리 그룹 컨트롤러를 인스턴스화하려는 경우 다음을 수행할 수 있습니다. 사용:
프로젝트 간 인스턴스화도 지원됩니다(프로젝트 디렉터리는 동일한 수준으로 유지되어야 함)
은 관리 프로젝트
에서 UserAction 컨트롤러를 인스턴스화하는 것을 나타냅니다.
버전 1에는 계층적 컨트롤러에 대한 지원이 추가되었으므로 A 메서드를 사용하여 다른 컨트롤러를 인스턴스화할 수도 있습니다. 예:
UserEvent 컨트롤러를 인스턴스화합니다(해당 파일은 Lib/Event/UserEvent.class에 있습니다.).
컨트롤러를 인스턴스화한 후 컨트롤러에서 메서드를 호출할 수 있습니다. 그러나 프로젝트 전체를 호출할 때 작업 메서드에 현재 컨트롤러에 대한 특수 변수 작업이 있는 경우 일반적으로 알 수 없는 부분이 있다는 점에 유의해야 합니다. 공개 호출이 필요한 컨트롤러 레이어는 너무 많은 종속성 없이 별도로 개발하는 것이 좋습니다.
B방법
이것은 동작과 함께 제공되며
와 같은 특정 동작을 수행할 수 있는 새로운 기능입니다.C 방식
C 방법은 Think가 구성 매개변수를 설정, 획득, 저장하는 데 사용하는 방법으로, 더 자주 사용됩니다.
C 메소드를 이해하려면 먼저 Think의 구성을 이해해야 합니다. C 메소드의 모든 동작은 구성과 연관되어 있기 때문입니다. Think의 구성 파일은 배열 형식으로 정의됩니다.
함수 오버로딩 설계로 인해 사용법이 많아 하나씩 설명하겠습니다.
매개변수 설정
Kaedah D
Kaedah D hendaklah menjadi kaedah yang paling biasa digunakan untuk membuat contoh kelas model tersuai. Ia merupakan enkapsulasi instantiasi kelas Model oleh rangka kerja Think. Ia juga melaksanakan mod tunggal dan menyokong panggilan silang dan kumpulan . , format panggilan adalah seperti berikut:
D('[projek://][kumpulan/]model','nama lapisan model')
Nilai pulangan kaedah ialah objek model yang diinstantiasi.
Kaedah D secara automatik boleh mengesan kelas model Jika kelas model tersuai wujud, kelas model tersuai akan dijadikan instantiated berubah secara instan.
Penggunaan kaedah D yang paling biasa adalah untuk membuat model tersuai bagi projek semasa, contohnya:
Dan tidak perlu membuat instantiat lagi apabila memanggil untuk kali kedua, yang boleh mengurangkan jumlah tertentu overhed instantiasi objek.
Kaedah D boleh menyokong model instantiating merentas kumpulan dan projek, contohnya:
F 방식
F 방식은 실제로 S 방식의 하위 집합으로, 단순 데이터 캐싱에만 사용되며, 캐시 유효 기간을 지원하지 않으므로 효율성이 더 높습니다. 따라서 우리는 이를 빠른 캐시 방식이라고 부르기도 합니다.
F 방식의 특징은 다음과 같습니다.
간단한 데이터 캐싱
파일로 저장
데이터를 반환하여 캐시를 로드합니다.
하위 디렉터리 캐싱 및 자동 생성을 지원합니다.
캐시 삭제 및 일괄 삭제 지원
캐싱 쓰기 및 읽기
Kaedah G
Fungsi yang telah lama diperlukan oleh Thinkphp untuk dilengkapkan melalui kaedah debug_start, debug_end dan juga kelas Debug telah digantikan dengan kaedah G yang mudah dalam versi 3.1, yang merupakan peningkatan yang hebat.
Fungsi kaedah G merangkumi dua fungsi: kedudukan penandaan dan statistik selang. Mari kita lihat penggunaan khusus:
Tandai lokasi
Penggunaan pertama kaedah G adalah untuk menandakan kedudukan, contohnya:
Kaedah saya
Kaedah I Thinkphp adalah baharu dalam versi 3.1.3 Jika anda menggunakan versi 3.* sebelumnya, anda boleh terus merujuk kepada bahagian pembolehubah siri tutorial permulaan pantas 3.1.
Gambaran keseluruhan
Seperti yang anda lihat, kaedah I adalah ahli baru fungsi huruf tunggal Thinkphp Namanya berasal dari Input Bahasa Inggeris (input) Ia digunakan terutamanya untuk mendapatkan pembolehubah input sistem dengan lebih mudah dan selamat . Format penggunaan adalah seperti berikut:
I('Jenis pembolehubah. Nama pembolehubah',['Nilai lalai'],['Kaedah penapis'])
Jenis pembolehubah merujuk kepada kaedah permintaan atau jenis input, termasuk:
dapatkan Dapatkan parameter GET
post Dapatkan parameter POST
param secara automatik menentukan jenis permintaan untuk mendapatkan parameter GET, POST atau PUT
permintaan mendapat parameter REQUEST
put mendapat parameter PUT
sesi mendapat parameter $_SESSION
kuki mendapat parameter $_COOKIE
pelayan mendapat parameter $_SERVER
globals mendapat parameter $GLOBALS
Nota: Jenis pembolehubah tidak sensitif huruf besar-besaran.
Nama pembolehubah adalah sangat sensitif huruf besar.
Kedua-dua nilai lalai dan kaedah penapisan adalah parameter pilihan.
Penggunaan
Mari kita ambil jenis pembolehubah GET sebagai contoh untuk menggambarkan penggunaan kaedah I:
L 방식
L 메서드는 여러 언어가 활성화된 경우 현재 언어 정의를 설정하고 가져오는 데 사용됩니다.
호출 형식: L('언어 변수',['언어 값'])
언어 변수 설정
언어 패키지를 사용하여 언어 변수를 정의하는 것 외에도 L 메서드를 사용하여 언어 변수를 동적으로 설정할 수 있습니다. 예를 들면 다음과 같습니다.
M 방식
M 메소드는 기본 모델 클래스를 인스턴스화하는 데 사용됩니다. D 메소드와의 차이점은 다음과 같습니다.
, 모델 클래스를 맞춤설정하고 IO 로딩을 줄이며 성능을 높일 필요가 없습니다.
, 인스턴스화 후에는 기본 모델 클래스(기본값은 Model 클래스)의 메서드만 호출할 수 있습니다.
, 인스턴스화할 때 테이블 접두사, 데이터베이스 및 데이터베이스 연결 정보를 지정할 수 있습니다.
D 방법의 힘은 캡슐화하는 사용자 정의 모델 클래스가 얼마나 강력한지에 반영됩니다. 그러나 새로운 버전의 Think 프레임워크의 기본 모델 클래스가 점점 더 강력해짐에 따라 M 방법이 점점 더 실용적이 되고 있습니다. D 방식.
M 메소드 호출 형식:
M('[기본 모델명:]모델명','데이터 테이블 접두사','데이터베이스 연결 정보')
M 메서드의 구체적인 용도를 살펴보겠습니다.
, 기본 모델(Model) 클래스를 인스턴스화합니다
모델이 정의되지 않은 경우 다음 방법을 사용하여 작업을 위한 모델 클래스를 인스턴스화할 수 있습니다.
, 수신 테이블 접두사, 데이터베이스 및 기타 정보
M 메소드에는 세 개의 매개변수가 있습니다. 첫 번째 매개변수는 모델 이름(기본 모델 클래스 및 데이터베이스를 포함할 수 있음)이고, 두 번째 매개변수는 데이터 테이블의 접두사를 설정하는 데 사용됩니다(테이블 접두사를 사용하려면 비워 두세요). 세 번째 매개변수는 현재 사용되는 데이터베이스 연결 정보를 설정하는 데 사용됩니다(현재 프로젝트에서 구성된 데이터베이스 연결 정보를 가져오려면 공백으로 두십시오). 예:
R 방식
R 메소드는 특정 컨트롤러의 동작 메소드를 호출하는데 사용되는데, 이는 A 메소드를 더욱 강화하고 보완한 것입니다. 방법 A의 사용법은 여기를 참조하세요.
R 메서드 호출 형식:
R('[프로젝트://][그룹/]모듈/작업','매개변수','컨트롤러 레이어 이름')
예를 들어 작업 방법을 다음과 같이 정의합니다.
그런 다음 R 메소드 호출을 사용하세요
즉, R 메서드의 세 번째 매개변수는 호출의 컨트롤러 계층 지정을 지원합니다.
동시에 R 메서드는 연산 메서드 호출 시 연산 접미사 설정 C('ACTION_SUFFIX')를 지원할 수 있습니다. 연산 메서드 접미사를 설정해도 여전히 R 메서드의 호출 메서드를 변경할 필요가 없습니다.
S방식
S 메서드는 현재 캐싱 메서드에 대한 캐시 매개변수 전달도 지원합니다. 예:
T 방식
템플릿 파일을 보다 편리하게 출력하기 위해 새 버전에서는 템플릿 파일 이름을 생성하는 T 함수를 캡슐화했습니다.
사용법:
T([리소스://][모듈@][테마/][컨트롤러/]작업,[계층 구조 보기])
T 함수의 반환 값은 출력 렌더링을 위한 표시 및 가져오기 메서드에서 직접 사용할 수 있는 완전한 템플릿 파일 이름입니다.
예:
U-Methode
U-Methode wird verwendet, um die Zusammenstellung von URL-Adressen abzuschließen. Ihre Funktion besteht darin, dass sie automatisch die entsprechende URL-Adresse basierend auf dem aktuellen URL-Modus und den aktuellen Einstellungen generieren kann
U('address','parameter','pseudo-static','whether to jump','display domain name');
Anwendungsbeispiel der U-Methode:
Wenn die aktuelle URL auf den REWRITE-Modus eingestellt ist, lautet die endgültige URL, die mit derselben Methode generiert wird: http://serverName/Blog/read/id/1
Wenn Sie auch das PATHINFO-Trennzeichen festlegen:
현재 URL이 REWRITE 모드로 설정되고 의사 정적 접미사가 html로 설정된 경우 동일한 방법으로 최종 생성된 URL 주소는 다음과 같습니다.
여러 개의 의사 정적 지원이 설정된 경우 첫 번째 의사 정적 접미사가 URL 주소 끝에 자동으로 추가됩니다. 물론 U 메서드에서 생성할 의사 정적 접미사를 수동으로 지정할 수도 있습니다. , 예:
생성됩니다
U 방법은 라우팅 규칙을 정의하는 경우에도 라우팅을 지원할 수 있습니다.
그럼 사용하시면 됩니다
최종 생성된 URL 주소는 다음과 같습니다.
애플리케이션에 여러 하위 도메인의 작업 주소가 포함된 경우 U 메서드에서 주소를 생성하는 데 필요한 도메인 이름을 지정할 수도 있습니다. 예:
@ 뒤에 지정해야 하는 도메인 이름을 전달하면 됩니다.
또한, U 메소드의 다섯 번째 파라미터를 true로 설정하면 현재 도메인 이름이 자동으로 인식된다는 의미이며, 하위 도메인 이름 배포 설정인 APP_SUB_DOMAIN_DEPLOY, APP_SUB_DOMAIN_RULES에 따라 현재 주소의 하위 도메인 이름이 자동으로 생성됩니다.
URL_CASE_INSENSITIVE를 켜면 소문자 URL 주소가 균일하게 생성됩니다.