Was ist eine Schnecke?

Lesezeit: 6 Minuten

Benutzer-Avatar
mzyrc

Ich arbeite gerade das CodeIgniters-Tutorial in seiner fantastischen Dokumentation durch. Es gibt jedoch einen Begriff, der häufig verwendet wird und der als “Schnecke” bezeichnet wird. Ich habe mich viel umgesehen, um herauszufinden, was der Begriff bedeutet, und ich kann nicht verstehen, was es ist und wofür es ist. Hier ist ein Beispiel dafür, wann es verwendet wird:

Mit diesem Code können Sie zwei verschiedene Abfragen durchführen. Sie können alle Nachrichtenaufzeichnungen erhalten oder eine Nachricht einzeln erhalten

  • Ich bin mir nicht sicher, ob es in CI mehr Bedeutung hat, aber im Allgemeinen: en.wikipedia.org/wiki/Slug_(web_publishing)#Slug

    – dev-null-Bewohner

    12. Oktober 2013 um 14:28 Uhr

  • Wie würde dann der folgende Code zusammenhängen: public function get_news($slug = FALSE) { if ($slug === FALSE) { $query = $this->db->get(‘news’); return $query->result_array(); } $query = $this->db->get_where(‘news’, array(‘slug’ => $slug)); return $query->row_array(); }

    – mzyrc

    12. Oktober 2013 um 14:31 Uhr


  • Sieht so aus, als würde es Nachrichten mit dem angegebenen Slug zurückgeben. Genau wie das Finden nach ID, aber anstelle der numerischen ID geben Sie einen eindeutigen Slug an.

    – dev-null-Bewohner

    12. Oktober 2013 um 14:33 Uhr

  • Was wäre eine einzigartige Schnecke? Wie ein Schlüsselwort?

    – mzyrc

    12. Oktober 2013 um 14:39 Uhr

Benutzer-Avatar
Petre Pătraşc

Ein Slug ist ein Teil der URL, wenn Sie auf eine Ressource zugreifen. Angenommen, Sie haben eine URL wie die folgende, die alle Autos in Ihrem System anzeigt:

http://localhost/cars

Wenn Sie auf ein bestimmtes Auto in Ihrem System verweisen möchten, geben Sie die folgende URL an:

http://localhost/cars/audi-a6/

Beachten Sie, dass die URL immer noch sehr logisch und sehr SEO-freundlich ist. In Bezug auf die Verwendung der Schnecke liegt dies in Ihrem eigenen Ermessen. Das audi-a6 Die obige Zeichenfolge kann eine eindeutige Kennung für ein Auto in Ihrem System sein – nehmen wir an, Sie haben eine relationale Datenbank mit den folgenden Feldern:

id
car_name
car_brand
car_unique_identifier

Das Feld car_unique_identifier würde dann verwendet werden, um die Werte zu speichern, die im Slug angezeigt werden; In dem Beispiel, das ich oben mit einem Audi A6-Auto angegeben habe, ist dies der Ort, an dem Sie audi-a6 Schnur würde leben.

Sie können es auch auf andere Weise verwenden – zum Beispiel, wenn Sie eine haben Beiträge Controller, der wie ein Blog funktioniert. Der Titel für eine Seite könnte der Slug dafür sein, wenn sie URL-kodiert ist. Für unseren Artikel mit dem Titel „Die besten Möglichkeiten, SEO besser zu machen“ können Sie die folgende URL angeben:

http://localhosts/posts/best-ways-to-make-seo-better

Du würdest dann laufen url_decode() auf der Schnecke, und Sie würden die Zeichenfolge erhalten Die besten Möglichkeiten, SEO besser zu machendie Sie verwenden können, um einen Beitrag über seinen Titel zu finden.

Es muss hier nicht aufhören – Sie können sich entscheiden, mehrere Slugs zu haben, um etwas darzustellen – werfen wir einen Blick darauf, wie BBC es macht. Ich habe einen zufälligen Artikel von heute genommen, der die folgende URL hat:

http://www.bbc.co.uk/news/world-africa-24506006

Dies ist ein Link zu einem Artikel mit dem Namen: Die Afrikanische Union fordert den IStGH auf, Verfahren gegen Führer einzustellen. Die BBC macht es so, dass sie den letzten Teil der Schnecke verwenden Welt-Afrika-24506006welches ist 24506006, um einen eindeutigen Eintrag in ihrem System zu identifizieren. Sie verwenden dann höchstwahrscheinlich Welt-Afrika um die Kategorie anzugeben, zu der ein Beitrag gehört (obwohl dies nur eine Annahme sein kann, ist es immer noch eine fundierte Vermutung).

Stellen wir uns abschließend die folgende DB-Tabelle für Forschungsarbeiten vor.

