ホームページ ウェブフロントエンド jsチュートリアル CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析_php实例

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

Jun 07, 2016 pm 05:07 PM
CIフレームワーク

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

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

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

ログイン後にコピー

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

ログイン後にコピー

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

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

一、默认

$config['uri_protocol'] = 'AUTO'
ログイン後にコピー

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

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

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

ログイン後にコピー

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

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

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

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

ログイン後にコピー

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

ログイン後にコピー

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

ログイン後にコピー

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

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

ログイン後にコピー

二、在config.php中设定了:

$config['uri_protocol']

ログイン後にコピー

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

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

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPでCIフレームワークを使用するにはどうすればよいですか? PHPでCIフレームワークを使用するにはどうすればよいですか? Jun 01, 2023 am 08:48 AM

ネットワーク技術の発展に伴い、PHP は Web 開発の重要なツールの 1 つになりました。人気のある PHP フレームワークの 1 つである CodeIgniter (以下、CI) も、ますます注目され、使用されるようになりました。今回はCIフレームワークの使い方を見ていきます。 1. CI フレームワークをインストールする まず、CI フレームワークをダウンロードしてインストールする必要があります。 CI フレームワーク圧縮パッケージの最新バージョンを CI の公式 Web サイト (https://codeigniter.com/) からダウンロードします。ダウンロードが完了したら解凍します

PHPでCIフレームワークを使用する方法 PHPでCIフレームワークを使用する方法 Jun 27, 2023 pm 04:51 PM

PHP は、Web 開発で広く使用されている人気のあるプログラミング言語です。 CI (CodeIgniter) フレームワークは、PHP で最も人気のあるフレームワークの 1 つであり、既製のツールと関数ライブラリの完全なセットに加え、いくつかの一般的なデザイン パターンを提供し、開発者が Web アプリケーションをより効率的に開発できるようにします。この記事では、CI フレームワークを使用して PHP アプリケーションを開発する基本的な手順と方法を紹介します。 CI フレームワークの基本概念と構造を理解する CI フレームワークを使用する前に、いくつかの基本概念と構造を理解する必要があります。下

PHPでCI4フレームワークを使用するにはどうすればよいですか? PHPでCI4フレームワークを使用するにはどうすればよいですか? Jun 01, 2023 pm 02:40 PM

PHP は広く使用されているサーバー側スクリプト言語であり、CodeIgniter4 (CI4) は、Web アプリケーションを構築するための高速かつ優れた方法を提供する人気のある PHP フレームワークです。この記事では、CI4 フレームワークの使用方法を説明することで、優れた Web アプリケーションを開発するための CI4 フレームワークの使用を開始できるようにします。 1. CI4 をダウンロードしてインストールします。 まず、公式 Web サイト (https://codeigniter.com/downloa) から CI4 をダウンロードする必要があります。

PHP の CI フレームワークのガイド PHP の CI フレームワークのガイド May 22, 2023 pm 07:10 PM

インターネットの発展と人々の生活への継続的な統合に伴い、ネットワーク アプリケーションの開発はますます重要になっています。有名なプログラミング言語として、PHP はインターネット アプリケーションの開発に推奨される言語の 1 つになりました。開発者は、開発プロセスを簡素化するために多数の PHP フレームワークを使用できます。最も人気のあるフレームワークの 1 つは CodeIgniter (CI) フレームワークです。 CI は強力な PHP Web アプリケーション フレームワークであり、軽量で使いやすく、パフォーマンスが最適化されているなどの特徴があり、開発者は迅速に構築できます。

CSSをCIフレームワークに導入する方法 CSSをCIフレームワークに導入する方法 Dec 26, 2023 pm 05:20 PM

CI フレームワークに CSS スタイルを導入する手順は次のとおりです: 1. CSS ファイルを準備します; 2. CSS ファイルを CI フレームワーク プロジェクトの適切な場所に保存します; 3. CSS スタイルを使用する必要があるページに CSS を導入しますHTML <link> タグ File; 4. HTML 要素内の CSS クラスまたは ID 名を使用して、対応するスタイルを適用します。

CI フレームワークで CSS スタイルを参照する手順の詳細な説明 CI フレームワークで CSS スタイルを参照する手順の詳細な説明 Jan 16, 2024 am 09:28 AM

チュートリアル: CI フレームワークに CSS スタイルを導入するための詳細な手順。特定のコード例が必要です。 はじめに: スタイルは Web アプリケーション開発の重要な部分です。 CSS (Cascading Style Sheets) を使用して Web ページを美しくし、より良いユーザー エクスペリエンスを提供します。 CodeIgniter (CI) フレームワークを使用して開発する場合、CSS スタイルを正しく導入する方法が特に重要です。この記事では、CI フレームワークに CSS スタイルを導入する詳細な手順を紹介し、具体的なコード例を示します。ステップ 1: CSS ファイルを作成します。

CI フレームワークを使用して Web ページに CSS スタイルを導入する手順 CI フレームワークを使用して Web ページに CSS スタイルを導入する手順 Jan 16, 2024 am 09:20 AM

CI フレームワークに CSS スタイルを導入する手順には、特定のコード サンプルが必要です。CI (CodeIgniter) フレームワークは、効率的な Web アプリケーションを構築するために広く使用されている人気のある PHP 開発フレームワークです。 Web アプリケーションを開発する場合、美しいユーザー インターフェイスは重要な考慮事項です。 CSS スタイルを使用すると、Web アプリケーション インターフェイスを最適化してパーソナライズし、ユーザー エクスペリエンスを向上させることができます。 CI フレームワークで CSS スタイルを導入するには、通常、特定のコード例を伴う次の手順が必要です。ステップ1:

PHPでCI6フレームワークを使用するにはどうすればよいですか? PHPでCI6フレームワークを使用するにはどうすればよいですか? Jun 01, 2023 pm 11:10 PM

PHP は非常に人気のある Web 開発言語であり、CodeIgniter (CI) は非常に人気のある PHP フレームワークです。 CodeIgniter は多くの便利な機能を提供し、開発者に大きな利便性をもたらします。この記事では、CI6 フレームワークの使用方法について説明します。 CI6 のインストール CI6 の使用を開始する前に、まずインストール プロセスを完了する必要があります。まず、CodeIgniter 公式 Web サイトから CI6 圧縮パッケージをダウンロードする必要があります。次に、このファイルを解凍して次の場所に置きます

See all articles