// Log.php
<?php
Class Log
{
public function startLog()
{
// echo ...
}
public function endLog()
{
// echo ...
}
}
// Publish.php
<?php
Class Publish extends Log
{
}
// Answer.php
<?php
Class Answer extends Log
{
}
// Log.php
<?php
Interface Log
{
public function startLog();
public function endLog();
}
// Publish.php
<?php
Class Publish implements Log
{
public function startLog()
{
// TODO: Implement startLog() method.
}
public function endLog()
{
// TODO: Implement endLog() method.
}
}
// Answer.php
<?php
Class Answer implements Log
{
public function startLog()
{
// TODO: Implement startLog() method.
}
public function endLog()
{
// TODO: Implement endLog() method.
}
}
// Log.php
<?php
trait Log{
public function startLog() {
// echo ..
}
public function endLog() {
// echo ..
}
}
// Publish.php
<?php
class Publish {
use Log;
}
$publish = new Publish();
$publish->startLog();
$publish->endLog();
// Answer.php
<?php
class Answer {
use Log;
}
$answer = new Answer();
$answer->startLog();
$answer->endLog();
<?php
class Publish {
use Log;
public function doPublish() {
$this->publicF();
$this->protectF();
$this->privateF();
}
}
$publish = new Publish();
$publish->doPublish();
public function protected function private function
<?php
trait Log
{
public function publicF()
{
echo __METHOD__ . ' public function' . PHP_EOL;
}
protected function protectF()
{
echo __METHOD__ . ' protected function' . PHP_EOL;
}
}
class Question
{
public function publicF()
{
echo __METHOD__ . ' public function' . PHP_EOL;
}
protected function protectF()
{
echo __METHOD__ . ' protected function' . PHP_EOL;
}
}
class Publish extends Question
{
use Log;
public function publicF()
{
echo __METHOD__ . ' public function' . PHP_EOL;
}
public function doPublish()
{
$this->publicF();
$this->protectF();
}
}
$publish = new Publish();
$publish->doPublish();
Publish::publicF public function Log::protectF protected function
<?php
trait Log
{
public function startLog()
{
echo __METHOD__ . ' public function' . PHP_EOL;
}
protected function endLog()
{
echo __METHOD__ . ' protected function' . PHP_EOL;
}
}
trait Check
{
public function parameterCheck($parameters) {
// do sth
}
}
class Publish extends Question
{
use Log,Check;
public function doPublish($para) {
$this->startLog();
$this->parameterCheck($para);
$this->endLog();
}
}
<?php
trait Log
{
public function parameterCheck($parameters)
{
echo __METHOD__ . ' parameter check' . $parameters . PHP_EOL;
}
public function startLog()
{
echo __METHOD__ . ' public function' . PHP_EOL;
}
}
trait Check
{
public function parameterCheck($parameters)
{
echo __METHOD__ . ' parameter check' . $parameters . PHP_EOL;
}
public function startLog()
{
echo __METHOD__ . ' public function' . PHP_EOL;
}
}
class Publish
{
use Check, Log {
Check::parameterCheck insteadof Log;
Log::startLog insteadof Check;
Check::startLog as csl;
}
public function doPublish()
{
$this->startLog();
$this->parameterCheck('params');
$this->csl();
}
}
$publish = new Publish();
$publish->doPublish();
Log::startLog public function Check::parameterCheck parameter checkparams Check::startLog public function
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有