Heim > Backend-Entwicklung > PHP-Problem > Wozu dient das PHP-Feld?

Wozu dient das PHP-Feld?

藏色散人
Freigeben: 2023-03-12 16:02:01
Original
2304 Leute haben es durchsucht

Die Verwendung des PHP-Felds ist: 1. Verwenden Sie „$Model->field('id,title,content')->select();“ im Abfragevorgang; Die Methode „(array(...))“ definiert Aliase usw. für bestimmte Felder.

Wozu dient das PHP-Feld?

Die Betriebsumgebung dieses Artikels: Windows 7-System, Thinkphp v5.1-Version, Dell G3-Computer

Verwendung von Feldern in PHP

In der kohärenten Betriebsmethode von ThinkPHP gibt es viele Verwendungstechniken für die Feldmethode, und die Feldmethode dient hauptsächlich dazu, die Felder zu identifizieren, die zurückgegeben oder bearbeitet werden sollen, wie unten beschrieben.

1. Wird für Abfragen verwendet

Bei Abfragevorgängen wird die Feldmethode am häufigsten verwendet.

$Model->field('id,title,content')->select();
Nach dem Login kopieren

Die Feldmethode wird hier verwendet, um die Werte der drei Felder einschließlich ID, Titel und Inhalt im Abfrageergebnissatz anzugeben. Das ausgeführte SQL entspricht:

SELECT id,title,content FROM table
Nach dem Login kopieren

Natürlich können neben der Select-Methode auch alle Abfragemethoden, einschließlich Find usw., die Feldmethode verwenden. Hier verwenden wir nur Select als Beispiel.

Das obige Beispiel kann auch durch ein Array ersetzt werden: [-more-]

$Model->field(array('id','title','content'))->select();
Nach dem Login kopieren

Das endgültig ausgeführte SQL entspricht dem oben genannten.

^_^ Es scheint, dass die Verwendung von Arrays zu kompliziert ist, aber ziehen Sie noch nicht diese Schlussfolgerung, Sie werden die Vorteile der Verwendung von Arrays später verstehen.
Die Definition im Array-Modus kann Aliase für bestimmte Felder definieren, zum Beispiel:

  1. $Model->field(array('id','title'=>' name ','content'))->select();

Das ausgeführte SQL entspricht:

  1. WÄHLEN Sie ID ,Titel als Name,Inhalt AUS Tabelle

Wenn Sie es direkt verwenden möchten:

  1. $Modell->Feld ( ' id,title as name,content')->select();

kann zu falschen Ergebnissen führen.
Bei einigen komplexeren Feldanforderungen sind die Vorteile von Arrays offensichtlicher, zum Beispiel:

  1. $Model->field(array('id','concat(name,' -',id)'=>'truename','LEFT(title,7)'=>'sub_title'))->select(); Das ausgeführte SQL entspricht: SELECT id,concat( name,'-',id )astruename
  2. ,
LEFT

(

title
    ,
  1. 7 )assub_title FROM table Ich glaube, jeder versteht, dass, wenn man SQL-Funktionen in Feldern verwenden muss, die Die Array-Methode kann eine gute Lösung sein. Ist das der einzige Effekt der Feldmethode? Wenn Sie das glauben, unterschätzen Sie die Feldmethode von ThinkPHP. ThinkPHP berücksichtigt die Details viel sorgfältiger als Sie denken^_^. Schauen wir uns zunächst die folgende Situation an. Wenn es eine Tabelle mit vielen Feldern und zwei Anforderungen gibt, besteht die erste Anforderung darin, alle Felder abzurufen, da es nicht möglich ist, die Feldmethode aufzurufen oder verwenden Sie direkt die Leerfeldmethode. Dies ist tatsächlich möglich:
    1. $Model->select();
    2. $Model->select(); $Model-> Feld
    3. (
    4. '*' )-& gt; Select (); Die obige drei Verwendungen sind gleichwertig und entsprechen der Ausführung SQL:
    Select

    *

    aus Tabelle
    1. Aber das ist nicht das, was ich gesagt habe alle Felder abrufen, ich hoffe, alle Felder explizit aufzurufen (für Systeme mit hohen Leistungsanforderungen ist dies der Fall Die Anforderung ist nicht übermäßig, zumindest ist es eine relativ gute Angewohnheit), dann OK, es ist immer noch sehr einfach, die folgende Verwendung kann den erwarteten Effekt erzielen:

    $Model->

    field
      (
    1. true)-> ;select(); fied(true) ruft explizit die Liste aller Felder in der Datentabelle ab, auch wenn Ihre Datentabelle 100 Felder enthält. Die zweite Anforderung besteht darin, dass ich alle Feldwerte mit Ausnahme des Inhaltsfelds erhalten möchte (der Wert des Textfelds ist sehr speicherintensiv). Wir können beispielsweise die folgende Methode verwenden kann die obige Funktion erreichen:

    $Model
    ->

    field
      (
    1. 'content',true)->select();. Um mehr auszuschließen. Die Felder können auch sein:
    $Model

    ->

    field
      (
    1. 'user_id,content',true)->select(); //Oder verwenden Sie
    2. $Model->field
    3. (
    4. array('user_id','content' ),wahr) ->select ();2. Zum SchreibenZusätzlich zu Abfrageoperationen verfügt die Feldmethode auch über ein sehr wichtiges Sicherheitsfunktionsfeld Legalitätserkennung (
    5. Hinweis: Diese Funktion wird erst ab Version 3.1 unterstützt
    ). Die Feldmethode kann in Kombination mit der Erstellungsmethode die Feldlegalitätserkennung der Formularübermittlung vervollständigen, wenn wir sie in der Formularübermittlungsverarbeitungsmethode verwenden:

    $Model->

    field
      (
    1. 'title,email,content ')->create(); bedeutet, dass die einzigen zulässigen Felder im Formular Titel, E-Mail und Inhaltsfelder sind, unabhängig davon, welche Bedeutung der Benutzer ändert oder ergänzt Die Übermittlungsfelder des Browsers werden direkt blockiert. Da es alle anderen Felder gibt, die nicht durch Benutzereingaben bestimmt werden sollen, können Sie über die Autovervollständigungsfunktion zusätzliche Felder definieren, in die geschrieben werden soll.
    2. Zusammenfassung

    Anhand der Verwendung der Feldmethode sollten wir in der Lage sein, die sogenannte kleine Methode, aber große Verwendung zu verstehen. Natürlich hoffen wir, dass ThinkPHP Ihrer Entwicklung mehr Komfort und Überraschung bringen kann Teilen Sie Ihre Nutzung und Erfahrung!

    Empfohlenes Lernen: „

    PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWozu dient das PHP-Feld?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage