ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Создание классов в Php
  #1  
Старый 17.12.2006, 14:34
Аватар для steamer
steamer
Познающий
Регистрация: 03.05.2006
Сообщений: 82
Провел на форуме:
219818

Репутация: 10
Отправить сообщение для steamer с помощью ICQ
По умолчанию Создание классов в Php

Есть вопрос по классам ПХП (кстати не помню кто, но кто-то грозился накатать статью по классам, поставил бы +). Есть к примеру класс:

PHP код:
class db{
    var 
$mysql_host;
    var 
$db_name;
    var 
$db_user;
    var 
$db_pass;
    var 
$table_name;
    function 
db_open($mysql_host$db_name$db_user$db_pass){
        @
$db_con=mysql_connect($mysql_host$db_user$db_pass);
        @
mysql_select_db($db_name$db_con);
        return 
$db_con;
    }

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

  #2  
Старый 17.12.2006, 14:36
Аватар для GreenBear
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

http://ru.php.net/manual/ru/ref.classobj.php
 
Ответить с цитированием

  #3  
Старый 17.12.2006, 15:07
Аватар для VampiRUS
VampiRUS
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
Провел на форуме:
1106266

Репутация: 366
Отправить сообщение для VampiRUS с помощью Yahoo
По умолчанию

Нужны наверно для того чтоб к ним можно было обратиться.
 
Ответить с цитированием

  #4  
Старый 17.12.2006, 16:32
Аватар для EXSlim
EXSlim
Познающий
Регистрация: 09.10.2006
Сообщений: 92
Провел на форуме:
347686

Репутация: 87
Отправить сообщение для EXSlim с помощью ICQ
По умолчанию

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

Цитата:
<?
require_once("class.php");
$obj = new DB;
$obj->host = "localhost";
$obj->login = "root";
$obj->pass = "blablabla";
$obj->connect();
$obj->some_ahother()...
?>
В твоем примере от внутренних дублирующих можно отказаться.

Цитата:
<?php

class DB {

var $host;
var $login;
var $pass;

function connect() {
//$this - ссылка на текущий класс
@mysql_connect($this->host,$this->login,$this->pass) or die("Cant connect");}}

function some_another(){
//Эта ф-ция может также использовать свойства
}

?>
 
Ответить с цитированием

  #5  
Старый 17.12.2006, 17:05
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

class db{
var $mysql_host;
var $db_name;
var $db_user;
var $db_pass;
var $table_name;
function db_open($mysql_host, $db_name, $db_user, $db_pass){
@$db_con=mysql_connect($mysql_host, $db_user, $db_pass);
@mysql_select_db($db_name, $db_con);
return $db_con;
}
}

они не нужны в том классе, код которого ты дал.
 
Ответить с цитированием

  #6  
Старый 20.12.2006, 13:20
Аватар для steamer
steamer
Познающий
Регистрация: 03.05.2006
Сообщений: 82
Провел на форуме:
219818

Репутация: 10
Отправить сообщение для steamer с помощью ICQ
По умолчанию

Короче я понял примерно так: если я хочу в функциях в одном классе использовать эту переменную (типа как глобальную для класса), то я ее определяю как var и затем не передаю в функцию типа
PHP код:
my_function ($id
, а пишу что типа
PHP код:
function my_function(){
$this->id;

Возникает второй вопрос.
Если я расширяю класс
PHP код:
class extends {
   function 
1_from_class_1(){
    
$s=myfunction_from_class_2();
   }

Т.Е. использовать функции из второго класса включая их в первый.
 
Ответить с цитированием

  #7  
Старый 20.12.2006, 22:47
Аватар для SMiX
SMiX
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме:
457850

Репутация: 174
По умолчанию

перехрдим на PHP5 и юзаем модификаторы private, protected и public
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