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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Einführung in die PHP-Funktion – get_headers(): Überblick über das Abrufen der Antwort-Header-Informationen der URL: In der PHP-Entwicklung müssen wir häufig die Antwort-Header-Informationen einer Webseite oder einer Remote-Ressource abrufen. Die PHP-Funktion get_headers() kann problemlos die Antwortheaderinformationen der Ziel-URL abrufen und in Form eines Arrays zurückgeben. In diesem Artikel wird die Verwendung der Funktion get_headers() vorgestellt und einige zugehörige Codebeispiele bereitgestellt. Verwendung der Funktion get_headers(): get_header

Der Grund für den Fehler ist NameResolutionError(self.host,self,e)frome, ein Ausnahmetyp in der urllib3-Bibliothek. Der Grund für diesen Fehler ist, dass die DNS-Auflösung fehlgeschlagen ist, d. h. der Hostname oder die IP-Adresse Der Lösungsversuch konnte nicht gefunden werden. Dies kann daran liegen, dass die eingegebene URL-Adresse falsch ist oder der DNS-Server vorübergehend nicht verfügbar ist. So beheben Sie diesen Fehler Es gibt möglicherweise mehrere Möglichkeiten, diesen Fehler zu beheben: Überprüfen Sie, ob die eingegebene URL-Adresse korrekt ist und stellen Sie sicher, dass sie zugänglich ist. Stellen Sie sicher, dass der DNS-Server verfügbar ist. Sie können es mit dem Befehl „ping“ in der Befehlszeile versuchen Um zu testen, ob der DNS-Server verfügbar ist, versuchen Sie, über die IP-Adresse statt über den Hostnamen auf die Website zuzugreifen, wenn Sie sich hinter einem Proxy befinden

Heutzutage haben viele Windows-Benutzer, die Spiele lieben, den Steam-Client aufgerufen und können alle guten Spiele suchen, herunterladen und spielen. Allerdings haben die Profile vieler Benutzer möglicherweise genau denselben Namen, was es schwierig macht, ein Profil zu finden oder sogar ein Steam-Profil mit anderen Konten von Drittanbietern zu verknüpfen oder Steam-Foren beizutreten, um Inhalte zu teilen. Dem Profil wird eine eindeutige 17-stellige ID zugewiesen, die gleich bleibt und vom Benutzer zu keinem Zeitpunkt geändert werden kann, der Benutzername oder die benutzerdefinierte URL hingegen schon. Unabhängig davon kennen einige Benutzer ihr Steamid nicht und es ist wichtig, dies zu wissen. Wenn Sie nicht wissen, wie Sie das Steamid Ihres Kontos finden, geraten Sie nicht in Panik. In diesem Artikel

Verwenden Sie die URL zum Kodieren und Dekodieren der Klasse java.net.URLDecoder.decode(url, decoding format) decoder.decoding-Methode zum Kodieren und Dekodieren. In eine gewöhnliche Zeichenfolge konvertieren, wandelt URLEncoder.decode (URL, Codierungsformat) die gewöhnliche Zeichenfolge in eine Zeichenfolge im angegebenen Format um packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net. URLEncoder

Unterschiede: 1. Unterschiedliche Definitionen, URL ist ein einheitlicher Ressourcen-Locator und HTML ist eine Hypertext-Markup-Sprache. 2. Es kann viele URLs in einer HTML-Seite geben, aber nur eine HTML-Seite kann in einer URL vorhanden sein eine Webseite, und URL bezieht sich auf die Website-Adresse.

Scrapy ist ein leistungsstarkes Python-Crawler-Framework, mit dem große Datenmengen aus dem Internet abgerufen werden können. Bei der Entwicklung von Scrapy stoßen wir jedoch häufig auf das Problem, doppelte URLs zu crawlen, was viel Zeit und Ressourcen verschwendet und die Effizienz beeinträchtigt. In diesem Artikel werden einige Scrapy-Optimierungstechniken vorgestellt, um das Crawlen doppelter URLs zu reduzieren und die Effizienz von Scrapy-Crawlern zu verbessern. 1. Verwenden Sie die Attribute „start_urls“ und „allowed_domains“ im Scrapy-Crawler

Vorwort In einigen Fällen sind die Präfixe im Service-Controller konsistent. Beispielsweise lautet das Präfix aller URLs /context-path/api/v1, und einigen URLs muss ein einheitliches Präfix hinzugefügt werden. Die denkbare Lösung besteht darin, den Kontextpfad des Dienstes zu ändern und api/v1 zum Kontextpfad hinzuzufügen. Durch Ändern des globalen Präfixes kann das oben genannte Problem gelöst werden, es gibt jedoch einige Nachteile URLs erfordern Präfixe. Wenn es sich um api/v2 handelt, kann es nicht unterschieden werden. Wenn Sie api/v1 nicht zu einigen statischen Ressourcen im Dienst hinzufügen möchten, kann es nicht unterschieden werden. Im Folgenden werden benutzerdefinierte Anmerkungen verwendet, um bestimmte URL-Präfixe einheitlich hinzuzufügen. eins,

URL ist die Abkürzung für „Uniform Resource Locator“, was auf Chinesisch „Uniform Resource Locator“ bedeutet. Eine URL ist eine Adresse, die zum Auffinden und Zugreifen auf bestimmte Ressourcen über das Internet verwendet wird. Sie wird häufig beim Surfen im Internet und bei HTTP-Anfragen verwendet. Die Hauptfunktion von URLs besteht darin, Ressourcen im Internet zu finden und darauf zuzugreifen. Diese Ressourcen können Webseiten, Bilder, Videos, Dokumente oder andere Dateien sein.
