2017-25 © Pedro Peláez
 

library url

Build urls to resources in your app

image

werx/url

Build urls to resources in your app

  • Thursday, March 5, 2015
  • by joshmoody
  • Repository
  • 2 Watchers
  • 1 Stars
  • 4,119 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 2 % Grown

The README.md

werx\Url

Build Status Total Downloads Latest Stable Version, (*1)

Build urls to resources in your app. Available as a standalone library or as a Plates Extension., (*2)

This library uses rize\UriTemplate for the heavy lifting of expanding urls with additional functionality to make it easier to build urls to resources within your application., (*3)

Usage

Creating an instance of the url builder.

Get an instance of the url builder. If you pass no constructor values, it will base all urls on the root-relative path to the currently executing script using $_SERVER['SCRIPT_NAME']., (*4)

``` php $builder = new \werx\Url\Builder;, (*5)


You can also provide a base url and script name. ``` php $builder = new \werx\Url\Builder('/path/to/app/', 'index.php');

If you set a fully qualified url in the constructor, it will be used when building urls. ``` php $builder = new \werx\Url\Builder('http://example.com/path/to/app/', 'index.php');, (*6)


### Building URLs. Simple pattern replacement with a single `id` ``` php $url = $builder->action('home/details/{id}', 5); var_dump($url); # /path/to/app/index.php/home/details/5

Multiple pattern replacements ``` php $url = $builder->action('home/{action}/{id}', ['action' => 'details', 'id' => 5]); var_dump($url); # /path/to/app/index.php/home/details/5, (*7)


Convert an array to a query string. ``` php $url = $builder->query('home/search', ['name' => 'Josh', 'state' => 'AR']); var_dump($url); # /path/to/app/index.php/home/search?name=Josh&state=AR

Build an url to a static resource in your application. ``` php $url = $builder->asset('images/logo.png'); var_dump($url); # /path/to/app/images/logo.png, (*8)


## Plates Extension This library includes an extension that allows it to be used within [Plates Templates](http://platesphp.com/). In your controller... ```php $engine = new \League\Plates\Engine('/path/to/templates'); $ext = new \werx\Url\Extensions\Plates; $engine->loadExtension($ext); $template = new \League\Plates\Template($engine); $output = $template->render('home');

Then in your view, you can call any of the werx\Url\Builder methods via $this->url()->methodtocall()., (*9)

<a href="<?=$this->url()->action(home/details/{id}, 5)?>">Details</a>
<img src="<?=$this->url()->asset('images/logo.png')?>"/>

Installation

This package is installable and autoloadable via Composer as werx/url. If you aren't familiar with the Composer Dependency Manager for PHP, you should read this first., (*10)

$ composer require werx/url --prefer-dist

Contributing

Unit Testing

bash $ vendor/bin/phpunit, (*11)

Coding Standards

This library uses PHP_CodeSniffer to ensure coding standards are followed., (*12)

I have adopted the PHP FIG PSR-2 Coding Standard EXCEPT for the tabs vs spaces for indentation rule. PSR-2 says 4 spaces. I use tabs. No discussion., (*13)

To support indenting with tabs, I've defined a custom PSR-2 ruleset that extends the standard PSR-2 ruleset used by PHP_CodeSniffer. You can find this ruleset in the root of this project at PSR2Tabs.xml, (*14)

Executing the codesniffer command from the root of this project to run the sniffer using these custom rules., (*15)

$ ./codesniffer

The Versions

05/03 2015

dev-develop-2

dev-develop-2

Build urls to resources in your app

  Sources   Download

MIT

The Requires

 

The Development Requires

by Josh Moody

17/02 2015

dev-master

9999999-dev

Build urls to resources in your app

  Sources   Download

MIT

The Requires

 

The Development Requires

by Josh Moody

17/02 2015

1.2.0

1.2.0.0

Build urls to resources in your app

  Sources   Download

MIT

The Requires

 

The Development Requires

by Josh Moody

23/01 2015

1.1.0

1.1.0.0

Build urls to resources in your app

  Sources   Download

MIT

The Requires

 

The Development Requires

by Josh Moody

30/08 2014

1.0.1

1.0.1.0

Build urls to resources in your app

  Sources   Download

MIT

The Requires

 

The Development Requires

by Josh Moody

22/07 2014

1.0

1.0.0.0

Build urls to resources in your app

  Sources   Download

MIT

The Requires

 

The Development Requires

by Josh Moody