В php при инициализации класса, как можно было бы передать переменную тому классу, который будет использоваться в его функциях?

С разрывами строк (расширение ответа от Альваро Монторо)

var ClipboardHelper = {

    copyElement: function ($element)
    {
       this.copyText($element.text())
    },
    copyText:function(text) // Linebreaks with \n
    {
        var $tempInput =  $("<textarea>");
        $("body").append($tempInput);
        $tempInput.val(text).select();
        document.execCommand("copy");
        $tempInput.remove();
    }
};

ClipboardHelper.copyText('Hello\nWorld');
ClipboardHelper.copyElement($('body h1').first());
38
задан 28 January 2009 в 04:10
поделиться

4 ответа

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

, понятие называют "конструктором".

, Поскольку другие ответы указывают, необходимо использовать объединенный синтаксис конструктора (__construct()) с PHP 5. Вот пример того, как это похоже:

class Foo {
    function __construct($init_parameter) {
        $this->some_parameter = $init_parameter;
    }
}

// in code:

$foo = new Foo("some init value");
<час>

Уведомление - существует так называемые старые конструкторы стиля, с которыми Вы могли бы столкнуться в унаследованном коде. Они похожи на это:

class Foo {
    function Foo($init_parameter) {
        $this->some_parameter = $init_parameter;
    }
}

Эта форма официально удерживается от использования с PHP 7, и Вы больше не должны использовать его для нового кода.

58
ответ дан Tomalak 23 September 2019 в 18:42
поделиться

Можно сделать это как этот:

class SomeClass
{
   var $someVar;
   function SomeClass($yourValue)
   {
       $this->someVar = $yourValue;
   }

   function SomeFunction()
   {
       return 2 * $this->someVar;
   }
}

или можно использовать __ конструкция вместо SomeClass для конструктора в php5.

3
ответ дан empi 23 September 2019 в 18:42
поделиться

В новых версиях PHP (5 и), вызвана функция __ constuct каждый раз, когда Вы используете "новый {Объект}", поэтому если Вы хотите передать данные в объект, добавьте параметры к функции конструкции и затем звоните

$obj = new Object($some, $parameters);

class Object {
    function __construct($one, $two) {}
}

, Именованные конструкторы поэтапно осуществляются из PHP в пользу __ метод конструкции.

34
ответ дан davethegr8 23 September 2019 в 18:42
поделиться

Так я делаю

class MyClass {

       public variable;  //just declaring my variables first (becomes 5)
       public variable2; //the constructor will assign values to these(becomes 6)

       function __construct($x, $y) {
            $this->variable  = $x;
            $this->variable2 = $y;
       }

       function add() {
            $sum = $this->variable + $this->variable2
            return $sum;
       }

} //end of MyClass class

Создаю экземпляр и затем вызываю функцию add

$myob = new MyClass(5, 6); //pass value to the construct function
echo $myob->add();

11 будет записано на страницу не очень полезный пример, потому что вы бы предпочли передать значение для добавления при его вызове, но это иллюстрирует суть.

12
ответ дан 27 November 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: