Такой момент, есть контроллер:
Код: Выделить всё
class cPanelController extends Controller
{
public function __construct()
{
// класс для работы с URL
// создал папку library в protected
// и собственную библиотеку для тест proURL.php
Yii::import('application.library.proURL');
}
public function actionIndex($param = array())
{
// обрабатываем URL
if($param) $param = proURL::parseUrl($param);
// устанавливаем каркас
$this->layout = 'cpanel';
// вид
$this->render('cpanel/main', array(
'param'=>$param
));
}
}
// сама библиотека
Код: Выделить всё
<?php
class proURL
{
// преобразование URL адреса
public function validData($string)
{
return trim(htmlspecialchars($string));
}
// преобразование URL адреса
public static function parseUrl($string)
{
# ПРЕОБРАЗУЕТ СТРОКУ ИЗ ПАРАМЕТРОВ
# 'action:AddUser,param:act,page:3'
# В МАССИВ
$string = explode(',',$string);
$count = count($string);
if(is_array($string) && $count > 0)
{
$result = array();
for($i=0; $i<$count; $i++)
{
if($string[$i])
{
$param = explode(':',$string[$i]);
if(isset($param[0]) && isset($param[1]))
{
$result[self::validData($param[0])] = self::validData($param[1]);
}
}
}
return $result;
}
else
{
return array();
}
}
}
Подскажите пожалуйста два момента:
1) правильно ли я осуществляю импорт(подключение) сторонних классов ?
2) в библиотеке метод вызывается только через self::validData(), при этом $this->validData() вызывает ошибку:
Код: Выделить всё
Fatal error: Using $this when not in object context in W:\home\mvc.ru\www\protected\library\proURL.php on line 38