id
category
title

Möglicherweise haben Sie ein Beispiel, das wie das folgende funktioniert.

http://localhost/papers

Diese URL stellt alle Forschungsarbeiten dar, die derzeit im System vorhanden sind. Sie können dann über den folgenden Slug auf alle Forschungsarbeiten zur Physik zugreifen:

http://localhost/papers/physics

Unsere Schnecke ist Physikund unsere Datenbankauswahl sieht derzeit in etwa so aus:

SELECT *
FROM papers
WHERE LOWER(papers.category) = 'physics'

Sie können dann die folgende URL verfügbar machen:

http://localhost/papers/physics/gravitation

Jetzt besteht unsere Schnecke aus Physik und Gravitation. Unsere Abfrage hinter den Kulissen könnte etwa so aussehen:

SELECT *
FROM papers
WHERE LOWER(papers.category) = 'physics'
AND LOWER(papers.title) = 'gravitation'

Dies ermöglicht uns, einen Eintrag in unserem System eindeutig zu identifizieren.

Wir haben also wiederholt Slugs verwendet, um unsere Informationen herauszufiltern. In dem Beispiel, als wir die URL ohne Slugs ausgeführt haben:

http://localhost/papers

Wir wollten alle verfügbaren Forschungsarbeiten auflisten. Als wir die URL mit der Physik Schnecke:

http://localhost/papers/physics

Wir wollten alle Forschungsarbeiten auflisten Physik, wodurch unsere Ergebnisse eingeschränkt werden. Als wir schließlich zwei Slugs bereitstellten, konnten wir einen Eintrag in unserem System eindeutig identifizieren.

http://localhost/papers/physics/gravitation

Hätten wir das anders modellieren können? Na sicher! Abhängig von den Anforderungen unseres Systems können wir unsere relationalen Tabellen normalisieren und denormalisieren. Wir hätten ein Permalink-System einrichten können, sodass unsere Beitragstabelle so aussah:

 id
 title
 permalink

Dann hätten wir vielleicht folgenden Eintrag gehabt:

 | 20013 | Gravitation | physics-gravitation-breakthrough |

So wird die URL offengelegt:

 http://localhost/papers/physics-gravitation-breakthrough

Im obigen Beispiel die Schnecke Physik-Gravitation-Durchbruch ermöglicht es uns, einen Beitrag eindeutig zu identifizieren über:

 SELECT *
 FROM papers
 WHERE papers.permalink = physics-gravitation-breakthrough

  • Gibt es eine Möglichkeit, wo ich die URL wie folgt ändern kann: localhost/audi-a6 Dies. Ich möchte nicht, dass der Elternteil in die UR aufgenommen wird.

    – rahim.nagori

    12. März 2020 um 5:45 Uhr

Benutzer-Avatar
Oluckmann

Kurze Antwort

Es ist das what-is-a-slug Teil in der URL dieser Frage.

  • Kurz und kreativ! 🙂

    – Jaladh Singhal

    30. Juni 2021 um 18:41 Uhr

Benutzer-Avatar
Vaibhav Singh

“Slug” ist ein völlig kontextabhängiges Wort, aber beim Programmieren oder in Bezug auf diese Frage hier bezieht sich “Slug” auf eine URL. Wir wissen, dass eine URL nicht alle Zeichen enthalten kann. Aus diesem Grund wird, wenn ein Beitrag, eine Seite oder ein Controller diese als Titel eingegeben hat, der Slug als URL verwendet. Welche möglicherweise automatisch abgeleitet werden.

In einer Zeile ist slug also a URL-freundliche Version beliebigen Namens.

Benutzer-Avatar
Vijay Chauhan

Das Folgende ist ein Beispiel für einen Slug:

 <?php
 function create_slug($string){
  $slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
  return $slug;
   }
  echo create_slug('does this thing work or not');
   //returns 'does-this-thing-work-or-not'
  ?>

Alle oben gegebenen Antworten sind richtig, aber ich möchte direkt auf die Frage antworten.
Schnecke im Beispiel des Codeigniter-Tutorials bezieht sich auf die URL “Nachrichten“. Wenn Sie “news” nicht als $slug oder slug in Ihrer Datenbank haben und diese URL in Ihrem Browser ausführen, wird “index.php/news/view” den Fehler 404_page not found zurückgeben. Ich bin auf dieses Problem gestoßen, bis ich Lesen Sie die obigen Antworten, die mir das Verständnis dafür gegeben haben, was Slug bedeutet.Ich ändere meinen Slug in der Datenbanktabelle in Nachrichten.Slug ist wie ein Zeiger.

1338390cookie-checkWas ist eine Schnecke?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy