FleaPHP 开发指南
开发指南
FleaPHP 应用程序通过分析 URL 地址来确定要执行的控制器及动作,以及传递给动作方法的参数。
默认情况下,FleaPHP 应用程序通过
<code>http://www.example.com/index.php?controller=test&action=benchmark&source=1</code>
这样的 URL 地址来访问应用程序的每一个功能。但有时候你希望 URL 地址能够更好看一点,例如上面的地址变为:
<code>http://www.example.com/index.php/test/benchmark/source/1</code>
或者
<code>http://www.example.com/test/benchmark/source/1</code>
要实现上述两种效果,必须借助 FleaPHP 对 PATHINFO 模式和 URL 重写的支持。
PATHINFO
要使用 PATHINFO 模式来运行应用程序,只需要简单的设置应用程序选项 urlMode 为 URL_PATHINFO 就可以了。
采用 PATHINFO 时,对于相对地址,必须改写为使用 / 开头的绝对地址。例如 css/style.css 应该写为 /css/style.css,而 images/banner.jpg 要写为 /images/banner.jpg。除了图片、CSS 样式表和 JavaScript 文件外,对网站其他文件的引用也要使用绝对地址。
这个要求同样适用于 URL 重写模式。
URL 重写
URL 重写比起 PATHINFO 来复杂得多,而且有一些限制。
- 目前 FleaPHP 对 URL 重写的支持还很简单,与 PATHINFO 相比仅仅是从 URL 地址中隐藏了 index.php 入口文件的名字;
- URL 重写需要 Apache 的 mod_rewrite 模块支持(IIS 用户可以使用一些商业软件);
- 必须配置 Apache 或者 .htaccess 文件,以便启用 mod_rewrite 模块;
- 对于复杂的目录结构,你不得不编写更多的重写规则。
好了,希望上面的话没有吓到你。那么看看最简单的情况:
<code>RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ /index.php/$1 [L]</code>
上面的重写规则很简单,首先是启用 URL 重写。然后是判断请求的文件是否已经存在。只有当请求的文件不存在时才进行 URL 重写。
把上述内容保存到应用程序根目录,文件名为 .htaccess。
很奇怪,在 Windows 资源管理器里面不允许你建立 .htaccess 这样只有扩展名的文件。所以你必须先将文件保存为其他名字,例如 app.htaccess。然后进入命令行窗口(通过开始菜单运行 cmd.exe 程序即可),输入 ren app.htaccess .htaccess 命令来对文件改名。
最后,修改应用程序设置的 urlMode 选项为 URL_REWRITE。
如何生成 URL 地址
在 FleaPHP 应用程序中,我们总是应该使用 url() 函数和 FLEA_Controller_Action::_url() 方法来生成 URL 地址。这样不管 urlMode 选项怎么设置,我们都可以确保应用程序生成可以工作的 URL 地址。
例如 url('test', 'benchmark', array('source' => 1))
这样的调用,在不同 urlMode 设置下,生成的 URL 地址也不同。
这种特性,可以避免因为应用程序修改了 urlMode 选项,而导致需要手工替换全部 URL 地址的问题。
更复杂的自定义 URL 地址
正在开发的 URL 路由功能,可以让应用程序获得完全的自定义 URL。例如
<code>http://www.example.com/index.php?controller=article&action=view&article_id=123</code>
可以用下面的地址来代替。不但好看,而且便于搜索引擎索引文件。
http://www.example.com/article/123

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pengenalan fungsi PHP—get_headers(): Gambaran keseluruhan mendapatkan maklumat pengepala respons URL: Dalam pembangunan PHP, kita selalunya perlu mendapatkan maklumat pengepala respons halaman web atau sumber jauh. Fungsi PHP get_headers() boleh dengan mudah mendapatkan maklumat pengepala respons URL sasaran dan mengembalikannya dalam bentuk tatasusunan. Artikel ini akan memperkenalkan penggunaan fungsi get_headers() dan menyediakan beberapa contoh kod yang berkaitan. Penggunaan fungsi get_headers(): get_header

