承接 flame/modules 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

flame/modules

Composer 安装命令:

composer require flame/modules

包简介

Nette modules on the Steroids

README 文档

README

#Nette Modules on the Steroids Build Status

Simple registration and management of Nette modules & extensions.

Read more on project homepage.

##Features

###Simple configuration ####config.neon In config.neon register extension Flame\Modules\DI\ModulesExtension

extensions:
	- Flame\Modules\DI\ModulesExtension

####Add your extensions Register extensions very simply

extensions:
	- App\AppModule\DI\AppExtension
	rest: Flame\Rest\DI\RestExtension
	events: Kdyby\Events\DI\EventsExtension
	# ...
	- Flame\Modules\DI\ModulesExtension # Do not forget to add it!

That's all, nothing more! Simple!

TIP! Make sure the ModulesExtension is registered as the last nette extensions. You will avoid a lot of misunderstanding.

##Examples ###IRouterProvider

class AppExtension extends CompilerExtension implements Flame\Modules\Providers\IRouterProvider
{

	/**
	 * Returns array of ServiceDefinition,
	 * that will be appended to setup of router service
	 * 
 	 * @example https://github.com/nette/sandbox/blob/master/app/router/RouterFactory.php - createRouter()
	 * @return \Nette\Application\IRouter
	 */
	public function getRoutesDefinition()
	{
		return new Nette\Application\Routers\Route('<module>/<presenter>/<action>[/<id>]', array(
			'module' => 'App',
			'Presenter' => 'Homepage',
			'action' => 'default',
			'id' => null
		);
	}
}

###NEW! You can add your separated service as your router factory

class AppExtension extends CompilerExtension
{
	public function loadConfiguration()
    	{
    		$builder = $this->getContainerBuilder();
    		$builder->addDefinition('service.routerFactory')
    			->setClass('Modules\RouterFactory') // YOUR ROUTER FACTORY CLASS
    			->addTag(Flame\Modules\ModulesExtension::TAG_ROUTER); // DONT FORGET TO ADD THE TAG!
    	}
}

###IPresenterMappingProvider

class AppExtension extends CompilerExtension implements Flame\Modules\Providers\IPresenterMappingProvider
{

	/**
    	 * Returns array of ClassNameMask => PresenterNameMask
    	 *
    	 * @example return array('*' => 'Booking\*Module\Presenters\*Presenter');
    	 * @return array
    	 */
    	public function getPresenterMapping()
    	{
    		return array(
    			'*' => 'App\*Module\Presenters\*Presenter'
    		);
    	}
}

###IParametersProvider

class AppExtension extends CompilerExtension implements Flame\Modules\Providers\IParametersProvider
{

	/**
	 * Return array of parameters,
	 * which you want to add into DIC
	 *
	 * @example return array('images' => 'path/to/folder/with/images');
	 * @return array
	 */
	public function getParameters()
	{
		return array(
			'images' => '%wwwDir%/path/to/folder/with/images',
			'consoleMode' => true,
			'appDir' => 'aa'
		);
	}

}

###ITemplateHelpersProvider

class HelperExtension extends CompilerExtension implements Flame\Modules\Providers\ITemplateHelpersProvider
{

	/**
	 * Return list of helpers definitions or providers
	 *
	 * @return array
	 */
	public function getHelpersConfiguration()
	{
		return array(
			'App\HelperModule\Template\HelperProvider'
		);
	}
}

###ILatteMacrosProvider

class MacroExtension extends CompilerExtension implements Flame\Modules\Providers\ILatteMacrosProvider
{

	/**
	 * Get array of latte macros classes
	 *
	 * @return array
	 */
	public function getLatteMacros()
	{
		return array(
			'App\MacroModule\Template\MacroInstaller'
		);
	}
}

###IErrorPresenterProvider

class ErrorExtension extends CompilerExtension implements Flame\Modules\Providers\IErrorPresenterProvider
{

	/**
	 * Return name of error presenter
	 *
	 * @return string
	 */
	public function getErrorPresenterName()
	{
		return 'Error:CustomError';
	}
}

and more: ITracyBarPanelsProvider, ITracyPanelsProvider

###What next? Look into the project homepage for more details.

Read more about this package on blog [CZE].

Based on SOLID MODULAR CONCEPT.

flame/modules 适用场景与选型建议

flame/modules 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 61.83k 次下载、GitHub Stars 达 13, 最近一次更新时间为 2013 年 07 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「framework」 「modules」 「tools」 「nette」 「Simple」 「flame」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 flame/modules 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 flame/modules 我们能提供哪些服务?
定制开发 / 二次开发

基于 flame/modules 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 61.83k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 13
  • 点击次数: 29
  • 依赖项目数: 4
  • 推荐数: 1

GitHub 信息

  • Stars: 13
  • Watchers: 3
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0
  • 更新时间: 2013-07-18