Inhaltsverzeichnis
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring
Heim Backend-Entwicklung PHP-Tutorial CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring_PHP教程

CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring_PHP教程

Jul 12, 2016 am 08:52 AM
ci框架 uri

CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring

本文实例讲述了CI框架URI.php中_fetch_uri_string()函数用法。分享给大家供大家参考,具体如下:

APPPATH/config/config.php中对于url 格式的拟定。

$config['uri_protocol'] = 'AUTO';

Nach dem Login kopieren

这个配置项目定义了你使用哪个服务器全局变量来拟定URL。
默认的设置是auto,会把下列四个方式轮询一遍。当你的链接不能工作的时候,试着用用auto外的选项。

'AUTO' Default - auto detects
'PATH_INFO' Uses the PATH_INFO
'QUERY_STRING' Uses the QUERY_STRING
'REQUEST_URI' Uses the REQUEST_URI
'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO

CI_URI中的几个成员变量

$keyval = array(); //List  of cached uri segments
$uri_string; //Current  uri string
$segments //List  of uri segments
$rsegments = array() //Re-indexed  list of uri segments

Nach dem Login kopieren

获取到的current uri string 赋值到 $uri_string ,通过function _set_uri_string($str)。

获取到$str有几个选项,也就是_fetch_uri_string()的业务流程部分了

一、默认

$config['uri_protocol'] = 'AUTO'
Nach dem Login kopieren

时,程序会一次轮询下列方式来获取URI

(1)当程序在CLI下运行时,也就是在命令行下php文件时候。ci会这么获取URI

private function _parse_cli_args()
{
  $args = array_slice($_SERVER['argv'], 1);
  return $args ? '/' .implode('/',$args) : '';
}

Nach dem Login kopieren

$_SERVER['argv'] 包含了传递给脚本的参数 当脚本运行在CLI时候,会给出c格式的命令行参数

截取到$_SERVER['argv']中除了第一个之外的所有参数

如果你在命令行中这么操作

php d:\wamp\www\CodeIgniter\index.php\start\index

Nach dem Login kopieren

_parse_cli_args() 返回一个 /index.php/start/index的字符串

(2)默认使用REQUEST_URI来探测url时候会调用 私有函数 _detect_uri()

(3)如果上面的两种方式都不能获取到uri那么会采用$_SERVER['PATH_INFO']来获取

$path = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO']  : @getenv('PATH_INFO');
if (trim($path, '/')  != '' && $path != "/".SELF)
{
  $this->_set_uri_string($path);
  return;
}

Nach dem Login kopieren

(4)如果上面三种方式都不能获取到,那么就使用

$_SERVER['QUERY_STRING']或者getenv['QUERY_STRING']

$path = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING');
if (trim($path, '/') != '')
{
  $this->_set_uri_string($path);
  return;
}

Nach dem Login kopieren

(5)上面四种方法都不能获取到URI,那么就要使用$_GET数组了,没招了

if (is_array($_GET) && count($_GET) == 1 && trim(key($_GET), '/') != '')
{
  $this->_set_uri_string(key($_GET));
  return;
}

Nach dem Login kopieren

二、在config.php中设定了:

$config['uri_protocol']

Nach dem Login kopieren

那么 程序会自动执行相应的操作来获取uri

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127854.htmlTechArticleCI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring 本文实例讲述了CI框架URI.php中_fetch_uri_string()函数用法。分享给大家供大家...
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich das CI-Framework in PHP? Wie verwende ich das CI-Framework in PHP? Jun 01, 2023 am 08:48 AM

Mit der Entwicklung der Netzwerktechnologie ist PHP zu einem wichtigen Werkzeug für die Webentwicklung geworden. Eines der beliebtesten PHP-Frameworks – CodeIgniter (im Folgenden als CI bezeichnet) hat ebenfalls immer mehr Aufmerksamkeit und Verwendung gefunden. Heute werfen wir einen Blick auf die Verwendung des CI-Frameworks. 1. Installieren Sie das CI-Framework. Zuerst müssen wir das CI-Framework herunterladen und installieren. Laden Sie die neueste Version des komprimierten CI-Framework-Pakets von der offiziellen Website von CI herunter (https://codeigniter.com/). Nachdem der Download abgeschlossen ist, entpacken Sie ihn

Wie man URI am Nginx-Standort abfängt Wie man URI am Nginx-Standort abfängt May 18, 2023 pm 12:07 PM

Hinweis: Die Root- und Aliasroot-Anweisungen in location legen den Suchstamm nur auf das von root festgelegte Verzeichnis fest, d Die Aias-Anweisung schneidet die passende URL ab und verwendet dann den durch Alias ​​festgelegten Pfad plus die verbleibende URL als Unterpfad, um die URL von Proxy_Pass an der Position zu finden. Wenn die URL von Proxy_Pass keine URL hat und das Ende „/“ ist. ", die passende URL wird abgeschnitten. Wenn das Ende nicht „/" ist, wird die passende URL nicht abgeschnitten, wenn die Proxy_Pass-URL eine URL enthält

So verwenden Sie das CI-Framework in PHP So verwenden Sie das CI-Framework in PHP Jun 27, 2023 pm 04:51 PM

PHP ist eine beliebte Programmiersprache, die in der Webentwicklung weit verbreitet ist. Das CI-Framework (CodeIgniter) ist eines der beliebtesten Frameworks in PHP. Es bietet einen vollständigen Satz vorgefertigter Tools und Funktionsbibliotheken sowie einige beliebte Designmuster, mit denen Entwickler Webanwendungen effizienter entwickeln können. In diesem Artikel werden die grundlegenden Schritte und Methoden zur Entwicklung von PHP-Anwendungen mithilfe des CI-Frameworks vorgestellt. Verstehen Sie die grundlegenden Konzepte und Strukturen des CI-Frameworks. Bevor wir das CI-Framework verwenden, müssen wir einige grundlegende Konzepte und Strukturen verstehen. Runter

Wie verwende ich das CI4-Framework in PHP? Wie verwende ich das CI4-Framework in PHP? Jun 01, 2023 pm 02:40 PM

PHP ist eine weit verbreitete serverseitige Skriptsprache und CodeIgniter4 (CI4) ist ein beliebtes PHP-Framework, das eine schnelle und hervorragende Möglichkeit zum Erstellen von Webanwendungen bietet. In diesem Artikel machen wir Sie mit dem CI4-Framework vertraut, um herausragende Webanwendungen zu entwickeln, indem wir Sie durch die Verwendung führen. 1. Laden Sie CI4 herunter und installieren Sie es. Zuerst müssen Sie es von der offiziellen Website herunterladen (https://codeigniter.com/downloa).

Eine Anleitung zu CI-Frameworks in PHP Eine Anleitung zu CI-Frameworks in PHP May 22, 2023 pm 07:10 PM

Mit der Entwicklung des Internets und seiner kontinuierlichen Integration in das Leben der Menschen hat die Entwicklung von Netzwerkanwendungen immer mehr an Bedeutung gewonnen. Als bekannte Programmiersprache hat sich PHP zu einer der bevorzugten Sprachen für die Entwicklung von Internetanwendungen entwickelt. Entwickler können zahlreiche PHP-Frameworks verwenden, um den Entwicklungsprozess zu vereinfachen. Eines der beliebtesten ist das CodeIgniter (CI)-Framework. CI ist ein leistungsstarkes PHP-Webanwendungs-Framework, das sich durch geringes Gewicht, Benutzerfreundlichkeit und optimierte Leistung auszeichnet und es Entwicklern ermöglicht, schnell zu erstellen

So führen Sie CSS in das CI-Framework ein So führen Sie CSS in das CI-Framework ein Dec 26, 2023 pm 05:20 PM

Die Schritte zum Einführen von CSS-Stilen in das CI-Framework sind wie folgt: 1. CSS-Dateien vorbereiten; 2. CSS-Dateien am entsprechenden Speicherort des CI-Framework-Projekts speichern; 3. CSS auf den Seiten einführen, die CSS-Stile verwenden müssen über die HTML-<link>-Tag-Datei 4. Verwenden Sie den CSS-Klassen- oder ID-Namen im HTML-Element, um den entsprechenden Stil anzuwenden.

Was sind die URI-Abgleichsregeln der Nginx-Standortrichtlinie? Was sind die URI-Abgleichsregeln der Nginx-Standortrichtlinie? May 14, 2023 pm 11:58 PM

1. Einführung Die Standortanweisung ist die Kernkonfiguration des http-Moduls. Sie empfängt Anfragen, die von Benutzern auf der Grundlage vordefinierter URL-Übereinstimmungsregeln gesendet werden. Auf der Grundlage der Übereinstimmungsergebnisse wird die Anfrage direkt an den Backend-Server weitergeleitet 403. 404, 500 Fehlerbehandlung usw. 2. Syntax der Standortanweisung location[=|~|~*|^~|@]/uri/{…} oder location@name{…} 3. URI-Übereinstimmungsmodus Die Standortanweisung ist in zwei Übereinstimmungsmodi unterteilt: 1> Gewöhnlich Zeichen-String-Matching: Regeln beginnend mit = oder ohne führende Zeichen (~) 2> Reguläres Matching: Beginnend mit ~ oder ~* zeigt reguläres Matching an, ~*

Was ist der Unterschied zwischen URL und URI? Was ist der Unterschied zwischen URL und URI? Aug 10, 2023 pm 05:15 PM

Der Unterschied zwischen URL und URI ist: 1. URI ist eine Folge von Zeichenfolgen, die zur Identifizierung von Ressourcen im Internet verwendet werden, während sich URI nicht auf den Standort der Ressource, sondern nur auf deren Kennung konzentriert. 2. URL liefert Informationen über den Standort der Ressource. Detaillierte Informationen über einen Standort im Internet, während URI ein umfassenderes Konzept ist, das nicht nur URLs, sondern auch andere Formen zur Identifizierung von Ressourcen umfasst, wie z. B. URN 3. URL ist ein spezieller URI-Typ, der für verwendet wird Standort Eine Ressource im Internet, während ein URI eine umfassendere Kennung ist, die zur eindeutigen Identifizierung und Benennung einer Ressource verwendet wird.

See all articles