Skip to content

Instantly share code, notes, and snippets.

@castamir
Last active December 19, 2015 15:09
Show Gist options
  • Save castamir/5974238 to your computer and use it in GitHub Desktop.
Save castamir/5974238 to your computer and use it in GitHub Desktop.
Nette factories generated by interface
factories:
messagesManager:
factory: Factories\IMessagesManager
<?php
namespace Factories;
use App\Controls\Messages\MessageControl;
interface IMessagesManager
{
/**
* @return MessageControl
*/
function create();
}
<?php
namespace App\IntranetModule;
use Factories\IMessagesManager;
use App\Controls\Messages\MessageControl;
class MessagePresenter extends BasePresenter
{
/** @var IMessagesManager */
public $messageManager;
/**
* @param IMessagesManager $messageManager
*/
public final function injectMessageManager(IMessagesManager $messageManager)
{
$this->messageManager = $messageManager;
}
/**
* @return MessageControl
*/
protected function createComponentMessage()
{
$control = $this->messageManager->create();
// ...
return $control;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment