2017 © Pedro PelΓ‘ez
 

library path-finder

Simple and fast routing

image

paw34rus/path-finder

Simple and fast routing

  • Saturday, May 17, 2014
  • by paw34rus
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 100 % Grown

The README.md

PathFinder

Быстрый ΠΈ ΠΎΡ…ΡƒΠ΅Π½Π½Ρ‹ΠΉ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³ для вашСго сайта! - Π›Π΅Π³ΠΊΠΎ встраиваСтся Π² любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠ°ΠΊ built-in конфигурация, Ρ‚Π°ΠΊ ΠΈ созданиС Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° - ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтакис, Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ лишнСго символа - Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ - ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° синтаксиса ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° Π² phpstorm ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE - ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ DRY: ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², привязка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… URL ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ ΠΈ Ρ‚.Π΄., (*1)

Установка

Π§Π΅Ρ€Π΅Π· composer, (*2)

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π² ваш composer.json:, (*3)

"require": {
    ...
    "paw34rus/path-finder": "dev-master"    
}

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΏΠΊΡƒ с классами, (*4)

PathFinder слСдуСт стандарту PSR-0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ²., (*5)

ИспользованиС

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ built-in ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ простого Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° находятся Π² ΠΏΠ°ΠΏΠΊΠ΅ /examples, (*6)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°

@category,htmlpage   [A-Za-zА-Π―Π°-яЁё0-9_\.]+          #Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΠ»ΠΈ страницы
@page                [0-9]+                           #числовой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
@date                [0-9]{4}\-[0-9]{1,2}\-[0-9]{1,2} #Π΄Π°Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ 2012-12-12

[Catalog] # Ρ‚.ΠΊ. Ρ‚ΡƒΡ‚ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ action, ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ index
ANY /
ANY /{page}
ANY /{date}/{page}
ANY /{category}/{page}
ANY /{date}/{category}/{page}

[Pages]
GET /{htmlpage}.html

[Users:regform]
GET /register   {name: "Vladimir Makarov", status: "KIA"}  # ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

[Users:register]
POST /register

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ URL

$url = $router->makeUrl('catalog', [
    'page' => 42, 
    'category' => 'news'
]); // "/news/42"

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Π±ΠΎΡ€Π° URL

$rules = $router->parseUrl('/news/42', 'GET'); // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ, дСйствиСм ΠΈ Ρ‚.Π΄. ΠΈΠ»ΠΈ NoRouteException

The Versions

17/05 2014

dev-master

9999999-dev https://github.com/paw34rus/PathFinder/

Simple and fast routing

  Sources   Download

MIT

The Requires

  • php >=5.4

 

by Avatar paw34rus

routing router