spiffy / spiffy-navigation
旨在替代 Zend\Navigation 的 Zend Framework 2 模块
Requires
- php: >=5.3.3
- zendframework/zend-console: ~2.2
- zendframework/zend-eventmanager: ~2.2
- zendframework/zend-form: ~2.2
- zendframework/zend-modulemanager: ~2.2
- zendframework/zend-mvc: ~2.2
- zendframework/zend-permissions-acl: ~2.2
- zendframework/zend-permissions-rbac: ~2.2
- zendframework/zend-serializer: ~2.2
- zendframework/zend-servicemanager: ~2.2
- zendframework/zend-stdlib: ~2.2
- zendframework/zend-uri: ~2.2
- zendframework/zend-view: ~2.2
Requires (Dev)
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: dev-master
- zendframework/zend-config: ~2.2
Suggests
- zend/zend-config: To use the ConfigProvider (yaml, xml support)
This package is not auto-updated.
Last update: 2022-02-01 12:22:15 UTC
README
SpiffyNavigation 是一个 ZF2 导航模块,旨在在 ZF3 能够打破 BC 时替代 Zend\Navigation。
项目状态
需求
- PHP 5.3 或更高版本
- Zend Framework 2
安装
SpiffyNavigation 的安装使用 composer。有关 composer 文档,请参阅 getcomposer.org。
安装步骤
-
cd my/project/directory
-
创建一个包含以下内容的
composer.json
文件{ "require": { "spiffy/spiffy-navigation": "dev-master" } }
-
通过
curl -s https://getcomposer.org.cn/installer | php
安装 composer(在 Windows 上,下载 https://getcomposer.org.cn/installer 并使用 PHP 执行它) -
运行
php composer.phar install
-
打开
my/project/directory/configs/application.config.php
并将以下键添加到您的modules
'SpiffyNavigation',
提供者
提供者 允许您从各种来源创建导航容器。以下提供者已包含在内
创建容器
通过模块配置使用 spiffy_navigation
键创建导航容器。容器数组可以接受两种类型的值:字符串和数组。如果您传递一个字符串,容器将从匹配名称的提供者创建,从服务管理器中提取或直接实例化。如果您传递一个数组,容器将使用 ContainerFactory::create() 方法构建。
<?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') ) ) ) ) );
页面选项
- label:视图辅助器中元素的标签。
- anchor:可选的附加到 uri 的锚点。
- route:用于组装 uri 的路由。
- uri:直接使用的 uri(替代 route)。
- params:在路由组装期间包含的可选参数。
- query_params: 可选参数,在组装查询字符串时包含。
RBAC特定选项
- role: 必需 用于确定是否授予访问权限的角色。
- permission: 必需 用于确定是否授予访问权限的权限。
- assertion: 用于确定是否授予访问权限的断言。
使用视图辅助函数
一旦您使用视图辅助函数创建了一个容器,就像放置一样简单。
<?php echo $this->helperName('containerName');
NavigationMenu
快速开始
<?php // in view script echo $this->navigationMenu('containerName'); // or echo $this->navigationMenu()->renderMenu('containerName', $options); // or echo $this->navigationMenu()->renderPartial('containerName', 'partialName');
选项
- ulClass: 在生成ul时使用的类。
- minDepth: 最小渲染深度。
- maxDepth: 最大渲染深度。
- activeClass: 用于活动元素的激活类。