Jadual Kandungan
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring
Rumah pembangunan bahagian belakang tutorial php CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析,ciuristring_PHP教程

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

Jul 12, 2016 am 08:52 AM
rangka kerja ci uri

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

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

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

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

Salin selepas log masuk

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

Salin selepas log masuk

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

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

一、默认

$config['uri_protocol'] = 'AUTO'
Salin selepas log masuk

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

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

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

Salin selepas log masuk

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

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

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

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

Salin selepas log masuk

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

Salin selepas log masuk

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

Salin selepas log masuk

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

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

Salin selepas log masuk

二、在config.php中设定了:

$config['uri_protocol']

Salin selepas log masuk

那么 程序会自动执行相应的操作来获取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()函数用法。分享给大家供大家...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan rangka kerja CI dalam php? Bagaimana untuk menggunakan rangka kerja CI dalam php? Jun 01, 2023 am 08:48 AM

Dengan perkembangan teknologi rangkaian, PHP telah menjadi salah satu alat penting untuk pembangunan web. Salah satu rangka kerja PHP yang popular - CodeIgniter (selepas ini dirujuk sebagai CI) juga telah menerima lebih banyak perhatian dan penggunaan. Hari ini, kita akan melihat cara menggunakan rangka kerja CI. 1. Pasang rangka kerja CI Mula-mula, kita perlu memuat turun rangka kerja CI dan memasangnya. Muat turun versi terkini pakej termampat rangka kerja CI dari tapak web rasmi CI (https://codeigniter.com/). Selepas muat turun selesai, nyahzip

Bagaimana untuk memintas uri di lokasi nginx Bagaimana untuk memintas uri di lokasi nginx May 18, 2023 pm 12:07 PM

Nota: Arahan akar dan akar alias di lokasi hanya menetapkan akar carian ke direktori yang ditetapkan oleh akar, iaitu uri tidak akan dipotong Sebaliknya, uri asal akan digunakan untuk melompat ke direktori untuk mencari fail Arahan aias akan memotong uri yang sepadan, dan kemudian Gunakan laluan yang ditetapkan oleh alias ditambah dengan baki uri sebagai sub-laluan untuk mencari uri proxy_pass di lokasi Jika url proxy_pass tidak mempunyai uri, jika ekornya ialah "/. ", uri yang sepadan akan dipotong. Jika ekornya bukan "/", maka Tidak akan memotong uri yang sepadan jika url proxy_pass mengandungi uri

Cara menggunakan rangka kerja CI dalam PHP Cara menggunakan rangka kerja CI dalam PHP Jun 27, 2023 pm 04:51 PM

PHP adalah bahasa pengaturcaraan popular yang digunakan secara meluas dalam pembangunan web. Rangka kerja CI (CodeIgniter) ialah salah satu rangka kerja yang paling popular dalam PHP Ia menyediakan satu set lengkap alatan dan perpustakaan fungsi sedia, serta beberapa corak reka bentuk yang popular, membolehkan pembangun membangunkan aplikasi Web dengan lebih cekap. Artikel ini akan memperkenalkan langkah dan kaedah asas untuk membangunkan aplikasi PHP menggunakan rangka kerja CI. Fahami konsep asas dan struktur rangka kerja CI Sebelum menggunakan rangka kerja CI, kita perlu memahami beberapa konsep dan struktur asas. Bawah

Bagaimana untuk menggunakan rangka kerja CI4 dalam php? Bagaimana untuk menggunakan rangka kerja CI4 dalam php? Jun 01, 2023 pm 02:40 PM

PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas, dan CodeIgniter4 (CI4) ialah rangka kerja PHP popular yang menyediakan cara yang pantas dan terbaik untuk membina aplikasi web. Dalam artikel ini, kami akan membantu anda mula menggunakan rangka kerja CI4 untuk membangunkan aplikasi web yang cemerlang dengan membimbing anda melalui cara menggunakannya. 1. Muat turun dan pasang CI4 Mula-mula, anda perlu memuat turunnya dari tapak web rasmi (https://codeigniter.com/downloa

Panduan kepada rangka kerja CI dalam PHP Panduan kepada rangka kerja CI dalam PHP May 22, 2023 pm 07:10 PM

Dengan perkembangan Internet dan penyepaduan berterusannya ke dalam kehidupan orang ramai, pembangunan aplikasi rangkaian menjadi semakin penting. Sebagai bahasa pengaturcaraan yang terkenal, PHP telah menjadi salah satu bahasa pilihan untuk membangunkan aplikasi Internet. Pembangun boleh menggunakan pelbagai rangka kerja PHP untuk memudahkan proses pembangunan, salah satu yang paling popular ialah rangka kerja CodeIgniter (CI). CI ialah rangka kerja aplikasi web PHP yang berkuasa Ia mempunyai ciri-ciri ringan, mudah digunakan, prestasi dioptimumkan, dsb., membolehkan pembangun membina dengan cepat

Bagaimana untuk memperkenalkan css ke dalam rangka kerja ci Bagaimana untuk memperkenalkan css ke dalam rangka kerja ci Dec 26, 2023 pm 05:20 PM

Langkah-langkah untuk memperkenalkan gaya CSS ke dalam rangka kerja CI adalah seperti berikut: 1. Sediakan fail CSS 2. Simpan fail CSS di lokasi projek rangka kerja CI yang sesuai 3. Dalam halaman yang perlu menggunakan gaya CSS, perkenalkan CSS; melalui teg HTML <link> Fail 4. Gunakan kelas CSS atau nama ID dalam elemen HTML untuk menggunakan gaya yang sepadan.

Apakah peraturan padanan URI arahan Lokasi Nginx? Apakah peraturan padanan URI arahan Lokasi Nginx? May 14, 2023 pm 11:58 PM

1. Pengenalan Arahan lokasi ialah konfigurasi teras modul http Ia menerima permintaan yang dihantar oleh pengguna berdasarkan peraturan pemadanan URL yang dipratentukan Berdasarkan hasil padanan, permintaan dimajukan kepada pelayan bahagian belakang secara langsung ditolak dan dikembalikan 403. 404, 500 pengendalian ralat, dsb. 2. Lokasi sintaks arahan lokasi[=|~|~*|^~|@]/uri/{…} atau lokasi@nama{…} 3. Mod padanan URI Arahan lokasi dibahagikan kepada dua mod padanan: 1> Biasa aksara Padanan rentetan: peraturan bermula dengan = atau tanpa aksara utama (~) 2> Padanan biasa: bermula dengan ~ atau ~* menunjukkan padanan biasa, ~*

Apakah perbezaan antara URL dan URI Apakah perbezaan antara URL dan URI Aug 10, 2023 pm 05:15 PM

Perbezaan antara URL dan URI ialah: 1. URI ialah urutan rentetan yang digunakan untuk mengenal pasti sumber di Internet, manakala URI tidak menumpukan pada lokasi sumber, tetapi hanya pengecamnya 2. URL menyediakan maklumat tentang lokasi sumber. Maklumat terperinci tentang lokasi di Internet, manakala URI ialah konsep yang lebih luas yang merangkumi bukan sahaja URL, tetapi juga bentuk lain yang digunakan untuk mengenal pasti sumber, seperti URN 3. URL ialah jenis URI khas, yang digunakan untuk lokasi Sumber di Internet, manakala URI ialah pengecam yang lebih luas yang digunakan untuk mengenal pasti dan menamakan sumber secara unik.

See all articles