0

CIでのルーティングに関係する答えがどこにも見つからないように見えるという簡単な質問-グローバルキャッチオールの間に実際の違いはありますか:

$route['(.*)'] = 'controller';

$route['(:any)'] = 'controller';

ルーティングに問題はなく、どちらも同じように機能するようですが、一方の方法が他方よりも優れているかどうか疑問に思っていました.

4

1 に答える 1

0

OK、ルータークラスを掘り下げた後、 (:any) は正規表現に変換される CodeIgniter 式のようです:

.+

これは、もちろん正規表現である (.*) の使用とは異なります。したがって、違いは次のとおりです。

.+

.*

+ は前の文字に 1 回以上一致しますが、* は前の文字に 0 回以上一致します。前の文字が . (任意の文字)、これは基本的に、使用されているコンテキストで同じことを意味します。それが他の誰かにも役立つことを願っています。

于 2011-01-08T17:41:00.413 に答える