[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вот и мой первый класс
Игорь_Vasinsky
Накзарезил?

class connect {
var $host;
var $user;
var $password;
var $db;
var $sql;
var $link;

function connection(){
$this->link = mysql_connect($this->host, $this->user, $this->password) or die(mysql_error());
$selectDB = mysql_select_db($this->db, $this->link) or die(mysql_error());
}
function queryDB(){
$query = mysql_query($this->sql) or die(mysql_error());
}
function closeDB($link){
mysql_close($link) or die(mysql_error());
}

}




Спустя 11 минут, 45 секунд (7.04.2011 - 20:29) alex12060 написал(а):
Не, не очень класс такой)

Я бы тебе посоветовал:

- Сделать переменные с логином, паролем, хостом, БД и активным линком - protected
- Реализовать метод __construct()
- и сделать класс с большим кол-вом методов smile.gif

Спустя 4 минуты, 49 секунд (7.04.2011 - 20:33) inpost написал(а):
Игорь_Vasinsky
class Cecho {
public var $var;
function Fecho () {
echo $var;
}
}

Теперь можно не писать сразу echo, а пользоваться классом для этого! Замечательно!

Спустя 1 минута, 53 секунды (7.04.2011 - 20:35) Игорь_Vasinsky написал(а):
alex12060
Цитата
- Сделать переменные с логином, паролем, хостом, БД и активным линком - protected
- Реализовать метод __construct()
- и сделать класс с большим кол-вом методов 


оОоо - ну дай то хоть начать с начала.

inpost
Цитата
Теперь можно не писать сразу echo, а пользоваться классом для этого! Замечательно!


не уловил. разъясни.




Спустя 1 минута, 5 секунд (7.04.2011 - 20:36) alex12060 написал(а):
Цитата
Теперь можно не писать сразу echo, а пользоваться классом для этого! Замечательно!


Не надо так сразу, он же учится)

Игорь, Вы главное проясните для себя, что значит:

protected
private
public
var

И уже проще будет разрабатывать классы, и, безопасней)

Спустя 2 минуты, 37 секунд (7.04.2011 - 20:39) Игорь_Vasinsky написал(а):
Цитата
Не надо так сразу, он же учится)


так я вообще не понял о чём там....

итак олго откладывал этот вопрос.

Спустя 1 минута, 32 секунды (7.04.2011 - 20:40) inpost написал(а):
Игорь_Vasinsky
Почитай Котерова. Я говорю о том, что ты лишь усложнил работу интерпретатора, зачем создавать класс для уже существующей и оптимальной функции, его необходимо для создания того, что нет встроенного в ПХП. Допустим Инвиз написал свой класс по работе с формой, он молодец, я себе тоже такой хочу smile.gif Но ты mysql_close(); решил заменить на closeDB, при этом занял несколько лишних строк кода, что объем файла стал больше, ещё в добавок забиваешь Память глупыми данными. Дополнение к этому почитай мой следующий ответ Алексу smile.gif

alex12060
Котеров даёт представление ООП не на примере написания класса для соединения с БД, так как это полный абсурд, а именно работа с графикой, то есть удобное управление рисования кругов, квадратов, элипсов и т.д.


Спустя 6 минут, 1 секунда (7.04.2011 - 20:47) alex12060 написал(а):
Да, я что-то подобное слышал об этом, по-моему в книге Симдянова так-же есть)
Ну да, ты прав, что это абсурдно, но, я не знаю что сказать)

Спустя 27 секунд (7.04.2011 - 20:47) Игорь_Vasinsky написал(а):
ну во превых - ту на форуме я видел тоже человек написал свой первый класс для коннекта к БД

Я честно скажу - не стал в него вглядыватся и предположил:

- почему бы свой первый класс не написать для нескольких коннектов к разным серверам, плюс использовать момент sql-запроса, соответственно и csloseDB() для этого.

Суть была именно в этом, или я не так чтото на говнокодировал в начале?

Спустя 2 минуты, 15 секунд (7.04.2011 - 20:49) Игорь_Vasinsky написал(а):
Цитата
protected
private
public
var


я паралельно C# пытаюсь изучать - и этот момент, который там идёт после "пространства имен" - мне в принципе знаком.

а это - всего лишь первый класс на PHP, и для него я выбрал "работу с бд"


Спустя 2 минуты, 12 секунд (7.04.2011 - 20:51) alex12060 написал(а):
Игорь_Vasinsky

Не то, чтобы наговнокодил, ппросто, написать эквиваленты для ст функций - не, минимум, плохой стиль. А так, если наворотить туда разные излишки, и реально сделать из него хорошую систему, то будет хрошо)

Спустя 2 минуты, 39 секунд (7.04.2011 - 20:54) Игорь_Vasinsky написал(а):
Цитата
Не то, чтобы наговнокодил, ппросто, написать эквиваленты для ст функций - не, минимум, плохой стиль. А так, если наворотить туда разные излишки, и реально сделать из него хорошую систему, то будет хрошо)


а я о чём выше говорил? вт я и спрашиваю - этот класс я писал (учился писать, но походу не с того) - если есть необходимость коннектится к разным серерам.. хз знает получилось или нет.


Спустя 1 день, 20 часов, 54 минуты, 38 секунд (9.04.2011 - 17:49) blazze написал(а):
Если писать коротко, то сначало необходимо ознакомится с паттерном синглтон для написания такого класса.

функцию function closeDB($link) правильнее было бы назвать __destruct() а function connection() __construct()

вот эта вся кухня(var это с пхп4):

var $host;
var $user;
var $password;
var $db;
var $sql;
var $link;


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

С точки зрения расслоения архитектуры метод queryDB() предпочтително делать объектом отдельного класса т.е. использовать паттерн data mapper вместо active record.

если коротко, то приблизительно так.. :rolleyes:


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.