방법A
컨트롤러를 내부적으로 인스턴스화하는 메서드는 다음 형식을 호출하는 데 사용됩니다: A('[project://][group/]module','controller layer name')
가장 간단한 사용법:
은 현재 프로젝트의 UserAction 컨트롤러를 인스턴스화하는 것을 의미합니다(이 컨트롤러에 해당하는 파일은 Lib/Action/UserAction.class에 있습니다.). 그룹 모드가 채택되고 다른 관리 그룹 컨트롤러를 인스턴스화하려는 경우 다음을 수행할 수 있습니다. 사용:
프로젝트 간 인스턴스화도 지원됩니다(프로젝트 디렉터리는 동일한 수준으로 유지되어야 함)
은 관리 프로젝트
에서 UserAction 컨트롤러를 인스턴스화하는 것을 나타냅니다.
버전 1에는 계층적 컨트롤러에 대한 지원이 추가되었으므로 A 메서드를 사용하여 다른 컨트롤러를 인스턴스화할 수도 있습니다. 예:
UserEvent 컨트롤러를 인스턴스화합니다(해당 파일은 Lib/Event/UserEvent.class에 있습니다.).
컨트롤러를 인스턴스화한 후 컨트롤러에서 메서드를 호출할 수 있습니다. 그러나 프로젝트 전체를 호출할 때 작업 메서드에 현재 컨트롤러에 대한 특수 변수 작업이 있는 경우 일반적으로 알 수 없는 부분이 있다는 점에 유의해야 합니다. 공개 호출이 필요한 컨트롤러 레이어는 너무 많은 종속성 없이 별도로 개발하는 것이 좋습니다.
B방법
이것은 동작과 함께 제공되며
와 같은 특정 동작을 수행할 수 있는 새로운 기능입니다.즉, 프로젝트가 시작되기 전에 이 동작으로 정의된 모든 기능이 실행됩니다. 2개의 매개변수를 지원합니다. 두 번째 매개변수는 와 같은 배열을 허용해야 합니다.
C 방식
C 방법은 Think가 구성 매개변수를 설정, 획득, 저장하는 데 사용하는 방법으로, 더 자주 사용됩니다.
C 메소드를 이해하려면 먼저 Think의 구성을 이해해야 합니다. C 메소드의 모든 동작은 구성과 연관되어 있기 때문입니다. Think의 구성 파일은 배열 형식으로 정의됩니다.
함수 오버로딩 설계로 인해 사용법이 많아 하나씩 설명하겠습니다.
매개변수 설정
DB_NAME 구성 매개변수의 값이 think로 설정되어 있음을 나타냅니다. 구성 매개변수는 대소문자를 구분하지 않으므로 다음 작성 방법은 동일합니다.
그러나 구성 정의 사양은 동일한 대문자로 유지하는 것이 좋습니다.
프로젝트의 모든 매개변수는 적용되기 전에 이 방법을 통해 동적으로 변경될 수 있습니다. 마지막 설정 값은 기존 구성의 이전 설정이나 정의를 덮어쓰며 매개변수 구성 방법을 사용하여 새 구성을 추가할 수도 있습니다.
다음과 같은 보조 구성 매개변수 설정을 지원합니다.
레벨 2 이상으로 매개변수를 구성하는 것은 권장되지 않습니다.
여러 매개변수를 설정하려면 일괄 설정을 사용할 수 있습니다. 예:
$config['user_type'] = 1;
C($config);
Wenn der erste Parameter der C-Methode an ein Array übergeben wird, bedeutet dies eine Stapelzuweisung. Die obige Zuweisung entspricht:
C('USER_TYPE',1);
Parameter abrufen
Um die eingestellten Parameter zu erhalten, können Sie Folgendes verwenden:
$userType = C('USER_TYPE');
Wenn der Parameter USER_ID nicht definiert wurde, wird NULL zurückgegeben.
Es kann auch das Abrufen sekundärer Konfigurationsparameter unterstützen, wie zum Beispiel:
Wenn die eingehenden Konfigurationsparameter leer sind, bedeutet dies, dass alle Parameter abgerufen werden:
Einstellungen speichern
Version .1 fügt eine Funktion zum dauerhaften Speichern von Einstellungsparametern hinzu, nur für die Stapelzuweisung, zum Beispiel:
$config['user_type'] = 1;
C($config,'name');
Nachdem die Konfigurationsparameter stapelweise festgelegt wurden, werden alle aktuellen Konfigurationsparameter in der Cache-Datei (oder anderen konfigurierten Caching-Methoden) gespeichert.
Wenn Sie nach dem Speichern die gespeicherten Parameter abrufen möchten, können Sie verwenden
Unter anderem ist der Name die Cache-ID, die beim vorherigen Speichern von Parametern verwendet wurde. Sie muss konsistent sein, um die gespeicherten Parameter korrekt abzurufen. Die abgerufenen Parameter werden ohne manuelles Zusammenführen mit den aktuellen Konfigurationsparametern zusammengeführt.
D-Methode
D-Methode sollte die am häufigsten verwendete Methode sein. Sie wird zum Instanziieren benutzerdefinierter Modellklassen verwendet. Sie ist eine Kapselung der Modellklasseninstanziierung durch das Think-Framework. Sie implementiert auch den Singleton-Modus und unterstützt projektübergreifende Aufrufe . Das Aufrufformat lautet wie folgt:
D('[Projekt://][Gruppe/]Modell','Name der Modellebene')
Der Rückgabewert der Methode ist das instanziierte Modellobjekt.
Die D-Methode kann die Modellklasse automatisch erkennen. Wenn sie nicht vorhanden ist, wird das Modell nicht instanziiert wiederholt instanziiert.
Die D-Methode wird am häufigsten verwendet, um ein benutzerdefiniertes Modell des aktuellen Projekts zu instanziieren, zum Beispiel:
$User = D('User');
Es importiert die Datei Lib/Model/UserModel.class unter das aktuelle Projekt und instanziiert dann die UserModel-Klasse, sodass der tatsächliche Code möglicherweise dem folgenden entspricht:
$User = new UserModel();
Wenn Sie jedoch die D-Methode verwenden und die UserModel-Klasse nicht vorhanden ist, ruft sie automatisch auf
Und es ist nicht erforderlich, beim zweiten Aufruf erneut zu instanziieren, was einen gewissen Aufwand für die Objektinstanziierung reduzieren kann.
Die D-Methode kann die Instanziierung von Modellen über Gruppen und Projekte hinweg unterstützen, zum Beispiel:
D('Admin://Benutzer')
//Instanziieren Sie das Benutzermodell der Admin-Gruppe
D('Admin/Benutzer')
Hinweis: Um das projektübergreifende Aufrufmodell zu implementieren, müssen Sie sicherstellen, dass die Verzeichnisstrukturen der beiden Projekte parallel sind.
Ab Version .1 kann die D-Methode aufgrund der zusätzlichen Unterstützung hierarchischer Modelle auch andere Modelle instanziieren, wie zum Beispiel:
$User = D('User','Service');
// UserLogic-Klasse instanziieren
$User = D('User','Logic');
Lib/Service/UserService.class wird importiert und instanziiert, was dem folgenden Code entspricht:
$User = new UserService();
F-Methode
Die F-Methode ist eigentlich eine Teilmenge der S-Methode. Sie wird nur zum einfachen Daten-Caching verwendet und unterstützt nicht die Cache-Gültigkeitsdauer die S-Methode. Daher nennen wir sie auch die Fast-Cache-Methode.
Die Merkmale der F-Methode sind:
Einfaches Daten-Caching;
Als Datei speichern;
Laden Sie den Cache, indem Sie Daten zurückgeben
Unterstützt das Zwischenspeichern von Unterverzeichnissen und die automatische Erstellung
Unterstützt das Löschen von Cache und Batch-Löschung;
Schreib- und Lese-Caching
Code kopieren
Oder verwenden Sie zum Löschen Filterbedingungen, zum Beispiel:
G-Methode
Die Funktionen, die Thinkphp seit langem über die Methoden debug_start, debug_end und sogar die Debug-Klasse ausführen muss, wurden in Version 3.1 durch eine einfache G-Methode ersetzt, was ein großartiges Upgrade darstellt.
Die Funktion der G-Methode umfasst zwei Funktionen: Markierungsposition und Intervallstatistik. Schauen wir uns die spezifische Verwendung an:
Standort markieren
Die erste Verwendung der G-Methode besteht darin, die Position zu markieren, zum Beispiel:
Zeigt an, dass die aktuelle Position als Start-Tag markiert ist und die Ausführungszeit der aktuellen Position aufgezeichnet wird. Wenn die Umgebung dies unterstützt, kann auch die Speichernutzung aufgezeichnet werden. G-Methodenmarker können überall aufgerufen werden.
Laufzeitstatistik
Nachdem wir die Position markiert haben, können wir die G-Methode erneut aufrufen, um Intervallstatistiken durchzuführen, zum Beispiel:
// ...Andere Schnipsel
G('Ende');
// ...vielleicht gibt es hier noch anderen Code
// Statistisches Intervall durchführen
echo G('begin','end').'s';
G('begin','end') bedeutet, dass die Ausführungszeit von der Startposition bis zur Endposition gezählt wird (Einheit: Sekunden). Der Beginn muss eine markierte Position sein. Wenn die Endposition zu diesem Zeitpunkt noch nicht markiert ist Markieren Sie automatisch die aktuelle Position als End-Tag und das Ausgabeergebnis ähnelt:
Die standardmäßige statistische Genauigkeit beträgt 4 Dezimalstellen. Wenn Sie der Meinung sind, dass diese statistische Genauigkeit nicht ausreicht, können Sie sie auch wie folgt festlegen:
Mögliche Ausgabe wäre:
Statistiken zum Speicher-Overhead
Wenn Ihre Umgebung Speichernutzungsstatistiken unterstützt, können Sie auch die G-Methode verwenden, um Intervall-Speicher-Overhead-Statistiken (Einheit: KB) durchzuführen, zum Beispiel:
Der dritte Parameter verwendet m, um die Speicher-Overhead-Statistik darzustellen. Das Ausgabeergebnis kann sein:
Wenn das End-Tag nicht markiert ist, wird die aktuelle Position automatisch zuerst als End-Tag markiert.
Wenn die Umgebung keine Speicherstatistiken unterstützt, ist dieser Parameter ungültig und es werden weiterhin Intervalllaufzeitstatistiken durchgeführt.
Vergessen Sie debug_start und debug_end, Einfachheit ist der richtige Weg, wissen Sie~
Ich Methode
Die I-Methode von Thinkphp ist neu in Version 3.1.3. Wenn Sie die vorherige Version 3.* verwenden, können Sie direkt auf den Variablenteil der 3.1-Schnellstart-Tutorialreihe verweisen.
Übersicht
Wie Sie sehen können, ist die I-Methode ein neues Mitglied der vielen Einzelbuchstabenfunktionen von Thinkphp. Sie wird hauptsächlich verwendet, um Systemeingabevariablen bequemer und sicherer zu erhalten . Das Verwendungsformat ist wie folgt:
I('Variablentyp.Variablenname',['Standardwert'],['Filtermethode'])
Der Variablentyp bezieht sich auf die Anforderungsmethode oder den Eingabetyp, einschließlich:
get GET-Parameter abrufen
post POST-Parameter abrufen
param bestimmt automatisch den Anforderungstyp, um GET-, POST- oder PUT-Parameter zu erhalten
Anfrage erhält REQUEST-Parameter
put erhält PUT-Parameter
Sitzung erhält den Parameter $_SESSION
Cookie erhält den Parameter $_COOKIE
Server erhält den Parameter $_SERVER
Globals erhält $GLOBALS-Parameter
Hinweis: Bei Variablentypen wird die Groß-/Kleinschreibung nicht beachtet.
Bei Variablennamen muss die Groß-/Kleinschreibung strikt beachtet werden.
Sowohl der Standardwert als auch die Filtermethode sind optionale Parameter.
Verwendung
Nehmen wir den Variablentyp GET als Beispiel, um die Verwendung der I-Methode zu veranschaulichen:
echo I('get.name'); // Entspricht $_GET['name']
Standardwert unterstützen:
zurückgegeben echo I('get.name',''); // Wenn $_GET['name'] nicht existiert, einen leeren String zurückgeben
Nach Methode filtern:
Unterstützt das direkte Abrufen des gesamten Variablentyps, zum Beispiel:
Auf die gleiche Weise können wir Variablen vom Typ „Post“ oder andere Eingabetypen abrufen, zum Beispiel:
I('session.user_id',0); // Holen Sie sich $_SESSION['user_id'] Wenn es nicht existiert, ist es standardmäßig 0
I('cookie.'); // Holen Sie sich das gesamte $_COOKIE-Array
I('server.REQUEST_METHOD'); // Holen Sie sich $_SERVER['REQUEST_METHOD']
Der Variablentyp „param“ ist eine Framework-spezifische Methode zum Abrufen von Variablen, die die automatische Bestimmung des aktuellen Anforderungstyps unterstützt, zum Beispiel:
Wenn der aktuelle Anforderungstyp GET ist, entspricht dies GET['id']. Wenn der aktuelle Anforderungstyp POST oder PUT ist, entspricht dies dem Abrufen von _POST['id'] oder PUT-Parameter-ID.
Und Variablen vom Parametertyp können auch digitale Indizes verwenden, um URL-Parameter abzurufen (der PATHINFO-Modusparameter muss gültig sein, unabhängig davon, ob es sich um GET oder POST handelt), zum Beispiel:
Die aktuelle Zugriffs-URL-Adresse ist
Dann können wir bestehen
echo I('param.2'); // Ausgabe 06
echo I('param.3'); // Ausgabe 01
Tatsächlich kann die Schreibmethode des Parametervariablentyps wie folgt vereinfacht werden:
I('name'); // Entspricht I('param.name')
Variablenfilterung
Bei Verwendung der I-Methode durchlaufen die Variablen tatsächlich zwei Filter. Die globale Filterung erfolgt durch die Konfiguration des Parameters VAR_FILTERS. Dabei ist zu beachten, dass der Filtermechanismus des Parameters VAR_FILTERS geändert wurde Für die rekursive Filterung mit der Methode array_walk_recursive besteht die Hauptanforderung für die Filtermethode darin, dass sie als Referenz zurückgegeben werden muss. Daher ist die Einstellung von htmlspecialchars hier ungültig. Sie können eine Methode anpassen, zum Beispiel:
$value = htmlspecialchars($value);
}
Dann konfigurieren:
Wenn Sie mehrmals filtern müssen, können Sie Folgendes verwenden:
Die filter_exp-Methode ist eine in das Framework integrierte Sicherheitsfiltermethode, die verwendet wird, um Injektionsangriffe mithilfe der EXP-Funktion des Modells zu verhindern.
Da der Parameter VAR_FILTERS einen globalen Filtermechanismus festlegt und rekursive Filterung verwendet, was sich auf die Effizienz auswirkt, empfehlen wir, die erhaltenen Variablen direkt zu filtern. Zusätzlich zum Festlegen der Filtermethode im dritten Parameter der I-Methode kann auch die Filterung festgelegt werden durch Konfigurieren des Parameters DEFAULT_FILTER. Tatsächlich ist die Standardeinstellung dieses Parameters:
Mit anderen Worten, alle Erfassungsvariablen der I-Methode werden nach htmlspecialchars gefiltert, dann:
Ebenso kann dieser Parameter auch mehrere Filter unterstützen, zum Beispiel:
Wenn wir bei Verwendung der I-Methode die Filtermethode angeben, wird die Einstellung von DEFAULT_FILTER ignoriert, zum Beispiel:
Wenn der dritte Parameter der I-Methode im Funktionsnamen übergeben wird, bedeutet dies, dass die Funktion zum Filtern der Variablen aufgerufen und zurückgegeben wird (wenn die Variable ein Array ist, wird array_map automatisch zum Filtern verwendet), andernfalls die integrierte Funktion Die Methode filter_var wird zum Filtern aufgerufen, zum Beispiel:
Menunjukkan bahawa $_POST['email'] akan format disahkan dan jika ia tidak memenuhi keperluan, rentetan kosong akan dikembalikan.
(Untuk lebih banyak format pengesahan, sila rujuk penggunaan filter_var dalam manual rasmi.)
Atau anda boleh menggunakan pengenalan aksara berikut:
Nama penapis yang disokong mestilah nilai yang sah dalam kaedah filter_list (persekitaran pelayan yang berbeza mungkin berbeza nama penapis yang disokong termasuk:
boolean
terapung
validate_regexp
sahkan_url
sahkan_e-mel
sahkan_ip
rentetan
dibogelkan
dikodkan
aksara_istimewa
tidak selamat_mentah
e-mel
url
nombor_int
nombor_apung
petikan_sihir
panggil balik
Dalam sesetengah kes khas, kami tidak mahu melakukan sebarang penapisan, walaupun DEFAULT_FILTER telah ditetapkan, anda boleh menggunakan:
Setelah parameter penapisan ditetapkan kepada NULL, ini bermakna tiada penapisan akan dilakukan lagi.
Kaedah L
Kaedah L digunakan untuk menetapkan dan mendapatkan definisi bahasa semasa apabila berbilang bahasa didayakan.
Format panggilan: L('Pembolehubah bahasa',['Nilai bahasa'])
Tetapkan pembolehubah bahasa
Selain menggunakan pakej bahasa untuk menentukan pembolehubah bahasa, kita boleh menggunakan kaedah L untuk menetapkan pembolehubah bahasa secara dinamik, contohnya:
Takrif bahasa tidak sensitif huruf besar-besaran, jadi perkara berikut juga setara:
Walau bagaimanapun, demi penyeragaman, kami mengesyorkan agar anda menggunakan huruf besar untuk menentukan pembolehubah bahasa.
Kaedah L menyokong tetapan kelompok pembolehubah bahasa, contohnya:
$lang['lang_var2'] = 'Takrifan bahasa 2';
$lang['lang_var3'] = 'Takrifan bahasa 3';
L($lang);
Menunjukkan bahawa tiga pembolehubah bahasa lang_var1, lang_var2 dan lang_var3 ditetapkan pada masa yang sama.
[-lagi-]
Dapatkan pembolehubah bahasa
Atau:
Jika parameter kosong, ini bermakna untuk mendapatkan semua pembolehubah bahasa yang ditakrifkan pada masa ini (termasuk dalam fail definisi bahasa):
Atau kita juga boleh menggunakan dalam templat
um die Sprachdefinition auszugeben.
M-Methode
Die M-Methode wird zum Instanziieren einer Basismodellklasse verwendet. Der Unterschied zur D-Methode ist:
, keine Notwendigkeit, Modellklassen anzupassen, die E/A-Belastung zu reduzieren und eine bessere Leistung zu erzielen
Nach der Instanziierung können nur Methoden in der Basismodellklasse (Standard ist die Modellklasse) aufgerufen werden
, Sie können beim Instanziieren das Tabellenpräfix, die Datenbank und die Datenbankverbindungsinformationen angeben
Die Leistungsfähigkeit der D-Methode spiegelt sich darin wider, wie leistungsfähig die von Ihnen gekapselte benutzerdefinierte Modellklasse ist. Da jedoch die grundlegenden Modellklassen der neuen Version des Think-Frameworks immer leistungsfähiger werden, wird die M-Methode immer praktischer die D-Methode.
M-Methodenaufrufformat:
M('[Basismodellname:]Modellname','Datentabellenpräfix','Datenbankverbindungsinformationen')
Werfen wir einen Blick auf die spezifischen Einsatzmöglichkeiten der M-Methode:
, instanziieren Sie die Basismodellklasse (Model)
Wenn kein Modell definiert ist, können wir die folgende Methode verwenden, um eine Modellklasse für den Betrieb zu instanziieren:
$User->select();
Diese Methode ist die einfachste und effizienteste, da keine Modellklassen definiert werden müssen und daher projektübergreifende Aufrufe unterstützt werden. Der Nachteil besteht auch darin, dass es keine benutzerdefinierte Modellklasse gibt, sodass die entsprechende Geschäftslogik nicht geschrieben werden kann und nur grundlegende CURD-Operationen ausgeführt werden können.
Die erste Instanziierungsmethode verfügt über keine Modellklassendefinition, daher ist es schwierig, einige zusätzliche logische Methoden zu kapseln. In den meisten Fällen müssen Sie jedoch möglicherweise nur eine allgemeine Logik erweitern. Anschließend können Sie die folgende Methode ausprobieren.
Da die Modellklassen des Systems automatisch geladen werden können, müssen wir die Klassenbibliothek vor der Instanziierung nicht manuell importieren. Die Modellklasse CommonModel muss Model erben. Wir können einige allgemeine logische Methoden in der CommonModel-Klasse definieren, wodurch die Notwendigkeit entfällt, für jede Datentabelle spezifische Modellklassen zu definieren. Wenn Ihr Projekt bereits über mehr als 100 Datentabellen verfügt, sind die meisten davon grundlegend. Für CURD-Operationen sind dies nur einige Modelle Da es sich um eine komplexe Geschäftslogik handelt, die gekapselt werden muss, ist die Kombination der ersten Methode und der zweiten Methode eine gute Wahl.
, eingehendes Tabellenpräfix, Datenbank und andere Informationen
Die M-Methode verfügt über drei Parameter. Der erste Parameter ist der Modellname (kann grundlegende Modellklassen und Datenbanken umfassen), und der zweite Parameter wird zum Festlegen des Präfixes der Datentabelle verwendet (lassen Sie ihn leer, um das Tabellenpräfix zu übernehmen). Der dritte Parameter wird verwendet, um die aktuell verwendeten Datenbankverbindungsinformationen festzulegen (lassen Sie ihn leer, um die vom aktuellen Projekt konfigurierten Datenbankverbindungsinformationen zu übernehmen), zum Beispiel:
Mewakili instantiating kelas model Model dan mengendalikan jadual pengguna dalam pangkalan data db1.
Jika pangkalan data yang anda kendalikan memerlukan akaun pengguna yang berbeza, anda boleh menghantar maklumat sambungan pangkalan data, contohnya:
Model digunakan untuk mewakili kelas model asas, dan kemudian jadual think_user dikendalikan, akaun user_a digunakan untuk menyambung ke pangkalan data, dan pangkalan data operasi adalah think.
Parameter maklumat sambungan ketiga boleh menggunakan konfigurasi DSN atau konfigurasi tatasusunan, dan juga boleh menyokong parameter konfigurasi.
Contohnya, dikonfigurasikan dalam fail konfigurasi projek:
Kemudian anda boleh menggunakan:
Kelas model asas dan pangkalan data boleh digunakan bersama, contohnya:
Jika kita ingin membuat contoh model hierarki, kita boleh menggunakan kelas model awam:
untuk membuat instantiate UserLogic, walaupun ini tidak masuk akal, kerana anda boleh menggunakan
mencapai fungsi yang sama.
Kaedah R
Kaedah R digunakan untuk memanggil kaedah operasi pengawal tertentu, yang merupakan peningkatan dan tambahan lagi kaedah A. Lihat di sini untuk penggunaan kaedah A.
Format panggilan kaedah R:
R('[Projek://][Kumpulan/]Modul/Operasi','Parameter','Nama lapisan Pengawal')
Sebagai contoh, kami mentakrifkan kaedah operasi sebagai:
butiran fungsi awam($id){
Kembalikan M('Pengguna')->cari($id);
}
}
Kemudian anda boleh memanggil kaedah operasi ini dalam pengawal lain melalui kaedah R (biasanya kaedah R digunakan untuk panggilan silang modul)
Menunjukkan bahawa kaedah perincian pengawal Pengguna dipanggil (kaedah perincian mestilah jenis awam), dan nilai pulangan adalah untuk menanyakan data pengguna dengan ID 5. Jika kaedah operasi yang anda ingin panggil tidak mempunyai sebarang parameter, parameter kedua boleh dibiarkan kosong dan digunakan terus:
Ia juga boleh menyokong panggilan merentas kumpulan dan projek, contohnya:
Menunjukkan memanggil kaedah perincian pengawal Pengguna di bawah kumpulan Pentadbir.
Menunjukkan memanggil kaedah perincian pengawal Pengguna di bawah projek Pentadbiran.
Pengesyoran rasmi adalah untuk tidak membuat terlalu banyak panggilan pada lapisan yang sama, yang akan menyebabkan kekeliruan logik Bahagian yang dipanggil secara umum harus dirangkumkan ke dalam antara muka yang berasingan Anda boleh menggunakan ciri baharu pengawal berbilang lapisan untuk menambah lapisan pengawal yang berasingan untuk panggilan Antara Muka, sebagai contoh, kami menambah lapisan pengawal Api,
butiran fungsi awam($id){
Kembalikan M('Pengguna')->cari($id);
}
}
Kemudian, gunakan panggilan kaedah R
$data = R('Pengguna/detail',array('5'),'Api');
Dalam erti kata lain, parameter ketiga kaedah R menyokong penetapan lapisan pengawal panggilan.
Pada masa yang sama, kaedah R boleh menyokong tetapan akhiran operasi C ('ACTION_SUFFIX') semasa memanggil kaedah operasi Jika anda menetapkan akhiran kaedah operasi, anda masih tidak perlu menukar kaedah panggilan kaedah R.
Kaedah S
S juga menyokong penghantaran parameter cache untuk kaedah cache semasa, contohnya:
S('data',$Data,3600,'Fail',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/'));
Selepas ujian, apabila digunakan dengan cara ini, hanya tiga parameter pertama sahaja yang sah, dan selebihnya tidak sah
{ 'Fail',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/')}
Akhirnya gunakan cara ini:
S('data1',$list,array('prefix'=>aaa','expire'=>'3600','temp'=>RUNTIME_PATH.'temp/1236'));
Apabila diperoleh:
$sdata = S('data1','',array('prefix'=>'aaa','temp'=>RUNTIME_PATH.'temp/1236'));
Kaedah T
Untuk mengeluarkan fail templat dengan lebih mudah, versi baharu merangkum fungsi T untuk menjana nama fail templat.
Penggunaan:
T([Sumber://][Modul@][Tema/][Pengawal/]Operasi,[Lihat Hierarki])
Nilai pulangan bagi fungsi T ialah nama fail templat lengkap, yang boleh digunakan secara langsung dalam kaedah paparan dan ambil untuk memaparkan output.
Contohnya:
T('Awam/menu');
// Kembali ke modul semasa/View/Public/menu.html
T('biru/Awam/menu');
// Kembalikan modul semasa/View/blue/Public/menu.html
T('Awam/menu','Tpl');
// Kembalikan modul semasa/Tpl/Public/menu.html
T('Awam/menu');
// Jika TMPL_FILE_DEPR ialah _ kembalikan modul semasa/Tpl/Public_menu.html
T('Awam/menu');
// Jika TMPL_TEMPLATE_SUFFIX ialah .tpl, kembalikan modul semasa/Tpl/Public/menu.tpl
T('Admin@Public/menu');
// Kembali ke Admin/View/Public/menu.html
T('Extend://Admin@Public/menu');
// Kembali ke Extend/Admin/View/Public/menu.html (Direktori Extend bergantung pada konfigurasi dalam AUTOLOAD_NAMESPACE)
Gunakan fungsi T secara langsung dalam kaedah paparan:
Fungsi T boleh mengeluarkan templat hierarki pandangan yang berbeza.
Kaedah U
U digunakan untuk melengkapkan pemasangan alamat URL Cirinya ialah ia boleh menjana alamat URL yang sepadan secara automatik berdasarkan mod dan tetapan URL semasa
U('alamat','parameter','pseudo-statik','sama ada hendak melompat','paparkan nama domain');
Boleh juga menyokong panggilan kumpulan:
Sudah tentu, anda juga boleh menulis nama operasi untuk menunjukkan panggilan modul semasa
Selain nama kumpulan, modul dan operasi, kami juga boleh memasukkan beberapa parameter:
Parameter kedua kaedah U menyokong parameter masuk dan menyokong dua kaedah definisi: tatasusunan dan rentetan Jika ia hanya parameter rentetan, ia boleh ditakrifkan dalam parameter pertama >
U('Blog/catecate_id=1&status=1')
Tetapi kaedah takrifan berikut tidak dibenarkan melepasi parameter:
Menurut tetapan URL projek yang berbeza, panggilan kaedah U yang sama boleh menghasilkan kesan alamat URL yang berbeza, contohnya:
Takrifan ini ialah contoh. Jika URL semasa ditetapkan kepada mod biasa, alamat URL yang dijana terakhir ialah:
Jika URL semasa ditetapkan kepada mod PATHINFO, URL akhir yang dijana dengan kaedah yang sama ialah: http://serverName/index./Blog/read/id/1
Jika URL semasa ditetapkan kepada mod TULIS SEMULA, URL akhir yang dijana dengan kaedah yang sama ialah: http://serverName/Blog/read/id/1
Jika anda juga menetapkan pembatas PATHINFO:
akan dijana
Jika URL semasa ditetapkan kepada mod TULIS SEMULA dan akhiran pseudo-statik ditetapkan kepada html, alamat URL akhirnya dijana dengan kaedah yang sama ialah:
Jika berbilang sokongan statik pseudo-statik ditetapkan, akhiran pseudo-statik pertama akan ditambahkan secara automatik pada penghujung alamat URL Sudah tentu, anda juga boleh menentukan akhiran pseudo-statik secara manual untuk dijana dalam kaedah U , sebagai contoh:
U('Blog/baca','id=1','xml')
akan dijana
Kaedah U juga boleh menyokong penghalaan Jika kita mentakrifkan peraturan penghalaan:
'news/:idd'=>'Berita/baca'
Kemudian anda boleh menggunakannya
U('/news/1')
Alamat URL yang dijana akhir ialah:
Jika aplikasi anda melibatkan alamat operasi berbilang subdomain, anda juga boleh menentukan nama domain yang perlu menjana alamat dalam kaedah U, contohnya:
Hanya masukkan nama domain yang perlu dinyatakan selepas @.
Selain itu, jika parameter kelima kaedah U ditetapkan kepada benar, ini bermakna nama domain semasa diiktiraf secara automatik dan nama subdomain bagi alamat semasa dijana secara automatik berdasarkan tetapan penggunaan nama subdomain APP_SUB_DOMAIN_DEPLOY dan APP_SUB_DOMAIN_RULES.
Jika URL_CASE_INSENSITIVE dihidupkan, alamat URL huruf kecil akan dijana secara seragam.

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP bleibt ein leistungsstarkes und weit verbreitetes Tool in der modernen Programmierung, insbesondere im Bereich der Webentwicklung. 1) PHP ist einfach zu bedienen und nahtlos in Datenbanken integriert und für viele Entwickler die erste Wahl. 2) Es unterstützt die Erzeugung der dynamischen Inhalte und die objektorientierte Programmierung, die für die schnelle Erstellung und Wartung von Websites geeignet sind. 3) Die Leistung von PHP kann verbessert werden, indem Datenbankabfragen zwischengespeichert und optimiert werden, und die umfangreiche Community und sein reiches Ökosystem machen es im heutigen Technologiestack immer noch wichtig.

In PHP werden schwache Referenzen in der WeaPreference -Klasse implementiert und verhindern nicht, dass der Müllsammler Objekte zurückerobern. Schwache Referenzen eignen sich für Szenarien wie Caching -Systeme und Event -Hörer. Es ist zu beachten, dass es das Überleben von Objekten nicht garantieren kann und dass die Müllsammlung möglicherweise verzögert wird.

Mit der \ _ \ _ -Invoke -Methode können Objekte wie Funktionen bezeichnet werden. 1. Definieren Sie die Methode \ _ \ _, damit das Objekt aufgerufen werden kann. 2. Bei Verwendung der Syntax $ OBJ (...) wird PHP die Methode \ _ \ _ aufrufen. 3.. Geeignet für Szenarien wie Protokollierung und Taschenrechner, Verbesserung der Codeflexibilität und Lesbarkeit.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen