Table des matières
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring
Maison développement back-end tutoriel php 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';

Copier après la connexion

这个配置项目定义了你使用哪个服务器全局变量来拟定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

Copier après la connexion

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

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

一、默认

$config['uri_protocol'] = 'AUTO'
Copier après la connexion

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

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

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

Copier après la connexion

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

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

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

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

Copier après la connexion

_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;
}

Copier après la connexion

(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;
}

Copier après la connexion

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

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

Copier après la connexion

二、在config.php中设定了:

$config['uri_protocol']

Copier après la connexion

那么 程序会自动执行相应的操作来获取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()函数用法。分享给大家供大家...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser le framework CI en php ? Comment utiliser le framework CI en php ? Jun 01, 2023 am 08:48 AM

Avec le développement de la technologie réseau, PHP est devenu l’un des outils importants pour le développement Web. L'un des frameworks PHP les plus populaires - CodeIgniter (ci-après dénommé CI) a également reçu de plus en plus d'attention et d'utilisation. Aujourd'hui, nous allons voir comment utiliser le framework CI. 1. Installez le framework CI Tout d'abord, nous devons télécharger le framework CI et l'installer. Téléchargez la dernière version du package compressé du framework CI sur le site officiel de CI (https://codeigniter.com/). Une fois le téléchargement terminé, décompressez

Comment intercepter l'uri à l'emplacement nginx Comment intercepter l'uri à l'emplacement nginx May 18, 2023 pm 12:07 PM

Remarque : Les instructions root et aliasroot dans location définissent uniquement la racine de recherche sur le répertoire défini par root, c'est-à-dire que l'uri ne sera pas tronqué. Au lieu de cela, l'uri d'origine sera utilisé pour accéder au répertoire pour trouver le fichier. L'instruction aias tronquera l'URI correspondant, puis utilisera le chemin défini par l'alias plus l'URI restant comme sous-chemin pour trouver l'URI de proxy_pass dans l'emplacement Si l'URL de proxy_pass n'a pas d'URI, si la queue est "/". ", l'URI correspondant sera tronqué. Si la queue n'est pas "/", alors l'URI correspondant ne sera pas tronqué si l'URL proxy_pass contient l'URI

Comment utiliser le framework CI en PHP Comment utiliser le framework CI en PHP Jun 27, 2023 pm 04:51 PM

PHP est un langage de programmation populaire largement utilisé dans le développement Web. Le framework CI (CodeIgniter) est l'un des frameworks les plus populaires de PHP. Il fournit un ensemble complet d'outils et de bibliothèques de fonctions prêts à l'emploi, ainsi que certains modèles de conception populaires, permettant aux développeurs de développer des applications Web plus efficacement. Cet article présentera les étapes et méthodes de base du développement d'applications PHP à l'aide du framework CI. Comprendre les concepts et les structures de base du cadre CI. Avant d'utiliser le cadre CI, nous devons comprendre certains concepts et structures de base. Vers le bas

Comment utiliser le framework CI4 en php ? Comment utiliser le framework CI4 en php ? Jun 01, 2023 pm 02:40 PM

PHP est un langage de script côté serveur largement utilisé, et CodeIgniter4 (CI4) est un framework PHP populaire qui offre un moyen rapide et excellent de créer des applications Web. Dans cet article, nous vous apprendrons à utiliser le framework CI4 pour développer des applications Web exceptionnelles en vous expliquant comment l'utiliser. 1. Téléchargez et installez CI4. Vous devez d'abord le télécharger depuis le site officiel (https://codeigniter.com/downloa

Un guide des frameworks CI en PHP Un guide des frameworks CI en PHP May 22, 2023 pm 07:10 PM

Avec le développement d'Internet et son intégration continue dans la vie des gens, le développement d'applications réseau est devenu de plus en plus important. En tant que langage de programmation bien connu, PHP est devenu l’un des langages privilégiés pour développer des applications Internet. Les développeurs peuvent utiliser de nombreux frameworks PHP pour simplifier le processus de développement, l'un des plus populaires étant le framework CodeIgniter (CI). CI est un puissant framework d'application Web PHP. Il présente les caractéristiques de légèreté, de facilité d'utilisation, de performances optimisées, etc., permettant aux développeurs de créer rapidement.

Comment introduire le CSS dans le framework ci Comment introduire le CSS dans le framework ci Dec 26, 2023 pm 05:20 PM

Les étapes pour introduire les styles CSS dans le framework CI sont les suivantes : 1. Préparez les fichiers CSS ; 2. Stockez les fichiers CSS à l'emplacement approprié du projet de framework CI 3. Dans les pages qui doivent utiliser les styles CSS, introduisez CSS ; via le fichier de balise HTML <link> ; 4. Utilisez la classe CSS ou le nom de l'ID dans l'élément HTML pour appliquer le style correspondant.

Quelles sont les règles de correspondance d'URI de la directive Location Nginx ? Quelles sont les règles de correspondance d'URI de la directive Location Nginx ? May 14, 2023 pm 11:58 PM

1. Introduction La directive location est la configuration de base du module http. Elle reçoit les requêtes envoyées par les utilisateurs sur la base de règles de correspondance d'URL prédéfinies. Sur la base des résultats de correspondance, la requête est transmise au serveur backend. Les requêtes illégales sont directement rejetées et renvoyées. 403. 404, 500 gestion des erreurs, etc. 2. Syntaxe de l'instruction de localisation location[=|~|~*|^~|@]/uri/{…} ou location@name{…} 3. Mode de correspondance d'URI L'instruction de localisation est divisée en deux modes de correspondance : 1> Ordinaire caractères Correspondance de chaîne : règles commençant par = ou sans caractères de début (~) 2> Correspondance régulière : commencer par ~ ou ~* indique une correspondance régulière, ~*

Quelle est la différence entre URL et URI Quelle est la différence entre URL et URI Aug 10, 2023 pm 05:15 PM

La différence entre URL et URI est la suivante : 1. L'URI est une séquence de chaînes utilisée pour identifier les ressources sur Internet, tandis que l'URI ne se concentre pas sur l'emplacement de la ressource, mais uniquement sur son identifiant. 2. L'URL fournit des informations sur l'emplacement ; de la ressource. Informations détaillées sur un emplacement sur Internet, tandis que l'URI est un concept plus large qui couvre non seulement les URL, mais également d'autres formes utilisées pour identifier les ressources, telles que l'URN. 3. L'URL est un type spécial d'URI, utilisé pour location Une ressource sur Internet, tandis qu'un URI est un identifiant plus large utilisé pour identifier et nommer de manière unique une ressource.

See all articles