PHPackages                             ponponumi/breadcrumb\_create - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ponponumi/breadcrumb\_create

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ponponumi/breadcrumb\_create
============================

1.0.8(10mo ago)0341MITPHP

Since Nov 3Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/ponponumi/breadcrumb_create)[ Packagist](https://packagist.org/packages/ponponumi/breadcrumb_create)[ RSS](/packages/ponponumi-breadcrumb-create/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (12)Used By (1)

breadcrumb\_create
==================

[](#breadcrumb_create)

このパッケージは、パンくずリストを生成するライブラリです。

Composerでのインストールについて
--------------------

[](#composerでのインストールについて)

次のコマンドを実行する事で、インストール可能です。

```
composer require ponponumi/breadcrumb_create
```

パッケージの読み込みについて
--------------

[](#パッケージの読み込みについて)

PHPファイルに、次のように入力してください。(autoload.phpへのパスは、必要に応じて修正してください)

```
require_once __DIR__ . "/vendor/autoload.php";

use Ponponumi\BreadcrumbCreate\BreadcrumbCreate;
```

BreadcrumbCreateクラスについて
-----------------------

[](#breadcrumbcreateクラスについて)

このクラスのメソッドは、全て動的メソッドとして作成しているため、インスタンスの作成が必要です。

### コンストラクタについて

[](#コンストラクタについて)

次のように記述してください。

```
$breadcrumb = new BreadcrumbCreate("ul",true);
```

#### 引数について

[](#引数について)

左から、次のようになっています。

##### string $tagMode="ul"

[](#string-tagmodeul)

「ul」にすると、ulタグでliタグを囲います。

「ol」にすると、olタグでliタグを囲います。

「div」にすると、divタグでdivタグを囲います。

「ul」または「ol」にする事をおすすめします。

「ul」「ol」「div」以外の文字を渡した場合、「ul」として処理されます。

##### $spanMode=true

[](#spanmodetrue)

spanタグで囲うかどうかを選びます。

初期状態では「true」です。

なお、microdataモードが有効の場合、こちらで「false」を指定したとしても、spanタグで囲いますのでご注意ください。

### spanModeSetメソッドについて

[](#spanmodesetメソッドについて)

ページ名をspanタグで囲うかどうかを選びます。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->spanModeSet(true);
```

#### 引数について

[](#引数について-1)

##### mixed $value

[](#mixed-value)

spanタグで囲うかどうかを選びます。

「true」の場合は囲い、「false」の場合は囲いません。

bool型以外を渡した場合、boolval関数で変換されます。

なお、microdataモードが有効の場合、こちらで「false」を指定したとしても、spanタグで囲いますのでご注意ください。

### tagModeChangeメソッドについて

[](#tagmodechangeメソッドについて)

使うHTMLタグを選びます。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->tagModeChange("ol");
```

#### 引数について

[](#引数について-2)

##### string $tagMode="ul"

[](#string-tagmodeul-1)

「ul」にすると、ulタグでliタグを囲います。

「ol」にすると、olタグでliタグを囲います。

「div」にすると、divタグでdivタグを囲います。

「ul」または「ol」にする事をおすすめします。

「ul」「ol」「div」以外の文字を渡した場合、エラーは発生せず、現在の設定が引き継がれます。

### htmlAttributeConvertSetメソッドについて

[](#htmlattributeconvertsetメソッドについて)

HTMLの属性を、Emmet形式から変換するか選びます。

変換する場合、後述するHTML属性を指定するメソッドで、例えば「#breadcrumb-elem.breadcrumb.breadcrumb-list」という文字を渡すと、「id="breadcrumb-elem" class="breadcrumb breadcrumb-list"」を出力します。

「true」を渡せば変換し、「false」を渡せば変換しません。

変換しない場合、例えば「id="breadcrumb-elem" class="breadcrumb breadcrumb-list"」という属性を付与したい場合、後述するHTML属性を指定するメソッドで、「id="breadcrumb-elem" class="breadcrumb breadcrumb-list"」を渡してください。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->htmlAttributeConvertSet(true);
```

### listAttributeSetメソッドについて

[](#listattributesetメソッドについて)

HTMLのリストのタグ(ulまたはol)の、class属性とid属性を指定します。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->listAttributeSet(".breadcrumb#breadcrumb");
```

または

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->htmlAttributeConvertSet(false);
$breadcrumb->listAttributeSet('class="breadcrumb" id="breadcrumb"');
```

この場合、いずれも次のようなHTMLが生成されます。

```

```

### itemAttributeSetメソッドについて

[](#itemattributesetメソッドについて)

HTMLのリストアイテムのタグ(li)の、class属性を指定します。

id属性は指定できません。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->itemAttributeSet(".breadcrumb-item");
```

または

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->htmlAttributeConvertSet(false);
$breadcrumb->itemAttributeSet('class="breadcrumb-item"');
```

この場合、いずれも次のようなHTMLが生成されます。

```

```

### anchorAttributeSetメソッドについて

[](#anchorattributesetメソッドについて)

HTMLのアンカータグ(aタグ)の、class属性を指定します。

id属性は指定できません。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->anchorAttributeSet(".breadcrumb-item-link");
```

または

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->htmlAttributeConvertSet(false);
$breadcrumb->anchorAttributeSet('class="breadcrumb-item-link"');
```

この場合、いずれも次のようなHTMLが生成されます。

```

```

### spanAttributeSetメソッドについて

[](#spanattributesetメソッドについて)

HTMLのspanタグの、class属性を指定します。

id属性は指定できません。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->spanAttributeSet(".breadcrumb-item-name");
```

または

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->htmlAttributeConvertSet(false);
$breadcrumb->spanAttributeSet('class="breadcrumb-item-name"');
```

この場合、いずれも次のようなHTMLが生成されます。

```

    トップ

```

### htmlEscapeSetメソッドについて

[](#htmlescapesetメソッドについて)

HTMLに出力する際、文字列をhtmlspecialchars関数で、エスケープするかどうかを選びます。

エスケープする場合はtrue、しない場合はfalseを渡してください。

初期値ではtrueです。

falseにすると、XSS攻撃が発生する可能性がありますので、余程の事情がない限り、trueのままにする事をおすすめします。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->htmlEscapeSet(true);
```

### pageNameKeySetメソッドについて

[](#pagenamekeysetメソッドについて)

ページ名の連想配列のキーを指定してください。

初期値では「name」です。

例えば、「pageName」に変更する場合、次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->pageNameKeySet("pageName");
```

### pageLinkKeySetメソッドについて

[](#pagelinkkeysetメソッドについて)

ページリンクの連想配列のキーを指定してください。

初期値では「link」です。

例えば、「pageLink」に変更する場合、次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->pageLinkKeySet("pageLink");
```

### pageKeySetメソッドについて

[](#pagekeysetメソッドについて)

ページ名とページリンクの連想配列のキーを指定してください。

初期値では「link」です。

例えば、ページ名は「pageName」、ページリンクは「pageLink」に変更する場合、次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->pageKeySet("pageName","pageLink");
```

### microdataModeSetメソッドについて

[](#microdatamodesetメソッドについて)

HTMLを、microdata形式のパンくずリストにするかどうかを、選びます。

初期値では「true」です。

microdataを無効にする場合、次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->microdataModeSet(false);
```

#### HTMLでの出力例について

[](#htmlでの出力例について)

前提条件として、後述する次のデータをHTML生成用のメソッドに、渡したとします。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];
```

microdataが有効の場合、次のように出力されます。

```

            ホーム

        ページ

```

microdataが無効の場合、次のように出力されます。

```

            ホーム

        ページ

```

##### どちらにするべきか？

[](#どちらにするべきか)

- JSON-LD形式のパンくずリストを使う→microdataを無効
- JSON-LD形式のパンくずリストを使わない→microdataを有効

こうする事をお勧めします。

### optionListSetメソッドについて

[](#optionlistsetメソッドについて)

オプションを設定します。

次のように記述してください。

戻り値はありません。

```
$breadcrumb = new BreadcrumbCreate();
$breadcrumb->optionListSet([
    "htmlAttributeConvert" => true,                 // htmlAttributeConvertSetメソッドに渡します
    "listAttribute" => ".breadcrumb",               // listAttributeSetメソッドに渡します
    "itemAttribute" => ".breadcrumb-item",          // itemAttributeSetメソッドに渡します
    "anchorAttribute" => ".breadcrumb-item-link",   // anchorAttributeSetメソッドに渡します
    "spanAttribute" => ".breadcrumb-item-name",     // spanAttributeSetメソッドに渡します
    "htmlEscape" => true,                           // htmlEscapeSetメソッドに渡します
    "pageNameKey" => "name",                        // pageNameKeySetメソッドに渡します
    "pageLinkKey" => "link",                        // pageLinkKeySetメソッドに渡します
]);
```

#### 引数について

[](#引数について-3)

左から、次のようなオプションになります。

##### array $option

[](#array-option)

上記のような配列を、渡してください。

省略はできません。

##### bool $jsonLDMode=false

[](#bool-jsonldmodefalse)

JSON-LD形式のパンくずリスト向けのデータを渡す場合、「true」を渡してください。

trueにすると、「pageNameKey」と「pageLinkKey」以外のデータを、設定しなくなります。

省略した場合はfalseとして扱います。

### htmlCreateメソッドについて

[](#htmlcreateメソッドについて)

パンくずリストのHTMLを生成します。

戻り値は、生成したHTMLを文字列として返します。

次のように記述してください。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];

$option = [
    "listAttribute" => ".breadcrumb#breadcrumb",
    "itemAttribute" => ".breadcrumb-item",
    "anchorAttribute" => ".breadcrumb-item-link",
    "spanAttribute" => ".breadcrumb-item-name"
];

$breadcrumb = new BreadcrumbCreate();
$html = $breadcrumb->htmlCreate($data, $option);
echo $html;
```

この場合、次のようなHTMLを生成します。

```

            ホーム

        ページ

```

#### 引数について

[](#引数について-4)

左から、次のような引数になります。

##### array $data

[](#array-data)

ここには、パンくずリストのデータを渡してください。

##### array $option=\[\]

[](#array-option-1)

ここには、オプションの配列を渡してください。

内部的には、optionListSetメソッドを呼び出しておりますので、配列の形式については、上記のoptionListSetメソッドについての説明をご覧ください。

### htmlメソッドについて

[](#htmlメソッドについて)

引数、生成するHTMLについては、htmlCreateメソッドと同じです。

しかし、このメソッドでは戻り値がなく、htmlCreateメソッドの値をechoで出力します。

次のように記述してください。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];

$option = [
    "listAttribute" => ".breadcrumb#breadcrumb",
    "itemAttribute" => ".breadcrumb-item",
    "anchorAttribute" => ".breadcrumb-item-link",
    "spanAttribute" => ".breadcrumb-item-name"
];

$breadcrumb = new BreadcrumbCreate();
$breadcrumb->html($data, $option);
```

### jsonArrayCreateメソッドについて

[](#jsonarraycreateメソッドについて)

JSON-LD形式のパンくずリスト用の配列データを生成します。

戻り値は、JSON-LD形式のパンくずリストと同じ形式の、連想配列です。

引数については、基本的にhtmlCreateメソッドと同じです。

次のように記述してください。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];

$option = [
    "pageNameKey" => "name",
    "pageLinkKey" => "link"
];

$breadcrumb = new BreadcrumbCreate();
$breadcrumbData = $breadcrumb->jsonArrayCreate($data, $option);
var_dump($breadcrumbData);
```

この場合、次のようなデータ形式になります。

```
array(3) {
  ["@context"]=>
  string(18) "https://schema.org"
  ["@type"]=>
  string(14) "BreadcrumbList"
  ["itemListElement"]=>
  array(2) {
    [0]=>
    array(4) {
      ["@type"]=>
      string(8) "ListItem"
      ["position"]=>
      int(1)
      ["name"]=>
      string(9) "ホーム"
      ["item"]=>
      string(17) "http://localhost/"
    }
    [1]=>
    array(3) {
      ["@type"]=>
      string(8) "ListItem"
      ["position"]=>
      int(2)
      ["name"]=>
      string(9) "ページ"
    }
  }
}
```

### jsonStringCreateメソッドについて

[](#jsonstringcreateメソッドについて)

JSON-LD形式のパンくずリストのJSONデータを生成します。

戻り値は、JSON-LD形式のパンくずリストの、JSON文字列です。

引数については、基本的にhtmlCreate、jsonArrayCreateメソッドと同じです。

次のように記述してください。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];

$option = [
    "pageNameKey" => "name",
    "pageLinkKey" => "link"
];

$breadcrumb = new BreadcrumbCreate();
$breadcrumbData = $breadcrumb->jsonStringCreate($data, $option);
echo $breadcrumbData;
```

この場合、次のような形式のJSONを返します。

```
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "ホーム",
            "item": "http://localhost/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "ページ"
        }
    ]
}
```

### jsonScriptCreateメソッドについて

[](#jsonscriptcreateメソッドについて)

JSON-LD形式のパンくずリストのJSONデータを生成し、scriptタグで囲います。

戻り値は、JSON-LD形式のパンくずリストの、JSONをscriptタグで囲った文字列です。

引数については、基本的にhtmlCreate、jsonArrayCreateメソッドと同じです。

次のように記述してください。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];

$option = [
    "pageNameKey" => "name",
    "pageLinkKey" => "link"
];

$breadcrumb = new BreadcrumbCreate();
$breadcrumbData = $breadcrumb->jsonScriptCreate($data, $option);
echo $breadcrumbData;
```

この場合、次のような形式のJSONを返します。

```

    {
        "@context": "https://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": [
            {
                "@type": "ListItem",
                "position": 1,
                "name": "ホーム",
                "item": "http://localhost/"
            },
            {
                "@type": "ListItem",
                "position": 2,
                "name": "ページ"
            }
        ]
    }

```

### jsonScriptメソッドについて

[](#jsonscriptメソッドについて)

引数、生成する文字列については、jsonScriptCreateメソッドと同じです。

しかし、このメソッドでは戻り値がなく、jsonScriptCreateメソッドの値をechoで出力します。

次のように記述してください。

```
$data = [
    ["name" => "ホーム","link" => "http://localhost/"],
    ["name" => "ページ"],
];

$option = [
    "pageNameKey" => "name",
    "pageLinkKey" => "link"
];

$breadcrumb = new BreadcrumbCreate();
$breadcrumb->jsonScript($data, $option);
```

ライセンスについて
---------

[](#ライセンスについて)

このパッケージは、MITライセンスとして作成されています。

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance58

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~31 days

Recently: every ~54 days

Total

9

Last Release

302d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/33330e24ced26a4d62456dc643833f584a458b10734b7988189558e6156a3668?d=identicon)[ponponumi](/maintainers/ponponumi)

---

Top Contributors

[![ponponumi](https://avatars.githubusercontent.com/u/123799676?v=4)](https://github.com/ponponumi "ponponumi (204 commits)")

### Embed Badge

![Health badge](/badges/ponponumi-breadcrumb-create/health.svg)

```
[![Health](https://phpackages.com/badges/ponponumi-breadcrumb-create/health.svg)](https://phpackages.com/packages/ponponumi-breadcrumb-create)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
