Вопрос-Ответ по ООП PHP

Печать RSS
2705

В

Пацак
0
тема флуд какой-то)
Обьясните для чего нужен метод конструктора?

Пацак
0
Не знаю как в PHP, но в основном конструктор служит для задания значений полей.
O

Пацак
0
191. danan, Конструктор запускается во время создания класса.
L

Землянин
0
ZZZZZZ, в php тоже обычно для задания значений свойствам, а вообще можно делать что хочешь.
Danan, смотри например есть такой класс
class User {
	public $name  = "";
	public $login  = "";
	public $password  = "";
	
} 
$user = new User();
//и тебе например нужно задать значения свойствам
//и делать ты этого будешь так :
$user->name = 'vasya';
$user->login ='vasilii';
$user-> ='qeetyc';

// а можно создать класс с конструктором, который будет автоматом присваивать значения 

class User {
	public $name  = "";
	public $login  = "";
	public $password  = "";
	
	
	function __construct($n, $l, $p){
			$this->name  = $n;
			$this->login = $l;
			$this->password = $p;
		
}

//с таким классом можно создать объект вот так :
$user = new User('vasya', 'vasilii', 'qwedgh'); 

Всё что ты будешь писать в скобках при создании объекта, попадает в конструктор, где можно с этими данными делать что хочешь. Применений можно придумать много, я написал только один вариант

Пришелец
0
Всем привет! Наконец то руки дошли до библы PDO, и сразу столкнулся с проблемой:
Есть два файла db.php
Его содержание:
try {
  $db = new PDO("mysql:host=localhost;dbname=mydb", user, pass);
  $db->exec("set names utf8");
}
catch(PDOException $e) {
    echo $e->getMessage();
	exit();
}
Второй файл index.php
Его код:
$query = $db->query("SELECT COUNT(*) FROM `user`");
$count = $query->fetchColumn();
echo $count;
Но при просмотре файла index.php в браузере выдает ошибку:
Access denied for user ''@'localhost' (using password: NO)
Хотя встроенные функции mysql_connect(), mysql_select_db() подключаются к бд
P.S. В ООП не силен, это так, для особо одаренных подмечено
Изменил: Дмитрий (01.09.2013 / 01:41)
L

Землянин
0
user и pass нужно в кавычках писать, вот так :
$db = new PDO('mysql:host=localhost;dbname=mydb', 'user' , 'pass');

Пришелец
0
196. lekt, эт просто опечатка была)) в скрипте данные в кавычках

Добавлено через 01:50 сек.
Уже разобрался)) вопрос неактувлеееееееееееееееен
Изменил: Дмитрий (01.09.2013 / 03:00)
В

Пацак
0
Напишите плиз простейший curl класс
А

Оранжевые штаны
0
зачем?
В

Пацак
0
Башка (25 Ноября 2013 / 19:42)
зачем?
ну мне надо, так как я часто юзаю кюрл в скрипте

Добавлено через 01:38 сек.
199. Башка,
$url = ';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
$result = curl_exec($ch);
curl_close($ch);
вот это в класс
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск