цепной статический метод с нестатическими методами в признаке

у меня есть такая черта

namespace Files;

trait Upload {

//  name of input form
public $inputName;
// directory that you chose to upload file
public $directory;
//uploaded file name
public $filneName;
public $fullUploadedAdress;
//uploaded file extention
public $ext;
//uploaded file size
public $fileSize;
// errors
public $error;

public  function Input ( $inputName )
{
//RETURN NAME OF UPLOAD FORM INPUT
$this->inputName = $inputName;
return $this;
}
}

и другой класс, как это

namespace RequestResponse;

class SetAndGetMethod
{
use \Files\Upload;

static protected $uploadInputName;
protected static $onlyInstance;

function __construct () { }

public static function __callStatic ( $methodName, $args )
{
if ( preg_match ( '~^(post|get|request|file)([a-z|A-Z])(.*)$~', $methodName, $matches ) ) {
$property = strtolower ( $matches[ 1 ] );
$inputName = $matches[ 2 ] . $matches[ 3 ];
if ( !method_exists ( __CLASS__, $property ) ) {
throw new \Exception( 'Property ' . $property . ' not exists' );
}
switch ( $matches[ 1 ] ) {
case 'post':
return self::post ( $inputName );
case 'get':
return self::get ( $inputName );
case 'request':
return self::request ( $inputName );
case 'file':
return self::request ( $inputName );
case 'default':
throw new \eimaException ( 'Method ' . $methodName . ' not exists' );
}
}
}protected static function getself ()
{
if ( static::$onlyInstance === null ) {
static::$onlyInstance = new self;
}
return static::$onlyInstance;
}public static function file ( $property )
{
self::$uploadInputName = $property;
new self;
}

}

когда я вызываю свой метод fileUpload с помощью сеттеров и связываю этот метод с моим тритом, я получаю эту ошибку

Input::fileUpload()->Input('Upload');

Неустранимая ошибка: вызов функции-члена Input () для необъекта в C: \ wamp \ www \ Framework \ protected \ controller \ Home_Controller.php в строке 27

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]