designModeDemo/bin/Design.php

59 lines
987 B
PHP

<?php
namespace bin;
/**
* demo入口父类
*/
abstract class Design
{
/**
* 对应设计模式名称
*
* @var string
*/
public string $designName;
/**
* 参考地址
*
* @var string
*/
public string $designRefUrl;
public function __construct()
{
$this->designName = $this->setDesignName();
$this->designRefUrl = $this->setDesignRefUrl();
}
/**
* 设置设计名称
*
* @return string
*/
abstract public function setDesignName() : string;
/**
* 设置参考地址
*
* @return string
*/
abstract public function setDesignRefUrl() : string;
/**
* 入口方法
*
* @return mixed
*/
abstract public function main();
/**
* 统一返回错误信息
*
* @throws \Exception
*/
public function __get($name)
{
throw new \Exception("$name 未定义");
}
}