Sebab ralat adalah NameResolutionError(self.host,self,e)daripada, yang merupakan jenis pengecualian dalam pustaka urllib3 Sebab ralat ini adalah bahawa resolusi DNS gagal, iaitu nama hos atau alamat IP yang telah cuba diselesaikan tidak dapat ditemui. Ini mungkin disebabkan oleh alamat URL yang dimasukkan tidak betul atau pelayan DNS tidak tersedia buat sementara waktu. Bagaimana untuk menyelesaikan ralat ini Mungkin terdapat beberapa cara untuk menyelesaikan ralat ini: Semak sama ada alamat URL yang dimasukkan adalah betul dan pastikan ia boleh diakses Pastikan pelayan DNS tersedia, anda boleh cuba menggunakan arahan "ping" dalam baris arahan untuk menguji sama ada pelayan DNS tersedia Cuba akses tapak web menggunakan alamat IP dan bukannya nama hos jika di belakang proksi

Pada masa kini, ramai pengguna Windows yang suka permainan telah memasuki klien Steam dan boleh mencari, memuat turun dan bermain mana-mana permainan yang bagus. Walau bagaimanapun, kebanyakan profil pengguna mungkin mempunyai nama yang sama, menjadikannya sukar untuk mencari profil atau memautkan profil Steam ke akaun pihak ketiga yang lain atau menyertai forum Steam untuk berkongsi kandungan. Profil tersebut diberikan id 17 digit yang unik, yang kekal sama dan tidak boleh ditukar oleh pengguna pada bila-bila masa, manakala nama pengguna atau URL tersuai boleh. Walau apa pun, sesetengah pengguna tidak mengetahui Steamid mereka, dan penting untuk mengetahui perkara ini. Jangan panik jika anda juga tidak tahu cara mencari Steamid akaun anda. Dalam artikel ini

Gunakan url untuk mengekod dan menyahkod kelas java.net.URLDecoder.decode(url, format penyahkodan) kaedah penyahkod.penyahkod untuk pengekodan dan penyahkodan. Tukar kepada rentetan biasa, URLEncoder.decode(url, format pengekodan) menukar rentetan biasa menjadi rentetan dalam format yang ditentukan packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net. URLEncoder

Perbezaan: 1. Definisi yang berbeza, url ialah pencari sumber seragam, dan html ialah bahasa penanda hiperteks 2. Terdapat banyak url dalam html, tetapi hanya satu halaman html boleh wujud dalam url 3. html merujuk kepada; halaman web, dan url merujuk kepada alamat tapak web.

Scrapy ialah rangka kerja perangkak Python yang berkuasa yang boleh digunakan untuk mendapatkan sejumlah besar data daripada Internet. Walau bagaimanapun, apabila membangunkan Scrapy, kami sering menghadapi masalah merangkak URL pendua, yang membuang banyak masa dan sumber serta menjejaskan kecekapan. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman Scrapy untuk mengurangkan rangkak URL pendua dan meningkatkan kecekapan perangkak Scrapy. 1. Gunakan atribut start_urls dan allowed_domains dalam perangkak Scrapy untuk

Prakata Dalam sesetengah kes, awalan dalam pengawal perkhidmatan adalah konsisten Contohnya, awalan semua URL ialah /context-path/api/v1, dan awalan bersatu perlu ditambahkan pada beberapa URL. Penyelesaian yang boleh difikirkan adalah untuk mengubah suai laluan konteks perkhidmatan dan menambah api/v1 pada laluan konteks global boleh menyelesaikan masalah di atas, tetapi terdapat kelemahan Jika URL mempunyai beberapa awalan URL memerlukan awalan Jika ia adalah api/v2, ia tidak dapat dibezakan Jika anda tidak mahu menambah api/v1 pada beberapa sumber statik dalam perkhidmatan, ia juga tidak dapat dibezakan. Yang berikut menggunakan anotasi tersuai untuk menambahkan awalan URL tertentu secara seragam. satu,

URL ialah singkatan daripada "Uniform Resource Locator", yang bermaksud "Uniform Resource Locator" dalam bahasa Cina. URL ialah alamat yang digunakan untuk mencari dan mengakses sumber tertentu melalui Internet Ia biasanya dilihat dalam penyemakan imbas web dan permintaan HTTP. Fungsi utama URL adalah untuk mencari dan mengakses sumber di Internet Sumber ini boleh menjadi halaman web, gambar, video, dokumen atau fail lain.
