for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace GinoPane\BlogTaxonomy\Components;
use RainLab\Blog\Models\Post;
/**
* Trait UrlHelperTrait
*
* @package GinoPane\BlogTaxonomy\Components
*/
trait UrlHelperTrait
{
* Reference to the page name for linking to posts
* @var string
protected $postPage;
* Reference to the page name for linking to categories
protected $categoryPage;
* @param $items
* @param $urlPage
* @param $controller
public function setUrls($items, $urlPage, $controller)
if ($items) {
foreach ($items as $item) {
$item->setUrl($urlPage, $controller);
}
* Set Urls to posts
* @param Post $post
public function setPostUrls(Post $post)
$post->setUrl($this->postPage, $this->controller);
controller
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
if ($post && $post->categories->count()) {
$post->categories->each(function ($category) {
$category->setUrl($this->categoryPage, $this->controller);
});
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: