本文整理汇总了PHP中PhpSpec\Locator\ResourceInterface::getSrcClassname方法的典型用法代码示例。如果您正苦于以下问题:PHP ResourceInterface::getSrcClassname方法的具体用法?PHP ResourceInterface::getSrcClassname怎么用?PHP ResourceInterface::getSrcClassname使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhpSpec\Locator\ResourceInterface
的用法示例。
在下文中一共展示了ResourceInterface::getSrcClassname方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
function it_generates_class_method_from_resource($io, $tpl, $fs, ResourceInterface $resource)
{
$codeWithoutMethod = <<<CODE
<?php
namespace Acme;
class App
{
}
CODE;
$codeWithMethod = <<<CODE
<?php
namespace Acme;
class App
{
METHOD
}
CODE;
$values = array('%name%' => 'setName', '%arguments%' => '$argument1');
$resource->getSrcFilename()->willReturn('/project/src/Acme/App.php');
$resource->getSrcClassname()->willReturn('Acme\\App');
$tpl->render('method', $values)->willReturn(null);
$tpl->renderString(Argument::type('string'), $values)->willReturn('METHOD');
$fs->getFileContents('/project/src/Acme/App.php')->willReturn($codeWithoutMethod);
$fs->putFileContents('/project/src/Acme/App.php', $codeWithMethod)->shouldBeCalled();
$this->generate($resource, array('name' => 'setName', 'arguments' => array('everzet')));
}
示例2: getContent
/**
* @param ResourceInterface $resource
* @param string $methodName
* @param array $arguments
* @return string
*/
private function getContent(ResourceInterface $resource, $methodName, $arguments)
{
$className = $resource->getName();
$class = $resource->getSrcClassname();
$template = new CreateObjectTemplate($this->templates, $methodName, $arguments, $className);
if (method_exists($class, '__construct')) {
$template = new ExistingConstructorTemplate($this->templates, $methodName, $arguments, $className, $class);
}
return $template->getContent();
}
示例3:
function it_asks_confirmation_if_spec_already_exists($io, $tpl, $fs, ResourceInterface $resource)
{
$resource->getSpecName()->willReturn('App');
$resource->getSpecFilename()->willReturn('/project/spec/Acme/App.php');
$resource->getSpecNamespace()->willReturn('spec\\Acme');
$resource->getSrcClassname()->willReturn('Acme\\App');
$fs->pathExists('/project/spec/Acme/App.php')->willReturn(true);
$io->askConfirmation(Argument::type('string'), false)->willReturn(false);
$fs->putFileContents(Argument::cetera())->shouldNotBeCalled();
$this->generate($resource);
}
示例4: generate
public function generate(ResourceInterface $resource, array $data = array())
{
$filepath = $resource->getSpecFilename();
if ($this->filesystem->pathExists($filepath)) {
$message = sprintf('File "%s" already exists. Overwrite?', basename($filepath));
if (!$this->io->askConfirmation($message, false)) {
return;
}
$this->io->writeln();
}
$path = dirname($filepath);
if (!$this->filesystem->isDirectory($path)) {
$this->filesystem->makeDirectory($path);
}
$values = array('%filepath%' => $filepath, '%name%' => $resource->getSpecName(), '%namespace%' => $resource->getSpecNamespace(), '%subject%' => $resource->getSrcClassname());
if (!($content = $this->templates->render('controller_specification', $values))) {
$content = $this->templates->renderString(file_get_contents(__DIR__ . '/templates/controller_spec.template'), $values);
}
$this->filesystem->putFileContents($filepath, $content);
$this->io->writeln(sprintf("<info>ControllerSpecification for <value>%s</value> created in <value>'%s'</value>.</info>\n", $resource->getSrcClassname(), $filepath));
}
示例5:
function it_prepares_the_subject(ExampleNode $example, ObjectBehavior $context, MatcherManager $matchers, CollaboratorManager $collaborators, SpecificationNode $specification, ResourceInterface $resource, VarienWrapper $wrapper, Subject $subject, $factory)
{
$factory->create(Argument::cetera())->willReturn($wrapper);
$wrapper->wrap(null)->willReturn($subject);
$subject->beAnInstanceOf('\\stdObject');
$subject = $subject->getWrappedObject();
$resource->getSrcClassname()->willReturn('\\stdObject');
$specification->getResource()->willReturn($resource);
$example->getSpecification()->willReturn($specification);
$context->setSpecificationSubject($subject)->shouldBeCalled();
$this->prepare($example, $context, $matchers, $collaborators);
}
示例6: generate
/**
* @param ResourceInterface $resource
* @param array $data
*/
public function generate(ResourceInterface $resource, array $data = array())
{
$filepath = $resource->getSrcFilename();
$name = $data['name'];
$arguments = $data['arguments'];
$argString = $this->buildArgumentString($arguments);
$values = array('%name%' => $name, '%arguments%' => $argString);
if (!($content = $this->templates->render('interface-method-signature', $values))) {
$content = $this->templates->renderString($this->getTemplate(), $values);
}
$this->insertMethodSignature($filepath, $content);
$this->io->writeln(sprintf("<info>Method signature <value>%s::%s()</value> has been created.</info>\n", $resource->getSrcClassname(), $name), 2);
}
示例7: generate
/**
* @param ResourceInterface $resource
* @param array $data
*/
public function generate(ResourceInterface $resource, array $data = array())
{
$filepath = $resource->getSrcFilename();
$name = $data['name'];
$arguments = $data['arguments'];
$argString = count($arguments) ? '$argument' . implode(', $argument', range(1, count($arguments))) : '';
$values = array('%name%' => $name, '%arguments%' => $argString);
if (!($content = $this->templates->render('method', $values))) {
$content = $this->templates->renderString($this->getTemplate(), $values);
}
$code = $this->filesystem->getFileContents($filepath);
$this->filesystem->putFileContents($filepath, $this->getUpdatedCode($name, $content, $code));
$this->io->writeln(sprintf("<info>Method <value>%s::%s()</value> has been created.</info>\n", $resource->getSrcClassname(), $name), 2);
}
示例8: renderTemplate
/**
* @param ResourceInterface $resource
* @param string $filepath
*
* @return string
*/
protected function renderTemplate(ResourceInterface $resource, $filepath)
{
$controller = <<<CONTROLLER
function let(\\Fuel\\Core\\Request \$request, \\Fuel\\Core\\Response \$response){
\$this->beConstructedWith(\$request, \$response);
}
CONTROLLER;
$values = array('%filepath%' => $filepath, '%name%' => $resource->getSpecName(), '%namespace%' => $resource->getSpecNamespace(), '%subject%' => $resource->getSrcClassname(), "%constructor%" => preg_match("!^Controller_!i", $resource->getSpecName()) ? $controller : "");
if (!($content = $this->getTemplateRenderer()->render('specification', $values))) {
$content = $this->getTemplateRenderer()->renderString($this->getTemplate(), $values);
}
return $content;
}
示例9: generate
/**
* @param ResourceInterface $resource
* @param array $data
*/
public function generate(ResourceInterface $resource, array $data)
{
$method = $data['method'];
$expected = $data['expected'];
$code = $this->filesystem->getFileContents($resource->getSrcFilename());
$values = array('%constant%' => var_export($expected, true));
if (!($content = $this->templates->render('method', $values))) {
$content = $this->templates->renderString($this->getTemplate(), $values);
}
$pattern = '/' . '(function\\s+' . preg_quote($method, '/') . '\\s*\\([^\\)]*\\))\\s+{[^}]*?}/';
$replacement = '$1' . $content;
$modifiedCode = preg_replace($pattern, $replacement, $code);
$this->filesystem->putFileContents($resource->getSrcFilename(), $modifiedCode);
$this->io->writeln(sprintf("\n<info>Method <value>%s::%s()</value> has been modified.</info>", $resource->getSrcClassname(), $method), 2);
}
示例10: generate
/**
* @param ResourceInterface $resource
* @param array $data
*
* @return mixed
*/
public function generate(ResourceInterface $resource, array $data = array())
{
$filepath = $resource->getSrcFilename();
$name = $data['name'];
$arguments = $data['arguments'];
$argString = $this->argumentBuilder->buildFrom($arguments);
$values = array('%name%' => $name, '%arguments%' => $argString);
if (!($content = $this->templates->render('method', $values))) {
$content = $this->templates->renderString($this->getTemplate(), $values);
}
$code = $this->filesystem->getFileContents($filepath);
$code = preg_replace('/}[ \\n]*$/', rtrim($content) . "\n}\n", trim($code));
$this->filesystem->putFileContents($filepath, $code);
$this->io->writeln(sprintf("\n<info>Method <value>%s::%s()</value> has been created.</info>", $resource->getSrcClassname(), $name), 2);
}
示例11: generate
public function generate(ResourceInterface $resource, array $data = array())
{
$filepath = $resource->getSrcFilename();
if ($this->filesystem->pathExists($filepath)) {
$message = sprintf('File "%s" already exists. Overwrite?', basename($filepath));
if (!$this->io->askConfirmation($message, false)) {
return;
}
$this->io->writeln();
}
$path = dirname($filepath);
if (!$this->filesystem->isDirectory($path)) {
$this->filesystem->makeDirectory($path);
}
$values = array('%filepath%' => $filepath, '%name%' => $resource->getName(), '%extends%' => 'Mage_Core_Helper_Abstract', '%namespace%' => $resource->getSrcNamespace(), '%namespace_block%' => '' !== $resource->getSrcNamespace() ? sprintf("\n\nnamespace %s;", $resource->getSrcNamespace()) : '');
if (!($content = $this->templates->render('mage_helper', $values))) {
$content = $this->templates->renderString(file_get_contents(__DIR__ . '/templates/generic_class.template'), $values);
}
$this->filesystem->putFileContents($filepath, $content);
$this->io->writeln(sprintf("<info>Magento helper <value>%s</value> created in <value>'%s'</value>.</info>\n", $resource->getSrcClassname(), $filepath));
}
示例12: getGeneratedMessage
/**
* @param ResourceInterface $resource
* @param string $filepath
*
* @return string
*/
protected function getGeneratedMessage(ResourceInterface $resource, $filepath)
{
return sprintf("<info>Specification for <value>%s</value> created in <value>%s</value>.</info>\n", $resource->getSrcClassname(), $filepath);
}
示例13:
function it_records_that_class_was_created_in_executioncontext(ResourceInterface $resource, ExecutionContextInterface $executionContext)
{
$resource->getName()->willReturn('App');
$resource->getSrcFilename()->willReturn('/project/src/Acme/App.php');
$resource->getSrcNamespace()->willReturn('Acme');
$resource->getSrcClassname()->willReturn('Acme\\App');
$this->generate($resource);
$executionContext->addGeneratedType('Acme\\App')->shouldHaveBeenCalled();
}
示例14: renderTemplate
/**
* @param ResourceInterface $resource
* @param string $filepath
*
* @return string
*/
protected function renderTemplate(ResourceInterface $resource, $filepath)
{
$values = array('%filepath%' => $filepath, '%name%' => $resource->getSpecName(), '%namespace%' => $resource->getSpecNamespace(), '%subject%' => $resource->getSrcClassname(), '%command%' => $this->commandName ? $this->getCommandExample() : '', '%commandImport%' => $this->commandName ? "\nuse {$this->commandName};" : '');
$content = $this->getTemplateRenderer()->renderString($this->getTemplate(), $values);
return $content;
}
示例15: getPromptMessage
/**
* @param ResourceInterface $resource
* @param string $filepath
*
* @return string
*/
protected function getPromptMessage(ResourceInterface $resource, $filepath)
{
return sprintf("<info>Handler <value>%s</value> created in <value>%s</value>.</info>\n", $resource->getSrcClassname(), $filepath);
}