spiffy/spiffy-navigation
最新稳定版本:1.0.4
Composer 安装命令:
composer require spiffy/spiffy-navigation
包简介
Zend Framework 2 Module that aims to replace Zend\Navigation
README 文档
README
SpiffyNavigation is a navigation module for ZF2 intended to be a replacement for Zend\Navigation when ZF3 is able to break BC.
Project Status
Requirements
- PHP 5.3 or higher
- Zend Framework 2
Installation
Installation of SpiffyNavigation uses composer. For composer documentation, please refer to getcomposer.org.
Installation steps
-
cd my/project/directory -
create a
composer.jsonfile with following contents:{ "require": { "spiffy/spiffy-navigation": "dev-master" } } -
install composer via
curl -s http://getcomposer.org/installer | php(on windows, download http://getcomposer.org/installer and execute it with PHP) -
run
php composer.phar install -
open
my/project/directory/configs/application.config.phpand add the following key to yourmodules:'SpiffyNavigation',
Providers
Providers let you create your navigation containers from various sources. The following providers are included out of the box:
- array: builds a container from an array.
- config: builds a container from a file using Zend\Config.
- json: builds a container from a json string.
Creating containers
Creating navigation containers is done via the module configuration using the spiffy_navigation key. The containers
array can take two types of values: a string and an array. If you pass a string the container will be created from a
provider matching the name if it exists, pulled from the service manager or instantiated directly. If you pass an array
the container is built using the ContainerFactory::create() method.
<?php // module.config.php return array( 'spiffy_navigation' => array( 'containers' => array( 'default' => array( array( 'options' => array( 'uri' => 'http://www.github.com', ), 'attributes' => array( 'class' => 'foo', 'target' => '_blank', 'name' => 'github' ) ), array( 'options' => array( 'label' => 'Home', 'route' => 'home', ), 'attributes' => array( 'name' => 'Home' ) 'pages' => array( // ... ) ) ), 'serviceManager' => 'My\ServiceManager\Alias', 'class' => 'My\Class\Instantiation', 'json_provider' => 'mynav', ), 'providers' => array( 'mynav' => array( 'type' => 'json', 'options' => array( 'json' => file_get_contents(__DIR__ . '/navigation/mynav.json') ) ) ) ) );
Page options
- label: The label for the element in view helpers.
- anchor: An optional anchor to append to the uri.
- route: The route to use for assembling the uri.
- uri: The direct uri to use (use instead of route).
- params: Optional params to include during route assembly.
- query_params: Optional params to include in the query string during assembly.
Rbac specific options
- role: required The role to use to determine if access is granted.
- permission: required The permission to use to determine if access is granted.
- assertion: The assertion to use to determine if access is granted.
Using the view helpers
Once you have created a container using a view helper is as simple as putting:
<?php echo $this->helperName('containerName');
NavigationMenu
Quick Start
<?php // in view script echo $this->navigationMenu('containerName'); // or echo $this->navigationMenu()->renderMenu('containerName', $options); // or echo $this->navigationMenu()->renderPartial('containerName', 'partialName');
Options
- ulClass: The class to use when generating the ul.
- minDepth: Minimum render depth.
- maxDepth: Maximum render depth.
- activeClass: Active class to use for the active element.
spiffy/spiffy-navigation 适用场景与选型建议
spiffy/spiffy-navigation 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 78.81k 次下载、GitHub Stars 达 22, 最近一次更新时间为 2012 年 11 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「zf2」 「module」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 spiffy/spiffy-navigation 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 spiffy/spiffy-navigation 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 spiffy/spiffy-navigation 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
LosLog provides some log utility
EdpModuleLayouts is very simple Laminas module for making module-specific layouts insanely easy.
Zend Framework module to leverage the symfony dependency injection container
RCM User HTML views/pages
Builds a Bridge between Zend Expressive and Plugin Managers of Zend\MVC
Error and Exception override and observers.
统计信息
- 总下载量: 78.81k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 23
- 点击次数: 17
- 依赖项目数: 4
- 推荐数: 3
其他信息
- 授权协议: Unknown
- 更新时间: 2012-11-13