0

PHPでRailsスタイルのURLマッピングを行う標準ライブラリはありますか? 私はフレームワークを使用していません。すべてのコードは手書きです。基本的に、これを行うライブラリを探しています

example.com/user/1/active

これは、id = 1 および status = 2 のユーザーにマップする必要があります (これらはパラメーターです)。マップを定義できるはずです。

4

4 に答える 4

2

PHPでこれを行うには約1万の方法があります。

私は最近、いくつかの便利なメソッドを備えた軽量のルーターコードであるklein.phpのファンになりました。これはフレームワークではなく、必要に応じてフレームワークを使用する際に邪魔になることはありません。

基本的には「URLパターンはこちら、パターンが一致したときに実行する関数はこちら」に過ぎません。

于 2011-05-20T15:36:51.443 に答える
0

フレームワークは実際にそれを自動的に処理するように構築されていますが、フレームワークを使用しない場合は、独自の .htaccess ルールを作成することをお勧めします (Linux または OS X を使用している場合)。または、CakePHP が URL の書き換えを処理し、それをベースに。例:

http://example.com/name/corey
RewriteRule ^(.+)/(.+)$ /$1.php?name=$2 [NC,L]

上記の URL を /name.php?name=corey に書き換えます。

于 2011-05-20T16:57:30.920 に答える
0

PHP の目的は、異なる形式の URL を処理することではありません。これを処理するカスタム アプリケーション ロジックが必要です。

現時点ではフレームワークを使用していないとおっしゃいましたが、Symfony 2 のコンポーネントに基づくマイクロ フレームワークであるSilexを含めることを提案したいと思います。

「Hello World」の例を次に示します。

require_once __DIR__.'/silex.phar'; 

$app = new Silex\Application();

$app->get('/hello/{name}', function($name) use($app) { 
  return 'Hello '.$app->escape($name); 
});

$app->run();

現在 PHP 5.2 を使用しているとのことでした。Silex は、PHP 5.3 などから利用できる名前空間を使用するため、このアプローチを採用するには PHP をアップグレードする必要があります。

于 2012-04-05T12:14:07.833 に答える
-1

Symfony フレームワークを使用します。 http://symfony.com/blog/new-in-symfony-1-2-toward-a-restful-architecture-part-1

この応答を見てください: https://stackoverflow.com/questions/238125/best-framework-for-php-and-creation-of-restful-based-web-services

于 2011-05-20T15:33:38.947 に答える