Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 15:54   #1
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию Не понимаю строку кода ? ООП

Всем привет,

Смотрю примеры разных слассов в ооп, и не понимаю одну строку кода.
Помогите ...

PHP код:
class GuestBook 

    private 
$name
    private 
$email
    private 
$msg
     
    public function 
__construct($name$email$msg
    { 
        
$this->name $name
        
$this->email $email
        
$this->msg $msg
    } 
     
    public function 
getName() 
    { 
        return 
$this->name
    } 
    public function 
getEmail() 
    { 
        return 
$this->email
    } 
    public function 
getMsg() 
    { 
        return 
$this->msg
    } 


class 
GuestBookDb 

    private 
$db
     
    public function 
__construct($db
    { 
        
$this->db $db
    } 
    public function 
Select() 
    { 
        
$sql "SELECT name, email, msg FROM guestbook"
        
$dbArray $this->db->Db2Array(); 
        foreach(
$dbArray as $rows
        { 
            
$outPut[] = new GuestBook($rows['name'], $rows['email'], $rows['msg']); 
        } 
        return 
$outPut
    } 
    public function 
Insert($obj
    { 
        
$name $obj->getName(); 
        
$email $obj->getEmail(); 
        
$msg $obj->getMsg(); 
         
        
$sql "INSERT INTO guestbook (name, email, msg) VALUES('$name', '$email', '$msg')"
        if(
$this->db->Insert($sql) === TRUE
            return 
TRUE
        return 
FALSE
    } 

................................... .

Не понимаю вот это ?

PHP код:
 $dbArray $this->db->Db2Array(); 
И вот это ?
PHP код:
 if($this->db->Insert($sql) === TRUE
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 31.03.2012 в 15:57.
pompiduskus вне форума Ответить с цитированием
Старый 31.03.2012, 16:22   #2
Guilherme
 
Аватар для Guilherme
 
Регистрация: 31.03.2012
Сообщений: 3
По умолчанию

$this->db хранит ссылку на объект , это равносильно
Код:
$db = new DB(); 
$result = $db->Db2Array();
$result сохраняет релузьтат выполнения метода .

Последний раз редактировалось Guilherme; 31.03.2012 в 16:24.
Guilherme вне форума Ответить с цитированием
Старый 31.03.2012, 17:48   #3
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

С Db2Array разобрался , а с другими частями не могу :s .Помоги кто может ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 31.03.2012 в 19:21.
pompiduskus вне форума Ответить с цитированием
Старый 31.03.2012, 22:13   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Мне кажется это не лучший пример для освоения ООП.
Я вот тоже не могу понять, где в методе Insert происходит запись в базу. Зачем такие сложности вообще? В методе Select можно просто выгрести данные и вернуть их в виде массива для удобства и все. Зачем массив объектов городить?
В Insert закинуть $name, $email, $msg проверить данные и записать их в базу.
Тут получается в Insert закидывается объект класса GuestBook, можно и так, но имхо это лишние телодвижения. Опять же, почему тогда нет проверки типа на входе в Insert()? Тогда уже так писать
Код:
public function Insert(GuestBookDb $obj)
Вот этот мануальчик посмотрите, написано просто с примерами http://www.php.su/learnphp/phpoo/
Gorychev вне форума Ответить с цитированием
Старый 31.03.2012, 23:15   #5
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Да там есть много чего, но как привило это пример теоретический . А хочется увидеть реальный пример , так как в нём не только правильный синтаксис , но и действия )

и ещё там использую var $name; А на сколько я знаю это устарело . и даже вредно
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 31.03.2012, 23:47   #6
Guilherme
 
Аватар для Guilherme
 
Регистрация: 31.03.2012
Сообщений: 3
По умолчанию

http://www.php.su/learnphp/phpoo/?php5
и книга есть замечательная , называется "PHP. Объекты, шаблоны и методики программирования" автор Мэтт Зандстра .
Guilherme вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода под ООП (delphi) Neba Помощь студентам 0 18.01.2012 21:41
Debug - как заставить Delphi точно указать на строку кода вызывающую ошибку? delphicoding Общие вопросы Delphi 16 30.07.2011 10:47
Объяснить каждую строку кода!Очень нужно Kugen Общие вопросы Delphi 0 18.12.2010 17:40
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55