Не работает класс?

Статус
В этой теме нельзя размещать новые ответы.

new_forward

Профессор
Регистрация
5 Май 2008
Сообщения
673
Реакции
44
Хочу чтоб каждая переменная которую я вставлю в $obj->print_name($test) обрабатывалась тремя функциями, пишу вот так: не работает...


Код:
class Name {
       var $one;
	   
       function print_name($name){
	   
	   $name = trim($name);
	   $name = htmlspecialchars($name);
	   $name = stripslashes($name);
	   
	$this->one = $name;
	  
      }
}
    // создать новый объект
$obj = new Name();
$test = 'dsadasdasd';
print $obj->print_name($test);
 
ваш метод не возвращает никаких значений
PHP:
$obj = new Name();
$test = 'dsadasdasd';
$obj->print_name($test);
echo $obj->one;
или
PHP:
function print_name($name){
	   $name = trim($name);
	   $name = htmlspecialchars($name);
	   $name = stripslashes($name);
	   $this->one = $name;
	   return $this->one;
}
 
Спасибо за ответ а как поступить в таком случае:
Код:
class Database {

var $con;

function con_base($base){
$this->con = 
require_once( '../configuration.php' );
.mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password) or die("Could not connect: " . mysql_error());
.mysql_select_db($base); 
return $this->con;
}
}
$obj = new Database();
echo $obj->con_base('data');

хочу при подставленнии в $obj->con_base('data') data - название нужной базы данных, формировалось соединение...?:)

Мне кажется я неправильно запихиваю код в $this->con...
 
PHP:
class Database {
	public $con;
	function con_base($base){
		require_once( '../configuration.php' );
		$this->con = mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password) or die("Could not connect: " . mysql_error());
		mysql_select_db($base, $this->con); 
	}
}
$obj = new Database();
$obj->con_base('mega_base');
// в $obj->con лежит коннэкшен
 
Какой смысл использовать вообще классы, если даже конструктора нет?
 
Какой смысл использовать вообще классы, если даже конструктора нет?

А конструтор и не важен вообще. С одной стороны класс получает уже основные примочки ООП (наследование, полиморфизм, инкапсуляция), а с другой гибкость (Инверсия зависимостей).

Конструктор - всего лишь один из способов задания параметров объекта. Не более.
 
PHP:
class Name {
       var $one;
       function print_name($name){
	   $name = trim($name);
	   $name = htmlspecialchars($name);
	   $name = stripslashes($name);
	$this->one = $name;
      }
}
    // создать новый объект
$obj = new Name();
$test = 'dsadasdasd';
print $obj->print_name($test);

Можно и без return.

Но тогда:
PHP:
$obj=new Name();
$test = 'dsadasdasd';
$obj->print_name($test); //но тогда по сути функция должна называться не print_name, а set_name
print $obj->one;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху