What is a slug ?
A slug is a part of a URL which identifies a particular page on a website in a form readable by users. It’s the nice part of the URL, which explains the page’s content. In WordPress, it’s the editable part of your URL that you can edit when writing a new post.
nSlug allows to create those urls for any language easily.
// English strings.
echo$slugGenerator->generate('Hello World');// Prints 'hello-world'.
echo$slugGenerator->generate('Life is too short!');// Prints 'life-is-too-short'.
// Arabic strings.
echo$slugGenerator->generate('صباح جميل');// Prints 'صباح-جميل'.
echo$slugGenerator->generate('مساء الخير');// Prints 'مساء-الخير'.
Underscore.php features a good hundred of methods for all kinds of types : strings, objects, arrays, functions, integers, etc., and provides a parsing class that help switching from one type to the other mid-course.
I am currently building a custom slides / template builder for a project, with a lot of moving parts and dynamic logic.
As there are repeating patterns within the slides, each pattern and its logic needs to be neatly separated. As the slides can be reordered and dropzones can be changed, I need to make sure logic doesn’t break and IDs get updated.
Before reassembling all templates, I am making sure that IDs match the slide and dropzone using a preg_replace_callback
One of the patterns is a simple tab setup, each has its unique ID defined like vl-tab_U1_S1_D1.
The function below passes the found matches through to the anonymous callback function in preg_replace_callback and offers outside data to the function using use($foo). The $dropzone object holds the current unit, slide and dropzone of the pattern, which can be used to replace the current ID with the correct one.
“Plates is a native PHP template system that’s fast, easy to use and easy to extend. It’s inspired by the excellent Twig template engine and strives to bring modern template language functionality to native PHP templates.
Plates is designed for developers who prefer to use native PHP templates over compiled template languages, such as Twig or Smarty.”
Paw is a full-featured HTTP client that lets you test the APIs you build or consume. It has a beautiful native OS X interface to compose requests, inspect server responses and generate client code out-of-the-box.
This is one of my go-to tools, when test-driving my API endpoints.