Установить переменные в классе - PullRequest
2 голосов
/ 27 марта 2011

Я хочу сделать что-то вроде этого:

<?php
    $editor = new editor('reply.php?topic=100', 'simple');
    echo $editor;
?>

Но я не знаком с ООП / классами, но я хочу сделать что-то подобное в классе:

<?php
class editor($url, $type)
{
    if($type == 'simple'){
        ?>
            <form action="<?php echo $url; ?>">
                ...
            </form>
        <?php
    }
    else
    {
        ...
    }
}
?>

Конечно, это не правильно. Но как я могу это сделать? Потому что я ничего не понимаю в конструкторах и деструкторах и т.д ...

Ответы [ 3 ]

4 голосов
/ 27 марта 2011
$editor = new editor('reply.php?topic=100', 'simple');
echo $editor;

class editor
{
    private $url;
    private $type;

    public function __construct($url, $type)
    {
        $this->url = $url;
        $this->type = $type;
    }

    public function __toString()
    {
        if($this->type == 'simple'){
            return '<form action="' . $this->url . '"></form>';
        } else {
            return 'foobar';
        }
    }
}
2 голосов
/ 27 марта 2011

Это очень простой и важный материал, поэтому он действительно имеет смысл, если вы ознакомитесь с ОО-синтаксисом PHP.Я уверен, что почти каждый может дать вам готовый ответ, но все же сделайте себе одолжение и попытайтесь ответить на этот простой вопрос самостоятельно.Вот официальные документы:

http://es2.php.net/manual/en/language.oop5.basic.php

0 голосов
/ 27 марта 2011
class MyClass
{
    private $_var;
    public function __constructor($var)
    {
        $this->_var = $var;
    }
    public function action()
    {
        echo $this->_var;
    }
}
$obj = new MyClass('abcd');
$obj->action();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...