jit*_*dra 4 php design-patterns interface
档案1 - /Users/jitendraojha/www/DesignPatternsWithPhpLanguage/FactoryPattern/FactoryClassPattern/UserInterface.php
<?php
namespace DesignPatternsWithPhpLanguage\FactoryPattern\FactoryClassPattern;
interface UserInterface
{
function setFirstName($firstName);
function getFirstName();
}
?>
Run Code Online (Sandbox Code Playgroud)
档案2 - /Users/jitendraojha/www/DesignPatternsWithPhpLanguage/FactoryPattern/FactoryClassPattern/User.php
<?php
namespace DesignPatternsWithPhpLanguage\FactoryPattern\FactoryClassPattern;
class User implements UserInterface
{
private $firstName = null;
public function __construct($params) { }
public function setFirstName($firstName)
{
$this->firstName = $firstName;
}
public function getFirstName()
{
return $this->firstName;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
问题
php FactoryPattern/FactoryClassPattern/UserInterface.php - 运行正常.
php FactoryPattern/FactoryClassPattern/User.php- 给出以下错误:PHP致命错误:在第7行的/Users/jitendraojha/www/DesignPatternsWithPhpLanguage/FactoryPattern/FactoryClassPattern/User.php中找不到接口'DesignPatternsWithPhpLanguage\FactoryPattern\FactoryClassPattern\UserInterface'
我use UserInterface;在文件2中添加了没有解决方案.
所有你需要它包括,但更好的是你应该使用自动加载器
请参阅下面的示例以使用include进行快速测试,假设这两个文件位于同一目录中.
namespace DesignPatternsWithPhpLanguage\FactoryPattern\FactoryClassPattern;
include('UserInterface.php');
class User implements UserInterface
{
private $firstName = null;
public function __construct($params) { }
public function setFirstName($firstName)
{
$this->firstName = $firstName;
}
public function getFirstName()
{
return $this->firstName;
}
Run Code Online (Sandbox Code Playgroud)
}
// Quick test will - output ===> John
$user = new User(null);
$user->setFirstName('John');
echo $user->getFirstName();
Run Code Online (Sandbox Code Playgroud)