PHPでRailsスタイルのURLマッピングを行う標準ライブラリはありますか? 私はフレームワークを使用していません。すべてのコードは手書きです。基本的に、これを行うライブラリを探しています
example.com/user/1/active
これは、id = 1 および status = 2 のユーザーにマップする必要があります (これらはパラメーターです)。マップを定義できるはずです。
PHPでRailsスタイルのURLマッピングを行う標準ライブラリはありますか? 私はフレームワークを使用していません。すべてのコードは手書きです。基本的に、これを行うライブラリを探しています
example.com/user/1/active
これは、id = 1 および status = 2 のユーザーにマップする必要があります (これらはパラメーターです)。マップを定義できるはずです。
PHPでこれを行うには約1万の方法があります。
私は最近、いくつかの便利なメソッドを備えた軽量のルーターコードであるklein.phpのファンになりました。これはフレームワークではなく、必要に応じてフレームワークを使用する際に邪魔になることはありません。
基本的には「URLパターンはこちら、パターンが一致したときに実行する関数はこちら」に過ぎません。
フレームワークは実際にそれを自動的に処理するように構築されていますが、フレームワークを使用しない場合は、独自の .htaccess ルールを作成することをお勧めします (Linux または OS X を使用している場合)。または、CakePHP が URL の書き換えを処理し、それをベースに。例:
http://example.com/name/corey
RewriteRule ^(.+)/(.+)$ /$1.php?name=$2 [NC,L]
上記の URL を /name.php?name=corey に書き換えます。
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 をアップグレードする必要があります。
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