Sure, let’s say you have a table called Categories with different entries which you want to be accessible via user friendly urls.
What you do is add a new field to your categories table called “slug” (or “alias” or “url” or whatever you like, it doesn’t matter). This field should contain the user friendly url for each entry, like “home” or “newest-articles” etc.
How you add the value to the slug field depends on your app. For example, you can take the title of the category and automatically convert it into a seo-friendly url (http://book.cakephp.org/3.0/en/core-libraries/text.html#Cake\Utility\Text::slug).
You can also do it manually through a form or maybe some other way.
In any case, the idea is that every entry has a unique slug, which you use in your links in place of id’s, i.e.:
$this->Html->link($category->title, ['controller' => 'categories', 'action' => 'view', $category->slug]) ?>
In your routes you connect it appropriately:
$routes->connect('/:slug', ['controller' => 'Categories', 'action' => 'view'], ['pass' => ['slug']]);
Then in your view action you should use the slug to find the entry in place of the id.
That’s a fairly easy way to do seo friendly urls.
If you’re concerned with performance (since slugs are a bit less efficient than ids), you could also use a combination of id and slug and then explode it and use the id, i.e.: /17-home
Hope this helps!