本文由码农网原创翻译,转载请看清文末的转载要求,谢谢合作!
简介
我手上有个用PHP写的网站,类似于个人测试性质的站点,我独立设计,在这过程中犯了所有可能的设计和编程上的错误,同时我也收获了很多,这也促使我去学习PHP和MySQL。每当我学习新的技术或web实践时,都会想到我的网站会从中得益。正如你可以想象到的,它的可读性不强。测试网站往往在代码可读性和可维护性方面表现糟糕,尤其当你仅仅因为某些必要的功能而学习一门编程语言时,而这也正是我一直以来学习PHP的方式。
自从了解了ASP.NET MVC,我便思考如何在这个网站上实践这套MVC模式。我喜欢这整套概念的一切,尤其是路由。但我并不想为此而重构整个网站的现有框架,担心这样一来,大部分现有代码将变成像是异物一样,不受我的控制和理解。网站已经有一个WordPress搭建的博客,通过修改模板让它看起来就像是一个完整的站点,好比在一巨大的墙上画涂鸦一样,这简直是一团糟。
然后呢?刚不久前,我学习了一些REST API的相关知识,这是为日常工作所需而学习的。有没有一个最佳的方式去学习这些呢?我知道有个网站会从中获益。在网上阅读了一些关于在PHP环境应用RESTful API的文章,我了解了.htaccess文件。现在我知道怎样在PHP中搭建路由,因此,也许能在测试网站实施自己设计的小型的、简单的MVC模型。
设想
在PHP中搭建自定义路由的关键在于增加一个.htaccess文件,以下请看
具体实现:
我在网站文件夹目录中新增了一个”API”文件夹,在里面新建一个.htaccess文件,内容是我从Corey Maynard写的一段文本中参考来的。
<ifmodule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?request=$1 [QSA,NC,L] </ifmodule>
长话短说,有了这个配置,所有以”www.yoursite.com/api/”开头或指向不存在的文件或路径的请求都会被重定向到index.php文件。$1变量值表示请求的URL地址,”request”变量名也很好理解,用$_REQUEST[‘request’]命令就可轻易获取。
另外,index.php文件和.htaccess文件在同一访问层级。
可能出现的问题?
事实上,你可能还没启用指定的module。
在WampServer环境下,我需要启用相应module来支持本机运行。一种方法是点击托盘图标进入”Apache”目录,在”Apache modules”列表中选中rewrite_module,然后重启所有服务。另一种方法是编辑httpd.conf文件,取消下面这段配置的注释
#LoadModule rewrite_module modules/mod_rewrite.so
我想接下来要做的事情之一就是给网站做几个自测网页,好让我确定网站的负责人没有改变任何东西。这听起来可能有点偏执和可笑,但又一次,我需要临时增加 “set names latin2;”配置来检视数据库导入的数据。
如果想验证以上配置是否在服务器上启用,你可以使用这段代码:
echo in_array('mod_rewrite', apache_get_modules());
接下来呢?
至此我获得一些重要的知识,让我可以为我的网站搭建新的MVC框架。使用新框架比使用现有解决方案更棒,很大程度上由于这让我在应用MVC模式的过程中获得广泛的知识。由于所有代码都是我个人的工作量,也就没有任何消耗性组件。
继续为我的网站创建REST API。现在我才能实质性地将数据库逻辑从网页界面中抽离出来。
有用的链接
如果你想知道我是怎样找到解决方案,那下面是我从中获得知识的网站 http://coreymaynard.com/blog/creating-a-restful-api-with-php/
以上就介绍了PHP中的自定义路由使用小结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
